Certified Programming with Dependent Types
Introduction
Some Quick Examples
Introducing Inductive Types
Inductive Predicates
Infinite Data and Proofs
Subset Types and Variations
More Dependent Types
Dependent Data Structures
Reasoning About Equality Proofs
Generic Programming
Universes and Axioms
Proof Search in Ltac
Proof by Reflection
Proving in the Large
First-Order Abstract Syntax
Higher-Order Abstract Syntax
Type-Theoretic Interpreters
Extensional Transformations
Intensional Transformations
Modeling Impure Languages