Indexed inequality on cardinals

Content created by Fredrik Bakke.

Created on 2026-09-09.
Last modified on 2026-09-09.

module set-theory.indexed-inequality-cardinals where
Imports
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
open import foundation.equivalences
open import foundation.function-extensionality-axiom
open import foundation.function-types
open import foundation.identity-types
open import foundation.propositional-extensionality
open import foundation.propositional-truncations
open import foundation.propositions
open import foundation.set-truncations
open import foundation.sets
open import foundation.surjective-maps
open import foundation.univalence
open import foundation.universe-levels

open import set-theory.cardinals

Idea

A cardinal X is indexed less than or equal to a cardinal Y, written X ≤ⁱ Y, if there merely exists a surjection from a representative of Y onto a representative of X.

Definitions

Indexed boundedness of the cardinality of a set

module _
  {l1 l2 : Level} (X : Set l1)
  where

  leq-indexed-prop-Cardinal' : Cardinal l2  Prop (l1  l2)
  leq-indexed-prop-Cardinal' =
    map-universal-property-trunc-Set
      ( Prop-Set (l1  l2))
      ( λ Y'  trunc-Prop (type-Set Y'  type-Set X))

  compute-leq-indexed-prop-Cardinal' :
    (Y : Set l2) 
    leq-indexed-prop-Cardinal' (cardinality Y) 
    trunc-Prop (type-Set Y  type-Set X)
  compute-leq-indexed-prop-Cardinal' =
    triangle-universal-property-trunc-Set
      ( Prop-Set (l1  l2))
      ( λ Y'  trunc-Prop (type-Set Y'  type-Set X))

Indexed inequality of cardinals

module _
  {l1 l2 : Level}
  where

  leq-indexed-prop-Cardinal :
    Cardinal l1  Cardinal l2  Prop (l1  l2)
  leq-indexed-prop-Cardinal =
    map-universal-property-trunc-Set
      ( hom-set-Set (Cardinal-Set l2) (Prop-Set (l1  l2)))
      ( leq-indexed-prop-Cardinal')

  leq-indexed-Cardinal :
    Cardinal l1  Cardinal l2  UU (l1  l2)
  leq-indexed-Cardinal X Y =
    type-Prop (leq-indexed-prop-Cardinal X Y)

  is-prop-leq-indexed-Cardinal :
    {X : Cardinal l1} {Y : Cardinal l2} 
    is-prop (leq-indexed-Cardinal X Y)
  is-prop-leq-indexed-Cardinal {X} {Y} =
    is-prop-type-Prop (leq-indexed-prop-Cardinal X Y)

Indexed inequality of cardinalities

module _
  {l1 l2 : Level} (X : Set l1) (Y : Set l2)
  where

  leq-indexed-prop-cardinality : Prop (l1  l2)
  leq-indexed-prop-cardinality =
    leq-indexed-prop-Cardinal (cardinality X) (cardinality Y)

  leq-indexed-cardinality : UU (l1  l2)
  leq-indexed-cardinality =
    leq-indexed-Cardinal (cardinality X) (cardinality Y)

  is-prop-leq-indexed-cardinality :
    is-prop leq-indexed-cardinality
  is-prop-leq-indexed-cardinality =
    is-prop-leq-indexed-Cardinal

  compute-leq-indexed-prop-cardinality' :
    leq-indexed-prop-cardinality 
    trunc-Prop (type-Set Y  type-Set X)
  compute-leq-indexed-prop-cardinality' =
    ( htpy-eq
      ( triangle-universal-property-trunc-Set
        ( hom-set-Set (Cardinal-Set l2) (Prop-Set (l1  l2)))
        ( leq-indexed-prop-Cardinal') X) (cardinality Y)) 
    ( compute-leq-indexed-prop-Cardinal' X Y)

  compute-leq-indexed-cardinality' :
    leq-indexed-cardinality 
    type-trunc-Prop (type-Set Y  type-Set X)
  compute-leq-indexed-cardinality' =
    ap type-Prop compute-leq-indexed-prop-cardinality'

  compute-leq-indexed-cardinality :
    leq-indexed-cardinality 
    type-trunc-Prop (type-Set Y  type-Set X)
  compute-leq-indexed-cardinality =
    equiv-eq compute-leq-indexed-cardinality'

  unit-leq-indexed-cardinality :
    type-trunc-Prop (type-Set Y  type-Set X) 
    leq-indexed-cardinality
  unit-leq-indexed-cardinality =
    map-inv-equiv compute-leq-indexed-cardinality

  inv-unit-leq-indexed-cardinality :
    leq-indexed-cardinality 
    type-trunc-Prop (type-Set Y  type-Set X)
  inv-unit-leq-indexed-cardinality =
    pr1 compute-leq-indexed-cardinality

See also

Recent changes