Fermat's Last Theorem in Lean 4

(github.com)

41 points | by aaraujo002 4 hours ago

5 comments

  • black_knight 1 hour ago
    I wonder if any piece of the lean code is in a shape which means it could be contributed to one of the existing Lean libraries.

    My experience is that it takes a lot of human input to make Fable write code nice enough for a formalisation library others can work on. But since this is certainly a lot of prerequisites formalised as well, it would be nice if not all of the effort was wasted on one capstone proof! (Repost of a earlier comment, but I feel it fits better here)

    • kmoser 29 minutes ago
      Serious question: how do you prove that the Lean interpreter itself (not to mention the toolchain built around it) is error-free? Isn't this turtles all the way down to some degree?
      • ezwoodland 13 minutes ago
        You can only do so in another framework that might itself have bugs.

        Lean is called that because the hope is the part that has to be correct by inspection ("the kernel") is small or "lean".

        The kernel does have bugs sometimes.

    • Jhsto 1 hour ago
      My anecdotal experience is that while LLMs are quite good at closing theorems given an LSP to inspect the proof-tree, they suffer from similar kind of problems with proofs as they do with bigger codebases in any language -- finding reusable parts that can be built into libraries (that's lemmas in Lean 4 sense). However, Buzzard has many times said that he wouldn't care how big the proof is and how ugly it would be, as long as there would be a proof.
      • black_knight 49 minutes ago
        Kevin might not care, but I care more about building the foundation for future proofs and human understanding than I do about this particular result.
        • refulgentis 40 minutes ago
          Is any piece you've seen in good enough shape to be in a Lean library?
  • rawling 3 hours ago
  • abhv 1 hour ago
    This is a very impressive result. Bravo to that team.
  • ks2048 2 hours ago
    Now we have what Fermat tried to write in the margin: aa2d8b34692b16c70f699536de0d8e75b9a3e9ef
  • DoctorOetker 4 hours ago
    Mine is much shorter though...