Near-litters #
In this file, we define near-litters, which are sets with small symmetric difference to a litter.
Main declarations #
ConNF.IsNearLitter
: Proposition stating that a set is near a given litter.ConNF.NearLitter
: The type of near-litters.ConNF.Litter.toNearLitter
: Converts a litter to its corresponding near-litter.ConNF.NearLitter.IsLitter
: Proposition stating that a near-litter comes directly from a litter: it is of the formL.toNearLitter
for some litterL
.
A L
-near-litter is a set of small symmetric difference to litter L
. In other words,
it is near litter L
.
Note that here we keep track of which litter a set is near; a set cannot be merely a near-litter, it
must be an L
-near-litter for some L
. A priori, a set could be an L₁
-near-litter and also a
L₂
-near-litter, but this is not the case.
Equations
- ConNF.IsNearLitter L s = ConNF.IsNear (ConNF.litterSet L) s
Instances For
The litter set corresponding to L
is a near-litter to litter L
.
If two sets are L
-near-litters, they are near each other.
This is because they are both near litter L
, and nearness is transitive.
A litter set is only a near-litter to itself.
A set is near at most one litter.
There are μ
near-litters to litter L
.
The type of near-litters. A near-litter is a litter together with a set near it.
Equations
- ConNF.NearLitter = ((L : ConNF.Litter) × { s : Set ConNF.Atom // ConNF.IsNearLitter L s })
Instances For
Equations
- ConNF.NearLitter.instSetLikeAtom = { coe := fun (N : ConNF.NearLitter) => ↑N.snd, coe_injective' := ⋯ }
Reinterpret a near-litter as a product of a litter and a set of atoms.
Equations
- N.toProd = (N.fst, ↑N.snd)
Instances For
A near-litter N
is near a given litter L
if and only if N
has first projection L
.
Convert a litter to its associated near-litter.
Equations
- L.toNearLitter = ⟨L, ⟨ConNF.litterSet L, ⋯⟩⟩
Instances For
Equations
- ⋯ = ⋯
There are μ
near-litters in total.
There aer μ
near-litters to a given litter.
This near-litter is of the form L.toNearLitter
.
- mk: ∀ [inst : ConNF.Params] (L : ConNF.Litter), L.toNearLitter.IsLitter
Instances For
The main induction rule for near-litters that are litters.
The size of each near-litter is κ
.
Near-litters to the same litter have κ
-sized intersection.
Near-litters to different litters have small intersection.