Hacker News new | ask | show | jobs
by bitL 3578 days ago
The main problem of contemporary mathematics is that it is unbelievably obfuscated to most people, unnecessarily so. So even if you a have super-simple thing, mathematicians invented ways how to completely obfuscate meaning (often unfortunately in order to achieve prestige and being considered elite as a form of intellectual pride). Imagine Dirichlet's box principle, a thing that a 5-year old should understand; now look at how is it taught in discrete mathematics. I remember myself being really upset after 5-year study of theoretical backgrounds and some things finally clicked and I realized how simple they were and how much was just a ballast to reach them. Often mathematicians invent a theory in their teens and spend the rest of their lives to fight with unexpected monsters in boundary conditions they created. Similar to making a distributed middleware backbone and then debugging it with all unexpected network error/split brain stuff coming in.
6 comments

> contemporary mathematics is that it is unbelievably obfuscated to most people, unnecessarily so

I disagree. I think maths are intrinsically complex. Some results may have intuitive geometric interpretations but if you want to understand the whole edifice, there's no shortcut, you have to absorb tons of theories.

Take probability theory and statistics, you can always see it a set of recipes, but if you really want to make sense of it, you need to study maths for a few years.

Yes, to an extent. When you actually study history of mathematics, you find many ideas swept under the rug as they are for whatever reason making some people uncomfortable. Simple example is a material implication, precisely handling false antecedents in binary logic (90% of population finds it weird as it doesn't correspond to their thought processes). The problem of its adoption was solved by waiting for logicians that didn't accept it to die. Arguably, this very logical connective is the cause of Goedel's incompleteness problem and some logics that reject it such as Relevance logic get to almost complete systems but are way more complicated (though also way more logical to lay persons and arguably more similar to how humans think). There is a reason why medicine doesn't use mathematical logic and rather is based on counter-factuals.

So you can compare current mathematics to be like a certain programming language. Let's say it's like FORTRAN. There might be C++ for the same concepts, there might be Python, Smalltalk, Prolog or Haskell for the same concepts, but everything you read is in FORTRAN. And very few people like or are capable reading FORTRAN.

> Imagine Dirichlet's box principle, a thing that a 5-year old should understand; now look at how is it taught in discrete mathematics.

The theorem is "there's no injective function whose codomain is smaller than its domain". It's not stated this way because mathematicians are snobs or to impress students! abstraction is the very nature of mathematics.

From https://en.wikipedia.org/wiki/Abstraction_(mathematics)

"Abstraction in mathematics is the process of extracting the underlying essence of a mathematical concept, removing any dependence on real world objects with which it might originally have been connected, and generalizing it so that it has wider applications or matching among other abstract descriptions of equivalent phenomena."

And this is the problem - you don't teach students how Euler or Aristotle came up with the idea that they would understand, instead you force an abstraction on them right from the start without them grasping any connection to any part of reality they are immersed in. Some of us are capable of connecting the dots right away, some aren't, though would be if we saw how people came up with those ideas. Also, I was absolutely furious when I attended mathematical olympiad as a 10-year old and the problem formulation required familiarity with University math level language. You mathematicians are shooting yourself into feet.
>you don't teach students how Euler or Aristotle came up with the idea that they would understand, instead you force an abstraction on them right from the start without them grasping any connection to any part of reality they are immersed in //

Surely because that's history, we don't teach it that way because then you lose the links that have [much] later been found with other areas of maths -- isn't it the linking in to different areas that provides all the power? We want current students to understand a far wider curriculum and realise the links that come out of those abstraction, no?

I guess it's like whether you teach grammar to language students or hope that through language use they'll derive their own abstractions that allow them to understand the grammar sufficient to say things that they've never heard before.

From a history perspective we probably don't know how they came up with the idea, even if their journals (!) had a specific derivation of a proof then that wouldn't mean that was their initial direction of travel necessarily.

On the other hand, I have to admit that understanding Quantum Mechanics as a complex probability theory is way way simpler than actually going through all the steps physicists did to get there. I will now reflect upon that in peace ;-)
Motivation for seemingly arbitrary concepts is something that mathematicians struggle with quite often, it's not just lay public.

Also, yes, introducing the simplest version of a concept using examples before the most general version is a good thing. This is a recommendation commonly made in mathematics exposition. For instance Arnold, a Russian mathematician known for insistence on examples, introduces groups as a bunch of permutations closed under composition, and a manifold as smooth subset of R^n.

There are situations when the abstract definition itself has value, even for expository purposes. For instance, the abstract notion of a group or manifold or vector space helps one to understand which constructions are manifestly invariant under different coordinates. Linear algebra is all about understanding this point.

The same point appears in programming when the value of an abstract interface, which can be introduced by an concrete example, lies in the generality with which it deals with different examples. See Functor(Mappable), Monad, or Foldable in Haskell. A more common example is the Iterable interface which can be illustrated via a list, but the value lies in the fact that interface applies to many data structures.

Two more points - sometimes a concept is unsatisfactory because mathematicians haven't achieved a good understanding yet. It's just that the given concept is what was needed to solve some previous problem. Often future concepts, (which one learns later in one's education or newly discovered in research) clarify older unsatisfactory concepts.

Also, the aha insight that one gets that a seemingly abstruse concept becomes clear is often dependent on past work which has helped one to internalize some details. After the insight, just a couple of words can stand for long statements. For instance, the word 'manifold' stands for what would be a complicated notion for 19th century geometers, or a more simple example, 'local isomorphism' stands for a statement like inverse function theorem. But if one goes to a new student and repeats the insight, they may not get it as a certain amount of background work needs to be done.

Just because something seems obvious does not mean that it is.

Famously, for example, Bertrand Russell and Alfred Whitehead prove in Volume II of their Principia Mathematica, using theorem 54.43 from page 379, Volume I, that 1+1=2 (adding that "the above proposition is occasionally useful.")

Now, that is clearly obvious to everyone, and yet what Russell and Whitehead achieved in the intervening 400+ pages was more than just obfuscation.

Also, consider this - nowadays fewer and fewer academicians achieve groundbreaking results in their young age. It's more common for people to study 30+ years before they really contribute something important to science. Often it is because one has to study huge amount of previous results to come up with something new and validated. This time-to-result is likely going to increase in the future. Either we manage to continuously prolong lifespan while keeping brain elastic or we would have to make serious changes to the underlying math to keep math still rigorous, correct but more accessible to the way human brain operates, otherwise there won't be anyone living long enough to come with new results.
I am actually suggesting that current mathematical language is not sufficient to describe real world and the language itself has self-imposed structural problems preventing it from achieving higher precision in describing the real world in fewer symbols. Now with computers doing all the menial work we should be able to tackle on the challenge of improving the mathematical language itself stuck with over-simplistic mental models so popular at the beginning of 20th century.

Try to use mathematics to describe an artistic work. Or even precise muscular movement of a human arm in a ballet in its wholeness. Good luck with that!

FYI, this might shed light on some problems introduced by Russel and Whitehead in Principia Mathematica: http://www.academia.edu/13159243/2015_Pragmatism_the_A_Prior...

See also Hempel's raven paradox.

It's like this. If you're on a C++ team where the whole team heavily uses C++'s features as well as Boost, then you should write your code accordingly. This'll make your code more concise, and clearer to the other members of the team. At the same time, it'll make it much more obfuscated to, say, a C programmer.
It's more like everybody is forced to use C++ for everything. Would you rather write a distributed transactional system in C++/CORBA or in Java? How much time are you going to lose by choosing C++ and in debugging it comparing to Java? Or even substitute Assembly language for C++. (Disclaimer: I love C++, this is just an example)
Could you explain the principle in terms a 5-year old would understand?
If you have n boxes and n+1 things, then it is guaranteed that one box has more than one thing.