Skip to content

mwpb/introduction-univalence-coq

Repository files navigation

Introduction to univalence in Coq

Some exercises leading up to the formulation of the univalence axiom using the Coq proof assistant.

Files ending in *Solution.v contain proofs; other *.v files have the proofs removed.

Getting started

Install Coq here.

If developing in emacs place the following lines:

(setq coq-load-path-include-current t)
(setq coq-compile-before-require t)

in your init file. If not then you may have to run coqc on the various dependencies to run the proofs. For instance in CoqIde (which is automatically installed alongside Coq) you may need to do

Compile > Compile buffer

on any files that Coq has trouble loading. Hopefully the addition of a line in _CoqProject has taken care of LoadPath issues. If not please try the solution suggested here.

Intended order of files

  1. inductionAndFunctions.v introduces the Inductive and Definition keywords as well as the induction, destruct and apply tactics.
  2. lemmas.v introduces proofs as programmes and the simpl and rewrite tactics.
  3. propositionsSets.v introduces the basic ideas to analyse equivalences.
  4. equivalencesDefinitions.v introduces the various different types of equivalence.
  5. equivalences.v proves that the type of contractible maps is a proposition; introduces assert.
  6. univalence.v formulates the univalence axiom using contractible maps.
  7. productStrictlyAssoc.v uses the univalence axiom to prove that the product type construction is strictly associative in the appropriate sense.

Acknowledgements

About

Theory and exercises for formulating the univalence axiom using the Coq proof assistant.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published