Documentation

NominalSets.PermAction.Defs

class NominalSets.PermAction (𝔸 : Type u_1) (X : Type u_2) :
Type (max u_1 u_2)

A permutable type X has a Perm-action.

  • perm : Perm 𝔸XX

    Applies a permutation to an element.

  • perm_one (x : X) : perm 1 x = x

    The identity permutation acts as the identity.

  • perm_mul (π₁ π₂ : Perm 𝔸) (x : X) : perm π₁ (perm π₂ x) = perm (π₁ * π₂) x

    Composition of permutations is composition of actions.

Instances
    class NominalSets.DiscretePermAction (𝔸 : Type u_1) (X : Type u_2) [PermAction 𝔸 X] :

    A discrete permutable type's elements are not affected by permutation.

    • perm_discrete (π : Perm 𝔸) (x : X) : perm π x = x

      Permutation does nothing.

    Instances

      A discrete permutable type's elements are not affected by permutation.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        def NominalSets.PermAction.lift (𝔸 : Type u_1) {X : Type u_2} {Y : Type u_3} [PermAction 𝔸 X] (eq : X Y) :
        PermAction 𝔸 Y

        We can construct PermAction instances via a bijection.

        Equations
        Instances For
          instance NominalSets.PermAction.instInhabited {𝔸 : Type u_1} {X : Type u_2} :
          Equations
          instance NominalSets.PermAction.inst {𝔸 : Type u_1} :
          PermAction 𝔸 𝔸
          Equations
          @[simp]
          theorem NominalSets.PermAction.perm_def {𝔸 : Type u_1} (π : Perm 𝔸) (x : 𝔸) :
          perm π x = π x
          instance NominalSets.Function.instPermActionForall {𝔸 : Type u_1} {X : Type u_2} {Y : Type u_3} [PermAction 𝔸 X] [PermAction 𝔸 Y] :
          PermAction 𝔸 (XY)
          Equations
          @[simp]
          theorem NominalSets.Function.perm_def {𝔸 : Type u_1} {X : Type u_2} {Y : Type u_3} [PermAction 𝔸 X] [PermAction 𝔸 Y] (π : Perm 𝔸) (f : XY) (x : X) :
          perm π f x = perm π (f (perm π⁻¹ x))