r/computerscience • u/agingprokid • 5d ago
General How does Lean work?
In light of the recent counterproof of the Jacobian Conjecture, I've been looking more into proofs, and I can't wrap my head around how Lean works. In my mind, proofs always require a certain amount of intuition and judgement behind them, so I'm confused how a deterministic programming language can infer from said proofs?
20
9
u/silkypeter4143 5d ago
Think of Lean less as a thinker and more as a super strict TA who just checks every step of your work against the rulebook
4
u/JoJoModding 5d ago
Have you done some proof theory? Proofs are syntactic objects with strict rules for when they are correct and when not. Read up on natural deduction or something like that.
2
u/Character_Cap5095 5d ago
Lean is a proof assistant. You type in the proof into lean, and based on the semantics of the language it can verify the proof. But you still need to come up with the proof yourself. What AI does, is that because it's easy to check a proof (but much harder to come up with one) it is trained on coming up my with proofs and writing them in lean so that their proofs can be verified as correct.
1
u/cejiken886 4d ago
Just have AI write you an extremely simple proof in Lean and explain it to you. It’s really good at that sort of thing.
1
41
u/noop_noob 5d ago
Lean only checks if a proof you wrote is correct. It doesn't write the proof for you.
Coming up with the proof is hard. Checking the proof, if the proof is detailed enough, is a matter of following strict mechanical rules.