mirror of
https://github.com/achlipala/frap.git
synced 2024-11-28 07:16:20 +00:00
Formal Reasoning About Programs
0aac2cbdda
I think there's a typo for stack machine compiler - PushVar should push x not n. |
||
---|---|---|
.gitignore | ||
_CoqProject | ||
AbstractInterpret.v | ||
AbstractInterpretation.v | ||
BasicSyntax.v | ||
BasicSyntax_template.v | ||
Frap.v | ||
frap_book.tex | ||
Imp.v | ||
index.html | ||
Interpreters.v | ||
Interpreters_template.v | ||
Invariant.v | ||
Makefile | ||
Map.v | ||
ModelCheck.v | ||
ModelChecking.v | ||
ModelChecking_template.v | ||
OperationalSemantics.v | ||
OperationalSemantics_template.v | ||
README.md | ||
Relations.v | ||
Sets.v | ||
TransitionSystems.v | ||
TransitionSystems_template.v | ||
Var.v |
Formal Reasoning About Programs
This is an in-progress, open-source book by Adam Chlipala simultaneously introducing the Coq proof assistant and techniques for proving correctness of programs. That is, the game is doing completely rigorous, machine-checked mathematical proofs, showing that programs meet their specifications.
Just run make
here to build everything, including the book frap.pdf
and the accompanying Coq source modules.
Code associated with the different chapters
- Chapter 2:
BasicSyntax.v
- Chapter 3:
Interpreters.v
- Chapter 4:
TransitionSystems.v
- Chapter 5:
ModelChecking.v
- Chapter 6:
OperationalSemantics.v
- Chapter 7:
AbstractInterpretation.v