As a non-native speaker, another tip I remember reading somewhere and then finding it very useful: when you read a packed sentence that doesn't seem super clear and the next sentence starts with "Indeed, ..." that means you should read further as it will be a kind of explanation or elaboration. I mostly filtered out such words as "filler" or generic "emphasis words", but they guide the understanding also.
Good mathematical writing has this kind of cadence and pattern to it, and that's not a problem. For good writers some personal charm and flavor can still shine through, but it helps the reader to use the familiar trope structures. Unfortunately, this kind of "meta" is not taught much, so many students don't quite understand how to read math books, get frustrated when they progress slow, expecting to read it at the same speed as a history book or a novel. In a math book it's normal to re-read sentences or jump back half a page, to flip the pages back and forth, to put down the book for a moment and think etc. and it may take an afternoon to just digest one or two pages.
layer8 41 minutes ago [-]
> Note the difference between "where" and "such that". "Where" is used when the preceding notation is being defined; "such that" is used when it is already defined and its value is being restricted.
I found this interesting. SQL and Swift use “where” for restrictions. Any other examples in programming languages?
If a programming language wanted to use a keyword for restrictions that isn’t “where” (and still is a single word, hence “such that” doesn’t qualify), what word would be suitable instead? “With”? “Having”?
hallole 17 minutes ago [-]
"Given"?
I don't know SQL, but going solely off Google Images, that'd read like:
SELECT X
GIVEN X > 5
n4r9 3 hours ago [-]
I vaguely remember that Prof Thomas Körner in Cambridge used to have some good notes on mathematical writing. I can't find them now but here is another lecturer's notes that look quite good: https://www.dpmms.cam.ac.uk/~grw46/Writing_Guide.pdf
Paul Halmos and Donald Knuth are good examples of people that have a very nice mathematical style imo.
zero-sharp 8 hours ago [-]
You encounter abusive language/notation basically everywhere in math. Open up a calculus/real analysis textbook. A lot of the old ones write sequences in the curly brace/set {x_n} notation:
"let {x_n} be a sequence"
As the author points out, a sequence is a function. The statement {x_n} is the set of terms of the sequence, its range. A function and its range are two different things. And also sets have no ordering. It might seem like a minor thing, but I thought we were trying to be precise?
A second example: at the high school level, I'm pretty sure a lot of textbooks don't carefully distinguish between a function and the formula defining the function very well.
The author of this web page has a section on what he calls "double duty definitions". Personally, I don't find anything wrong with the language "let G=(V,E) be a graph". G is the graph and we're simultaneously defining/naming its structure. So, some of this is a matter of taste. And, to some extent, you just have to get used to the way mathematicians write.
hallole 3 minutes ago [-]
I remember being very pleased when I first encountered what might be an abuse of notation, but is nonetheless super convenient: \Sum_{s \in S}, where s is an element of a set S. Or, even better, just: \Sum s_i. Of course, this is defensible as I was writing out 100 summations in a stats course, not writing teaching material.
bonoboTP 6 hours ago [-]
Right, the notation of derivatives is also totally confusing, especially for things like the chain rule. The sloppy way to write it seems very intuitive but isn't precise. To write that in a precise way, you have to use the vertical-bar-on-the-right (e.g. d/dx f(x) | x=0, but typeset properly), variable names etc. In high school I rewrote a lot of the textbook stuff in a super explicit version for myself like this and it got very verbose of course, but gave deeper understanding.
Same in college when learning the Fourier transform, a stumbling block was that the prof didn't properly explain that it takes a function as a whole and gives a whole new function as output. When you first learn this concept, it's a bit of time to wrap your head around, but when it clicks, everything makes more sense. But just writing F{sin(x)} = ... seems like F acts on a concrete value. A more explicit way would be F{x->sin(x)}={x->...}
Of course once you already know these fundamentals and they are baked into your brain and take them for granted, it's hard to see where beginners get confused, and writing in short hand is so much easier so you get sloppy while still unambiguous to experienced people.
This is why I always preferred to see coded-up demos and implementations as opposed to formulas on blackboards and slides. If you have to implement it, you can't handwave away things as pedantry. It forces precision by default.
3eb7988a1663 2 hours ago [-]
Fully agree with this thought. Sloppy notation has been a hindrance to my personal understanding many times. Math made more sense for me when I could code it up and see the function doing things. Everything explicit vs inconsistent shorthand that saved the author a few pen strokes.
Which is why I am so favorable of Jupyter notebook-like teaching environments. Embed the (guaranteed to execute!!! no illegal shorthand) code so that learners can get a true representation that can be manipulated. Although, I think they are still unlikely to reshape education - now you require some coding fluency + the niche math topic.
prerok 18 minutes ago [-]
In programming you would put function as a parameter. So, maybe something like this
F{sin}(x) = ...
is just as short and clearer?
fiforpg 2 hours ago [-]
> abusive language/notation basically everywhere in math
In most cases it is not as much abusing notation as overloading it. If you think of the context of a formula (say, adjacent paragraphs) as its implicit arguments (think lambda captures in c++), then it is natural that curly braces can denote both a set and a sequence, depending on this implicit input.
Such context dependent use of symbols is actually rather convenient with a little practice.
zero-sharp 21 minutes ago [-]
"it is natural that curly braces can denote both a set and a sequence, depending on this implicit input."
?
I don't even know where to begin. Overloading symbols in mathematics occurs all over the place. There's nothing wrong with that. The difference between overloading a symbol and abusing it is whether there is an agreed upon definition/convention regarding its use and to what extent its use conforms to that definition/convention. If you wish to re-define the curly braces to have a context-dependent meaning, knock yourself out. But, I would imagine that that practice would confuse a lot of people. Math is a human activity. It's not a programming language.
7 hours ago [-]
4 hours ago [-]
tpoacher 8 hours ago [-]
Very nice. I wish people put this kind of careful thought in academic manuscripts.
The whole point of introducing a math equation in a paper is to serve as a completely unambiguous formalism, devoid of the ambiguities of the spoken word.
And yet, it is all too common to read something many times and not make sense of it, until it hits me the author means something completely different than what the symbols would imply in principle, and what looked like a formalism is basically a sloppy direct translation of words as math symbols, combined with abuse of notation, idiomatic but undefined uses of established notation, or outright nonsense.
casey2 1 hours ago [-]
It's a process. There is little utility to be gained from specifying mathematics, the title and abstract should explain why a general audience might care, but the meat is often for your advisor. If you think that more people will care then expand it out, use your school standards, even more? sure you can check out some knuth books on mathematical writing or use this grammar, but have you considered programming? It's by far the most inclusive and effective way to tell other people what you actually mean. Maybe popular languages aren't optimal for this try a specification language.
I'm in no way saying you should DO mathematics in a programming language, rather translate it for a wider audience. At a sufficiently high level even little kids could understand your argument before drilling down into specifics, and since the spec never actually has to run it can be as high level as you want limited only by verification time
huflungdung 9 hours ago [-]
[dead]
Rendered at 20:40:40 GMT+0000 (Coordinated Universal Time) with Vercel.
Good mathematical writing has this kind of cadence and pattern to it, and that's not a problem. For good writers some personal charm and flavor can still shine through, but it helps the reader to use the familiar trope structures. Unfortunately, this kind of "meta" is not taught much, so many students don't quite understand how to read math books, get frustrated when they progress slow, expecting to read it at the same speed as a history book or a novel. In a math book it's normal to re-read sentences or jump back half a page, to flip the pages back and forth, to put down the book for a moment and think etc. and it may take an afternoon to just digest one or two pages.
I found this interesting. SQL and Swift use “where” for restrictions. Any other examples in programming languages?
If a programming language wanted to use a keyword for restrictions that isn’t “where” (and still is a single word, hence “such that” doesn’t qualify), what word would be suitable instead? “With”? “Having”?
I don't know SQL, but going solely off Google Images, that'd read like:
SELECT X GIVEN X > 5
Paul Halmos and Donald Knuth are good examples of people that have a very nice mathematical style imo.
"let {x_n} be a sequence"
As the author points out, a sequence is a function. The statement {x_n} is the set of terms of the sequence, its range. A function and its range are two different things. And also sets have no ordering. It might seem like a minor thing, but I thought we were trying to be precise?
A second example: at the high school level, I'm pretty sure a lot of textbooks don't carefully distinguish between a function and the formula defining the function very well.
The author of this web page has a section on what he calls "double duty definitions". Personally, I don't find anything wrong with the language "let G=(V,E) be a graph". G is the graph and we're simultaneously defining/naming its structure. So, some of this is a matter of taste. And, to some extent, you just have to get used to the way mathematicians write.
Same in college when learning the Fourier transform, a stumbling block was that the prof didn't properly explain that it takes a function as a whole and gives a whole new function as output. When you first learn this concept, it's a bit of time to wrap your head around, but when it clicks, everything makes more sense. But just writing F{sin(x)} = ... seems like F acts on a concrete value. A more explicit way would be F{x->sin(x)}={x->...}
Of course once you already know these fundamentals and they are baked into your brain and take them for granted, it's hard to see where beginners get confused, and writing in short hand is so much easier so you get sloppy while still unambiguous to experienced people.
This is why I always preferred to see coded-up demos and implementations as opposed to formulas on blackboards and slides. If you have to implement it, you can't handwave away things as pedantry. It forces precision by default.
Which is why I am so favorable of Jupyter notebook-like teaching environments. Embed the (guaranteed to execute!!! no illegal shorthand) code so that learners can get a true representation that can be manipulated. Although, I think they are still unlikely to reshape education - now you require some coding fluency + the niche math topic.
F{sin}(x) = ...
is just as short and clearer?
In most cases it is not as much abusing notation as overloading it. If you think of the context of a formula (say, adjacent paragraphs) as its implicit arguments (think lambda captures in c++), then it is natural that curly braces can denote both a set and a sequence, depending on this implicit input.
Such context dependent use of symbols is actually rather convenient with a little practice.
?
I don't even know where to begin. Overloading symbols in mathematics occurs all over the place. There's nothing wrong with that. The difference between overloading a symbol and abusing it is whether there is an agreed upon definition/convention regarding its use and to what extent its use conforms to that definition/convention. If you wish to re-define the curly braces to have a context-dependent meaning, knock yourself out. But, I would imagine that that practice would confuse a lot of people. Math is a human activity. It's not a programming language.
The whole point of introducing a math equation in a paper is to serve as a completely unambiguous formalism, devoid of the ambiguities of the spoken word.
And yet, it is all too common to read something many times and not make sense of it, until it hits me the author means something completely different than what the symbols would imply in principle, and what looked like a formalism is basically a sloppy direct translation of words as math symbols, combined with abuse of notation, idiomatic but undefined uses of established notation, or outright nonsense.
I'm in no way saying you should DO mathematics in a programming language, rather translate it for a wider audience. At a sufficiently high level even little kids could understand your argument before drilling down into specifics, and since the spec never actually has to run it can be as high level as you want limited only by verification time