A permutable type X has a Perm-action.
- perm : Perm 𝔸 → X → X
Applies a permutation to an element.
The identity permutation acts as the identity.
Composition of permutations is composition of actions.
Instances
A discrete permutable type's elements are not affected by permutation.
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
- NominalSets.PermAction.lift 𝔸 eq = { perm := fun (π : NominalSets.Perm 𝔸) (x : Y) => eq (NominalSets.perm π (eq.invFun x)), perm_one := ⋯, perm_mul := ⋯ }
Instances For
instance
NominalSets.PermAction.instInhabited
{𝔸 : Type u_1}
{X : Type u_2}
:
Inhabited (PermAction 𝔸 X)
Equations
- NominalSets.PermAction.instInhabited = { default := { perm := fun (x : NominalSets.Perm 𝔸) (x_1 : X) => x_1, perm_one := ⋯, perm_mul := ⋯ } }
Equations
- NominalSets.PermAction.inst = { perm := fun (π : NominalSets.Perm 𝔸) (x : 𝔸) => π x, perm_one := ⋯, perm_mul := ⋯ }
Equations
Equations
instance
NominalSets.Function.instPermActionForall
{𝔸 : Type u_1}
{X : Type u_2}
{Y : Type u_3}
[PermAction 𝔸 X]
[PermAction 𝔸 Y]
:
PermAction 𝔸 (X → Y)
Equations
- NominalSets.Function.instPermActionForall = { perm := fun (π : NominalSets.Perm 𝔸) (f : X → Y) (x : X) => NominalSets.perm π (f (NominalSets.perm π⁻¹ x)), perm_one := ⋯, perm_mul := ⋯ }
@[simp]
theorem
NominalSets.Function.perm_def
{𝔸 : Type u_1}
{X : Type u_2}
{Y : Type u_3}
[PermAction 𝔸 X]
[PermAction 𝔸 Y]
(π : Perm 𝔸)
(f : X → Y)
(x : X)
: