Martin Escardo 7th December 2018. Characterization of equality in the lifting via the structure of identity principle. \begin{code} {-# OPTIONS --without-K --exact-split --safe #-} open import SpartanMLTT module LiftingIdentityViaSIP (๐ฃ : Universe) {๐ค : Universe} {X : ๐ค ฬ } where open import UF-Base open import UF-Subsingletons open import UF-Subsingletons-FunExt open import UF-Equiv open import UF-EquivalenceExamples open import UF-FunExt open import UF-Univalence open import UF-UA-FunExt open import UF-StructureIdentityPrinciple open import Lifting ๐ฃ _โ_ : ๐ X โ ๐ X โ ๐ฃ โ ๐ค ฬ l โ m = ฮฃ e ๊ is-defined l โ is-defined m , value l โก value m โ โ e โ ๐-Id : is-univalent ๐ฃ โ (l m : ๐ X) โ (l โก m) โ (l โ m) ๐-Id ua = โก-is-โโ' where open gsip-with-axioms' ๐ฃ (๐ฃ โ ๐ค) (๐ฃ โ ๐ค) ๐ฃ ua (ฮป P โ P โ X) (ฮป P s โ is-prop P) (ฮป P s โ being-prop-is-prop (univalence-gives-funext ua)) (ฮป {l m (f , e) โ prโ l โก prโ m โ f}) (ฮป l โ refl) (ฮป P ฮต ฮด โ id) (ฮป A ฯ ฯ โ refl-left-neutral) โ-gives-โก : is-univalent ๐ฃ โ {l m : ๐ X} โ (l โ m) โ l โก m โ-gives-โก ua = โ ๐-Id ua _ _ โโปยน \end{code} When dealing with functions it is often more convenient to work with pointwise equality, and hence we also consider: \begin{code} _โยท_ : ๐ X โ ๐ X โ ๐ฃ โ ๐ค ฬ l โยท m = ฮฃ e ๊ is-defined l โ is-defined m , value l โผ value m โ โ e โ ๐-Idยท : is-univalent ๐ฃ โ funext ๐ฃ ๐ค โ (l m : ๐ X) โ (l โก m) โ (l โยท m) ๐-Idยท ua fe l m = (๐-Id ua l m) โ (ฮฃ-cong (ฮป e โ โ-funext fe (value l) (value m โ โ e โ))) \end{code}