Documentation

ConNF.Base.Litter

Litters #

In this file, we define litters, which are the parts of an indexed partition of the base type of our model. Each litter is indexed by an element of μ, as well as some parameters β and γ used for defining the fuzz map later.

The type indexing the partition of the base type of our model. The field ν : μ is an index that enforces that there are μ litters. The fields β and γ are used in the definition of the fuzz map, which is an injection into the type of litters.

  • ν : ConNF.μ
  • β : ConNF.TypeIndex
  • γ : ConNF.Λ
  • β_ne_γ : self self
Instances For

    The type of litters is nonempty.

    def ConNF.litterEquiv [ConNF.Params] :
    ConNF.Litter { a : ConNF.μ × ConNF.TypeIndex × ConNF.Λ // a.2.1 a.2.2 }

    Strips away the name of the type of litters, converting it into a combination of types well-known to mathlib.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      @[simp]
      theorem ConNF.card_litter [ConNF.Params] :
      Cardinal.mk ConNF.Litter = Cardinal.mk ConNF.μ

      There are precisely μ litters.

      Notation typeclasses #

      We will use Lean's typeclasses to implement some custom notation, namely the superscripts , , , , which will be used for converting between various common types (such as litters). The meanings of the notations are type-dependent.

      class ConNF.SuperL (X : Type u_1) (Y : outParam (Type u_2)) :
      Type (max u_1 u_2)

      Typeclass for the notation. Used for converting to litters, or extracting the "litter part" of an object.

      • superL : XY
      Instances
        class ConNF.SuperA (X : Type u_1) (Y : outParam (Type u_2)) :
        Type (max u_1 u_2)

        Typeclass for the notation. Used for converting to atoms, or extracting the "atom part" of an object.

        • superA : XY
        Instances
          class ConNF.SuperN (X : Type u_1) (Y : outParam (Type u_2)) :
          Type (max u_1 u_2)

          Typeclass for the notation. Used for converting to near-litters, or extracting the "near-litter part" of an object.

          • superN : XY
          Instances
            class ConNF.SuperU (X : Type u_1) (Y : outParam (Type u_2)) :
            Type (max u_1 u_2)

            Typeclass for the notation. Used for forgetful operations.

            • superU : XY
            Instances