add a missing blogpost
This commit is contained in:
parent
0e3a2e34e8
commit
c3174fe29b
|
@ -0,0 +1,83 @@
|
|||
title: Leibniz equality for truncated types in HoTT
|
||||
tags: type theory
|
||||
date: 2021-01-19 00:00
|
||||
---
|
||||
|
||||
Leibniz equality states that two things are equal if they are
|
||||
industinguishable by any predicates. For a type `A` and `a, b : A`:
|
||||
|
||||
Leq(A, a, b) ≡ ∏ (P : A → Prop), P a ⇔ P b
|
||||
|
||||
In the language of HoTT we can restate the definition slightly:
|
||||
|
||||
Leq(A, a, b) ≡ ∏ (P : A → hProp), P a = P b
|
||||
|
||||
where the last equality is equality of hProps: `P a =_hProp P b`.
|
||||
Since `hProp : hSet`, we have that `P a =_hProp P b : hProp` and,
|
||||
hence `Leq(A, a, b) : hProp`.
|
||||
|
||||
Because `Leq` is a proposition it cannot describe fully the actual
|
||||
identity type `Id(A, a, b)`. But it does accurately desctibe the
|
||||
equality in hSets.
|
||||
|
||||
Let `A : hSet`. Then we can define `Leq(A, a, b) <-> Id(A, a, b)`.
|
||||
First, we define `f : Id(A, a, b) → Leq(A, a, b)` by
|
||||
|
||||
f(p : a = b) ≡ λ (P : A → hProp). ap P p
|
||||
|
||||
In the other direction we define `g : Leq(A, a, b) → Id(A, a, b)`.
|
||||
Suppose we have `H : Leq(A, a, b)`. Then we just pick `h(x) ≡ (a = x)`,
|
||||
and `H(h) : (a = a) = (a = b)`, which we apply to `1_a`.
|
||||
|
||||
g(H : ∏ P, P a = P b) ≡
|
||||
let h = (λx. a = x) : A → hProp in
|
||||
transport (λ X. X) (H(h)) (idpath a)
|
||||
|
||||
So, for the equality on `hSet`s, the Leibniz equality coincides with
|
||||
the ML indentity type.
|
||||
|
||||
The question that I have is whether we can generalize it and define a
|
||||
complete tower of Leibniz equalities?
|
||||
This is what I mean, specifically.
|
||||
|
||||
For an (n+1)-Type `A` and `a, b : A`, we can define `Leq_n(A, a, b) :
|
||||
n-Type` as:
|
||||
|
||||
Leq_n(A, a, b) ≡ ∏ (P : A → n-Type), P a =_{n-Type} P b
|
||||
|
||||
We can still reuse the same functions `f` and `g`, which type check
|
||||
correctly. We can also show:
|
||||
|
||||
g(f(p : a = b)) = p
|
||||
|
||||
By induction
|
||||
|
||||
g(f(1_a)) = g(λP. ap P 1_a) = g (λP. 1_{P_a}) =
|
||||
(idpath (h(a) = h(a)))*(1_a) = 1_a
|
||||
|
||||
So we have a section `a = b → Leq_n(A, a, b)`. But showing that `f(g(H))
|
||||
= H` is complicated. It would be nice to see if it can be derived
|
||||
somehow.
|
||||
|
||||
In order to show that `f(g(H)) = H`, you need to show that for any `P`,
|
||||
|
||||
ap P (transport (H (λx. a = x)) 1a) = H P
|
||||
|
||||
Note that all the elements in the image of `f` satisfy this condition.
|
||||
So perhaps it will make sense to restrict the type `Leq(A, a, b)` to
|
||||
contain only such `H`s that satisfy the condition above?
|
||||
I am not sure, but it is something that might be worth looking into.
|
||||
|
||||
|
||||
Note that the definition of Leibniz equality that we consider here is different from the "unrestricted" Leibniz equality:
|
||||
|
||||
Leq_Type(A, a, b) ≡ ∏ (P : A → Type), P a ↔ P b
|
||||
|
||||
This Leibniz equality type has been studied in the context of intensional type theory in ["Leibniz equality is isomorphic to Martin-Löf identity, parametrically"](https://www.cambridge.org/core/journals/journal-of-functional-programming/article/abs/leibniz-equality-is-isomorphic-to-martinlof-identity-parametrically/50D76A9C314AB24E7CD46DA4A0A766EB) by Abel, Cockx, Devriese, Timany, and Wadler.
|
||||
They show that, under the assumptions of parametricity/under the parametricity translation, the above `Leq_Type` is isomorphic to the standard intensional equality type.
|
||||
|
||||
It might be interesting to compare the "truncated" and "unrestricted" Leibniz equality types.
|
||||
For example, we can represent a type as a [colimit of a sequence of n-truncations](https://homotopytypetheory.org/2014/06/30/fibrations-with-em-fiber/).
|
||||
Does this connection somehow lift to representation of `Leq_Type` in terms of `Leq_n`'s?
|
||||
|
||||
Let me know if you have any ideas on this topic.
|
Loading…
Reference in New Issue