module 1Lab.Path.Cartesian where
Coercionπ
Our interval type is equipped with the structure of a De Morgan algebra. This is not the only choice of structure on the interval that gives a model of univalent type theory: We could also subject the interval to no additional structure other than what comes from the structural rules of type theory (introducing variables, ignoring variables, swapping variables, etc). This is a different cubical type theory, called Cartesian cubical type theory.
In Cartesian cubical type theory, rather than our transp operation, the
fundamental operation for manipulating paths is coe, which implements an
arbitrary change of interval variables
Our De Morgan interval lets us implement an approximation of the coe operation by transporting
along a function of three variables
which βinterpolatesβ between
and
as
increases.
The interpolation function weβre using was discovered by Tom Jack, who kindly allowed us to use it here on the 1Lab:
I-eq : I β I β I I-eq i j = (i β§ j) β¨ (~ i β§ ~ j) I-interp : I β I β I β I I-interp t x y = (~ t β§ x) β¨ (t β§ y) β¨ (x β§ y)
coe : β {β : I β Level} (A : β i β Type (β i)) (i j : I) β A i β A j coe A i j a = transp (Ξ» k β A (I-interp k i j)) (I-eq i j) a
To show that this definition computes as expected, we can compare it to the other coercion operations (squeezes and spreads) weβve already defined by hand:
coei0β0 : β {β} (A : I β Type β) a β coeiβ0 A i0 a β‘ a coei1β0 : β {β} (A : I β Type β) a β coeiβ0 A i1 a β‘ coe1β0 A a coei0β1 : β {β} (A : I β Type β) a β coeiβ1 A i0 a β‘ coe0β1 A a coei1β1 : β {β} (A : I β Type β) a β coeiβ1 A i1 a β‘ a coeiβi0 : β {β} (A : I β Type β) i a β coe A i i0 a β‘ coeiβ0 A i a coeiβi1 : β {β} (A : I β Type β) i a β coe A i i1 a β‘ coeiβ1 A i a coei0βi : β {β} (A : I β Type β) i a β coe A i0 i a β‘ coe0βi A i a coei1βi : β {β} (A : I β Type β) i a β coe A i1 i a β‘ coe1βi A i a
Impressively, all these computation rules are refl:
coei0β1 A a = refl coei1β1 A a = refl coei1β0 A a = refl coei0β0 A a = refl coeiβi0 A i a = refl coei0βi A i a = refl coeiβi1 A i a = refl coei1βi A i a = refl
This definition of coe is an approximation because
the following equation, saying that staying in the fibre
is definitionally the identity, can only be shown propositionally. In
Cartesian cubical type theories, coeiβi is instead one of the
definitional equalities that characterises coe.
coeiβi : β {β} (A : I β Type β) i x β coe A i i x β‘ x coeiβi A i x j = transp (Ξ» _ β A i) (j β¨ i β¨ ~ i) x