Machine-checked using Coq 8.6. Contents: Generic Utility Concepts Util: Notations for lists and decidable equality Module Correctness Programs: The syntax of programs. Parameterized over the set of types, values, and operators, and the well-founded type of levels. ProgramExecution: Relates programs to outcomes (termination with a result value or divergence). ProgramCorrectness: Correctness of a class, and correctness of a program in terms of correctness of its classes. WellTyped: Well-typedness of a program. Implies that the import graph is acyclic. Soundness: Correct well-typed programs do not diverge. Specification Style NonWf: Relates well-foundedness to descending chains. Used by WellOrderingTheoremEx....