Tom de Jong 22nd May 2019
A few basic lemmas for working with partial elements of a type.
\begin{code}
{-# OPTIONS --safe --without-K #-}
open import MLTT.Spartan
module Lifting.Miscelanea (๐ฃ : Universe) where
open import Lifting.Construction ๐ฃ
open import UF.Equiv
open import UF.EquivalenceExamples
module _ {๐ค : Universe}
{X : ๐ค ฬ }
where
value-is-constant : (l : ๐ X) (d e : is-defined l) โ value l d ๏ผ value l e
value-is-constant l d e = ap (value l) (being-defined-is-prop l d e)
๏ผ-of-values-from-๏ผ : {l m : ๐ X} {d : is-defined l} {e : is-defined m}
โ l ๏ผ m โ value l d ๏ผ value m e
๏ผ-of-values-from-๏ผ {l} {m} {d} {e} refl = value-is-constant l d e
๏ผ-to-is-defined : {l m : ๐ X} โ l ๏ผ m โ is-defined l โ is-defined m
๏ผ-to-is-defined e d = transport is-defined e d
โฅ-is-not-ฮท : (x : X) โ โฅ โ ฮท x
โฅ-is-not-ฮท x e = โ one-๐-only โ (๏ผ-to-is-defined (e โปยน) โ)
\end{code}