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

Commit 3bbf8eb

Browse files
urkudmergify[bot]
authored andcommitted
feat(data/real/nnreal): a few lemmas about subtraction (#1904)
1 parent 3b9ee8e commit 3bbf8eb

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

src/data/real/nnreal.lean

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -358,9 +358,14 @@ section sub
358358

359359
lemma sub_def {r p : ℝ≥0} : r - p = nnreal.of_real (r - p) := rfl
360360

361-
lemma sub_eq_zero {r p : nnreal} (h : r ≤ p) : r - p = 0 :=
361+
lemma sub_eq_zero {r p : ℝ≥0} (h : r ≤ p) : r - p = 0 :=
362362
nnreal.eq $ max_eq_right $ sub_le_iff_le_add.2 $ by simpa [nnreal.coe_le] using h
363363

364+
@[simp] lemma sub_self {r : ℝ≥0} : r - r = 0 := sub_eq_zero $ le_refl r
365+
366+
@[simp] lemma sub_zero {r : ℝ≥0} : r - 0 = r :=
367+
by rw [sub_def, nnreal.coe_zero, sub_zero, nnreal.of_real_coe]
368+
364369
lemma sub_pos {r p : ℝ≥0} : 0 < r - p ↔ p < r :=
365370
of_real_pos.trans $ sub_pos.trans $ nnreal.coe_lt
366371

@@ -381,6 +386,9 @@ match le_total p r with
381386
by simpa [nnreal.coe_le, nnreal.coe_le, sub_eq_zero h]
382387
end
383388

389+
@[simp] lemma sub_le_self {r p : ℝ≥0} : r - p ≤ r :=
390+
sub_le_iff_le_add.2 $ le_add_right $ le_refl r
391+
384392
lemma add_sub_cancel {r p : nnreal} : (p + r) - r = p :=
385393
nnreal.eq $ by rw [nnreal.coe_sub, nnreal.coe_add, add_sub_cancel]; exact le_add_left (le_refl _)
386394

@@ -390,6 +398,10 @@ by rw [add_comm, add_sub_cancel]
390398
@[simp] lemma sub_add_cancel_of_le {a b : nnreal} (h : b ≤ a) : (a - b) + b = a :=
391399
nnreal.eq $ by rw [nnreal.coe_add, nnreal.coe_sub h, sub_add_cancel]
392400

401+
lemma sub_sub_cancel_of_le {r p : ℝ≥0} (h : r ≤ p) : p - (p - r) = r :=
402+
by rw [nnreal.sub_def, nnreal.sub_def, nnreal.coe_of_real _ $ sub_nonneg.2 h,
403+
sub_sub_cancel, nnreal.of_real_coe]
404+
393405
end sub
394406

395407
section inv

0 commit comments

Comments
 (0)