Finset intervals in an additive successor-predecessor order #
This file proves relations between the various finset intervals in an additive successor/predecessor order.
Notes #
Please keep in sync with:
Mathlib/Algebra/Order/Interval/Set/SuccPred.leanMathlib/Order/Interval/Finset/SuccPred.leanMathlib/Order/Interval/Set/SuccPred.lean
TODO #
Copy over insert lemmas from Mathlib/Order/Interval/Finset/Nat.lean.
Two-sided intervals #
theorem Finset.Ico_add_one_left_eq_Ioo {α : Type u_1} [LinearOrder α] [One α] [LocallyFiniteOrder α] [Add α] [SuccAddOrder α] (a b : α) :
theorem Finset.Icc_add_one_left_eq_Ioc_of_not_isMax {α : Type u_1} [LinearOrder α] [One α] [LocallyFiniteOrder α] [Add α] [SuccAddOrder α] {a : α} (ha : ¬IsMax a) (b : α) :
theorem Finset.Ico_add_one_right_eq_Icc_of_not_isMax {α : Type u_1} [LinearOrder α] [One α] [LocallyFiniteOrder α] [Add α] [SuccAddOrder α] {b : α} (hb : ¬IsMax b) (a : α) :
theorem Finset.Ioo_add_one_right_eq_Ioc_of_not_isMax {α : Type u_1} [LinearOrder α] [One α] [LocallyFiniteOrder α] [Add α] [SuccAddOrder α] {b : α} (hb : ¬IsMax b) (a : α) :
theorem Finset.Ico_add_one_add_one_eq_Ioc_of_not_isMax {α : Type u_1} [LinearOrder α] [One α] [LocallyFiniteOrder α] [Add α] [SuccAddOrder α] {b : α} (hb : ¬IsMax b) (a : α) :
Inserting into intervals #
theorem Finset.insert_Icc_add_one_left_eq_Icc {α : Type u_1} [LinearOrder α] [One α] [LocallyFiniteOrder α] [Add α] [SuccAddOrder α] {a b : α} (h : a ≤ b) :
theorem Finset.insert_Icc_right_eq_Icc_add_one {α : Type u_1} [LinearOrder α] [One α] [LocallyFiniteOrder α] [Add α] [SuccAddOrder α] {a b : α} (h : a ≤ b + 1) :
theorem Finset.insert_Ico_right_eq_Ico_add_one_of_not_isMax {α : Type u_1} [LinearOrder α] [One α] [LocallyFiniteOrder α] [Add α] [SuccAddOrder α] {a b : α} (h : a ≤ b) (hb : ¬IsMax b) :
theorem Finset.insert_Ico_add_one_left_eq_Ico {α : Type u_1} [LinearOrder α] [One α] [LocallyFiniteOrder α] [Add α] [SuccAddOrder α] {a b : α} (h : a < b) :
theorem Finset.insert_Ioc_right_eq_Ioc_add_one_of_not_isMax {α : Type u_1} [LinearOrder α] [One α] [LocallyFiniteOrder α] [Add α] [SuccAddOrder α] {a b : α} (h : a ≤ b) (hb : ¬IsMax b) :
theorem Finset.insert_Ioc_add_one_left_eq_Ioc {α : Type u_1} [LinearOrder α] [One α] [LocallyFiniteOrder α] [Add α] [SuccAddOrder α] {a b : α} (h : a < b) :
theorem Finset.Icc_add_one_left_eq_Ioc {α : Type u_1} [LinearOrder α] [One α] [LocallyFiniteOrder α] [Add α] [SuccAddOrder α] [NoMaxOrder α] (a b : α) :
theorem Finset.Ico_add_one_right_eq_Icc {α : Type u_1} [LinearOrder α] [One α] [LocallyFiniteOrder α] [Add α] [SuccAddOrder α] [NoMaxOrder α] (a b : α) :
theorem Finset.Ioo_add_one_right_eq_Ioc {α : Type u_1} [LinearOrder α] [One α] [LocallyFiniteOrder α] [Add α] [SuccAddOrder α] [NoMaxOrder α] (a b : α) :
theorem Finset.Ico_add_one_add_one_eq_Ioc {α : Type u_1} [LinearOrder α] [One α] [LocallyFiniteOrder α] [Add α] [SuccAddOrder α] [NoMaxOrder α] (a b : α) :
Inserting into intervals #
theorem Finset.insert_Ico_right_eq_Ico_add_one {α : Type u_1} [LinearOrder α] [One α] [LocallyFiniteOrder α] [Add α] [SuccAddOrder α] {a b : α} [NoMaxOrder α] (h : a ≤ b) :
theorem Finset.insert_Ioc_right_eq_Ioc_add_one {α : Type u_1} [LinearOrder α] [One α] [LocallyFiniteOrder α] [Add α] [SuccAddOrder α] {a b : α} [NoMaxOrder α] (h : a ≤ b) :
theorem Finset.Ioc_sub_one_right_eq_Ioo {α : Type u_1} [LinearOrder α] [One α] [LocallyFiniteOrder α] [Sub α] [PredSubOrder α] (a b : α) :
theorem Finset.Icc_sub_one_right_eq_Ico_of_not_isMin {α : Type u_1} [LinearOrder α] [One α] [LocallyFiniteOrder α] [Sub α] [PredSubOrder α] {b : α} (hb : ¬IsMin b) (a : α) :
theorem Finset.Ioc_sub_one_left_eq_Icc_of_not_isMin {α : Type u_1} [LinearOrder α] [One α] [LocallyFiniteOrder α] [Sub α] [PredSubOrder α] {a : α} (ha : ¬IsMin a) (b : α) :
theorem Finset.Ioo_sub_one_left_eq_Ico_of_not_isMin {α : Type u_1} [LinearOrder α] [One α] [LocallyFiniteOrder α] [Sub α] [PredSubOrder α] {a : α} (ha : ¬IsMin a) (b : α) :
@[deprecated Finset.Ioo_sub_one_left_eq_Ico_of_not_isMin (since := "2026-09-03")]
theorem Finset.Ioo_sub_one_left_eq_Ioc_of_not_isMin {α : Type u_1} [LinearOrder α] [One α] [LocallyFiniteOrder α] [Sub α] [PredSubOrder α] {a : α} (ha : ¬IsMin a) (b : α) :
theorem Finset.Ioc_sub_one_sub_one_eq_Ico_of_not_isMin {α : Type u_1} [LinearOrder α] [One α] [LocallyFiniteOrder α] [Sub α] [PredSubOrder α] {a : α} (ha : ¬IsMin a) (b : α) :
Inserting into intervals #
theorem Finset.insert_Icc_sub_one_right_eq_Icc {α : Type u_1} [LinearOrder α] [One α] [LocallyFiniteOrder α] [Sub α] [PredSubOrder α] {a b : α} (h : a ≤ b) :
theorem Finset.insert_Icc_left_eq_Icc_sub_one {α : Type u_1} [LinearOrder α] [One α] [LocallyFiniteOrder α] [Sub α] [PredSubOrder α] {a b : α} (h : a - 1 ≤ b) :
theorem Finset.insert_Ioc_left_eq_Ioc_sub_one_of_not_isMin {α : Type u_1} [LinearOrder α] [One α] [LocallyFiniteOrder α] [Sub α] [PredSubOrder α] {a b : α} (h : a ≤ b) (ha : ¬IsMin a) :
theorem Finset.insert_Ioc_sub_one_right_eq_Ioc {α : Type u_1} [LinearOrder α] [One α] [LocallyFiniteOrder α] [Sub α] [PredSubOrder α] {a b : α} (h : a < b) :
theorem Finset.insert_Ico_left_eq_Ico_sub_one_of_not_isMin {α : Type u_1} [LinearOrder α] [One α] [LocallyFiniteOrder α] [Sub α] [PredSubOrder α] {a b : α} (h : a ≤ b) (ha : ¬IsMin a) :
theorem Finset.insert_Ico_sub_one_right_eq_Ico {α : Type u_1} [LinearOrder α] [One α] [LocallyFiniteOrder α] [Sub α] [PredSubOrder α] {a b : α} (h : a < b) :
theorem Finset.Icc_sub_one_right_eq_Ico {α : Type u_1} [LinearOrder α] [One α] [LocallyFiniteOrder α] [Sub α] [PredSubOrder α] [NoMinOrder α] (a b : α) :
theorem Finset.Ioc_sub_one_left_eq_Icc {α : Type u_1} [LinearOrder α] [One α] [LocallyFiniteOrder α] [Sub α] [PredSubOrder α] [NoMinOrder α] (a b : α) :
theorem Finset.Ioo_sub_one_left_eq_Ico {α : Type u_1} [LinearOrder α] [One α] [LocallyFiniteOrder α] [Sub α] [PredSubOrder α] [NoMinOrder α] (a b : α) :
@[deprecated Finset.Ioo_sub_one_left_eq_Ico (since := "2026-09-03")]
theorem Finset.Ioo_sub_one_left_eq_Ioc {α : Type u_1} [LinearOrder α] [One α] [LocallyFiniteOrder α] [Sub α] [PredSubOrder α] [NoMinOrder α] (a b : α) :
Alias of Finset.Ioo_sub_one_left_eq_Ico.
theorem Finset.Ioc_sub_one_sub_one_eq_Ico {α : Type u_1} [LinearOrder α] [One α] [LocallyFiniteOrder α] [Sub α] [PredSubOrder α] [NoMinOrder α] (a b : α) :
Inserting into intervals #
theorem Finset.insert_Ioc_left_eq_Ioc_sub_one {α : Type u_1} [LinearOrder α] [One α] [LocallyFiniteOrder α] [Sub α] [PredSubOrder α] {a b : α} [NoMinOrder α] (h : a ≤ b) :
theorem Finset.insert_Ico_left_eq_Ico_sub_one {α : Type u_1} [LinearOrder α] [One α] [LocallyFiniteOrder α] [Sub α] [PredSubOrder α] {a b : α} [NoMinOrder α] (h : a ≤ b) :
theorem Finset.Icc_add_one_sub_one_eq_Ioo {α : Type u_1} [LinearOrder α] [One α] [LocallyFiniteOrder α] [Add α] [Sub α] [SuccAddOrder α] [PredSubOrder α] [Nontrivial α] (a b : α) :
One-sided interval towards ⊥ #
theorem Finset.Iio_add_one_eq_Iic_of_not_isMax {α : Type u_1} [LinearOrder α] [One α] [LocallyFiniteOrderBot α] [Add α] [SuccAddOrder α] {b : α} (hb : ¬IsMax b) :
theorem Finset.Iio_add_one_eq_Iic {α : Type u_1} [LinearOrder α] [One α] [LocallyFiniteOrderBot α] [Add α] [SuccAddOrder α] [NoMaxOrder α] (b : α) :
theorem Finset.Iic_sub_one_eq_Iio_of_not_isMin {α : Type u_1} [LinearOrder α] [One α] [LocallyFiniteOrderBot α] [Sub α] [PredSubOrder α] {b : α} (hb : ¬IsMin b) :
theorem Finset.Iic_sub_one_eq_Iio {α : Type u_1} [LinearOrder α] [One α] [LocallyFiniteOrderBot α] [Sub α] [PredSubOrder α] [NoMinOrder α] (b : α) :
One-sided interval towards ⊤ #
theorem Finset.Ici_add_one_eq_Ioi_of_not_isMax {α : Type u_1} [LinearOrder α] [One α] [LocallyFiniteOrderTop α] [Add α] [SuccAddOrder α] {a : α} (ha : ¬IsMax a) :
theorem Finset.Ici_add_one_eq_Ioi {α : Type u_1} [LinearOrder α] [One α] [LocallyFiniteOrderTop α] [Add α] [SuccAddOrder α] [NoMaxOrder α] (a : α) :
theorem Finset.Ioi_sub_one_eq_Ici_of_not_isMin {α : Type u_1} [LinearOrder α] [One α] [LocallyFiniteOrderTop α] [Sub α] [PredSubOrder α] {a : α} (ha : ¬IsMin a) :
theorem Finset.Ioi_sub_one_eq_Ici {α : Type u_1} [LinearOrder α] [One α] [LocallyFiniteOrderTop α] [Sub α] [PredSubOrder α] [NoMinOrder α] (a : α) :