Module prop::hott

source ·
Expand description

Homotopy Type Theory

Notice! This module is experimental and in early stages of development.

This is a model of Homotopy Type Theory that attempts to be similar to the version in the standard HoTT book.

Structs

  • Identity type.
  • Whether some type is a homotopy proposition.
  • Reflexivity proof of identity type.

Functions

  • (f : x -> y) ⋀ id{x}(a, b) => id{y}(f(a), f(b)).
  • (f : x => y) ⋀ id{x}(a, b) => id{y}(f(a), f(b)).
  • is_contr(a) => a.
  • (id{x}(a, b) ⋀ id{x}(a, c)) => id{x}(c, b).
  • (id{x}(a, b) ⋀ id{x}(b, c)) => id{x}(a, b).
  • id{x}(a, b) => (a == b).
  • (x : type(n)) ⋀ (a : x) ⋀ (b : x) => id{x}(a, b) : type(n).
  • (is_groupoid(x) ⋀ (a : x) ⋀ (b : x) ⋀ (p : id{x}(a, b)) ⋀ (q : id{x}(a, b)) ⋀ (hp : id{id{x}(a, b)}(p, q)) ⋀ (hq : id{id{x}(a, b)}(p, a))) => id{id{id{x}(a, b)}(p, q)}(hp, hq).
  • (is_groupoid(x) ⋀ (a : x) ⋀ (b : x)) => is_set(id{x}(a, b)).
  • (is_htype(n+1, x) ⋀ (a : x) ⋀ (b : x)) => is_htype(n, id{x}(a, b)).
  • (is_prop(x) ⋀ (a : x) ⋀ (b : x)) => id{x}(a, b).
  • (is_set(x) ⋀ (a : x) ⋀ (b : x) ⋀ (p : id{x}(a, b)) ⋀ (q : id{x}(a, b))) => id{id{x}(a, b)}(p, q).
  • (is_set(x) ⋀ (a : x) ⋀ (b : x)) => is_prop(id{x}(a, b)).
  • (a : x) => refl{x}(a) : id{x}(a, a).
  • a => is_contr(a).
  • is_contr(true).

Type Definitions

  • Whether some type is a homotopy proposition of level 0.
  • Whether some type is a groupoid.
  • Whether some type is a homotopy n-groupoid.
  • Whether some type is a homotopy proposition of level 1.
  • Whether some type is a homotopy proposition of level 2.