8.16.0.1
3.8 Equality
(require cur/stdlib/equality) | package: cur-lib |
This library defines the Paulin-Mohring and Martin-Löf equality types.
2 parameter type
== : (-> (A : Type) (x : A) (y : A) Type)
constructor
procedure
A : Type n : A m : A n=m : (PM-= A n m)
procedure
A : Type a : A b : A c : A H1 : (PM-= A a b) H2 : (PM-= A b c)
2 parameter type
PM-= : (-> (A : Type) (x : A) (y : A) Type)
constructor
The Paulin-Mohring equality type (PM equality).
Also provided as == and refl, as this should be considered the default equality.
Examples:
> (:: (PM-refl Nat z) (PM-= Nat z z)) ::: unbound identifier in module
> (new-elim (PM-refl Nat z) (lambda (x : Nat) (t : (PM-= Nat z x)) (PM-= Nat z z)) (PM-refl Nat z)) (refl (Nat) (z))
A proof of symmetry for PM equality.
Also provided as sym.
A proof of transitivity for PM equality.
Also provided as trans.
1 parameter type
ML-= : (-> (A : Type) (x : A) (y : A) Type)
constructor
The Martin-Löf equality type (ML equality).
Examples: