Documentation

Mathlib.Algebra.Order.Group.Synonym

Group structure on the order type synonyms #

Transfer algebraic instances from α to αᵒᵈ and Lex α.

OrderDual #

instance instOneOrderDual {α : Type u_1} [h : One α] :
Equations
    instance instZeroOrderDual {α : Type u_1} [h : Zero α] :
    Equations
      instance instMulOrderDual {α : Type u_1} [h : Mul α] :
      Equations
        instance instAddOrderDual {α : Type u_1} [h : Add α] :
        Equations
          instance instInvOrderDual {α : Type u_1} [h : Inv α] :
          Equations
            instance instNegOrderDual {α : Type u_1} [h : Neg α] :
            Equations
              instance instDivOrderDual {α : Type u_1} [h : Div α] :
              Equations
                instance instSubOrderDual {α : Type u_1} [h : Sub α] :
                Equations
                  instance OrderDual.instPow {α : Type u_1} {β : Type u_2} [h : Pow α β] :
                  Pow αᵒᵈ β
                  Equations
                    instance OrderDual.instSMul {β : Type u_2} {α : Type u_1} [h : SMul β α] :
                    Equations
                      instance OrderDual.instVAdd {β : Type u_2} {α : Type u_1} [h : VAdd β α] :
                      Equations
                        instance OrderDual.instPow' {α : Type u_1} {β : Type u_2} [h : Pow α β] :
                        Pow α βᵒᵈ
                        Equations
                          instance OrderDual.instVAdd' {β : Type u_2} {α : Type u_1} [h : VAdd β α] :
                          Equations
                            instance OrderDual.instSMul' {β : Type u_2} {α : Type u_1} [h : SMul β α] :
                            Equations
                              instance instSemigroupOrderDual {α : Type u_1} [h : Semigroup α] :
                              Equations
                                Equations
                                  Equations
                                    Equations
                                      instance instMonoidOrderDual {α : Type u_1} [h : Monoid α] :
                                      Equations
                                        instance instAddMonoidOrderDual {α : Type u_1} [h : AddMonoid α] :
                                        Equations
                                          instance OrderDual.instCommMonoid {α : Type u_1} [h : CommMonoid α] :
                                          Equations
                                            Equations
                                              Equations
                                                instance OrderDual.instGroup {α : Type u_1} [h : Group α] :
                                                Equations
                                                  instance OrderDual.instAddGroup {α : Type u_1} [h : AddGroup α] :
                                                  Equations
                                                    instance instCommGroupOrderDual {α : Type u_1} [h : CommGroup α] :
                                                    Equations
                                                      Equations
                                                        @[simp]
                                                        theorem toDual_one {α : Type u_1} [One α] :
                                                        @[simp]
                                                        theorem toDual_zero {α : Type u_1} [Zero α] :
                                                        @[simp]
                                                        theorem ofDual_one {α : Type u_1} [One α] :
                                                        @[simp]
                                                        theorem ofDual_zero {α : Type u_1} [Zero α] :
                                                        @[simp]
                                                        theorem toDual_mul {α : Type u_1} [Mul α] (a b : α) :
                                                        @[simp]
                                                        theorem toDual_add {α : Type u_1} [Add α] (a b : α) :
                                                        @[simp]
                                                        theorem ofDual_mul {α : Type u_1} [Mul α] (a b : αᵒᵈ) :
                                                        @[simp]
                                                        theorem ofDual_add {α : Type u_1} [Add α] (a b : αᵒᵈ) :
                                                        @[simp]
                                                        theorem toDual_inv {α : Type u_1} [Inv α] (a : α) :
                                                        @[simp]
                                                        theorem toDual_neg {α : Type u_1} [Neg α] (a : α) :
                                                        @[simp]
                                                        theorem ofDual_inv {α : Type u_1} [Inv α] (a : αᵒᵈ) :
                                                        @[simp]
                                                        theorem ofDual_neg {α : Type u_1} [Neg α] (a : αᵒᵈ) :
                                                        @[simp]
                                                        theorem toDual_div {α : Type u_1} [Div α] (a b : α) :
                                                        @[simp]
                                                        theorem toDual_sub {α : Type u_1} [Sub α] (a b : α) :
                                                        @[simp]
                                                        theorem ofDual_div {α : Type u_1} [Div α] (a b : αᵒᵈ) :
                                                        @[simp]
                                                        theorem ofDual_sub {α : Type u_1} [Sub α] (a b : αᵒᵈ) :
                                                        @[simp]
                                                        theorem toDual_pow {α : Type u_1} {β : Type u_2} [Pow α β] (a : α) (b : β) :
                                                        @[simp]
                                                        theorem toDual_vadd {β : Type u_2} {α : Type u_1} [VAdd β α] (b : β) (a : α) :
                                                        @[simp]
                                                        theorem toDual_smul {β : Type u_2} {α : Type u_1} [SMul β α] (b : β) (a : α) :
                                                        @[simp]
                                                        theorem ofDual_pow {α : Type u_1} {β : Type u_2} [Pow α β] (a : αᵒᵈ) (b : β) :
                                                        @[simp]
                                                        theorem ofDual_vadd {β : Type u_2} {α : Type u_1} [VAdd β α] (b : β) (a : αᵒᵈ) :
                                                        @[simp]
                                                        theorem ofDual_smul {β : Type u_2} {α : Type u_1} [SMul β α] (b : β) (a : αᵒᵈ) :
                                                        @[simp]
                                                        theorem pow_toDual {α : Type u_1} {β : Type u_2} [Pow α β] (a : α) (b : β) :
                                                        @[simp]
                                                        theorem toDual_vadd' {β : Type u_2} {α : Type u_1} [VAdd β α] (b : β) (a : α) :
                                                        @[simp]
                                                        theorem toDual_smul' {β : Type u_2} {α : Type u_1} [SMul β α] (b : β) (a : α) :
                                                        @[simp]
                                                        theorem pow_ofDual {α : Type u_1} {β : Type u_2} [Pow α β] (a : α) (b : βᵒᵈ) :
                                                        @[simp]
                                                        theorem ofDual_smul' {β : Type u_2} {α : Type u_1} [SMul β α] (b : βᵒᵈ) (a : α) :
                                                        @[simp]
                                                        theorem ofDual_vadd' {β : Type u_2} {α : Type u_1} [VAdd β α] (b : βᵒᵈ) (a : α) :

                                                        Lexicographical order #

                                                        instance instOneLex {α : Type u_1} [h : One α] :
                                                        One (Lex α)
                                                        Equations
                                                          instance instZeroLex {α : Type u_1} [h : Zero α] :
                                                          Zero (Lex α)
                                                          Equations
                                                            instance instMulLex {α : Type u_1} [h : Mul α] :
                                                            Mul (Lex α)
                                                            Equations
                                                              instance instAddLex {α : Type u_1} [h : Add α] :
                                                              Add (Lex α)
                                                              Equations
                                                                instance instInvLex {α : Type u_1} [h : Inv α] :
                                                                Inv (Lex α)
                                                                Equations
                                                                  instance instNegLex {α : Type u_1} [h : Neg α] :
                                                                  Neg (Lex α)
                                                                  Equations
                                                                    instance instDivLex {α : Type u_1} [h : Div α] :
                                                                    Div (Lex α)
                                                                    Equations
                                                                      instance instSubLex {α : Type u_1} [h : Sub α] :
                                                                      Sub (Lex α)
                                                                      Equations
                                                                        instance Lex.instPow {α : Type u_1} {β : Type u_2} [h : Pow α β] :
                                                                        Pow (Lex α) β
                                                                        Equations
                                                                          instance Lex.instSMul {β : Type u_2} {α : Type u_1} [h : SMul β α] :
                                                                          SMul β (Lex α)
                                                                          Equations
                                                                            instance Lex.instVAdd {β : Type u_2} {α : Type u_1} [h : VAdd β α] :
                                                                            VAdd β (Lex α)
                                                                            Equations
                                                                              instance Lex.instPow' {α : Type u_1} {β : Type u_2} [h : Pow α β] :
                                                                              Pow α (Lex β)
                                                                              Equations
                                                                                instance Lex.instVAdd' {β : Type u_2} {α : Type u_1} [h : VAdd β α] :
                                                                                VAdd (Lex β) α
                                                                                Equations
                                                                                  instance Lex.instSMul' {β : Type u_2} {α : Type u_1} [h : SMul β α] :
                                                                                  SMul (Lex β) α
                                                                                  Equations
                                                                                    instance instSemigroupLex {α : Type u_1} [h : Semigroup α] :
                                                                                    Equations
                                                                                      instance instAddSemigroupLex {α : Type u_1} [h : AddSemigroup α] :
                                                                                      Equations
                                                                                        instance instCommSemigroupLex {α : Type u_1} [h : CommSemigroup α] :
                                                                                        Equations
                                                                                          Equations
                                                                                            instance instIsCancelMulLex {α : Type u_1} [Mul α] [IsCancelMul α] :
                                                                                            instance instIsAddCancelLex {α : Type u_1} [Add α] [IsCancelAdd α] :
                                                                                            instance instMulOneClassLex {α : Type u_1} [h : MulOneClass α] :
                                                                                            Equations
                                                                                              instance instAddZeroClassLex {α : Type u_1} [h : AddZeroClass α] :
                                                                                              Equations
                                                                                                instance instMonoidLex {α : Type u_1} [h : Monoid α] :
                                                                                                Monoid (Lex α)
                                                                                                Equations
                                                                                                  instance instAddMonoidLex {α : Type u_1} [h : AddMonoid α] :
                                                                                                  Equations
                                                                                                    instance instCommMonoidLex {α : Type u_1} [h : CommMonoid α] :
                                                                                                    Equations
                                                                                                      instance instAddCommMonoidLex {α : Type u_1} [h : AddCommMonoid α] :
                                                                                                      Equations
                                                                                                        Equations
                                                                                                          Equations
                                                                                                            instance instCancelMonoidLex {α : Type u_1} [h : CancelMonoid α] :
                                                                                                            Equations
                                                                                                              Equations
                                                                                                                Equations
                                                                                                                  instance instInvolutiveInvLex {α : Type u_1} [h : InvolutiveInv α] :
                                                                                                                  Equations
                                                                                                                    instance instInvolutiveNegLex {α : Type u_1} [h : InvolutiveNeg α] :
                                                                                                                    Equations
                                                                                                                      instance instDivInvMonoidLex {α : Type u_1} [h : DivInvMonoid α] :
                                                                                                                      Equations
                                                                                                                        instance instSubNegAddMonoidLex {α : Type u_1} [h : SubNegMonoid α] :
                                                                                                                        Equations
                                                                                                                          instance instDivisionMonoidLex {α : Type u_1} [h : DivisionMonoid α] :
                                                                                                                          Equations
                                                                                                                            Equations
                                                                                                                              instance instGroupLex {α : Type u_1} [h : Group α] :
                                                                                                                              Group (Lex α)
                                                                                                                              Equations
                                                                                                                                instance instAddGroupLex {α : Type u_1} [h : AddGroup α] :
                                                                                                                                Equations
                                                                                                                                  instance instCommGroupLex {α : Type u_1} [h : CommGroup α] :
                                                                                                                                  Equations
                                                                                                                                    instance instAddCommGroupLex {α : Type u_1} [h : AddCommGroup α] :
                                                                                                                                    Equations
                                                                                                                                      @[simp]
                                                                                                                                      theorem toLex_one {α : Type u_1} [One α] :
                                                                                                                                      toLex 1 = 1
                                                                                                                                      @[simp]
                                                                                                                                      theorem toLex_zero {α : Type u_1} [Zero α] :
                                                                                                                                      toLex 0 = 0
                                                                                                                                      @[simp]
                                                                                                                                      theorem ofLex_one {α : Type u_1} [One α] :
                                                                                                                                      ofLex 1 = 1
                                                                                                                                      @[simp]
                                                                                                                                      theorem ofLex_zero {α : Type u_1} [Zero α] :
                                                                                                                                      ofLex 0 = 0
                                                                                                                                      @[simp]
                                                                                                                                      theorem toLex_mul {α : Type u_1} [Mul α] (a b : α) :
                                                                                                                                      toLex (a * b) = toLex a * toLex b
                                                                                                                                      @[simp]
                                                                                                                                      theorem toLex_add {α : Type u_1} [Add α] (a b : α) :
                                                                                                                                      toLex (a + b) = toLex a + toLex b
                                                                                                                                      @[simp]
                                                                                                                                      theorem ofLex_mul {α : Type u_1} [Mul α] (a b : Lex α) :
                                                                                                                                      ofLex (a * b) = ofLex a * ofLex b
                                                                                                                                      @[simp]
                                                                                                                                      theorem ofLex_add {α : Type u_1} [Add α] (a b : Lex α) :
                                                                                                                                      ofLex (a + b) = ofLex a + ofLex b
                                                                                                                                      @[simp]
                                                                                                                                      theorem toLex_inv {α : Type u_1} [Inv α] (a : α) :
                                                                                                                                      @[simp]
                                                                                                                                      theorem toLex_neg {α : Type u_1} [Neg α] (a : α) :
                                                                                                                                      @[simp]
                                                                                                                                      theorem ofLex_inv {α : Type u_1} [Inv α] (a : Lex α) :
                                                                                                                                      @[simp]
                                                                                                                                      theorem ofLex_neg {α : Type u_1} [Neg α] (a : Lex α) :
                                                                                                                                      @[simp]
                                                                                                                                      theorem toLex_div {α : Type u_1} [Div α] (a b : α) :
                                                                                                                                      toLex (a / b) = toLex a / toLex b
                                                                                                                                      @[simp]
                                                                                                                                      theorem toLex_sub {α : Type u_1} [Sub α] (a b : α) :
                                                                                                                                      toLex (a - b) = toLex a - toLex b
                                                                                                                                      @[simp]
                                                                                                                                      theorem ofLex_div {α : Type u_1} [Div α] (a b : Lex α) :
                                                                                                                                      ofLex (a / b) = ofLex a / ofLex b
                                                                                                                                      @[simp]
                                                                                                                                      theorem ofLex_sub {α : Type u_1} [Sub α] (a b : Lex α) :
                                                                                                                                      ofLex (a - b) = ofLex a - ofLex b
                                                                                                                                      @[simp]
                                                                                                                                      theorem toLex_pow {α : Type u_1} {β : Type u_2} [Pow α β] (a : α) (b : β) :
                                                                                                                                      toLex (a ^ b) = toLex a ^ b
                                                                                                                                      @[simp]
                                                                                                                                      theorem toLex_smul {β : Type u_2} {α : Type u_1} [SMul β α] (b : β) (a : α) :
                                                                                                                                      toLex (b a) = b toLex a
                                                                                                                                      @[simp]
                                                                                                                                      theorem toLex_vadd {β : Type u_2} {α : Type u_1} [VAdd β α] (b : β) (a : α) :
                                                                                                                                      toLex (b +ᵥ a) = b +ᵥ toLex a
                                                                                                                                      @[simp]
                                                                                                                                      theorem ofLex_pow {α : Type u_1} {β : Type u_2} [Pow α β] (a : Lex α) (b : β) :
                                                                                                                                      ofLex (a ^ b) = ofLex a ^ b
                                                                                                                                      @[simp]
                                                                                                                                      theorem ofLex_vadd {β : Type u_2} {α : Type u_1} [VAdd β α] (b : β) (a : Lex α) :
                                                                                                                                      ofLex (b +ᵥ a) = b +ᵥ ofLex a
                                                                                                                                      @[simp]
                                                                                                                                      theorem ofLex_smul {β : Type u_2} {α : Type u_1} [SMul β α] (b : β) (a : Lex α) :
                                                                                                                                      ofLex (b a) = b ofLex a
                                                                                                                                      @[simp]
                                                                                                                                      theorem pow_toLex {α : Type u_1} {β : Type u_2} [Pow α β] (a : α) (b : β) :
                                                                                                                                      a ^ toLex b = a ^ b
                                                                                                                                      @[simp]
                                                                                                                                      theorem toLex_smul' {β : Type u_2} {α : Type u_1} [SMul β α] (b : β) (a : α) :
                                                                                                                                      toLex b a = b a
                                                                                                                                      @[simp]
                                                                                                                                      theorem toLex_vadd' {β : Type u_2} {α : Type u_1} [VAdd β α] (b : β) (a : α) :
                                                                                                                                      toLex b +ᵥ a = b +ᵥ a
                                                                                                                                      @[simp]
                                                                                                                                      theorem pow_ofLex {α : Type u_1} {β : Type u_2} [Pow α β] (a : α) (b : Lex β) :
                                                                                                                                      a ^ ofLex b = a ^ b
                                                                                                                                      @[simp]
                                                                                                                                      theorem ofLex_vadd' {β : Type u_2} {α : Type u_1} [VAdd β α] (b : Lex β) (a : α) :
                                                                                                                                      ofLex b +ᵥ a = b +ᵥ a
                                                                                                                                      @[simp]
                                                                                                                                      theorem ofLex_smul' {β : Type u_2} {α : Type u_1} [SMul β α] (b : Lex β) (a : α) :
                                                                                                                                      ofLex b a = b a