处理集合中的异构路径

Handling heterogeneous paths in a set

我在 Set 中有两条异构路径,它们具有相同的端点但在不同的 路径。它们之间如何填写?

更具体地说,这是我的代码,foo 是我的问题:

{-# OPTIONS --cubical #-}

module _ where

open import Cubical.Core.Everything
open import Cubical.Foundations.Everything hiding (assoc)

variable
  ℓ : Level
  A : Type ℓ
  B : A → Type ℓ
  x y : A

module _
  (AIsSet : isSet A)
  (p q : Path A x y)
  (BIsProp : ∀ x → isProp (B x))
  {x′ : B x}
  {y′ : B y}
  where

  p′ : PathP (λ i → B (p i)) x′ y′
  p′ = isProp→PathP BIsProp p x′ y′

  q′ : PathP (λ i → B (q i)) x′ y′
  q′ = isProp→PathP BIsProp q x′ y′

  foo : PathP (λ i → PathP (λ j → B (AIsSet x y p q i j)) x′ y′) p′ q′
  foo = ?
    where
      doesThisHelp? : ∀ j → PathP (λ i → B (AIsSet x y p q i j)) (p′ j) (q′ j)
      doesThisHelp? j = isProp→PathP BIsProp (λ i → AIsSet x y p q i j) (p′ j) (q′ j)

这是你想使用的时候 isOfHLevel→isOfHLevelDep:

  foo : PathP (λ i → PathP (λ j → B (AIsSet x y p q i j)) x′ y′) p′ q′
  foo = let r = isOfHLevel→isOfHLevelDep {n = 2} (\ a → hLevelSuc 1 (B a) (BIsProp a)) in
        r x′ y′ p′ q′ (AIsSet x y p q)

doesThisHelp? 可能不会,因为它正在构建一个正方形,其中两个边是 p'q' 但您不知道其他两个边是什么。而 foo 指定其他两侧(恒定)为 x'y'.