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

Theorem addcanpi 9922
Description: Addition cancellation law for positive integers. (Contributed by Mario Carneiro, 8-May-2013.) (New usage is discouraged.)
Assertion
Ref Expression
addcanpi ((𝐴N𝐵N) → ((𝐴 +N 𝐵) = (𝐴 +N 𝐶) ↔ 𝐵 = 𝐶))

Proof of Theorem addcanpi
StepHypRef Expression
1 addclpi 9915 . . . . . . . . . 10 ((𝐴N𝐵N) → (𝐴 +N 𝐵) ∈ N)
2 eleq1 2837 . . . . . . . . . 10 ((𝐴 +N 𝐵) = (𝐴 +N 𝐶) → ((𝐴 +N 𝐵) ∈ N ↔ (𝐴 +N 𝐶) ∈ N))
31, 2syl5ib 234 . . . . . . . . 9 ((𝐴 +N 𝐵) = (𝐴 +N 𝐶) → ((𝐴N𝐵N) → (𝐴 +N 𝐶) ∈ N))
43imp 393 . . . . . . . 8 (((𝐴 +N 𝐵) = (𝐴 +N 𝐶) ∧ (𝐴N𝐵N)) → (𝐴 +N 𝐶) ∈ N)
5 dmaddpi 9913 . . . . . . . . 9 dom +N = (N × N)
6 0npi 9905 . . . . . . . . 9 ¬ ∅ ∈ N
75, 6ndmovrcl 6966 . . . . . . . 8 ((𝐴 +N 𝐶) ∈ N → (𝐴N𝐶N))
8 simpr 471 . . . . . . . 8 ((𝐴N𝐶N) → 𝐶N)
94, 7, 83syl 18 . . . . . . 7 (((𝐴 +N 𝐵) = (𝐴 +N 𝐶) ∧ (𝐴N𝐵N)) → 𝐶N)
10 addpiord 9907 . . . . . . . . . 10 ((𝐴N𝐵N) → (𝐴 +N 𝐵) = (𝐴 +𝑜 𝐵))
1110adantr 466 . . . . . . . . 9 (((𝐴N𝐵N) ∧ 𝐶N) → (𝐴 +N 𝐵) = (𝐴 +𝑜 𝐵))
12 addpiord 9907 . . . . . . . . . 10 ((𝐴N𝐶N) → (𝐴 +N 𝐶) = (𝐴 +𝑜 𝐶))
1312adantlr 686 . . . . . . . . 9 (((𝐴N𝐵N) ∧ 𝐶N) → (𝐴 +N 𝐶) = (𝐴 +𝑜 𝐶))
1411, 13eqeq12d 2785 . . . . . . . 8 (((𝐴N𝐵N) ∧ 𝐶N) → ((𝐴 +N 𝐵) = (𝐴 +N 𝐶) ↔ (𝐴 +𝑜 𝐵) = (𝐴 +𝑜 𝐶)))
15 pinn 9901 . . . . . . . . . 10 (𝐴N𝐴 ∈ ω)
16 pinn 9901 . . . . . . . . . 10 (𝐵N𝐵 ∈ ω)
17 pinn 9901 . . . . . . . . . 10 (𝐶N𝐶 ∈ ω)
18 nnacan 7861 . . . . . . . . . . 11 ((𝐴 ∈ ω ∧ 𝐵 ∈ ω ∧ 𝐶 ∈ ω) → ((𝐴 +𝑜 𝐵) = (𝐴 +𝑜 𝐶) ↔ 𝐵 = 𝐶))
1918biimpd 219 . . . . . . . . . 10 ((𝐴 ∈ ω ∧ 𝐵 ∈ ω ∧ 𝐶 ∈ ω) → ((𝐴 +𝑜 𝐵) = (𝐴 +𝑜 𝐶) → 𝐵 = 𝐶))
2015, 16, 17, 19syl3an 1162 . . . . . . . . 9 ((𝐴N𝐵N𝐶N) → ((𝐴 +𝑜 𝐵) = (𝐴 +𝑜 𝐶) → 𝐵 = 𝐶))
21203expa 1110 . . . . . . . 8 (((𝐴N𝐵N) ∧ 𝐶N) → ((𝐴 +𝑜 𝐵) = (𝐴 +𝑜 𝐶) → 𝐵 = 𝐶))
2214, 21sylbid 230 . . . . . . 7 (((𝐴N𝐵N) ∧ 𝐶N) → ((𝐴 +N 𝐵) = (𝐴 +N 𝐶) → 𝐵 = 𝐶))
239, 22sylan2 572 . . . . . 6 (((𝐴N𝐵N) ∧ ((𝐴 +N 𝐵) = (𝐴 +N 𝐶) ∧ (𝐴N𝐵N))) → ((𝐴 +N 𝐵) = (𝐴 +N 𝐶) → 𝐵 = 𝐶))
2423exp32 407 . . . . 5 ((𝐴N𝐵N) → ((𝐴 +N 𝐵) = (𝐴 +N 𝐶) → ((𝐴N𝐵N) → ((𝐴 +N 𝐵) = (𝐴 +N 𝐶) → 𝐵 = 𝐶))))
2524imp4b 408 . . . 4 (((𝐴N𝐵N) ∧ (𝐴 +N 𝐵) = (𝐴 +N 𝐶)) → (((𝐴N𝐵N) ∧ (𝐴 +N 𝐵) = (𝐴 +N 𝐶)) → 𝐵 = 𝐶))
2625pm2.43i 52 . . 3 (((𝐴N𝐵N) ∧ (𝐴 +N 𝐵) = (𝐴 +N 𝐶)) → 𝐵 = 𝐶)
2726ex 397 . 2 ((𝐴N𝐵N) → ((𝐴 +N 𝐵) = (𝐴 +N 𝐶) → 𝐵 = 𝐶))
28 oveq2 6800 . 2 (𝐵 = 𝐶 → (𝐴 +N 𝐵) = (𝐴 +N 𝐶))
2927, 28impbid1 215 1 ((𝐴N𝐵N) → ((𝐴 +N 𝐵) = (𝐴 +N 𝐶) ↔ 𝐵 = 𝐶))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 196  wa 382  w3a 1070   = wceq 1630  wcel 2144  (class class class)co 6792  ωcom 7211   +𝑜 coa 7709  Ncnpi 9867   +N cpli 9868
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1869  ax-4 1884  ax-5 1990  ax-6 2056  ax-7 2092  ax-8 2146  ax-9 2153  ax-10 2173  ax-11 2189  ax-12 2202  ax-13 2407  ax-ext 2750  ax-sep 4912  ax-nul 4920  ax-pow 4971  ax-pr 5034  ax-un 7095
This theorem depends on definitions:  df-bi 197  df-an 383  df-or 827  df-3or 1071  df-3an 1072  df-tru 1633  df-ex 1852  df-nf 1857  df-sb 2049  df-eu 2621  df-mo 2622  df-clab 2757  df-cleq 2763  df-clel 2766  df-nfc 2901  df-ne 2943  df-ral 3065  df-rex 3066  df-reu 3067  df-rab 3069  df-v 3351  df-sbc 3586  df-csb 3681  df-dif 3724  df-un 3726  df-in 3728  df-ss 3735  df-pss 3737  df-nul 4062  df-if 4224  df-pw 4297  df-sn 4315  df-pr 4317  df-tp 4319  df-op 4321  df-uni 4573  df-iun 4654  df-br 4785  df-opab 4845  df-mpt 4862  df-tr 4885  df-id 5157  df-eprel 5162  df-po 5170  df-so 5171  df-fr 5208  df-we 5210  df-xp 5255  df-rel 5256  df-cnv 5257  df-co 5258  df-dm 5259  df-rn 5260  df-res 5261  df-ima 5262  df-pred 5823  df-ord 5869  df-on 5870  df-lim 5871  df-suc 5872  df-iota 5994  df-fun 6033  df-fn 6034  df-f 6035  df-f1 6036  df-fo 6037  df-f1o 6038  df-fv 6039  df-ov 6795  df-oprab 6796  df-mpt2 6797  df-om 7212  df-1st 7314  df-2nd 7315  df-wrecs 7558  df-recs 7620  df-rdg 7658  df-oadd 7716  df-ni 9895  df-pli 9896
This theorem is referenced by:  adderpqlem  9977
  Copyright terms: Public domain W3C validator