order.bounded

# Bounded and unbounded sets #

THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.

We prove miscellaneous lemmas about bounded and unbounded sets. Many of these are just variations on the same ideas, or similar results with a few minor differences. The file is divided into these different general ideas.

### Subsets of bounded and unbounded sets #

theorem set.bounded.mono {α : Type u_1} {r : α α Prop} {s t : set α} (hst : s t) (hs : t) :
s
theorem set.unbounded.mono {α : Type u_1} {r : α α Prop} {s t : set α} (hst : s t) (hs : s) :

### Alternate characterizations of unboundedness on orders #

theorem set.unbounded_le_of_forall_exists_lt {α : Type u_1} {s : set α} [preorder α] (h : (a : α), (b : α) (H : b s), a < b) :
theorem set.unbounded_le_iff {α : Type u_1} {s : set α} [linear_order α] :
(a : α), (b : α) (H : b s), a < b
theorem set.unbounded_lt_of_forall_exists_le {α : Type u_1} {s : set α} [preorder α] (h : (a : α), (b : α) (H : b s), a b) :
theorem set.unbounded_lt_iff {α : Type u_1} {s : set α} [linear_order α] :
(a : α), (b : α) (H : b s), a b
theorem set.unbounded_ge_of_forall_exists_gt {α : Type u_1} {s : set α} [preorder α] (h : (a : α), (b : α) (H : b s), b < a) :
theorem set.unbounded_ge_iff {α : Type u_1} {s : set α} [linear_order α] :
(a : α), (b : α) (H : b s), b < a
theorem set.unbounded_gt_of_forall_exists_ge {α : Type u_1} {s : set α} [preorder α] (h : (a : α), (b : α) (H : b s), b a) :
theorem set.unbounded_gt_iff {α : Type u_1} {s : set α} [linear_order α] :
(a : α), (b : α) (H : b s), b a

### Relation between boundedness by strict and nonstrict orders. #

#### Less and less or equal #

theorem set.bounded.rel_mono {α : Type u_1} {r : α α Prop} {s : set α} {r' : α α Prop} (h : s) (hrr' : r r') :
s
theorem set.bounded_le_of_bounded_lt {α : Type u_1} {s : set α} [preorder α] (h : s) :
theorem set.unbounded.rel_mono {α : Type u_1} {r : α α Prop} {s : set α} {r' : α α Prop} (hr : r' r) (h : s) :
s
theorem set.unbounded_lt_of_unbounded_le {α : Type u_1} {s : set α} [preorder α] (h : s) :
theorem set.bounded_le_iff_bounded_lt {α : Type u_1} {s : set α} [preorder α] [no_max_order α] :
theorem set.unbounded_lt_iff_unbounded_le {α : Type u_1} {s : set α} [preorder α] [no_max_order α] :

#### Greater and greater or equal #

theorem set.bounded_ge_of_bounded_gt {α : Type u_1} {s : set α} [preorder α] (h : s) :
theorem set.unbounded_gt_of_unbounded_ge {α : Type u_1} {s : set α} [preorder α] (h : s) :
theorem set.bounded_ge_iff_bounded_gt {α : Type u_1} {s : set α} [preorder α] [no_min_order α] :
theorem set.unbounded_gt_iff_unbounded_ge {α : Type u_1} {s : set α} [preorder α] [no_min_order α] :

### The universal set #

theorem set.unbounded_le_univ {α : Type u_1} [has_le α] [no_top_order α] :
theorem set.unbounded_lt_univ {α : Type u_1} [preorder α] [no_top_order α] :
theorem set.unbounded_ge_univ {α : Type u_1} [has_le α] [no_bot_order α] :
theorem set.unbounded_gt_univ {α : Type u_1} [preorder α] [no_bot_order α] :

### Bounded and unbounded intervals #

theorem set.bounded_self {α : Type u_1} {r : α α Prop} (a : α) :
{b : α | r b a}

#### Half-open bounded intervals #

theorem set.bounded_lt_Iio {α : Type u_1} [preorder α] (a : α) :
theorem set.bounded_le_Iio {α : Type u_1} [preorder α] (a : α) :
theorem set.bounded_le_Iic {α : Type u_1} [preorder α] (a : α) :
theorem set.bounded_lt_Iic {α : Type u_1} [preorder α] [no_max_order α] (a : α) :
theorem set.bounded_gt_Ioi {α : Type u_1} [preorder α] (a : α) :
(set.Ioi a)
theorem set.bounded_ge_Ioi {α : Type u_1} [preorder α] (a : α) :
(set.Ioi a)
theorem set.bounded_ge_Ici {α : Type u_1} [preorder α] (a : α) :
(set.Ici a)
theorem set.bounded_gt_Ici {α : Type u_1} [preorder α] [no_min_order α] (a : α) :
(set.Ici a)

#### Other bounded intervals #

theorem set.bounded_lt_Ioo {α : Type u_1} [preorder α] (a b : α) :
(set.Ioo a b)
theorem set.bounded_lt_Ico {α : Type u_1} [preorder α] (a b : α) :
(set.Ico a b)
theorem set.bounded_lt_Ioc {α : Type u_1} [preorder α] [no_max_order α] (a b : α) :
(set.Ioc a b)
theorem set.bounded_lt_Icc {α : Type u_1} [preorder α] [no_max_order α] (a b : α) :
(set.Icc a b)
theorem set.bounded_le_Ioo {α : Type u_1} [preorder α] (a b : α) :
(set.Ioo a b)
theorem set.bounded_le_Ico {α : Type u_1} [preorder α] (a b : α) :
(set.Ico a b)
theorem set.bounded_le_Ioc {α : Type u_1} [preorder α] (a b : α) :
(set.Ioc a b)
theorem set.bounded_le_Icc {α : Type u_1} [preorder α] (a b : α) :
(set.Icc a b)
theorem set.bounded_gt_Ioo {α : Type u_1} [preorder α] (a b : α) :
(set.Ioo a b)
theorem set.bounded_gt_Ioc {α : Type u_1} [preorder α] (a b : α) :
(set.Ioc a b)
theorem set.bounded_gt_Ico {α : Type u_1} [preorder α] [no_min_order α] (a b : α) :
(set.Ico a b)
theorem set.bounded_gt_Icc {α : Type u_1} [preorder α] [no_min_order α] (a b : α) :
(set.Icc a b)
theorem set.bounded_ge_Ioo {α : Type u_1} [preorder α] (a b : α) :
(set.Ioo a b)
theorem set.bounded_ge_Ioc {α : Type u_1} [preorder α] (a b : α) :
(set.Ioc a b)
theorem set.bounded_ge_Ico {α : Type u_1} [preorder α] (a b : α) :
(set.Ico a b)
theorem set.bounded_ge_Icc {α : Type u_1} [preorder α] (a b : α) :
(set.Icc a b)

#### Unbounded intervals #

theorem set.unbounded_le_Ioi {α : Type u_1} [no_max_order α] (a : α) :
theorem set.unbounded_le_Ici {α : Type u_1} [no_max_order α] (a : α) :
theorem set.unbounded_lt_Ioi {α : Type u_1} [no_max_order α] (a : α) :
theorem set.unbounded_lt_Ici {α : Type u_1} (a : α) :

### Bounded initial segments #

theorem set.bounded_inter_not {α : Type u_1} {r : α α Prop} {s : set α} (H : (a b : α), (m : α), (c : α), r c a r c b r c m) (a : α) :
(s {b : α | ¬r b a}) s
theorem set.unbounded_inter_not {α : Type u_1} {r : α α Prop} {s : set α} (H : (a b : α), (m : α), (c : α), r c a r c b r c m) (a : α) :
(s {b : α | ¬r b a})

#### Less or equal #

theorem set.bounded_le_inter_not_le {α : Type u_1} {s : set α} (a : α) :
(s {b : α | ¬b a})
theorem set.unbounded_le_inter_not_le {α : Type u_1} {s : set α} (a : α) :
(s {b : α | ¬b a})
theorem set.bounded_le_inter_lt {α : Type u_1} {s : set α} [linear_order α] (a : α) :
(s {b : α | a < b})
theorem set.unbounded_le_inter_lt {α : Type u_1} {s : set α} [linear_order α] (a : α) :
(s {b : α | a < b})
theorem set.bounded_le_inter_le {α : Type u_1} {s : set α} [linear_order α] (a : α) :
(s {b : α | a b})
theorem set.unbounded_le_inter_le {α : Type u_1} {s : set α} [linear_order α] (a : α) :
(s {b : α | a b})

#### Less than #

theorem set.bounded_lt_inter_not_lt {α : Type u_1} {s : set α} (a : α) :
(s {b : α | ¬b < a})
theorem set.unbounded_lt_inter_not_lt {α : Type u_1} {s : set α} (a : α) :
(s {b : α | ¬b < a})
theorem set.bounded_lt_inter_le {α : Type u_1} {s : set α} [linear_order α] (a : α) :
(s {b : α | a b})
theorem set.unbounded_lt_inter_le {α : Type u_1} {s : set α} [linear_order α] (a : α) :
(s {b : α | a b})
theorem set.bounded_lt_inter_lt {α : Type u_1} {s : set α} [linear_order α] [no_max_order α] (a : α) :
(s {b : α | a < b})
theorem set.unbounded_lt_inter_lt {α : Type u_1} {s : set α} [linear_order α] [no_max_order α] (a : α) :
(s {b : α | a < b})

#### Greater or equal #

theorem set.bounded_ge_inter_not_ge {α : Type u_1} {s : set α} (a : α) :
(s {b : α | ¬a b})
theorem set.unbounded_ge_inter_not_ge {α : Type u_1} {s : set α} (a : α) :
(s {b : α | ¬a b})
theorem set.bounded_ge_inter_gt {α : Type u_1} {s : set α} [linear_order α] (a : α) :
(s {b : α | b < a})
theorem set.unbounded_ge_inter_gt {α : Type u_1} {s : set α} [linear_order α] (a : α) :
(s {b : α | b < a})
theorem set.bounded_ge_inter_ge {α : Type u_1} {s : set α} [linear_order α] (a : α) :
(s {b : α | b a})
theorem set.unbounded_ge_iff_unbounded_inter_ge {α : Type u_1} {s : set α} [linear_order α] (a : α) :
(s {b : α | b a})

#### Greater than #

theorem set.bounded_gt_inter_not_gt {α : Type u_1} {s : set α} (a : α) :
(s {b : α | ¬a < b})
theorem set.unbounded_gt_inter_not_gt {α : Type u_1} {s : set α} (a : α) :
(s {b : α | ¬a < b})
theorem set.bounded_gt_inter_ge {α : Type u_1} {s : set α} [linear_order α] (a : α) :
(s {b : α | b a})
theorem set.unbounded_inter_ge {α : Type u_1} {s : set α} [linear_order α] (a : α) :
(s {b : α | b a})
theorem set.bounded_gt_inter_gt {α : Type u_1} {s : set α} [linear_order α] [no_min_order α] (a : α) :
(s {b : α | b < a})
theorem set.unbounded_gt_inter_gt {α : Type u_1} {s : set α} [linear_order α] [no_min_order α] (a : α) :
(s {b : α | b < a})