15
$\begingroup$

I have often seen notation like this:

Let $f:\mathbb{R}^2 \to \mathbb{R}$ be defined by $$f(x,y)=x^2+83xy+y^7$$

How does this make any sense? If the domain is $\mathbb{R}^2$ then $f$ should be mapping individual tuples. Therefore I expect a proper representation of the above function would be:

$$f(t)=\pi_1(t)^2+83\pi_1(t)\pi_2(t)+\pi_2(t)^7$$

Isn't this more accurate? If the domain is $\mathbb{R}\times \mathbb{R}=\mathbb{R}^2$ and $\mathbb{R}\times \mathbb{R}=\{(x,y):(x\in \mathbb{R})\land (y\in \mathbb{R})\}$ then every element in the domain is a two-tuple $(x,y)$ not some irregular expression composed of two variables seperated by a comma like "$x,y$" right?

Also when speaking of algebraic structures why do people constantly interchange the carrier set with the algebraic structure itself. For example you might see someone write this:

Given any field $\mathbb{F}$ take those elements in our field $a\in \mathbb{F}$ that satisfy the equation $a^8=a$.

How does this make any sense? If $\mathbb{F}$ is a field then it is a tuple equipped with two binary operations and corresponding identity elements all of which satisfy a variety of axioms. Thus we should have for some set $S$ that $\mathbb{F}=(S,+,\times,0,1)$ so they would be writing $a\in (S,+,\times,0,1)$ which is gibberish, they should write $a\in S$. Again I see the field $\mathbb{F}$ and its underlying set $S$ are being interchanged, I see this across almost all areas of abstract algebra with monoids, groups, rings etc.

$\endgroup$
36
  • 141
    $\begingroup$ Long story short: this is completely normal and being stubborn about notation will not really help you. Notation is helpful to communicate and construct ideas, and when it is so rigid it is no longer helpful to use it, we water things down a bit. $\endgroup$
    – Pedro
    Commented Nov 5, 2017 at 13:35
  • 110
    $\begingroup$ @user499516 There are many times in maths where pedantry is important. You should trust us here that this is not one of them. $\endgroup$ Commented Nov 5, 2017 at 13:40
  • 49
    $\begingroup$ But the real point is that notation is not the mathematics itself, is a completely artificial tool for studying the mathematics. It is a manufactured artifact, and we get to decide for ourselves how to manufacture this device so as to make it as useful as possible. If our first try turns out to be suboptimal for the purpose, we can and do throw it away and use a different tool. $\endgroup$
    – MJD
    Commented Nov 5, 2017 at 13:50
  • 87
    $\begingroup$ Would it make you feel better if they wrote $f((x,y))$? Because that's all it means. $\endgroup$
    – xxxxxxxxx
    Commented Nov 5, 2017 at 16:25
  • 32
    $\begingroup$ Some authors use $fx$ instead of $f(x)$ for the image of an element $x$ by a function $f$. Therefore, with this notation, $f((x,y))$ becomes $f(x,y)$. $\endgroup$
    – Taladris
    Commented Nov 5, 2017 at 16:34

16 Answers 16

68
$\begingroup$

The example you've given of a function is not an abuse. $x$ is instead shorthand for $\pi_1(t)$ and $y$ is shorthand for $\pi_2(t)$ and $(x,y)$ is shorthand for $t$.

$g \in G$ is a very minor abuse, yes. "A group $G$ is a set $G$ endowed with some operations" is a slight abuse, but one which will never be misinterpreted. It is done this way to avoid the proliferation of unnecessary and confusing symbols. For the same reason, we use the symbol $+$ to refer to the three different operations of addition of integers, rationals, and reals.

$\endgroup$
10
  • 62
    $\begingroup$ Mathematicians don't write in WFFs. They write in English. Note that the defining feature of a $2$-tuple is that it can be split into two components; we label those components $x$ and $y$ for convenience. $\endgroup$ Commented Nov 5, 2017 at 13:46
  • 24
    $\begingroup$ @user499516 Only if you insist to write $f(t)$ and not $ft$ $\endgroup$ Commented Nov 5, 2017 at 15:16
  • 18
    $\begingroup$ @PatrickStevens: Except for those mathematicians who don't write in English, e.g., those who write in French, German or Japanese. $\endgroup$
    – Will R
    Commented Nov 6, 2017 at 2:18
  • 9
    $\begingroup$ @WillR Yep, I thought of that about an hour after I wrote it - beyond the edit window :( $\endgroup$ Commented Nov 6, 2017 at 7:08
  • 7
    $\begingroup$ I might even say that "$g \in G$" isn't necessarily abuse. Defining a group as a pair (set, operation) can be thought of being just a useful "model" for constructing the object we call a group, but we can understand the object regardless of the model. Like defining the real numbers as Dedekind cuts is a model that's useful for constructing the real numbers, but nothing says that real numbers "really" are Dedekind cuts, we can understand them even if we don't use any construction. Not all mathematics is set theory. $\endgroup$
    – JiK
    Commented Nov 7, 2017 at 12:22
40
$\begingroup$

Suppose that in the two situations we cited, the entire mathematical community were to agree overnight to switch notation. What would we gain, besides the smug satisfaction of pedantry? The new notation would not be any more effective at communicating the underlying ideas; in fact, if anything, it will serve to distract from them and make a greater barrier to entry when someone is trying to learn the material for the first time.

I'd argue that notation should be judged by three standards: (1) its clarity, (2) its rigor, and (3) whether it somehow invites the reader to make a mistake. On metric (1), I strongly prefer the current "abuses" of notation, particularly when considering this from the perspective of someone who doesn't already understand it. On metric (2), I guess you could give a tiny edge to the alternatives you propose... but not really. If, for instance, you were trying to encode these concepts into a programming language, it would be trivial to fill in the details from the existing notation. And (3) is a wash; there is no meaningful opportunity for error created by the notation in either case.

In short: Notation is purely a construct, and to worship at the altar of pedantry at the cost of clarity (and brevity, which is a legitimate facet of clarity) is misguided.

EDIT: I fear that this may have been more a rant than an answer to the question. So, to be sure that it's both: no, these examples should not be regarded as an abuse of notation. Rather, they're useful and harmless conventions, like all good notation is.

EDIT #2: After reflecting on GitGud's comment, I think they are right; it's hard for me to say with a straight face that (particularly the second example in the original post) is not an abuse of notation. Really, Patrick Stevens already gave the best answer to the original question, and I'm glad it has been upvoted as many times as it has. However, these abuses of notation should, if anything, be regarded as (1) very mild abuses, and (2) useful, perhaps even important, conventions.

$\endgroup$
9
  • 18
    $\begingroup$ New band name, Altar of Pedantry; I'm calling it! $\endgroup$
    – pjs36
    Commented Nov 6, 2017 at 2:22
  • 4
    $\begingroup$ @pjs36 Suggestion for title of sophomore album: "The Smug Satisfaction of Pedantry" $\endgroup$ Commented Nov 6, 2017 at 19:18
  • 2
    $\begingroup$ "If anything, it will serve to distract from them and make a greater barrier to entry when someone is trying to learn the material for the first time", this where you and most people here are wrong. You're projecting onto others your own way of thinking. This sort of abuse obviously distracted and barred the OP and others like themselves. i.imgur.com/B5TgS.jpg?fb And the only way you can consider this sort of this as non-abuses of notation, is if you redefine the meaning of "abuse of notation". $\endgroup$
    – Git Gud
    Commented Nov 7, 2017 at 8:04
  • 4
    $\begingroup$ @GitGud I think you've caught me on your last comment, and I've edited my post accordingly. But regarding your former comments: no, I'm not. I'm basing my comments on years of experience instructing students. That doesn't mean I'm automatically right, but notice that the OP was never confused about the underlying mathematical ideas; in fact, it's quite clear that they understand the concepts well and continue to ponder them. I believe that expanding the notation to something with no "abuses" has much more potential to decrease understanding than to increase it. $\endgroup$ Commented Nov 7, 2017 at 15:36
  • 2
    $\begingroup$ @GitGud I am genuinely sorry for the frustration that you have felt over the years from this issue. $\endgroup$ Commented Nov 8, 2017 at 12:11
21
$\begingroup$

A function $f:\>X\to Y$ takes elements $x\in X$ as input and produces for each such $x$ an output value $y\in Y$. In so far any function is "unary".

Now it so happens that in many cases the domain $X$ is a cartesian product $X=R^n$, such that we need $n$ pieces of $R$-data in order to specify a single point $x\in X$, i.e., we write $x=(x_1,x_2,\ldots, x_n)$. The function value $f(x)$ should thus be noted as $f((x_1,x_2,\ldots, x_n))$, but in daily practice one strips one set of parentheses off. Note that in the Mathematica language one writes $f\bigl[\{x_1,\ldots, x_n\}\bigr]$.

Note that in many cases such a "multivariable" function depends on $x$ not in a "cloudy" way. Instead this dependence is clearly structured along the factorization of $X$, as in $f(x,y,z):=(x^2+y^2)e^z$. The "variables" $x$, $y$, $z$ then obtain their own personality and are not just tools to address the intended domain point ${\bf p}$.

Unfortunately nobody could tell me in all those years what a "variable" is in analysis.

$\endgroup$
6
  • 7
    $\begingroup$ "Stripping off" a set of parentheses is an abuse only if we were sure the parentheses really were required by strict notation. In some contexts we don't use any parentheses for a function application, so perhaps one could say the parentheses in $f(x)$ are a mere convention. $\endgroup$
    – David K
    Commented Nov 5, 2017 at 13:58
  • 9
    $\begingroup$ Of course a "variable" is simply something less "constant" than a "parameter" ... $\endgroup$ Commented Nov 5, 2017 at 15:17
  • $\begingroup$ @DavidK: I've had that curious thought before. However, it still remains to be explained how one is allowed to use the components of the input vector in the function definition. The easiest way is simply to say that it is simply syntactic sugar, but then even more so we should consider the 'bracket dropping' to be syntactic sugar as well, since it is clearly unambiguous. =) $\endgroup$
    – user21820
    Commented Nov 5, 2017 at 15:51
  • 3
    $\begingroup$ @user21820 In my view, the main shortcoming of any of the function definitions in the question is that they do not quantify the function parameters over suitable domains. That is, I'd like to see $\forall x(x\in\mathbb R\implies fx=x^2)$ rather than just $f(x)=x^2.$ Properly quantified, I think you can use either a single variable $t$ or an expression such as $(x,y)$ as a pair and be equally "notationally correct." $\endgroup$
    – David K
    Commented Nov 5, 2017 at 18:02
  • 2
    $\begingroup$ On the other hand, if you consider the declaration of the domain of some function $f$ to be sufficient justification to infer that $t$ is a pair when it occurs in the expression $f(t),$ I think you can equally justify the inference that $(x,y)$ is a pair from the same domain when it occurs in $f(x,y)$. $\endgroup$
    – David K
    Commented Nov 5, 2017 at 18:13
14
$\begingroup$

If we are going to play the game as you want, your writing has serious issues. For starters, $\mathbb R$ is a set, but then you are using this symbol $+$ which you haven't defined. You also have the symbol $83xy$, which is not clear what it means. It looks like you are abusing notation and writing multiplication of real numbers (that you never said you were using) by juxtaposition; so, is the expression $83xy$ equal to $8\times3\times x\times y$? Maybe not, but in that case you are giving two different meanings to juxtaposition of real numbers, without saying so.

Also, you have those symbols $\pi_1,\pi_2$ that you haven't defined. It looks by your notation that they are functions, but in that case you should express the domain, the codomain, and the rule.

$\endgroup$
1
  • 6
    $\begingroup$ Sorry, your post is too ambiguous for me to read. Please rewrite it in Lojban. $\endgroup$
    – anomaly
    Commented Nov 7, 2017 at 18:14
12
$\begingroup$

Let reverse the question.

Given a function $f(x,y)=x+y$, what is its domain?

Most people would say $\mathbb R^2$. What would you say?

$\endgroup$
1
  • 6
    $\begingroup$ Probably that such thing is not a function, but a syntax error, according to the ultra-pedantic math parser. $\endgroup$
    – Pedro A
    Commented Nov 6, 2017 at 21:56
9
$\begingroup$

How we write the function is completely irrelevant to whether it's a function or not.

The real question: given any $(x,y)\in \Bbb R^2$ is there a unique $z\in \Bbb R$ such that $f(x,y)=z$?

If so, $f$ is a function. How we write $f$ is irrelevant.

Also why do people refer to the set of group elements as the group itself, isn't a group the set and its operator?

Laziness. Everyone knows what you mean so why write more than you have to?

$\endgroup$
2
  • 15
    $\begingroup$ Laziness and clarity - the text would actually be less readable with fully explicit terminology, so even if you have a perfect work ethic and unlimited time, it still wouldn't be the right way to write mathematics. $\endgroup$
    – Jack M
    Commented Nov 5, 2017 at 19:46
  • 1
    $\begingroup$ @JackM: Arguably, there is a way to make that particular instance of 'laziness' precise in a formally rigorous sense, and in fact it has been done so in many modern programming languages including C++. The method is to treat the operations on the elements of a structure to be part of the structure itself, just like in programming a class can have methods. Of course, this is not strictly compatible with set theory, but that's how people have always been thinking about operations... $\endgroup$
    – user21820
    Commented Nov 6, 2017 at 2:30
9
$\begingroup$

Some of your examples are bad examples. In notation, there are always some conventions, like:

  • $f(x,y) = f((x,y))$
  • Given an arbitrary field, unless specified, its additive identity is denoted $0$ and its multiplicative identity is denoted $1$; the multiplication is denoted $\times$ or simply nothing, the addition is denoted $+$, the subtraction and division by $-$ and $/$, respectively. Integer powers are defined uniquely through $a^1=a$, $a^{-1}=1/a$ and $a^{m+n}=a^ma^n$.
  • Element of an algebra (field, group, ring, whatever) is an element of the underlying set.

Also, note that $\pi_1$ and $\pi_2$ are much less standard than $x$, $y$, for arguments to functions from $\mathbb{R}^2$. You would have to carefully define these two functions.

These are standard conventions. Of course, if you need to break them, you have to be very specific about it, and also, if confusion could arise, you shall be specific (though many people won't).

As an example of how things get broke, look at the tropical semirings. Here one has to be very careful. If $R$ is the max-plus algebra, we have $0_R = -\infty$ and $1_R = 0_{\mathbb{{R}}}$ (you see the confusion?) Even more confusion could arise from writing $1$ without a subscript, as some (probably algebraic) people will thing it's $1_R$ and others will consider it $1_{\mathbb{R}}$. But then the problem is that the underlying set for the ring $R$ is the field $\mathbb{R}$ with one element added, but the operations are not the same.

$\endgroup$
8
$\begingroup$

We usually do not distinguish between what we call a field (or a group) and what we call its underlying set, rather we associate the two. For example, I would never write $\mathbb{F} = (S, +, \times)$, if I needed to give this notation I would say I am dealing with a field $\mathbb{F} = (\mathbb{F}, +, \times)$. This fits with the notion that a field is a set equipped with these operations.

As for the first question, $f$ is a function that takes elements of $\mathbb{R}^{2}$ as inputs. Using $f(t)$ is awkward in giving the formula, since it needs to refer to the subcomponents. I would personally write $f((x,y))$ instead of $f(x,y)$, but I could see the argument that the second looks nicer. It's not an abuse of notation; in either case $f$ is taking a pair of elements from $\mathbb{R}$ as input.

$\endgroup$
1
  • 3
    $\begingroup$ "It's $\mathbb{F}$ all the way down." $\endgroup$
    – jwg
    Commented Nov 8, 2017 at 11:31
8
$\begingroup$

The existing answers to this question are very good, but I'd like to give another perspective.

It turns out that there is a formalism in which the notation

$$ f (x, y) = x^2 + 83xy + y^7 $$

makes perfect sense and is neither a 'convention' nor an 'abuse of notation'.

Among type theorists, it is common to write a multivariate function not as

$$ f \colon A \times B \to C $$

but as

$$ f \colon A \to (B \to C) $$

where $X\to Y$ is the set of functions from $X$ to $Y$. Here, we read '$f$ is a function from $A$ to the set of functions from $B$ to $C$'. For example, we have: \begin{gather} f \colon \mathbb R \to (\mathbb R \to \mathbb R)\\ f(x)(y) = x^2 + 83xy+y^7 \end{gather}

Note that we do not have to do any work defining a set of pairs to make this work. If we want to recover the usual way, though, we can do it. Given sets $A,B$, we define $A\times B$ to be the 'universal' set $X$ such that there is a function $$ A \to (B \to X) $$ What I mean by 'universal' is a little complicated. Formally, the map $$ X\mapsto A \to (B \to X) $$ defines a functor from the category of sets to itself. The defining property of $A\times B$ is that it is a representing object for this functor; i.e., we have a natural isomorphism $$ \Phi\colon A \times B \to \_ \Rightarrow A \to (B \to \_) $$ In particular, we can define the pairing function \begin{gather} \_,\_\colon A \to (B \to (A\times B))\\ \_,\_ = \Phi(A\times B)(\text{id}_{A\times B}) \end{gather}

Note that we write $x,y$ rather than $\_,\_(x)(y)$, but this is no less natural than writing $x+y$ instead of $\_+\_(x)(y)$.


Let's see how your example is constructed in this formalism. You were concerned about the definition $$ f(x, y) = x^2 + 83xy + y^7 $$ where $f$ is a function $\mathbb R\times \mathbb R \to \mathbb R$.

In our formalism, $(x, y)$ means the function $\_,\_$ applied first to $x$ and then to $y$. If we write the function $\_,\_$ out in full, then we have: $$ (f\circ (\_,\_))(x)(y) = x^2 + 83xy + y^7 $$

Now consider the commutative square for a natural isomorphism: $$ \require{AMScd} \begin{CD} \mathbb R \times \mathbb R\to \mathbb R\times \mathbb R @>{\Phi}>> \mathbb R \to (\mathbb R \to \mathbb R\times\mathbb R);\\ @V{f\circ\_}VV @VV{f\circ\_}V \\ \mathbb R \times \mathbb R \to \mathbb R\times\mathbb R @<{\Phi^{-1}}<< \mathbb R \to (\mathbb R \to \mathbb R\times\mathbb R); \end{CD} $$ where we have reversed the arrow at the bottom since $\Phi$ is an isomorphism. Consider what happens when we apply this to the element $\text{id}_{\mathbb R\times\mathbb R}\colon\mathbb R\times \mathbb R\to\mathbb R\times\mathbb R$. We get: $$ f = \Phi^{-1}(f\circ(\_,\_)) $$ In other words, in order to define $f$, it suffices to define the composite $f\circ(\_,\_)$, and that is exactly what we are doing when we write $$ f(x, y) = x^2 + 83xy + y^7 $$ So even though we're defining not $f$ but its composite with the pairing function, we are still defining $f$ itself because it can be completely recovered from this composition via the natural isomorphism $\Phi^{-1}$. It's a bit like defining a quotient group:

We define $xH * yH$ to be $(x * y) H$

Proposition: this multiplication is well defined...

except that in this case the well-definedness proof can be taken for granted since we use it all the time.

$\endgroup$
6
$\begingroup$

I am struck by the implication in this question and in many of the answers that abuse of notation is something to be avoided. In fact is is not uncommon in mathematical writing for authors to say they are expressing something in a certain way "by abuse of notation," and the authors are not actually ashamed of what they are doing. I would agree that your second case is exactly an example of this sort of thing, but conflating the underlying set of an algebraic structure with the structure itself has been a part of mathematical notation since well before the expression "abuse of notation" was coined.

$\endgroup$
1
  • 1
    $\begingroup$ Yes, "abuse of notation" as a term in mathematical English doesn't carry the negative connotations of "abuse" in colloquial English. $\endgroup$ Commented Nov 8, 2017 at 9:09
4
$\begingroup$

How does this make any sense?

Is your issue that it's f(x,y) rather than f((x,y)), or that it's expressed in terms of x and y instead of projections? For the first, it's just a simplification of notation. For the second, I don't see how you think it doesn't make sense. Clearly, f(x,y) = ... is a claim that can be either true or false. That is, it's a meaningful claim. So for the question "Does this make sense?", the answer is clearly "yes". The only remotely reasonable question I see is "Is this a valid definition of the function?", and for that question, the answer is still "Yes". A function definition is any statement (implicitly quantified over all possible values of the dummy variables) that uniquely defines a function. So, for instance, given a normal subset H and element g0, f(gH) = gg0H is a valid definition, because given any coset, we can express it as gH for some g, and the end result will be the same regardless of what g we take. If, instead, we had f(gH) = g2H, that would not be a valid definition, because we will get different outputs depending on what g we take. Similarly, suppose we have a function f: V->V over a vector space V. If we say f([a,b]) = [2a,2b], that's a well-defined function, because even though it's a coordinate-dependent definition, the end result is invariant under change of basis. On the other hand, f([a,b]) = [a2,0] would not be a valid definition without specifying a basis system. You seem to be hung up on thinking of function in CS-type manner, where a function has to be "passed" the parameters, and then "operate" on them, and then "return" an output. In math, function are a much more abstract concept. They are simply a relation between two sets: for every element in the domain, there is some element in the codomain that is somehow associated with that element. It's easier to think of that association as being the output of some operation, but it can be anything.

Your second example is more valid. We do use space and space+structure interchangeably when it does not introduce ambiguity. We can speak of "the integers" as a set, or as a group under addition, or as a ring. If we want to specify how we're using the integers, we might say "The integers as a group under addition" (or sometimes just "integers as a group"), rather than "The integers as the space over which a group is defined with addition as its binary operation". There are various canonical meanings of phrases, and further specification is generally not needed unless the phrases are being used in non-canonical means not obvious from the context.

$\endgroup$
3
$\begingroup$

The notation is there to help us explain and communicate what are abstract thoughts in our heads. As such, if people understand what we are thinking/saying, it is close enough. And, being exact would only make things longer and more confusing.

I agree that the actual example you give isn't an abuse: we all know that a mapping from $R^2$ to $R^1$ has two 'variables', which are the 'coordinates in $R^2$, or if you like, or the elements of the tuple in $R^1xR^1$; So, if $z=x^2+xy+y^2$, we all know what we mean.

I suspect part of your concern comes from computer science. There, tuples must be explicit and track for software to work: in Python, a tuple is declared like $a=(1,2,3)$. But even at modern AI sophistication, software can't infer stuff. Technically this is because all software requires what is called an $LR1$ grammar (which means it is sufficiently unambiguous), which guarantees there is zero ambiguity. As a consequence, computer languages often have exact but confusing syntax because they slavishly follow grammar/notation rules with zero abuse: in Python, the following also creates a tuple of length 1: $$a=1,$$ which looks, for all the world, wrong.

I often think that how you know that you understand a concept when the notation is 'abused' (or perhaps confused), and symbols get repeated - but have different meanings you see immediately For example, if you were dealing with basis vectors over multiple dimensions that were indexed, and also exponentiating, An expression like this looks perfectly sensible: $$z=\sum e_i^ {e^{{\frac{ix^2}{\sigma^2}}}}$$

even if it isn't clearly sensible, given the context and our proper understanding of what is going on, we might all know the $e$ downstairs is a basis vector (though a hat over it would help), and that the $e$ upstairs is 2.718, and - given the context - that the $i$ upstairs is likely = $\sqrt{-1}$, and not the index $i$ from the $e$ at the bottom. There is ample possibility for confusion by someone who doesn't grasp the math, but those who get it can untangle the repeated symbols (the $e$'s and $i$'s in my example).

A sort of extreme version of this is the Einstein notation convention, where you drop the $\sum$ and just 'intuit', based on the logic, that it is to be summed over all necessary subscripts...so $x=a_j x_ij b_j$ has implied summation - but we don't need to say it.

There are endless examples. We say that a space X is measurable, but really that requires a tuple like $(X, \mathbf X, \mu)$, which gives the underlying space, the $\sigma$-algebra, and the measure. But, if we know the $\sigma$-algebra then we could figure out the space; and, really, if we know the measure and topology, we can figure the $\sigma$-algebra. So it would be more accurate to talk about the measurable space $\mu$, but we all 'know what we mean'.

Abuse of notation? Sometimes, I suppose. But notation needn't be slavish, and should make it simple and clear - and we can 'fill in the blanks'. that is what still separate humans from machines.

$\endgroup$
5
  • $\begingroup$ Software has been able to "infer stuff" for decades, and there are programming languages whose grammar is not LR(1). $\endgroup$ Commented Nov 6, 2017 at 9:30
  • 4
    $\begingroup$ In fact, from a programming language point of view I would say that $f(x, y) = z$ is the correct way to write a function of type $\mathbb{R}^2 \to \mathbb{R}$, and that if it were instead $\mathbb{R} \to \mathbb{R} \to \mathbb{R}$ then it should be $f(x)(y)$. $\endgroup$ Commented Nov 6, 2017 at 9:36
  • $\begingroup$ Curious - what is an example of a software language that is not LR1? And how does it deal with ambiguity. As we all know, when people say "time flies like an arrow, but fruit flies like an apple" the meaning is entirely different...but we humans know exactly what each part means. $\endgroup$
    – eSurfsnake
    Commented Nov 8, 2017 at 4:05
  • 1
    $\begingroup$ @eSurfsnake C++. Also, parsing Perl is undecidable. $\endgroup$
    – David
    Commented Nov 8, 2017 at 6:08
  • $\begingroup$ Indeed so. I always (optimistically but wrongfully) assume that one knows the type definitions at parsing time, so, in C, x * y; can unambiguously be seen either as (1) an expression, or (2) declaration of y as a pointer to type x. $\endgroup$
    – eSurfsnake
    Commented Nov 21, 2017 at 19:17
3
$\begingroup$

Writing $f(x,y)$ for $f((x,y))$ is just a convention.

Note that in the usual set theoretic construction of functions as relations, the notation $f(x)$ is also just a convention for the set $y$ for which $(x,y)\in f$. I think you also accepted the convention $Ax$ for $A(x)$ in the case of linear maps $A$ to make it look more like a (matrix-)multiplication.

Notational conventions are everywhere and make it possible to do deep mathematics without getting lost in the jungle of first order predicate logic formulas and formal proofs.

$\endgroup$
3
  • $\begingroup$ It's not just for linear maps that omitting parentheses is accepted. $\sin x$ is also not unusual. I like to write all functions without parentheses (except of course when they are needed for grouping of the argument), although I often put them in to avoid any confusion with multiplication (though I write that almost always with an explicit $\cdot$). $\endgroup$ Commented Nov 7, 2017 at 20:44
  • 1
    $\begingroup$ @leftaroundabout I think the big difference between $Ax$ and $\sin x$ is the space between the operator and the operand. In the first example the interpretation as multiplication is desired, hence there is no space, while in the second one this should not happen. $\endgroup$
    – M. Winter
    Commented Nov 7, 2017 at 21:02
  • $\begingroup$ Strictly (and pedantically) speaking, though, functions are not relations. A function $u = (E, F, \Gamma)$ is a triplet consisting of two sets $E$ and $F$, and the so called graph $\Gamma \subseteq E \times F$. Then we say that $u(x) = y$ if $(x,y) \in \Gamma$. This distinction can be useful, for example, when we want to decide whether $x \mapsto x^2, \forall x \in \mathbb R_+$ has an inverse or not. $\endgroup$ Commented Jan 21, 2018 at 15:19
3
$\begingroup$

Here is a POV from a telecommunication engineer (SW dev, research assistant, now teacher), and engineers are used to notation abuse :-).

I like to remind my students that the primary goal for math notation is correct, unambiguous communication between humans.

Humans are not perfect language parsers, and get confused easily. If notation obscures semantics, you risk not getting too far in your understanding.

As far as notation is understandable unambiguously in the context where you use it, that's ok.

Writing a computer program in some artificial language is another story, but artificial languages evolution has shown that going higher level (a language a human can write more easily, with less pedantry) pays off in terms of productivity (i.e., higher quality code, more robust, written in less time and needing less maintenance).

Making a machine understand "abuses of notation", sometimes, makes the job easier and more robust for humans (as long as the semantics stays clear), even if it means that the machine (be it real hardware, or be it virtual, as an interpreter program) will work harder to get the job done.

$\endgroup$
1
$\begingroup$

A function needs to assign a unique element in the range for every element in the domain. It doesn't need to be able to be written as a "formula" of the input. So even though x and y can be written as formulas of the tuple (x,y), this does not mean that doing so would be the correct way. The expression you wrote unambiguously assigns every element in the domain some unique element in the range, and so there is no abuse of notation.

$\endgroup$
1
$\begingroup$

I think I have seen the following definition in some textbook, which takes care of the first issue:

Definition: If $A$, $B$, and $C$ are sets, $f: A\times B \rightarrow C$ is a function, and $a\in A$, $b\in B$, then $f(a,b)=_\textrm{df}f((a,b))$.

The mathematical content of this definition is to define a bivariate function as a special case as a univariate function. This is not an obvious equivocation, and I imagine that the concepts of univariate and multivariate function were around before they were subsumed into the single modern set-theoretic definition of function (is this true?). If this definition is accepted, then your example is not an abuse of notation.

The second example is an example of metonymy, which occurs all over mathematics. Metonymy is a linguistic device that is not specific to mathematics; it occurs in all languages. Here is a discussion of its use in mathematics, including your example. Yes, this is an abuse of notation, but the term "abuse of notation" in mathematical English does not carry the negative connotation that "abuse" does in non-mathematical English.

Halmos's Naive Set Theory also has a passage relevant to this second example (p. 55):

A partially ordered set is a set together with a partial order in it. A precise formulation of this "togetherness" goes as follows: a partially ordered set is an ordered pair $(X, \sim)$, where $X$ is a set and $\sim$ is a partial order in $X$. This kind of definition is very common in mathematics; a mathematical structure is almost always a set "together" with some specified other sets, functions, and relations. The accepted way of making such definitions precise is by reference to ordered pairs, triples, or whatever is appropriate. That is not the only way. Observe, for instance, that knowledge of a partial order implies knowledge of its domain. If, therefore, we describe a partially ordered set as an ordered pair, we are being quite redundant; the second coordinate alone would have conveyed the same amount of information. In matters of language and notation, however, tradition always conquers pure reason. The accepted mathematical behavior (for structures in general, illustrated here for partially ordered sets) is to admit that ordered pairs are the right approach, to forget that the second coordinate is the important one, and to speak as if the first coordinate were all that mattered. Following custom, we shall often say something like "let $X$ be a partially ordered set," when what we really mean is "let $X$ be the domain of a partial order." The same linguistic conventions apply to totally ordered sets, i.e., to partially ordered sets whose order is in fact total.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .