Working through http://www.cis.upenn.edu/~bcpierce/sf/current/index.html
Progress:
Chapter | Status |
---|---|
Preface | done |
Basics: Functional Programming in Coq | done, one [extra] proof too hard |
Induction: Proof by Induction | done! skipped informal proofs |
Lists: Working with Structured Data | done |
Poly: Polymorphism and Higher-Order Functions | complete |
MoreCoq: More About Coq | |
Logic: Logic in Coq | |
Rel: Properties of Relations | |
Prop: Propositions and Evidence | |
MoreLogic | |
ProofObjects: Working with Explicit Evidence in Coq | |
MoreInd: More on Induction | |
SfLib: Software Foundations Library | |
Imp: Simple Imperative Programs | proved the compiler! just bonus questions left.. |
ImpParser: Lexing and Parsing in Coq | done |
ImpCEvalFun: Evaluation Function for Imp | done |
Extraction: Extracting ML from Coq | done |
Equiv: Program Equivalence | started... |
Hoare: Hoare Logic, Part I | |
Hoare2: Hoare Logic, Part II | |
HoareAsLogic: Hoare Logic as a Logic | |
Smallstep: Small-step Operational Semantics | |
Auto: More Automation | |
Types: Type Systems | |
Stlc: The Simply Typed Lambda-Calculus | |
StlcProp: Properties of STLC | |
MoreStlc: More on the Simply Typed Lambda-Calculus | |
Sub: Subtyping | |
Typechecking | |
Records: Adding Records to STLC | |
References: Typing Mutable References | |
RecordSub: Subtyping with Records | |
Norm: Normalization of STLC | |
LibTactics: A Collection of Handy General-Purpose Tactics | |
UseTactics: Tactic Library for Coq: A Gentle Introduction | |
UseAuto: Theory and Practice of Automation in Coq Proofs | |
PE: Partial Evaluation | |
Postscript |