Skip to content

Commit

Permalink
feat: add Int.le_add_one_iff (#9892)
Browse files Browse the repository at this point in the history
Co-authored-by: Yury G. Kudryashov <urkud@urkud.name>
  • Loading branch information
Ruben-VandeVelde and urkud committed Jan 26, 2024
1 parent 4529fc1 commit e165098
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 13 deletions.
12 changes: 5 additions & 7 deletions Mathlib/Data/Int/Order/Basic.lean
Expand Up @@ -136,6 +136,9 @@ theorem pred_self_lt (a : ℤ) : pred a < a :=
#align int.lt_add_one_iff Int.lt_add_one_iff
#align int.le_add_one Int.le_add_one

theorem le_add_one_iff {m n : ℤ} : m ≤ n + 1 ↔ m ≤ n ∨ m = n + 1 := by
rw [le_iff_lt_or_eq, lt_add_one_iff]

theorem sub_one_lt_iff {a b : ℤ} : a - 1 < b ↔ a ≤ b :=
sub_lt_iff_lt_add.trans lt_add_one_iff
#align int.sub_one_lt_iff Int.sub_one_lt_iff
Expand All @@ -145,13 +148,8 @@ theorem le_sub_one_iff {a b : ℤ} : a ≤ b - 1 ↔ a < b :=
#align int.le_sub_one_iff Int.le_sub_one_iff

@[simp]
theorem abs_lt_one_iff {a : ℤ} : |a| < 1 ↔ a = 0 :=
fun a0 => by
let ⟨hn, hp⟩ := abs_lt.mp a0
rw [← zero_add 1, lt_add_one_iff] at hp
-- Defeq abuse: `hn : -1 < a` but should be `hn : 0 λ a`.
exact hp.antisymm hn,
fun a0 => (abs_eq_zero.mpr a0).le.trans_lt zero_lt_one⟩
theorem abs_lt_one_iff {a : ℤ} : |a| < 1 ↔ a = 0 := by
rw [← zero_add 1, lt_add_one_iff, abs_nonpos_iff]
#align int.abs_lt_one_iff Int.abs_lt_one_iff

theorem abs_le_one_iff {a : ℤ} : |a| ≤ 1 ↔ a = 0 ∨ a = 1 ∨ a = -1 := by
Expand Down
8 changes: 2 additions & 6 deletions Mathlib/Data/Nat/Order/Basic.lean
Expand Up @@ -181,12 +181,8 @@ theorem add_eq_three_iff :
← add_assoc, succ_inj', add_eq_two_iff]
#align nat.add_eq_three_iff Nat.add_eq_three_iff

theorem le_add_one_iff : m ≤ n + 1 ↔ m ≤ n ∨ m = n + 1 :=
fun h =>
match Nat.eq_or_lt_of_le h with
| Or.inl h => Or.inr h
| Or.inr h => Or.inl <| Nat.le_of_succ_le_succ h,
Or.rec (fun h => le_trans h <| Nat.le_add_right _ _) le_of_eq⟩
theorem le_add_one_iff : m ≤ n + 1 ↔ m ≤ n ∨ m = n + 1 := by
rw [le_iff_lt_or_eq, lt_add_one_iff]
#align nat.le_add_one_iff Nat.le_add_one_iff

theorem le_and_le_add_one_iff : n ≤ m ∧ m ≤ n + 1 ↔ m = n ∨ m = n + 1 := by
Expand Down

0 comments on commit e165098

Please sign in to comment.