[HN Gopher] Building the Mathematical Library of the Future
       ___________________________________________________________________
        
       Building the Mathematical Library of the Future
        
       Author : misotaur
       Score  : 74 points
       Date   : 2020-11-11 17:41 UTC (5 hours ago)
        
 (HTM) web link (www.quantamagazine.org)
 (TXT) w3m dump (www.quantamagazine.org)
        
       | ahelwer wrote:
       | Lean is the basis for my favorite puzzle game of the past five
       | years:
       | https://wwwf.imperial.ac.uk/~buzzard/xena/natural_number_gam...
       | 
       | It's like enemies & bosses are mathematical theorems you have to
       | prove. Each time you slay one, you get it as a weapon you can use
       | against further, more difficult bosses! The grand finale
       | (Inequality World) is very memorable; such a feeling of
       | accomplishment after I cracked it all. Then you zoom out and
       | realize the math you've defeated reaches, like, fourth grade at
       | most.
       | 
       | Lean revolutionized my understanding of math itself, which I
       | wrote about here: https://ahelwer.ca/post/2020-04-05-lean-
       | assignment/
        
       | dharmatech wrote:
       | Video demonstrating what it's like to use Lean interactively:
       | 
       | https://www.youtube.com/watch?v=p4IrbnPomXg
        
       | edgyquant wrote:
       | I've long awaited the day we have automated proof checking. As
       | someone who started in CS but went for a degree in Mathematics I
       | held on to the idea of some sort of test suite that newer
       | mathematicians (who have tend to come up with already existing or
       | already disproven proofs for fun while thinking they're on to
       | something) could run to determine if they're wasting their time
       | and it not have to be a class mate making fun of them (sadly I've
       | done this to kids who were just excited to try and learn, as if I
       | had any room to talk.)
       | 
       | And it would only scale from there, hell we could run such a test
       | suite against all known proofs and who knows how many ancient
       | theorems we could disprove. I don't think this is the test suite
       | but something like it and the ANN that OpenAI build to check
       | proofs is a good start.
        
         | ezequiel-garzon wrote:
         | What do you gain from automated proofs? Take the infinitude of
         | primes. Plenty of textbooks different proofs of this fact to
         | deepen your insight. Having an oracle-like entity tell me
         | whether something is true or false is unlikely to have the same
         | result, and I'm afraid "following the automated proof" won't
         | help much in this regard.
        
           | edgyquant wrote:
           | It's more something that can tell you if you've already been
           | disproven and it would save man hours.
        
           | dddbbb wrote:
           | Increased assurance that the proof is correct and the various
           | standard benefits of digital over analogue data. This
           | software automatically checks the validity of the proof (with
           | a very small, manually verified core of code doing so), it
           | does not automatically generate proofs wholesale. The proof
           | itself is written by the mathematician interactively, which
           | is still a manual process that requires skill, creativity and
           | thought.
        
           | Koshkin wrote:
           | > _automated proofs_
           | 
           | You've got a point, but in this case you are barking at the
           | wrong tree. Aren't they talking about automated proof-
           | _checking_?
        
           | mturmon wrote:
           | One of the usual examples given in reaction to this question
           | is the puzzle of Euclid's 5th postulate, the parallel-lines
           | postulate. People tried for centuries to prove that it could
           | be deduced from the other axioms. Turned out, it was
           | independent of the others.
           | 
           | A proof system could identify cases where you need hidden
           | assumptions in order to make proofs. In this case, you would
           | get a null result from the oracle, which would be valuable in
           | itself.
           | 
           | [1] https://en.wikipedia.org/wiki/Parallel_postulate
        
             | roywiggins wrote:
             | At best an proof-checker can invalidate a purported proof,
             | it absolutely is not going to prove that _no_ proofs are
             | valid (it would have to affirmatively prove that the result
             | is actually independent of the axioms you picked, which is
             | a lot harder)
        
       | yaseer wrote:
       | There are several proof assistants trying to do what lean is
       | doing (Coq, Isabelle to name but a few). Some of them have very
       | well funded research projects with similar goals:
       | https://cordis.europa.eu/project/id/742178
       | 
       | When programming 'business logic', the multitude of programming
       | languages is a good thing- it allows one to choose the best way
       | to model a problem.
       | 
       | With computer aided proofs, I do wonder if the multitude of
       | systems trying to create a mathematical library of Alexandria is
       | a good thing.
       | 
       | Essentially they're re-formalising the same theorems across
       | different languages. Certainly some languages will model a
       | specific problem better, but it does feel like a duplication of
       | effort.
        
         | dddbbb wrote:
         | It seems to me like Lean has a lot of the momentum at the
         | moment. It's clear that other projects like Coq suffer from a
         | lack of traditional mathematicians formalising modern,
         | fashionable topics. Kevin Buzzard's implementation in Lean of
         | perfectoid spaces is a great example of that boundary being
         | broken, as far as I can tell the most advanced Coq proofs are
         | the four colour theorem and Feit-Thompson theorem, which have
         | analogue proofs from the 60s and 70s.
        
           | auggierose wrote:
           | But you have to take into account that the Coq proofs are
           | actual proofs of big THEOREMS. What Buzzard has done is
           | implementing a big DEFINITION :-)
           | 
           | Also, the Flyspeck project has formalised the proof of a
           | pretty recent theorem as well, mostly in HOL-Light and
           | Isabelle.
        
         | raphlinus wrote:
         | There is work on making proofs portable from one system to
         | another. One effort is Dedukti, which is based on the idea that
         | "lambda pi modulo" is a universal logic for theorem provers. A
         | less ambitious effort is OpenTheory, which from what I can tell
         | is mostly about being able to interoperate between different
         | HOL flavors.
         | 
         | And one of the efforts I personally find most interesting is
         | Metamath Zero, which attempts to be an interchange format among
         | other things, with connections to HOL and Lean. See section 5
         | of: https://arxiv.org/abs/1910.10703
         | 
         | I think there are many provers which theoretically could be
         | used for this effort, and am not convinced Lean is the absolute
         | best, but I applaud the community for actually going ahead and
         | doing it, instead of farting around with tools and hoping the
         | library will magically happen (a valid critique of HoTT in my
         | opinion).
        
           | yaseer wrote:
           | Thanks for sharing! I Remember seeing Dedukti a while back,
           | but I haven't seen some of these newer translation efforts.
           | 
           | I do hope the translation systems are actively used to
           | consolidate, rather than built as an academic exercise.
           | 
           | There seems to be a large gap between vision ('our project
           | will encapsulate all of mathematics in one place') and
           | reality ('our project will just proliferate another standard
           | _' )
           | 
           | _https://xkcd.com/927/
        
           | dddbbb wrote:
           | The author of the Metamath Zero paper is actually one of the
           | most active contributors to the project described in the
           | article[0].
           | 
           | [0]: https://leanprover-
           | community.github.io/mathlib_stats.html
        
       | carterschonwald wrote:
       | Here's a nice paper and talk by the mathlib folks at a January
       | 2020 proofs and certified programs conf
       | https://popl20.sigplan.org/details/CPP-2020-papers/14/The-Le...
       | 
       | Might be fun reading for folks
        
       | breckinloggins wrote:
       | I wonder if in addition to the proofs this could also be used to
       | provide generated "meta textbooks". The towers of theorems must
       | be a graph, right? So shouldn't I be able to say "I want to
       | understand Calabi-Yau manifolds" and get a custom-made exercise
       | set all the way down to set theory?
       | 
       | Add an invertible "examples" generator so examples can become
       | exercises and keep track of all the exercises you've already done
       | (perhaps with some kind of spaced-repetition system built in) and
       | you can just keep "fleshing out" your own graph of practiced math
       | knowledge starting with wherever you want to look next.
        
         | AnimalMuppet wrote:
         | The tower of theorems may be a graph, but it is not a directed
         | acyclic graph. (You probably want it to be directed, though...)
         | 
         | That is, you want to get to Z? Well, you start at A. But you
         | can get there by the sequence B, D, H, R, Z, or you can get
         | there by B, C, F, H, R, Z, or by B, C, F, J, Q, S, U, Z. There
         | is more than one route to proving many important theorems.
        
           | jcranmer wrote:
           | The actual representation you want wouldn't be a regular
           | graph, but a graph distinguishing theorems and proofs, where
           | the antecedents of theorems are proofs of those theorems, and
           | the antecedents of proofs are theorems they rely on. This
           | kind of graph seems like it should come up regularly enough
           | to have a special name, but I haven't been able to find one.
           | 
           | One important property to note is that a fair number of
           | theorems exist where you can prove A with B or prove B with
           | A, so the underlying directed graph is definitely very
           | cyclic.
        
             | alanbernstein wrote:
             | Maybe you've encountered it before, but your comment sort
             | of reminds of the concept of a hypergraph
             | (https://en.wikipedia.org/wiki/Hypergraph).
             | 
             | I'm not sure if this is equivalent or related, but I'm
             | imagining an object which can contain, let's call them
             | hypernodes. For example, in the case where A and B mutually
             | imply each other, (A, B) is a hypernode, which internally
             | contains a graph representing the relationship between A
             | and B, but that relationship can be ignored in the main
             | graph. I imagine this would become untenable with a
             | slightly more complex network, though.
        
       | kxyvr wrote:
       | This is actually pretty cool. Every time theorem proving comes
       | up, I make some mild complaints about not having any examples
       | from real analysis or calculus like the mean value theorem. They
       | in fact do and they can be found here [1]. Personally, I don't
       | find it particularly easy to read, but I am appreciative that
       | there are some good examples of proofs that more people would be
       | familiar with than, for example something from number theory.
       | 
       | [1] https://leanprover-
       | community.github.io/mathlib_docs/analysis...
        
       ___________________________________________________________________
       (page generated 2020-11-11 23:01 UTC)