Documentation

Mathlib.Algebra.Order.AddTorsor

Ordered scalar multiplication and vector addition #

This file defines ordered scalar multiplication and vector addition, and proves some properties. In the additive case, a motivating example is given by the additive action of on subsets of reals that are closed under integer translation. The order compatibility allows for a treatment of the R((z))-module structure on (z ^ s) V((z)) for an R-module V, using the formalism of Hahn series. In the multiplicative case, a standard example is the action of non-negative rationals on an ordered field.

Implementation notes #

Definitions #

Instances #

TODO #

class IsOrderedVAdd (G : Type u_3) (P : Type u_4) [LE G] [LE P] [VAdd G P] :

An ordered vector addition is a bi-monotone vector addition.

  • vadd_le_vadd_left : ∀ (a b : P), a b∀ (c : G), c +ᵥ a c +ᵥ b
  • vadd_le_vadd_right : ∀ (c d : G), c d∀ (a : P), c +ᵥ a d +ᵥ a
Instances
    theorem IsOrderedVAdd.vadd_le_vadd_left {G : Type u_3} {P : Type u_4} :
    ∀ {inst : LE G} {inst_1 : LE P} {inst_2 : VAdd G P} [self : IsOrderedVAdd G P] (a b : P), a b∀ (c : G), c +ᵥ a c +ᵥ b
    theorem IsOrderedVAdd.vadd_le_vadd_right {G : Type u_3} {P : Type u_4} :
    ∀ {inst : LE G} {inst_1 : LE P} {inst_2 : VAdd G P} [self : IsOrderedVAdd G P] (c d : G), c d∀ (a : P), c +ᵥ a d +ᵥ a
    @[deprecated IsOrderedVAdd]
    def OrderedVAdd (G : Type u_3) (P : Type u_4) [LE G] [LE P] [VAdd G P] :

    Alias of IsOrderedVAdd.


    An ordered vector addition is a bi-monotone vector addition.

    Equations
    Instances For
      class IsOrderedSMul (G : Type u_3) (P : Type u_4) [LE G] [LE P] [SMul G P] :

      An ordered scalar multiplication is a bi-monotone scalar multiplication. Note that this is different from OrderedSMul, which uses strict inequality, requires G to be a semiring, and the defining conditions are restricted to positive elements of G.

      • smul_le_smul_left : ∀ (a b : P), a b∀ (c : G), c a c b
      • smul_le_smul_right : ∀ (c d : G), c d∀ (a : P), c a d a
      Instances
        theorem IsOrderedSMul.smul_le_smul_left {G : Type u_3} {P : Type u_4} :
        ∀ {inst : LE G} {inst_1 : LE P} {inst_2 : SMul G P} [self : IsOrderedSMul G P] (a b : P), a b∀ (c : G), c a c b
        theorem IsOrderedSMul.smul_le_smul_right {G : Type u_3} {P : Type u_4} :
        ∀ {inst : LE G} {inst_1 : LE P} {inst_2 : SMul G P} [self : IsOrderedSMul G P] (c d : G), c d∀ (a : P), c a d a
        instance instCovariantClassHVAddLeOfIsOrderedVAdd {G : Type u_1} {P : Type u_2} [LE G] [LE P] [VAdd G P] [IsOrderedVAdd G P] :
        CovariantClass G P (fun (x1 : G) (x2 : P) => x1 +ᵥ x2) fun (x1 x2 : P) => x1 x2
        Equations
        • =
        instance instCovariantClassHSMulLeOfIsOrderedSMul {G : Type u_1} {P : Type u_2} [LE G] [LE P] [SMul G P] [IsOrderedSMul G P] :
        CovariantClass G P (fun (x1 : G) (x2 : P) => x1 x2) fun (x1 x2 : P) => x1 x2
        Equations
        • =
        Equations
        • =
        Equations
        • =
        theorem IsOrderedVAdd.vadd_le_vadd {G : Type u_1} {P : Type u_2} [Preorder G] [Preorder P] [VAdd G P] [IsOrderedVAdd G P] {a : G} {b : G} {c : P} {d : P} (hab : a b) (hcd : c d) :
        a +ᵥ c b +ᵥ d
        theorem IsOrderedSMul.smul_le_smul {G : Type u_1} {P : Type u_2} [Preorder G] [Preorder P] [SMul G P] [IsOrderedSMul G P] {a : G} {b : G} {c : P} {d : P} (hab : a b) (hcd : c d) :
        a c b d
        theorem Monotone.vadd {G : Type u_1} {P : Type u_2} {γ : Type u_3} [Preorder G] [Preorder P] [Preorder γ] [VAdd G P] [IsOrderedVAdd G P] {f : γG} {g : γP} (hf : Monotone f) (hg : Monotone g) :
        Monotone fun (x : γ) => f x +ᵥ g x
        theorem Monotone.smul {G : Type u_1} {P : Type u_2} {γ : Type u_3} [Preorder G] [Preorder P] [Preorder γ] [SMul G P] [IsOrderedSMul G P] {f : γG} {g : γP} (hf : Monotone f) (hg : Monotone g) :
        Monotone fun (x : γ) => f x g x
        class IsCancelVAdd (G : Type u_3) (P : Type u_4) [VAdd G P] :

        A vector addition is cancellative if it is pointwise injective on the left and right.

        • left_cancel : ∀ (a : G) (b c : P), a +ᵥ b = a +ᵥ cb = c
        • right_cancel : ∀ (a b : G) (c : P), a +ᵥ c = b +ᵥ ca = b
        Instances
          theorem IsCancelVAdd.left_cancel {G : Type u_3} {P : Type u_4} :
          ∀ {inst : VAdd G P} [self : IsCancelVAdd G P] (a : G) (b c : P), a +ᵥ b = a +ᵥ cb = c
          theorem IsCancelVAdd.right_cancel {G : Type u_3} {P : Type u_4} :
          ∀ {inst : VAdd G P} [self : IsCancelVAdd G P] (a b : G) (c : P), a +ᵥ c = b +ᵥ ca = b
          @[deprecated IsCancelVAdd]
          def CancelVAdd (G : Type u_3) (P : Type u_4) [VAdd G P] :

          Alias of IsCancelVAdd.


          A vector addition is cancellative if it is pointwise injective on the left and right.

          Equations
          Instances For
            class IsCancelSMul (G : Type u_3) (P : Type u_4) [SMul G P] :

            A scalar multiplication is cancellative if it is pointwise injective on the left and right.

            • left_cancel : ∀ (a : G) (b c : P), a b = a cb = c
            • right_cancel : ∀ (a b : G) (c : P), a c = b ca = b
            Instances
              theorem IsCancelSMul.left_cancel {G : Type u_3} {P : Type u_4} :
              ∀ {inst : SMul G P} [self : IsCancelSMul G P] (a : G) (b c : P), a b = a cb = c
              theorem IsCancelSMul.right_cancel {G : Type u_3} {P : Type u_4} :
              ∀ {inst : SMul G P} [self : IsCancelSMul G P] (a b : G) (c : P), a c = b ca = b
              class IsOrderedCancelVAdd (G : Type u_3) (P : Type u_4) [LE G] [LE P] [VAdd G P] extends IsOrderedVAdd :

              An ordered cancellative vector addition is an ordered vector addition that is cancellative.

              • vadd_le_vadd_left : ∀ (a b : P), a b∀ (c : G), c +ᵥ a c +ᵥ b
              • vadd_le_vadd_right : ∀ (c d : G), c d∀ (a : P), c +ᵥ a d +ᵥ a
              • le_of_vadd_le_vadd_left : ∀ (a : G) (b c : P), a +ᵥ b a +ᵥ cb c
              • le_of_vadd_le_vadd_right : ∀ (a b : G) (c : P), a +ᵥ c b +ᵥ ca b
              Instances
                theorem IsOrderedCancelVAdd.le_of_vadd_le_vadd_left {G : Type u_3} {P : Type u_4} :
                ∀ {inst : LE G} {inst_1 : LE P} {inst_2 : VAdd G P} [self : IsOrderedCancelVAdd G P] (a : G) (b c : P), a +ᵥ b a +ᵥ cb c
                theorem IsOrderedCancelVAdd.le_of_vadd_le_vadd_right {G : Type u_3} {P : Type u_4} :
                ∀ {inst : LE G} {inst_1 : LE P} {inst_2 : VAdd G P} [self : IsOrderedCancelVAdd G P] (a b : G) (c : P), a +ᵥ c b +ᵥ ca b
                @[deprecated IsOrderedCancelVAdd]
                def OrderedCancelVAdd (G : Type u_3) (P : Type u_4) [LE G] [LE P] [VAdd G P] :

                Alias of IsOrderedCancelVAdd.


                An ordered cancellative vector addition is an ordered vector addition that is cancellative.

                Equations
                Instances For
                  class IsOrderedCancelSMul (G : Type u_3) (P : Type u_4) [LE G] [LE P] [SMul G P] extends IsOrderedSMul :

                  An ordered cancellative scalar multiplication is an ordered scalar multiplication that is cancellative.

                  • smul_le_smul_left : ∀ (a b : P), a b∀ (c : G), c a c b
                  • smul_le_smul_right : ∀ (c d : G), c d∀ (a : P), c a d a
                  • le_of_smul_le_smul_left : ∀ (a : G) (b c : P), a b a cb c
                  • le_of_smul_le_smul_right : ∀ (a b : G) (c : P), a c b ca b
                  Instances
                    theorem IsOrderedCancelSMul.le_of_smul_le_smul_left {G : Type u_3} {P : Type u_4} :
                    ∀ {inst : LE G} {inst_1 : LE P} {inst_2 : SMul G P} [self : IsOrderedCancelSMul G P] (a : G) (b c : P), a b a cb c
                    theorem IsOrderedCancelSMul.le_of_smul_le_smul_right {G : Type u_3} {P : Type u_4} :
                    ∀ {inst : LE G} {inst_1 : LE P} {inst_2 : SMul G P} [self : IsOrderedCancelSMul G P] (a b : G) (c : P), a c b ca b
                    Equations
                    • =
                    Equations
                    • =
                    @[instance 200]
                    instance instContravariantClassHVAddLeOfIsOrderedCancelVAdd {G : Type u_1} {P : Type u_2} [LE G] [LE P] [VAdd G P] [IsOrderedCancelVAdd G P] :
                    ContravariantClass G P (fun (x1 : G) (x2 : P) => x1 +ᵥ x2) fun (x1 x2 : P) => x1 x2
                    Equations
                    • =
                    @[instance 200]
                    instance instContravariantClassHSMulLeOfIsOrderedCancelSMul {G : Type u_1} {P : Type u_2} [LE G] [LE P] [SMul G P] [IsOrderedCancelSMul G P] :
                    ContravariantClass G P (fun (x1 : G) (x2 : P) => x1 x2) fun (x1 x2 : P) => x1 x2
                    Equations
                    • =
                    theorem VAdd.vadd_lt_vadd_of_le_of_lt {G : Type u_1} {P : Type u_2} [LE G] [Preorder P] [VAdd G P] [IsOrderedCancelVAdd G P] {a : G} {b : G} {c : P} {d : P} (h₁ : a b) (h₂ : c < d) :
                    a +ᵥ c < b +ᵥ d
                    theorem SMul.smul_lt_smul_of_le_of_lt {G : Type u_1} {P : Type u_2} [LE G] [Preorder P] [SMul G P] [IsOrderedCancelSMul G P] {a : G} {b : G} {c : P} {d : P} (h₁ : a b) (h₂ : c < d) :
                    a c < b d
                    theorem VAdd.vadd_lt_vadd_of_lt_of_le {G : Type u_1} {P : Type u_2} [Preorder G] [Preorder P] [VAdd G P] [IsOrderedCancelVAdd G P] {a : G} {b : G} {c : P} {d : P} (h₁ : a < b) (h₂ : c d) :
                    a +ᵥ c < b +ᵥ d
                    theorem SMul.smul_lt_smul_of_lt_of_le {G : Type u_1} {P : Type u_2} [Preorder G] [Preorder P] [SMul G P] [IsOrderedCancelSMul G P] {a : G} {b : G} {c : P} {d : P} (h₁ : a < b) (h₂ : c d) :
                    a c < b d