LTLCheck - Linear Temporal Logic model checker written in Lean 4
Build
-
Install Lean 4 as described there or there. Optionally, install the Lean 4 VSCode plugin for interactive editing.
-
Run
lake build
Resulting binary can be accessed at ./build/bin/ltlcheck
.
Project structure
Main.lean
— main executable code (just running the tests).
Ltlcheck.lean
— placeholder file, imports everything in Ltlcheck/
.
Ltlcheck/Util.lean
— utility definitions and functions.
Ltlcheck/Automata.lean
— definitions of transition systems, Buchi automata,
conversions between them, handshake and interleaving products.
Ltlcheck/Ltl.lean
— definition of LTL formulas, LTL-to-Buchi translation,
property checking for transition systems.
Ltlcheck/Syntax.lean
— syntax extension for LTL.
Ltlcheck/Tests.lean
— illustrated test cases.