Base approximations #
In this file, we define base approximations, and what it means for a base approximation to (exactly) approximate some base permutation.
Main declarations #
ConNF.BaseApprox
: The type of base approximations.ConNF.BaseApprox.Approximates
,ConNF.BaseApprox.ExactlyApproximates
: Propositions that indicate that a base approximation (exactly) approximates a given base permutation.
A base approximation consists of a partial permutation of atoms and a partial permutation of litters, in such a way that only a small amount of atoms in the domain intersect any given litter set.
- atomPerm : PartialPerm ConNF.Atom
- litterPerm : PartialPerm ConNF.Litter
- domain_small : ∀ (L : ConNF.Litter), ConNF.Small (ConNF.litterSet L ∩ self.atomPerm.domain)
Instances For
Equations
- ConNF.BaseApprox.instSMulAtom = { smul := fun (π : ConNF.BaseApprox) => π.atomPerm.toFun }
Equations
- ConNF.BaseApprox.instSMulLitter = { smul := fun (π : ConNF.BaseApprox) => π.litterPerm.toFun }
Equations
- π.symm = { atomPerm := π.atomPerm.symm, litterPerm := π.litterPerm.symm, domain_small := ⋯ }
Instances For
Gives the largest sublitter of π
on which π.atom_perm
is not defined.
Equations
- π.largestSublitter L = { litter := L, carrier := ConNF.litterSet L \ π.atomPerm.domain, subset := ⋯, diff_small := ⋯ }
Instances For
Equations
- π.IsException a = (π • a ∉ ConNF.litterSet (π • a.1) ∨ π⁻¹ • a ∉ ConNF.litterSet (π⁻¹ • a.1))
Instances For
A base approximation approximates a base permutation if they agree wherever they are both defined. Note that a base approximation does not define images of near-litters; we only require that the base permutation agrees with it for atoms and litters.
Instances For
A base approximation φ
exactly approximates a base permutation π
if they agree wherever
they are both defined, and every exception of π
is in the domain of φ
. This allows us to
precisely calculate images of near-litters under π
.
- exception_mem : ∀ (a : ConNF.Atom), π.IsException a → a ∈ π₀.atomPerm.domain
Instances For
A base approximation is said to be A
-free if all of the litters in its domain are
A
-flexible.
Equations
- π.Free A = ∀ L ∈ π.litterPerm.domain, ConNF.Flexible A L