Documentation

NominalSets.Perm.Basic

Permutations #

This file provides lemmas related to finite permutations.

@[simp]
theorem NominalSets.Perm.coe_mk {๐”ธ : Type u_1} (ฯ€ ฯ€' : ๐”ธ โ†’ ๐”ธ) (hฯ€โ‚ : โˆ€ (a : ๐”ธ), ฯ€ (ฯ€' a) = a) (hฯ€โ‚‚ : โˆ€ (a : ๐”ธ), ฯ€' (ฯ€ a) = a) (hฯ€โ‚ƒ : โˆƒ (A : Finset ๐”ธ), โˆ€ a โˆ‰ A, ฯ€ a = a) (x : ๐”ธ) :
{ toFun := ฯ€, invFun := ฯ€', right_inverse' := hฯ€โ‚, left_inverse' := hฯ€โ‚‚, has_supp' := hฯ€โ‚ƒ } x = ฯ€ x
theorem NominalSets.Perm.ext {๐”ธ : Type u_1} {ฯ€โ‚ ฯ€โ‚‚ : Perm ๐”ธ} (h : โˆ€ (a : ๐”ธ), ฯ€โ‚ a = ฯ€โ‚‚ a) :
ฯ€โ‚ = ฯ€โ‚‚
theorem NominalSets.Perm.ext_iff {๐”ธ : Type u_1} {ฯ€โ‚ ฯ€โ‚‚ : Perm ๐”ธ} :
ฯ€โ‚ = ฯ€โ‚‚ โ†” โˆ€ (a : ๐”ธ), ฯ€โ‚ a = ฯ€โ‚‚ a
@[simp]
theorem NominalSets.Perm.coe_injective {๐”ธ : Type u_1} (ฯ€ : Perm ๐”ธ) :
Function.Injective โ‡‘ฯ€
@[simp]
theorem NominalSets.Perm.coe_inj {๐”ธ : Type u_1} (ฯ€ : Perm ๐”ธ) (a b : ๐”ธ) :
ฯ€ a = ฯ€ b โ†” a = b
@[simp]
theorem NominalSets.Perm.inv_injective {๐”ธ : Type u_1} :
Function.Injective fun (x : Perm ๐”ธ) => xโปยน
@[simp]
theorem NominalSets.Perm.inv_inj {๐”ธ : Type u_1} {ฯ€โ‚ ฯ€โ‚‚ : Perm ๐”ธ} :
ฯ€โ‚โปยน = ฯ€โ‚‚โปยน โ†” ฯ€โ‚ = ฯ€โ‚‚
@[simp]
theorem NominalSets.Perm.eta {๐”ธ : Type u_1} {ฯ€โ‚ ฯ€โ‚‚ : Perm ๐”ธ} :
โ‡‘ฯ€โ‚ = โ‡‘ฯ€โ‚‚ โ†” ฯ€โ‚ = ฯ€โ‚‚
instance NominalSets.Perm.instGroup {๐”ธ : Type u_1} :
Group (Perm ๐”ธ)
Equations
  • One or more equations did not get rendered due to their size.
@[simp]
theorem NominalSets.Perm.inv_one {๐”ธ : Type u_1} :
@[simp]
theorem NominalSets.Perm.mul_assoc {๐”ธ : Type u_1} (ฯ€โ‚ ฯ€โ‚‚ ฯ€โ‚ƒ : Perm ๐”ธ) :
ฯ€โ‚ * (ฯ€โ‚‚ * ฯ€โ‚ƒ) = ฯ€โ‚ * ฯ€โ‚‚ * ฯ€โ‚ƒ
@[simp]
theorem NominalSets.Perm.swap_swap {๐”ธ : Type u_1} [DecidableEq ๐”ธ] (a b : ๐”ธ) :
swap a b * swap a b = 1
@[simp]
theorem NominalSets.Perm.swap_swap_l {๐”ธ : Type u_1} [DecidableEq ๐”ธ] (ฯ€ : Perm ๐”ธ) (a b : ๐”ธ) :
ฯ€ * swap a b * swap a b = ฯ€
theorem NominalSets.Perm.swap_comm {๐”ธ : Type u_1} [DecidableEq ๐”ธ] (a b : ๐”ธ) :
swap a b = swap b a
@[simp]
theorem NominalSets.Perm.inv_swap {๐”ธ : Type u_1} [DecidableEq ๐”ธ] (a b : ๐”ธ) :
@[simp]
theorem NominalSets.Perm.swap_eq {๐”ธ : Type u_1} [DecidableEq ๐”ธ] (a : ๐”ธ) :
swap a a = 1
theorem NominalSets.Perm.swap_mul {๐”ธ : Type u_1} [DecidableEq ๐”ธ] (a b : ๐”ธ) (ฯ€ : Perm ๐”ธ) :
swap a b * ฯ€ = ฯ€ * swap (ฯ€โปยน a) (ฯ€โปยน b)
theorem NominalSets.Perm.mul_swap {๐”ธ : Type u_1} [DecidableEq ๐”ธ] (a b : ๐”ธ) (ฯ€ : Perm ๐”ธ) :
ฯ€ * swap a b = swap (ฯ€ a) (ฯ€ b) * ฯ€
@[simp]
theorem NominalSets.Perm.seq_append {๐”ธ : Type u_1} [DecidableEq ๐”ธ] (xs ys : List (๐”ธ ร— ๐”ธ)) :
seq (xs ++ ys) = seq xs * seq ys
theorem NominalSets.Perm.exists_seq {๐”ธ : Type u_1} [DecidableEq ๐”ธ] (ฯ€ : Perm ๐”ธ) :
โˆƒ (xs : List (๐”ธ ร— ๐”ธ)), ฯ€ = seq xs
instance NominalSets.Perm.instCountable {๐”ธ : Type u_1} [Countable ๐”ธ] :
Countable (Perm ๐”ธ)