@@ -60,15 +60,6 @@ lemma pred_lt_pred : ∀ {n m : ℕ}, n ≠ 0 → n < m → pred n < pred m
60
60
protected lemma add_left_cancel_iff {n m k : ℕ} : n + m = n + k ↔ m = k :=
61
61
⟨Nat.add_left_cancel, fun | rfl => rfl⟩
62
62
63
- protected lemma le_of_add_le_add_left {k n m : ℕ} (h : k + n ≤ k + m) : n ≤ m := by
64
- let ⟨w, hw⟩ := le.dest h
65
- rw [Nat.add_assoc, Nat.add_left_cancel_iff] at hw
66
- exact Nat.le.intro hw
67
-
68
- protected lemma le_of_add_le_add_right {k n m : ℕ} : n + k ≤ m + k → n ≤ m := by
69
- rw [Nat.add_comm _ k, Nat.add_comm _ k]
70
- apply Nat.le_of_add_le_add_left
71
-
72
63
protected lemma add_le_add_iff_le_right (k n m : ℕ) : n + k ≤ m + k ↔ n ≤ m :=
73
64
⟨Nat.le_of_add_le_add_right, fun h => Nat.add_le_add_right h _⟩
74
65
@@ -88,13 +79,6 @@ Nat.add_lt_add_left h n
88
79
protected lemma lt_add_of_pos_left {n k : ℕ} (h : 0 < k) : n < k + n :=
89
80
by rw [Nat.add_comm]; exact Nat.lt_add_of_pos_right h
90
81
91
- protected lemma le_of_mul_le_mul_left {a b c : ℕ} (h : c * a ≤ c * b) (hc : 0 < c) : a ≤ b :=
92
- not_lt.1 fun h1 => not_le.2 (Nat.mul_lt_mul_of_pos_left h1 hc) h
93
-
94
- protected theorem eq_of_mul_eq_mul_left {m k n : ℕ} (Hn : 0 < n) (H : n * m = n * k) : m = k :=
95
- Nat.le_antisymm (Nat.le_of_mul_le_mul_left (Nat.le_of_eq H) Hn)
96
- (Nat.le_of_mul_le_mul_left (Nat.le_of_eq H.symm) Hn)
97
-
98
82
/- sub properties -/
99
83
100
84
attribute [simp] Nat.zero_sub
@@ -131,9 +115,6 @@ protected lemma le_of_le_of_sub_le_sub_right {n m k : ℕ} (h₀ : k ≤ m) (h
131
115
protected lemma sub_le_sub_right_iff {n m k : ℕ} (h : k ≤ m) : n - k ≤ m - k ↔ n ≤ m :=
132
116
⟨Nat.le_of_le_of_sub_le_sub_right h, fun h => Nat.sub_le_sub_right h k⟩
133
117
134
- protected theorem sub_self_add (n m : ℕ) : n - (n + m) = 0 :=
135
- show (n + 0 ) - (n + m) = 0 by rw [Nat.add_sub_add_left, Nat.zero_sub]
136
-
137
118
protected theorem add_le_to_le_sub (x : ℕ) {y k : ℕ}
138
119
(h : k ≤ y)
139
120
: x + k ≤ y ↔ x ≤ y - k :=
153
134
theorem succ_pred_eq_of_pos : ∀ {n : ℕ}, 0 < n → succ (pred n) = n
154
135
| succ k, h => rfl
155
136
156
- protected theorem sub_eq_zero_of_le {n m : ℕ} (h : n ≤ m) : n - m = 0 :=
157
- Exists.elim (Nat.le.dest h)
158
- (λ k => λ hk : n + k = m => by rw [← hk, Nat.sub_self_add])
159
-
160
137
protected theorem le_of_sub_eq_zero : ∀{n m : ℕ}, n - m = 0 → n ≤ m
161
138
| n, 0 , H => by rw [Nat.sub_zero] at H; simp [H]
162
139
| 0 , m+1 , H => Nat.zero_le (m + 1 )
@@ -540,7 +517,7 @@ lemma sub_mul_mod (x k n : ℕ) (h₁ : n*k ≤ x) : (x - n*k) % n = x % n := by
540
517
apply Nat.le_trans _ h₁
541
518
apply le_add_right _ n
542
519
have h₄ : x - n * k ≥ n := by
543
- apply Nat.le_of_add_le_add_right (k := n*k)
520
+ apply Nat.le_of_add_le_add_right (b := n*k)
544
521
rw [Nat.sub_add_cancel h₂]
545
522
simp [mul_succ, Nat.add_comm] at h₁; simp [h₁]
546
523
rw [mul_succ, ← Nat.sub_sub, ← mod_eq_sub_mod h₄, IH h₂]
0 commit comments