←back to thread

173 points ndrwnaguib | 2 comments | | HN request time: 0.001s | source

This project aims to formalize the first volume of Prof. Bertrand Russell’s Principia Mathematica using the Lean theorem prover. Throughout the formalization, I tried to rigorously follow Prof. Russell’s proof, with no or little added statements from my side, which were only necessary for the formalization but not the logical argument. Should you notice any inaccuracy (even if it does not necessarily falsify the proof), please let me know as I would like to proceed with the same spirit of rigour. Before starting this project, I had already found Prof. Elkind’s formalization of the Principia using Rocq (formerly Coq), which is much mature work than this one. However, I still thought it would be fun to do it using Lean4.

https://ndrwnaguib.com/principia/

https://github.com/ndrwnaguib/principia

Show context
grandempire ◴[] No.43798570[source]
It looks like you just have a few pages written. Is that right?

Which theorem are you trying to prove?

replies(1): >>43798672 #
1. ndrwnaguib ◴[] No.43798672[source]
Yes; the goal is to finish the first volume. I am particularly looking forward to formalizing the well-known 1+1 proof.
replies(1): >>43798690 #
2. grandempire ◴[] No.43798690[source]
My understanding is the first bit follows first order logic fairly close but then diverges as Russel builds different classes of sets etc, do you have line of sight of how it’s going to translate?