Completing permutations #
Litter actions can be turned into approximations by completing orbits of atoms and litters. In this
file, we describe a procedure for doing this process. The base approximation that we compute will
only remember images of A
-flexible litters for some fixed A
, for use in the freedom of action
theorem.
Main declarations #
ConNF.BaseLAction.complete
: A base approximation computed from a given base litter action.ConNF.BaseLAction.smul_nearLitter_eq_of_preciseAt
: Ifψ
is a precise litter action that is completed to formφ
, andφ
exactly approximatesπ
, then precise images of near-litters underψ
andπ
agree, so long as their rough images agree. The condition about rough images is required since the completion operation forgets all but the flexible litters.
The sandbox litter for a base litter action is an arbitrarily chosen litter that isn't banned.
Equations
- φ.sandboxLitter = ↑⋯.some
Instances For
A local permutation induced by completing the orbits of atoms in a base litter action. This function creates forward and backward images of atoms in the sandbox litter, a litter which is away from the domain and range of the approximation in question, so it should not interfere with other constructions.
Equations
- φ.atomPartialPerm hφ = PartialPerm.complete φ.atomMapOrElse φ.atomMap.Dom (ConNF.litterSet φ.sandboxLitter) ⋯ ⋯ ⋯ ⋯
Instances For
A near-litter approximation built from this base litter action. Its action on atoms matches that of the action, and its rough action on flexible litters matches the given litter permutation.
Equations
- φ.complete hφ A = { atomPerm := φ.atomPartialPerm hφ, litterPerm := φ.flexibleLitterPartialPerm hφ A, domain_small := ⋯ }