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.instLEDFinsupp {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] [(i : ι) → LE (α i)] :
LE (Π₀ (i : ι), α i)
Equations
  • DFinsupp.instLEDFinsupp = { le := fun (f g : Π₀ (i : ι), α i) => ∀ (i : ι), f i g i }
theorem DFinsupp.le_def {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] [(i : ι) → LE (α i)] {f : Π₀ (i : ι), α i} {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 : Π₀ (i : ι), α i} {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
  • One or more equations did not get rendered due to their size.
Instances For
    @[simp]
    theorem DFinsupp.coe_orderEmbeddingToFun {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] [(i : ι) → LE (α i)] :
    DFinsupp.orderEmbeddingToFun = DFunLike.coe
    theorem DFinsupp.orderEmbeddingToFun_apply {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] [(i : ι) → LE (α i)] {f : Π₀ (i : ι), α i} {i : ι} :
    DFinsupp.orderEmbeddingToFun f i = f i
    instance DFinsupp.instPreorderDFinsupp {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] [(i : ι) → Preorder (α i)] :
    Preorder (Π₀ (i : ι), α i)
    Equations
    • DFinsupp.instPreorderDFinsupp = let src := inferInstance; Preorder.mk (_ : ∀ (f : Π₀ (i : ι), α i) (i : ι), f i f i) (_ : ∀ (f g h : Π₀ (i : ι), α i), f gg h∀ (i : ι), f i h i)
    theorem DFinsupp.lt_def {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] [(i : ι) → Preorder (α i)] {f : Π₀ (i : ι), α i} {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 : Π₀ (i : ι), α i} {g : Π₀ (i : ι), α i} :
    f < g f < g
    theorem DFinsupp.coe_mono {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] [(i : ι) → Preorder (α i)] :
    Monotone DFunLike.coe
    theorem DFinsupp.coe_strictMono {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] [(i : ι) → Preorder (α i)] :
    Monotone DFunLike.coe
    instance DFinsupp.instPartialOrderDFinsupp {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] [(i : ι) → PartialOrder (α i)] :
    PartialOrder (Π₀ (i : ι), α i)
    Equations
    • DFinsupp.instPartialOrderDFinsupp = let src := inferInstance; PartialOrder.mk (_ : ∀ (x x_1 : Π₀ (i : ι), α i), x x_1x_1 xx = x_1)
    instance DFinsupp.instSemilatticeInfDFinsupp {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] [(i : ι) → SemilatticeInf (α i)] :
    SemilatticeInf (Π₀ (i : ι), α i)
    Equations
    • One or more equations did not get rendered due to their size.
    @[simp]
    theorem DFinsupp.coe_inf {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] [(i : ι) → SemilatticeInf (α i)] (f : Π₀ (i : ι), α i) (g : Π₀ (i : ι), α i) :
    (f g) = f g
    theorem DFinsupp.inf_apply {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] [(i : ι) → SemilatticeInf (α i)] (f : Π₀ (i : ι), α i) (g : Π₀ (i : ι), α i) (i : ι) :
    (f g) i = f i g i
    instance DFinsupp.instSemilatticeSupDFinsupp {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] [(i : ι) → SemilatticeSup (α i)] :
    SemilatticeSup (Π₀ (i : ι), α i)
    Equations
    • One or more equations did not get rendered due to their size.
    @[simp]
    theorem DFinsupp.coe_sup {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] [(i : ι) → SemilatticeSup (α i)] (f : Π₀ (i : ι), α i) (g : Π₀ (i : ι), α i) :
    (f g) = f g
    theorem DFinsupp.sup_apply {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] [(i : ι) → SemilatticeSup (α i)] (f : Π₀ (i : ι), α i) (g : Π₀ (i : ι), α i) (i : ι) :
    (f g) i = f i g i
    instance DFinsupp.lattice {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] [(i : ι) → Lattice (α i)] :
    Lattice (Π₀ (i : ι), α i)
    Equations
    • One or more equations did not get rendered due to their size.
    theorem DFinsupp.support_inf_union_support_sup {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] [(i : ι) → Lattice (α i)] (f : Π₀ (i : ι), α i) (g : Π₀ (i : ι), α i) [DecidableEq ι] [(i : ι) → (x : α i) → Decidable (x 0)] :
    theorem DFinsupp.support_sup_union_support_inf {ι : Type u_1} {α : ιType u_2} [(i : ι) → Zero (α i)] [(i : ι) → Lattice (α i)] (f : Π₀ (i : ι), α i) (g : Π₀ (i : ι), α i) [DecidableEq ι] [(i : ι) → (x : α i) → Decidable (x 0)] :

    Algebraic order structures #

    instance DFinsupp.instOrderedAddCommMonoidDFinsuppToZeroToAddMonoidToAddCommMonoid {ι : Type u_1} (α : ιType u_3) [(i : ι) → OrderedAddCommMonoid (α i)] :
    OrderedAddCommMonoid (Π₀ (i : ι), α i)
    Equations
    • One or more equations did not get rendered due to their size.
    Equations
    • One or more equations did not get rendered due to their size.
    instance DFinsupp.instContravariantClassDFinsuppToZeroToAddMonoidToAddCommMonoidHAddInstHAddInstAddDFinsuppToZeroToAddZeroClassLeInstLEDFinsuppToLEToPreorderToPartialOrder {ι : Type u_1} {α : ιType u_2} [(i : ι) → OrderedAddCommMonoid (α i)] [∀ (i : ι), ContravariantClass (α i) (α i) (fun (x x_1 : α i) => x + x_1) fun (x x_1 : α i) => x x_1] :
    ContravariantClass (Π₀ (i : ι), α i) (Π₀ (i : ι), α i) (fun (x x_1 : Π₀ (i : ι), α i) => x + x_1) fun (x x_1 : Π₀ (i : ι), α i) => x x_1
    Equations
    • One or more equations did not get rendered due to their size.
    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)
    Equations
    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)
    Equations
    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)
    Equations
    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)
    Equations
    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)
    Equations
    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)
    Equations
    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)
    Equations
    theorem DFinsupp.bot_eq_zero {ι : Type u_1} {α : ιType u_2} [(i : ι) → CanonicallyOrderedAddCommMonoid (α i)] :
    = 0
    @[simp]
    theorem DFinsupp.add_eq_zero_iff {ι : Type u_1} {α : ιType u_2} [(i : ι) → CanonicallyOrderedAddCommMonoid (α i)] (f : Π₀ (i : ι), α i) (g : Π₀ (i : ι), α i) :
    f + g = 0 f = 0 g = 0
    theorem DFinsupp.le_iff' {ι : Type u_1} {α : ιType u_2} [(i : ι) → CanonicallyOrderedAddCommMonoid (α i)] [DecidableEq ι] [(i : ι) → (x : α i) → Decidable (x 0)] {f : Π₀ (i : ι), α i} {g : Π₀ (i : ι), α i} {s : Finset ι} (hf : DFinsupp.support f s) :
    f g is, f i g i
    theorem DFinsupp.le_iff {ι : Type u_1} {α : ιType u_2} [(i : ι) → CanonicallyOrderedAddCommMonoid (α i)] [DecidableEq ι] [(i : ι) → (x : α i) → Decidable (x 0)] {f : Π₀ (i : ι), α i} {g : Π₀ (i : ι), α i} :
    f g iDFinsupp.support f, f i g i
    theorem DFinsupp.support_monotone {ι : Type u_1} {α : ιType u_2} [(i : ι) → CanonicallyOrderedAddCommMonoid (α i)] [DecidableEq ι] [(i : ι) → (x : α i) → Decidable (x 0)] :
    Monotone DFinsupp.support
    theorem DFinsupp.support_mono {ι : Type u_1} {α : ιType u_2} [(i : ι) → CanonicallyOrderedAddCommMonoid (α i)] [DecidableEq ι] [(i : ι) → (x : α i) → Decidable (x 0)] {f : Π₀ (i : ι), α i} {g : Π₀ (i : ι), α i} (hfg : f g) :
    instance DFinsupp.decidableLE {ι : Type u_1} (α : ιType u_2) [(i : ι) → CanonicallyOrderedAddCommMonoid (α i)] [DecidableEq ι] [(i : ι) → (x : α i) → Decidable (x 0)] [(i : ι) → DecidableRel LE.le] :
    Equations
    @[simp]
    theorem DFinsupp.single_le_iff {ι : Type u_1} {α : ιType u_2} [(i : ι) → CanonicallyOrderedAddCommMonoid (α i)] [DecidableEq ι] [(i : ι) → (x : α i) → Decidable (x 0)] {f : Π₀ (i : ι), α i} {i : ι} {a : α i} :
    instance DFinsupp.tsub {ι : Type u_1} (α : ιType u_2) [(i : ι) → CanonicallyOrderedAddCommMonoid (α 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 : ι) → CanonicallyOrderedAddCommMonoid (α i)] [(i : ι) → Sub (α i)] [∀ (i : ι), OrderedSub (α i)] (f : Π₀ (i : ι), α i) (g : Π₀ (i : ι), α i) (i : ι) :
    (f - g) i = f i - g i
    @[simp]
    theorem DFinsupp.coe_tsub {ι : Type u_1} {α : ιType u_2} [(i : ι) → CanonicallyOrderedAddCommMonoid (α i)] [(i : ι) → Sub (α i)] [∀ (i : ι), OrderedSub (α i)] (f : Π₀ (i : ι), α i) (g : Π₀ (i : ι), α i) :
    (f - g) = f - g
    Equations
    instance DFinsupp.instCanonicallyOrderedAddCommMonoidDFinsuppToZeroToAddMonoidToAddCommMonoidToOrderedAddCommMonoid {ι : Type u_1} (α : ιType u_2) [(i : ι) → CanonicallyOrderedAddCommMonoid (α i)] [(i : ι) → Sub (α i)] [∀ (i : ι), OrderedSub (α i)] :
    CanonicallyOrderedAddCommMonoid (Π₀ (i : ι), α i)
    Equations
    • One or more equations did not get rendered due to their size.
    @[simp]
    theorem DFinsupp.single_tsub {ι : Type u_1} {α : ιType u_2} [(i : ι) → CanonicallyOrderedAddCommMonoid (α i)] [(i : ι) → Sub (α i)] [∀ (i : ι), OrderedSub (α i)] {i : ι} {a : α i} {b : α i} [DecidableEq ι] :
    theorem DFinsupp.support_tsub {ι : Type u_1} {α : ιType u_2} [(i : ι) → CanonicallyOrderedAddCommMonoid (α i)] [(i : ι) → Sub (α i)] [∀ (i : ι), OrderedSub (α i)] {f : Π₀ (i : ι), α i} {g : Π₀ (i : ι), α i} [DecidableEq ι] [(i : ι) → (x : α i) → Decidable (x 0)] :
    theorem DFinsupp.subset_support_tsub {ι : Type u_1} {α : ιType u_2} [(i : ι) → CanonicallyOrderedAddCommMonoid (α i)] [(i : ι) → Sub (α i)] [∀ (i : ι), OrderedSub (α i)] {f : Π₀ (i : ι), α i} {g : Π₀ (i : ι), α i} [DecidableEq ι] [(i : ι) → (x : α i) → Decidable (x 0)] :
    @[simp]
    theorem DFinsupp.support_inf {ι : Type u_1} {α : ιType u_2} [(i : ι) → CanonicallyLinearOrderedAddCommMonoid (α i)] [DecidableEq ι] {f : Π₀ (i : ι), α i} {g : Π₀ (i : ι), α i} :
    @[simp]
    theorem DFinsupp.support_sup {ι : Type u_1} {α : ιType u_2} [(i : ι) → CanonicallyLinearOrderedAddCommMonoid (α i)] [DecidableEq ι] {f : Π₀ (i : ι), α i} {g : Π₀ (i : ι), α i} :
    theorem DFinsupp.disjoint_iff {ι : Type u_1} {α : ιType u_2} [(i : ι) → CanonicallyLinearOrderedAddCommMonoid (α i)] [DecidableEq ι] {f : Π₀ (i : ι), α i} {g : Π₀ (i : ι), α i} :