一元常数公理是可逆的(模路径)吗?是否可以使用Agda's Cubical library来证明以下内容:
open import Cubical.Core.Glue
uaInj : ∀ {ℓ} {A B : Set ℓ} {f g : A ≃ B} →
ua f ≡ ua g → equivFun f ≡ equivFun g
我怀疑上面的内容应该成立,因为在the HoTT book的示例3.19中,证明中存在一步,其中两个等价之间的等价用于证明它们的功能之间的等价:
[...]因此
f
是一个 等价。因此,由于f
的不言而喻,便产生了一条路径p : A ≡ A
。如果
p
等于refl A
,那么{同样地,通过无保留)f
将等于A
的身份功能。
答案 0 :(得分:1)
当然,ua
是等价的,因此是单射的。在HoTT书中,ua
的倒数是idtoeqv
,因此,根据同余度idtoeqv (ua f) ≡ idtoeqv (ua g)
然后通过倒数f ≡ g
。我对立方Agda前奏的内容不熟悉,但这应该可以证明,因为它直接来自于无节制的陈述。
答案 1 :(得分:1)
要将András's answer放入代码中,我们可以证明等效函数的一般性:
equivInj : ∀ {ℓ₁ ℓ₂} {A : Set ℓ₁} {B : Set ℓ₂} (f : A ≃ B) →
∀ x x′ → equivFun f x ≡ equivFun f x′ → x ≡ x′
equivInj f x x′ p = cong fst $ begin
x , refl ≡⟨ sym (equivCtrPath f (equivFun f x) (x , refl)) ⟩
equivCtr f (equivFun f x) ≡⟨ equivCtrPath f (equivFun f x) (x′ , p) ⟩
x′ , p ∎
然后给出
univalence : ∀ {ℓ} {A B : Set ℓ} → (A ≡ B) ≃ (A ≃ B)
我们得到
uaInj : ∀ {ℓ} {A B : Set ℓ} {f g : A ≃ B} → ua f ≡ ua g → equivFun f ≡ equivFun g
uaInj {f = f} {g = g} = cong equivFun ∘ equivInj (invEquiv univalence) f g
唯一的问题是Cubical
库中的univalence
is not readily available。希望很快就能解决。
更新:针对上述错误单,proof of univalence is now available in the Cubical
library。