NFE Home New Foundations Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  NFE Home  >  Th. List  >  preaddccan2 GIF version

Theorem preaddccan2 4456
Description: Cancellation law for natural addition with a non-null condition. (Contributed by SF, 29-Jan-2015.)
Assertion
Ref Expression
preaddccan2 ⊢ (((M ∈ Nn ∧ N ∈ Nn ∧ P ∈ Nn ) ∧ (M +c N) ≠ ∅) → ((M +c N) = (M +c P) ↔ N = P))

Proof of Theorem preaddccan2
Dummy variables m k are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 preaddccan2lem1 4455 . . . . 5 ⊢ ((N ∈ Nn ∧ P ∈ Nn ) → {m ∣ (((m +c N) ≠ ∅ ∧ (m +c N) = (m +c P)) → N = P)} ∈ V)
2 addceq1 4384 . . . . . . . 8 ⊢ (m = 0c → (m +c N) = (0c +c N))
32neeq1d 2530 . . . . . . 7 ⊢ (m = 0c → ((m +c N) ≠ ∅ ↔ (0c +c N) ≠ ∅))
4 addceq1 4384 . . . . . . . 8 ⊢ (m = 0c → (m +c P) = (0c +c P))
52, 4eqeq12d 2367 . . . . . . 7 ⊢ (m = 0c → ((m +c N) = (m +c P) ↔ (0c +c N) = (0c +c P)))
63, 5anbi12d 691 . . . . . 6 ⊢ (m = 0c → (((m +c N) ≠ ∅ ∧ (m +c N) = (m +c P)) ↔ ((0c +c N) ≠ ∅ ∧ (0c +c N) = (0c +c P))))
76imbi1d 308 . . . . 5 ⊢ (m = 0c → ((((m +c N) ≠ ∅ ∧ (m +c N) = (m +c P)) → N = P) ↔ (((0c +c N) ≠ ∅ ∧ (0c +c N) = (0c +c P)) → N = P)))
8 addceq1 4384 . . . . . . . 8 ⊢ (m = k → (m +c N) = (k +c N))
98neeq1d 2530 . . . . . . 7 ⊢ (m = k → ((m +c N) ≠ ∅ ↔ (k +c N) ≠ ∅))
10 addceq1 4384 . . . . . . . 8 ⊢ (m = k → (m +c P) = (k +c P))
118, 10eqeq12d 2367 . . . . . . 7 ⊢ (m = k → ((m +c N) = (m +c P) ↔ (k +c N) = (k +c P)))
129, 11anbi12d 691 . . . . . 6 ⊢ (m = k → (((m +c N) ≠ ∅ ∧ (m +c N) = (m +c P)) ↔ ((k +c N) ≠ ∅ ∧ (k +c N) = (k +c P))))
1312imbi1d 308 . . . . 5 ⊢ (m = k → ((((m +c N) ≠ ∅ ∧ (m +c N) = (m +c P)) → N = P) ↔ (((k +c N) ≠ ∅ ∧ (k +c N) = (k +c P)) → N = P)))
14 addceq1 4384 . . . . . . . . 9 ⊢ (m = (k +c 1c) → (m +c N) = ((k +c 1c) +c N))
15 addc32 4417 . . . . . . . . 9 ⊢ ((k +c 1c) +c N) = ((k +c N) +c 1c)
1614, 15syl6eq 2401 . . . . . . . 8 ⊢ (m = (k +c 1c) → (m +c N) = ((k +c N) +c 1c))
1716neeq1d 2530 . . . . . . 7 ⊢ (m = (k +c 1c) → ((m +c N) ≠ ∅ ↔ ((k +c N) +c 1c) ≠ ∅))
18 addceq1 4384 . . . . . . . . 9 ⊢ (m = (k +c 1c) → (m +c P) = ((k +c 1c) +c P))
19 addc32 4417 . . . . . . . . 9 ⊢ ((k +c 1c) +c P) = ((k +c P) +c 1c)
2018, 19syl6eq 2401 . . . . . . . 8 ⊢ (m = (k +c 1c) → (m +c P) = ((k +c P) +c 1c))
2116, 20eqeq12d 2367 . . . . . . 7 ⊢ (m = (k +c 1c) → ((m +c N) = (m +c P) ↔ ((k +c N) +c 1c) = ((k +c P) +c 1c)))
2217, 21anbi12d 691 . . . . . 6 ⊢ (m = (k +c 1c) → (((m +c N) ≠ ∅ ∧ (m +c N) = (m +c P)) ↔ (((k +c N) +c 1c) ≠ ∅ ∧ ((k +c N) +c 1c) = ((k +c P) +c 1c))))
2322imbi1d 308 . . . . 5 ⊢ (m = (k +c 1c) → ((((m +c N) ≠ ∅ ∧ (m +c N) = (m +c P)) → N = P) ↔ ((((k +c N) +c 1c) ≠ ∅ ∧ ((k +c N) +c 1c) = ((k +c P) +c 1c)) → N = P)))
24 addceq1 4384 . . . . . . . 8 ⊢ (m = M → (m +c N) = (M +c N))
2524neeq1d 2530 . . . . . . 7 ⊢ (m = M → ((m +c N) ≠ ∅ ↔ (M +c N) ≠ ∅))
26 addceq1 4384 . . . . . . . 8 ⊢ (m = M → (m +c P) = (M +c P))
2724, 26eqeq12d 2367 . . . . . . 7 ⊢ (m = M → ((m +c N) = (m +c P) ↔ (M +c N) = (M +c P)))
2825, 27anbi12d 691 . . . . . 6 ⊢ (m = M → (((m +c N) ≠ ∅ ∧ (m +c N) = (m +c P)) ↔ ((M +c N) ≠ ∅ ∧ (M +c N) = (M +c P))))
2928imbi1d 308 . . . . 5 ⊢ (m = M → ((((m +c N) ≠ ∅ ∧ (m +c N) = (m +c P)) → N = P) ↔ (((M +c N) ≠ ∅ ∧ (M +c N) = (M +c P)) → N = P)))
30 addcid2 4408 . . . . . . . . 9 ⊢ (0c +c N) = N
31 addcid2 4408 . . . . . . . . 9 ⊢ (0c +c P) = P
3230, 31eqeq12i 2366 . . . . . . . 8 ⊢ ((0c +c N) = (0c +c P) ↔ N = P)
3332biimpi 186 . . . . . . 7 ⊢ ((0c +c N) = (0c +c P) → N = P)
3433adantl 452 . . . . . 6 ⊢ (((0c +c N) ≠ ∅ ∧ (0c +c N) = (0c +c P)) → N = P)
3534a1i 10 . . . . 5 ⊢ ((N ∈ Nn ∧ P ∈ Nn ) → (((0c +c N) ≠ ∅ ∧ (0c +c N) = (0c +c P)) → N = P))
36 addcnnul 4454 . . . . . . . . . 10 ⊢ (((k +c N) +c 1c) ≠ ∅ → ((k +c N) ≠ ∅ ∧ 1c ≠ ∅))
3736simpld 445 . . . . . . . . 9 ⊢ (((k +c N) +c 1c) ≠ ∅ → (k +c N) ≠ ∅)
3837ad2antrl 708 . . . . . . . 8 ⊢ (((k ∈ Nn ∧ (N ∈ Nn ∧ P ∈ Nn )) ∧ (((k +c N) +c 1c) ≠ ∅ ∧ ((k +c N) +c 1c) = ((k +c P) +c 1c))) → (k +c N) ≠ ∅)
39 simpll 730 . . . . . . . . . 10 ⊢ (((k ∈ Nn ∧ (N ∈ Nn ∧ P ∈ Nn )) ∧ (((k +c N) +c 1c) ≠ ∅ ∧ ((k +c N) +c 1c) = ((k +c P) +c 1c))) → k ∈ Nn )
40 simplrl 736 . . . . . . . . . 10 ⊢ (((k ∈ Nn ∧ (N ∈ Nn ∧ P ∈ Nn )) ∧ (((k +c N) +c 1c) ≠ ∅ ∧ ((k +c N) +c 1c) = ((k +c P) +c 1c))) → N ∈ Nn )
41 nncaddccl 4420 . . . . . . . . . 10 ⊢ ((k ∈ Nn ∧ N ∈ Nn ) → (k +c N) ∈ Nn )
4239, 40, 41syl2anc 642 . . . . . . . . 9 ⊢ (((k ∈ Nn ∧ (N ∈ Nn ∧ P ∈ Nn )) ∧ (((k +c N) +c 1c) ≠ ∅ ∧ ((k +c N) +c 1c) = ((k +c P) +c 1c))) → (k +c N) ∈ Nn )
43 simplrr 737 . . . . . . . . . 10 ⊢ (((k ∈ Nn ∧ (N ∈ Nn ∧ P ∈ Nn )) ∧ (((k +c N) +c 1c) ≠ ∅ ∧ ((k +c N) +c 1c) = ((k +c P) +c 1c))) → P ∈ Nn )
44 nncaddccl 4420 . . . . . . . . . 10 ⊢ ((k ∈ Nn ∧ P ∈ Nn ) → (k +c P) ∈ Nn )
4539, 43, 44syl2anc 642 . . . . . . . . 9 ⊢ (((k ∈ Nn ∧ (N ∈ Nn ∧ P ∈ Nn )) ∧ (((k +c N) +c 1c) ≠ ∅ ∧ ((k +c N) +c 1c) = ((k +c P) +c 1c))) → (k +c P) ∈ Nn )
46 simprr 733 . . . . . . . . 9 ⊢ (((k ∈ Nn ∧ (N ∈ Nn ∧ P ∈ Nn )) ∧ (((k +c N) +c 1c) ≠ ∅ ∧ ((k +c N) +c 1c) = ((k +c P) +c 1c))) → ((k +c N) +c 1c) = ((k +c P) +c 1c))
47 simprl 732 . . . . . . . . 9 ⊢ (((k ∈ Nn ∧ (N ∈ Nn ∧ P ∈ Nn )) ∧ (((k +c N) +c 1c) ≠ ∅ ∧ ((k +c N) +c 1c) = ((k +c P) +c 1c))) → ((k +c N) +c 1c) ≠ ∅)
48 prepeano4 4452 . . . . . . . . 9 ⊢ ((((k +c N) ∈ Nn ∧ (k +c P) ∈ Nn ) ∧ (((k +c N) +c 1c) = ((k +c P) +c 1c) ∧ ((k +c N) +c 1c) ≠ ∅)) → (k +c N) = (k +c P))
4942, 45, 46, 47, 48syl22anc 1183 . . . . . . . 8 ⊢ (((k ∈ Nn ∧ (N ∈ Nn ∧ P ∈ Nn )) ∧ (((k +c N) +c 1c) ≠ ∅ ∧ ((k +c N) +c 1c) = ((k +c P) +c 1c))) → (k +c N) = (k +c P))
5038, 49jca 518 . . . . . . 7 ⊢ (((k ∈ Nn ∧ (N ∈ Nn ∧ P ∈ Nn )) ∧ (((k +c N) +c 1c) ≠ ∅ ∧ ((k +c N) +c 1c) = ((k +c P) +c 1c))) → ((k +c N) ≠ ∅ ∧ (k +c N) = (k +c P)))
5150ex 423 . . . . . 6 ⊢ ((k ∈ Nn ∧ (N ∈ Nn ∧ P ∈ Nn )) → ((((k +c N) +c 1c) ≠ ∅ ∧ ((k +c N) +c 1c) = ((k +c P) +c 1c)) → ((k +c N) ≠ ∅ ∧ (k +c N) = (k +c P))))
5251imim1d 69 . . . . 5 ⊢ ((k ∈ Nn ∧ (N ∈ Nn ∧ P ∈ Nn )) → ((((k +c N) ≠ ∅ ∧ (k +c N) = (k +c P)) → N = P) → ((((k +c N) +c 1c) ≠ ∅ ∧ ((k +c N) +c 1c) = ((k +c P) +c 1c)) → N = P)))
531, 7, 13, 23, 29, 35, 52findsd 4411 . . . 4 ⊢ ((M ∈ Nn ∧ (N ∈ Nn ∧ P ∈ Nn )) → (((M +c N) ≠ ∅ ∧ (M +c N) = (M +c P)) → N = P))
54533impb 1147 . . 3 ⊢ ((M ∈ Nn ∧ N ∈ Nn ∧ P ∈ Nn ) → (((M +c N) ≠ ∅ ∧ (M +c N) = (M +c P)) → N = P))
5554expdimp 426 . 2 ⊢ (((M ∈ Nn ∧ N ∈ Nn ∧ P ∈ Nn ) ∧ (M +c N) ≠ ∅) → ((M +c N) = (M +c P) → N = P))
56 addceq2 4385 . 2 ⊢ (N = P → (M +c N) = (M +c P))
5755, 56impbid1 194 1 ⊢ (((M ∈ Nn ∧ N ∈ Nn ∧ P ∈ Nn ) ∧ (M +c N) ≠ ∅) → ((M +c N) = (M +c P) ↔ N = P))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:   → wi 4   ↔ wb 176   ∧ wa 358   ∧ w3a 934   = wceq 1642   ∈ wcel 1710   ≠ wne 2517  Vcvv 2860  ∅c0 3551  1cc1c 4135   Nn cnnc 4374  0cc0c 4375   +c cplc 4376
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1546  ax-5 1557  ax-17 1616  ax-9 1654  ax-8 1675  ax-6 1729  ax-7 1734  ax-11 1746  ax-12 1925  ax-ext 2334  ax-nin 4079  ax-xp 4080  ax-cnv 4081  ax-1c 4082  ax-sset 4083  ax-si 4084  ax-ins2 4085  ax-ins3 4086  ax-typlower 4087  ax-sn 4088
This proof depends on definitions:  df-bi 177  df-or 359  df-an 360  df-3an 936  df-nan 1288  df-tru 1319  df-ex 1542  df-nf 1545  df-sb 1649  df-clab 2340  df-cleq 2346  df-clel 2349  df-nfc 2479  df-ne 2519  df-ral 2620  df-rex 2621  df-v 2862  df-sbc 3048  df-nin 3212  df-compl 3213  df-in 3214  df-un 3215  df-dif 3216  df-symdif 3217  df-ss 3260  df-nul 3552  df-if 3664  df-pw 3725  df-sn 3742  df-pr 3743  df-uni 3893  df-int 3928  df-opk 4059  df-1c 4137  df-pw1 4138  df-uni1 4139  df-xpk 4186  df-cnvk 4187  df-ins2k 4188  df-ins3k 4189  df-imak 4190  df-cok 4191  df-p6 4192  df-sik 4193  df-ssetk 4194  df-imagek 4195  df-idk 4196  df-0c 4378  df-addc 4379  df-nnc 4380
This theorem is used by:  ltfinirr  4458  vfin1cltv  4548  addccan2  4560
  Copyright terms: Public domain W3C validator