HepLean Documentation

Mathlib.Algebra.Order.Pi

Pi instances for ordered groups and monoids #

This file defines instances for ordered group, monoid, and related structures on Pi types.

instance Pi.orderedAddCommMonoid {ι : Type u_6} {Z : ιType u_7} [(i : ι) → OrderedAddCommMonoid (Z i)] :
OrderedAddCommMonoid ((i : ι) → Z i)

The product of a family of ordered additive commutative monoids is an ordered additive commutative monoid.

Equations
theorem Pi.orderedAddCommMonoid.proof_1 {ι : Type u_1} {Z : ιType u_2} [(i : ι) → OrderedAddCommMonoid (Z i)] :
∀ (x x_1 : (i : ι) → Z i), x x_1∀ (x_2 : (i : ι) → Z i) (i : ι), x_2 i + x i x_2 i + x_1 i
instance Pi.orderedCommMonoid {ι : Type u_6} {Z : ιType u_7} [(i : ι) → OrderedCommMonoid (Z i)] :
OrderedCommMonoid ((i : ι) → Z i)

The product of a family of ordered commutative monoids is an ordered commutative monoid.

Equations
instance Pi.existsAddOfLe {ι : Type u_6} {α : ιType u_7} [(i : ι) → LE (α i)] [(i : ι) → Add (α i)] [∀ (i : ι), ExistsAddOfLE (α i)] :
ExistsAddOfLE ((i : ι) → α i)
Equations
  • =
instance Pi.existsMulOfLe {ι : Type u_6} {α : ιType u_7} [(i : ι) → LE (α i)] [(i : ι) → Mul (α i)] [∀ (i : ι), ExistsMulOfLE (α i)] :
ExistsMulOfLE ((i : ι) → α i)
Equations
  • =
theorem Pi.instCanonicallyOrderedAddCommMonoidForall.proof_3 {ι : Type u_2} {Z : ιType u_1} [(i : ι) → CanonicallyOrderedAddCommMonoid (Z i)] :
∀ (x x_1 : (i : ι) → Z i) (x_2 : ι), x x_2 x x_2 + x_1 x_2
theorem Pi.instCanonicallyOrderedAddCommMonoidForall.proof_2 {ι : Type u_2} {Z : ιType u_1} [(i : ι) → CanonicallyOrderedAddCommMonoid (Z i)] :
∀ {a b : (i : ι) → Z i}, a b∃ (c : (i : ι) → Z i), b = a + c
instance Pi.instCanonicallyOrderedAddCommMonoidForall {ι : Type u_6} {Z : ιType u_7} [(i : ι) → CanonicallyOrderedAddCommMonoid (Z i)] :

The product of a family of canonically ordered additive monoids is a canonically ordered additive monoid.

Equations
theorem Pi.instCanonicallyOrderedAddCommMonoidForall.proof_1 {ι : Type u_1} {Z : ιType u_2} [(i : ι) → CanonicallyOrderedAddCommMonoid (Z i)] :
ExistsAddOfLE ((i : ι) → Z i)
instance Pi.instCanonicallyOrderedCommMonoidForall {ι : Type u_6} {Z : ιType u_7} [(i : ι) → CanonicallyOrderedCommMonoid (Z i)] :
CanonicallyOrderedCommMonoid ((i : ι) → Z i)

The product of a family of canonically ordered monoids is a canonically ordered monoid.

Equations
instance Pi.orderedAddCancelCommMonoid {I : Type u_1} {f : IType u_5} [(i : I) → OrderedCancelAddCommMonoid (f i)] :
OrderedCancelAddCommMonoid ((i : I) → f i)
Equations
theorem Pi.orderedAddCancelCommMonoid.proof_1 {I : Type u_1} {f : IType u_2} [(i : I) → OrderedCancelAddCommMonoid (f i)] :
∀ (x x_1 : (i : I) → f i), x x_1∀ (h : (i : I) → f i) (i : I), h i + x i h i + x_1 i
theorem Pi.orderedAddCancelCommMonoid.proof_2 {I : Type u_1} {f : IType u_2} [(i : I) → OrderedCancelAddCommMonoid (f i)] :
∀ (x x_1 x_2 : (i : I) → f i), x + x_1 x + x_2∀ (i : I), x_1 i x_2 i
instance Pi.orderedCancelCommMonoid {I : Type u_1} {f : IType u_5} [(i : I) → OrderedCancelCommMonoid (f i)] :
OrderedCancelCommMonoid ((i : I) → f i)
Equations
theorem Pi.orderedAddCommGroup.proof_10 {I : Type u_1} {f : IType u_2} [(i : I) → OrderedAddCommGroup (f i)] (a : (i : I) → f i) (b : (i : I) → f i) :
a + b = b + a
theorem Pi.orderedAddCommGroup.proof_6 {I : Type u_1} {f : IType u_2} [(i : I) → OrderedAddCommGroup (f i)] (a : (i : I) → f i) :
theorem Pi.orderedAddCommGroup.proof_2 {I : Type u_1} {f : IType u_2} [(i : I) → OrderedAddCommGroup (f i)] (a : (i : I) → f i) :
a + 0 = a
theorem Pi.orderedAddCommGroup.proof_3 {I : Type u_1} {f : IType u_2} [(i : I) → OrderedAddCommGroup (f i)] (x : (i : I) → f i) :
theorem Pi.orderedAddCommGroup.proof_4 {I : Type u_1} {f : IType u_2} [(i : I) → OrderedAddCommGroup (f i)] (n : ) (x : (i : I) → f i) :
theorem Pi.orderedAddCommGroup.proof_7 {I : Type u_1} {f : IType u_2} [(i : I) → OrderedAddCommGroup (f i)] (n : ) (a : (i : I) → f i) :
SubNegMonoid.zsmul (↑n.succ) a = SubNegMonoid.zsmul (↑n) a + a
theorem Pi.orderedAddCommGroup.proof_8 {I : Type u_1} {f : IType u_2} [(i : I) → OrderedAddCommGroup (f i)] (n : ) (a : (i : I) → f i) :
theorem Pi.orderedAddCommGroup.proof_5 {I : Type u_1} {f : IType u_2} [(i : I) → OrderedAddCommGroup (f i)] (a : (i : I) → f i) (b : (i : I) → f i) :
a - b = a + -b
theorem Pi.orderedAddCommGroup.proof_11 {I : Type u_1} {f : IType u_2} [(i : I) → OrderedAddCommGroup (f i)] (a : (i : I) → f i) (b : (i : I) → f i) :
a b∀ (c : (i : I) → f i), c + a c + b
theorem Pi.orderedAddCommGroup.proof_1 {I : Type u_1} {f : IType u_2} [(i : I) → OrderedAddCommGroup (f i)] (a : (i : I) → f i) :
0 + a = a
instance Pi.orderedAddCommGroup {I : Type u_1} {f : IType u_5} [(i : I) → OrderedAddCommGroup (f i)] :
OrderedAddCommGroup ((i : I) → f i)
Equations
theorem Pi.orderedAddCommGroup.proof_9 {I : Type u_1} {f : IType u_2} [(i : I) → OrderedAddCommGroup (f i)] (a : (i : I) → f i) :
-a + a = 0
instance Pi.orderedCommGroup {I : Type u_1} {f : IType u_5} [(i : I) → OrderedCommGroup (f i)] :
OrderedCommGroup ((i : I) → f i)
Equations
instance Pi.orderedSemiring {I : Type u_1} {f : IType u_5} [(i : I) → OrderedSemiring (f i)] :
OrderedSemiring ((i : I) → f i)
Equations
instance Pi.orderedCommSemiring {I : Type u_1} {f : IType u_5} [(i : I) → OrderedCommSemiring (f i)] :
OrderedCommSemiring ((i : I) → f i)
Equations
instance Pi.orderedRing {I : Type u_1} {f : IType u_5} [(i : I) → OrderedRing (f i)] :
OrderedRing ((i : I) → f i)
Equations
instance Pi.orderedCommRing {I : Type u_1} {f : IType u_5} [(i : I) → OrderedCommRing (f i)] :
OrderedCommRing ((i : I) → f i)
Equations
theorem Function.const_nonneg_of_nonneg {α : Type u_2} (β : Type u_3) [Zero α] [Preorder α] {a : α} (ha : 0 a) :
theorem Function.one_le_const_of_one_le {α : Type u_2} (β : Type u_3) [One α] [Preorder α] {a : α} (ha : 1 a) :
theorem Function.const_nonpos_of_nonpos {α : Type u_2} (β : Type u_3) [Zero α] [Preorder α] {a : α} (ha : a 0) :
theorem Function.const_le_one_of_le_one {α : Type u_2} (β : Type u_3) [One α] [Preorder α] {a : α} (ha : a 1) :
@[simp]
theorem Function.const_nonneg {α : Type u_2} {β : Type u_3} [Zero α] [Preorder α] {a : α} [Nonempty β] :
@[simp]
theorem Function.one_le_const {α : Type u_2} {β : Type u_3} [One α] [Preorder α] {a : α} [Nonempty β] :
@[simp]
theorem Function.const_pos {α : Type u_2} {β : Type u_3} [Zero α] [Preorder α] {a : α} [Nonempty β] :
0 < Function.const β a 0 < a
@[simp]
theorem Function.one_lt_const {α : Type u_2} {β : Type u_3} [One α] [Preorder α] {a : α} [Nonempty β] :
1 < Function.const β a 1 < a
@[simp]
theorem Function.const_nonpos {α : Type u_2} {β : Type u_3} [Zero α] [Preorder α] {a : α} [Nonempty β] :
@[simp]
theorem Function.const_le_one {α : Type u_2} {β : Type u_3} [One α] [Preorder α] {a : α} [Nonempty β] :
@[simp]
theorem Function.const_neg' {α : Type u_2} {β : Type u_3} [Zero α] [Preorder α] {a : α} [Nonempty β] :
Function.const β a < 0 a < 0
@[simp]
theorem Function.const_lt_one {α : Type u_2} {β : Type u_3} [One α] [Preorder α] {a : α} [Nonempty β] :
Function.const β a < 1 a < 1
theorem Function.extend_nonneg {α : Type u_2} {β : Type u_3} {γ : Type u_4} [Zero γ] [LE γ] {f : αβ} {g : αγ} {e : βγ} (hg : 0 g) (he : 0 e) :
theorem Function.one_le_extend {α : Type u_2} {β : Type u_3} {γ : Type u_4} [One γ] [LE γ] {f : αβ} {g : αγ} {e : βγ} (hg : 1 g) (he : 1 e) :
theorem Function.extend_nonpos {α : Type u_2} {β : Type u_3} {γ : Type u_4} [Zero γ] [LE γ] {f : αβ} {g : αγ} {e : βγ} (hg : g 0) (he : e 0) :
theorem Function.extend_le_one {α : Type u_2} {β : Type u_3} {γ : Type u_4} [One γ] [LE γ] {f : αβ} {g : αγ} {e : βγ} (hg : g 1) (he : e 1) :
@[simp]
theorem Pi.single_le_single {ι : Type u_6} {α : ιType u_7} [DecidableEq ι] [(i : ι) → Zero (α i)] [(i : ι) → Preorder (α i)] {i : ι} {a : α i} {b : α i} :
@[simp]
theorem Pi.mulSingle_le_mulSingle {ι : Type u_6} {α : ιType u_7} [DecidableEq ι] [(i : ι) → One (α i)] [(i : ι) → Preorder (α i)] {i : ι} {a : α i} {b : α i} :
theorem Pi.GCongr.mulSingle_mono {ι : Type u_6} {α : ιType u_7} [DecidableEq ι] [(i : ι) → One (α i)] [(i : ι) → Preorder (α i)] {i : ι} {a : α i} {b : α i} :

Alias of the reverse direction of Pi.mulSingle_le_mulSingle.

theorem Pi.GCongr.single_mono {ι : Type u_6} {α : ιType u_7} [DecidableEq ι] [(i : ι) → Zero (α i)] [(i : ι) → Preorder (α i)] {i : ι} {a : α i} {b : α i} :
a bPi.single i a Pi.single i b
@[simp]
theorem Pi.single_nonneg {ι : Type u_6} {α : ιType u_7} [DecidableEq ι] [(i : ι) → Zero (α i)] [(i : ι) → Preorder (α i)] {i : ι} {a : α i} :
0 Pi.single i a 0 a
@[simp]
theorem Pi.one_le_mulSingle {ι : Type u_6} {α : ιType u_7} [DecidableEq ι] [(i : ι) → One (α i)] [(i : ι) → Preorder (α i)] {i : ι} {a : α i} :
@[simp]
theorem Pi.single_nonpos {ι : Type u_6} {α : ιType u_7} [DecidableEq ι] [(i : ι) → Zero (α i)] [(i : ι) → Preorder (α i)] {i : ι} {a : α i} :
Pi.single i a 0 a 0
@[simp]
theorem Pi.mulSingle_le_one {ι : Type u_6} {α : ιType u_7} [DecidableEq ι] [(i : ι) → One (α i)] [(i : ι) → Preorder (α i)] {i : ι} {a : α i} :