Settings

Theme

Terry Tao on some desirable properties of mathematical notation

mathoverflow.net

393 points by jjhawk 5 years ago · 228 comments

Reader

Koshkin 5 years ago

Mathematical notation is great at facilitating formal manipulations. This is its critical feature, and without it we would get stuck at the level of ancient mathematics. This is the reason it was invented a few hundred years ago in the first place. That said, I find that notation is often abused in texts as a mere substitute for the normal human language which, while allowing to compress the text, does in fact nothing to help the reader better understand what is being said but rather looks like a crazy mess of characters and other marks in a multitude of fonts, styles and sizes the only purpose of which seems to be to cause an eye strain.

  • dhosek 5 years ago

    I remember, as a callow college freshman waiting in the hallway of the math department to be able to go into a classroom reading an article which talked about mathematical writing and the first thing it said was to prefer English text over mathematical symbols in numerous cases (e.g., writing "For all $x$ in the Reals" over $\forall x\in\mathbb{R}$). As someone who was highly skilled in TeX at a time when such skills were still fairly rare (many colleges, if they even had TeX available on their time share systems, were still using the am fonts instead of the cm fonts as the latter had only been introduced two years earlier), I remember being upset that my backslash skills were thus denigrated.

    • jimhefferon 5 years ago

      When I teach the intro to proofs class I require that they learn LaTeX. Some students like the availability of symbols so much that they go a bit nuts. Something like this sentence: $\forall x\in\mathbb{R}$ $\exists y$ that is $>$ the number $x+1$. Sigh.

      • madcaptenor 5 years ago

        This isn't exclusive to LaTeX; I think students in general just think that the symbols make things "more mathematical". I remember feeling this way briefly when I was first exposed to things like $\forall$ and $\exists$, and it wore off. This was in the late nineties; in theory I could have had access to a typesetting system but I was writing things by hand.

        • jayjader 5 years ago

          As a former maths student, I loved the "compressibility" of using symbols for things like "forAll" and "thereExists". They're quicker to write and allow fitting in more information in less space, two qualities which become highly useful when taking tests in limited amounts of time on sheets of paper with limited space (albeit needing more paper to fit your test answers on is more arguable in it's negativity).

          For a (even more) subjective point of view, as part of my studies I had oral practicals every 2 weeks or so where I was basically standing at a whiteboard along with 2 classmates, each solving problems given to us by an examiner for ~1 hour. It's simply easier for a lot of students to draw a symbol that's legible from 5 meters away than some words without making them huge.

  • logicslave 5 years ago

    "does in fact nothing to help the reader better understand what is being said"

    For a mathematician it is the opposite, they just wish it would be written with symbols so that they could know precisely what the book is trying to say

    • Smaug123 5 years ago

      I don't think this is true in general. It may be true for a novice, who needs all the available help to keep them rigorous (but even then, there is definitely room for reading-to-build-intuition), but symbols definitely slow you down while you translate them.

      • quietbritishjim 5 years ago

        Do you really think

        > speed = distance / time

        is less clear than

        > speed is the ratio of distance over time

        ? To me the first equation is genuinely easier to read for the purposes of understanding, not just for formal manipulation. For larger equations the difference is only more stark, not less. I have a maths PhD so your comment about symbols being for novices doesn't apply.

        I suppose the beauty of the first equation is that the objects (speed, distance, time) are visually very distinct from the operations and relationships. In the second form, there's a bit of a word soup so you need to "manually" parse the sentence rather than letting your eyes (really the visual cortex) do that bit of the processing for you.

        • gjulianm 5 years ago

          But that example is a little bit artificial, isn't it? A lot of mathematical concepts are more complex than that and sometimes symbols are not the best option. Say, for example the definition of Hausdorff space, in words and symbols:

          - Any two distinct points in the space have disjoint neighbourhoods.

          - ∀x,y ∈ X with x ≠ y, ∃U,V ⊂ X s.t. x ∈ U, y ∈ V and U ∩ V = ∅.

          Another example would be Navier-Stokes equations, where they're much easier to understand in words than in symbols. Symbols are ok when you don't have to search too much to see what they mean and when the idea you're trying to transmit with them is relatively simple, but trying to build complicated phrases and definitions with symbols, for me, ends up being a mess.

          edit: fixed hausdorff space definition, points should be distinct

          • C4stor 5 years ago

            I find it a bit funny that the whole discussion seems to be on what definition is better. The two complements each other perfectly, and reading them actually makes both clearer for me.

            Since there is in the modern world almost no use case where you're heavily space contrained (maybe the final print version of an article for some publications ? I'm not that familiar with the research world), I don't see why you'd try to choose one instead of including both where needed.

          • andrepd 5 years ago

            You are comparing apples to oranges. Your English definition is missing the definition of neighborhood. To actually be an accurate comparison you'd need to add ", where a neighborhood is a set that contains an open ball that contains the point." But now, you're also missing the definition of open ball...

            • gjulianm 5 years ago

              Doesn't that add to the point that sometimes literal definitions are better than symbolic? Either you have a symbol that says "this is a neighbourhood" or you have the symbolic definition of neighbourhood (which is missing in my symbolic definition of the space, btw, I just noticed) and then you force the reader to identify those symbols and say "oh, this is a neighbourhood". The former is the same issue as in English, and the latter adds unnecessary complexity (no people reading about Hausdorff spaces will be unfamiliar with the concept of a neighbourhood of a point).

            • gmadsen 5 years ago

              if every definition needed to redefine definitions of its terms it would be impossible to discuss anything.

              Within a certain domain, it is assumed you know basic definitions within it that can be used to talk about more complex things.

          • quietbritishjim 5 years ago

            I think my overall point is that symbols can significantly make things simpler, not that they always do. It's very much like the analogy with diagrams that I made in that comment: making things visual can help enormously, but a bad diagram or equation can be as unclear, or worse, than some descriptive text.

            Communication is hard, and unfortunately doing it well requires experience and thought rather than simplistic rules like "always use symbols rather than words" or vice-versa.

          • toxik 5 years ago

            Curiously, you have been ambiguous in the mathematical notation. Counterproof: let x = y.

          • brmgb 5 years ago

            > - ∀x,y ∈ X with x ≠ y, ∃U,V ⊂ X s.t. x ∈ U, y ∈ V and U ∩ V = ∅.

            Amusingly and to go in the direction of your argument, this is not a very rigorous definition of a Hausdorff space. You should introduce the topology τ associated with X and specify that U and V are open sets of τ.

        • erezsh 5 years ago

          That's not a genuine example.

          Most academic texts I've read will use something like

              s = d/t
          
          And sometimes not even explain what the components mean, because obviously 't' stands for time. That's what all their lecturers used, so why bother explain it.

          Some will even make up their own notation:

              s = d(t)
          
          And somewhere will say "f(x) in this article describes an inverse multiplicative relation", without explaining that it's actually simple division, so other academics won't find them too obvious or boorish.

          Some even take it a step further and use random greek letters (without exhausting the English alphabet first ofc.), where small gamma and big gamma mean completely different and unrelated things.

          • HPsquared 5 years ago

            That sounds more an issue of unclear naming, than with notation itself.

            Edit: Though I agree, mathematical notation lends itself to using single letters to denote objects. This can of course be problematic. I'm a fan of 'pseudocode' - somewhere between natural language and rigorous notation - where possible.

          • swilliamsio 5 years ago

            >s = d/t

            Slightly worse than that. That equation is always written as v = s/t. v represents velocity and s represents distance, for some reason.

            • Sharlin 5 years ago

              I would assume that the "s" comes either from Latin spatium or German Strecke.

            • abenga 5 years ago

              This is (velocity) = (displacement) / (time). s is used because of the Latin word _spatium_ for space. If I remember correctly, there was a difference between distance and displacement. (displacement is "net").

              • quietbritishjim 5 years ago

                Displacement is a vector whereas distance is a scalar (similarly for velocity vs speed). Even if you restrict to 1 dimension there's a difference as displacement (and velocity) can be negative.

        • Smaug123 5 years ago

          I'm certainly not saying that symbols are always bad. Rather, I am attempting to argue that the parent is false in asserting that "mathematician[s]… just wish it would be written with symbols so that they could know precisely what the book is trying to say". The Hausdorff space example is a good one: it's very easy to say what a Hausdorff space is, but if you have to spell it out formally then the definition is kind of big and ugly.

        • contravariant 5 years ago

          The first one isn't really symbolic though. So really you should compare:

          - speed is the derivative of position with respect to time.

          and

          - Let x(t) be the position of an object at time t then its speed v(t) is:

             v(t) = (dx/dt)(t)
          
          Also note that most of the time I'm just putting the symbols after the word explaining what it means, while this does allow me to use the symbolic notation for differentiation it doesn't really make the first part any shorter. Also it would be a mistake to introduce speed by just 1 specific formula (even if I didn't specify the types of the object involved) since speed is a far more general concept.
        • auggierose 5 years ago

          The problem is when it is not quite clear what the symbolic notation stands for. With division, that tends to be less of a problem.

          • quietbritishjim 5 years ago

            * I find it quite unusual in practice for genuinely new symbolic notation to be used by an author. Maybe that just reflects the fields I read about most (information theory, Bayesian modelling, harmonic analysis).

            * Usually you don't come across a journal article or even blog post with a single isolated equation. So any new or unusual notation can be explained once and reused many times.

            * Even if you did have an isolated equation with unusual notation, I still think it's more clear to define the notation and then show the equation rather than spelling it out it words! (I'm sure you could find terrible counterexamples!) The visual benefit seems so great to me that it would be worth splitting it into two parts. A bit like a diagram or a graph can make things clearer even if it needs a bit of explanation.

            • nicoburns 5 years ago

              It doesn't need to be genuinely new to be confusing. It just needs to be unfamiliar to the reader. At the very least, one should point the reader to a resource where they can read about the notation.

            • throwaway744678 5 years ago

              > * I find it quite unusual in practice for genuinely new symbolic notation to be introduced by an author.

              This sentence seems to contradict the rest of your comment; did you mean "I find it quite unusual in practice for genuinely new symbolic notation to NOT be introduced by an author."?

              • quietbritishjim 5 years ago

                Thanks, that was ambiguous and the way you read it wasn't what I intended. I meant it was unusual for an author to use a new symbolic notation at all, without saying anything about whether they define it in those cases where they do use something new. I've edited "introduced" to "used".

      • jvvw 5 years ago

        I've got a PhD in maths and can translate symbols into concepts in my brain much quicker than words into concepts in general. Also writing symbolically forces a rigour on the writer. I've been trying to read some semi-mathematical stuff written by scientists but non-mathematicians recently and it is painful trying to figure out what they really mean!

        • Smaug123 5 years ago

          Sure, but the problem is that it was written by non-mathematicians, not that they were not using symbols. That's kind of what I was trying to say: symbols help you be rigorous, but they slow you down, and often the complete text-on-the-page doesn't actually need all the rigour that's forced on you by the symbols.

      • ChrisLomont 5 years ago

        As a math PhD I disagree. I can read math notation far faster and more accurately than ambiguous English. We don’t translate symbols. If anything, when reading English we have to translate into symbols.

        For example, reading 5-7, I don’t have to translate the - symbol to the word “subtract”. I know this is -2. And I don’t translate the - in that to the word “negative,” and certainly not to the word “subtract”. And it’s vastly faster to agree 5-7=-2 is correct than “5 subtract 7 equals negative 2.”

        Symbols are how mathematicians think.

        • Smaug123 5 years ago

          I think you've got the same misconception as quietbritishjim above. Start stacking quantifiers, and the symbols get hairy much faster than the English does.

          • ChrisLomont 5 years ago

            Maybe you're not used to reading quantifiers. I also find them much easier, faster, and more accurate to read, because it's from practice.

            Sure you can take simple English statements, and write them with quantifiers, and claim the English is simpler. But going the other way, expressing complex items in English, is a non-starter. English is far too sloppy, whereas the quantifier version is mathematically precise.

            Try converting something professional, such as Godel's incompleteness proofs, into English. Without precise quantifiers you'd quickly get lost, make mistakes, and take forever to get anywhere.

            For example, look at page 17 of the proof [1], at AG(6)(a) (after the "Thus"), where there is a long statement in logic. Convert to English (near impossible, certainly not possible without something like parentheses) and tell me it's easier for a logician to read. It's not. As written it's concise and parseable without confusion for a logician.

            The simple English sentence case is a tiny part of what mathematicians do.

            [1] https://web.yonsei.ac.kr/bkim/goedel.pdf

            • Smaug123 5 years ago

              Look, do you really want me to wade through sixteen pages to discover the notation first (written by someone who doesn't know about \langle and \rangle, either)? I would consider it bad argumentative form of the same water as Euler's apocryphal "does God exist" debate with Diderot.

              At the very least, you will struggle to persuade me that the use of \wedge is easier to understand than the English word "and" with line breaks.

              Also you've picked a specific example where the objects of study are these long strings of symbols. Of course any paper worth its salt is going to use them - they're literally the things that the paper is there to examine. It's the metamathematical statements in this context, not the quotation of the formulas under study, that I want to replace with English.

              • ChrisLomont 5 years ago

                >do you really want me to wade ....

                No - just pointing out that no matter how hard you studied that an English equivalent of such a terse expression will be a mess, vastly harder to understand.

                >At the very least, you will struggle to persuade me that the use of \wedge is easier to understand than the English word "and" with line breaks.

                You're making my case for me :)

                The word "and" and "or" are ambiguous in common English, and have no common or even technical well-defined precedence. "Or" in English both can mean "inclusive or" or "exclusive or," yet most people simple write "or".

                In math they have well defined precedence, and math has parentheses to order correctly, unlike English.

                The only reason you find English easier to understand is you have used more than math symbols at a ratio that makes that true for you. It's not true for everyone, especially professionals, that use some set of notation a lot.

                >Also you've picked a specific example where the objects of study are these long strings of symbols

                Avoiding the point. The math does not have to self-referential to use complex expressions not amenable to writing in English. This expression is not complex because it's a meta argument. Such expressions can occur in all sorts of places.

                At this point I'm sure your present these red herrings to avoid considering that your opinion is not common among professionals that can read symbols much faster and more accurately than can be done in English.

                No sense in continuing.

      • commandlinefan 5 years ago

        Hm - well, I'm not a mathematician, but I am a programmer and I know that there are many, many times when I've seen somebody try to describe an algorithm in what ends up being incomprehensible English followed by a code example that actually clears up what it was they were trying to say.

    • ukj 5 years ago

      We have symbolic expression in programming languages already.

      It helps somewhat, but it isn’t a panacea.

      We still have to comment our code and add context.

  • watersb 5 years ago

    Thus:

    1. Write a good narrative

    and then

    2. Write good code

    Which is to say that a mathematics text is an instance of literate programming.

  • nsonha 5 years ago

    Compressing does help it. To trained eyes a couple of lines is easier to read and less ambiguous than one or 2 pages of English explanation, which is hard to follow for both trained and untrained eyes if you're gonna encouter a bunch of them while reading a proof.

    • prox 5 years ago

      To me it seems language can also be interpreted as more ambiguous, where as well defined symbols and notation are far more rigorous in definition and use.

      • foerbert 5 years ago

        Except you have instances of misuse of those well-defined symbols and notations. Without any accompanying language it can be very difficult to not only determine that there is an error, but then also figure out how to fix it.

        And other times in some fields there is a lack of well-defined symbols and notations. I don't recall the specifics, but in game theory there is some notation that is ambiguous. There are two methods or forms of representation, and the field is split on which version the notation stands for. It's also frequently not mentioned explicitly in papers, so you have to dig around a bit to see if you can find a usage that makes the meaning clear.

        I don't know why we can't just have both.

        • nsonha 5 years ago

          my main argument is that humans only have so much sort term memory so compression is crucial for readability. Reading a proof is different than reading a book because you have to retain the whole thing with details in your mind not just vague ideas.

          • foerbert 5 years ago

            I find myself completely unable to understand that. I suspect we use very different methods. Notation doesn't stay with me once my eyes move past it. The notation is merely there to inform me of what is happening, and as long as I understand the meaning it doesn't matter if it was one symbol or a whole paragraph.

  • mmhsieh 5 years ago

    there are some academic disciplines which are extremely guilty of this. they are the ones that are insecure about their status as a science.

  • cryptica 5 years ago

    Math symbols are a minor issue for me. What confuses me the most are descriptions of mathematical concepts.

    For example, Wikipedia describes a 'field' like this:

    "In mathematics, a field is a set on which addition, subtraction, multiplication, and division are defined and behave as the corresponding operations on rational and real numbers do."

    It doesn't make sense to me. What does it mean if an operation 'is defined' on a set? Does it mean that any 2 elements combined together using that operation always need to output an element which is also in the same set? But if that was the case then "behave as the corresponding operations on rational and real numbers do" would mean that the fields would always need to be of infinite size (have an infinite number of elements) wouldn't it? Because if the field had a limited number of elements and you added the last two (highest) elements together, the property which requires that the result also be present in the same set could not be met because the result would be greater than the highest element in that set...

    The problem is that if you start with a highly abstracted math concept and you dig through all the links and definitions of sub-concepts, they all have huge gaps like this... So when you try to combine all the definitions together to make sense of that original highly abstracted concept, you end up with tens or hundreds of possible interpretations. But in fact, Math should only have 1 interpretation for each concept so this is a very bad situation to be in.

    I think math definitions should be more elaborate and repetitive if necessary. They should not try to sound terse and clever. They should not assume that the reader can fill in the gaps. The most rational readers will not be able to fill in the gaps because rational people know the dangers of making assumptions.

    • impendia 5 years ago

      I'm a math researcher, and I'll explain why I like these sorts of definitions.

      In the first place, what you quoted is not a formal, precise definition; it is not a substitute for such a definition, nor is it intended to be one. The Wikipedia page you mention has a precise definition further down the page.

      So what, then, is the purpose of the description you quoted? Why include it at all?

      Because it's how mathematicians conceptualize of what a field is. It is the peg we hang our hat on; it is what we remember. A mathematician who has seen fields would be able to fill in the details; and if not, they would know to look up the precise definition in a textbook.

      In short, these definitions are how we keep track of the forest at the same time as the trees.

      I should note that taste differs among mathematicians, and you can find different styles of exposition in math books. Some are very formal and precise; whereas others are more informal and have lots of handwavy statements along the lines of the one you quoted.

      • jhanschoo 5 years ago

        I'd also like to point out that it is also frequent that one encounters equivalent but different formal definitions for the same mathematical structures, and this is why the informal descriptions are important as well.

    • joshuaissac 5 years ago

      > What does it mean if an operation 'is defined' on a set? Does it mean that any 2 elements combined together using that operation always need to output an element which is also in the same set?

      For a binary operation f to defined on a set, f(x,y) must exist for every x and y in the set. There is no requirement that f(x,y) itself is in the set. Adding that requirement would mean that the set is "closed" under the operation f. So if we take Z+ = {1, 2, 3, ...}, ordinary division is defined on Z+, but Z+ is not closed under division, since we can get results like 2/3 that are not in Z+. Whereas division is not defined on Z0+ = {0, 1, 2, ...} because we can get undefined results like 2/0.

      However, some definitions of "binary operation" include the "closed" property, so under such definitions, division would not be considered a binary operation on Z0+.

      >Does it mean that any 2 elements combined together using that operation always need to output an element which is also in the same set?

      Specifically in the case of a field, yes; addition needs to be defined, closed and invertible for the set; multiplication needs to be defined, closed and invertible for the set excluding the additive identity (zero).

      • cryptica 5 years ago

        This is a proper definition, thanks. The first sentence here is about the same length as the one on Wikipedia but it fully encapsulates the meaning without ambiguity.

    • lapinot 5 years ago

      You're quoting the introduction of the article, which is notoriously a fuzzy abstract in all the wikipedia articles about mathematical concepts. Let's quote the actual (textual) formal definition (sec. 1.1) as it would stand in a textbook:

      > Formally, a field is a set F together with two binary operations on F called addition and multiplication. A binary operation on F is a mapping F × F → F, that is, a correspondence that associates with each ordered pair of elements of F a uniquely determined element of F. The result of the addition of a and b is called the sum of a and b, and is denoted a + b. Similarly, the result of the multiplication of a and b is called the product of a and b, and is denoted ab or a ⋅ b. These operations are required to satisfy the following properties, referred to as field axioms. In these axioms, a, b, and c are arbitrary elements of the field F. [...]

      Still, i don't know how to say it in another way but you probably don't have much experience in mathematics, even the first quote is arguably quite accurate.

      > Does it mean that any 2 elements combined together using that operation always need to output an element which is also in the same set?

      Yes, unless told otherwise an operation is an internal binary operation, it's really the most common form. When it is not the output is notable enough to be specified.

      > But if that was the case then "behave as the corresponding operations on rational and real numbers do" would mean that the fields would always need to be of infinite size wouldn't it? Because if the field had a limited number of elements and you added the last two (highest) elements together [...]

      No, the important point here is your use of "highest". A set by default only has equality (and mappings, in and out) but no order relationship. So the most conservative interpretation of "behave as the corresponding operations on rational" would be to only include stuff that can be written using the 4 operations and equality, not ordering.

      ---

      Maybe i'm biaised by the fact that i know what a field is, but still, this particular intro is also how i would present a field: give the most common example and say which operations it has. It sure can create false intuitions like yours about the size, but this will always be the case when we use non-normalized language.

    • omaranto 5 years ago

      If informal descriptions confuse you, skip them and read actual definitions instead.

      I actually like informal definitions a lot. I think they serve two different purposes:

      1. For beginners they usually soften the blow of a fully rigorous definition, letting them get an idea of the concept before getting it exactly.

      2. For experts they can often suggest what the exact definition is faster than it would be to read a precise definition!

      But if you don't get anything out of them, you can skip 'em. Definitions are more important: informal descriptions are there to help you grasp the definition faster and to help you develop an intuition for the concept being defined. If you can do those things faster from just a rigorous definition, you don't need an informal description. (But as I said, I feel informal descriptions benefit both beginners and experts, so I'd also suggest practicing reading them more to get a feeling for what kind of details people tend to omit or emphasize.)

      • cryptica 5 years ago

        It's not about 'informal definitions'. I also really like informal definitions but not the way that most mathematicians currently tend to write them.

        • omaranto 5 years ago

          Wait, are you complaining about how mathematicians currently tend to write informal descriptions of concepts or about the informal descriptions in the intros to Wikipedia articles? I think those things are pretty different.

    • gspr 5 years ago

      It sounds very much to me like you would like mathematicians to change our notation to accommodate someone who has not put in the effort to learn mathematics. Do you wish the same from structural engineers? Programmers? Physicists? Medical doctors? Musicians?

      > "In mathematics, a field is a set on which addition, subtraction, multiplication, and division are defined and behave as the corresponding operations on rational and real numbers do."

      This isn't a mathematical definition of a field. This is an encyclopedia's intuitive definition. It is a good one, in my opinion, as it'll evoke the correct definition in a person who is trained at mathematics, and hopefully convey the gist of the idea to someone who is not. Very good for one sentence! But a mathematical definition it is not!

      A mathematical definition of a field would be as follows:

      BEGIN DEFINITION

      A field is a set F together with two functions A:F×F→F and M:F×F→F and two elements z∈F and o∈F that together satisfy the following properties:

      ASSOCIATIVITY OF A: A(A(a, b), c) = A(a, A(b, c)) for all a,b,c∈F.

      ASSOCIATIVITY OF M: Same as above with M in place of A.

      COMMUTATIVITY OF A: A(a, b) = A(b, a) for all a,b∈F.

      COMMUTATIVITY OF A: Same as above with M in place of A.

      NEUTRALITY OF z WRT A: A(a, z) = a for all a∈F.

      NEUTRALITY OF e WRT M: M(a, o) = a for all a∈F.

      INVERSE FOR A: For all a∈F, there exists an element na∈F such that A(a, na) = z.

      INVERSE FOR M: For all a∈F such that a≠z, there exists an element ra∈F such that M(a, ra) = o.

      M DISTRIBUTES OVER A: M(a, A(b, c)) = A(M(a, b), M(a, c)) for all a,b,c∈F.

      END DEFINITION.

      (This definition presupposes that one knows what a set is under a standard framework.)

      Since this notation is cumbersome, it is common to write A(a,b) as a+b and M(a,b) as a·b or ab. Likewise, z if often written 0 and and o is often written 1 (or e). Similarly, na is often written -a and ra is often written 1/a, but do take care to recall that "-a" and "1/a" are just symbols. One typically compresses notation even further, and writes "a + -b" as "a - b" (not to be confused for the juxtaposition of a and -b).

      Do you feel better about this definition than Wikipedia's informal one? I invite you to scribble out a verification that for example the reals form a field under this definition (with ordinary addition as A, ordinary multiplication as M, ordinary 0 as z, ordinary 1 as o).

      > Because if the field had a limited number of elements and you added the last two (highest) elements together, the property which requires that the result also be present in the same set could not be met because the result would be greater than the highest element in that set...

      You're reading too much into "behave like the corresponding operations on real numbers do". One does not demand that addition preserves order. Notice how there is no reference to ordering or elements being "larger" or "smaller" in the definition above. It is for example the case that in the field of two elements, 1+1=0. That's fine.

      > The problem is that if you start with a highly abstracted math concept and you dig through all the links and definitions of sub-concepts, they all have huge gaps like this

      Not at all. You are trying to do rigorous mathematics using informal statements (not to detract from the informal statement; someone who has seen the formal definition of a lot of mathematical structure can almost surely reconstruct the correct formal definition of a field in a second from the informal one).

      > I think math definitions should be more elaborate and repetitive if necessary.

      So mathematicians should make communication between ourselves more cumbersome in order to please outsiders? I'm sorry, I don't mean to sound like a gatekeeper, but this is ridiculous.

      > They should not try to sound terse and clever. They should not assume that the reader can fill in the gaps.

      Do you demand this of musicians and engineers and chefs and mechanics and pilots and doctors and nurses too?

      > The most rational readers will not be able to fill in the gaps because rational people know the dangers of making assumptions.

      The most rational readers who have studied mathematics will. To a point, of course. There is often a tradeoff to be made, but your blanket statement is just plain wrong.

      • cryptica 5 years ago

        The user joshuaissac gave a very good description of a 'field' as a response to my comment and it was about the same length as the definition on Wikipedia. It shows that it's possible.

        I don't see why certain knowledge should be out of reach of those who are not involved directly in that field. I could explain complex software engineering concepts to a layman. They wouldn't be able to use that knowledge to implement the software themselves, but they would be able to use the knowledge to make good high level decisions about it; for example to decide which of two solutions is better given a specific problem.

        • gspr 5 years ago

          > The user joshuaissac gave a very good description of a 'field' as a response to my comment and it was about the same length as the definition on Wikipedia. It shows that it's possible.

          Sure, his definition is also a good one. It leaves out a lot, though. Which is fine, if one can assume the reader knows the context. My definition, too, leaves out a lot (it assumes set theory), and rests on the informal language known as English.

          > I don't see why certain knowledge should be out of reach of those who are not involved directly in that field.

          It isn't. The content of mathematics research papers may well be out of reach, but that's quite natural, don't you think? I, as a mathematician, do not expect to be able to read research papers on chemistry without putting in a lot of work.

          > I could explain complex software engineering concepts to a layman.

          OK. It does not follow from that that everything can be explained to a layman. Some things are easier to explain with layman analogies and mental images than others. However, to keep this fair, I think you should see how many laymen can follow Wikipedia articles on complex software engineering topics with ease! That is, afterall, where we started this discussion.

  • cheez 5 years ago

    Looks like we read the same books.

  • throwaway_pdp09 5 years ago

    > but rather looks like a crazy mess of characters and other marks in a multitude of fonts

    You're projecting (in the psychological rather than set-theoretic way).

dopu 5 years ago

Is it just me, or does probability theory in general have fairly terrible notation? Ambiguity between random variables and their distributions because of them simply being distinguished by being upper-case or lower-case, writing likelihood functions alternatively with an L() or p(), and using p() (with different arguments) to refer to different probability distributions. Perhaps I'm just having such a difficult time grokking probability theory because it's just difficult stuff, but I often find myself immensely frustrated with the notation.

  • datastoat 5 years ago

    Probability notation used in ML and engineering has this problem, of overloading p(). Probability notation as used by probabilists in maths departments is completely different: it’s more explicit, and sometimes more clunky.

    There’s a hybrid notation that I prefer, for example “Pr_X(x)” for the density function of random variable X at point x; you drop X if the random variable is clear from the context, and you drop x if you’re referring to the entire distribution. Or Pr_X(x|Y=y) for a conditional density. But this notation still has problems when you’re working with hairier conditional distributions, or with distributions that are neither discrete nor continuous.

    (Source: used to be a mathematical probabilistic, now working in ML.)

    • quietbritishjim 5 years ago

      I used to hate the way Bayesian ML people used p(...), until I realised that strictly speaking for a conditional variable we ought to be writing: p_X|Y=y(x). The variable is X|Y=y so all that ought to be in the subscript.

      It's definitely worthwhile everyone using the full notation at least once so they can get a feel for what's really going on. I've spoken to Bayesian ML professionals who are especially unconfortable with that because it conditions on a zero-probability event (if Y is continuous)... of course p(x|y) does too, they just weren't thinking about it before! And (as I think you're getting at) the appreviated p(x|y) simply throws away information e.g. there's no way to represent the identity p_Y(x)=p_X(x) without adding back some sort of subscript.

      But on the other hand p(x|y) is obviously much visually cleaner. If you're writing out a more complex identity and the abbreviated notation isn't ambiguous then it generally communicates the idea much more clearly because there's so much less visual noise.

  • amitport 5 years ago

    It is the difficulty of the theory in my experience.

    I've had / have trouble and misconceptions many times, but when discussing with someone fluent in the notation and the field, 100% of the times things cleared up, and I couldn't think of a better notation to use.

  • steventhedev 5 years ago

    I think this is partially because it's applicable to so many different domains (cryptography, statistics, etc) that each have their own notational quirks. Avoiding collisions between notation in the application domain is more important than preserving some "consistent" probability notation (similar to the examples given with dot products). But the issue isn't even limited to notation: Chebyshev has at least 9 valid ways to spell his name (more if you include non-latin alphabets).

    The biggest issue I've encountered is borrowing lecture slides from different universities/lecturers and the notation changes between slides on the same topic (even small things like using square brackets instead of parentheses).

  • lostmyoldone 5 years ago

    I don't really know, I'm not an expert in the field. What I do know, is that I can usually get almost anything written in English in a statistics text, but when it goes mathematical notation I really struggle even with the simplest of concepts.

    Type theory is a little like that, at least from some authors that - although the are is well suited for symbols - kind of goes a little off the rails using seven different kind of arrows and all the symbols in at least three different alphabets, instead of maybe just write covariant, or even an abbreviated form adjecent to the arrow?

  • lambdatronics 5 years ago

    It's a real mess. I ran into an issue recently because I'm dealing with probability distributions in terms of several sets of general curvilinear coordinate systems. In a context like this, the usual abuse of notation in which the function is identified by which arguments go into it just doesn't work. I have a probability density in Cartesian coordinates expressed as a function of (say) elliptical coordinates -- which differs by the Jacobian from the probability density in elliptical coordinates.

  • stared 5 years ago

    IMHO you are absolutely right. I would add that also it mixes reading from left to right with from right to left (think: P(b|a) P(a)). Personally, I really dislike that it made the trend that we use:

    v_after = A_3 A_2 A_1 v

    not (what I would consider more straightforward)

    v_after = v A_1 A_2 A_3

  • sannee 5 years ago

    Glad I am not the only one finding this extremely frustrating. At least mathematicians tend to be much more explicit than engineers. Unfortunately not every topic which uses probability has a textbook written by a mathematician available.

JadeNB 5 years ago

I found this post a shame. (The post itself, not putting it here; I love seeing math posts on HN, and automatically upvote. Bringing hackers and mathematicians together is highly worthwhile for both.)

Usually Tao's posts are so insightful, and crystallise some idea so perfectly that it feels like I was just on the cusp of discovering it myself—a rare talent, and hard to cultivate since it goes against the ego. In this case, though: I'm a professional mathematician, and as prone as anyone in my discipline to use mathematical language to describe not strictly mathematical things, but the pseudo-mathematisation here ("Notation^{-1}(C)", for example) seems more like wit than clarity. Not that there's anything wrong with wit, but in this case it seems to me that it's at the expense of, rather than a pleasant addition to, the central point.

I'd like to hear especially from anyone who isn't a professional mathematician: did you feel that this post improved your understanding of the purpose and function of good notation?

(EDIT: I was scared about making this post, since there's rightfully a lot of respect and appreciation for Tao—and I hope it's clear that I concur on both counts—and I wasn't sure how my reticence on his post would go over; but I'm super glad I asked. Thanks so much to everyone downthread; these are wonderful responses and I feel that it benefited me a lot to read them.)

  • ianhorn 5 years ago

    I found the idea of (ab)using mathematical notation to talk about mathematical notation to be entertaining and got the sense that he was kinda just having fun for himself. I also got the impression that he was potentially nerd sniped. The rest of the post beside the `Notation` function was definitely a good informative read.

  • jjhawkOP 5 years ago

    I'm a programmer by trade, so my knowledge of mathematics as a whole is limited by what I happened to learn doing my undergrad in CS, so a lot of the mathematic-specific examples in this post were lost on me.

    What I found particularly insightful here is applying this mathematical notation to programming languages and their syntaxes. His notation described as ``` Notation:{well-formed expressions}→{abstract objects in 𝑋} ``` isn't too far off from what most programming languages implement at some level.

    As a result of this, what properties do programming languages share with mathematical notations, and why are some languages deemed more "expressive" than others? How much does the "expressiveness" of a certain language in a domain lead to better understanding of the abstractions beneath them?

    To answer your question; I don't think this post explicitly increased my understanding of notations (especially not in the context of mathematics), but rather led me to ponder the importance of them in communicating & extending abstract concepts effectively across domains.

  • somethingsome 5 years ago

    I find it useful as he needed it for the following sentence to make sense :

    A good notation should make this map Notation (and its inverse) as close to a (natural) isomorphism as possible.

    Having said he want an isomorphism for Notation sums up all the following points he made explicitly (and more), so we could argue that we can keep the Notation and the isomorphism part but remove all the following point 1..9+

    I think that in this way the post reach more people :) some needs only to read the first sentences, some the properties and finally some the example.

    Isn't it a nice way to understand what he is trying to say in as much different ways as possible?

  • abdullahkhalids 5 years ago

    I am a physicist. Abusing mathematical notation is sort of what pays the bills for us, so... :D Seriously, though, why should meta-mathematics, not use math like notation. The post can be rewritten without that semi-formal notation and not change much, but I don't mind it all. If it is wit, I appreciate the enjoyment.

    I am bookmarking the post as I found it valuable for next time I invent notation.

  • Kednicma 5 years ago

    Honestly, it doesn't bother me at all. I'm used to slogans like "syntax and semantics are adjoint functors" or "meaning is a functor from syntax to semantics" from category theory. In the opening definition, for example, I'm reading the LHS as a source category whose objects are abstract syntax trees and whose arrows are substitutions between said trees, and the RHS as any target category of interest. We're giving meanings to notation by sending the notation along a functor, and syntactic/formal manipulations of the notation correspond to manipulations of the objects which they "mean"/represent.

    Framed this way, the properties listed are (1) (part of) functorality, (2) surjectiveness, (3/4) smallness, (5) renormalizability (!!), (6) smoothness/continuity of some sort, and (8) the ability to have natural transformations applied. Only (7) is culturally dependent. (1) and (8) are free for all functors!

    To address your question on the head (I am not a mathematician), this post gave me some properties of good notation which I hadn't considered before. On one hand, yeah, it's kind of obvious that notation should somehow be able to surjectively reach all possible objects of interest, while still being small enough to definitely not reach everything. On the other hand, renormalization is kind of a dense topic, so it's surprising to see it arise here.

  • breck 5 years ago

    > I'd like to hear especially from anyone who isn't a professional mathematician: did you feel that this post improved your understanding of the purpose and function of good notation?

    No, but I did learn about new dialects and conceptualize mathematical notations better. I think for someone new to languages/notations the first set of detailed bullet points are useful. For more experienced practitioners I think it sums up to "use the right tool for the job".

    What I found very interesting was the latter set of bullet points where he presents a sort of Rosetta Code (http://rosettacode.org/wiki/Rosetta_Code) of math. I am familiar with thousands of computer languages but not a mathematician and not familiar with what I'm sure are hundreds (thousands/more?) of Mathematical notations, so the few examples he lists here have me intrigued.

  • zitterbewegung 5 years ago

    I think the notation is intentionally pseudo notation on purpose.

    A large part of math is knowing notation and definition. When I started studying higher levels of Mathematics a big part of me that was keeping my understanding was figuring out the notation and the definitions.

    Graph theory is so notorious for this that I can remember a joke that everyones notation for graph theory is slightly different.

  • rm445 5 years ago

    As an engineer, not a mathematician, I'm glad that good mathematicians care about good notation. The relatively-elementary maths that I learnt didn't always have good notation, the tradition seems suited to chalk and pen i.e. complex glyphs are easy, but perhaps because with hand writing the size and position of elements can be ambiguous, too much notation is overloaded and re-used. Even simple stuff like an exponent of -1 meaning inverse function, it's hardly unusual for it to be mixed up with numerical exponents.

    One bugbear is that mathematical writing leaks into engineering science. I wouldn't ask professional mathematicians to start caring about units or change their style while communicating amongst themselves, but in my view textbooks ought to define notation before they use it, and clearly define the units used in all expressions.

  • mmhsieh 5 years ago

    I thought it worked. It was his way of demonstrating one of his own requirements:

    (Preservation of quality, I) Every "natural" concept in 𝑋 X should be easily expressible using the notation.

    So, if he is going to commit to his idea of the notation-to concept-isomorphism, it would have been weirder if he did NOT introduce the notion of the inverse map.

  • carlob 5 years ago

    I'm not sure I agree about the fact that notation is a pseudo-mathematisation.

    For example in Mathematica there is a (mostly deprecated) package called Notation`[0] that does just this kind of stuff. I have to admit that it's not really used in production code anymore as MakeBoxes and MakeExpression are more fine-grained and robust.

    Thus said I have to admit that the transformation between 2-D boxes and M-expression is not as foundational as what Tao is talking about, however the whole field of designing programming languages is deep down an exercise in defining notation, the transformation mentioned above just make this a bit more explicit.

    [0] http://reference.wolfram.com/language/Notation/guide/Notatio...

    • JadeNB 5 years ago

      > I'm not sure I agree about the fact that notation is a pseudo-mathematisation.

      I definitely don't think that notation is pseudo-mathematisation; good notation is inordinately powerful in enabling good mathematics (and bad notation can make even simple mathematics hard). What I meant to describe as pseudo-mathematisation was the discussion of notation in what seemed to me in a (to me) unnecessarily formally mathematical way.

  • chrispeel 5 years ago

    > I'd like to hear especially from anyone who isn't a professional mathematician: did you feel that this post improved your understanding of the purpose and function of good notation?

    Yes

    I skipped past the long list of properties and went straight for his long list of ways to write the inner product of two vectors and his illustrations of why you want to use different notation in different cases.

    Here's a question for you, do you think Tao's primary mission is to be a "professional mathematician" or is he just enjoying the math, enjoying teaching, enjoying notation...?

    • JadeNB 5 years ago

      > Here's a question for you, do you think Tao's primary mission is to be a "professional mathematician" or is he just enjoying the math, enjoying teaching, enjoying notation...?

      I definitely think that he's earned the right to contribute to the mathematical community in whatever way he sees fit, and, especially if it benefits other people, which it clearly does, then my opinion of it shouldn't and doesn't matter a hill of beans. I just usually feel that he combines those missions—not that he has to, but that he does—and felt that he didn't here; but, again, that is, if at all, very much my problem and not at all his.

  • ramblenode 5 years ago

    I wouldn't be able to precisely break down his notation (and I'm guessing it's not intended that way?) but just following his thought process has improved my intuition by seeing some of these ideas I had toyed with before reframed in a more mature way. At the very least, a lot of interesting analogies to consider.

  • ufo 5 years ago

    I think the post would be more interesting if it came with examples of existing notations that do particularly well and particularly bad on the listed criteria.

  • xdavidliu 5 years ago

    ex-theoretical physicist here. I read Terry's post and I totally saw your point about "Notation^{-1}(C)" being more wit than clarity. Of course, I also share your respect and appreciation for Tao.

moonchild 5 years ago

Another interesting notation is iverson notation. See Notation as a Tool of Thought[1]. Here's the inner product (note that this is actually general inner product):

  c ≡ u +.× v
1. https://www.jsoftware.com/papers/tot.htm
  • dhash 5 years ago

    Iverson notation originated from APL, which was itself born out of the horror that Iverson saw when presented with "standard mathematical notation". Its use of strange, otherwise cryptic notation was influenced by two main themes: it was originally designed on a blackboard, so strange glyphs were normal, and a desire to become unmoored from "standard mathematical notation" in order to strengthen principle 1. of OP - Unambiguity. Casting off historic baggage and canonicalizing mathematical notation under the principles of OP was APL's prime goal, and it does a damn good job of it.

    I wish they taught it to math majors.

    APL's a wonderful rabbit hole to fall down, and J was my eso-lang of choice last year.

  • moonchild 5 years ago

    Note: depending on context, you might want to replace ≡ with ← or ←→.

emmanueloga_ 5 years ago

The discussion of mathematical notation reminds me of the talk by Guy Steele "It's Time for a New Old Language", discussed previously in HN [1]. That talk was focused on the Math notation that is used in computer science papers, but I feel a similar analysis could be expanded to other areas of Math.

1: https://news.ycombinator.com/item?id=15473199

Koshkin 5 years ago

Difficulties, if any, perceived or real, arising in connection with notation, are usually incomparably smaller than those presented with the subject itself. (Personally, I only wish mathematical notation were better integrated with software in general and programming languages in particular.)

  • rytill 5 years ago

    Not true at all, there are several times I've attempted to read through a textbook only to be stopped by notation because something was introduced prior to being referenced, or notation is overloaded with multiple meanings.

    I consistently have run into "perceived or real" confusing mathematical notation as an impediment to learning in a way that programming languages have never, ever caused me.

    Does no one else feel this way? I can't be alone, and like the others responding to you have said, your claim does not seem substantiated.

    • jordigh 5 years ago

      A lot of people say this, but if I were to sit next to you and tell you what the notation means whenever you asked, would you instantly understand the concept? I don't think so. You still need to do work on your own with the concept before you can get to any understanding.

      Say, you come across this symbol: ζ(s)

      And you asked me, what does it mean?

      Oh, that's probably the Riemann zeta function (it could be other things, but that's probably its most famous meaning).

      Would you be like, ah, now I understand it all!

      I sincerely doubt just knowing the English words for the symbols (and all mathematical notation is just shorthand for English, or whatever other natural language; it can all be read out loud) would get you that much further along. I could give you one of several possible equivalent definitions, but you still wouldn't really know much of anything. I could start explaining some things about primes and how they relate to the Riemann zeta function, and you'd still be in the dark. I'd have to talk about the prime number theorem and estimates and complex analysis and a whole bunch of other things before the Riemann hypothesis even started making sense. In fact, people have written entire books just trying to explain in the most accessible way possible what that one symbol is:

      https://www.wstein.org/rh/

      I believe what's going on is that a lot of people who find notation to be the first stumbling block are trying to learn mathematics in isolation, without the benefit of a mathematical community to be able to talk to. You pick up a book, see a bunch of weird symbols, blame the notation, you put it down. But people who train for mathematics specifically rarely learn that way. Mathematics is a social activity, you talk to other people, you read the symbols out loud to each other on chalkboards or side-by-side as you scribble notes on paper or on a napkin. You talk to each other a lot, pronouncing the symbols as much as you write them down.

      The notation is a very superficial obstacle. Notation is very incidental, malleable, almost irrelevant (or as mathematicians might say, non-canonical or not natural). If notation is your biggest obstacle, there's a lot more underneath that you probably don't have enough experience with.

    • Transfinity 5 years ago

      I think I agree with you.

      I would say this trouble comes about in programming though, in the form of DSLs. Anyone who's worked with Rails knows the pain of having to go look up the non-obvious syntax for xyz specific file that you haven't touched in months.

      Maybe you could say this is a problem with large software systems in general - the problems they solve often aren't that complicated (especially if you've worked on other similar software), but learning all the names and patterns and existing features creates a high barrier to entry.

    • judofyr 5 years ago

      > Not true at all, there are several times I've attempted to read through a textbook only to be stopped by notation because something was introduced prior to being referenced, or notation is overloaded with multiple meanings.

      Are you saying that it was the notation alone which caused you to completely stop reading the book? I can't see that I share that experience. There are certainly times where I don't fully understand a proof or a lemma due to uncertainty about the notation, but that's rarely a _blocker_. I just skip it, continue reading and come back to it later.

      I agree with the GP here: The main thing which blocks _me_ on a book is the subject itself and how the author presents it. The problem is rarely the notion by itself, but the fact that the author uses concepts which I don't know about.

      EDIT: It should also be pointed out that the GP didn't say that notation was _never_ a problem, only that it's a much _smaller_ problem than "those presented with the subject itself". The big question about your experience would be if you would have been unblocked if the notation was explained in English, or if it would just uncover that it uses concepts which haven't been fully explained to you.

    • omaranto 5 years ago

      You are making the huge mistake of assuming that if you hadn't given up when facing difficulty with the notation, the rest would have been easy, that you would have no trouble understanding the concepts!

      Don't worry: you are not alone in making that huge mistake, plenty of people do. People that don't give up when confused about notation usually quickly learn that is the concepts and relations between them that require careful thought (and also, usually, that the notation was advantages they didn't realize when at first blush they found it confusing).

      • MaxBarraclough 5 years ago

        You are in no position to assume rytill 'gives up when confused about notation'.

        • omaranto 5 years ago

          I thought that was what he or she meant by "there are several times I've attempted to read through a textbook only to be stopped by notation". I wouldn't have said what I said otherwise.

    • tsimionescu 5 years ago

      There are some cases where this is true (the most infamous being Roman numerals, where the notation makes even simple arithmetic difficult - XI * VI = LXVI???), but in general notation is just something you learn once and mostly remember, as long as you understand the concepts.

      However, I fully agree that reading a text that uses notation you are not familiar with without introducing it is almost futile. Even the simple fact of not knowing the names of the operators, which makes it impossible to read the formulas cursively in you mind (for example, when you encounter 'a + b' you can read it in your mind as 'a plus b', but for something like 'a <<=> b', even if given `a <<=> b = 2*a+b`, reading the text becomes a mental chore).

      • OscarCunningham 5 years ago

        Incidentally, the example of roman numeral multiplication you chose is actually fairly easy. Just break it up as (XI×V) + (XI×I). Then since X×V=L and I×V=V (Romans would have these memorised just like we memorise multiplication tables for all the decimal digits) so the first multiplication is LV and the second is XI, which add to give LXVI by simply interleaving the letters.

        • madcaptenor 5 years ago

          That example works well because you don't have to do V * V. You can do XVI * VI = (X + V + I) * (V + I) = (XV) + (XI) + (VV) + (VI) + (IV) + (II) = L + X + XXV + V + V + I = LXXXVVVI = LXXXXVI, which "simplifies" to XCVI, but it's already a good bit messier.

    • lambdatronics 5 years ago

      Now imagine being able to 'recompile' a mathematical text as an AST for the derivation, so that you could dive down and see where all the terms and definitions were coming from, instead of having to try to search a PDF for some symbol you can't ctrl-F for.

    • madcaptenor 5 years ago

      I have seen math books that have "tables of notation", with a list of all the notations and where they're defined in the text. That helps. (Also, I suspect that the sort of author who would include such a thing is one that's thinking more carefully about notation.)

    • MaxBarraclough 5 years ago

      > I consistently have run into "perceived or real" confusing mathematical notation as an impediment to learning in a way that programming languages have never, ever caused me.

      The C pointer syntax can be confusing even to experienced C programmers.

  • h-jones 5 years ago

    I think differential geometry may present the closest exception to this, not only is the notation often incredibly dense and subtle (i.e. spacing between indices when raising and lowering) but often everyone seems to have their personal favorite take on any given notation.

  • kdmccormick 5 years ago

    That's a strong assertion. You're implying that difficulties with the subject itself rarely have anything to do with difficulty communicating through some notation.

    I'm not disagreeing, but I'm curious how you would back up that assertion.

    • Koshkin 5 years ago

      It’s an experimental fact. (I guess you have to trust me on this one.)

  • dilap 5 years ago

    > with the subject itself

    that's the thing though, you can never grapple with the subject itself, only representations thereof. this is a mix of feelings/images/movements inside your head & mechanical manipulations of the notation; furthermore, the notation itself influences our internal model/feeling of the subject.

    • Koshkin 5 years ago

      I am not saying that with enough dedication one couldn’t screw up the notation completely.

  • gitgud 5 years ago

    Mathematical notation finds elegance in brevity. That's why there's such an enormous alphabet of symbols representing important concepts.

    If programming languages strive for the same elegance via notation, you end up with something like Perl.

riazrizvi 5 years ago

Unambiguity as an adjective is slippery. Mathematical notation must be concise, because a key purpose is to provide understanding, which it achieves by focused abstraction. So when you search for notation to model some real world system, you leave things out, as such it leaves room for interpretation when remapping back to the real world, ie there is ambiguity. I think this #1 item should really be termed Consistency, because above all, notation must not contradict itself.

  • JadeNB 5 years ago

    > I think this #1 item should really be termed Consistency, because above all, notation must not contradict itself.

    This is a good goal, but I'm not sure it's the primary goal; the phrase 'abuse of notation' exists precisely to describe its breakage, with even the best mathematicians and expositors engaging in it, and I think insisting on no abuse of notation leads us rapidly to the style of impenetrable Principia-style logic, or of modern formal proofs—both of which have their place (at least the latter …), but neither of which should govern all mathematical discourse.

    As with all writing, I think that part of being a good mathematical writer is knowing the rules so that you can figure out when to break them unintentionally, rather than stumbling into it accidentally.

    • riazrizvi 5 years ago

      Great point. It is bad to nitpick consistency when you are in the initial stages of developing a model outline, and looking to capture the most important points. What's the right term for this notational quality? Precedence?

Darkstryder 5 years ago

Steal this idea: a Shazam of mathematical notation. In an app you would draw (or take a picture) of a mathematical symbol you don’t recognize and get a link to the appropriate Wikipedia page.

My biggest pet peeve with mathematical symbols is the difficulty of looking them up when you don’t know them already. If I’m reading a text on a topic I'm unfamiliar with, I can at least google the keywords I don't know. This is difficult with symbols.

btrettel 5 years ago

Terry Tao mentions that notation can help with error detection. Anyone here aware of some good examples?

One that I like is that in Einstein notation you can't have 3 of the same index, e.g., u_i u_i u_i is invalid.

  • lmkg 5 years ago

    From the example notations that he gives, all three Einstein notations as well as the Penrose notation make the indices explicit in a way where a mismatch or misalignment will stand out.

    Another good example is the Liebnitz notation for derivatives. Proper application of the chain rule visually resembles how fractions cancel: dy/dz dz/dx = dy/dx. It's very easy for the eye to follow and make sure that the cancellation is valid. Newton's notation doesn't make that as easy.

  • Smaug123 5 years ago

    Longhand matrix notation itself is quite good at this. It all but guarantees that you've specified the right number of components in the matrix, and it plays to human strengths in making it easy to check that a matrix is e.g. diagonal or upper-triangular.

    I'm going to claim that string diagrams have reasonably good error-detection properties, too, again because they lay facts out in space in a way that humans are quite well optimised for.

wavegeek 5 years ago

I like his point about lack of ambiguity. Nothing makes me want to punch an author in the head (without, to be clear, any possibility I would actually do it) like lazily creating an ambiguous notation, which is supposed to be "clear from context", but rarely is. As for example the Einstein summation convention which is to be ignored "when clear from context".

I would add

1. Clearly telegraphing notations. Not hiding them in the middle of long paragraphs or even, and yes I have seen this a few times, defining essential notation in an optional exercise.

2. Having a glossary of notations, so people don't have to remember every single notation and to read every word of the book sequentially.

3. Not creating low value notations that may be used only once and then, possibly forgotten. I have read books with > 1 new notation or definition per page, mostly forgotten thereafter but some random subset needed later, and you are not to know which.

vii 5 years ago

Enumerating what we want from notation helps us understand how far we are from the ideal. The whimsical introduction of Notation to talk about notation makes it practical. Given a domain in mathematics, adding notation (e.g. modulo arithmetic) can make complex notions pretty to express and quick to prove. I used to really enjoy this and tried to redefine notation for each exposition. It's shorter and prettier, but just pushes complexity into the notation :) and teaching people new notations is expensive, actually unless repeatedly used, more expensive than laying out details in a less concise notation.

Programming languages are notations within this framework - and domain specific languages, while much more efficient are unpopular as the costs of changing notation, in terms of training people, are too high.

The cost of communicating the notation is captured in a few of the desiderata (e.g. 1,7) but practically it is most important. If we want to be easily understood we should speak a common language!

  • dragonwriter 5 years ago

    > domain specific languages, while much more efficient are unpopular

    JSX seems pretty popular, and when XML was popular similar XML embeddings were, as well. Templating languages are popular. Heck, the relative popularity of “general purpose” programming languages is not consistent across domains, with domain fit being a factor even for general purpose languages.

    • Transfinity 5 years ago

      I would say that JSX is popular precisely because the cost of teaching it is low, which in turn is because of its similarity to other commonly used notation (HTML / XML).

      Of course it's got its fair share of dumb gotchas, but I found it far easier to learn than, say, any of the myriad Rails DSLs.

    • lmm 5 years ago

      > JSX seems pretty popular, and when XML was popular similar XML embeddings were, as well. Templating languages are popular.

      I don't think any of these things are popular; in my experience people using them mostly hate them, or at best grudgingly accept that they're the least-bad option.

jjhawkOP 5 years ago

discussion on reddit: https://www.reddit.com/r/math/comments/hv6m2n/terry_tao_on_s...

enriquto 5 years ago

It would be nice to have an equivalent post, but with programming languages. The fact that different programs perform an identical computation is important. For example, in Python/numpy you can write

    c = 0
    for i in range(u.size):
        c = c + u[i] * v[i]
or

    c = u.T @ v
and even if the result is identical, the computation is not, the first one being orders of magnitude slower. There is no good reason for it to be so, unfortunately.
  • lordgrenville 5 years ago

    I was with you until your last line, which I categorically disagree with. These two alternatives perfectly map to two different ways of thinking about the vector c:

    - As a regular array (for someone with Python experience but no knowledge of linear algebra). In this case you can just loop over it as with any iterable.

    - As a vector, with the associated mathematical properties. In this case you can operate on the entire vector, which is much faster; this happens to be because of implementation details (using C structures instead of Python lists, parallelisation, whatever), but is also just highly intuitive.

    I'd argue that this is exactly what Tao is saying, about how different notations suit different contexts, and that allowing both methods in no way violates the Zen of Python (in reference to jimhefferon's comment).

    • enriquto 5 years ago

      My problem is a practical one, not philosophical. I would expect that the computer operations in both cases are identical and thus the performance exactly the same. It is 2020 and optimizing compilers exist, and even JITs. The first code is just a notation for the second one. The fact that the first code is extremely slow (thing about iterating over all the pixels of a video sequence) is utterly disheartening. Of course, in that particular case you can say "just use the vectorized version", but in practice not all the computations that you need to do can be expressed in that form. If you try to iterate, in python, over all the pexels of a realtime video using integer indices you are in for a world of pain; it is just not possible and this is a major limitation of the expressivity of the language.

      • lordgrenville 5 years ago

        It isn't just notation, though. It's a different way of operating. For example, the following adaptation of your code:

            c = 0
            for i in range(u.size):
                if u[i] < u[i + 1]:
                    c = c + u[i] * v[i]
                else:
                    c = 0
        
        cannot be vectorised (ignoring the off-by-one error for simplicity's sake).

        Saying that the Python interpreter should reinterpret the iterative code as if it were vectorised isn't increasing the expressivity, it's reducing it, by overriding the user's intentions.

        • enriquto 5 years ago

          My point exactly! If I need to implement your algorithm in Python, why am I condemned to be hopelessly slow? Or worse, condemned to find a "trick" that vectorizes this code while it becomes unreadable?

  • jimhefferon 5 years ago

    When Python first came out, one of its most appealing characteristics was that, in very strong contrast to Perl's There's-More-Than-One-Way, in Python there was a canonical way. That's no longer true, and it makes the language less valuable.

eternalban 5 years ago

"Preservation of quality, II" and "Suggestiveness, I" are likely co-manifests.

I suggest that should one strive to 'fine tune' notation N to possess the above two qualities for a family of objects in X, other categories of objects in X will become opaque and difficult to express, i.e. a domain specific notation.

peignoir 5 years ago

Anyone would be interested to help on building a google translate for math?

peter303 5 years ago

Tao a rare person with 200 IQ

  • fuzzfactor 5 years ago

    Almost ten years ago I was working on an interesting Linux multiboot system, googling to find far-from-default grub operation hints.

    I think it can be agreed the present grub documentation is very broad, with only a few undocumented features, but still not very deep even on the default operation. Grub was also undergoing more rapid change at the time.

    Came across a message where Tao had explained a concept like no other, and after what I had seen it was clear to me he understood it like no other, so it was purely logical. He knew more than the documentation. I didn't know he was a widely recognized mathematician or anything, I just thought he was a very bright computer scientist on a message board.

    There were only a couple sentences that nearly applied to my system, within a couple paragraphs on his solution to a different problem.

    There was no useful answer for me yet so I moved on.

    Googled to exhaustion that session with no code changes to make, but I looked at it again and it was the only tab I kept open, even though Tao did not show the direct way forward for me at all, everything else was actually useless.

    Next day I read it again, scrutinizing it over & over for an action I could follow through with, wishing someone had posted equally straightforward advice for my particular situation.

    No such luck, but it inspired me to go forward in a similar fashion.

    Mostly use both grub and syslinux as separate alternatives to boot my distributions ever since.

    For years I've felt like I couldn't have done it otherwise.

    And with Windows, grub or not, I ended up bringing more reliability to my employer.

    Fairly recently I found out Tao had started out as a mathematical child.

    That was incredibly helpful.

    He actually communicated the unique abstract concept I needed without even knowing the problem and without intentionally trying.

    I imagine he made up his own notations quite a bit before he carefully adopted the various professional terminologies.

foobar_ 5 years ago

No one uses mathematical notation for practical purposes. This is just like the medival music notation which is neither practical nor what modern composers use, which is more visual in nature. Infact modernism is a rejection of medievalism.

I think in the future programming will force all mathematicians to code or give out simulations. Most mathematical notation was intended to be throwaway by the original authors, thats why there are so many notations. Trying to find relevance in them is a pointless exercise. Much like 80x20, tabs vs spaces ... most of the original intent is lost and what survives is guff meant for ceremonious purposes.

  • wheresmycraisin 5 years ago

    Programming != proofs, or in general communicating abstract mathematical ideas. Writing mathematics is nothing like writing software.

    • yw3410 5 years ago

      I don't think this is true (or at least not true for all programs); there's a whole discipline of software which shows how close writing software is to formal logic/inductive proofs in Agda Coq, etc.

    • foobar_ 5 years ago

      What I am trying to convey is writing software is better than writing maths, just like medieval music notation vs modern notation. Programming is better than proving because most proofs are mere tautologies or artificial constraints. This is why theorem provers in code rely on term rewriting.

      A triangle has a sum of 180 ? Well how about if you push the triangle inside out. In code you can easily run a more complex simulation which gives you all possible values of the sum ... which is why ascertaining useful facts like 180 ad-nausea is boring at best. In fact most mathematics if it can't be simulated can't exist.

      • wheresmycraisin 5 years ago

        Ok, then convince me. Write 'software' of, say, the proof of the the dominated convergence theorem or something else reasonably advanced and let's compare it to the proof in conventional math notation.

        • foobar_ 5 years ago

          I'm guessing there was a physical intuition behind the theorem, if you can simulate it you will probably do something better than the proof. Now it's your turn to tell me why 1 + 1 = 2.

          • augustt 5 years ago

            Honestly what are you talking about. You can simulate for 100 years without finding a counterexample, but that doesn't make a proof. The whole point of math is to understand why things are true, not to just be satisfied that it seems true.

            • foobar_ 5 years ago

              The way I see it ... Most mathematicians nowadays use mathematica or matlab or even python, proving my point. The notation is medieval ... and probably the only reason it survives is because of form factors of paper.

              > Mathematics is a part of physics. Physics is an experimental science, a part of natural science. Mathematics is the part of physics where experiments are cheap.

              https://www.uni-muenster.de/Physik.TP/~munsteg/arnold.html

              I see simulating as a part of the experiment. If the proof is wrong it wouldn't last a seconds worth of simulation. I suppose a proof in essence is a pattern or an invariant of the system ... but most proofs have really no meat to them. The notation is merely intimidating like obfuscated code.

              • gspr 5 years ago

                > The way I see it ... Most mathematicians nowadays use mathematica or matlab or even python, proving my point.

                Yes. But most of us don't use those to prove anything; rather, a lot of us use it to implement computations based on those proofs (and do some exploratory "could this possibly be tru?" kind of work). Useful tools, for sure, but not something that remotely proofs your point. Most mathematicians also eat bread. That does not mean that math is a baked good.

                > The notation is medieval ...

                It is not. Read Gauß or Euler from the 18th and 19th century, and the notation is nothing like modern mathematical notation. I can't even imagine what medieval mathematics notation looks like!

                > https://www.uni-muenster.de/Physik.TP/~munsteg/arnold.html

                That is indeed the opinion of Arnold, a giant of mathematics. An opinion that, I daresay, does not reflect the majority opinion on mathematics.

                > I see simulating as a part of the experiment.

                Sure. Simulating is a valuable experimental tool to many mathematicians (where available; of course it isn't always).

                > If the proof is wrong it wouldn't last a seconds worth of simulation.

                At face value this statement betrays how little you know about this matter. There can very well be errors in proofs that cannot be uncovered without thousands of years of simulation, if at all.

                Now, even interpreting your statement in the best possible light, namely something along the light of "simulation can often uncover mistakes in proofs", I would say: fine, but what about the converse?

                > but most proofs have really no meat to them. The notation is merely intimidating like obfuscated code.

                Are you insane? Take something that is patently "useful" and patently "real world", like the fundamental theorem of calculus. Meatless?

                • foobar_ 5 years ago

                  I'm not insane ... you are just the type of person who will defend roman numerals. Maybe you just have OCD.

                  1. Socrates is mortal

                  2. Mortals die

                  3. Socrates dies

                  Deduction is really like amazing. Holy shit we really proved something spectacular here. I guess you would be really impressed if I used tau and sigma and defined death with vietnamese alphabet.

                  Almost the entirety of calculus was derived from problems related to physics. Volumes were calculated for doing engineering. Mathematics != Thinking. The last time I checked both logic and critical thinking were branches of philosophy.

                  All good mathematicians are physicists or engineers. Heck some even learnt maths on their own. All mediocre mathematicians write textbooks and hide behind notations. Come to think of it they remind me of OO programmers in their utter arrogant mediocrity. Most abstract mathematics is like the definition of protocols/interfaces and other platonic garbage. I suppose this debate will never end. Plato vs Aristotle, Deduction vs Induction, Analytic vs Synthetic ....

                  • an_android 5 years ago

                    Don't use phrases as "Maybe you just have OCD". This is offensive and trivializes the problems those with OCD face. OCD is a serious disorder and your use of that phrase illustrates your lack of mental maturity.

                    Further, that phrase is bigoted. What you are implying is that someone with OCD is "lesser" or "other" as you are using the phrase to discount the person you are talking with. Hence it is bigoted.

                    In fact, it is obvious that you have no idea what you are talking about. Mathematics is not "just notation" in the same way software engineering is not "just programming language syntax", music is not just "notes on a piece of paper", and literature is not just "grammar rules".

                    If you cannot see that, I suggest you read more and expand your view of the world. Don't hurl insults at others.

                    If you want a more concrete example, show that the sum:

                    1 + (1/2)^2 + (1/3)^2 + (1/4)^2 + ... = pi^2/6

                    That is, first define what it means to take a sum of an infinite number of terms, prove that your definition is consistent with a sum of a finite number of terms, and then show that the sum is exactly pi^2/6. Showing that they agree to 100 billion decimal places is not enough. You need to show they are exact.

                    When you are done with that, find an exact closed form for the sum:

                    1 + (1/2)^3 + (1/3)^3 + (1/4)^3 + ...

                    • gspr 5 years ago

                      > If you want a more concrete example, show that the sum […]

                      He won't. I keep running into people like this all the time. They are hellbent on the idea that anything they don't understand must be meaningless, useless, or the fault of others. If you get a reply at all, I suspect it will be something like "pi is just a meaningless approximation to a real physical concept" or "infinite series don't actually exist in real life, I'll sum the first 1000000 terms on a computer and that's all that exists".

                      • foobar_ 5 years ago

                        Mathematicians who think infinity is real should be treated with the same disdain as Neptune worshiping astrologers.

                        The internet makes it easy for pedantic losers to have a loud opinion. Hell I have even run in to pedantic losers who have the time to create multiple new and fake accounts and use old sock puppets to create the illusion of an audience because these friendless, loveless losers literally have no one to talk to IRL.

                        > I keep running into people like this all the time.

                        Psychological attacks, amazing! I'm guessing you are one of those deeply insecure symbol twiddlers. Let me guess, as kid you were crap at everything, especially sports except symbol twiddling so you latched onto those praises your teacher gave you and as an adult that is the only source of your self-esteem. And you can't handle it when someone on the internet thinks abstract mathematicians are full of shit.

                        • gspr 5 years ago

                          > Mathematicians who think infinity is real should be treated with the same disdain as Neptune worshiping astrologers.

                          Mathematicians will not say anything like "infinity is real" or "infinity is not real". We are careful creatures, and will ask what you mean by "infinity". In this subthread we've been discussing infinite series. What part of the definition of those do you have a problem with? (Prediction: you'll never answer this, but instead go on ranting with no ability to focus on the topic at hand. I can definitely see why math is hard for you, you have a severe problem with focus).

                          > The internet makes it easy for pedantic losers to have a loud opinion.

                          I can see that.

                          > Hell I have even run in to pedantic losers who have the time to create multiple new and fake accounts and use old sock puppets to create the illusion of an audience because these friendless, loveless losers literally have no one to talk to IRL.

                          That's pretty sad. It's also very sad that this is the conclusion you jump to when someone speaks out against your insane ravings in an entirely logical and coherent way.

                          > Psychological attacks, amazing!

                          It's a bit entertaining that you can go from what you wrote above (and what you write below) straight into accusing me of this.

                          > I'm guessing you are one of those deeply insecure symbol twiddlers.

                          I am indeed quite insecure. I'm working on managing that. If you by "symbol twiddler" mean mathematician, then yes – and quite proud of it too. You'll do well to get back on track to the topic at hand though, seeing as you're currently coming off a bit like the people one sometimes see yelling incoherent nonsense on subway trains.

                          > Let me guess, as kid you were crap at everything, especially sports except symbol twiddling so you latched onto those praises your teacher gave you and as an adult that is the only source of your self-esteem.

                          Not at all. While I was quite mediocre at sports (though far from crap), I did really well in most things. I was not a favorite of the teachers, because I had (and probably still have) a bit of problem with authority. Are you done derailing the discussion now? I'll remind you: we're discussing the usefulness of mathematics, not my childhood or athletic abilities.

                          > And you can't handle it when someone on the internet thinks abstract mathematicians are full of shit.

                          I can handle it just fine, primarily because what raving lunatics believe has no influence on the extreme actual power and usefulness of mathematics. The reason I care to have the discussion is to set the record straight for third parties' sake.

                  • gspr 5 years ago

                    > you are just the type of person who will defend roman numerals.

                    In the face of what? No system for writing numbers? Sure. Arabic numerals? No way, they're far superior to Roman ones.

                    > Almost the entirety of calculus was derived from problems related to physics.

                    No it is not. It is/was largely motivated by problems in physics. One may obtain a lot of intuition about calculus from physical intuition, but one does not obtain calculus from it.

                    > Volumes were calculated for doing engineering.

                    Yes. And?

                    > Mathematics != Thinking.

                    I don't see anyone in this thread claiming that.

                    > The last time I checked both logic and critical thinking were branches of philosophy.

                    I thought we were talking about math?

                    > All good mathematicians are physicists or engineers.

                    This is patently not true. Tell me how many Abel prize winners of Fields medalists are physicists or engineers. There are indeed some, but they are a minority – your claim is absurd.

                    > Heck some even learnt maths on their own.

                    Absolutely. Can you elaborate on how this is relevant?

                    > All mediocre mathematicians write textbooks and hide behind notations.

                    What are you on about? As a mediocre mathematician myself, I must admit I have never written a textbook.

                    > Most abstract mathematics is like the definition of protocols/interfaces and other platonic garbage.

                    You have made it abundantly clear that you haven't that slightest grasp of abstract mathematics. Would you at least humor me as to provide a few examples?

              • parralelex 5 years ago

                "Mathematics is a part of physics."

                It's kind of amazing how quickly that article got so wrong. Math isn't a subset of physics. Physics is the estranged brother of Math, always needing to borrow some money from him or else the power goes out or he can't afford food or some other sob story.

          • jjgreen 5 years ago

            See Principia Mathematica, A. N. Whitehead and B. Russell, Proposition 110.643

          • gspr 5 years ago

            > Now it's your turn to tell me why 1 + 1 = 2.

            By construction.

  • parralelex 5 years ago

    If you ever found yourself lost in Plato's cave, you'd be super confused as to what those black splotches on the cave wall are.

zitterbewegung 5 years ago

This looks like a similar approach to TLA+ but, it looks more similar to a markup language that is domain specific.

I think that he has a good idea for the most part and if you did formalize this notation there is a good chance that someone in the computer science domain would eventually program something that could interpret it. Lisp comes to mind.

pubby 5 years ago

Imagine I give you a list of words and ask you to remember them. 5 minutes later, I ask you to give me those words in reverse order. Not too hard, right?

Now imagine if those words I gave you were in Vietnamese, or some language you don't speak. Suddenly the task becomes much more confusing. You aren't remembering a small handful of objects and ideas, but instead trying to juggle the individual syllables in your head.

Math notation sucks because none of it maps to things non-mathematicians know. Every time a new symbol is introduced, whether it be a greek letter or a operator, it's one more mapping your brain has to create to remember it. And on top of this, you also have to remember the English names too. Yes I said names - most math concepts have so many different names it's crazy. Even basic arithmetic can't escape this. There are two names for multiplication (multiply, product) and four common notations for representing it (*, x, ·, and whatever you call it when two variables are next to each other).

  • chongli 5 years ago

    Now imagine if those words I gave you were in Vietnamese, or some language you don't speak.

    Math notation sucks because none of it maps to things non-mathematicians know.

    I'm struggling to see how someone could conclude the latter statement from the former. Why is it reasonable for Vietnamese to be unintelligible to non-Vietnamese speakers, yet unreasonable for mathematics to be unintelligible to non-mathematicians?

    • Koshkin 5 years ago

      I would argue that in fact most of mathematical notation happens to be intelligible to non-mathematicians (engineers, scientists, etc.)

      • chongli 5 years ago

        I would disagree. Engineers, scientists, etc. have their own notation conventions as well. They may be aware of mathematical notation but only in specific areas of math related to their field (i.e. calculus and linear algebra for Newtonian physics). I would not expect a mechanical engineer to understand the notation used by graph theorists or algebraic geometers.

        • diffeomorphism 5 years ago

          Neither would I expect this of mathematicians. If you never use graph theory there is no reason to know all the quirks of the domain-specific notation. This would be like expecting any programmer to be familiar with all programming languages.

  • jstanley 5 years ago

    > Math notation sucks because none of it maps to things non-mathematicians know.

    This doesn't mean maths notation sucks any more than vim's user interface sucks because it doesn't make sense to non-vim-users.

    Mathematical notation presumably mostly makes perfect sense to the kind of people who deal with mathematical notation all day long.

    • pubby 5 years ago

      The question is if we should optimize for pencil efficiency or education. To me, it's obvious: I've met way more people interesting in learning math than performing it, so we try to make notation as clear and possible.

      Vim, like math notation, is optimized for efficiency. That's great for power users, but it's not what you would use if you wanted to teach someone how to word process.

      (BTW, try imaging Vim where each file mandates its own special keybindings. That's math notation for ya.)

      • chongli 5 years ago

        Vim, like math notation, is optimized for efficiency. That's great for power users, but it's not what you would use if you wanted to teach someone how to word process.

        Vim is a text editor, not a word processor. Additionally, Vim is a tool designed for power users. Mathematical notation is also meant for power users. When we teach mathematics, we introduce the notation gradually, so students have time to pick it up. This is a process which takes decades from Kindergarten through PhD. Just as a Vim user would scoff at being forced to write in Notepad, a mathematics PhD would scoff at being forced to express their ideas in Kindergarten-level mathematical notation.

        try imaging Vim where each file mandates its own special keybindings. That's math notation for ya.

        That's how Emacs works, and how Vim works when you install filetype-specific plugins.

        • nl 5 years ago

          I'm a power user (been programming for 30 years) and I refuse to use vim keybindings.

          I have too many things to remember, and there are plenty of options that give me equal power but don't demand that investment from me.

          Math isn't like that - I do more math than the average person and I hate having to decipher the annotation. The number of times I've tried to work out if this sigma is the same as the sigma in this other paper frustrates me enormously.

          Or the paper that used a accuracy^bar metric as their primary reporting metric, and we couldn't get near it until we found an obscure footnote in an appendix that explained the ^bar metrics were temporally averaged at test time around a known labelled standard (ie, test data was used to optimise the performance).

          • chongli 5 years ago

            Mathematics is more general and applicable than Vim, I'll give you that. I wasn't the one who brought in the Vim analogy, however.

            It seems like your complaints are with academic papers, not with mathematical notation specifically. This is a problem that is universal to academic papers. Try reading a critical theory paper, for example, and you'll find it's extremely dense with critical theory jargon the authors don't bother explaining at all.

            The problem with academic papers is that they aren't intended for a general audience. The authors of papers are often operating in subfields that are so small that they've actually met most of the other people who will be reading their papers. In that situation, conventions and jargon arise naturally among colleagues. Variable names form a part of these conventions such that, in a more common example, sigma will mean standard deviation among statisticians but mean singular value among linear algebraists.

            The other problem with academic papers is that the authors generally don't care about reproducibility, consistency, clarity, pedagogy, or even intelligibility. They're optimizing for quantity of papers published, not quality. As long as their expert peer reviewers understand and give the green light for publication, that's good enough.

            • nl 5 years ago

              To be honest I think my (and most people on this thread) real complaint isn't with notation per-say (as in Euclidean vs Hilbert notation etc, as discussed by Tao).

              It's really about the lazy habits of many who work at the intersection of math and computer science, and use maths to express themselves without defining things.

              > The other problem with academic papers is that the authors generally don't care about reproducibility, consistency, clarity, pedagogy, or even intelligibility. They're optimizing for quantity of papers published, not quality. As long as their expert peer reviewers understand and give the green light for publication, that's good enough.

              Having worked around this field, I think this (common) perception of publishing doesn't quite capture what is happening. Peer review isn't anything like code review, and software engineers (separate from computer scientists and mathematicians) think that it is.

              • Smaug123 5 years ago

                (Irrelevant nit: the phrase is "per se", meaning "by virtue of itself" in Latin.)

                • nl 5 years ago

                  Yes you are entirely right, and it's outside my edit window to fix.

      • joppy 5 years ago

        You say "I've met way more people interesting in learning math than performing it", but I have found it downright impossible to learn mathematics without performing it. And I daresay this is true of most people -- a well-known feeling amongst mathematics graduate students is to read a chapter of a text, think we have understood it, then turn to the very first exercise and get completely stumped and have to backtrack.

        A lot of mathematics is optimised for pencil efficiency for a reason, and it's not at odds with learning mathematics.

      • diffeomorphism 5 years ago

        > I've met way more people interesting in learning math than performing it, so we try to make notation as clear and possible.

        That is like trying to learn an instrument by looking at it but never touching it. Notation like other tools is made to useful. Also if you never played an instrument you would think they are each their own little completely different world. That's totally wrong for ya.

    • nl 5 years ago

      > This doesn't mean maths notation sucks any more than vim's user interface sucks because it doesn't make sense to non-vim-users.

      I think this nails it perfectly. There are plenty of good programmers who refuse to use vim. In math those people can't operate.

    • zamfi 5 years ago

      > Mathematical notation presumably mostly makes perfect sense to the kind of people who deal with mathematical notation all day long.

      Maybe the overuse of opaque names leads to self-selection of who becomes a mathematician?

      Single-letter non-descriptive variable and functions names would “make sense” to programmers who use it all day long too — but that alone doesn’t make it a good idea.

      • ianhorn 5 years ago

        If your job consisted of calculating with sequences of changes of programs, with no copy paste available, you'd probably feel differently. For example, a fairly roundabout derivation of a change of base for logarithms (pretending we forget log(a^x) = x log(a) for arbitrary base):

        We're trying to derive that a^x = b^(x * log_b(a)).

        Or in verbose descriptive terms, oldBase `exponentiate` oldExponent = newBase `exponentiate` ( oldExponent `multiply` inverseExponentiationInNewBase (oldBase) ).

        We could maybe argue about the verbosity and clarity of each statement, but I think math's notation shines when you compare derivations instead of statements:

              a^x
            = b^( log_b(a^x)       )
            = b^(    ln(a^x)/ln(b) )
            = b^(  x * ln(a)/ln(b) )
            = b^(  x * log_b(a)    )
        
        or with descriptive names (apologies to readers on mobile):

              oldBase `exponentiate` oldExponent
            = newBase `exponentiate` ( inverseExponentiationInNewBase(oldBase `exponentiate` oldExponent)                                                )
            = newBase `exponentiate` (   inverseNaturalExponentiation(oldBase `exponentiate` oldExponent) `divide` inverseNaturalExponentiation(newBase) )
            = newBase `exponentiate` ( oldExponent  `multiply`  inverseNaturalExponentiation   (oldBase)  `divide` inverseNaturalExponentiation(newBase) )
            = newBase `exponentiate` ( oldExponent  `multiply`  inverseExponentiationInNewBase (oldBase)                                                 )
        
        If I were doing it by hand, I know I'd screw it up with long stuff to copy. Remember accidentally dropping negative signs in school? Hell, I'm still not really sure I got the second version right. By hand, I'd also get super frustrated and impatient writing sooo much.

        This is a ridiculous over the top example, since I'm avoiding using everyday symbols like * and / and ^ and log, but for working mathematicians and applied mathematicians, their notation is just as familiar to them and I'm sure it'd be equally annoying to write out descriptively as it is for us to write out basic math symbols descriptively.

        Programming notations are to be written and read. Math notation is to be manipulated.

        • zamfi 5 years ago

          Every domain — every language — has its basic jargon, and algebra is no exception. I’m not suggesting that mathematicians simply replace every symbol with a word that hints at meaning; that’s too literal an interpretation of what I wrote. “exponentiate” is no more descriptive than “^”.

          But there are alternative ways of describing that derivation that are not as symbol-manipulation heavy; you would certainly not communicate this proof in words to another mathematician — or to a non-mathematician — by simply reading your derivation (or your alternate, verbose derivation) symbol by symbol. Instead you would more likely rely on the meanings of the symbols.

          Even in your verbose derivation, however, it’s worth noting that your new names capture the fact that b^x and log_b(x) are inverses, a key piece that someone unfamiliar with logarithms and their relationship to exponentiation now has a hope to understand.

          • rocqua 5 years ago

            I think most people who wanted to communicate this proof in person would say 'let's find a whiteboard, or do you have some paper'? And then proceed to write down the first version of the proof.

            Because it is better communicated in notation than in words.

      • quantdev 5 years ago

        I'm both a programmer and a mathematician. Mathematics is written in English (or another human language) plus added symbols. The symbols are what we refer to as the notation. It's not comparable to programming language. Here the words are equal to the symbols.

        Also, no better notation could help you understand most modern mathematics. There's no better choice of symbols or names that will help you understand Galois theory. You simply need to understand high-school algebra, then group theory, then Galois theory.

        • JadeNB 5 years ago

          > There's no better choice of symbols or names that will help you understand Galois theory. You simply need to understand high-school algebra, then group theory, then Galois theory.

          This probably isn't completely true—as will be clear to anyone, even a subject expert, who tries to go back and read the original papers. At least part of this is due to fads in notation—in my field, I can easily read the papers of people who do similar work to mine, and struggle with the papers of those who don't, even when they're talking about exactly the same thing—but some of it must be due to genuine improvement.

          • quantdev 5 years ago

            Yes, you're right. I should have said, there's no better choice of symbols that will remove the huge set of prerequisites you need to first understand. There isn't as large of a tower of abstractions to understand most codebases.

        • mmhsieh 5 years ago

          but put it the other way: can you contrive some extremely bad notation to make it harder to understand Galois theory?

      • canjobear 5 years ago

        Opaque names have the advantage that they don't trigger any potentially misleading associations and they emphasize the abstract nature of what is being discussed. A variable named x could be anything, even something that the mathematician/programmer didn't anticipate.

        • wtallis 5 years ago

          I agree with this. Additionally, I think a lot of detractors of single-letter variable names don't realize that it is often the case that the structure of the equation/expression is what's interesting, not what any individual variable represents. That structure is most visible and apparent when the variables don't take up any more space than the operators.

          Being able to recognize things like "oh, that's a polynomial!" is extremely useful, especially in the context of learning new math rather than a more applied context. And I think it would be extremely hard to spot an opportunity to do integration by parts when working with Java-style verbose variable names.

      • simion314 5 years ago

        >Single-letter non-descriptive variable and functions names would “make sense” to programmers who use it all day long too — but that alone doesn’t make it a good idea.

        Imagine you would write the code on paper by hand and have to repeat some long var or function name all the time . Even with IDEs I see programming languages using shorter keywords like "var","const","int" then the full word.

        Because you are agains single letter symbols let me know what are your suggestions for PI, or X(in polynomials or equations) and show me a screenshot on how some real world physics equation solving would look like with camel case named symbols.

      • diffeomorphism 5 years ago

        Go back a few centuries and you get long form Latin instead. Or go back much further and you will find the quadratic formula described as taking the number that the second term is increased by, diminishing it by half and then.... . Basically an essay just to say -q/2.

        Sure, you could write

        -CoefficientInFrontOfXToTheOne/2

        But then each row of your calculation will need line breaks and will be hard to understand. It will take forever to write and it will take forever to read. No thank you.

      • Koshkin 5 years ago

        Mathematicians will never agree to write dblEulerConstant instead of e.

        • JadeNB 5 years ago

          And, issues about the length of the name aside, we shouldn't! `e` isn't a double or any other standard numeric type. It is an infinite-precision number.

          • olikas 5 years ago

            I know what you mean, and a number that is not infinitely precise is an interval (i.e. a set of numbers). e is a number that is quite hard to pin on the imaginary number line, because the chances of hitting it with a pin is virtually zero. But the same argument can be made about the number 2 or 3. Those are just notations to abstract ideas, even though it is easier to formulate analogies for some of those numbers.

            Now, formalising that above sentence even with symbols is quite difficult.

  • xelxebar 5 years ago

    The frustration is inarguably real, but...

    Programming language syntax sucks because none of it maps to things that non-programmers know. Every time a new token is introduced, whether it be an ascii symbol or a word it's one more mapping your brain has to create to remember it. And on top of this you have to remember how these actually execute too. Yes I said execute - most programming concepts have so many implementations it's crazy. Even basic conditionals can't escape this. There are several tokens for if-statements (if, guard, case, (^:), etc.) and countless common implentations (gcc, ghc, guile, J, and whatever actual processors end up doing).

    Deep, complex things are hard, my friend. The pain is real; the payoff is totally worth it though.

    • rini17 5 years ago

      Except it's much easier to look up definition and examples for these tokens, without going so deep into the rabbit-hole.

    • pubby 5 years ago

      Sure, but my point was that good notation takes advantage of the wealth of pre-existing plumbing that exists in our brain.

      I think a good example is: https://xkcd.com/936/

      "Correct Horse Battery Staple" is easier to remember than "Tl)7x" because the latter maps into plumbing we already have. Likewise, print "Hello world" is easier to remember than printf("Hello World"), which is easier to remember than std::cout << "Hello world"; This is why we recommend beginners start with a language like Python or BASIC and not C++.

      Also, my point wasn't about ideas, but rather the notation used to represent these ideas. For example, you might not be able to read "Ăn quả nhớ kẻ trồng cây", but if I tell you it means "When eating a fruit, think of the person who planted the tree" you understand the idea. Notation is just a means of transferring ideas. Having deep complex ideas is not an excuse for poor notation.

  • tmpz22 5 years ago

    I dropped out of college at 19 and attempted to return at 21. My first math course back was discrete math and my teacher was a grad student who very clearly had no interest in teaching and was only there in order to subsidize his "real work". Keep in mind this is a large public university charging $40k/year. Going into his office hours was like going to another country, because his only method to explain math was really really advanced level math notation. He became visible frustrated that I didn't pick up on his notation. I wish I could say that was my only teacher who has no business teaching.

    I dropped out again and haven't looked back. That system wasn't for me and didn't care about my success or its ability to transfer knowledge.

    • wtallis 5 years ago

      In many university mathematics curriculums, discrete math is the course used to transition students from the computation-oriented mindset (instilled in them by high school and early undergraduate courses up through calculus) to the more abstract and proof-oriented mindset. Thus, teaching you to use that "really really advanced level math notation" is often one of the primary goals of the course, even if it seems like unnecessary overkill at the time. If you refuse to learn it, you're setting yourself up for failure in any future math course that uses that notation as the starting point for building new concepts and abstractions.

      • tmpz22 5 years ago

        We were never taught the notations, he would just pull out dozens of glyphs from his vast experience in mathematics - not the standard notations you might find in a text book. I won't deny that I could've researched these topics deeply in my own time enough to keep up with the graduate student, but I myself had no interest in being a graduate math student just to pass the course.

    • chongli 5 years ago

      I'm sorry you had that experience. No student deserves to be treated the way you were treated.

      Mathematics is a deep subject. It requires many hours of study over decades to develop. Students who are struggling deserve to have a patient teacher explain things to them in terms they already understand. Not every student has this experience, however. I have tutored a number of my peers in undergrad and they have complained of similar treatment from professors or TAs. I do my best to help them and make sure they really understand the topics they're studying.

    • solveit 5 years ago

      > Keep in mind this is a large public university charging $40k/year.

      Funny enough, that grad student was almost certainly making less than that. Universities are screwed up.

      • CamperBob2 5 years ago

        Another useful realization, after a witty quote attributed to Einstein, is to consider that as much trouble as you (the GP) were having with math, the grad student was having much more.

    • rimliu 5 years ago

      It will not help you, but generally, you should go to a university with an intent to learn, not to be taught.

  • zamfi 5 years ago

    In addition, the same notation is often overloaded in new domains, where the association with the prior domain is metaphorical, or even simply allegorical.

    As a novice programmer, it took years to get out of the habit of using non-descriptive single-letter variable and function names. It’s a terrible habit, and makes code incomprehensible — and programmers know it.

    Math, as taught to kids, is full of single-letter variable names (or worse, as you point out, using non-Roman letters and other symbols) that are devoid of any hints to the uninitiated of what their meaning might be.

    I wonder what it would be like if math were taught with descriptive names — starting with the basics, for functions and variables, and used those names consistently.

    Would it be more verbose? Absolutely — but I’m pretty sure it would also be a huge kindness to learners.

    • the_af 5 years ago

      But Math is taught gradually, introducing concepts in child-friendly ways, and moving up towards "adult" notation.

      Note that if you programmed in FP languages, you'd have to unlearn the "descriptive variable names" thing you were taught. Once you deal with abstractions, names cease to be meaningful. If the most you can say about a parameter to a higher order function is that it is "a function", then "f" is the best name for it. Some very good programmers argue that long/descriptive names often obscure the shape of an abstraction.

      • zamfi 5 years ago

        > If the most you can say about a parameter to a higher order function is that it is "a function", then "f" is the best name for it

        Of course. But even in FP languages you don’t name all your functions “f”! At some level of abstraction, sure, you use “i” for index variables, etc., but once you back out of that low level, you are going to be naming things that are less abstract.

        • the_af 5 years ago

          Agreed. I'd say Math is a lot like the abstract parts of FP, and so short variable names make sense there, just like they do in higher order FP functions. Choosing "more descriptive" names risks locking you into a specific metaphor and prevents you from seeing the big picture, which seems doubly dangerous in Math.

    • mxcrossb 5 years ago

      Are you sure it’s not the opposite? Plenty of students can solve a set of equations. But when you start asking them about trains speeding in the night...

      • zamfi 5 years ago

        I think this is actually proof that students are treating math as a set of rules applied to a process, and not having any real understanding of how the variables and equations they’re mechanistically applying rules to have any connection to the real world.

        If they did, it would be a lot easier to talk about trains speeding through the night!

        • jimhefferon 5 years ago

          Trains are how the courses try to help folks move from blind processes to understanding.

          A person can wonder if it would be better to start with understanding. (Personally, I only briefly taught that age but my oracle for how to teach it, Mr Barton, does say that experience shows you have to have down the class's ability to mechanically solve before you introduce the trains. The other order, apparently, doesn't work when you try it with actual students in practice.)

    • aspaceman 5 years ago

      > Math, as taught to kids, is full of single-letter variable names (or worse, as you point out, using non-Roman letters and other symbols) that are devoid of any hints to the uninitiated of what their meaning might be.

      Any time a new symbol is used in a text, it will typically be introduced. The phrase "Let A be the subgraph composed of G" for example defines A in relation to G. Typically, the author will also define their notation at the start of a paper with: "A graph G is defined as the set of edges E and vertices V such that...". To be frank, I always see math papers and communications written in this style.

      More often than not, I think folks just say "SINGLE VARIABLE NAMES BAD. MATH HAVE SINGLE VARIABLE NAMES". It's really dense. In any given math paper, the author typically defines any such variables. And if those definitions don't make sense, it's because the underlying mathematical objects are beyond you, and you need further background.

      • zamfi 5 years ago

        > More often than not, I think folks just say "SINGLE VARIABLE NAMES BAD. MATH HAVE SINGLE VARIABLE NAMES". It's really dense. In any given math paper, the author typically defines any such variables. And if those definitions don't make sense, it's because the underlying mathematical objects are beyond you, and you need further background

        Yes, that’s my point.

        Imagine learning a foreign language by being given a dictionary and a set of grammar rules. Is that enough to learn the language? Not really. You’d be missing idioms, patterns of speech, common phrases & compositions - the same is true in math.

        If you already halfway understand the language, then yes, you can do with a reference / definitions and rules for application — but even then, understanding how to use them is not trivial.

        Also, you are talking about “texts”, but there are plenty of domains in which conference and journal papers assume a certain set of notation, and that notation is not defined, nor even consistent; you need to be well-read in the field to even have a hope of understanding what’s going on. AI/robotics comes to mind, but ML in general is sometimes guilty of this.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection