Pointwise order on finitely supported dependent functions #
This file lifts order structures on the α i to Π₀ i, α i.
Main declarations #
DFinsupp.orderEmbeddingToFun: The order embedding from finitely supported dependent functions to functions.
Order structures #
def DFinsupp.orderEmbeddingToFun {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → Zero (α i)] [(i : ι) → LE (α i)] :
The order on DFinsupps over a partial order embeds into the order on functions
Equations
- DFinsupp.orderEmbeddingToFun = { toFun := DFunLike.coe, inj' := ⋯, map_rel_iff' := ⋯ }
Instances For
@[simp]
theorem DFinsupp.coe_orderEmbeddingToFun {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → Zero (α i)] [(i : ι) → LE (α i)] :
@[instance_reducible]
instance DFinsupp.instPreorder {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → Zero (α i)] [(i : ι) → Preorder (α i)] :
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)] :
theorem DFinsupp.single_mono {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → Zero (α i)] [(i : ι) → Preorder (α i)] {i : ι} [DecidableEq ι] :
@[instance_reducible]
instance DFinsupp.instPartialOrder {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → Zero (α i)] [(i : ι) → PartialOrder (α i)] :
PartialOrder (Π₀ (i : ι), α i)
Equations
- DFinsupp.instPartialOrder = { toPreorder := inferInstance, le_antisymm := ⋯ }
@[instance_reducible]
instance DFinsupp.instSemilatticeInf {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → Zero (α i)] [(i : ι) → SemilatticeInf (α i)] :
SemilatticeInf (Π₀ (i : ι), α i)
Equations
- DFinsupp.instSemilatticeInf = { toPartialOrder := inferInstance, inf := DFinsupp.zipWith (fun (x : ι) (x1 x2 : α x) => x1 ⊓ x2) ⋯, inf_le_left := ⋯, inf_le_right := ⋯, le_inf := ⋯ }
@[simp]
theorem DFinsupp.coe_inf {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → Zero (α i)] [(i : ι) → SemilatticeInf (α i)] (f g : Π₀ (i : ι), α i) :
theorem DFinsupp.inf_apply {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → Zero (α i)] [(i : ι) → SemilatticeInf (α i)] (f g : Π₀ (i : ι), α i) (i : ι) :
@[instance_reducible]
instance DFinsupp.instSemilatticeSup {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → Zero (α i)] [(i : ι) → SemilatticeSup (α i)] :
SemilatticeSup (Π₀ (i : ι), α i)
Equations
- DFinsupp.instSemilatticeSup = { toPartialOrder := inferInstance, sup := DFinsupp.zipWith (fun (x : ι) (x1 x2 : α x) => x1 ⊔ x2) ⋯, le_sup_left := ⋯, le_sup_right := ⋯, sup_le := ⋯ }
@[simp]
theorem DFinsupp.coe_sup {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → Zero (α i)] [(i : ι) → SemilatticeSup (α i)] (f g : Π₀ (i : ι), α i) :
theorem DFinsupp.sup_apply {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → Zero (α i)] [(i : ι) → SemilatticeSup (α i)] (f g : Π₀ (i : ι), α i) (i : ι) :
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)] :
IsOrderedCancelAddMonoid (Π₀ (i : ι), α 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_reducible]
instance DFinsupp.instOrderBotOfIsBotZeroClass {ι : Type u_1} (α : ι → Type u_2) [(i : ι) → AddCommMonoid (α i)] [(i : ι) → PartialOrder (α i)] [∀ (i : ι), IsBotZeroClass (α i)] :
Equations
- DFinsupp.instOrderBotOfIsBotZeroClass α = { bot := 0, bot_le := ⋯ }
instance DFinsupp.instIsBotZeroClass {ι : Type u_1} (α : ι → Type u_2) [(i : ι) → AddCommMonoid (α i)] [(i : ι) → PartialOrder (α i)] [∀ (i : ι), IsBotZeroClass (α i)] :
IsBotZeroClass (Π₀ (i : ι), α i)
@[deprecated bot_eq_zero (since := "2026-05-07")]
theorem DFinsupp.bot_eq_zero {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → AddCommMonoid (α i)] [(i : ι) → PartialOrder (α i)] [∀ (i : ι), IsBotZeroClass (α i)] :
@[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) :
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) :
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} :
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_reducible]
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
- DFinsupp.decidableLE α x✝¹ x✝ = decidable_of_iff (∀ i ∈ x✝¹.support, x✝¹ i ≤ x✝ i) ⋯
@[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} :
@[instance_reducible]
instance DFinsupp.tsub {ι : Type u_1} (α : ι → Type u_2) [(i : ι) → AddCommMonoid (α i)] [(i : ι) → PartialOrder (α i)] [∀ (i : ι), CanonicallyOrderedAdd (α i)] [(i : ι) → Sub (α i)] [∀ (i : ι), OrderedSub (α i)] :
This is called tsub for truncated subtraction, to distinguish it with subtraction in an
additive group.
Equations
- DFinsupp.tsub α = { sub := DFinsupp.zipWith (fun (x : ι) (m n : α x) => m - n) ⋯ }
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 : ι) :
@[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) :
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)] :
CanonicallyOrderedAdd (Π₀ (i : ι), α 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 ι] :
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 : ι), IsBotZeroClass (α i)] [DecidableEq ι] {f g : Π₀ (i : ι), α i} :
@[simp]
theorem DFinsupp.support_sup {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → AddCommMonoid (α i)] [(i : ι) → LinearOrder (α i)] [∀ (i : ι), IsBotZeroClass (α i)] [DecidableEq ι] {f g : Π₀ (i : ι), α i} :
theorem DFinsupp.disjoint_iff {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → AddCommMonoid (α i)] [(i : ι) → LinearOrder (α i)] [∀ (i : ι), IsBotZeroClass (α i)] [DecidableEq ι] {f g : Π₀ (i : ι), α i} :