Martin Escardo, August 2023
Algebraic injectivity over small maps.
\begin{code}
{-# OPTIONS --safe --without-K #-}
open import UF.FunExt
module InjectiveTypes.OverSmallMaps (fe : FunExt) where
open import InjectiveTypes.Blackboard fe
open import MLTT.Spartan
open import UF.Embeddings
open import UF.Equiv
open import UF.Size
open import UF.Subsingletons
private
fe' : Fun-Ext
fe' {π€} {π₯} = fe π€ π₯
\end{code}
Added 3rd August 2023. Extensions over small embeddings induced by
algebraic flabbiness. The point is to reduce size without resizing
axioms. An application is in Taboos.Decomposability.
\begin{code}
module _ (D : π¦ Μ )
(D-is-flabby : aflabby D π£)
{X : π€ Μ }
{Y : π₯ Μ }
(j : X β Y)
(j-is-embedding : is-embedding j)
(j-small : j is π£ small-map)
(f : X β D)
where
private
R : Y β π£ Μ
R y = resized (fiber j y) (j-small y)
Ο : (y : Y) β R y β fiber j y
Ο y = resizing-condition (j-small y)
R-is-prop : (y : Y) β is-prop (R y)
R-is-prop y = equiv-to-prop (Ο y) (j-is-embedding y)
e : (y : Y) β Ξ£ d κ D , ((r : R y) β d οΌ f (prβ (β Ο y β r)))
e y = D-is-flabby (R y) (R-is-prop y) (Ξ» r β f (prβ (β Ο y β r)))
sflabby-extension : (Y β D)
sflabby-extension y = prβ (e y)
sflabby-extension-property : sflabby-extension β j βΌ f
sflabby-extension-property x =
sflabby-extension (j x) οΌβ¨ I β©
f (prβ (β Ο (j x) β (β Ο (j x) ββ»ΒΉ w))) οΌβ¨ II β©
f (prβ w) οΌβ¨ refl β©
f x β
where
w : fiber j (j x)
w = x , refl
I = prβ (e (j x)) (β Ο (j x) ββ»ΒΉ w)
II = ap (f β prβ) (β-sym-is-rinv (Ο (j x)) w)
aflabbiness-gives-injectivity-over-small-maps : Ξ£ f' κ (Y β D) , f' β j βΌ f
aflabbiness-gives-injectivity-over-small-maps = sflabby-extension ,
sflabby-extension-property
\end{code}
An extension property for injective types, with more general universes
and less general embeddings.
\begin{code}
ainjectivity-over-small-maps : {π€ π₯ π¦ π£β π£β : Universe}
β (π£β : Universe)
β (D : π¦ Μ )
β ainjective-type D (π£β β π£β) π£β
β {X : π€ Μ } {Y : π₯ Μ }
(j : X β Y)
β is-embedding j
β j is π£β small-map
β (f : X β D) β Ξ£ f' κ (Y β D) , f' β j βΌ f
ainjectivity-over-small-maps {π€} {π₯} {π¦} {π£β} {π£β} π£β D D-ainj =
aflabbiness-gives-injectivity-over-small-maps D
(aflabbiness-resizingβ {π¦} {π£β} {π£β} D (ainjective-types-are-aflabby D D-ainj))
\end{code}
Added by Martin Escardo and Tom de Jong 24th October 2024. This
improves the universe levels of BlackBoard.embedding-retract.
\begin{code}
open import UF.Retracts
embedding-retract' : {π€ π₯ π¦ π£ : Universe}
β (π£' : Universe)
β (D : π€ Μ ) (Y : π₯ Μ ) (j : D β Y)
β is-embedding j
β j is π£ small-map
β ainjective-type D (π£ β π£') π¦
β retract D of Y
embedding-retract' π£' D Y j e s i = prβ a , j , prβ a
where
a : Ξ£ f' κ (Y β D) , f' β j βΌ id
a = ainjectivity-over-small-maps π£' D i j e s id
\end{code}