Proof search tactic for Lean 4, automating obvious proofs
Top 92.5% on sourcepulse
Aesop is a proof automation tactic for Lean 4, designed to automate the process of finding proofs for mathematical theorems. It targets Lean 4 users, from researchers to power users, aiming to significantly reduce the manual effort required in formalizing mathematics by providing a flexible and extensible automation framework.
How It Works
Aesop operates by building a search tree of potential proof steps. Users define "rules" (which can be arbitrary Lean tactics) and tag them with an @[aesop]
attribute. Aesop normalizes the initial goal using a customizable set of rules (including simp_all
), then recursively applies registered rules to generated subgoals. Rules can be marked as "safe" (applied eagerly, no backtracking) or "unsafe" (backtrackable, with a user-assigned success probability to guide the search). This best-first search strategy prioritizes more promising proof paths, making it efficient even with large rule sets.
Quick Start & Requirements
lake build
after adding aesop from git "https://github.com/leanprover-community/aesop"
to your lakefile.lean
.std4
).import Aesop; example : α → α := by aesop
.Highlighted Details
apply
, forward
, destruct
, constructors
, cases
, simp
, unfold
, tactic
).aesop?
) for manual inspection and optimization.simp
tactic for normalization.Maintenance & Community
Licensing & Compatibility
Limitations & Caveats
1 week ago
1 day