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
    @[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
        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
        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
        theorem IsOrderedSMul.smul_le_smul {G : Type u_1} {P : Type u_2} [Preorder G] [Preorder P] [SMul G P] [IsOrderedSMul G P] {a b : G} {c d : P} (hab : a b) (hcd : c d) :
        a c b d
        theorem IsOrderedVAdd.vadd_le_vadd {G : Type u_1} {P : Type u_2} [Preorder G] [Preorder P] [VAdd G P] [IsOrderedVAdd G P] {a b : G} {c d : P} (hab : a b) (hcd : c d) :
        a +ᵥ c b +ᵥ d
        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
        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
        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
          @[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
              class IsOrderedCancelVAdd (G : Type u_3) (P : Type u_4) [LE G] [LE P] [VAdd G P] extends IsOrderedVAdd G P :

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

              Instances
                @[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 G P :

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

                  Instances
                    @[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
                    @[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
                    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 b : G} {c d : P} (h₁ : a b) (h₂ : c < d) :
                    a c < b d
                    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 b : G} {c 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 b : G} {c 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 b : G} {c d : P} (h₁ : a < b) (h₂ : c d) :
                    a +ᵥ c < b +ᵥ d