Hasty Briefsbeta

Automated Lean Proofs for Every Type

19 hours ago
  • #SMT solvers
  • #Lean theorem prover
  • #automated proofs
  • The author explored using SMT solvers to automate Lean proofs during an internship at Galois.
  • They successfully saved over 6,800 lines of Lean code by automating proofs for the Jolt zkVM frontend.
  • SMT solvers are powerful for automating symbolic reasoning but have limitations, such as not handling Higher Order Logic.
  • Interactive theorem provers (ITPs) like Lean are more expressive but require manual effort for proofs.
  • Combining SMT solvers and Lean is challenging due to type mismatches and the need for user control over SMT theories and encodings.
  • The author developed a tactic to translate ZMod to Nat to BitVectors, significantly speeding up proof times.
  • The tactic solved 10 Jolt lookup table queries in under 3 minutes, outperforming finite field decision procedures.
  • A general framework for type translation in Lean remains an open problem, but the author's approach shows promise.
  • The project highlights the potential for SMT tactics to aid both humans and AI in making proofs smaller, faster, and easier to maintain.
  • The internship provided the author with a novel research direction and practical experience in combining SMT solvers and Lean.