ݺߣ

ݺߣShare a Scribd company logo
Identity type
Dmytro Mitin
https://stepik.org/course/Introduction-to-programming-
with-dependent-types-in-Scala-2294/
March 2017
Dmytro Mitin Identity type
Equivalence relation
An equivalence relation ∼
1 Reflexivity
a ∼ a
2 Symmetry
a ∼ b =⇒ b ∼ a
3 Transitivity
a ∼ b , b ∼ c =⇒ a ∼ c
Dmytro Mitin Identity type
Identity type
1 Type Formation
Γ A : ∗ Γ a1 : A Γ a2 : A
Γ a1 =A a2 : ∗
2 Constructor
Γ a : A
Γ refl a : a =A a
3 Eliminator
. . .
4 Computation rules (”β-reduction“)
. . .
5 Uniqueness principle (”η-conversion“)
Dmytro Mitin Identity type

More Related Content

17 - Scala. Identity type. Curry–Howard correspondence