# Upper/lower bounds in ordered monoids and groups #

In this file we prove a few facts like “`-s` is bounded above iff `s` is bounded below” (`bddAbove_neg`).

source
theorem mul_mem_upperBounds_mul {M : Type u_3} [Mul M] [Preorder M] [MulLeftMono M] [MulRightMono M] {s t : Set M} {a b : M} (ha : a ∈ upperBounds s) (hb : b ∈ upperBounds t) :
a * b ∈ upperBounds (s * t)
source
theorem add_mem_upperBounds_add {M : Type u_3} [Add M] [Preorder M] [AddLeftMono M] [AddRightMono M] {s t : Set M} {a b : M} (ha : a ∈ upperBounds s) (hb : b ∈ upperBounds t) :
a + b ∈ upperBounds (s + t)
source
theorem subset_upperBounds_mul {M : Type u_3} [Mul M] [Preorder M] [MulLeftMono M] [MulRightMono M] (s t : Set M) :
upperBounds s * upperBounds t ⊆ upperBounds (s * t)
source
theorem subset_upperBounds_add {M : Type u_3} [Add M] [Preorder M] [AddLeftMono M] [AddRightMono M] (s t : Set M) :
upperBounds s + upperBounds t ⊆ upperBounds (s + t)
source
theorem mul_mem_lowerBounds_mul {M : Type u_3} [Mul M] [Preorder M] [MulLeftMono M] [MulRightMono M] {s t : Set M} {a b : M} (ha : a ∈ lowerBounds s) (hb : b ∈ lowerBounds t) :
a * b ∈ lowerBounds (s * t)
source
theorem add_mem_lowerBounds_add {M : Type u_3} [Add M] [Preorder M] [AddLeftMono M] [AddRightMono M] {s t : Set M} {a b : M} (ha : a ∈ lowerBounds s) (hb : b ∈ lowerBounds t) :
a + b ∈ lowerBounds (s + t)
source
theorem subset_lowerBounds_mul {M : Type u_3} [Mul M] [Preorder M] [MulLeftMono M] [MulRightMono M] (s t : Set M) :
lowerBounds s * lowerBounds t ⊆ lowerBounds (s * t)
source
theorem subset_lowerBounds_add {M : Type u_3} [Add M] [Preorder M] [AddLeftMono M] [AddRightMono M] (s t : Set M) :
lowerBounds s + lowerBounds t ⊆ lowerBounds (s + t)
source
theorem BddAbove.mul {M : Type u_3} [Mul M] [Preorder M] [MulLeftMono M] [MulRightMono M] {s t : Set M} (hs : BddAbove s) (ht : BddAbove t) :
BddAbove (s * t)
source
theorem BddAbove.add {M : Type u_3} [Add M] [Preorder M] [AddLeftMono M] [AddRightMono M] {s t : Set M} (hs : BddAbove s) (ht : BddAbove t) :
BddAbove (s + t)
source
theorem BddBelow.mul {M : Type u_3} [Mul M] [Preorder M] [MulLeftMono M] [MulRightMono M] {s t : Set M} (hs : BddBelow s) (ht : BddBelow t) :
BddBelow (s * t)
source
theorem BddBelow.add {M : Type u_3} [Add M] [Preorder M] [AddLeftMono M] [AddRightMono M] {s t : Set M} (hs : BddBelow s) (ht : BddBelow t) :
BddBelow (s + t)
source
theorem Set.BddAbove.mul {M : Type u_3} [Mul M] [Preorder M] [MulLeftMono M] [MulRightMono M] {s t : Set M} (hs : BddAbove s) (ht : BddAbove t) :
BddAbove (s * t)

Alias of `BddAbove.mul`.

source
theorem Set.BddAbove.add {M : Type u_3} [Add M] [Preorder M] [AddLeftMono M] [AddRightMono M] {s t : Set M} (hs : BddAbove s) (ht : BddAbove t) :
BddAbove (s + t)
source
theorem BddAbove.range_mul {ι : Type u_1} {M : Type u_3} [Mul M] [Preorder M] [MulLeftMono M] [MulRightMono M] {f g : ι → M} (hf : BddAbove (Set.range f)) (hg : BddAbove (Set.range g)) :
BddAbove (Set.range fun (i : ι) => f i * g i)
source
theorem BddAbove.range_add {ι : Type u_1} {M : Type u_3} [Add M] [Preorder M] [AddLeftMono M] [AddRightMono M] {f g : ι → M} (hf : BddAbove (Set.range f)) (hg : BddAbove (Set.range g)) :
BddAbove (Set.range fun (i : ι) => f i + g i)
source
theorem BddBelow.range_mul {ι : Type u_1} {M : Type u_3} [Mul M] [Preorder M] [MulLeftMono M] [MulRightMono M] {f g : ι → M} (hf : BddBelow (Set.range f)) (hg : BddBelow (Set.range g)) :
BddBelow (Set.range fun (i : ι) => f i * g i)
source
theorem BddBelow.range_add {ι : Type u_1} {M : Type u_3} [Add M] [Preorder M] [AddLeftMono M] [AddRightMono M] {f g : ι → M} (hf : BddBelow (Set.range f)) (hg : BddBelow (Set.range g)) :
BddBelow (Set.range fun (i : ι) => f i + g i)
source
@[simp]
theorem bddAbove_inv {G : Type u_2} [Group G] [Preorder G] [MulLeftMono G] [MulRightMono G] {s : Set G} :
BddAbove s⁻¹ ↔ BddBelow s
source
@[simp]
theorem bddAbove_neg {G : Type u_2} [AddGroup G] [Preorder G] [AddLeftMono G] [AddRightMono G] {s : Set G} :
BddAbove (-s) ↔ BddBelow s
source
@[simp]
theorem bddBelow_inv {G : Type u_2} [Group G] [Preorder G] [MulLeftMono G] [MulRightMono G] {s : Set G} :
BddBelow s⁻¹ ↔ BddAbove s
source
@[simp]
theorem bddBelow_neg {G : Type u_2} [AddGroup G] [Preorder G] [AddLeftMono G] [AddRightMono G] {s : Set G} :
BddBelow (-s) ↔ BddAbove s
source
theorem BddAbove.inv {G : Type u_2} [Group G] [Preorder G] [MulLeftMono G] [MulRightMono G] {s : Set G} (h : BddAbove s) :
BddBelow s⁻¹
source
theorem BddAbove.neg {G : Type u_2} [AddGroup G] [Preorder G] [AddLeftMono G] [AddRightMono G] {s : Set G} (h : BddAbove s) :
BddBelow (-s)
source
theorem BddBelow.inv {G : Type u_2} [Group G] [Preorder G] [MulLeftMono G] [MulRightMono G] {s : Set G} (h : BddBelow s) :
BddAbove s⁻¹
source
theorem BddBelow.neg {G : Type u_2} [AddGroup G] [Preorder G] [AddLeftMono G] [AddRightMono G] {s : Set G} (h : BddBelow s) :
BddAbove (-s)
source
@[simp]
theorem isLUB_inv {G : Type u_2} [Group G] [Preorder G] [MulLeftMono G] [MulRightMono G] {s : Set G} {a : G} :
IsLUB s⁻¹ a ↔ IsGLB s a⁻¹
source
@[simp]
theorem isLUB_neg {G : Type u_2} [AddGroup G] [Preorder G] [AddLeftMono G] [AddRightMono G] {s : Set G} {a : G} :
IsLUB (-s) a ↔ IsGLB s (-a)
source
theorem isLUB_inv' {G : Type u_2} [Group G] [Preorder G] [MulLeftMono G] [MulRightMono G] {s : Set G} {a : G} :
IsLUB s⁻¹ a⁻¹ ↔ IsGLB s a
source
theorem isLUB_neg' {G : Type u_2} [AddGroup G] [Preorder G] [AddLeftMono G] [AddRightMono G] {s : Set G} {a : G} :
IsLUB (-s) (-a) ↔ IsGLB s a
source
theorem IsGLB.inv {G : Type u_2} [Group G] [Preorder G] [MulLeftMono G] [MulRightMono G] {s : Set G} {a : G} (h : IsGLB s a) :
IsLUB s⁻¹ a⁻¹
source
theorem IsGLB.neg {G : Type u_2} [AddGroup G] [Preorder G] [AddLeftMono G] [AddRightMono G] {s : Set G} {a : G} (h : IsGLB s a) :
IsLUB (-s) (-a)
source
@[simp]
theorem isGLB_inv {G : Type u_2} [Group G] [Preorder G] [MulLeftMono G] [MulRightMono G] {s : Set G} {a : G} :
IsGLB s⁻¹ a ↔ IsLUB s a⁻¹
source
@[simp]
theorem isGLB_neg {G : Type u_2} [AddGroup G] [Preorder G] [AddLeftMono G] [AddRightMono G] {s : Set G} {a : G} :
IsGLB (-s) a ↔ IsLUB s (-a)
source
theorem isGLB_inv' {G : Type u_2} [Group G] [Preorder G] [MulLeftMono G] [MulRightMono G] {s : Set G} {a : G} :
IsGLB s⁻¹ a⁻¹ ↔ IsLUB s a
source
theorem isGLB_neg' {G : Type u_2} [AddGroup G] [Preorder G] [AddLeftMono G] [AddRightMono G] {s : Set G} {a : G} :
IsGLB (-s) (-a) ↔ IsLUB s a
source
theorem IsLUB.inv {G : Type u_2} [Group G] [Preorder G] [MulLeftMono G] [MulRightMono G] {s : Set G} {a : G} (h : IsLUB s a) :
IsGLB s⁻¹ a⁻¹
source
theorem IsLUB.neg {G : Type u_2} [AddGroup G] [Preorder G] [AddLeftMono G] [AddRightMono G] {s : Set G} {a : G} (h : IsLUB s a) :
IsGLB (-s) (-a)
source
theorem BddBelow.range_inv {G : Type u_2} [Group G] [Preorder G] [MulLeftMono G] [MulRightMono G] {α : Type u_4} {f : α → G} (hf : BddBelow (Set.range f)) :
BddAbove (Set.range fun (x : α) => (f x)⁻¹)
source
theorem BddBelow.range_neg {G : Type u_2} [AddGroup G] [Preorder G] [AddLeftMono G] [AddRightMono G] {α : Type u_4} {f : α → G} (hf : BddBelow (Set.range f)) :
BddAbove (Set.range fun (x : α) => -f x)
source
theorem BddAbove.range_inv {G : Type u_2} [Group G] [Preorder G] [MulLeftMono G] [MulRightMono G] {α : Type u_4} {f : α → G} (hf : BddAbove (Set.range f)) :
BddBelow (Set.range fun (x : α) => (f x)⁻¹)
source
theorem BddAbove.range_neg {G : Type u_2} [AddGroup G] [Preorder G] [AddLeftMono G] [AddRightMono G] {α : Type u_4} {f : α → G} (hf : BddAbove (Set.range f)) :
BddBelow (Set.range fun (x : α) => -f x)