One challenge is assembling everything into a coherent whole, since the same informal concept can be formalised in slightly different but incompatible ways.
One challenge is assembling everything into a coherent whole, since the same informal concept can be formalised in slightly different but incompatible ways.
Category theory can be viewed as a framework to make math more modular and compatible. For example topos theory can be used to transport definitions to other "mathematical universes" of sorts
Another point of view is that is working with synthetic mathematics which is a bit like "programming" mathematics with an abstract API. The opposite, analytic mathematics, leak implementation details (for example, the von Neumann construction of natural numbers, which is analytic, leak the implementation detail that 0 is defined as the empty set; but the peano axioms are synthetic and doesn't leak any such details)
There is also the principle that two mathematical objects that are isomorphic (have the same structure) are actually the same thing. For example if you construct the natural numbers two different ways, they are "the same thing" in a sense. This usually is stated informally, but a rigorous formulation of that is the univalent principle
Some books assume 0 is Natural but other start from 1.
In some books all Rings https://en.wikipedia.org/wiki/Ring_(mathematics) have a multiplicative identity. Almost all books assume Algebras have an identity, but there may be weird cases.
Some books say in the first page that they will assume all groups are Abelian/Commutative, and not repeat the assumption in each page.
There are like 8 conventions to define the Fourier Transform. All are equivalent, but each one add different constants here and there. Beware to combine formulas from different books.
I guess it's easier for the computer to track the details and remember to translate the names in each book article to a consistent set of definitions.
What they’re not that great at is the type of improvements that really make a big difference: big simplifications etc. This is not super suprising when you understand how this works.
Firstly proofs in lean (and I think many other assistants) are essentially functions which take hypotheses and instantiate a particular type. That type being equivalent (due to the Curry-Howard correspondence) to a proof of some proposition. The assistant uses dependent type theory to make sure all the types match up at each step, which is what makes it rigorous. So the task of simplifying a proof is basically finding a route through an infinite-dimensional space where you know your starting location and the desired end point, but at any step you can go in basically any direction you like so long as you can justify your step. You justify a step by either choosing from a (vast at this point) library of lemmas and theorems that are in your standard library, or by recursively building the proof/function you need to justify the step you want to take using this same process you’re trying to use for simplification. This is incredibly flexible, but means you’re actually spoiled for choice and planning is hard.
Secondly, in “pen and paper” proofs, LLMs don’t know the difference between steps which are important/easy/hard/intuitive/non-intuitive for human mathematicians, so lots of the proofs they produce are extremely clunky and pedantic in places and dwell for ages over details that are obvious and would usually be skipped over and then will move very fast through things that justify more attention. This unevenness is part of what makes their proofs hard for humans to work through, but also means they are generally poor judges of what would actually constitute a decent simplification.