Pi instances for ordered groups and monoids #
This file defines instances for ordered group, monoid, and related structures on Pi types.
theorem
Pi.orderedAddCommMonoid.proof_2
{ι : Type u_1}
{Z : ι → Type u_2}
[(i : ι) → OrderedAddCommMonoid (Z i)]
(a : (i : ι) → Z i)
(b : (i : ι) → Z i)
:
theorem
Pi.orderedAddCommMonoid.proof_3
{ι : Type u_1}
{Z : ι → Type u_2}
[(i : ι) → OrderedAddCommMonoid (Z i)]
:
instance
Pi.orderedAddCommMonoid
{ι : Type u_7}
{Z : ι → Type u_8}
[(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
- One or more equations did not get rendered due to their size.
theorem
Pi.orderedAddCommMonoid.proof_1
{ι : Type u_1}
{Z : ι → Type u_2}
[(i : ι) → OrderedAddCommMonoid (Z i)]
(a : (i : ι) → Z i)
(b : (i : ι) → Z i)
:
instance
Pi.orderedCommMonoid
{ι : Type u_7}
{Z : ι → Type u_8}
[(i : ι) → OrderedCommMonoid (Z i)]
:
OrderedCommMonoid ((i : ι) → Z i)
The product of a family of ordered commutative monoids is an ordered commutative monoid.
Equations
- One or more equations did not get rendered due to their size.
theorem
Pi.existsAddOfLe.proof_1
{ι : Type u_1}
{α : ι → Type u_2}
[(i : ι) → LE (α i)]
[(i : ι) → Add (α i)]
[∀ (i : ι), ExistsAddOfLE (α i)]
:
ExistsAddOfLE ((i : ι) → α i)
instance
Pi.existsAddOfLe
{ι : Type u_7}
{α : ι → Type u_8}
[(i : ι) → LE (α i)]
[(i : ι) → Add (α i)]
[∀ (i : ι), ExistsAddOfLE (α i)]
:
ExistsAddOfLE ((i : ι) → α i)
Equations
instance
Pi.existsMulOfLe
{ι : Type u_7}
{α : ι → Type u_8}
[(i : ι) → LE (α i)]
[(i : ι) → Mul (α i)]
[∀ (i : ι), ExistsMulOfLE (α i)]
:
ExistsMulOfLE ((i : ι) → α i)
Equations
theorem
Pi.instCanonicallyOrderedAddMonoidForAll.proof_4
{ι : Type u_1}
{Z : ι → Type u_2}
[(i : ι) → CanonicallyOrderedAddMonoid (Z i)]
:
instance
Pi.instCanonicallyOrderedAddMonoidForAll
{ι : Type u_7}
{Z : ι → Type u_8}
[(i : ι) → CanonicallyOrderedAddMonoid (Z i)]
:
CanonicallyOrderedAddMonoid ((i : ι) → Z i)
The product of a family of canonically ordered additive monoids is a canonically ordered additive monoid.
Equations
- One or more equations did not get rendered due to their size.
theorem
Pi.instCanonicallyOrderedAddMonoidForAll.proof_2
{ι : Type u_1}
{Z : ι → Type u_2}
[(i : ι) → CanonicallyOrderedAddMonoid (Z i)]
(a : (i : ι) → Z i)
(b : (i : ι) → Z i)
:
theorem
Pi.instCanonicallyOrderedAddMonoidForAll.proof_3
{ι : Type u_1}
{Z : ι → Type u_2}
[(i : ι) → CanonicallyOrderedAddMonoid (Z i)]
(a : (i : ι) → Z i)
:
theorem
Pi.instCanonicallyOrderedAddMonoidForAll.proof_1
{ι : Type u_1}
{Z : ι → Type u_2}
[(i : ι) → CanonicallyOrderedAddMonoid (Z i)]
:
ExistsAddOfLE ((i : ι) → Z i)
theorem
Pi.instCanonicallyOrderedAddMonoidForAll.proof_5
{ι : Type u_2}
{Z : ι → Type u_1}
[(i : ι) → CanonicallyOrderedAddMonoid (Z i)]
:
instance
Pi.instCanonicallyOrderedMonoidForAll
{ι : Type u_7}
{Z : ι → Type u_8}
[(i : ι) → CanonicallyOrderedMonoid (Z i)]
:
CanonicallyOrderedMonoid ((i : ι) → Z i)
The product of a family of canonically ordered monoids is a canonically ordered monoid.
Equations
- One or more equations did not get rendered due to their size.
theorem
Pi.orderedAddCancelCommMonoid.proof_2
{I : Type u_1}
{f : I → Type u_2}
[(i : I) → OrderedCancelAddCommMonoid (f i)]
(a : (i : I) → f i)
:
theorem
Pi.orderedAddCancelCommMonoid.proof_7
{I : Type u_1}
{f : I → Type u_2}
[(i : I) → OrderedCancelAddCommMonoid (f i)]
:
theorem
Pi.orderedAddCancelCommMonoid.proof_6
{I : Type u_1}
{f : I → Type u_2}
[(i : I) → OrderedCancelAddCommMonoid (f i)]
(a : (i : I) → f i)
(b : (i : I) → f i)
:
theorem
Pi.orderedAddCancelCommMonoid.proof_4
{I : Type u_1}
{f : I → Type u_2}
[(i : I) → OrderedCancelAddCommMonoid (f i)]
(n : ℕ)
(x : (i : I) → f i)
:
AddMonoid.nsmul (n + 1) x = x + AddMonoid.nsmul n x
theorem
Pi.orderedAddCancelCommMonoid.proof_5
{I : Type u_1}
{f : I → Type u_2}
[(i : I) → OrderedCancelAddCommMonoid (f i)]
(a : (i : I) → f i)
(b : (i : I) → f i)
:
theorem
Pi.orderedAddCancelCommMonoid.proof_8
{I : Type u_1}
{f : I → Type u_2}
[(i : I) → OrderedCancelAddCommMonoid (f i)]
:
instance
Pi.orderedAddCancelCommMonoid
{I : Type u_2}
{f : I → Type u_6}
[(i : I) → OrderedCancelAddCommMonoid (f i)]
:
OrderedCancelAddCommMonoid ((i : I) → f i)
Equations
- One or more equations did not get rendered due to their size.
theorem
Pi.orderedAddCancelCommMonoid.proof_3
{I : Type u_1}
{f : I → Type u_2}
[(i : I) → OrderedCancelAddCommMonoid (f i)]
(x : (i : I) → f i)
:
AddMonoid.nsmul 0 x = 0
theorem
Pi.orderedAddCancelCommMonoid.proof_1
{I : Type u_1}
{f : I → Type u_2}
[(i : I) → OrderedCancelAddCommMonoid (f i)]
(a : (i : I) → f i)
:
instance
Pi.orderedCancelCommMonoid
{I : Type u_2}
{f : I → Type u_6}
[(i : I) → OrderedCancelCommMonoid (f i)]
:
OrderedCancelCommMonoid ((i : I) → f i)
Equations
- One or more equations did not get rendered due to their size.
theorem
Pi.orderedAddCommGroup.proof_9
{I : Type u_1}
{f : I → Type u_2}
[(i : I) → OrderedAddCommGroup (f i)]
(a : (i : I) → f i)
:
theorem
Pi.orderedAddCommGroup.proof_2
{I : Type u_1}
{f : I → Type u_2}
[(i : I) → OrderedAddCommGroup (f i)]
(a : (i : I) → f i)
:
theorem
Pi.orderedAddCommGroup.proof_10
{I : Type u_1}
{f : I → Type u_2}
[(i : I) → OrderedAddCommGroup (f i)]
(a : (i : I) → f i)
(b : (i : I) → f i)
:
theorem
Pi.orderedAddCommGroup.proof_5
{I : Type u_1}
{f : I → Type u_2}
[(i : I) → OrderedAddCommGroup (f i)]
(a : (i : I) → f i)
(b : (i : I) → f i)
:
theorem
Pi.orderedAddCommGroup.proof_4
{I : Type u_1}
{f : I → Type u_2}
[(i : I) → OrderedAddCommGroup (f i)]
(n : ℕ)
(x : (i : I) → f i)
:
AddMonoid.nsmul (n + 1) x = x + AddMonoid.nsmul n x
theorem
Pi.orderedAddCommGroup.proof_3
{I : Type u_1}
{f : I → Type u_2}
[(i : I) → OrderedAddCommGroup (f i)]
(x : (i : I) → f i)
:
AddMonoid.nsmul 0 x = 0
theorem
Pi.orderedAddCommGroup.proof_6
{I : Type u_1}
{f : I → Type u_2}
[(i : I) → OrderedAddCommGroup (f i)]
(a : (i : I) → f i)
:
SubNegMonoid.zsmul 0 a = 0
instance
Pi.orderedAddCommGroup
{I : Type u_2}
{f : I → Type u_6}
[(i : I) → OrderedAddCommGroup (f i)]
:
OrderedAddCommGroup ((i : I) → f i)
theorem
Pi.orderedAddCommGroup.proof_11
{I : Type u_1}
{f : I → Type u_2}
[(i : I) → OrderedAddCommGroup (f i)]
(a : (i : I) → f i)
(b : (i : I) → f i)
:
theorem
Pi.orderedAddCommGroup.proof_7
{I : Type u_1}
{f : I → Type u_2}
[(i : I) → OrderedAddCommGroup (f i)]
(n : ℕ)
(a : (i : I) → f i)
:
SubNegMonoid.zsmul (Int.ofNat (Nat.succ n)) a = a + SubNegMonoid.zsmul (Int.ofNat n) a
theorem
Pi.orderedAddCommGroup.proof_8
{I : Type u_1}
{f : I → Type u_2}
[(i : I) → OrderedAddCommGroup (f i)]
(n : ℕ)
(a : (i : I) → f i)
:
SubNegMonoid.zsmul (Int.negSucc n) a = -SubNegMonoid.zsmul (↑(Nat.succ n)) a
theorem
Pi.orderedAddCommGroup.proof_1
{I : Type u_1}
{f : I → Type u_2}
[(i : I) → OrderedAddCommGroup (f i)]
(a : (i : I) → f i)
:
instance
Pi.orderedCommGroup
{I : Type u_2}
{f : I → Type u_6}
[(i : I) → OrderedCommGroup (f i)]
:
OrderedCommGroup ((i : I) → f i)
instance
Pi.orderedSemiring
{I : Type u_2}
{f : I → Type u_6}
[(i : I) → OrderedSemiring (f i)]
:
OrderedSemiring ((i : I) → f i)
Equations
- One or more equations did not get rendered due to their size.
instance
Pi.orderedCommSemiring
{I : Type u_2}
{f : I → Type u_6}
[(i : I) → OrderedCommSemiring (f i)]
:
OrderedCommSemiring ((i : I) → f i)
Equations
- Pi.orderedCommSemiring = let src := Pi.commSemiring; let src_1 := Pi.orderedSemiring; OrderedCommSemiring.mk (_ : ∀ (a b : (i : I) → f i), a * b = b * a)
instance
Pi.orderedRing
{I : Type u_2}
{f : I → Type u_6}
[(i : I) → OrderedRing (f i)]
:
OrderedRing ((i : I) → f i)
Equations
- One or more equations did not get rendered due to their size.
instance
Pi.orderedCommRing
{I : Type u_2}
{f : I → Type u_6}
[(i : I) → OrderedCommRing (f i)]
:
OrderedCommRing ((i : I) → f i)
Equations
- Pi.orderedCommRing = let src := Pi.commRing; let src_1 := Pi.orderedRing; OrderedCommRing.mk (_ : ∀ (a b : (i : I) → f i), a * b = b * a)
theorem
Function.const_nonneg_of_nonneg
{α : Type u_3}
(β : Type u_4)
[Zero α]
[Preorder α]
{a : α}
(ha : 0 ≤ a)
:
0 ≤ Function.const β a
theorem
Function.one_le_const_of_one_le
{α : Type u_3}
(β : Type u_4)
[One α]
[Preorder α]
{a : α}
(ha : 1 ≤ a)
:
1 ≤ Function.const β a
theorem
Function.const_nonpos_of_nonpos
{α : Type u_3}
(β : Type u_4)
[Zero α]
[Preorder α]
{a : α}
(ha : a ≤ 0)
:
Function.const β a ≤ 0
theorem
Function.const_le_one_of_le_one
{α : Type u_3}
(β : Type u_4)
[One α]
[Preorder α]
{a : α}
(ha : a ≤ 1)
:
Function.const β a ≤ 1