logoalt Hacker News

thevivekpandeytoday at 3:40 AM1 replyview on HN

In lean, a theorem is specified by a type (in their highly complex "dependent type system") and proof is specified by a code that produces a term of that type.

If the compiler certifies that the code indeed produces a term of that type, then the proof is correct.

So, only need to trust: (1) That theorem statement is correctly encoded (FLT has a very short 1 liner description really)

(2) Lean compiler is correct


Replies

gorgolotoday at 5:11 AM

> That theorem statement is correctly encoded (FLT has a very short 1 liner description really)

As someone not very familiar with Lean, does it really just depend on the entry point / theorem being correctly encoded? Can intermediate statements ever be mis encoded or misinterpreted, or is this what would count as a “bug in the Lean compiler”?

show 3 replies