InjectiveTypes.ExamplesCounterExamplesArticle
Tom de Jong and Martin Escardo January 2026 This file follows the definitions, equations, lemmas, propositions, theorems and remarks of our paper Tom de Jong and MartΓn HΓΆtzel EscardΓ³ Examples and counterexamples of injective types January 2026 https://arxiv.org/abs/2601.12536{-# OPTIONS --safe --without-K #-}Our global assumptions are univalence and the existence of propositional truncations. Function extensionality and propositional extensionality can be derived from univalence.open import UF.Univalence open import UF.PropTrunc module InjectiveTypes.ExamplesCounterExamplesArticle (ua : Univalence) (pt : propositional-truncations-exist) where open import MLTT.Spartan open import UF.FunExt open import UF.Subsingletons open import UF.UA-FunExt open PropositionalTruncation pt private fe : FunExt fe = Univalence-gives-FunExt ua fe' : Fun-Ext fe' {π€} {π₯} = fe π€ π₯ pe : PropExt pe = Univalence-gives-PropExt ua pe' : Prop-Ext pe' {π€} = pe π€ open import Apartness.Definition open import Apartness.Properties pt open Apartness pt open import UF.Choice open world's-simplest-axiom-of-choice fe pt open import CoNaturals.Type open import DedekindReals.Type fe' pe' pt open import DedekindReals.Order fe' pe' pt renaming (_β―_ to _β―β_) open import Notation.CanonicalMap open import Notation.General open import Notation.Order open import InjectiveTypes.Blackboard fe hiding (extension) open import InjectiveTypes.CharacterizationViaLifting fe open import InjectiveTypes.CounterExamples ua pt open import InjectiveTypes.InhabitedTypesTaboo pt ua open import InjectiveTypes.NonEmptyTypes pt ua open import InjectiveTypes.OverSmallMaps fe open import InjectiveTypes.PointedDcpos fe pt open import InjectiveTypes.Resizing ua pt open import InjectiveTypes.Subtypes fe open import Iterative.Multisets open import Iterative.Multisets-Addendum ua open import Iterative.Sets ua open import Iterative.Sets-Addendum ua open import Ordinals.Injectivity open import Ordinals.Type open import Quotient.Type open import SyntheticHomotopyTheory.RP-infinity pt open import Taboos.BasicDiscontinuity fe' open import Taboos.Decomposability fe open decomposability pt open decomposability-bis pt open import Taboos.WLPO open import TypeTopology.SimpleTypes fe pt open import TypeTopology.TotallySeparated open import UF.Base open import UF.ClassicalLogic open import UF.Embeddings open import UF.Equiv open import UF.ExitPropTrunc open split-support-and-collapsibility pt open import UF.NotNotStablePropositions open import UF.PropIndexedPiSigma open import UF.Retracts open import UF.SIP-Examples open import UF.Size open import UF.Subsingletons-FunExt open import UF.SubtypeClassifier open import Various.DedekindNonAxiomatic pt fe' pe' using (π‘β)Section 2. PreliminariesDefinition-2-1 : (π€ : Universe) β π€ βΊ Μ Definition-2-1 π€ = is-small (ꪪ π€) Lemma-2-2 : {X : π€ Μ} (A : X β π₯ Μ) (B : (x : X) β A x β π¦ Μ ) (x y : X) (a : A x) (b : B x a) (p : x οΌ y) β transport (Ξ» - β Sigma (A -) (B -)) p (a , b) οΌ transport A p a , transportd A B a p b Lemma-2-2 A B x y a b p = transport-Ξ£ A B y p a {b} module _ {X : π€ Μ } (a : X) {Y : X β π₯ Μ } (i : is-prop X) where Lemma-2-3-i : Ξ Y β Y a Lemma-2-3-i = prop-indexed-product a fe' i Lemma-2-3-iβ : β Lemma-2-3-i β οΌ (Ξ» f β f a) Lemma-2-3-iβ = refl Lemma-2-3-iβ : β Lemma-2-3-i ββ»ΒΉ οΌ (Ξ» y x β transport Y (i a x) y) Lemma-2-3-iβ = refl Lemma-2-3-ii : Y a β Ξ£ Y Lemma-2-3-ii = β-sym (prop-indexed-sum a i) Lemma-2-3-iiβ : β Lemma-2-3-ii β οΌ (Ξ» y β (a , y)) Lemma-2-3-iiβ = refl Lemma-2-3-iiβ : β Lemma-2-3-ii ββ»ΒΉ οΌ (Ξ» (x , y) β transport Y (i x a) y) Lemma-2-3-iiβ = reflSection 3. Flabbiness and injectivityDefinition-3-1 : (D : π¦ Μ ) (π€ π₯ : Universe) β (π€ β π₯) βΊ β π¦ Μ Definition-3-1 = ainjective-type Definition-3-2 : (D : π¦ Μ ) (π€ : Universe) β π€ βΊ β π¦ Μ Definition-3-2 = aflabby Lemma-3-3-i : (D : π¦ Μ ) β ainjective-type D π€ π₯ β aflabby D π€ Lemma-3-3-i = ainjective-types-are-aflabby Lemma-3-3-ii : (D : π¦ Μ ) β aflabby D (π€ β π₯) β ainjective-type D π€ π₯ Lemma-3-3-ii = aflabby-types-are-ainjective Lemma-3-4 : (D : π¦ Μ ) β ainjective-type D π€ π₯ β (D' : π¦ Μ ) β retract D' of D β ainjective-type D' π€ π₯ Lemma-3-4 D ainj D' = retract-of-ainjective D' D ainj Lemma-3-5 : (D : π¦ Μ ) β aflabby D π£ β (X : π€ Μ ) (Y : π₯ Μ ) (j : X β Y) β is-embedding j β j is π£ small-map β (f : X β D) β Ξ£ f' κ (Y β D) , f' β j βΌ f Lemma-3-5 D aflab X Y = aflabbiness-gives-injectivity-over-small-maps D aflab Lemma-3-6 : {π¦ π€ π₯ π£β π£β π£β : 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 Lemma-3-6 {π¦} {π€} {π₯} {π£β} {π£β} {π£β} D ainj X Y j = ainjectivity-over-small-maps π£β D ainj j module _ {π€ π₯ π£β π£β π£β : Universe} (D : π€ Μ ) (ainj : ainjective-type D (π£β β π£β) π£β) (Y : π₯ Μ ) (j : D β Y) (j-emb : is-embedding j) (j-small : j is π£β small-map) where Lemma-3-7-i : retract D of Y Lemma-3-7-i = embedding-retract' π£β D Y j j-emb j-small ainj Lemma-3-7-ii : section Lemma-3-7-i οΌ j Lemma-3-7-ii = refl module _ (π£ : Universe) where open ainjectivity-of-Lifting π£ open ainjectivity-of-Lifting' π£ (ua π£) Lemma-3-8 : (X : π€ Μ ) β (Ξ· βΆ (X β π X)) is π£ small-map Lemma-3-8 X = Ξ·-is-small-map Lemma-3-9 : (D : π€ Μ ) β ainjective-type D (π₯ β π£) π¦ β retract D of π D Lemma-3-9 {π€} {π₯} = ainjective-is-retract-of-free-π-algebra' π₯ Theorem-3-10 : (D : π€ Μ ) β ainjective-type D π£ π£ β (Ξ£ X κ π€ Μ , retract D of π X) Theorem-3-10 = ainjectives-in-terms-of-free-π-algebras' Theorem-3-11 : (D : π€ Μ ) β ainjective-type D π£ π£ β (Ξ£ A κ π£ βΊ β π€ Μ , π-alg A Γ (retract D of A)) Theorem-3-11 = ainjectives-in-terms-of-π-algebrasSection 4. ExamplesExamples-1-i : ainjective-type (π€ Μ ) π€ π€ Examples-1-i {π€} = universes-are-ainjective-Ξ£ (ua π€) Examples-1-ii : ainjective-type (π€ Μ ) π€ π€ Examples-1-ii {π€} = universes-are-ainjective-Ξ (ua π€) Examples-2 : ainjective-type (Ξ© π€) π€ π€ Examples-2 {π€} = Ξ©-ainjective pe'Examples (3)β(5) can be found below and are postponed for now (as in the paper).Examples-6-i : set-quotients-exist β ainjective-type (Ordinal π€) π€ π€ Examples-6-i {π€} sqe = pointed-dcpos-are-ainjective-types π€ (Ord-DCPO , πβ , πβ-least-β΄) where open import DomainTheory.Basics.Dcpo pt fe' π€ open import Ordinals.AdditionProperties ua open import Ordinals.Arithmetic fe open import Ordinals.Equivalence open import Ordinals.OrdinalOfOrdinals ua open import Ordinals.OrdinalOfOrdinalsSuprema ua open import Quotient.GivesSetReplacement sr : Set-Replacement pt sr = set-replacement-from-set-quotients-and-prop-trunc sqe pt Ord-DCPO : DCPO {π€ βΊ} {π€} Ord-DCPO = (Ordinal π€ , _β΄_ , (the-type-of-ordinals-is-a-set (ua π€) fe' , β΄-is-prop-valued , β΄-refl , β΄-trans , β΄-antisym) , (Ξ» I Ξ± _ β ordinal-of-ordinals-has-small-suprema' pt sr I Ξ±)) where open suprema pt sr Examples-6-ii : ainjective-type (Ordinal π€) π€ π€ Examples-6-ii {π€} = Ordinal-is-ainjective (ua π€) where open ordinals-injectivity fe Proposition-4-1 : let NE = (Ξ£ X κ π€ Μ , ¬¬ X) in (retract NE of (π€ Μ )) Γ ainjective-type NE π€ π€ Proposition-4-1 {π€} = Non-Empty-retract π€ , Non-Empty-is-injective π€ Lemma-4-2 : (P : π£ Μ ) (X : P β π€ Μ ) β is-prop P β (Ξ p κ P , ¬¬ X p) β ¬¬ Ξ X Lemma-4-2 P X i Ο Ξ½ = Ξ½ III where I : (p : P) β Β¬ X p I p x = Ξ½ (Ξ» p' β transport X (i p p') x) II : Β¬ P II p = Ο p (I p) III : (p : P) β X p III p = π-elim (II p) Proposition-4-1-alt : ainjective-type (Ξ£ X κ π€ Μ , ¬¬ X) π€ π€ Proposition-4-1-alt = ainjectivity-of-type-of-structures (¬¬_) (Ξ -closure-criterion ¬¬_ T T-refl c) where open import InjectiveTypes.MathematicalStructures ua T : {X Y : π€ Μ } β (X β Y) β ¬¬ X β ¬¬ Y T π = ¬¬-functor β π β T-refl : {X : π€ Μ } β T (β-refl X) βΌ id T-refl x = refl c : closed-under-prop-Ξ ' ¬¬_ T T-refl c (P , i) X = m-is-equiv where m : ¬¬ Ξ X β Ξ p κ P , ¬¬ X p m h p = T (prop-indexed-product p fe' i) h m-is-equiv : is-equiv m m-is-equiv = qinvs-are-equivs m (Lemma-4-2 P X i , (Ξ» _ β negations-are-props fe' _ _) , (Ξ» _ β Ξ -is-prop fe' (Ξ» p β negations-are-props fe') _ _)) module _ (π₯ : Universe) where open import DomainTheory.Basics.Pointed pt fe' π₯ Proposition-4-3 : (π : DCPOβ₯ {π€} {π£}) β ainjective-type βͺ π β« π₯ π₯ Proposition-4-3 = pointed-dcpos-are-ainjective-types π₯ Example-4-4 : ainjective-type π‘β π€β π€β Example-4-4 = pointed-dcpos-are-ainjective-types π€β π‘β-DCPOβ₯ where open import DomainTheory.Examples.ExtendedPartialDedekindReals pt fe' pe' Theorem-4-5 : aflabby (π π€) π€ Theorem-4-5 {π€} = π-is-aflabby-Ξ£ π€ Corollary-4-6 : ainjective-type (π π€) π€ π€ Corollary-4-6 {π€} = π-is-ainjective-Ξ£ π€ Theorem-4-7 : set-quotients-exist β ainjective-type (π π€) π€ π€ Theorem-4-7 {π€} sqe = π-is-ainjective π€ pt sr where open import Quotient.GivesSetReplacement sr : Set-Replacement pt sr = set-replacement-from-set-quotients-and-prop-trunc sqe pt module _ (S : π€ Μ β π₯ Μ ) where open import InjectiveTypes.MathematicalStructures ua Definition-4-8 : π€ βΊ β π₯ Μ Definition-4-8 = closed-under-prop-Ξ S Lemma-4-9 : closed-under-prop-Ξ S β aflabby (Ξ£ S) π€ Lemma-4-9 = aflabbiness-of-type-of-structured-types S module _ (T : {X Y : π€ Μ } β X β Y β S X β S Y) (r : {X : π€ Μ } β T (β-refl X) βΌ id) where open canonical-map' S T r Lemma-4-10-i : {X Y : π€ Μ } (h : X β Y) β T h βΌ treq S h Lemma-4-10-i = transport-eqtoid S T r Lemma-4-10-ii : (P : Ξ© π€) (A : P holds β π€ Μ ) (s : S (Ξ A)) (p : P holds) β Ο P A s p οΌ T (Ο P A p) s Lemma-4-10-ii P A s p = happly (Ο-and-Ο-agree P A s) p module _ where open import InjectiveTypes.MathematicalStructures ua Lemma-4-11 : {π€ π₯β π₯β : Universe} (Sβ : π€ Μ β π₯β Μ ) (Sβ : π€ Μ β π₯β Μ ) β closed-under-prop-Ξ Sβ β closed-under-prop-Ξ Sβ β closed-under-prop-Ξ (Ξ» X β Sβ X Γ Sβ X) Lemma-4-11 Sβ Sβ = closure-under-prop-Ξ -Γ Lemma-4-12 : (S : π€ Μ β π₯ Μ) (S-closed : closed-under-prop-Ξ S) (π : (X : π€ Μ) β S X β Ξ© π¦) β ((P : Ξ© π€) (A : P holds β π€ Μ) β (Ξ± : (p : P holds) β S (A p)) β ((p : P holds) β π (A p) (Ξ± p) holds) β π (Ξ A) (inverse (canonical-map.Ο S P A) (S-closed P A) Ξ±) holds) β closed-under-prop-Ξ (Ξ» X β Ξ£ s κ S X , π X s holds) Lemma-4-12 S S-closed π = closure-under-prop-Ξ -with-axioms S S-closed (Ξ» X s β π X s holds) (Ξ» X s β holds-is-prop (π X s)) module Examples-4-13-a where open import InjectiveTypes.MathematicalStructures ua [1] : ainjective-type (Pointed-type π€) π€ π€ [1] = ainjectivity-of-type-of-pointed-types [2] : ainjective-type (β-Magma π€) π€ π€ [2] = ainjectivity-of-β-Magma [3] : ainjective-type (β-Magma π€) π€ π€ [3] = ainjectivity-of-β-Magma [4] : ainjective-type (monoid.Monoid {π€}) π€ π€ [4] = ainjectivity-of-Monoid [5] : ainjective-type (group.Group {π€}) π€ π€ [5] = ainjectivity-of-Group module Examples-4-13-b where open import InjectiveTypes.MathematicalStructuresMoreGeneral ua [6] : ainjective-type (Graph π€) π€ π€ [6] = ainjectivity-of-Graph [7] : ainjective-type (Poset π€) π€ π€ [7] = ainjectivity-of-Poset [8] : ainjective-type (Fam π€) π€ π€ [8] = ainjectivity-of-Fam [9] : ainjective-type (Ξ£ X κ π€ Μ , Ξ£ Y κ π€ Μ , (X β Y)) π€ π€ [9] = ainjectivity-of-type-of-all-functions module _ (X : π€ Μ ) (A : X β π₯ Μ ) (Ο : aflabby X π¦) where open import InjectiveTypes.Sigma fe Definition-4-14 : (P : Ξ© π¦) (f : P holds β X) β A (extension Ο P f) β Ξ p κ P holds , A (f p) Definition-4-14 = Ο A Ο Theorem-4-15 : compatibility-data A Ο β aflabby (Ξ£ x κ X , A x) π¦ Theorem-4-15 = Ξ£-is-aflabby A Ο Corollary-4-16 : ((x : X) β is-prop (A x)) β ((P : Ξ© π¦) (f : P holds β X) β (Ξ p κ P holds , A (f p)) β A (extension Ο P f)) β aflabby (Ξ£ x κ X , A x) π¦ Corollary-4-16 = subtype-is-aflabby A Ο Proposition-4-17 : {π€ : Universe} β Ξ£ X κ π€ βΊ Μ , Ξ£ A κ (X β π€ Μ ) , ainjective-type (Ξ£ x κ X , A x) π€ π€ Γ (ainjective-type X π€ π€ β Propositions-Are-Projective π€) Proposition-4-17 {π€} = example-of-injective-sum-whose-index-type-may-not-be-injective π€ module _ where open import InjectiveTypes.Sigma fe Lemma-4-18-i : {π€ π₯β π₯β π¦ : Universe} {X : π€ Μ} (Ο : aflabby X π¦) {Aβ : X β π₯β Μ} {Aβ : X β π₯β Μ} β compatibility-data Aβ Ο β compatibility-data Aβ Ο β compatibility-data (Ξ» x β Aβ x Γ Aβ x) Ο Lemma-4-18-i = compatibility-data-Γ Lemma-4-18-ii : {π€ π₯β π₯β π¦ : Universe} {X : π€ Μ} (Ο : aflabby X π¦) {Aβ : X β π₯β Μ} {Aβ : X β π₯β Μ} β compatibility-condition Aβ Ο β compatibility-condition Aβ Ο β compatibility-condition (Ξ» x β Aβ x Γ Aβ x) Ο Lemma-4-18-ii = compatibility-condition-Γ Lemma-4-19-i : {X : π€ Μ } (Ο : aflabby X π₯) (A : X β π¦ Μ ) (Ο-has-section : compatibility-data A Ο) (B : (x : X ) β A x β π₯ Μ ) (B-is-prop-valued : (x : X) (a : A x) β is-prop (B x a)) (B-is-closed-under-extension : (p : Ξ© π₯ ) (f : p holds β X) β (Ξ± : (h : p holds) β A (f h)) β ((h : p holds) β B (f h) (Ξ± h)) β B (extension Ο p f) (section-map (Ο A Ο p f) (Ο-has-section p f) Ξ±)) β compatibility-data (Ξ» x β Ξ£ a κ A x , B x a) Ο Lemma-4-19-i = compatibility-data-with-axioms Lemma-4-19-ii : {X : π€ Μ } (Ο : aflabby X π₯) (A : X β π¦ Μ ) (Ο-is-equiv : compatibility-condition A Ο) (B : (x : X ) β A x β π₯ Μ ) (B-is-prop-valued : (x : X) (a : A x) β is-prop (B x a)) (B-is-closed-under-extension : (p : Ξ© π₯ ) (f : p holds β X) β (Ξ± : (h : p holds) β A (f h)) β ((h : p holds) β B (f h) (Ξ± h)) β B (extension Ο p f) (inverse (Ο A Ο p f) (Ο-is-equiv p f) Ξ±)) β compatibility-condition (Ξ» x β Ξ£ a κ A x , B x a) Ο Lemma-4-19-ii = compatibility-condition-with-axioms module _ (S : π€ Μ β π₯ Μ ) (T : {X Y : π€ Μ } β X β Y β S X β S Y) (r : {X : π€ Μ } β T (β-refl X) βΌ id) where open import InjectiveTypes.MathematicalStructuresMoreGeneral ua open import InjectiveTypes.Sigma fe using (compatibility-data) open import MetricSpaces.StandardDefinition fe' pe' pt Definition-4-20-i : (P : Ξ© π€) (A : P holds β π€ Μ) β S (Ξ£ A) β Ξ p κ P holds , S (A p) Definition-4-20-i = ΟΞ£ S T r Definition-4-20-ii : (P : Ξ© π€) (A : P holds β π€ Μ) (s : S (Ξ£ A)) (p : P holds) β Definition-4-20-i P A s p οΌ T (β-sym (Ξ£-ππ P p)) s Definition-4-20-ii P A s p = refl Definition-4-21 : π€ βΊ β π₯ Μ Definition-4-21 = compatibility-data-Ξ£ S T r Lemma-4-22 : compatibility-data-Ξ£ S T r β compatibility-data S universes-are-flabby-Ξ£ Lemma-4-22 = Ξ£-construction S T r Theorem-4-23 : compatibility-data-Ξ£ S T r β aflabby (Ξ£ X κ π€ Μ , S X) π€ Theorem-4-23 comp = Theorem-4-15 (π€ Μ ) S universes-are-flabby-Ξ£ (Lemma-4-22 comp) Example-4-24-1 : (R : π₯ Μ ) β ainjective-type (Graph' R π€) π€ π€ Example-4-24-1 R = ainjectivity-of-Graph' R Example-4-24-2 : {π€ : Universe} β let π₯ = π€β β π€ in ainjective-type (Metric-Space π₯) π₯ π₯ Example-4-24-2 {π€} = ainjectivity-of-Metric-Space pt {π€} Lemma-4-25 : (D : π€ Μ ) (P : D β π₯ Μ ) β ((d : D) β is-prop (P d)) β has-retraction (prβ βΆ ((Ξ£ d κ D , P d) β D)) β (Ξ£ f κ (D β D) , ((d : D) β P (f d)) Γ ((d : D) β P d β f d οΌ d)) Lemma-4-25 = canonical-embedding-has-retraction-reformulation Theorem-4-26 : (π€ π₯ π¦ π£ : Universe) β (D : π€ Μ ) β ainjective-type D (π₯ β π¦) π£ β (P : D β π₯ Μ ) β ((d : D) β is-prop (P d)) β (ainjective-type (Ξ£ P) (π₯ β π¦) π£ β retract (Ξ£ P) of D) Γ (retract (Ξ£ P) of D β has-retraction (prβ βΆ (Ξ£ P β D))) Γ (has-retraction (prβ βΆ (Ξ£ P β D)) β (Ξ£ f κ (D β D) , ((d : D) β P (f d)) Γ ((d : D) β P d β f d οΌ d))) Theorem-4-26 π€ π₯ π¦ π£ D D-ainj P P-prop = ([3]β[2] β [1]β[3] , [2]β[1]) , ([1]β[3] β [2]β[1] , [3]β[2]) , [3]β[4] where [1]β[3] : ainjective-type (Ξ£ P) (π₯ β π¦) π£ β has-retraction (prβ βΆ (Ξ£ P β D)) [1]β[3] = canonical-embedding-has-retraction-if-subtype-is-ainjective D P P-prop {π¦} [3]β[2] : has-retraction (prβ βΆ (Ξ£ P β D)) β retract (Ξ£ P) of D [3]β[2] (s , Ο) = (s , prβ , Ο) [3]β[4] : has-retraction (-id (Sigma D P β D) (Ξ» r β prβ r)) β (Ξ£ f κ (D β D) , ((d : D) β P (f d)) Γ ((d : D) β P d β f d οΌ d)) [3]β[4] = Lemma-4-25 D P P-prop [2]β[1] : retract (Ξ£ P) of D β ainjective-type (Ξ£ P) (π₯ β π¦) π£ [2]β[1] = ainjective-subtype-if-retract D P P-prop D-ainj Lemma-4-27 : (D : π€ Μ ) β ainjective-type D π¦ π£ β (P : D β π₯ Μ ) β ((d : D) β is-prop (P d)) β retract (Ξ£ P) of D β ainjective-type (Ξ£ P) π¦ π£ Lemma-4-27 D D-ainj P P-prop = ainjective-subtype-if-retract D P P-prop D-ainj Corollary-4-28 : (D : π€ βΊ Μ ) β ainjective-type D π€ π€ β (P : D β π€ Μ ) β ((d : D) β is-prop (P d)) β ainjective-type (Ξ£ d κ D , P d) π€ π€ β retract (Ξ£ P) of D Corollary-4-28 {π€} D D-ainj P P-prop = prβ (Theorem-4-26 (π€ βΊ) π€ π€ π€ D D-ainj P P-prop) module _ where open import Modal.Subuniverse Corollary-4-29 : (P : subuniverse π€ π₯) β subuniverse-is-reflective P β ainjective-type (subuniverse-member P) π€ π€ Corollary-4-29 {π€} {π₯} β@(P , P-prop) P-reflective = sufficient-condition-for-injectivity-of-subtype (π€ Μ ) P P-prop (universes-are-ainjective-Ξ ' (ua π€)) (β , β-is-modal , I) where open import Modal.ReflectiveSubuniverse β P-reflective I : (A : π€ Μ) β P A β β A οΌ A I A A-modal = eqtoid (ua π€) (β A) A (β-sym (Ξ· A , is-modal-gives-Ξ·-is-equiv fe' A A-modal))Section 4.7. Β΄Models of generalized algebraic theoriesΒ΄ is not formalized. This concludes Section 4. Section 5. Weak excluded middle and De Morgan's LawLemma-5-1 : (A : π€ Μ ) (B : π₯ Μ ) β is-prop (A + B) β is-prop A Γ is-prop B Γ Β¬ (A Γ B) Lemma-5-1 A B = (Ξ» k β prβ (I k) , prβ (prβ (I k)) , Ξ» (a , b) β prβ (prβ (I k)) a b) , (Ξ» (i , j , Ξ½) β +-is-prop i j (Ξ» a b β Ξ½ (a , b))) where I : is-prop (A + B) β is-prop A Γ is-prop B Γ (A β B β π) I = sum-of-contradictory-props'-converse Theorem-5-2-i : (WEM π€ β typal-WEM π€) Γ (typal-WEM π€ β De-Morgan pt π€) Γ (De-Morgan pt π€ β typal-De-Morgan pt π€) Γ (typal-De-Morgan pt π€ β untruncated-De-Morgan π€) Γ (untruncated-De-Morgan π€ β untruncated-typal-De-Morgan π€) Theorem-5-2-i {π€} = ([1]β[2] , [3]β[1] β [5]β[3] β [6]β[5] β [2]β[6]) , ([5]β[3] β [6]β[5] β [2]β[6] , [1]β[2] β [3]β[1]) , ([6]β[4] β [2]β[6] β [1]β[2] β [3]β[1] , [4]β[3]) , ([6]β[5] β [2]β[6] β [1]β[2] β [3]β[1] β [4]β[3] , [6]β[4] β [2]β[6] β [1]β[2] β [3]β[1] β [5]β[3]) , ([2]β[6] β [1]β[2] β [3]β[1] β [5]β[3] , [6]β[5]) where [1]β[2] : WEM π€ β typal-WEM π€ [1]β[2] = WEM-gives-typal-WEM fe' [2]β[6] : typal-WEM π€ β untruncated-typal-De-Morgan π€ [2]β[6] = typal-WEM-gives-untruncated-typal-De-Morgan [6]β[4] : untruncated-typal-De-Morgan π€ β typal-De-Morgan pt π€ [6]β[4] = untruncated-typal-De-Morgan-gives-typal-De-Morgan pt [6]β[5] : untruncated-typal-De-Morgan π€ β untruncated-De-Morgan π€ [6]β[5] = untruncated-typal-De-Morgan-gives-untruncated-De-Morgan [5]β[3] : untruncated-De-Morgan π€ β De-Morgan pt π€ [5]β[3] = untruncated-De-Morgan-gives-De-Morgan pt [4]β[3] : typal-De-Morgan pt π€ β De-Morgan pt π€ [4]β[3] = typal-De-Morgan-gives-De-Morgan pt [3]β[1] : De-Morgan pt π€ β WEM π€ [3]β[1] = De-Morgan-gives-WEM pt fe' Theorem-5-2-ii : is-prop (WEM π€) Γ is-prop (typal-WEM π€) Γ is-prop (De-Morgan pt π€) Γ is-prop (typal-De-Morgan pt π€) Theorem-5-2-ii = WEM-is-prop fe , typal-WEM-is-prop fe , De-Morgan-is-prop pt fe , typal-De-Morgan-is-prop pt fe Lemma-5-3 : (Ξ΄ : untruncated-De-Morgan π€) β Ξ£ Ξ΄' κ untruncated-De-Morgan π€ , Ξ΄' β Ξ΄ Lemma-5-3 = untruncated-De-Morgan-has-at-least-two-witnesses-if-it-has-one fe'Section 6. A Rice-like theorem for injective typesDefinition-6-1 : π€ Μ β π€ Μ Definition-6-1 = decomposition Lemma-6-2 : (X : π€ Μ ) β (Ξ£ Y κ (π β π€ Μ ) , Y β + Y β β X) β (X β π) Lemma-6-2 {π€} = decomposition-lemma (ua π€) Remark-6-3 : (X : π€ Μ ) β (decomposition X β (Ξ£ Y κ (π β π€ Μ ) , (Y β + Y β β X) Γ Y β Γ Y β)) Γ (decomposition X β retract π of X) Remark-6-3 {π€} X = decompositions-agree (ua π€) X , decompositions-as-retracts X Proposition-6-4 : typal-WEM π€ β (X : π€ Μ ) β has-two-distinct-points X β decomposition X Proposition-6-4 = WEM-gives-decomposition-of-two-pointed-types Definition-6-5-i : {π€ π₯ : Universe} β (X : π₯ Μ ) β X β X β π€ βΊ β π₯ Μ Definition-6-5-i {π€} {π₯} X = Ξ©-Path {π₯} {X} π€ Definition-6-5-ii : {π€ π₯ : Universe} β (X : π₯ Μ ) β π€ βΊ β π₯ Μ Definition-6-5-ii {π€} {π₯} = has-Ξ©-paths π€ Lemma-6-6 : decomposition (Ξ© π€) β typal-WEM π€ Lemma-6-6 = decomposition-of-Ξ©-gives-WEM pe' Lemma-6-7 : (X : π€ Μ ) β decomposition X β has-Ξ©-paths π₯ X β typal-WEM π₯ Lemma-6-7 X = decomposition-of-type-with-Ξ©-paths-gives-WEM pe' {X} Lemma-6-8 : (D : π€ Μ ) β ainjective-type D π€β (π¦ βΊ) β has-Ξ©-paths π¦ D Lemma-6-8 = ainjective-types-have-Ξ©-paths-naive pe' Lemma-6-9 : (D : π€ Μ ) β ainjective-type D π₯ π¦ β has-Ξ©-paths π₯ D Lemma-6-9 = ainjective-types-have-Ξ©-paths pe' Theorem-6-10 : (D : π€ Μ ) β ainjective-type D π₯ π¦ β decomposition D β typal-WEM π₯ Theorem-6-10 = decomposition-of-ainjective-type-gives-WEM pe' Proposition-6-11 : (D : π€ Μ ) β ainjective-type D π€ π₯ β has-two-distinct-points D β decomposable D β decomposition D Proposition-6-11 D ainj htdp = ainjective-type-decomposability-gives-decomposition pe' D ainj htdp , β£_β£Section 7. CounterexamplesCounterexample-7-1 : ainjective-type π π€ π€ β typal-WEM π€ Counterexample-7-1 = π-ainjective-gives-WEM , WEM-gives-π-ainjective Lemma-7-2 : WLPO β (Ξ£ f κ (ββ β ββ) , ((n : β) β f (ΞΉ n) οΌ ΞΉ 0) Γ (f β οΌ ΞΉ 1)) Lemma-7-2 = WLPO-is-discontinuous' , (Ξ» (f , p) β basic-discontinuity-taboo' f p) Counterexample-7-3-1 : ainjective-type ββ π€β π€β β WLPO Counterexample-7-3-1 = ββ-injective-gives-WLPO Counterexample-7-3-2 : ainjective-type ββ π€ π₯ β typal-WEM π€ Counterexample-7-3-2 = ββ-injective-gives-WEM Counterexample-7-4-1 : ainjective-type β π€β π€β β Ξ£ H κ (β β β) , ((x : β) β (x < 0β β H x οΌ 0β) Γ (x β₯ 0β β H x οΌ 1β)) Counterexample-7-4-1 = β-ainjective-gives-Heaviside-function Counterexample-7-4-2 : ainjective-type β π€ π₯ β typal-WEM π€ Counterexample-7-4-2 = β-ainjective-gives-WEM Definition-7-5 : π€ Μ β (π₯ : Universe) β π₯ βΊ β π€ Μ Definition-7-5 = Nontrivial-Apartness Theorem-7-6 : (X : π€ Μ ) β ainjective-type X π£ π¦ β Nontrivial-Apartness X π₯ β typal-WEM π£ Theorem-7-6 X = ainjective-type-with-non-trivial-apartness-gives-WEM Theorem-7-7-1 : typal-WEM π€ β (X : π€ Μ ) β has-two-distinct-points X β Nontrivial-Apartness X π€ Theorem-7-7-1 wem X htdp = WEM-gives-that-type-with-two-distinct-points-has-nontrivial-apartness fe' {X} htdp wem Theorem-7-7-2 : typal-WEM π€ β (X : π€ βΊ Μ ) β is-locally-small X β has-two-distinct-points X β Nontrivial-Apartness X π€ Theorem-7-7-2 wem X X-loc-small htdp = WEM-gives-that-type-with-two-distinct-points-has-nontrivial-apartnessβΊ fe' X-loc-small htdp wem Corollary-7-8 : Nontrivial-Apartness (π€ Μ ) π€ β typal-WEM π€ Corollary-7-8 {π€} = Theorem-7-6 (π€ Μ ) (universes-are-ainjective-Ξ ' (ua π€)) , (Ξ» wem β Theorem-7-7-2 wem (π€ Μ ) (universes-are-locally-small (ua π€)) universe-has-two-distinct-points) Corollary-7-9 : (X : π€β Μ) β simple-typeβ X β ainjective-type X π€ π€ β typal-WEM π€ Corollary-7-9 = simple-typeβ-injective-gives-WEM Theorem-7-10 : (X : π€ Μ ) β Tight-Apartness X π₯ Γ Β¬ (is-subsingleton X) β ainjective-type X π£ π¦ β ¬¬ typal-WEM π£ Theorem-7-10 X (ta , ns) ainj = non-trivial-ainjective-type-with-tight-apartness-gives-¬¬-WEM (X , ns , ainj , ta) Proposition-7-11 : (X : π€ Μ ) β is-totally-separated X Γ Β¬ (is-subsingleton X) β ainjective-type X π£ π¦ β ¬¬ typal-WEM π£ Proposition-7-11 X (ts , ns) ainj = non-trivial-totally-separated-ainjective-type-gives-¬¬-WEM pe' (X , ns , ts , ainj) Proposition-7-11-alt : (X : π€ Μ ) β is-totally-separated X Γ Β¬ (is-subsingleton X) β ainjective-type X π£ π¦ β ¬¬ typal-WEM π£ Proposition-7-11-alt X (ts , ns) ainj = non-trivial-totally-separated-ainjective-type-gives-¬¬-WEM' (X , ns , ts , ainj) Theorem-7-12 : Shulman's-Splitting-Construction β (D : π€ Μ ) β ainjective-type D (π€ β π₯) π¦ β has-two-distinct-points D β is-small (ꪪ π€) Theorem-7-12 {π€} {π₯} {π¦} = small-ainjective-type-with-two-distinct-points-gives-ꪪ-resizing {π€} {π₯} {π¦} Theorem-7-13 : (ainjective-type (Inhabited π€) π€ π€ β retract (Inhabited π€) of (π€ Μ )) Γ (retract (Inhabited π€) of (π€ Μ ) β Propositions-Are-Projective π€) Γ (Propositions-Are-Projective π€ β Unspecified-Split-Support π€) Theorem-7-13 {π€} = ([4]β[2] β [3]β[4] β [1]β[3] , [2]β[1]) , ([1]β[3] β [2]β[1] , [4]β[2] β [3]β[4]) , ([3]β[4] , [1]β[3] β [2]β[1] β [4]β[2]) where [4]β[2] : Unspecified-Split-Support π€ β retract (Inhabited π€) of (π€ Μ ) [4]β[2] = unspecified-split-support-gives-retract π€ [2]β[1] : retract (Inhabited π€) of (π€ Μ ) β ainjective-type (Inhabited π€) π€ π€ [2]β[1] = retract-gives-injectivity π€ [1]β[3] : ainjective-type (Inhabited π€) π€ π€ β Propositions-Are-Projective π€ [1]β[3] = injectivity-gives-projective-propositions π€ [3]β[4] : Propositions-Are-Projective π€ β Unspecified-Split-Support π€ [3]β[4] = projective-propositions-gives-unspecified-split-support π€ Lemma-7-14 : (D : π€ Μ ) β ainjective-type D π₯ π¦ β (T : D β π£ Μ ) β ainjective-type (Ξ£ d κ D , β₯ T d β₯) (π£ β π₯') π¦' β (d : D) β β₯ has-split-support (T d) β₯ Lemma-7-14 {π€} {π₯} {π¦} {π£} {π₯'} {π¦'} = family-has-unspecified-split-support-if-total-space-of-truncation-is-ainjective {π€} {π₯} {π¦} {π£} {π₯'} {π¦'} Lemma-7-15 : WSAC π€ π€ β ((X : π€ Μ ) β β₯ has-split-support (X β π) β₯) Lemma-7-15 = WSAC-equivalent-formulations NB : ((X : π€ Μ ) β β₯ has-split-support (X β π) β₯) οΌ WSAC' π€ NB = refl Theorem-7-16 : ainjective-type βPβ π₯ π¦ β WSAC' π€β Theorem-7-16 = βPβ-ainjective-implies-WSAC