Ian Ray, 4th Febuary 2024. Modifications made by Ian Ray on 14 October 2024. Modifications made by Ian Ray on 7 January 2025. Modification made by Ian Ray on 17 August 2025. We develop some results that relate size, truncation and connectedness from the following paper: [1] Christensen, J.D. (2024), Non-accessible localizations. Journal of Topology, 17: e12336. https://doi.org/10.1112/topo.12336 \begin{code} {-# OPTIONS --safe --without-K #-} open import UF.FunExt open import UF.Truncations open import MLTT.Spartan hiding (_+_) module UF.Size-TruncatedConnected (fe : Fun-Ext) (te : general-truncations-exist fe) (π₯ : Universe) where open import Notation.CanonicalMap open import Notation.Decimal open import UF.ConnectedTypes fe open import UF.Embeddings open import UF.Equiv open import UF.EquivalenceExamples open import UF.PropTrunc open import UF.SmallnessProperties open import UF.Size open import UF.Subsingletons open import UF.Subsingletons-FunExt open import UF.TruncatedTypes fe open import UF.TruncationLevels open import UF.Univalence private pt : propositional-truncations-exist pt = general-truncations-give-propositional-truncations fe te open import UF.ImageAndSurjection pt open import UF.Replacement pt \end{code} We begin by giving some definitions from [1] and proving important properties about them. We have fixed the universe parameter π₯ and use it as our point of reference for 'smallness'. Univalence is not required for every result, so we will explicitly assume it only when it is used. \begin{code} _is_locally-small : (X : π€ Μ ) β (n : β) β π€ β (π₯ βΊ) Μ X is zero locally-small = X is π₯ small X is (succ n) locally-small = (x x' : X) β (x οΌ x') is n locally-small being-locally-small-is-prop : {X : π€ Μ } {n : β} β Univalence β is-prop (X is n locally-small) being-locally-small-is-prop {_} {X} {zero} ua = being-small-is-prop ua X π₯ being-locally-small-is-prop {_} {X} {succ n} ua = Ξ β-is-prop fe (Ξ» x y β being-locally-small-is-prop ua) being-locally-small-is-upper-closed : {X : π€ Μ } {n : β} β X is n locally-small β X is (succ n) locally-small being-locally-small-is-upper-closed {_} {X} {zero} = small-implies-locally-small X π₯ being-locally-small-is-upper-closed {_} {X} {succ n} X-loc-small x x' = being-locally-small-is-upper-closed (X-loc-small x x') locally-small-types-are-small : {X : π€ Μ } {n : β} β X is π₯ small β X is n locally-small locally-small-types-are-small {_} {_} {zero} X-small = X-small locally-small-types-are-small {_} {X} {succ n} X-small x x' = locally-small-types-are-small (small-implies-locally-small X π₯ X-small x x') \end{code} Local smallness is closed under equivalence, sigma types and truncation for each n : β. \begin{code} local-smallness-is-closed-under-β : {X : π€ Μ } {Y : π¦ Μ } {n : β} β X β Y β X is n locally-small β Y is n locally-small local-smallness-is-closed-under-β {_} {_} {_} {_} {zero} e X-small = smallness-closed-under-β X-small e local-smallness-is-closed-under-β {_} {_} {_} {_} {succ n} e X-loc-small y y' = local-smallness-is-closed-under-β path-equiv (X-loc-small (β e ββ»ΒΉ y) (β e ββ»ΒΉ y')) where path-equiv : (β e ββ»ΒΉ y οΌ β e ββ»ΒΉ y') β (y οΌ y') path-equiv = β-sym (ap β e ββ»ΒΉ , ap-is-equiv β e ββ»ΒΉ (βββ»ΒΉ-is-equiv e)) local-smallness-is-closed-under-Ξ£ : {X : π€ Μ } {Y : X β π¦ Μ } {n : β} β X is n locally-small β ((x : X) β (Y x) is n locally-small) β (Ξ£ x κ X , Y x) is n locally-small local-smallness-is-closed-under-Ξ£ {_} {_} {_} {_} {zero} X-small Y-small = Ξ£-is-small X-small Y-small local-smallness-is-closed-under-Ξ£ {_} {_} {_} {Y} {succ n} X-loc-small Y-loc-small (x , y) (x' , y') = local-smallness-is-closed-under-β (β-sym Ξ£-οΌ-β) (local-smallness-is-closed-under-Ξ£ (X-loc-small x x') (Ξ» - β Y-loc-small x' (transport Y - y) y')) open general-truncations-exist te local-smallness-is-closed-under-truncation : {X : π€ Μ } {n : βββ} β Univalence β X is ΞΉ (n + 2) locally-small β β₯ X β₯[ n ] is ΞΉ (n + 2) locally-small local-smallness-is-closed-under-truncation {_} {X} {β2} ua = truncations-of-small-types-are-small local-smallness-is-closed-under-truncation {_} {X} {succ n} ua X-loc-small = β₯β₯β-indβ (Ξ» u v β (u οΌ v) is ΞΉ (n + 2) locally-small) (Ξ» u v β truncation-levels-are-upper-closed' β (is-prop-implies-is-prop' (being-locally-small-is-prop ua))) (Ξ» x y β local-smallness-is-closed-under-β (eliminated-trunc-identity-char (ua _)) (local-smallness-is-closed-under-truncation ua (X-loc-small x y))) \end{code} Many of the results in [1] follow from a fact that some call the type theoretic axiom of replacement. It states that given a small type A, a locally small type X and a function f : A β X the image of f is small. We note that while the name for this result is due to its 'apparent' similarity to the axiom of replacement from set theory, but replacement in type theory is quite a modest assumption in comparison. Indeed, type replacement follows from the existence of pushouts (see UF/Replacement for further discussion on the modest strength of replacement) as demonstrated by "The Join Construction" by Egbert Rijke (https://arxiv.org/abs/1701.07538). In the interest of keeping the present work self-contained and requiring only the weakest assumptions possible, we simply assume the relevant form of replacement as it is needed. \begin{code} open connectedness-results te Replacement'' : {π€ π¦ : Universe} β (π₯ βΊ) β (π€ βΊ) β (π¦ βΊ) Μ Replacement'' {π€} {π¦} = {A : π€ Μ } {X : π¦ Μ } {f : A β X} β A is π₯ small β X is 1 locally-small β f is β1 connected-map β X is π₯ small Replacement'-to-Replacement'' : {π€ π¦ : Universe} β Replacement' {π₯} {π€} {π¦} β Replacement'' {π€} {π¦} Replacement'-to-Replacement'' rep' {_} {_} {f} A-sm X-ls f-con = rep' f A-sm X-ls (β1-connected-maps-are-surjections f-con) Replacement''-to-Replacement' : {π€ π¦ : Universe} β Replacement'' {π€} {π¦} β Replacement' {π₯} {π€} {π¦} Replacement''-to-Replacement' rep'' {_} {_} f A-sm X-ls f-surj = rep'' A-sm X-ls (surjections-are-β1-connected f-surj) \end{code} We will now begin proving some of the results from [1]. We avoid any unnecessary use of propositional resizing. Theorem numbers will be provided for easy reference. Prop 2.2 of [1] \begin{code} open PropositionalTruncation pt module _ (ua : Univalence) (rep : {π€ π¦ : Universe} β Replacement'' {π€} {π¦}) where Prop-2-2[locally-small-type-with-connected-map-from-small-type-is-small] : {π€ π¦ : Universe} {A : π€ Μ } {X : π¦ Μ } {f : A β X} {n : βββ} β f is n connected-map β A is π₯ small β X is ΞΉ (n + 2) locally-small β X is π₯ small Prop-2-2[locally-small-type-with-connected-map-from-small-type-is-small] {_} {_} {_} {_} {_} {β2} f-con A-small X-small = X-small Prop-2-2[locally-small-type-with-connected-map-from-small-type-is-small] {π€} {π¦} {A} {X} {f} {succ n} f-con A-small X-is-loc-small = rep A-small (III (β1-connected-maps-are-surjections I)) I where I : f is β1 connected-map I = map-connectedness-is-lower-closed β f-con II : (x x' : X) β Ξ£ a κ A , f a οΌ x β Ξ£ a κ A , f a οΌ x' β (x οΌ x') is π₯ small II .(f a) .(f a') (a , refl) (a' , refl) = Prop-2-2[locally-small-type-with-connected-map-from-small-type-is-small] (ap-is-less-connected (ua (π€ β π¦)) f f-con) (small-implies-locally-small A π₯ A-small a a') (X-is-loc-small (f a) (f a')) III : is-surjection f β (x x' : X) β (x οΌ x') is π₯ small III f-is-surj x x' = β₯β₯-recβ (being-small-is-prop ua (x οΌ x') π₯) (II x x') (f-is-surj x) (f-is-surj x') locally-small-type-with-connected-map-from-small-type-is-small = Prop-2-2[locally-small-type-with-connected-map-from-small-type-is-small] \end{code} Lemma 2.3 of [1] \begin{code} Lemma-2-3[truncated-types-are-locally-small] : {X : π€ Μ } {n : βββ} β Propositional-Resizing β X is (n + 1) truncated β X is ΞΉ (n + 2) locally-small Lemma-2-3[truncated-types-are-locally-small] {_} {X} {β2} pr X-prop = pr X (is-prop'-implies-is-prop X-prop) Lemma-2-3[truncated-types-are-locally-small] {_} {_} {succ n} pr X-trunc x x' = Lemma-2-3[truncated-types-are-locally-small] pr (X-trunc x x') truncated-types-are-locally-small = Lemma-2-3[truncated-types-are-locally-small] \end{code} We note that Lemma 2.3 provides one side of a bimplication involving propositional resizing. We will now record the other direction. \begin{code} truncated-types-are-locally-small-gives-propositional-resizing : ({X : π€ Μ } {n : βββ} β X is (n + 1) truncated β X is ΞΉ (n + 2) locally-small) β propositional-resizing π€ π₯ truncated-types-are-locally-small-gives-propositional-resizing trunc-gives-loc-small P P-prop = trunc-gives-loc-small {P} {β2} (is-prop-implies-is-prop' P-prop) \end{code} Lemma 2.4 of [1] \begin{code} Lemma-2-4[type-with-truncated-map-to-locally-small-type-is-locally-small] : {X : π€ Μ } {Y : π¦ Μ } {f : X β Y} {n : βββ} β Propositional-Resizing β f is (n + 1) truncated-map β Y is ΞΉ (n + 2) locally-small β X is ΞΉ (n + 2) locally-small Lemma-2-4[type-with-truncated-map-to-locally-small-type-is-locally-small] {_} {_} {_} {_} {f} {_} pr f-trunc Y-loc-small = local-smallness-is-closed-under-β (total-fiber-is-domain f) (local-smallness-is-closed-under-Ξ£ Y-loc-small (Ξ» y β Lemma-2-3[truncated-types-are-locally-small] pr (f-trunc y))) type-with-truncated-map-to-locally-small-type-is-locally-small = Lemma-2-4[type-with-truncated-map-to-locally-small-type-is-locally-small] \end{code} Lemma 2.5 of [1] \begin{code} module _ (ua : Univalence) (rep : {π€ π¦ : Universe} β Replacement'' {π€} {π¦}) where Lemma-2-5[connected-type-with-truncated-map-to-locally-small-type-is-small] : {X : π€ Μ } {Y : π¦ Μ } {f : X β Y} {n : βββ} β Propositional-Resizing β f is (n + 1) truncated-map β Y is ΞΉ (n + 2) locally-small β X is (n + 1) connected β X is π₯ small Lemma-2-5[connected-type-with-truncated-map-to-locally-small-type-is-small] {π€} {_} {X} {_} {_} {n} pr f-trunc Y-loc-small X-conn = β₯β₯-rec (being-small-is-prop ua X π₯) VI (center II) where I : X is ΞΉ (n + 2) locally-small I = Lemma-2-4[type-with-truncated-map-to-locally-small-type-is-locally-small] pr f-trunc Y-loc-small II : X is β1 connected II = connectedness-is-lower-closed' β X-conn III : X β π {π€} β X III x β = x IV : (x : X) β (III x) is n connected-map IV x = basepoint-map-is-less-connected (ua _) (III x) X-conn V : π {π€} is π₯ small V = pr π π-is-prop VI : X β X is π₯ small VI x = Prop-2-2[locally-small-type-with-connected-map-from-small-type-is-small] ua rep (IV x) V I connected-type-with-truncated-map-to-locally-small-type-is-small = Lemma-2-5[connected-type-with-truncated-map-to-locally-small-type-is-small] \end{code} In [1] Christensen proves Theorem 2.6 with propositional resizing and without. In the presence of resizing Theorem 2.6 follows from previous results, but as we are interested in avoiding unnecessary use of propositional resizing, we choose to record the latter proof. It is a bit more involved, so we will first need to prove a few lemmas. \begin{code} small-path-space-from-locally-small-type-and-small-truncation : {X : π€ Μ } {n : βββ} β X is ΞΉ (n + 2) locally-small Γ β₯ X β₯[ n + 1 ] is π₯ small β (Ξ£ y κ β₯ X β₯[ n + 1 ] , Ξ£ x κ X , β£ x β£[ n + 1 ] οΌ y) is π₯ small small-path-space-from-locally-small-type-and-small-truncation {π€} {X} {n} (X-loc-small , trunc-X-small) = Ξ£-is-small trunc-X-small IX where I : (x' : X) β (Ξ£ x κ X , β£ x β£[ n + 1 ] οΌ β£ x' β£[ n + 1 ]) is π₯ small I x' = Prop-2-2[locally-small-type-with-connected-map-from-small-type-is-small] ua rep IV V VI where II : π {π€} β Ξ£ x κ X , β£ x β£[ n + 1 ] οΌ β£ x' β£[ n + 1 ] II β = (x' , refl) III : (Ξ£ x κ X , β£ x β£[ n + 1 ] οΌ β£ x' β£[ n + 1 ]) is (n + 1) connected III = trunc-map-is-connected β£ x' β£[ n + 1 ] IV : II is n connected-map IV = basepoint-map-is-less-connected (ua _) II III V : π {π€} is π₯ small V = (π {π₯} , one-π-only) VI : (Ξ£ x κ X , β£ x β£[ n + 1 ] οΌ β£ x' β£[ n + 1 ]) is ΞΉ (n + 2) locally-small VI = local-smallness-is-closed-under-Ξ£ X-loc-small VII where VII : (x : X) β (β£ x β£[ succ n ] οΌ β£ x' β£[ succ n ]) is ΞΉ (n + 2) locally-small VII x = local-smallness-is-closed-under-β (eliminated-trunc-identity-char (ua _)) VIII where VIII : β₯ x οΌ x' β₯[ n ] is ΞΉ (n + 2) locally-small VIII = local-smallness-is-closed-under-truncation ua (being-locally-small-is-upper-closed X-loc-small x x') IX : (y : β₯ X β₯[ n + 1 ]) β (Ξ£ x κ X , β£ x β£[ n + 1 ] οΌ y) is π₯ small IX = β₯β₯β-ind (Ξ» - β props-are-truncated pt (being-small-is-prop ua (Ξ£ x κ X , β£ x β£[ n + 1 ] οΌ -) π₯)) I locally-small-type-with-small-truncation-is-small : {X : π€ Μ } {n : βββ} β X is ΞΉ (n + 2) locally-small Γ β₯ X β₯[ n + 1 ] is π₯ small β X is π₯ small locally-small-type-with-small-truncation-is-small {_} {X} {n} small-hyp = smallness-closed-under-β' (small-path-space-from-locally-small-type-and-small-truncation small-hyp) (domain-is-total-fiber β£_β£[ succ n ]) \end{code} Theorem 2.6 of [1] \begin{code} Theorem-2-6[type-is-small-iff-type-is-locally-small-and-has-small-truncation] : {X : π€ Μ } {n : βββ} β X is π₯ small β X is ΞΉ (n + 2) locally-small Γ β₯ X β₯[ n + 1 ] is π₯ small Theorem-2-6[type-is-small-iff-type-is-locally-small-and-has-small-truncation] {_} {X} {n} = (I , locally-small-type-with-small-truncation-is-small) where I : X is π₯ small β X is ΞΉ (n + 2) locally-small Γ β₯ X β₯[ n + 1 ] is π₯ small I X-small = (locally-small-types-are-small X-small , truncations-of-small-types-are-small X-small) type-is-small-iff-type-is-locally-small-and-has-small-truncation = Theorem-2-6[type-is-small-iff-type-is-locally-small-and-has-small-truncation] \end{code} We will record the following corollary of Theorem 2.6 from [1]: The set truncation of a universe is large (i.e. not small). \begin{code} set-truncation-of-universe-is-large : is-large β₯ π₯ Μ β₯[ 0 ] set-truncation-of-universe-is-large = contrapositive I universes-are-large where I : is-small β₯ π₯ Μ β₯[ 0 ] β is-small (π₯ Μ ) I small-trunc = locally-small-type-with-small-truncation-is-small (universes-are-locally-small (ua π₯) , small-trunc) \end{code} Corollary 2.7 of [1] \begin{code} Corollary-2-7[type-with-small-truncation-truncated-map-to-locally-small-is-small] : {X : π€ Μ } {Y : π¦ Μ } {f : X β Y} {n : βββ} β Propositional-Resizing β f is (n + 1) truncated-map β Y is ΞΉ (n + 2) locally-small β β₯ X β₯[ n + 1 ] is π₯ small β X is π₯ small Corollary-2-7[type-with-small-truncation-truncated-map-to-locally-small-is-small] pr f-trunc Y-loc-small trunc-X-small = locally-small-type-with-small-truncation-is-small (Lemma-2-4[type-with-truncated-map-to-locally-small-type-is-locally-small] pr f-trunc Y-loc-small , trunc-X-small) type-with-small-truncation-and-truncated-map-to-locally-small-type-is-small = Corollary-2-7[type-with-small-truncation-truncated-map-to-locally-small-is-small] \end{code} TODO. Proposition 2.8 requires the concept of Homotopy Groups.