Homotopy Type Theory higher observational type theory > history (Rev #2)

Contents

Idea

Higher observational type theory involves a different definition of identity types where the identity types are defined recursively for each type former rather than uniformly across all types.

Definitions

We are working in a dependent type theory with universes.

The identity types in higher observational type theory have the following formation rule:

A:𝒰a:𝒯 𝒰(A)b:𝒯 𝒰(A)id A(a,b):𝒰\frac{A:\mathcal{U} \quad a:\mathcal{T}_\mathcal{U}(A) \quad b:\mathcal{T}_\mathcal{U}(A)}{\mathrm{id}_A(a, b):\mathcal{U}}

We define a general congruence term called ap

x:Af:Bp:id A(a,a )ap x,f(p):id B(f[a/x],f[a /x])\frac{x:A \vdash f:B \quad p:\mathrm{id}_A(a, a^{'})}{\mathrm{ap}_{x,f}(p):\mathrm{id}_B(f[a/x], f[a^{'}/x])}

and the reflexivity terms:

a:Arefl a:id A(a,a)\frac{a:A}{\mathrm{refl}_{a}:\mathrm{id}_A(a, a)}

and computation rules for identity functions

ap x,x(p)p\mathrm{ap}_{x,x}(p) \equiv p

and for constant functions yy

ap x,y(p)refl y\mathrm{ap}_{x,y}(p) \equiv \mathrm{refl}_{y}

Thus, ap is a higher dimensional explicit substitution. There are definitional equalities

ap x,f(refl a)refl f[a/x]\mathrm{ap}_{x,f}(\mathrm{refl}_{a}) \equiv \mathrm{refl}_{f[a/x]}
ap y,g(ap x,f(p))ap x,g[f/y](p)\mathrm{ap}_{y,g}(\mathrm{ap}_{x,f}(p)) \equiv \mathrm{ap}_{x,g[f/y]}(p)
ap x,t(p)refl t\mathrm{ap}_{x,t}(p) \equiv \mathrm{refl}_{t}

for constant term tt.

Identity types for universes

Let A 𝒰BA \cong_\mathcal{U} B be the type of bijective correspondences between two terms of a universe A:𝒰A:\mathcal{U} and B:𝒰B:\mathcal{U}, and let id 𝒰(A,B)\mathrm{id}_\mathcal{U}(A, B) be the identity type between two terms of a universe A:𝒰A:\mathcal{U} and B:𝒰B:\mathcal{U}. Then there are rules

R:A 𝒰BR^:id 𝒰(A,B)\frac{R:A \cong_\mathcal{U} B}{\widehat{R}:\mathrm{id}_\mathcal{U}(A, B)}
P:id 𝒰(A,B)Pˇ:A 𝒰B\frac{P:\mathrm{id}_\mathcal{U}(A, B)}{\widecheck{P}:A \cong_\mathcal{U} B}
R:A 𝒰BR^ˇR\frac{R:A \cong_\mathcal{U} B}{\widecheck{\widehat{R}} \equiv R}

Identity types for product types

Computation rules are defend for product types:

id A×B(s,t)id A(π 1(s),π 1(t))×id B(π 2(s),π 2(t))\mathrm{id}_{A \times B}(s, t) \equiv \mathrm{id}_{A}(\pi_1(s), \pi_1(t)) \times \mathrm{id}_{B}(\pi_2(s), \pi_2(t))

with computation rules for ap

ap x,(a,b)(p)(ap x,a(p),ap x,b(p))\mathrm{ap}_{x, (a,b)}(p) \equiv (\mathrm{ap}_{x,a}(p), \mathrm{ap}_{x,b}(p))
ap x,π 1(s)(p)π 1(ap x,s(p))\mathrm{ap}_{x, \pi_1(s)}(p) \equiv \pi_1(\mathrm{ap}_{x,s}(p))
ap x,π 2(s)(p)π 2(ap x,s(p))\mathrm{ap}_{x, \pi_2(s)}(p) \equiv \pi_2(\mathrm{ap}_{x,s}(p))

and computation rules for reflexivity

refl (a,b)(p)(refl a(p),refl b(p))\mathrm{refl}_{(a,b)}(p) \equiv (\mathrm{refl}_{a}(p), \mathrm{refl}_{b}(p))
refl π 1(s)(p)π 1(refl s(p))\mathrm{refl}_{\pi_1(s)}(p) \equiv \pi_1(\mathrm{refl}_{s}(p))
refl π 2(s)(p)π 2(refl s(p))\mathrm{refl}_{\pi_2(s)}(p) \equiv \pi_2(\mathrm{refl}_{s}(p))

Identity types and singleton contractibility

π 1(refl Aˇ)id A\pi_1(\widecheck{\mathrm{refl}_A}) \equiv \mathrm{id}_A

Singleton contractibility:

π 1(π 2(refl Aˇ): a:AisContr( b:Aid A(a,b))\pi_1(\pi_2(\widecheck{\mathrm{refl}_A}):\prod_{a:A} \mathrm{isContr}\left(\sum_{b:A} \mathrm{id}_A(a, b)\right)
π 2(π 2(refl Aˇ)): b:AisContr( a:Aid A(a,b))\pi_2(\pi_2(\widecheck{\mathrm{refl}_A})):\prod_{b:A} \mathrm{isContr}\left(\sum_{a:A} \mathrm{id}_A(a, b)\right)

Dependent identity types

Given x:AB:𝒰x:A \vdash B:\mathcal{U} we could define a dependent identity type as

id x.B p(u,v)π 1(ap x.B(p)ˇ)(u,v)\mathrm{id}_{x.B}^{p}(u, v) \coloneqq \pi_1(\widecheck{\mathrm{ap}_{x.B}(p)})(u, v)

There are also rules

id x.B refl a(u,v)id B[a/x](u,v)\mathrm{id}_{x.B}^{\refl_{a}}(u, v) \equiv \mathrm{id}_{B[a/x]}(u, v)

and for constant families

id x.B const p(u,v)id B(u,v)\mathrm{id}_{x.B_\mathrm{const}}^{p}(u, v) \equiv \mathrm{id}_{B}(u, v)

Identity types for function types

Computation rules are defined for function types:

id AB(f,g) a:A b:A q:id A(a,b)id B(f(a),g(b))\mathrm{id}_{A \to B}(f, g) \equiv \prod_{a:A} \prod_{b:A} \prod_{q:\mathrm{id}_{A}(a,b)} \mathrm{id}_{B}(f(a),g(b))

with computation rules for ap

ap x,f(b)(p)ap x,f(p)(b[a/x],b[a /x],ap x,b(p))\mathrm{ap}_{x, f(b)}(p) \equiv \mathrm{ap}_{x,f}(p)(b[a/x],b[a^{'}/x], \mathrm{ap}_{x,b}(p))

Computation rules are also defined for abstractions: TBD (involves currying)

Identity types for dependent function types

Identity types for dependent pair types

Presets

Just as in set theory a preset is a set without an equality relation, a preset in higher observational type theory is a type without a recursively defined identity type.

See also

References

  • Mike Shulman, Towards a Third-Generation HOTT Part 1 (slides, video)

Revision on April 29, 2022 at 18:04:21 by Anonymous?. See the history of this page for a list of all contributions to it.