Symbols: Special symbols
Preface
Basics: Functional Programming in Coq
- Introduction
- Enumerated Types
- Proof by Simplification
- Proof by Rewriting
- Proof by Case Analysis
- More Exercises
- Optional Material
Induction: Proof by Induction
Lists: Working with Structured Data
Poly: Polymorphism and Higher-Order Functions
MoreCoq: More About Coq
- The apply Tactic
- The apply ... with ... Tactic
- The inversion tactic
- Using Tactics on Hypotheses
- Varying the Induction Hypothesis
- Using destruct on Compound Expressions
- Review
- Additional Exercises
Logic: Logic in Coq
- Propositions
- Proofs and Evidence
- Conjunction (Logical "and")
- Iff
- Disjunction (Logical "or")
- Falsehood
- Negation
Prop: Propositions and Evidence
- Inductively Defined Propositions
- Additional Exercises
- Relations
- Programming with Propositions Revisited
MoreLogic
ProofObjects: Working with Explicit Evidence in Coq
MoreInd: More on Induction
Review1: Review Session for First Midterm
- General Notes
- Expressions and Their Types
- Inductive Definitions
- Tactics
- Proof Objects
- Functional Programming
- Judging Propositions
- More Type Checking
SfLib: Software Foundations Library
- From the Coq Standard Library
- From Basics.v
- From Props.v
- From Logic.v
- From Later Files
- Some useful tactics
Imp: Simple Imperative Programs
- Arithmetic and Boolean Expressions
- Coq Automation
- Evaluation as a Relation
- Expressions With Variables
- Commands
- Evaluation
- Reasoning About Imp Programs
- Additional Exercises
ImpParser: Lexing and Parsing in Coq
ImpCEvalFun: Evaluation Function for Imp
Extraction: Extracting ML from Coq
Equiv: Program Equivalence
- Behavioral Equivalence
- Properties of Behavioral Equivalence
- Program Transformations
- Proving That Programs Are Not Equivalent
- Extended exercise: Non-deterministic Imp
- Doing Without Extensionality (Optional)
- Additional Exercises
Hoare: Hoare Logic, Part I
Hoare2: Hoare Logic, Part II
- Decorated Programs
- Finding Loop Invariants
- Weakest Preconditions (Advanced)
- Formal Decorated Programs (Advanced)
Smallstep: Small-step Operational Semantics
- A Toy Language
- Relations
- Multi-Step Reduction
- Small-Step Imp
- Concurrent Imp
- A Small-Step Stack Machine
Review2: Review Session for Second Midterm
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
This page has been generated by coqdoc