@@ -358,9 +358,14 @@ section sub
358
358
359
359
lemma sub_def {r p : ℝ≥0 } : r - p = nnreal.of_real (r - p) := rfl
360
360
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 :=
362
362
nnreal.eq $ max_eq_right $ sub_le_iff_le_add.2 $ by simpa [nnreal.coe_le] using h
363
363
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
+
364
369
lemma sub_pos {r p : ℝ≥0 } : 0 < r - p ↔ p < r :=
365
370
of_real_pos.trans $ sub_pos.trans $ nnreal.coe_lt
366
371
@@ -381,6 +386,9 @@ match le_total p r with
381
386
by simpa [nnreal.coe_le, nnreal.coe_le, sub_eq_zero h]
382
387
end
383
388
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
+
384
392
lemma add_sub_cancel {r p : nnreal} : (p + r) - r = p :=
385
393
nnreal.eq $ by rw [nnreal.coe_sub, nnreal.coe_add, add_sub_cancel]; exact le_add_left (le_refl _)
386
394
@@ -390,6 +398,10 @@ by rw [add_comm, add_sub_cancel]
390
398
@[simp] lemma sub_add_cancel_of_le {a b : nnreal} (h : b ≤ a) : (a - b) + b = a :=
391
399
nnreal.eq $ by rw [nnreal.coe_add, nnreal.coe_sub h, sub_add_cancel]
392
400
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
+
393
405
end sub
394
406
395
407
section inv
0 commit comments