module foundations.sigma-type-identity where
open import foundations.universe open import foundations.identity-type open import foundations.sigma-type open import foundations.transport open import foundations.bi-invertible-map open import foundations.quasi-inverse-to-bi-invertible-map open import foundations.function open import foundations.homotopy
private variable
  ℓ : Level
  A : Type ℓ
  B : A → Type ℓ
module _ {v w : Σ A B} where
  fromΣId : v = w
    → Σ[ q ∈ fst v = fst w ] (subst B q (snd v) = snd w)
  fromΣId refl = refl , refl
この関数fromΣIdは同値である:
  ΣId : biinv fromΣId
  ΣId = QuasiInv⇒biinv (record
    { g = λ {(refl , refl) → refl}
    ; linv = λ {refl → refl}
    ; rinv = λ {(refl , refl) → refl}
    })
  toΣId : Σ[ q ∈ fst v = fst w ] (subst B q (snd v) = snd w)
    → v = w
  toΣId = ΣId .fst .fst