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
    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 IsOrderedModule whose defining conditions are restricted to nonnegative elements.

    • 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} [LE 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} [LE 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 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
        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