Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Commit e286452

Browse files
kim-emChrisHughes24
authored andcommitted
feat(data/nat/basic): some lemmas (#792)
* feat(data/nat/basic): some lemmas * fixing namespace, moving lemma
1 parent 61e02dd commit e286452

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

src/data/nat/basic.lean

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,16 @@ by rw [← sub_one, nat.sub_sub, one_add]; refl
4040

4141
lemma pred_eq_sub_one (n : ℕ) : pred n = n - 1 := rfl
4242

43+
lemma one_le_of_lt {n m : ℕ} (h : n < m) : 1 ≤ m :=
44+
lt_of_le_of_lt (nat.zero_le _) h
45+
46+
lemma le_pred_of_lt {n m : ℕ} (h : m < n) : m ≤ n - 1 :=
47+
nat.sub_le_sub_right h 1
48+
49+
/-- This ensures that `simp` succeeds on `pred (n + 1) = n`. -/
50+
@[simp] lemma pred_one_add (n : ℕ) : pred (1 + n) = n :=
51+
by rw [add_comm, add_one, pred_succ]
52+
4353
theorem pos_iff_ne_zero : n > 0 ↔ n ≠ 0 :=
4454
⟨ne_of_gt, nat.pos_of_ne_zero⟩
4555

@@ -75,6 +85,9 @@ by rw [add_comm, nat.sub_add_cancel h]
7585
protected theorem sub_eq_of_eq_add (h : k = m + n) : k - m = n :=
7686
begin rw [h, nat.add_sub_cancel_left] end
7787

88+
lemma sub_sub_sub_cancel_right {a b c : ℕ} (h₂ : c ≤ b) : (a - c) - (b - c) = a - b :=
89+
by rw [nat.sub_sub, ←nat.add_sub_assoc h₂, nat.add_sub_cancel_left]
90+
7891
theorem sub_min (n m : ℕ) : n - min n m = n - m :=
7992
nat.sub_eq_of_eq_add $ by rw [add_comm, sub_add_min]
8093

0 commit comments

Comments
 (0)