5

I do not understand why \restriction (from package amssymb) is defined to be a relation-symbol. It is certainly not one in mathematics... Is there any special reason, or should I just consider it a bug and redefine it using \mathbin?

user21820
  • 868
  • 7
  • 19

1 Answers1

4

I'm not sure why amssymb defines \restriction as a math relation symbol.

\DeclareMathSymbol{\upharpoonright} {\mathrel}{AMSa}{"16}
 \global\let\restriction\upharpoonright

Given these definitions, you can “fix” it according to your taste by making it an ordinary or binary operation symbol:

\documentclass{article}
\usepackage{amsmath,amssymb}

\DeclareMathSymbol{\ORDrestriction}{\mathord}{AMSa}{"16} \DeclareMathSymbol{\BINrestriction}{\mathbin}{AMSa}{"16}

\begin{document}

$f\restriction A$ (relation)

$f\ORDrestriction A$ (ordinary)

$f\BINrestriction A$ (binary operation)

\end{document}

enter image description here

Once you have made your choice, you can remove the undesired definition and also the capitalized prefix.

If you want the relation spacing but also to avoid line breaks after the symbol, you can do

\renewcommand{\restriction}{\upharpoonright\nolinebreak}

If you prefer cargo cult programming

\renewcommand{\restriction}{\upharpoonright\nobreak}
egreg
  • 1,121,712