| |
Chapter I: Overview of Foundations
- Intuitionistic logic
- Natural deduction
- lambda-calculus (terms, reduction, the Church-Rosser Theorem)
- Simple Types (Church versus Curry typing, normalization, extensions)
- The Curry-Howard isomorphism
- Introduction to operational semantics
- Domain theory (complete partial orders, continuous functions)
- Denotational semantics
Chapter II: Program Verification
- Dependent Types:
- First-order dependent types
- Type equivalence
- Sum types
- The calculus of inductive constructions
- Programming with dependent types
- Type-based proof assistants
- Interactive proof development
- Tactics and tacticals
- Inductive data types and predicates
- Program correctness: specification; partial and total correctness
- Verification of the correctness of functional programs:
- Extraction of the computational contents of a correctness proof
- Using programs for structuring correction proofs
- Axiomatic semantics of imperative programs:
- Assertions; semantics of assertions
- Hoare proof rules for correctness
- Tool support for the specification, verification, and certification of programs:
- Proof assistants
- Verification condition generators
- Alternative approaches to program verification
- Certifying compilation and proof-carrying code
Chapter III: Program Construction
- Introduction to the mathematics of program construction
- The specification / implementation dichotomy. Abstract modeling.
- Correct by verification versus correct by construction.
- Description versus calculation
- The Point-free (PF) transform
- Taxonomy of binary relations; simple relations and their role in abstract modeling
- Point-free notation and reasoning
- Rules of the PF-transform
- Categorical and allegorical foundations
- Universal properties and Galois connections
- Universal constructions and properties; natural properties
- Reynolds? relation and the free-theorem of polymorphism
- Galois connections and their corollaries
- Reasoning by PF-calculation
- PF-calculation of the consistency of a formal model: satisfiability and invariance
- Data-level calculation: representing and abstracting data models.
- Inductive program calculation
- Relational hylomorphisms
- Fixpoint calculus and Galois connections: the fixpoint fusion theorem
- Calculating recursive solutions for hylo-equations
- Open issues and hot topics in the mathematics of program construction
|
|
 Copyright © by the contributing authors. Ideas, requests, problems? Send feedback.
|
|
| |