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.