Skip to content

Latest commit

 

History

History
51 lines (42 loc) · 2.99 KB

File metadata and controls

51 lines (42 loc) · 2.99 KB

Martin Escardo. Notes originally written for the module Advanced Functional Programming of the University of Birmingham, UK.

  1. Introduction
  2. Propositions as types and basic Martin-Löf type theory
    1. Basic Martin-Löf Type Theory
    2. Empty type 𝟘
    3. Unit type 𝟙
    4. Binary type 𝟚
    5. Product types Π
    6. Sum types Σ
    7. Binary products _×_
    8. Binary sums _∔_
    9. Identity types _≡_
    10. Natural numbers
    11. Negation ¬
    12. Function extensionality
  3. Propositions as types versus propositions as booleans
  4. Isomorphisms
    1. Definition and basic examples
    2. Binary sums as a special case of sums
    3. Binary products as a special case of products
  5. More types, their elimination principles, and their isomorphism with Basic MLTT types
    1. Booleans and their manifestation as a Basic MLTT type
    2. Finite types and their manifestation as a Basic MLTT type
    3. Lists
    4. Vectors
    5. List and vector isomorphisms
  6. More constructions and proofs with the above types:
    1. Natural numbers
    2. Booleans
    3. Finite types
    4. Lists
    5. Vectors
  7. Hedberg's Theorem

Advanced further reading

  1. Introduction to Homotopy Type Theory and Univalent Foundations (HoTT/UF) with Agda.

Follow the links

Each of the links above will take you to a different Agda module. You can use this to interactively explore the lecture notes: the Agda code is all type-checked (with the exception of some exercises which are left as holes, {! !}), and presented as hypertext. Click on an identifier to be taken to its definition.