Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Anders
Homotopy Type System with Strict Equality.
Features
Homepage: https://groupoid.space/homotopy
Fibrant MLTT-style ΠΣ primitives with strict equality in 500 LOC
Cofibrant CHM-style I primitives with pretypes hierarchy Vₙ in 500 LOC
Generalized Transport and Homogeneous Composition core Kan operations
Partial Elements
Cubical Subtypes
Strict Equality on pretypes
Parser in 80 LOC
Lexer in 80 LOC
UTF-8 support including universe levels
Lean syntax for ΠΣ
1D syntax with top-level declarations
Groupoid Infinity CCHM base library: https://groupoid.space/math
Best suited for academic papers and fast type checking
Setup
$ opam install anders
Samples
You can find some examples in the share directory of the Anders package.
def comp-Path⁻¹ (A : U) (a b : A) (p : Path A a b)
: Path (Path A a a) (comp-Path A a b a p (<i> p @ -i)) (<_> a)
:= <k j> hcomp A (-j ∨ j ∨ k)
(λ (i : I), [(j = 0) → a,
(j = 1) → p @ -i ∧ -k,
(k = 1) → a])
(inc (p @ j ∧ -k))
def kan (A : U) (a b c d : A) (p : Path A a c) (q : Path A b d) (r : Path A a b) : Path A c d
:= <i> hcomp A (i ∨ -i) (λ (j : I), [(i = 0) → p @ j, (i = 1) → q @ j]) (inc (r @ i))
def comp (A : I → U) (r : I) (u : Π (i : I), Partial (A i) r) (u₀ : (A 0)[r ↦ u 0]) : A 1
:= hcomp (A 1) r (λ (i : I), [(φ : r = 1) → transp (<j> A (i ∨ j)) i (u i φ)])
(inc (transp (<i> A i) 0 (ouc u₀)))
$ anders check path.anders
CCHM
Anders was built by strictly following these publications: