> The distinction between the three types of errors can lead to the phenomenon ... of a mathematical argument by a post-rigorous mathematician which locally contains a number of typos and other formal errors, but is globally quite sound, with the local errors propagating for a while before being cancelled out by other local errors
I was initially amazed at this when I was in graduate school, but with enough experience I started to do it myself. Handwaving can be a signal that someone doesn't know what they are doing or that they really know what they are doing and until you are far enough along it is hard to tell the difference.
>Handwaving can be a signal that someone doesn't know what they are doing or that they really know what they are doing and until you are far enough along it is hard to tell the difference.
I found it's very easy to distinguish these two when you have another expert ask questions. But if you don't have someone like that in the audience it might take forever. Or at least until you become an expert yourself.
Good point. Here are some notes on it based on what I've observed happens in Academia and in other environments:
I think handwaving comes in different flavors:
- Handwaving and not knowing what they are doing, when they know they don't know:
This is arrogance and/or fear of people thinking you are a fool. Bad practice. Professionals who do this are status chasers and not fun to be around. Students who do this are mostly insecure, and they might just need some help with their self-esteem. Help them by letting them feel comfortable with being wrong. Foster a good environment so that the arrogance and fear fade away.
- Handwaving and not knowing what they are doing, when they don't know they don't know:
I believe this is a good thing, in particular for Students, if they are within a nurturing environment. It can lead to interesting ideas and to discussions of innovative ways to move forward. I believe this to be a way of actually "training your intuition muscle" both for Students and Professionals. It lets them know not to fear moving on, tackling the thing that captures their attention the most at first, and later on filling some of the gaps, which I feel is common practice for people who have been working on the field for a while. However, if the gaps are left unattended it can lead to bad things... Environment matters.
- Handwaving and knowing what they are doing, when they know they don't know:
For trained Professionals only... :)
This modality kinda kicks in when deep in mathematical work.
It's the path that leads to the Eureka moments...
Pure trained intuition acting almost as a separate entity to oneself. We are facing the unknown and something tells us that certain aspect can be handwaived, we don't fully know why but we feel it is. Later on it becomes clear why we could do the handwave. It works itself out.
- Handwaving and knowing what they are doing, when they don't know they don't know:
For trained Professionals only...
Kind of a stretch, but might be where our intuition either fails us completely, or completely takes us by the hand to turn the unknown unknowns into known unknowns, then it goes back to the previous category.
This isn't set in stone by the way, just some thoughts I had while reading the article...
Any ideas or suggestions for modifications more than welcomed.
“Before I learned the art, a punch was just a punch, and a kick, just a kick. After I learned the art, a punch was no longer a punch, a kick, no longer a kick. Now that I understand the art, a punch is just a punch and a kick is just a kick.” - Bruce Lee
For the interested, the original Dōgen zen koan goes something like this —
Before I began to practice, mountains were mountains and rivers were rivers. After I began to practice, mountains were no longer mountains and rivers were no longer rivers. Now, I have practiced for some time, and mountains are again mountains, and rivers are again rivers.
> One can roughly divide mathematical education into three stages:
Similarly with programming.
1. Write programs that you think are cool
2. Learn about data structures and algorithms and complexity and software organization.
3. Write programs that you think are cool. But since you know more, you can write more cool programs.
If things are working as they should, the end stage of mathematics and programming should be fun, not tedious. The tedious stuff is just a step along the way for you to be able to do more fun stuff.
It's kind of like how people who are really, _really_ good at something approach it with a certain simplicity and straightforwardness. Superficially, it looks like how a novice would approach things. But look under the covers they are doing similar things but with a much deeper understanding why they are doing things that way.
Example, (1) You start programming with the simplest abstractions and in a concrete way. (2) You learn about all the theory and mathy stuff: data structures, algorithms, advanced types, graphs, architecture, etc. Eventually you become very skilled with these, but at a certain point you start to bump up against their limitations. Technical disillusionment and burnout may set in if you are not careful (3) You return to using abstractions and architecture that are as simple as possible (but no simpler), but with a much deeper understanding of what is going on. You can still do very complex stuff, but everything is just part of a toolbox. Also, you find yourself able to create very original work that is elegant in its seeming simplicity.
I've noticed the same thing in other fields: the best approach their work with a certain novice-like (but effective) simplicity that belies what it took for them to get to that point.
1. Programming in very concrete/practical terms because you do not know how to think in precise and abstract terms (do not know math)
2. Thinking more precisely and abstractly (more mathematical way)
3. Only do some key important abstractions, and being a bit hand-wawy again in terms of precision. The reason: important real-world problems are usually very complex, and complex problems resist most abstractions, and also being totally precise in all cases is impossible due to the complexity.
All-in-all it is due to increased complexity in my opinion.
Example:
1. Writing some fun geometry related programs 2. learn about geometry more seriously 3. write software based on a multiple hundred thousand line CAD kernel.
Other example:
1. Write fun games on C64 2. Learn about computer graphics in University 3. Contribute to the source code of Unreal Engine with multiple million lines of code with multiple thousand line class declaration header files.
This is true but I think it's iterative, cyclic. It applies to any art and craft, really. You alternate between perceiving and projecting, receiving and creating.
Yes -- I also wonder if a description involving learning plural software languages might fit:
1. Hack programmatic-functionality in a first language
2. Master the intricacies of a first language, understanding all programmatic concepts through the lens of that languages specific implementation-details. Pedantically argue with those familiar with different language implementations, due to a kind of implementation-plurality/ essential-form blindness
3. Learn additional languages, and 'see past' specific implementation details and pitfalls of each; develop a less biased understanding of the essence of any task at hand
> 3. Write programs that you think are cool. But since you know more, you can write more cool programs
The integration phase goes much deeper. The first stage is about learning how to write programs. The second is about writing programs well. The third is to intuitively reason about how to solve problems well using well-written programs; you can still code, but it's no longer where the lifting is.
I love how well-spoken Tao is. I've enjoyed lots of his lectures before; even if you're not an expert in whatever he's discussing he knows how to explain it just right to get you up to speed as best as he can. His communication and math skills are phenomenal.
Yes! He’s a great counterexample to the popular view that mathematical/pure logical reasoning ability is negatively correlated (even zero-sum) with communication ability. Yes, there are people that are crap at one and quite good at the other… but you can’t make much of an inference when given one without the other.
The first time I really felt I understood math in depth was my uni linear algebra course. Distance and orthogonality were replaced with a more abstract but better inner product. It behaved like an IT interface: As long as some basic properties were fulfilled, aal of linear algebra came along. Half o the examples were the usual numeric vectors and matrices, the others were integrals, etc...
“The point of rigour is not to destroy all intuition; instead, it should be used to destroy bad intuition while clarifying and elevating good intuition. It is only with a combination of both rigorous formalism and good intuition that one can tackle complex mathematical problems; one needs the former to correctly deal with the fine details, and the latter to correctly deal with the big picture. Without one or the other, you will spend a lot of time blundering around in the dark.”
Well put! In empirical research, there is an analogy where intuition and systematic data collection from experiment are both important. Without good intuition, you won’t recognize when your experimental results are likely wrong or failing to pick up on a real effect (eg from bad design, insufficient statistical power, wrong context, wrong target outcome, dumb mistakes). And without experimental confirmation, your intuition is just untested hunches, and lacks the refinement and finessing that comes from contact with the detailed structure of the real world.
As Terry says, the feeling of stumbling around in the dark suggests you are missing one of the two.
The worst thing is when someone who thinks that "math is 100% infallible and all about rigor, you gotta show your work and include all the steps" yet they think that set theory is good enough and it doesnt have problems
they say things like "Everything in math is a set," but then you ask them "OK, what's a theorem and what's a proof?" they'll either be confused by this question or say something like "It's a different object that exists in some unexplainable sidecar of set theory"
They don't know anything about type theory, implications of the law of excluded middle, univalent foundations, any of that stuff
My favorite was when a manager tried to get me to agree with the statement that "math was just for the numbers right?". Meaning not character strings nor dates. I was dumbstruck by the question.
It's 100% possible to base logic and proof theory off of set theory. For example, you can treat proofs as natural numbers via Gödel encoding (or any other reasonable encoding) and we know that natural numbers can be represented by sets in multiple different ways.
You may prefer type theory or other foundations, but set theory is definitely rigorous enough and about as "infallible" (or not) as other approaches.
Yeah, they should have heard about ZFC and have a notion what a formal proof is. On the other hand, I'm not sure your last sentence is really that relevant.
> They don't know anything about type theory, implications of the law of excluded middle, univalent foundations, any of that stuff
I'm doing a PhD in algebraic geometry, and that stuff isn't relevant at all. To me "everything is a set" pretty much applies. Hell, even the stacks-project[1] contains that phrase!
I wish people had more exposure to building mathematical models of things. I am fairly convinced that the only real exposure I was given was to models that we knew worked. So much so, that we didn't even execute many.
Specifically, parabolic motion is something you can obviously do by throwing something. You can, similarly, plot over a time variable where things are observed. You can then see that we can write an equation, or model, for this. For most of us, we jump straight to the model with some discussion of how it translates. But nothing stops you from observing.
With modern programming environments, you can easily jump people into simulating movement very rapidly and let people try different models there. We had turtle geometry years ago, but for most of us that was more mental execution than it was mechanical. Which is probably a great end goal, but no reason you can't also start with the easy computer simulations.
Something I really like is that the curve that a rope or thread makes when fixed in two points but not under tension, it's not a parabola. It really looks like one though, but it isn't. It's a catenary.
That's something you can verify by writing some simulation code, then drawing the curve, and then drawing the best matching parabola on top. It doesn't fit.
To model the issue mathematically you need some not-too-advanced calculus. On both the computer simulation and the mathematical model, you model the rope as being made of very small elements that are linked together (like a chain). In the simulation those elements are small, but finite. In the math you take the limit as the volume of the element tends to zero.
It's the same way of thinking but math gives some different tools, enabling you to solve the curve analytically
This argument is very close to one by Whitehead in an essay called "The Rhythm of Education". The stages back there are called Romance, Precision, and Generalisation - but I'd argue there is an isomorphism (in a suitable category) between that and Tao's three stages.
> The point of rigour is not to destroy all intuition; instead, it should be used to destroy bad intuition while clarifying and elevating good intuition.
This is a key insight; it's something I've struggled to communicate in a software engineering setting, or in entrepreneurial settings.
It's easy to get stuck in the "data driven" mindset, as if data was the be-all and end-all, and not just a stepping stone towards an ever more refined mental model. I think of "data" akin to the second phase in TFA (the "rigor" phase). It is necessary to think in a grounded, empirical way, but it is also a shame to be straight-jacketed by unsafe extrapolations from the data.
> It's easy to get stuck in the "data driven" mindset, as if data was the be-all and end-all, and not just a stepping stone towards an ever more refined mental model.
Yes. "Data driven" either includes sound statistical modelling and inference, or is just a thiny veiled information bias.
rigour is is not about destroying bad intuition, but rather formalizing good intuition, imho. The ability to know good from bad is somewhere in-between total newb and expert.
I think entire research subfields can go through a similar process. Plenty of mathematics was done before mathematical rigor really existed. Then axiomatization became more and more important. The intuition never went away, but I have heard of 'Nicholas Bourbaki' (https://en.m.wikipedia.org/wiki/Nicolas_Bourbaki), the movement to right mathematics in purely formal language while eschewing intuitive language. And then more recently I read a prominent mathematician describing this phases having been a bit of a mistake. But maybe it was just a necessary part of the fields transition.
I've definitely gone through a parallel transition in physics, but replacing 'rigor' with 'calculation' and 'intuition' for 'physical intuition/simple pictures.' In physics there is the additional aspect that problems directly relate to the physical world, and one can lose and then regain touch with this. I wonder what other fields have an analogous progression.
> I wonder what other fields have an analogous progression.
"Before one studies Zen, mountains are mountains and waters are waters; after a first glimpse into the truth of Zen, mountains are no longer mountains and waters are no longer waters; after enlightenment, mountains are once again mountains and waters once again waters."
The problem is though, that with half the data, your mind considers glueing another base to the seasaw, to balance things out and restore symmetry and intuitive beauty.
The idea of the 3 levels really resonated with the ideas in "Bernoulli's Fallacy" as well. Right now we are seeing a resurgence of Bayesian reasoning across all fields that deal with data and statistical reasoning. I think many errors of modern civilization were caused by people at a level 2 understanding attempting to operationalize their knowledge for others at level 1.
We need it to become much more common to operate at level 3, especially in fields like enterprise software development.
I was trying to coerce gpt-4o to talk about the gcd and lcm in terms of sets of the prime factors where the product is the union of the sets, gcd is the intersection, and the lcm is the union less the intersection and it kept telling me I was incorrect and being "non standard".
To an extent; they can give hints and suggest directions, but you need to treat them as an unreliable narrator: think of them as entities that can help or deceive you at random.
That being said, we are researching tailored LLMs and other architectures to assist mathematical research that are more geared towards accuracy at the expense of freedom ("imagination"). The Lean FRO has some related information and links.
We have machines that can crank out true theorems, rigorously proven, all day. It takes a mathematician to know what is worth working on. And that is fundamentally an intuitive decision. Computers don't care whether a proof is interesting or not.
rokob|1 year ago
I was initially amazed at this when I was in graduate school, but with enough experience I started to do it myself. Handwaving can be a signal that someone doesn't know what they are doing or that they really know what they are doing and until you are far enough along it is hard to tell the difference.
sigmoid10|1 year ago
I found it's very easy to distinguish these two when you have another expert ask questions. But if you don't have someone like that in the audience it might take forever. Or at least until you become an expert yourself.
topologie|1 year ago
I think handwaving comes in different flavors:
- Handwaving and not knowing what they are doing, when they know they don't know:
This is arrogance and/or fear of people thinking you are a fool. Bad practice. Professionals who do this are status chasers and not fun to be around. Students who do this are mostly insecure, and they might just need some help with their self-esteem. Help them by letting them feel comfortable with being wrong. Foster a good environment so that the arrogance and fear fade away.
- Handwaving and not knowing what they are doing, when they don't know they don't know:
I believe this is a good thing, in particular for Students, if they are within a nurturing environment. It can lead to interesting ideas and to discussions of innovative ways to move forward. I believe this to be a way of actually "training your intuition muscle" both for Students and Professionals. It lets them know not to fear moving on, tackling the thing that captures their attention the most at first, and later on filling some of the gaps, which I feel is common practice for people who have been working on the field for a while. However, if the gaps are left unattended it can lead to bad things... Environment matters.
- Handwaving and knowing what they are doing, when they know they don't know:
For trained Professionals only... :) This modality kinda kicks in when deep in mathematical work. It's the path that leads to the Eureka moments... Pure trained intuition acting almost as a separate entity to oneself. We are facing the unknown and something tells us that certain aspect can be handwaived, we don't fully know why but we feel it is. Later on it becomes clear why we could do the handwave. It works itself out.
- Handwaving and knowing what they are doing, when they don't know they don't know:
For trained Professionals only... Kind of a stretch, but might be where our intuition either fails us completely, or completely takes us by the hand to turn the unknown unknowns into known unknowns, then it goes back to the previous category.
This isn't set in stone by the way, just some thoughts I had while reading the article...
Any ideas or suggestions for modifications more than welcomed.
unknown|1 year ago
[deleted]
richrichie|1 year ago
solikeppl|1 year ago
[deleted]
tsaixingwei|1 year ago
srik|1 year ago
mr_mitm|1 year ago
penguin_booze|1 year ago
auggierose|1 year ago
jbandela1|1 year ago
Similarly with programming.
1. Write programs that you think are cool
2. Learn about data structures and algorithms and complexity and software organization.
3. Write programs that you think are cool. But since you know more, you can write more cool programs.
If things are working as they should, the end stage of mathematics and programming should be fun, not tedious. The tedious stuff is just a step along the way for you to be able to do more fun stuff.
prmph|1 year ago
Example, (1) You start programming with the simplest abstractions and in a concrete way. (2) You learn about all the theory and mathy stuff: data structures, algorithms, advanced types, graphs, architecture, etc. Eventually you become very skilled with these, but at a certain point you start to bump up against their limitations. Technical disillusionment and burnout may set in if you are not careful (3) You return to using abstractions and architecture that are as simple as possible (but no simpler), but with a much deeper understanding of what is going on. You can still do very complex stuff, but everything is just part of a toolbox. Also, you find yourself able to create very original work that is elegant in its seeming simplicity.
I've noticed the same thing in other fields: the best approach their work with a certain novice-like (but effective) simplicity that belies what it took for them to get to that point.
nadam|1 year ago
1. Programming in very concrete/practical terms because you do not know how to think in precise and abstract terms (do not know math)
2. Thinking more precisely and abstractly (more mathematical way)
3. Only do some key important abstractions, and being a bit hand-wawy again in terms of precision. The reason: important real-world problems are usually very complex, and complex problems resist most abstractions, and also being totally precise in all cases is impossible due to the complexity.
All-in-all it is due to increased complexity in my opinion.
Example: 1. Writing some fun geometry related programs 2. learn about geometry more seriously 3. write software based on a multiple hundred thousand line CAD kernel.
Other example: 1. Write fun games on C64 2. Learn about computer graphics in University 3. Contribute to the source code of Unreal Engine with multiple million lines of code with multiple thousand line class declaration header files.
arketyp|1 year ago
aeim|1 year ago
1. Hack programmatic-functionality in a first language
2. Master the intricacies of a first language, understanding all programmatic concepts through the lens of that languages specific implementation-details. Pedantically argue with those familiar with different language implementations, due to a kind of implementation-plurality/ essential-form blindness
3. Learn additional languages, and 'see past' specific implementation details and pitfalls of each; develop a less biased understanding of the essence of any task at hand
GiovanniP|1 year ago
> 2. Learn about data structures and algorithms and complexity and software organization.
> 3. Write programs that you think are cool. But since you know more, you can write more cool programs.
Hegel :-)
richrichie|1 year ago
1. Start by writing programs with vectors and maps.
2. Learn all about data structures, algorithms, cache misses, memory efficiency etc
3. And then write programs with vectors and maps.
JumpCrisscross|1 year ago
The integration phase goes much deeper. The first stage is about learning how to write programs. The second is about writing programs well. The third is to intuitively reason about how to solve problems well using well-written programs; you can still code, but it's no longer where the lifting is.
grape_surgeon|1 year ago
xanderlewis|1 year ago
unknown|1 year ago
[deleted]
hyperman1|1 year ago
zeroonetwothree|1 year ago
highfrequency|1 year ago
Well put! In empirical research, there is an analogy where intuition and systematic data collection from experiment are both important. Without good intuition, you won’t recognize when your experimental results are likely wrong or failing to pick up on a real effect (eg from bad design, insufficient statistical power, wrong context, wrong target outcome, dumb mistakes). And without experimental confirmation, your intuition is just untested hunches, and lacks the refinement and finessing that comes from contact with the detailed structure of the real world.
As Terry says, the feeling of stumbling around in the dark suggests you are missing one of the two.
JoeyBananas|1 year ago
they say things like "Everything in math is a set," but then you ask them "OK, what's a theorem and what's a proof?" they'll either be confused by this question or say something like "It's a different object that exists in some unexplainable sidecar of set theory"
They don't know anything about type theory, implications of the law of excluded middle, univalent foundations, any of that stuff
johnwatson11218|1 year ago
Tainnor|1 year ago
You may prefer type theory or other foundations, but set theory is definitely rigorous enough and about as "infallible" (or not) as other approaches.
bubblyworld|1 year ago
qbit42|1 year ago
red_trumpet|1 year ago
> They don't know anything about type theory, implications of the law of excluded middle, univalent foundations, any of that stuff
I'm doing a PhD in algebraic geometry, and that stuff isn't relevant at all. To me "everything is a set" pretty much applies. Hell, even the stacks-project[1] contains that phrase!
[1] https://stacks.math.columbia.edu/tag/0009
sherburt3|1 year ago
ramraj07|1 year ago
theshaper|1 year ago
For example:
When Terence Tao solves a problem, the problem appreciates the solution.
paulpauper|1 year ago
taeric|1 year ago
Specifically, parabolic motion is something you can obviously do by throwing something. You can, similarly, plot over a time variable where things are observed. You can then see that we can write an equation, or model, for this. For most of us, we jump straight to the model with some discussion of how it translates. But nothing stops you from observing.
With modern programming environments, you can easily jump people into simulating movement very rapidly and let people try different models there. We had turtle geometry years ago, but for most of us that was more mental execution than it was mechanical. Which is probably a great end goal, but no reason you can't also start with the easy computer simulations.
nextaccountic|1 year ago
That's something you can verify by writing some simulation code, then drawing the curve, and then drawing the best matching parabola on top. It doesn't fit.
To model the issue mathematically you need some not-too-advanced calculus. On both the computer simulation and the mathematical model, you model the rope as being made of very small elements that are linked together (like a chain). In the simulation those elements are small, but finite. In the math you take the limit as the volume of the element tends to zero.
It's the same way of thinking but math gives some different tools, enabling you to solve the curve analytically
red_admiral|1 year ago
staticshock|1 year ago
This is a key insight; it's something I've struggled to communicate in a software engineering setting, or in entrepreneurial settings.
It's easy to get stuck in the "data driven" mindset, as if data was the be-all and end-all, and not just a stepping stone towards an ever more refined mental model. I think of "data" akin to the second phase in TFA (the "rigor" phase). It is necessary to think in a grounded, empirical way, but it is also a shame to be straight-jacketed by unsafe extrapolations from the data.
hun3|1 year ago
Yes. "Data driven" either includes sound statistical modelling and inference, or is just a thiny veiled information bias.
paulpauper|1 year ago
qnleigh|1 year ago
I've definitely gone through a parallel transition in physics, but replacing 'rigor' with 'calculation' and 'intuition' for 'physical intuition/simple pictures.' In physics there is the additional aspect that problems directly relate to the physical world, and one can lose and then regain touch with this. I wonder what other fields have an analogous progression.
philipov|1 year ago
"Before one studies Zen, mountains are mountains and waters are waters; after a first glimpse into the truth of Zen, mountains are no longer mountains and waters are no longer waters; after enlightenment, mountains are once again mountains and waters once again waters."
csmeyer|1 year ago
1. Making stuff is fun and goofy and hacky 2. Coding is formal and IMPORTANT and SERIOUS 3. What cool products and tools can I make?
I feel like this pattern probably happens in many fields? Would be fun to kind of do a survey/outline of how this works across disciplines
dang|1 year ago
There’s more to mathematics than rigour and proofs (2007) - https://news.ycombinator.com/item?id=31086970 - April 2022 (90 comments)
There’s more to mathematics than rigour and proofs - https://news.ycombinator.com/item?id=13092913 - Dec 2016 (2 comments)
There’s more to mathematics than rigour and proofs - https://news.ycombinator.com/item?id=9517619 - May 2015 (32 comments)
There’s more to mathematics than rigour and proofs - https://news.ycombinator.com/item?id=4769216 - Nov 2012 (36 comments)
ji_zai|1 year ago
InDubioProRubio|1 year ago
johnwatson11218|1 year ago
We need it to become much more common to operate at level 3, especially in fields like enterprise software development.
munchler|1 year ago
https://web.archive.org/web/20180301000000*/https://terrytao...
paulpauper|1 year ago
topologie|1 year ago
Haven't read a single bad contribution from him. And I've read quite a bit...
unknown|1 year ago
[deleted]
hilux|1 year ago
This means that many people in Stage 1 (or Stage 0, if that's a thing) believe that they're as good as Stage 3 thinkers. AKA Dunning-Kruger.
In other words, complete bullshit, confidently delivered, has come to dominate informality-born-of-rigor. And the audience can't tell the difference.
EVa5I7bHFq9mnYK|1 year ago
nyssos|1 year ago
That said, yes, real analysis is often a third-year class.
ffhhj|1 year ago
drpossum|1 year ago
It has a long, long way to go.
ykonstant|1 year ago
That being said, we are researching tailored LLMs and other architectures to assist mathematical research that are more geared towards accuracy at the expense of freedom ("imagination"). The Lean FRO has some related information and links.
BeetleB|1 year ago
From a few days ago:
https://news.ycombinator.com/item?id=40646909
unknown|1 year ago
[deleted]
mgaunard|1 year ago
jfengel|1 year ago
We have machines that can crank out true theorems, rigorously proven, all day. It takes a mathematician to know what is worth working on. And that is fundamentally an intuitive decision. Computers don't care whether a proof is interesting or not.
edflsafoiewq|1 year ago