MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  nn0sub Structured version   Visualization version   GIF version

Theorem nn0sub 11381
Description: Subtraction of nonnegative integers. (Contributed by NM, 9-May-2004.) (Proof shortened by Mario Carneiro, 16-May-2014.)
Assertion
Ref Expression
nn0sub ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → (𝑀𝑁 ↔ (𝑁𝑀) ∈ ℕ0))

Proof of Theorem nn0sub
StepHypRef Expression
1 nn0re 11339 . . . 4 (𝑀 ∈ ℕ0𝑀 ∈ ℝ)
2 nn0re 11339 . . . 4 (𝑁 ∈ ℕ0𝑁 ∈ ℝ)
3 leloe 10162 . . . 4 ((𝑀 ∈ ℝ ∧ 𝑁 ∈ ℝ) → (𝑀𝑁 ↔ (𝑀 < 𝑁𝑀 = 𝑁)))
41, 2, 3syl2an 493 . . 3 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → (𝑀𝑁 ↔ (𝑀 < 𝑁𝑀 = 𝑁)))
5 elnn0 11332 . . . . . 6 (𝑁 ∈ ℕ0 ↔ (𝑁 ∈ ℕ ∨ 𝑁 = 0))
6 elnn0 11332 . . . . . . . 8 (𝑀 ∈ ℕ0 ↔ (𝑀 ∈ ℕ ∨ 𝑀 = 0))
7 nnsub 11097 . . . . . . . . . 10 ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ) → (𝑀 < 𝑁 ↔ (𝑁𝑀) ∈ ℕ))
87ex 449 . . . . . . . . 9 (𝑀 ∈ ℕ → (𝑁 ∈ ℕ → (𝑀 < 𝑁 ↔ (𝑁𝑀) ∈ ℕ)))
9 nngt0 11087 . . . . . . . . . . 11 (𝑁 ∈ ℕ → 0 < 𝑁)
10 nncn 11066 . . . . . . . . . . . . 13 (𝑁 ∈ ℕ → 𝑁 ∈ ℂ)
1110subid1d 10419 . . . . . . . . . . . 12 (𝑁 ∈ ℕ → (𝑁 − 0) = 𝑁)
12 id 22 . . . . . . . . . . . 12 (𝑁 ∈ ℕ → 𝑁 ∈ ℕ)
1311, 12eqeltrd 2730 . . . . . . . . . . 11 (𝑁 ∈ ℕ → (𝑁 − 0) ∈ ℕ)
149, 132thd 255 . . . . . . . . . 10 (𝑁 ∈ ℕ → (0 < 𝑁 ↔ (𝑁 − 0) ∈ ℕ))
15 breq1 4688 . . . . . . . . . . 11 (𝑀 = 0 → (𝑀 < 𝑁 ↔ 0 < 𝑁))
16 oveq2 6698 . . . . . . . . . . . 12 (𝑀 = 0 → (𝑁𝑀) = (𝑁 − 0))
1716eleq1d 2715 . . . . . . . . . . 11 (𝑀 = 0 → ((𝑁𝑀) ∈ ℕ ↔ (𝑁 − 0) ∈ ℕ))
1815, 17bibi12d 334 . . . . . . . . . 10 (𝑀 = 0 → ((𝑀 < 𝑁 ↔ (𝑁𝑀) ∈ ℕ) ↔ (0 < 𝑁 ↔ (𝑁 − 0) ∈ ℕ)))
1914, 18syl5ibr 236 . . . . . . . . 9 (𝑀 = 0 → (𝑁 ∈ ℕ → (𝑀 < 𝑁 ↔ (𝑁𝑀) ∈ ℕ)))
208, 19jaoi 393 . . . . . . . 8 ((𝑀 ∈ ℕ ∨ 𝑀 = 0) → (𝑁 ∈ ℕ → (𝑀 < 𝑁 ↔ (𝑁𝑀) ∈ ℕ)))
216, 20sylbi 207 . . . . . . 7 (𝑀 ∈ ℕ0 → (𝑁 ∈ ℕ → (𝑀 < 𝑁 ↔ (𝑁𝑀) ∈ ℕ)))
22 nn0nlt0 11357 . . . . . . . . . 10 (𝑀 ∈ ℕ0 → ¬ 𝑀 < 0)
2322pm2.21d 118 . . . . . . . . 9 (𝑀 ∈ ℕ0 → (𝑀 < 0 → (0 − 𝑀) ∈ ℕ))
24 nngt0 11087 . . . . . . . . . 10 ((0 − 𝑀) ∈ ℕ → 0 < (0 − 𝑀))
25 0re 10078 . . . . . . . . . . 11 0 ∈ ℝ
26 posdif 10559 . . . . . . . . . . 11 ((𝑀 ∈ ℝ ∧ 0 ∈ ℝ) → (𝑀 < 0 ↔ 0 < (0 − 𝑀)))
271, 25, 26sylancl 695 . . . . . . . . . 10 (𝑀 ∈ ℕ0 → (𝑀 < 0 ↔ 0 < (0 − 𝑀)))
2824, 27syl5ibr 236 . . . . . . . . 9 (𝑀 ∈ ℕ0 → ((0 − 𝑀) ∈ ℕ → 𝑀 < 0))
2923, 28impbid 202 . . . . . . . 8 (𝑀 ∈ ℕ0 → (𝑀 < 0 ↔ (0 − 𝑀) ∈ ℕ))
30 breq2 4689 . . . . . . . . 9 (𝑁 = 0 → (𝑀 < 𝑁𝑀 < 0))
31 oveq1 6697 . . . . . . . . . 10 (𝑁 = 0 → (𝑁𝑀) = (0 − 𝑀))
3231eleq1d 2715 . . . . . . . . 9 (𝑁 = 0 → ((𝑁𝑀) ∈ ℕ ↔ (0 − 𝑀) ∈ ℕ))
3330, 32bibi12d 334 . . . . . . . 8 (𝑁 = 0 → ((𝑀 < 𝑁 ↔ (𝑁𝑀) ∈ ℕ) ↔ (𝑀 < 0 ↔ (0 − 𝑀) ∈ ℕ)))
3429, 33syl5ibrcom 237 . . . . . . 7 (𝑀 ∈ ℕ0 → (𝑁 = 0 → (𝑀 < 𝑁 ↔ (𝑁𝑀) ∈ ℕ)))
3521, 34jaod 394 . . . . . 6 (𝑀 ∈ ℕ0 → ((𝑁 ∈ ℕ ∨ 𝑁 = 0) → (𝑀 < 𝑁 ↔ (𝑁𝑀) ∈ ℕ)))
365, 35syl5bi 232 . . . . 5 (𝑀 ∈ ℕ0 → (𝑁 ∈ ℕ0 → (𝑀 < 𝑁 ↔ (𝑁𝑀) ∈ ℕ)))
3736imp 444 . . . 4 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → (𝑀 < 𝑁 ↔ (𝑁𝑀) ∈ ℕ))
38 nn0cn 11340 . . . . . 6 (𝑁 ∈ ℕ0𝑁 ∈ ℂ)
39 nn0cn 11340 . . . . . 6 (𝑀 ∈ ℕ0𝑀 ∈ ℂ)
40 subeq0 10345 . . . . . 6 ((𝑁 ∈ ℂ ∧ 𝑀 ∈ ℂ) → ((𝑁𝑀) = 0 ↔ 𝑁 = 𝑀))
4138, 39, 40syl2anr 494 . . . . 5 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → ((𝑁𝑀) = 0 ↔ 𝑁 = 𝑀))
42 eqcom 2658 . . . . 5 (𝑁 = 𝑀𝑀 = 𝑁)
4341, 42syl6rbb 277 . . . 4 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → (𝑀 = 𝑁 ↔ (𝑁𝑀) = 0))
4437, 43orbi12d 746 . . 3 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → ((𝑀 < 𝑁𝑀 = 𝑁) ↔ ((𝑁𝑀) ∈ ℕ ∨ (𝑁𝑀) = 0)))
454, 44bitrd 268 . 2 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → (𝑀𝑁 ↔ ((𝑁𝑀) ∈ ℕ ∨ (𝑁𝑀) = 0)))
46 elnn0 11332 . 2 ((𝑁𝑀) ∈ ℕ0 ↔ ((𝑁𝑀) ∈ ℕ ∨ (𝑁𝑀) = 0))
4745, 46syl6bbr 278 1 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → (𝑀𝑁 ↔ (𝑁𝑀) ∈ ℕ0))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 196  wo 382  wa 383   = wceq 1523  wcel 2030   class class class wbr 4685  (class class class)co 6690  cc 9972  cr 9973  0cc0 9974   < clt 10112  cle 10113  cmin 10304  cn 11058  0cn0 11330
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1762  ax-4 1777  ax-5 1879  ax-6 1945  ax-7 1981  ax-8 2032  ax-9 2039  ax-10 2059  ax-11 2074  ax-12 2087  ax-13 2282  ax-ext 2631  ax-sep 4814  ax-nul 4822  ax-pow 4873  ax-pr 4936  ax-un 6991  ax-resscn 10031  ax-1cn 10032  ax-icn 10033  ax-addcl 10034  ax-addrcl 10035  ax-mulcl 10036  ax-mulrcl 10037  ax-mulcom 10038  ax-addass 10039  ax-mulass 10040  ax-distr 10041  ax-i2m1 10042  ax-1ne0 10043  ax-1rid 10044  ax-rnegex 10045  ax-rrecex 10046  ax-cnre 10047  ax-pre-lttri 10048  ax-pre-lttrn 10049  ax-pre-ltadd 10050  ax-pre-mulgt0 10051
This theorem depends on definitions:  df-bi 197  df-or 384  df-an 385  df-3or 1055  df-3an 1056  df-tru 1526  df-ex 1745  df-nf 1750  df-sb 1938  df-eu 2502  df-mo 2503  df-clab 2638  df-cleq 2644  df-clel 2647  df-nfc 2782  df-ne 2824  df-nel 2927  df-ral 2946  df-rex 2947  df-reu 2948  df-rab 2950  df-v 3233  df-sbc 3469  df-csb 3567  df-dif 3610  df-un 3612  df-in 3614  df-ss 3621  df-pss 3623  df-nul 3949  df-if 4120  df-pw 4193  df-sn 4211  df-pr 4213  df-tp 4215  df-op 4217  df-uni 4469  df-iun 4554  df-br 4686  df-opab 4746  df-mpt 4763  df-tr 4786  df-id 5053  df-eprel 5058  df-po 5064  df-so 5065  df-fr 5102  df-we 5104  df-xp 5149  df-rel 5150  df-cnv 5151  df-co 5152  df-dm 5153  df-rn 5154  df-res 5155  df-ima 5156  df-pred 5718  df-ord 5764  df-on 5765  df-lim 5766  df-suc 5767  df-iota 5889  df-fun 5928  df-fn 5929  df-f 5930  df-f1 5931  df-fo 5932  df-f1o 5933  df-fv 5934  df-riota 6651  df-ov 6693  df-oprab 6694  df-mpt2 6695  df-om 7108  df-wrecs 7452  df-recs 7513  df-rdg 7551  df-er 7787  df-en 7998  df-dom 7999  df-sdom 8000  df-pnf 10114  df-mnf 10115  df-xr 10116  df-ltxr 10117  df-le 10118  df-sub 10306  df-neg 10307  df-nn 11059  df-n0 11331
This theorem is referenced by:  ltsubnn0  11382  nn0n0n1ge2  11396  elz2  11432  nn0sub2  11476  fz0fzdiffz0  12487  ubmelfzo  12572  repswcshw  13604  swrd2lsw  13741  2swrd2eqwrdeq  13742  psrbagcon  19419  coe1tmmul2  19694  aaliou3lem6  24148  basellem5  24856  crctcshwlkn0lem5  26762  eucrctshift  27221  omndmul3  29841  jm2.27c  37891  binomcxplemnn0  38865  dvnxpaek  40475  subsubelfzo0  41661  fmtnoprmfac2lem1  41803  digexp  42726
  Copyright terms: Public domain W3C validator