Jon Sterling, 25th March 2023. The HoTT book shows that under excluded middle, there are weak successor cardinals. I show that under suitable propositional resizing assumptions, this holds constructively. \begin{code} {-# OPTIONS --safe --without-K #-} open import MLTT.Spartan open import UF.Base open import UF.Equiv open import UF.FunExt open import UF.PropTrunc open import UF.SetTrunc open import UF.Size open import UF.Subsingletons module Cardinals.Successor (fe : FunExt) (pe : PropExt) (st : set-truncations-exist) (pt : propositional-truncations-exist) (psz : Propositional-Resizing) where open import UF.Embeddings open import UF.Sets open import UF.Sets-Properties open import UF.Subsingletons-FunExt open import UF.Subsingletons-Properties open import UF.SubtypeClassifier open import UF.SubtypeClassifier-Properties open import Cardinals.Type st open import Cardinals.Preorder fe pe st pt open import Various.CantorTheoremForEmbeddings import UF.Logic open set-truncations-exist st open propositional-truncations-exist pt open UF.Logic.AllCombinators pt (fe _ _) resize-Ω : Ω 𝓤 → Ω 𝓥 pr₁ (resize-Ω ϕ) = resize psz (ϕ holds) (holds-is-prop ϕ) pr₂ (resize-Ω ϕ) = resize-is-prop psz (ϕ holds) (holds-is-prop ϕ) resize-Ω-roundtrip : (ϕ : Ω 𝓤) → resize-Ω {𝓦} (resize-Ω ϕ) = ϕ resize-Ω-roundtrip ϕ = to-Σ-= (main , being-prop-is-prop (fe _ _) _ _) where fwd : resize-Ω (resize-Ω ϕ) holds → ϕ holds fwd = from-resize psz _ (holds-is-prop ϕ) ∘ from-resize psz _ (resize-is-prop psz (ϕ holds) (holds-is-prop ϕ)) bwd : ϕ holds → resize-Ω (resize-Ω ϕ) holds bwd = to-resize psz _ (resize-is-prop psz (ϕ holds) (holds-is-prop ϕ)) ∘ to-resize psz (ϕ holds) (holds-is-prop ϕ) main : (resize-Ω (resize-Ω ϕ)) holds = ϕ holds main = pe _ (holds-is-prop (resize-Ω (resize-Ω ϕ))) (holds-is-prop ϕ) fwd bwd resize-Ω-is-equiv : is-equiv (resize-Ω {𝓤} {𝓥}) pr₁ (pr₁ resize-Ω-is-equiv) = resize-Ω pr₂ (pr₁ resize-Ω-is-equiv) = resize-Ω-roundtrip pr₁ (pr₂ resize-Ω-is-equiv) = resize-Ω pr₂ (pr₂ resize-Ω-is-equiv) = resize-Ω-roundtrip resize-Ω-≃ : Ω 𝓤 ≃ Ω 𝓥 pr₁ resize-Ω-≃ = resize-Ω pr₂ resize-Ω-≃ = resize-Ω-is-equiv module _ {𝓤 : Universe} where powerset : (A : 𝓤 ̇ ) → hSet (𝓤 ⁺) pr₁ (powerset A) = A → Ω 𝓤 pr₂ (powerset A) = Π-is-set (fe _ _) λ _ → Ω-is-set (fe _ _) (pe _) module _ (A : hSet 𝓤) where singleton-embedding : underlying-set A ↪ (underlying-set A → Ω 𝓤) pr₁ singleton-embedding x y = (x = y) , underlying-set-is-set A pr₂ singleton-embedding ϕ = main where main : is-prop (Σ z ꞉ underlying-set A , (λ y → (z = y) , pr₂ A) = ϕ) main (u , Hu) (v , Hv) = to-Σ-= (transport id (ap pr₁ (happly (Hv ∙ Hu ⁻¹) v)) refl , Π-is-set (fe _ _) (λ _ → Ω-is-set (fe _ _) (pe _)) _ _) [weak-successor] : (A : hSet 𝓤) → Σ β ꞉ Card (𝓤 ⁺) , (set-trunc-in A < β) holds pr₁ ([weak-successor] A) = set-trunc-in (powerset (underlying-set A)) pr₁ (pr₂ ([weak-successor] A)) = ≤-compute-in ∣ singleton-embedding A ∣ pr₂ (pr₂ ([weak-successor] A)) H = ∥∥-rec 𝟘-is-prop (𝟘-elim ∘ main) (≤-compute-out H) where main : ((underlying-set A → Ω 𝓤) ↪ underlying-set A) → 𝟘 main ι = cantor-theorem-for-embeddings fe pe psz (underlying-set A) ι' ι'-emb where Q : Ω₀ ≃ Ω 𝓤 Q = resize-Ω-≃ ι' : (underlying-set A → Ω₀) → underlying-set A ι' U = pr₁ ι (eqtofun Q ∘ U) ι'-lc : left-cancellable ι' ι'-lc {U} {V} ϕ = dfunext (fe _ (𝓤₀ ⁺)) λ x → equivs-are-lc (eqtofun Q) (pr₂ Q) (happly (embeddings-are-lc (pr₁ ι) (pr₂ ι) ϕ) x) ι'-emb : is-embedding ι' ι'-emb = lc-maps-into-sets-are-embeddings _ ι'-lc (underlying-set-is-set A) weak-successor : (α : Card 𝓤) → Σ β ꞉ Card (𝓤 ⁺) , (α < β) holds weak-successor = set-trunc-ind _ lem [weak-successor] where abstract lem : (α : Card 𝓤) → is-set (Σ β ꞉ Card (𝓤 ⁺) , (α < β) holds) lem α = Σ-is-set Card-is-set λ β → props-are-sets (holds-is-prop (α < β))