经过几个小时尝试不同版本后,我放弃了。我只想对HoTT-Book中所述的平等传递性证据进行检验。我是Agda的新手,所以它可能只是一个小缺陷,也可能是一个更大的缺陷......不知道。我在Agda为HoTT咨询了不同的库,但我找到的那些(在我看来)有相当复杂的解决方案。
trans : ∀ {ℓ} (A : Type ℓ) (x y : A)
→ (x == y) → (z : A) → (y == z) → (x == z)
trans A x y = pathInd (λ p → (z : A) → (y == z) → (x == z))
(λ x → pathInd (λ x → (z : A) → (x == z) → (x == z))) (λ x → refl x))
它基于以下路径归纳的实现。
pathInd : ∀ {m n} {A : Type m} (P : {x y : A} → (x == y) → Type n) →
(∀ x → P (refl x)) → ∀ {x y} (p : (x == y)) → P p
pathInd P r (refl x) = r _
感谢您的帮助。