Documentation

Mathlib.Data.DFinsupp.Order

Pointwise order on finitely supported dependent functions #

This file lifts order structures on the α i to Π₀ i, α i.

Main declarations #

Order structures #

instance DFinsupp.instLE {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] [(i : ι) → LE (α i)] :
LE (Π₀ (i : ι), α i)
Equations
    theorem DFinsupp.le_def {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] [(i : ι) → LE (α i)] {f g : Π₀ (i : ι), α i} :
    f g ∀ (i : ι), f i g i
    @[simp]
    theorem DFinsupp.coe_le_coe {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] [(i : ι) → LE (α i)] {f g : Π₀ (i : ι), α i} :
    f g f g
    def DFinsupp.orderEmbeddingToFun {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] [(i : ι) → LE (α i)] :
    (Π₀ (i : ι), α i) ↪o ((i : ι) → α i)

    The order on DFinsupps over a partial order embeds into the order on functions

    Equations
      Instances For
        @[simp]
        theorem DFinsupp.coe_orderEmbeddingToFun {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] [(i : ι) → LE (α i)] :
        theorem DFinsupp.orderEmbeddingToFun_apply {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] [(i : ι) → LE (α i)] {f : Π₀ (i : ι), α i} {i : ι} :
        instance DFinsupp.instPreorder {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] [(i : ι) → Preorder (α i)] :
        Preorder (Π₀ (i : ι), α i)
        Equations
          theorem DFinsupp.lt_def {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] [(i : ι) → Preorder (α i)] {f g : Π₀ (i : ι), α i} :
          f < g f g ∃ (i : ι), f i < g i
          @[simp]
          theorem DFinsupp.coe_lt_coe {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] [(i : ι) → Preorder (α i)] {f g : Π₀ (i : ι), α i} :
          f < g f < g
          theorem DFinsupp.coe_mono {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] [(i : ι) → Preorder (α i)] :
          theorem DFinsupp.coe_strictMono {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] [(i : ι) → Preorder (α i)] :
          instance DFinsupp.instPartialOrder {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] [(i : ι) → PartialOrder (α i)] :
          PartialOrder (Π₀ (i : ι), α i)
          Equations
            instance DFinsupp.instSemilatticeInf {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] [(i : ι) → SemilatticeInf (α i)] :
            SemilatticeInf (Π₀ (i : ι), α i)
            Equations
              @[simp]
              theorem DFinsupp.coe_inf {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] [(i : ι) → SemilatticeInf (α i)] (f g : Π₀ (i : ι), α i) :
              (fg) = fg
              theorem DFinsupp.inf_apply {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] [(i : ι) → SemilatticeInf (α i)] (f g : Π₀ (i : ι), α i) (i : ι) :
              (fg) i = f ig i
              instance DFinsupp.instSemilatticeSup {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] [(i : ι) → SemilatticeSup (α i)] :
              SemilatticeSup (Π₀ (i : ι), α i)
              Equations
                @[simp]
                theorem DFinsupp.coe_sup {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] [(i : ι) → SemilatticeSup (α i)] (f g : Π₀ (i : ι), α i) :
                (fg) = fg
                theorem DFinsupp.sup_apply {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] [(i : ι) → SemilatticeSup (α i)] (f g : Π₀ (i : ι), α i) (i : ι) :
                (fg) i = f ig i
                instance DFinsupp.lattice {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] [(i : ι) → Lattice (α i)] :
                Lattice (Π₀ (i : ι), α i)
                Equations
                  theorem DFinsupp.support_inf_union_support_sup {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] [(i : ι) → Lattice (α i)] (f g : Π₀ (i : ι), α i) [DecidableEq ι] [(i : ι) → (x : α i) → Decidable (x 0)] :
                  (fg).support (fg).support = f.support g.support
                  theorem DFinsupp.support_sup_union_support_inf {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] [(i : ι) → Lattice (α i)] (f g : Π₀ (i : ι), α i) [DecidableEq ι] [(i : ι) → (x : α i) → Decidable (x 0)] :
                  (fg).support (fg).support = f.support g.support

                  Algebraic order structures #

                  instance DFinsupp.instIsOrderedAddMonoid {ι : Type u_1} (α : ιType u_3) [(i : ι) → AddCommMonoid (α i)] [(i : ι) → PartialOrder (α i)] [∀ (i : ι), IsOrderedAddMonoid (α i)] :
                  IsOrderedAddMonoid (Π₀ (i : ι), α i)
                  instance DFinsupp.instIsOrderedCancelAddMonoid {ι : Type u_1} (α : ιType u_3) [(i : ι) → AddCommMonoid (α i)] [(i : ι) → PartialOrder (α i)] [∀ (i : ι), IsOrderedCancelAddMonoid (α i)] :
                  instance DFinsupp.instAddLeftReflectLE {ι : Type u_1} {α : ιType u_2} [(i : ι) → AddCommMonoid (α i)] [(i : ι) → PartialOrder (α i)] [∀ (i : ι), AddLeftReflectLE (α i)] :
                  AddLeftReflectLE (Π₀ (i : ι), α i)
                  instance DFinsupp.instPosSMulMono {ι : Type u_1} {α : Type u_3} {β : ιType u_4} [Semiring α] [Preorder α] [(i : ι) → AddCommMonoid (β i)] [(i : ι) → Preorder (β i)] [(i : ι) → Module α (β i)] [∀ (i : ι), PosSMulMono α (β i)] :
                  PosSMulMono α (Π₀ (i : ι), β i)
                  instance DFinsupp.instSMulPosMono {ι : Type u_1} {α : Type u_3} {β : ιType u_4} [Semiring α] [Preorder α] [(i : ι) → AddCommMonoid (β i)] [(i : ι) → Preorder (β i)] [(i : ι) → Module α (β i)] [∀ (i : ι), SMulPosMono α (β i)] :
                  SMulPosMono α (Π₀ (i : ι), β i)
                  instance DFinsupp.instPosSMulReflectLE {ι : Type u_1} {α : Type u_3} {β : ιType u_4} [Semiring α] [Preorder α] [(i : ι) → AddCommMonoid (β i)] [(i : ι) → Preorder (β i)] [(i : ι) → Module α (β i)] [∀ (i : ι), PosSMulReflectLE α (β i)] :
                  PosSMulReflectLE α (Π₀ (i : ι), β i)
                  instance DFinsupp.instSMulPosReflectLE {ι : Type u_1} {α : Type u_3} {β : ιType u_4} [Semiring α] [Preorder α] [(i : ι) → AddCommMonoid (β i)] [(i : ι) → Preorder (β i)] [(i : ι) → Module α (β i)] [∀ (i : ι), SMulPosReflectLE α (β i)] :
                  SMulPosReflectLE α (Π₀ (i : ι), β i)
                  instance DFinsupp.instPosSMulStrictMono {ι : Type u_1} {α : Type u_3} {β : ιType u_4} [Semiring α] [PartialOrder α] [(i : ι) → AddCommMonoid (β i)] [(i : ι) → PartialOrder (β i)] [(i : ι) → Module α (β i)] [∀ (i : ι), PosSMulStrictMono α (β i)] :
                  PosSMulStrictMono α (Π₀ (i : ι), β i)
                  instance DFinsupp.instSMulPosStrictMono {ι : Type u_1} {α : Type u_3} {β : ιType u_4} [Semiring α] [PartialOrder α] [(i : ι) → AddCommMonoid (β i)] [(i : ι) → PartialOrder (β i)] [(i : ι) → Module α (β i)] [∀ (i : ι), SMulPosStrictMono α (β i)] :
                  SMulPosStrictMono α (Π₀ (i : ι), β i)
                  instance DFinsupp.instSMulPosReflectLT {ι : Type u_1} {α : Type u_3} {β : ιType u_4} [Semiring α] [PartialOrder α] [(i : ι) → AddCommMonoid (β i)] [(i : ι) → PartialOrder (β i)] [(i : ι) → Module α (β i)] [∀ (i : ι), SMulPosReflectLT α (β i)] :
                  SMulPosReflectLT α (Π₀ (i : ι), β i)
                  instance DFinsupp.instOrderBot {ι : Type u_1} (α : ιType u_2) [(i : ι) → AddCommMonoid (α i)] [(i : ι) → PartialOrder (α i)] [∀ (i : ι), CanonicallyOrderedAdd (α i)] :
                  OrderBot (Π₀ (i : ι), α i)
                  Equations
                    theorem DFinsupp.bot_eq_zero {ι : Type u_1} {α : ιType u_2} [(i : ι) → AddCommMonoid (α i)] [(i : ι) → PartialOrder (α i)] [∀ (i : ι), CanonicallyOrderedAdd (α i)] :
                    = 0
                    @[simp]
                    theorem DFinsupp.add_eq_zero_iff {ι : Type u_1} {α : ιType u_2} [(i : ι) → AddCommMonoid (α i)] [(i : ι) → PartialOrder (α i)] [∀ (i : ι), CanonicallyOrderedAdd (α i)] (f g : Π₀ (i : ι), α i) :
                    f + g = 0 f = 0 g = 0
                    theorem DFinsupp.le_iff' {ι : Type u_1} {α : ιType u_2} [(i : ι) → AddCommMonoid (α i)] [(i : ι) → PartialOrder (α i)] [∀ (i : ι), CanonicallyOrderedAdd (α i)] [DecidableEq ι] [(i : ι) → (x : α i) → Decidable (x 0)] {f g : Π₀ (i : ι), α i} {s : Finset ι} (hf : f.support s) :
                    f g is, f i g i
                    theorem DFinsupp.le_iff {ι : Type u_1} {α : ιType u_2} [(i : ι) → AddCommMonoid (α i)] [(i : ι) → PartialOrder (α i)] [∀ (i : ι), CanonicallyOrderedAdd (α i)] [DecidableEq ι] [(i : ι) → (x : α i) → Decidable (x 0)] {f g : Π₀ (i : ι), α i} :
                    f g if.support, f i g i
                    theorem DFinsupp.support_monotone {ι : Type u_1} {α : ιType u_2} [(i : ι) → AddCommMonoid (α i)] [(i : ι) → PartialOrder (α i)] [∀ (i : ι), CanonicallyOrderedAdd (α i)] [DecidableEq ι] [(i : ι) → (x : α i) → Decidable (x 0)] :
                    theorem DFinsupp.support_mono {ι : Type u_1} {α : ιType u_2} [(i : ι) → AddCommMonoid (α i)] [(i : ι) → PartialOrder (α i)] [∀ (i : ι), CanonicallyOrderedAdd (α i)] [DecidableEq ι] [(i : ι) → (x : α i) → Decidable (x 0)] {f g : Π₀ (i : ι), α i} (hfg : f g) :
                    instance DFinsupp.decidableLE {ι : Type u_1} (α : ιType u_2) [(i : ι) → AddCommMonoid (α i)] [(i : ι) → PartialOrder (α i)] [∀ (i : ι), CanonicallyOrderedAdd (α i)] [DecidableEq ι] [(i : ι) → (x : α i) → Decidable (x 0)] [(i : ι) → DecidableLE (α i)] :
                    DecidableLE (Π₀ (i : ι), α i)
                    Equations
                      @[simp]
                      theorem DFinsupp.single_le_iff {ι : Type u_1} {α : ιType u_2} [(i : ι) → AddCommMonoid (α i)] [(i : ι) → PartialOrder (α i)] [∀ (i : ι), CanonicallyOrderedAdd (α i)] [DecidableEq ι] {f : Π₀ (i : ι), α i} {i : ι} {a : α i} :
                      single i a f a f i
                      instance DFinsupp.tsub {ι : Type u_1} (α : ιType u_2) [(i : ι) → AddCommMonoid (α i)] [(i : ι) → PartialOrder (α i)] [∀ (i : ι), CanonicallyOrderedAdd (α i)] [(i : ι) → Sub (α i)] [∀ (i : ι), OrderedSub (α i)] :
                      Sub (Π₀ (i : ι), α i)

                      This is called tsub for truncated subtraction, to distinguish it with subtraction in an additive group.

                      Equations
                        theorem DFinsupp.tsub_apply {ι : Type u_1} {α : ιType u_2} [(i : ι) → AddCommMonoid (α i)] [(i : ι) → PartialOrder (α i)] [∀ (i : ι), CanonicallyOrderedAdd (α i)] [(i : ι) → Sub (α i)] [∀ (i : ι), OrderedSub (α i)] (f g : Π₀ (i : ι), α i) (i : ι) :
                        (f - g) i = f i - g i
                        @[simp]
                        theorem DFinsupp.coe_tsub {ι : Type u_1} {α : ιType u_2} [(i : ι) → AddCommMonoid (α i)] [(i : ι) → PartialOrder (α i)] [∀ (i : ι), CanonicallyOrderedAdd (α i)] [(i : ι) → Sub (α i)] [∀ (i : ι), OrderedSub (α i)] (f g : Π₀ (i : ι), α i) :
                        ⇑(f - g) = f - g
                        instance DFinsupp.instOrderedSub {ι : Type u_1} (α : ιType u_2) [(i : ι) → AddCommMonoid (α i)] [(i : ι) → PartialOrder (α i)] [∀ (i : ι), CanonicallyOrderedAdd (α i)] [(i : ι) → Sub (α i)] [∀ (i : ι), OrderedSub (α i)] :
                        OrderedSub (Π₀ (i : ι), α i)
                        instance DFinsupp.instCanonicallyOrderedAddOfAddLeftMono {ι : Type u_1} (α : ιType u_2) [(i : ι) → AddCommMonoid (α i)] [(i : ι) → PartialOrder (α i)] [∀ (i : ι), CanonicallyOrderedAdd (α i)] [(i : ι) → Sub (α i)] [∀ (i : ι), OrderedSub (α i)] [∀ (i : ι), AddLeftMono (α i)] :
                        @[simp]
                        theorem DFinsupp.single_tsub {ι : Type u_1} {α : ιType u_2} [(i : ι) → AddCommMonoid (α i)] [(i : ι) → PartialOrder (α i)] [∀ (i : ι), CanonicallyOrderedAdd (α i)] [(i : ι) → Sub (α i)] [∀ (i : ι), OrderedSub (α i)] {i : ι} {a b : α i} [DecidableEq ι] :
                        single i (a - b) = single i a - single i b
                        theorem DFinsupp.support_tsub {ι : Type u_1} {α : ιType u_2} [(i : ι) → AddCommMonoid (α i)] [(i : ι) → PartialOrder (α i)] [∀ (i : ι), CanonicallyOrderedAdd (α i)] [(i : ι) → Sub (α i)] [∀ (i : ι), OrderedSub (α i)] {f g : Π₀ (i : ι), α i} [DecidableEq ι] [(i : ι) → (x : α i) → Decidable (x 0)] :
                        theorem DFinsupp.subset_support_tsub {ι : Type u_1} {α : ιType u_2} [(i : ι) → AddCommMonoid (α i)] [(i : ι) → PartialOrder (α i)] [∀ (i : ι), CanonicallyOrderedAdd (α i)] [(i : ι) → Sub (α i)] [∀ (i : ι), OrderedSub (α i)] {f g : Π₀ (i : ι), α i} [DecidableEq ι] [(i : ι) → (x : α i) → Decidable (x 0)] :
                        @[simp]
                        theorem DFinsupp.support_inf {ι : Type u_1} {α : ιType u_2} [(i : ι) → AddCommMonoid (α i)] [(i : ι) → LinearOrder (α i)] [∀ (i : ι), CanonicallyOrderedAdd (α i)] [DecidableEq ι] {f g : Π₀ (i : ι), α i} :
                        (fg).support = f.support g.support
                        @[simp]
                        theorem DFinsupp.support_sup {ι : Type u_1} {α : ιType u_2} [(i : ι) → AddCommMonoid (α i)] [(i : ι) → LinearOrder (α i)] [∀ (i : ι), CanonicallyOrderedAdd (α i)] [DecidableEq ι] {f g : Π₀ (i : ι), α i} :
                        (fg).support = f.support g.support
                        theorem DFinsupp.disjoint_iff {ι : Type u_1} {α : ιType u_2} [(i : ι) → AddCommMonoid (α i)] [(i : ι) → LinearOrder (α i)] [∀ (i : ι), CanonicallyOrderedAdd (α i)] [DecidableEq ι] {f g : Π₀ (i : ι), α i} :