Documentation

Mathlib.Order.Interval.Set.SuccPred

Set intervals in a successor-predecessor order #

This file proves relations between the various set intervals in a successor/predecessor order.

Notes #

Please keep in sync with:

TODO #

Copy over insert lemmas from Mathlib.Order.Interval.Finset.Nat.

Two-sided intervals #

Orders possibly with maximal elements #

Equalities of intervals #
theorem Set.Ico_succ_left_eq_Ioo {α : Type u_1} [LinearOrder α] [SuccOrder α] (a b : α) :
Ico (Order.succ a) b = Ioo a b
theorem Set.Icc_succ_left_eq_Ioc_of_not_isMax {α : Type u_1} [LinearOrder α] [SuccOrder α] {a : α} (ha : ¬IsMax a) (b : α) :
Icc (Order.succ a) b = Ioc a b
theorem Set.Ico_succ_right_eq_Icc_of_not_isMax {α : Type u_1} [LinearOrder α] [SuccOrder α] {b : α} (hb : ¬IsMax b) (a : α) :
Ico a (Order.succ b) = Icc a b
theorem Set.Ioo_succ_right_eq_Ioc_of_not_isMax {α : Type u_1} [LinearOrder α] [SuccOrder α] {b : α} (hb : ¬IsMax b) (a : α) :
Ioo a (Order.succ b) = Ioc a b
theorem Set.Ico_succ_succ_eq_Ioc_of_not_isMax {α : Type u_1} [LinearOrder α] [SuccOrder α] {b : α} (hb : ¬IsMax b) (a : α) :
Inserting into intervals #
theorem Set.insert_Icc_succ_left_eq_Icc {α : Type u_1} [LinearOrder α] [SuccOrder α] {a b : α} (h : a b) :
insert a (Icc (Order.succ a) b) = Icc a b
theorem Set.insert_Icc_right_eq_Icc_succ {α : Type u_1} [LinearOrder α] [SuccOrder α] {a b : α} (h : a Order.succ b) :
@[deprecated Set.insert_Icc_right_eq_Icc_succ (since := "2025-04-19")]
theorem Set.insert_Icc_eq_Icc_succ_right {α : Type u_1} [LinearOrder α] [SuccOrder α] {a b : α} (h : a Order.succ b) :

Alias of Set.insert_Icc_right_eq_Icc_succ.

theorem Set.insert_Ico_right_eq_Ico_succ_of_not_isMax {α : Type u_1} [LinearOrder α] [SuccOrder α] {a b : α} (h : a b) (hb : ¬IsMax b) :
insert b (Ico a b) = Ico a (Order.succ b)
@[deprecated Set.insert_Ico_right_eq_Ico_succ_of_not_isMax (since := "2025-04-14")]
theorem Set.insert_Ico_right_eq_Ico_succ_right_of_not_isMax {α : Type u_1} [LinearOrder α] [SuccOrder α] {a b : α} (h : a b) (hb : ¬IsMax b) :
insert b (Ico a b) = Ico a (Order.succ b)

Alias of Set.insert_Ico_right_eq_Ico_succ_of_not_isMax.

theorem Set.insert_Ico_succ_left_eq_Ico {α : Type u_1} [LinearOrder α] [SuccOrder α] {a b : α} (h : a < b) :
insert a (Ico (Order.succ a) b) = Ico a b
theorem Set.insert_Ioc_right_eq_Ioc_succ_of_not_isMax {α : Type u_1} [LinearOrder α] [SuccOrder α] {a b : α} (h : a b) (hb : ¬IsMax b) :
theorem Set.insert_Ioc_succ_left_eq_Ioc {α : Type u_1} [LinearOrder α] [SuccOrder α] {a b : α} (h : a < b) :

Orders with no maximal elements #

Equalities of intervals #
theorem Set.Icc_succ_left_eq_Ioc {α : Type u_1} [LinearOrder α] [SuccOrder α] [NoMaxOrder α] (a b : α) :
Icc (Order.succ a) b = Ioc a b
theorem Set.Ico_succ_right_eq_Icc {α : Type u_1} [LinearOrder α] [SuccOrder α] [NoMaxOrder α] (a b : α) :
Ico a (Order.succ b) = Icc a b
theorem Set.Ioo_succ_right_eq_Ioc {α : Type u_1} [LinearOrder α] [SuccOrder α] [NoMaxOrder α] (a b : α) :
Ioo a (Order.succ b) = Ioc a b
theorem Set.Ico_succ_succ_eq_Ioc {α : Type u_1} [LinearOrder α] [SuccOrder α] [NoMaxOrder α] (a b : α) :
Inserting into intervals #
theorem Set.insert_Ico_right_eq_Ico_succ {α : Type u_1} [LinearOrder α] [SuccOrder α] {a b : α} [NoMaxOrder α] (h : a b) :
insert b (Ico a b) = Ico a (Order.succ b)
@[deprecated Set.insert_Ico_right_eq_Ico_succ (since := "2025-04-14")]
theorem Set.insert_Ico_right_eq_Ico_succ_right {α : Type u_1} [LinearOrder α] [SuccOrder α] {a b : α} [NoMaxOrder α] (h : a b) :
insert b (Ico a b) = Ico a (Order.succ b)

Alias of Set.insert_Ico_right_eq_Ico_succ.

theorem Set.insert_Ioc_right_eq_Ioc_succ {α : Type u_1} [LinearOrder α] [SuccOrder α] {a b : α} [NoMaxOrder α] (h : a b) :

Orders possibly with minimal elements #

Equalities of intervals #
theorem Set.Ioc_pred_right_eq_Ioo {α : Type u_1} [LinearOrder α] [PredOrder α] (a b : α) :
Ioc a (Order.pred b) = Ioo a b
theorem Set.Icc_pred_right_eq_Ico_of_not_isMin {α : Type u_1} [LinearOrder α] [PredOrder α] {b : α} (hb : ¬IsMin b) (a : α) :
Icc a (Order.pred b) = Ico a b
theorem Set.Ioc_pred_left_eq_Icc_of_not_isMin {α : Type u_1} [LinearOrder α] [PredOrder α] {a : α} (ha : ¬IsMin a) (b : α) :
Ioc (Order.pred a) b = Icc a b
theorem Set.Ioo_pred_left_eq_Ioc_of_not_isMin {α : Type u_1} [LinearOrder α] [PredOrder α] {a : α} (ha : ¬IsMin a) (b : α) :
Ioo (Order.pred a) b = Ico a b
theorem Set.Ioc_pred_pred_eq_Ico_of_not_isMin {α : Type u_1} [LinearOrder α] [PredOrder α] {a : α} (ha : ¬IsMin a) (b : α) :
Inserting into intervals #
theorem Set.insert_Icc_pred_right_eq_Icc {α : Type u_1} [LinearOrder α] [PredOrder α] {a b : α} (h : a b) :
insert b (Icc a (Order.pred b)) = Icc a b
theorem Set.insert_Icc_left_eq_Icc_pred {α : Type u_1} [LinearOrder α] [PredOrder α] {a b : α} (h : Order.pred a b) :
@[deprecated Set.insert_Icc_left_eq_Icc_pred (since := "2025-04-19")]
theorem Set.insert_Icc_eq_Icc_pred_left {α : Type u_1} [LinearOrder α] [PredOrder α] {a b : α} (h : Order.pred a b) :

Alias of Set.insert_Icc_left_eq_Icc_pred.

theorem Set.insert_Ioc_left_eq_Ioc_pred_of_not_isMin {α : Type u_1} [LinearOrder α] [PredOrder α] {a b : α} (h : a b) (ha : ¬IsMin a) :
insert a (Ioc a b) = Ioc (Order.pred a) b
@[deprecated Set.insert_Ioc_left_eq_Ioc_pred_of_not_isMin (since := "2025-04-14")]
theorem Set.insert_Ioc_left_eq_Ioc_pred_left_of_not_isMin {α : Type u_1} [LinearOrder α] [PredOrder α] {a b : α} (h : a b) (ha : ¬IsMin a) :
insert a (Ioc a b) = Ioc (Order.pred a) b

Alias of Set.insert_Ioc_left_eq_Ioc_pred_of_not_isMin.

theorem Set.insert_Ioc_pred_right_eq_Ioc {α : Type u_1} [LinearOrder α] [PredOrder α] {a b : α} (h : a < b) :
insert b (Ioc a (Order.pred b)) = Ioc a b
theorem Set.insert_Ico_left_eq_Ico_pred_of_not_isMin {α : Type u_1} [LinearOrder α] [PredOrder α] {a b : α} (h : a b) (ha : ¬IsMin a) :
theorem Set.insert_Ico_pred_right_eq_Ico {α : Type u_1} [LinearOrder α] [PredOrder α] {a b : α} (h : a < b) :

Orders with no minimal elements #

Equalities of intervals #
theorem Set.Icc_pred_right_eq_Ico {α : Type u_1} [LinearOrder α] [PredOrder α] [NoMinOrder α] (a b : α) :
Icc a (Order.pred b) = Ico a b
theorem Set.Ioc_pred_left_eq_Icc {α : Type u_1} [LinearOrder α] [PredOrder α] [NoMinOrder α] (a b : α) :
Ioc (Order.pred a) b = Icc a b
theorem Set.Ioo_pred_left_eq_Ioc {α : Type u_1} [LinearOrder α] [PredOrder α] [NoMinOrder α] (a b : α) :
Ioo (Order.pred a) b = Ico a b
theorem Set.Ioc_pred_pred_eq_Ico {α : Type u_1} [LinearOrder α] [PredOrder α] [NoMinOrder α] (a b : α) :
Inserting into intervals #
theorem Set.insert_Ioc_left_eq_Ioc_pred {α : Type u_1} [LinearOrder α] [PredOrder α] {a b : α} [NoMinOrder α] (h : a b) :
insert a (Ioc a b) = Ioc (Order.pred a) b
@[deprecated Set.insert_Ioc_left_eq_Ioc_pred (since := "2025-04-14")]
theorem Set.insert_Ioc_left_eq_Ioc_pred_left {α : Type u_1} [LinearOrder α] [PredOrder α] {a b : α} [NoMinOrder α] (h : a b) :
insert a (Ioc a b) = Ioc (Order.pred a) b

Alias of Set.insert_Ioc_left_eq_Ioc_pred.

theorem Set.insert_Ico_left_eq_Ico_pred {α : Type u_1} [LinearOrder α] [PredOrder α] {a b : α} [NoMinOrder α] (h : a b) :
theorem Set.Icc_succ_pred_eq_Ioo {α : Type u_1} [LinearOrder α] [SuccOrder α] [PredOrder α] [Nontrivial α] (a b : α) :

One-sided interval towards #

theorem Set.Iio_succ_eq_Iic_of_not_isMax {α : Type u_1} [LinearOrder α] [SuccOrder α] {b : α} (hb : ¬IsMax b) :
theorem Set.Iio_succ_eq_Iic {α : Type u_1} [LinearOrder α] [SuccOrder α] [NoMaxOrder α] (b : α) :
theorem Set.Iic_pred_eq_Iio_of_not_isMin {α : Type u_1} [LinearOrder α] [PredOrder α] {b : α} (hb : ¬IsMin b) :
theorem Set.Iic_pred_eq_Iio {α : Type u_1} [LinearOrder α] [PredOrder α] [NoMinOrder α] (b : α) :

One-sided interval towards #

theorem Set.Ici_succ_eq_Ioi_of_not_isMax {α : Type u_1} [LinearOrder α] [SuccOrder α] {a : α} (ha : ¬IsMax a) :
theorem Set.Ici_succ_eq_Ioi {α : Type u_1} [LinearOrder α] [SuccOrder α] [NoMaxOrder α] (a : α) :
theorem Set.Ioi_pred_eq_Ici_of_not_isMin {α : Type u_1} [LinearOrder α] [PredOrder α] {a : α} (ha : ¬IsMin a) :
theorem Set.Ioi_pred_eq_Ici {α : Type u_1} [LinearOrder α] [PredOrder α] [NoMinOrder α] (a : α) :