Projective cardinals
Content created by Fredrik Bakke.
Created on 2026-09-09.
Last modified on 2026-09-09.
module set-theory.projective-cardinals where
Imports
open import foundation.action-on-identifications-functions open import foundation.dependent-pair-types open import foundation.equivalences open import foundation.function-types open import foundation.identity-types open import foundation.projective-types open import foundation.propositional-extensionality open import foundation.propositions open import foundation.set-truncations open import foundation.sets open import foundation.subtypes open import foundation.univalence open import foundation.universe-levels open import set-theory.cardinals
Idea
A cardinal κ is
projective¶,
if any set in its isomorphism class is
projective.
Definitions
The predicate on cardinals of being projective
module _ {l1 : Level} (l2 : Level) (κ : Cardinal l1) where is-projective-prop-Cardinal : Prop (l1 ⊔ lsuc l2) is-projective-prop-Cardinal = apply-universal-property-trunc-Set' κ ( Prop-Set (l1 ⊔ lsuc l2)) ( is-projective-prop-Level l2 ∘ type-Set) is-projective-Cardinal : UU (l1 ⊔ lsuc l2) is-projective-Cardinal = type-Prop is-projective-prop-Cardinal is-prop-is-projective-Cardinal : is-prop is-projective-Cardinal is-prop-is-projective-Cardinal = is-prop-type-Prop is-projective-prop-Cardinal
Projective cardinalities
module _ {l1 : Level} (l2 : Level) (X : Set l1) where is-projective-prop-cardinality : Prop (l1 ⊔ lsuc l2) is-projective-prop-cardinality = is-projective-prop-Cardinal l2 (cardinality X) is-projective-cardinality : UU (l1 ⊔ lsuc l2) is-projective-cardinality = is-projective-Cardinal l2 (cardinality X) module _ {l1 l2 : Level} (X : Set l1) where is-prop-is-projective-cardinality : is-prop (is-projective-cardinality l2 X) is-prop-is-projective-cardinality = is-prop-is-projective-Cardinal l2 (cardinality X) eq-compute-is-projective-prop-cardinality : is-projective-prop-cardinality l2 X = is-projective-prop-Level l2 (type-Set X) eq-compute-is-projective-prop-cardinality = triangle-universal-property-trunc-Set ( Prop-Set (l1 ⊔ lsuc l2)) ( is-projective-prop-Level l2 ∘ type-Set) ( X) eq-compute-is-projective-cardinality : is-projective-cardinality l2 X = is-projective-Level l2 (type-Set X) eq-compute-is-projective-cardinality = ap type-Prop eq-compute-is-projective-prop-cardinality compute-is-projective-cardinality : is-projective-cardinality l2 X ≃ is-projective-Level l2 (type-Set X) compute-is-projective-cardinality = equiv-eq eq-compute-is-projective-cardinality unit-is-projective-cardinality : is-projective-Level l2 (type-Set X) → is-projective-cardinality l2 X unit-is-projective-cardinality = map-inv-equiv compute-is-projective-cardinality inv-unit-is-projective-cardinality : is-projective-cardinality l2 X → is-projective-Level l2 (type-Set X) inv-unit-is-projective-cardinality = map-equiv compute-is-projective-cardinality
The universe of projective cardinals
Projective-Cardinal : (l1 l2 : Level) → UU (lsuc l1 ⊔ lsuc l2) Projective-Cardinal l1 l2 = Σ (Cardinal l1) (is-projective-Cardinal l2) is-set-Projective-Cardinal : {l1 l2 : Level} → is-set (Projective-Cardinal l1 l2) is-set-Projective-Cardinal {l1} {l2} = is-set-type-subtype (is-projective-prop-Cardinal l2) is-set-Cardinal Projective-Cardinal-Set : (l1 l2 : Level) → Set (lsuc l1 ⊔ lsuc l2) Projective-Cardinal-Set l1 l2 = (Projective-Cardinal l1 l2 , is-set-Projective-Cardinal) module _ {l1 l2 : Level} (κ : Projective-Cardinal l1 l2) where cardinal-Projective-Cardinal : Cardinal l1 cardinal-Projective-Cardinal = pr1 κ is-projective-Projective-Cardinal : is-projective-Cardinal l2 cardinal-Projective-Cardinal is-projective-Projective-Cardinal = pr2 κ
Recent changes
- 2026-09-09. Fredrik Bakke. Define some cardinal properties (#2002).