Documentation

Mathlib.Algebra.Group.Conj

Conjugacy of group elements #

See also MulAut.conj and Quandle.conj.

def IsConj {α : Type u} [Monoid α] (a b : α) :

We say that a is conjugate to b if for some unit c we have c * a * c⁻¹ = b.

Equations
Instances For
    def IsAddConj {α : Type u} [AddMonoid α] (a b : α) :

    We say that a is additively conjugate to b if for some additive unit c we have c + a + -c = b.

    Equations
    Instances For
      theorem IsConj.refl {α : Type u} [Monoid α] (a : α) :
      IsConj a a
      theorem IsAddConj.refl {α : Type u} [AddMonoid α] (a : α) :
      theorem IsConj.symm {α : Type u} [Monoid α] {a b : α} :
      IsConj a bIsConj b a
      theorem IsAddConj.symm {α : Type u} [AddMonoid α] {a b : α} :
      IsAddConj a bIsAddConj b a
      theorem isConj_comm {α : Type u} [Monoid α] {g h : α} :
      IsConj g h IsConj h g
      theorem isAddConj_comm {α : Type u} [AddMonoid α] {g h : α} :
      theorem IsConj.trans {α : Type u} [Monoid α] {a b c : α} :
      IsConj a bIsConj b cIsConj a c
      theorem IsAddConj.trans {α : Type u} [AddMonoid α] {a b c : α} :
      IsAddConj a bIsAddConj b cIsAddConj a c
      theorem IsConj.pow {α : Type u} [Monoid α] {a b : α} (n : ) :
      IsConj a bIsConj (a ^ n) (b ^ n)
      theorem IsAddConj.nsmul {α : Type u} [AddMonoid α] {a b : α} (n : ) :
      IsAddConj a bIsAddConj (n a) (n b)
      @[simp]
      theorem isConj_iff_eq {α : Type u_1} [CommMonoid α] {a b : α} :
      IsConj a b a = b
      @[simp]
      theorem isAddConj_iff_eq {α : Type u_1} [AddCommMonoid α] {a b : α} :
      IsAddConj a b a = b
      theorem MonoidHom.map_isConj {α : Type u} {β : Type v} [Monoid α] [Monoid β] (f : α →* β) {a b : α} :
      IsConj a bIsConj (f a) (f b)
      theorem AddMonoidHom.map_isAddConj {α : Type u} {β : Type v} [AddMonoid α] [AddMonoid β] (f : α →+ β) {a b : α} :
      IsAddConj a bIsAddConj (f a) (f b)
      @[simp]
      theorem isConj_one_right {α : Type u} [Monoid α] {a : α} :
      IsConj 1 a a = 1
      @[simp]
      theorem isAddConj_zero_right {α : Type u} [AddMonoid α] {a : α} :
      IsAddConj 0 a a = 0
      @[simp]
      theorem isConj_one_left {α : Type u} [Monoid α] {a : α} :
      IsConj a 1 a = 1
      @[simp]
      theorem isAddConj_zero_left {α : Type u} [AddMonoid α] {a : α} :
      IsAddConj a 0 a = 0
      @[simp]
      theorem isConj_iff {α : Type u} [Group α] {a b : α} :
      IsConj a b (c : α), c * a * c⁻¹ = b
      @[simp]
      theorem isAddConj_iff {α : Type u} [AddGroup α] {a b : α} :
      IsAddConj a b (c : α), c + a + -c = b
      theorem conj_inv {α : Type u} [Group α] {a b : α} :
      (b * a * b⁻¹)⁻¹ = b * a⁻¹ * b⁻¹
      theorem addConj_neg {α : Type u} [AddGroup α] {a b : α} :
      -(b + a + -b) = b + -a + -b
      @[simp]
      theorem conj_mul {α : Type u} [Group α] {a b c : α} :
      b * a * b⁻¹ * (b * c * b⁻¹) = b * (a * c) * b⁻¹
      @[simp]
      theorem addConj_add {α : Type u} [AddGroup α] {a b c : α} :
      b + a + -b + (b + c + -b) = b + (a + c) + -b
      @[simp]
      theorem conj_pow {α : Type u} [Group α] {i : } {a b : α} :
      (a * b * a⁻¹) ^ i = a * b ^ i * a⁻¹
      @[simp]
      theorem addConj_nsmul {α : Type u} [AddGroup α] {i : } {a b : α} :
      i (a + b + -a) = a + i b + -a
      @[simp]
      theorem conj_zpow {α : Type u} [Group α] {i : } {a b : α} :
      (a * b * a⁻¹) ^ i = a * b ^ i * a⁻¹
      @[simp]
      theorem addConj_zsmul {α : Type u} [AddGroup α] {i : } {a b : α} :
      i (a + b + -a) = a + i b + -a
      theorem conj_injective {α : Type u} [Group α] {x : α} :
      Function.Injective fun (g : α) => x * g * x⁻¹
      theorem addConj_injective {α : Type u} [AddGroup α] {x : α} :
      Function.Injective fun (g : α) => x + g + -x
      @[implicit_reducible]
      def IsConj.setoid (α : Type u_1) [Monoid α] :

      The setoid of the relation IsConj iff there is a unit u such that u * x = y * u

      Equations
      Instances For
        @[implicit_reducible]
        def IsAddConj.setoid (α : Type u_1) [AddMonoid α] :

        The setoid of the relation IsAddConj iff there is an additive unit u such that u + x = y + u

        Equations
        Instances For
          def ConjClasses (α : Type u_1) [Monoid α] :
          Type u_1

          The quotient type of conjugacy classes of a group.

          Equations
          Instances For
            def AddConjClasses (α : Type u_1) [AddMonoid α] :
            Type u_1

            The quotient type of additive conjugacy classes of an additive group.

            Equations
            Instances For
              def ConjClasses.mk {α : Type u_1} [Monoid α] (a : α) :

              The canonical quotient map from a monoid α into the ConjClasses of α

              Equations
              Instances For
                def AddConjClasses.mk {α : Type u_1} [AddMonoid α] (a : α) :

                The canonical quotient map from an additive monoid α into the AddConjClasses of α

                Equations
                Instances For
                  @[implicit_reducible]
                  Equations
                  @[implicit_reducible]
                  Equations
                  theorem ConjClasses.quot_mk_eq_mk {α : Type u} [Monoid α] (a : α) :
                  theorem ConjClasses.forall_isConj {α : Type u} [Monoid α] {p : ConjClasses αProp} :
                  (∀ (a : ConjClasses α), p a) ∀ (a : α), p (ConjClasses.mk a)
                  theorem AddConjClasses.forall_isAddConj {α : Type u} [AddMonoid α] {p : AddConjClasses αProp} :
                  (∀ (a : AddConjClasses α), p a) ∀ (a : α), p (AddConjClasses.mk a)
                  @[implicit_reducible]
                  instance ConjClasses.instOne {α : Type u} [Monoid α] :
                  Equations
                  @[implicit_reducible]
                  Equations
                  theorem ConjClasses.exists_rep {α : Type u} [Monoid α] (a : ConjClasses α) :
                  def ConjClasses.map {α : Type u} {β : Type v} [Monoid α] [Monoid β] (f : α →* β) :

                  A MonoidHom maps conjugacy classes of one group to conjugacy classes of another.

                  Equations
                  Instances For
                    def AddConjClasses.map {α : Type u} {β : Type v} [AddMonoid α] [AddMonoid β] (f : α →+ β) :

                    An AddMonoidHom maps additive conjugacy classes of one additive group to additive conjugacy classes of another.

                    Equations
                    Instances For
                      theorem ConjClasses.map_surjective {α : Type u} {β : Type v} [Monoid α] [Monoid β] {f : α →* β} (hf : Function.Surjective f) :
                      theorem AddConjClasses.map_surjective {α : Type u} {β : Type v} [AddMonoid α] [AddMonoid β] {f : α →+ β} (hf : Function.Surjective f) :

                      Certain instances trigger further searches when they are considered as candidate instances; these instances should be assigned a priority lower than the default of 1000 (for example, 900).

                      The conditions for this rule are as follows:

                      • a class C has instances instT : C T and instT' : C T';
                      • types T and T' are both reducible specializations of another type S;
                      • the parameters supplied to S to produce T are not (fully) determined by instT, instead they have to be found by instance search.

                      If those conditions hold, the instance instT should be assigned lower priority.

                      Note that there is no issue unless T and T' are reducibly equal to S, Otherwise the instance discrimination tree can distinguish them, and the note does not apply.

                      If the type involved is a free variable (rather than an instantiation of some type S), the instance priority should be even lower, see Note [lower instance priority].

                      Equations
                      Instances For

                        The bijection between a CommGroup and its ConjClasses.

                        Equations
                        Instances For

                          The bijection between an AddCommGroup and its AddConjClasses.

                          Equations
                          Instances For
                            def conjugatesOf {α : Type u} [Monoid α] (a : α) :
                            Set α

                            Given an element a, conjugatesOf a is the set of conjugates.

                            Equations
                            Instances For
                              def addConjugatesOf {α : Type u} [AddMonoid α] (a : α) :
                              Set α

                              Given an element a, addConjugatesOf a is the set of additive conjugates.

                              Equations
                              Instances For
                                theorem mem_conjugatesOf_self {α : Type u} [Monoid α] {a : α} :
                                theorem IsConj.conjugatesOf_eq {α : Type u} [Monoid α] {a b : α} (ab : IsConj a b) :
                                def ConjClasses.carrier {α : Type u} [Monoid α] :
                                ConjClasses αSet α

                                Given a conjugacy class a, carrier a is the set it represents.

                                Equations
                                Instances For

                                  Given an additive conjugacy class a, carrier a is the set it represents.

                                  Equations
                                  Instances For