Skip to content

Commit e165098

Browse files
feat: add Int.le_add_one_iff (#9892)
Co-authored-by: Yury G. Kudryashov <urkud@urkud.name>
1 parent 4529fc1 commit e165098

File tree

2 files changed

+7
-13
lines changed

2 files changed

+7
-13
lines changed

Mathlib/Data/Int/Order/Basic.lean

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,9 @@ theorem pred_self_lt (a : ℤ) : pred a < a :=
136136
#align int.lt_add_one_iff Int.lt_add_one_iff
137137
#align int.le_add_one Int.le_add_one
138138

139+
theorem le_add_one_iff {m n : ℤ} : m ≤ n + 1 ↔ m ≤ n ∨ m = n + 1 := by
140+
rw [le_iff_lt_or_eq, lt_add_one_iff]
141+
139142
theorem sub_one_lt_iff {a b : ℤ} : a - 1 < b ↔ a ≤ b :=
140143
sub_lt_iff_lt_add.trans lt_add_one_iff
141144
#align int.sub_one_lt_iff Int.sub_one_lt_iff
@@ -145,13 +148,8 @@ theorem le_sub_one_iff {a b : ℤ} : a ≤ b - 1 ↔ a < b :=
145148
#align int.le_sub_one_iff Int.le_sub_one_iff
146149

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

157155
theorem abs_le_one_iff {a : ℤ} : |a| ≤ 1 ↔ a = 0 ∨ a = 1 ∨ a = -1 := by

Mathlib/Data/Nat/Order/Basic.lean

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -181,12 +181,8 @@ theorem add_eq_three_iff :
181181
← add_assoc, succ_inj', add_eq_two_iff]
182182
#align nat.add_eq_three_iff Nat.add_eq_three_iff
183183

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

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

0 commit comments

Comments
 (0)