Documentation

ConNF.Base.BasePerm

Base permutations #

In this file, we define the group of base permutations, and their actions on atoms, litters, and near-litters.

Main declarations #

  • atoms : Equiv.Perm ConNF.Atom
  • litters : Equiv.Perm ConNF.Litter
  • apply_near_apply : ∀ (s : Set ConNF.Atom) (L : ConNF.Litter), s ~ Lself.atoms '' s ~ (self.litters L)
Instances For
    Equations
    • ConNF.BasePerm.instSuperAPermAtom = { superA := ConNF.BasePerm.atoms }
    Equations
    • ConNF.BasePerm.instSuperLPermLitter = { superL := ConNF.BasePerm.litters }
    instance ConNF.BasePerm.instSMulAtom [ConNF.Params] :
    SMul ConNF.BasePerm ConNF.Atom
    Equations
    • ConNF.BasePerm.instSMulAtom = { smul := fun (π : ConNF.BasePerm) (a : ConNF.Atom) => π a }
    instance ConNF.BasePerm.instSMulLitter [ConNF.Params] :
    SMul ConNF.BasePerm ConNF.Litter
    Equations
    • ConNF.BasePerm.instSMulLitter = { smul := fun (π : ConNF.BasePerm) (L : ConNF.Litter) => π L }
    theorem ConNF.BasePerm.smul_near_smul [ConNF.Params] (π : ConNF.BasePerm) (s : Set ConNF.Atom) (L : ConNF.Litter) :
    s ~ Lπ s ~ (π L)
    instance ConNF.BasePerm.instSMulNearLitter [ConNF.Params] :
    SMul ConNF.BasePerm ConNF.NearLitter
    Equations
    • ConNF.BasePerm.instSMulNearLitter = { smul := fun (π : ConNF.BasePerm) (N : ConNF.NearLitter) => { litter := π N, atoms := π N, atoms_near_litter' := } }
    theorem ConNF.BasePerm.smul_atom_def [ConNF.Params] (π : ConNF.BasePerm) (a : ConNF.Atom) :
    π a = π a
    theorem ConNF.BasePerm.smul_litter_def [ConNF.Params] (π : ConNF.BasePerm) (L : ConNF.Litter) :
    π L = π L
    @[simp]
    theorem ConNF.BasePerm.smul_nearLitter_atoms [ConNF.Params] (π : ConNF.BasePerm) (N : ConNF.NearLitter) :
    (π N) = π N
    @[simp]
    theorem ConNF.BasePerm.smul_nearLitter_litter [ConNF.Params] (π : ConNF.BasePerm) (N : ConNF.NearLitter) :
    (π N) = π N
    theorem ConNF.BasePerm.ext [ConNF.Params] {π₁ π₂ : ConNF.BasePerm} (h : ∀ (a : ConNF.Atom), π₁ a = π₂ a) :
    π₁ = π₂
    instance ConNF.BasePerm.instOne [ConNF.Params] :
    One ConNF.BasePerm
    Equations
    • ConNF.BasePerm.instOne = { one := { atoms := 1, litters := 1, apply_near_apply := } }
    instance ConNF.BasePerm.instMul [ConNF.Params] :
    Mul ConNF.BasePerm
    Equations
    • ConNF.BasePerm.instMul = { mul := fun (π₁ π₂ : ConNF.BasePerm) => { atoms := π₁ * π₂, litters := π₁ * π₂, apply_near_apply := } }
    @[simp]
    theorem ConNF.BasePerm.mul_atom [ConNF.Params] (π₁ π₂ : ConNF.BasePerm) :
    (π₁ * π₂) = π₁ * π₂
    @[simp]
    theorem ConNF.BasePerm.mul_litter [ConNF.Params] (π₁ π₂ : ConNF.BasePerm) :
    (π₁ * π₂) = π₁ * π₂
    theorem ConNF.BasePerm.inv_smul_near_inv_smul [ConNF.Params] (π : ConNF.BasePerm) (s : Set ConNF.Atom) (L : ConNF.Litter) :
    s ~ Lπ⁻¹ s ~ (π⁻¹ L)
    instance ConNF.BasePerm.instInv [ConNF.Params] :
    Inv ConNF.BasePerm
    Equations
    • ConNF.BasePerm.instInv = { inv := fun (π : ConNF.BasePerm) => { atoms := π⁻¹, litters := π⁻¹, apply_near_apply := } }
    @[simp]
    theorem ConNF.BasePerm.inv_atom [ConNF.Params] (π : ConNF.BasePerm) :
    @[simp]
    theorem ConNF.BasePerm.inv_litter [ConNF.Params] (π : ConNF.BasePerm) :
    instance ConNF.BasePerm.instGroup [ConNF.Params] :
    Group ConNF.BasePerm
    Equations
    instance ConNF.BasePerm.instMulActionAtom [ConNF.Params] :
    MulAction ConNF.BasePerm ConNF.Atom
    Equations
    instance ConNF.BasePerm.instMulActionLitter [ConNF.Params] :
    MulAction ConNF.BasePerm ConNF.Litter
    Equations
    instance ConNF.BasePerm.instMulActionNearLitter [ConNF.Params] :
    MulAction ConNF.BasePerm ConNF.NearLitter
    Equations
    @[simp]
    theorem ConNF.BasePerm.smul_interference [ConNF.Params] (π : ConNF.BasePerm) (N₁ N₂ : ConNF.NearLitter) :
    π ConNF.interference N₁ N₂ = ConNF.interference (π N₁) (π N₂)