Pointwise operations on ordered algebraic objects #
This file contains lemmas about the effect of pointwise operations on sets with an order structure.
TODO #
sSup (s • t) = sSup s • sSup t
and sInf (s • t) = sInf s • sInf t
hold as well but
CovariantClass
is currently not polymorphic enough to state it.
theorem
sSup_neg
{α : Type u_1}
[CompleteLattice α]
[AddGroup α]
[CovariantClass α α (fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
[CovariantClass α α (Function.swap fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
(s : Set α)
:
theorem
sSup_inv
{α : Type u_1}
[CompleteLattice α]
[Group α]
[CovariantClass α α (fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
[CovariantClass α α (Function.swap fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
(s : Set α)
:
theorem
sInf_neg
{α : Type u_1}
[CompleteLattice α]
[AddGroup α]
[CovariantClass α α (fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
[CovariantClass α α (Function.swap fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
(s : Set α)
:
theorem
sInf_inv
{α : Type u_1}
[CompleteLattice α]
[Group α]
[CovariantClass α α (fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
[CovariantClass α α (Function.swap fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
(s : Set α)
:
theorem
sSup_add
{α : Type u_1}
[CompleteLattice α]
[AddGroup α]
[CovariantClass α α (fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
[CovariantClass α α (Function.swap fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
(s : Set α)
(t : Set α)
:
theorem
sSup_mul
{α : Type u_1}
[CompleteLattice α]
[Group α]
[CovariantClass α α (fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
[CovariantClass α α (Function.swap fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
(s : Set α)
(t : Set α)
:
theorem
sInf_add
{α : Type u_1}
[CompleteLattice α]
[AddGroup α]
[CovariantClass α α (fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
[CovariantClass α α (Function.swap fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
(s : Set α)
(t : Set α)
:
theorem
sInf_mul
{α : Type u_1}
[CompleteLattice α]
[Group α]
[CovariantClass α α (fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
[CovariantClass α α (Function.swap fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
(s : Set α)
(t : Set α)
:
theorem
sSup_sub
{α : Type u_1}
[CompleteLattice α]
[AddGroup α]
[CovariantClass α α (fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
[CovariantClass α α (Function.swap fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
(s : Set α)
(t : Set α)
:
theorem
sSup_div
{α : Type u_1}
[CompleteLattice α]
[Group α]
[CovariantClass α α (fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
[CovariantClass α α (Function.swap fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
(s : Set α)
(t : Set α)
:
theorem
sInf_sub
{α : Type u_1}
[CompleteLattice α]
[AddGroup α]
[CovariantClass α α (fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
[CovariantClass α α (Function.swap fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
(s : Set α)
(t : Set α)
:
theorem
sInf_div
{α : Type u_1}
[CompleteLattice α]
[Group α]
[CovariantClass α α (fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
[CovariantClass α α (Function.swap fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
(s : Set α)
(t : Set α)
:
@[simp]
@[simp]
theorem
csSup_neg
{α : Type u_1}
[ConditionallyCompleteLattice α]
[AddGroup α]
[CovariantClass α α (fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
[CovariantClass α α (Function.swap fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
{s : Set α}
(hs₀ : s.Nonempty)
(hs₁ : BddBelow s)
:
theorem
csSup_inv
{α : Type u_1}
[ConditionallyCompleteLattice α]
[Group α]
[CovariantClass α α (fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
[CovariantClass α α (Function.swap fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
{s : Set α}
(hs₀ : s.Nonempty)
(hs₁ : BddBelow s)
:
theorem
csInf_neg
{α : Type u_1}
[ConditionallyCompleteLattice α]
[AddGroup α]
[CovariantClass α α (fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
[CovariantClass α α (Function.swap fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
{s : Set α}
(hs₀ : s.Nonempty)
(hs₁ : BddAbove s)
:
theorem
csInf_inv
{α : Type u_1}
[ConditionallyCompleteLattice α]
[Group α]
[CovariantClass α α (fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
[CovariantClass α α (Function.swap fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
{s : Set α}
(hs₀ : s.Nonempty)
(hs₁ : BddAbove s)
:
theorem
csSup_add
{α : Type u_1}
[ConditionallyCompleteLattice α]
[AddGroup α]
[CovariantClass α α (fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
[CovariantClass α α (Function.swap fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
{s : Set α}
{t : Set α}
(hs₀ : s.Nonempty)
(hs₁ : BddAbove s)
(ht₀ : t.Nonempty)
(ht₁ : BddAbove t)
:
theorem
csSup_mul
{α : Type u_1}
[ConditionallyCompleteLattice α]
[Group α]
[CovariantClass α α (fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
[CovariantClass α α (Function.swap fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
{s : Set α}
{t : Set α}
(hs₀ : s.Nonempty)
(hs₁ : BddAbove s)
(ht₀ : t.Nonempty)
(ht₁ : BddAbove t)
:
theorem
csInf_add
{α : Type u_1}
[ConditionallyCompleteLattice α]
[AddGroup α]
[CovariantClass α α (fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
[CovariantClass α α (Function.swap fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
{s : Set α}
{t : Set α}
(hs₀ : s.Nonempty)
(hs₁ : BddBelow s)
(ht₀ : t.Nonempty)
(ht₁ : BddBelow t)
:
theorem
csInf_mul
{α : Type u_1}
[ConditionallyCompleteLattice α]
[Group α]
[CovariantClass α α (fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
[CovariantClass α α (Function.swap fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
{s : Set α}
{t : Set α}
(hs₀ : s.Nonempty)
(hs₁ : BddBelow s)
(ht₀ : t.Nonempty)
(ht₁ : BddBelow t)
:
theorem
csSup_sub
{α : Type u_1}
[ConditionallyCompleteLattice α]
[AddGroup α]
[CovariantClass α α (fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
[CovariantClass α α (Function.swap fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
{s : Set α}
{t : Set α}
(hs₀ : s.Nonempty)
(hs₁ : BddAbove s)
(ht₀ : t.Nonempty)
(ht₁ : BddBelow t)
:
theorem
csSup_div
{α : Type u_1}
[ConditionallyCompleteLattice α]
[Group α]
[CovariantClass α α (fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
[CovariantClass α α (Function.swap fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
{s : Set α}
{t : Set α}
(hs₀ : s.Nonempty)
(hs₁ : BddAbove s)
(ht₀ : t.Nonempty)
(ht₁ : BddBelow t)
:
theorem
csInf_sub
{α : Type u_1}
[ConditionallyCompleteLattice α]
[AddGroup α]
[CovariantClass α α (fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
[CovariantClass α α (Function.swap fun (x1 x2 : α) => x1 + x2) fun (x1 x2 : α) => x1 ≤ x2]
{s : Set α}
{t : Set α}
(hs₀ : s.Nonempty)
(hs₁ : BddBelow s)
(ht₀ : t.Nonempty)
(ht₁ : BddAbove t)
:
theorem
csInf_div
{α : Type u_1}
[ConditionallyCompleteLattice α]
[Group α]
[CovariantClass α α (fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
[CovariantClass α α (Function.swap fun (x1 x2 : α) => x1 * x2) fun (x1 x2 : α) => x1 ≤ x2]
{s : Set α}
{t : Set α}
(hs₀ : s.Nonempty)
(hs₁ : BddBelow s)
(ht₀ : t.Nonempty)
(ht₁ : BddAbove t)
:
theorem
LinearOrderedField.smul_Ioi
{K : Type u_2}
[LinearOrderedField K]
{a : K}
{r : K}
(hr : 0 < r)
:
theorem
LinearOrderedField.smul_Iio
{K : Type u_2}
[LinearOrderedField K]
{a : K}
{r : K}
(hr : 0 < r)
:
theorem
LinearOrderedField.smul_Ici
{K : Type u_2}
[LinearOrderedField K]
{a : K}
{r : K}
(hr : 0 < r)
:
theorem
LinearOrderedField.smul_Iic
{K : Type u_2}
[LinearOrderedField K]
{a : K}
{r : K}
(hr : 0 < r)
: