Documentation

ConNF.BaseType.Atom

Atoms #

In this file, we define atoms: the elements of the base type of our model. They are not atoms in the ZFU sense (for example), they are simply the elements of the model which are in type τ₋₁.

This base type does not appear in the final construction, it is just used as the foundation on which the subsequent layers can be built.

Main declarations #

The base type of the construction, denoted by τ₋₁ in various papers. Instead of declaring it as an arbitrary type of cardinality μ and partitioning it into suitable sets of litters afterwards, we define it as Litter × κ, which has the correct cardinality and comes with a natural partition.

These are not 'atoms' in the ZFU, TTTU or NFU sense; they are simply the elements of the model which are in type τ₋₁.

Equations
  • ConNF.Atom = (ConNF.Litter × ConNF.κ)
Instances For
    Equations
    • =
    @[simp]
    theorem ConNF.mk_atom [ConNF.Params] :
    Cardinal.mk ConNF.Atom = Cardinal.mk ConNF.μ

    The cardinality of Atom is the cardinality of μ. We will prove that all types constructed in our model have cardinality equal to μ.

    def ConNF.litterSet [ConNF.Params] (L : ConNF.Litter) :
    Set ConNF.Atom

    The set corresponding to litter L. We define a litter set as the set of atoms with first projection L.

    Equations
    Instances For
      @[simp]
      theorem ConNF.mem_litterSet [ConNF.Params] {a : ConNF.Atom} {L : ConNF.Litter} :
      def ConNF.litterSetEquiv [ConNF.Params] (L : ConNF.Litter) :
      (ConNF.litterSet L) ConNF.κ

      Each litter set is equivalent as a type to κ.

      Equations
      Instances For
        @[simp]
        theorem ConNF.mk_litterSet [ConNF.Params] (L : ConNF.Litter) :

        Each litter set has cardinality κ.

        theorem ConNF.pairwise_disjoint_litterSet [ConNF.Params] :
        Pairwise (Disjoint on ConNF.litterSet)

        Two litters with different indices have disjoint litter sets.

        theorem ConNF.eq_of_mem_litterSet_of_mem_litterSet [ConNF.Params] {a : ConNF.Atom} {L₁ : ConNF.Litter} {L₂ : ConNF.Litter} (hi : a ConNF.litterSet L₁) (hj : a ConNF.litterSet L₂) :
        L₁ = L₂
        theorem ConNF.litterSet_symmDiff_litterSet [ConNF.Params] {L₁ : ConNF.Litter} {L₂ : ConNF.Litter} (h : L₁ L₂) :