‹ BackHN Continuity

Thread

Anatomy of a Lean proof for software engineers

128 points · 76 comments · abiro

  1. fooker · · focus · HN ↗
    Please do not try to understand Lean or proof assistants without first getting a rudimentary understanding of the logic involved. This article sort of skips over it, which is reasonable because it is pretty involved.

    Even if you have written a large number of math proofs, you'd usually not have learnt the language or logic of proofs themselves. And even if you are an accomplished computer scientist, logic is not just AND, OR, NOT.

    Here is some necessary reading, feel free to find better sources but wikipedia is good too.

    * Proof trees - <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Method_of_analytic_tableaux" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Method_of_analytic_tableaux

    * Constructive&#x2F;Intuitionistic logic - <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Intuitionistic_logic" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Intuitionistic_logic

    * Proofs and Types - <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Curry%E2%80%93Howard_correspondence" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Curry%E2%80%93Howard_correspon...

    * (In)completeness - <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;G%C3%B6del%27s_incompleteness_theorems" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;G%C3%B6del%27s_incompleteness_...

    * Compactness - <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Compactness_theorem" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Compactness_theorem

    1. auggierose · · focus · HN ↗
      All of these things are definitely not necessary to know about to successfully use Lean, and not even useful to know for proving things in Lean.
Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.