I am reading the article about extensional type theory on n-lab and it mentions two ways to make intensional type theory extensional.
- Definitional: Add rule
p:Id(x,y) => x===y
- Propositional: Add one of the following to the type theory
- axiom UIP
- axiom K
- axiom stating
Id((a,b_1),(a,b_2)) => Id(b_1,b_2)
where(a,b_1)
and(a,b_2)
are both dependent pairs - add unconstrained pattern matching as in original Agda
My question is are these two ways equivalent?
Specifically, if so, can one derive p:Id(x,y) => x===y
from axiom K or UIP?