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.
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
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.
Equations
- ConNF.«term_ᴸ» = Lean.ParserDescr.trailingNode `ConNF.«term_ᴸ» 1024 1024 (Lean.ParserDescr.symbol "ᴸ")
Instances For
Equations
- ConNF.«term_ᴬ» = Lean.ParserDescr.trailingNode `ConNF.«term_ᴬ» 1024 1024 (Lean.ParserDescr.symbol "ᴬ")
Instances For
Equations
- ConNF.«term_ᴺ» = Lean.ParserDescr.trailingNode `ConNF.«term_ᴺ» 1024 1024 (Lean.ParserDescr.symbol "ᴺ")
Instances For
Equations
- ConNF.«term_ᵁ» = Lean.ParserDescr.trailingNode `ConNF.«term_ᵁ» 1024 1024 (Lean.ParserDescr.symbol "ᵁ")