Formal Reasoning About Programs
Find a file
2016-02-16 08:03:25 -05:00
.gitignore Publishing to web 2016-02-02 13:53:00 -05:00
_CoqProject TransitionSystems: factorial example finished 2016-02-14 11:41:41 -05:00
BasicSyntax.v Pass over BasicSyntax, adding template 2016-02-03 08:39:24 -05:00
BasicSyntax_template.v For Coq 8.5 compatibility, use [Admitted] instead of [admit] 2016-02-09 18:10:58 -05:00
Frap.v Add [first_order] 2016-02-15 19:39:36 -05:00
frap_book.tex TransitionSystems chapter: first full draft 2016-02-14 15:00:49 -05:00
index.html Incorporating a variety of changes and pull requests, after things got desync'd a bit 2016-02-09 20:21:19 -05:00
Interpreters.v Rename [map] to [fmap] 2016-02-09 09:07:37 -05:00
Interpreters_template.v For Coq 8.5 compatibility, use [Admitted] instead of [admit] 2016-02-09 18:10:58 -05:00
Invariant.v Renaming invariantFor_monotone to invariant_weaken 2016-02-15 18:59:39 -05:00
Makefile New Makefile target: lib, to build just the library, not the lecture code 2016-02-14 22:07:29 -05:00
Map.v Add Map remove 2016-02-09 22:44:03 -05:00
ModelChecking.v ModelChecking: another abstraction example 2016-02-16 08:03:25 -05:00
README.md Index to example source files for chapters 2016-02-13 19:45:22 -05:00
Relations.v Start of BasicSyntax code 2015-12-31 15:44:34 -05:00
Sets.v Some heftier ModelChecking examples 2016-02-14 19:23:26 -05:00
TransitionSystems.v Renaming invariantFor_monotone to invariant_weaken 2016-02-15 18:59:39 -05:00
Var.v Interpreters: factorial example 2016-02-06 22:09:37 -05:00

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