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

Theorem saddisjlem 16405
Description: Lemma for sadadd 16408. (Contributed by Mario Carneiro, 9-Sep-2016.)
Hypotheses
Ref Expression
saddisj.1 (𝜑𝐴 ⊆ ℕ0)
saddisj.2 (𝜑𝐵 ⊆ ℕ0)
saddisj.3 (𝜑 → (𝐴𝐵) = ∅)
saddisjlem.c 𝐶 = seq0((𝑐 ∈ 2o, 𝑚 ∈ ℕ0 ↦ if(cadd(𝑚𝐴, 𝑚𝐵, ∅ ∈ 𝑐), 1o, ∅)), (𝑛 ∈ ℕ0 ↦ if(𝑛 = 0, ∅, (𝑛 − 1))))
saddisjlem.3 (𝜑𝑁 ∈ ℕ0)
Assertion
Ref Expression
saddisjlem (𝜑 → (𝑁 ∈ (𝐴 sadd 𝐵) ↔ 𝑁 ∈ (𝐴𝐵)))
Distinct variable groups:   𝑚,𝑐,𝑛   𝐴,𝑐,𝑚   𝐵,𝑐,𝑚   𝑛,𝑁
Allowed substitution hints:   𝜑(𝑚,𝑛,𝑐)   𝐴(𝑛)   𝐵(𝑛)   𝐶(𝑚,𝑛,𝑐)   𝑁(𝑚,𝑐)

Proof of Theorem saddisjlem
Dummy variables 𝑘 𝑥 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 saddisj.1 . . 3 (𝜑𝐴 ⊆ ℕ0)
2 saddisj.2 . . 3 (𝜑𝐵 ⊆ ℕ0)
3 saddisjlem.c . . 3 𝐶 = seq0((𝑐 ∈ 2o, 𝑚 ∈ ℕ0 ↦ if(cadd(𝑚𝐴, 𝑚𝐵, ∅ ∈ 𝑐), 1o, ∅)), (𝑛 ∈ ℕ0 ↦ if(𝑛 = 0, ∅, (𝑛 − 1))))
4 saddisjlem.3 . . 3 (𝜑𝑁 ∈ ℕ0)
51, 2, 3, 4sadval 16397 . 2 (𝜑 → (𝑁 ∈ (𝐴 sadd 𝐵) ↔ hadd(𝑁𝐴, 𝑁𝐵, ∅ ∈ (𝐶𝑁))))
6 fveq2 6892 . . . . . . . 8 (𝑥 = 0 → (𝐶𝑥) = (𝐶‘0))
76eleq2d 2820 . . . . . . 7 (𝑥 = 0 → (∅ ∈ (𝐶𝑥) ↔ ∅ ∈ (𝐶‘0)))
87notbid 318 . . . . . 6 (𝑥 = 0 → (¬ ∅ ∈ (𝐶𝑥) ↔ ¬ ∅ ∈ (𝐶‘0)))
98imbi2d 341 . . . . 5 (𝑥 = 0 → ((𝜑 → ¬ ∅ ∈ (𝐶𝑥)) ↔ (𝜑 → ¬ ∅ ∈ (𝐶‘0))))
10 fveq2 6892 . . . . . . . 8 (𝑥 = 𝑘 → (𝐶𝑥) = (𝐶𝑘))
1110eleq2d 2820 . . . . . . 7 (𝑥 = 𝑘 → (∅ ∈ (𝐶𝑥) ↔ ∅ ∈ (𝐶𝑘)))
1211notbid 318 . . . . . 6 (𝑥 = 𝑘 → (¬ ∅ ∈ (𝐶𝑥) ↔ ¬ ∅ ∈ (𝐶𝑘)))
1312imbi2d 341 . . . . 5 (𝑥 = 𝑘 → ((𝜑 → ¬ ∅ ∈ (𝐶𝑥)) ↔ (𝜑 → ¬ ∅ ∈ (𝐶𝑘))))
14 fveq2 6892 . . . . . . . 8 (𝑥 = (𝑘 + 1) → (𝐶𝑥) = (𝐶‘(𝑘 + 1)))
1514eleq2d 2820 . . . . . . 7 (𝑥 = (𝑘 + 1) → (∅ ∈ (𝐶𝑥) ↔ ∅ ∈ (𝐶‘(𝑘 + 1))))
1615notbid 318 . . . . . 6 (𝑥 = (𝑘 + 1) → (¬ ∅ ∈ (𝐶𝑥) ↔ ¬ ∅ ∈ (𝐶‘(𝑘 + 1))))
1716imbi2d 341 . . . . 5 (𝑥 = (𝑘 + 1) → ((𝜑 → ¬ ∅ ∈ (𝐶𝑥)) ↔ (𝜑 → ¬ ∅ ∈ (𝐶‘(𝑘 + 1)))))
18 fveq2 6892 . . . . . . . 8 (𝑥 = 𝑁 → (𝐶𝑥) = (𝐶𝑁))
1918eleq2d 2820 . . . . . . 7 (𝑥 = 𝑁 → (∅ ∈ (𝐶𝑥) ↔ ∅ ∈ (𝐶𝑁)))
2019notbid 318 . . . . . 6 (𝑥 = 𝑁 → (¬ ∅ ∈ (𝐶𝑥) ↔ ¬ ∅ ∈ (𝐶𝑁)))
2120imbi2d 341 . . . . 5 (𝑥 = 𝑁 → ((𝜑 → ¬ ∅ ∈ (𝐶𝑥)) ↔ (𝜑 → ¬ ∅ ∈ (𝐶𝑁))))
221, 2, 3sadc0 16395 . . . . 5 (𝜑 → ¬ ∅ ∈ (𝐶‘0))
23 noel 4331 . . . . . . . . 9 ¬ 𝑘 ∈ ∅
241ad2antrr 725 . . . . . . . . . . 11 (((𝜑𝑘 ∈ ℕ0) ∧ ¬ ∅ ∈ (𝐶𝑘)) → 𝐴 ⊆ ℕ0)
252ad2antrr 725 . . . . . . . . . . 11 (((𝜑𝑘 ∈ ℕ0) ∧ ¬ ∅ ∈ (𝐶𝑘)) → 𝐵 ⊆ ℕ0)
26 simplr 768 . . . . . . . . . . 11 (((𝜑𝑘 ∈ ℕ0) ∧ ¬ ∅ ∈ (𝐶𝑘)) → 𝑘 ∈ ℕ0)
2724, 25, 3, 26sadcp1 16396 . . . . . . . . . 10 (((𝜑𝑘 ∈ ℕ0) ∧ ¬ ∅ ∈ (𝐶𝑘)) → (∅ ∈ (𝐶‘(𝑘 + 1)) ↔ cadd(𝑘𝐴, 𝑘𝐵, ∅ ∈ (𝐶𝑘))))
28 cad0 1620 . . . . . . . . . . 11 (¬ ∅ ∈ (𝐶𝑘) → (cadd(𝑘𝐴, 𝑘𝐵, ∅ ∈ (𝐶𝑘)) ↔ (𝑘𝐴𝑘𝐵)))
2928adantl 483 . . . . . . . . . 10 (((𝜑𝑘 ∈ ℕ0) ∧ ¬ ∅ ∈ (𝐶𝑘)) → (cadd(𝑘𝐴, 𝑘𝐵, ∅ ∈ (𝐶𝑘)) ↔ (𝑘𝐴𝑘𝐵)))
30 elin 3965 . . . . . . . . . . 11 (𝑘 ∈ (𝐴𝐵) ↔ (𝑘𝐴𝑘𝐵))
31 saddisj.3 . . . . . . . . . . . . 13 (𝜑 → (𝐴𝐵) = ∅)
3231ad2antrr 725 . . . . . . . . . . . 12 (((𝜑𝑘 ∈ ℕ0) ∧ ¬ ∅ ∈ (𝐶𝑘)) → (𝐴𝐵) = ∅)
3332eleq2d 2820 . . . . . . . . . . 11 (((𝜑𝑘 ∈ ℕ0) ∧ ¬ ∅ ∈ (𝐶𝑘)) → (𝑘 ∈ (𝐴𝐵) ↔ 𝑘 ∈ ∅))
3430, 33bitr3id 285 . . . . . . . . . 10 (((𝜑𝑘 ∈ ℕ0) ∧ ¬ ∅ ∈ (𝐶𝑘)) → ((𝑘𝐴𝑘𝐵) ↔ 𝑘 ∈ ∅))
3527, 29, 343bitrd 305 . . . . . . . . 9 (((𝜑𝑘 ∈ ℕ0) ∧ ¬ ∅ ∈ (𝐶𝑘)) → (∅ ∈ (𝐶‘(𝑘 + 1)) ↔ 𝑘 ∈ ∅))
3623, 35mtbiri 327 . . . . . . . 8 (((𝜑𝑘 ∈ ℕ0) ∧ ¬ ∅ ∈ (𝐶𝑘)) → ¬ ∅ ∈ (𝐶‘(𝑘 + 1)))
3736ex 414 . . . . . . 7 ((𝜑𝑘 ∈ ℕ0) → (¬ ∅ ∈ (𝐶𝑘) → ¬ ∅ ∈ (𝐶‘(𝑘 + 1))))
3837expcom 415 . . . . . 6 (𝑘 ∈ ℕ0 → (𝜑 → (¬ ∅ ∈ (𝐶𝑘) → ¬ ∅ ∈ (𝐶‘(𝑘 + 1)))))
3938a2d 29 . . . . 5 (𝑘 ∈ ℕ0 → ((𝜑 → ¬ ∅ ∈ (𝐶𝑘)) → (𝜑 → ¬ ∅ ∈ (𝐶‘(𝑘 + 1)))))
409, 13, 17, 21, 22, 39nn0ind 12657 . . . 4 (𝑁 ∈ ℕ0 → (𝜑 → ¬ ∅ ∈ (𝐶𝑁)))
414, 40mpcom 38 . . 3 (𝜑 → ¬ ∅ ∈ (𝐶𝑁))
42 hadrot 1603 . . . 4 (hadd(∅ ∈ (𝐶𝑁), 𝑁𝐴, 𝑁𝐵) ↔ hadd(𝑁𝐴, 𝑁𝐵, ∅ ∈ (𝐶𝑁)))
43 had0 1606 . . . 4 (¬ ∅ ∈ (𝐶𝑁) → (hadd(∅ ∈ (𝐶𝑁), 𝑁𝐴, 𝑁𝐵) ↔ (𝑁𝐴𝑁𝐵)))
4442, 43bitr3id 285 . . 3 (¬ ∅ ∈ (𝐶𝑁) → (hadd(𝑁𝐴, 𝑁𝐵, ∅ ∈ (𝐶𝑁)) ↔ (𝑁𝐴𝑁𝐵)))
4541, 44syl 17 . 2 (𝜑 → (hadd(𝑁𝐴, 𝑁𝐵, ∅ ∈ (𝐶𝑁)) ↔ (𝑁𝐴𝑁𝐵)))
46 noel 4331 . . . . 5 ¬ 𝑁 ∈ ∅
47 elin 3965 . . . . . 6 (𝑁 ∈ (𝐴𝐵) ↔ (𝑁𝐴𝑁𝐵))
4831eleq2d 2820 . . . . . 6 (𝜑 → (𝑁 ∈ (𝐴𝐵) ↔ 𝑁 ∈ ∅))
4947, 48bitr3id 285 . . . . 5 (𝜑 → ((𝑁𝐴𝑁𝐵) ↔ 𝑁 ∈ ∅))
5046, 49mtbiri 327 . . . 4 (𝜑 → ¬ (𝑁𝐴𝑁𝐵))
51 xor2 1517 . . . . 5 ((𝑁𝐴𝑁𝐵) ↔ ((𝑁𝐴𝑁𝐵) ∧ ¬ (𝑁𝐴𝑁𝐵)))
5251rbaib 540 . . . 4 (¬ (𝑁𝐴𝑁𝐵) → ((𝑁𝐴𝑁𝐵) ↔ (𝑁𝐴𝑁𝐵)))
5350, 52syl 17 . . 3 (𝜑 → ((𝑁𝐴𝑁𝐵) ↔ (𝑁𝐴𝑁𝐵)))
54 elun 4149 . . 3 (𝑁 ∈ (𝐴𝐵) ↔ (𝑁𝐴𝑁𝐵))
5553, 54bitr4di 289 . 2 (𝜑 → ((𝑁𝐴𝑁𝐵) ↔ 𝑁 ∈ (𝐴𝐵)))
565, 45, 553bitrd 305 1 (𝜑 → (𝑁 ∈ (𝐴 sadd 𝐵) ↔ 𝑁 ∈ (𝐴𝐵)))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 205  wa 397  wo 846  wxo 1510   = wceq 1542  haddwhad 1595  caddwcad 1608  wcel 2107  cun 3947  cin 3948  wss 3949  c0 4323  ifcif 4529  cmpt 5232  cfv 6544  (class class class)co 7409  cmpo 7411  1oc1o 8459  2oc2o 8460  0cc0 11110  1c1 11111   + caddc 11113  cmin 11444  0cn0 12472  seqcseq 13966   sadd csad 16361
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1798  ax-4 1812  ax-5 1914  ax-6 1972  ax-7 2012  ax-8 2109  ax-9 2117  ax-10 2138  ax-11 2155  ax-12 2172  ax-ext 2704  ax-sep 5300  ax-nul 5307  ax-pow 5364  ax-pr 5428  ax-un 7725  ax-cnex 11166  ax-resscn 11167  ax-1cn 11168  ax-icn 11169  ax-addcl 11170  ax-addrcl 11171  ax-mulcl 11172  ax-mulrcl 11173  ax-mulcom 11174  ax-addass 11175  ax-mulass 11176  ax-distr 11177  ax-i2m1 11178  ax-1ne0 11179  ax-1rid 11180  ax-rnegex 11181  ax-rrecex 11182  ax-cnre 11183  ax-pre-lttri 11184  ax-pre-lttrn 11185  ax-pre-ltadd 11186  ax-pre-mulgt0 11187
This theorem depends on definitions:  df-bi 206  df-an 398  df-or 847  df-3or 1089  df-3an 1090  df-xor 1511  df-tru 1545  df-fal 1555  df-had 1596  df-cad 1609  df-ex 1783  df-nf 1787  df-sb 2069  df-mo 2535  df-eu 2564  df-clab 2711  df-cleq 2725  df-clel 2811  df-nfc 2886  df-ne 2942  df-nel 3048  df-ral 3063  df-rex 3072  df-reu 3378  df-rab 3434  df-v 3477  df-sbc 3779  df-csb 3895  df-dif 3952  df-un 3954  df-in 3956  df-ss 3966  df-pss 3968  df-nul 4324  df-if 4530  df-pw 4605  df-sn 4630  df-pr 4632  df-op 4636  df-uni 4910  df-iun 5000  df-br 5150  df-opab 5212  df-mpt 5233  df-tr 5267  df-id 5575  df-eprel 5581  df-po 5589  df-so 5590  df-fr 5632  df-we 5634  df-xp 5683  df-rel 5684  df-cnv 5685  df-co 5686  df-dm 5687  df-rn 5688  df-res 5689  df-ima 5690  df-pred 6301  df-ord 6368  df-on 6369  df-lim 6370  df-suc 6371  df-iota 6496  df-fun 6546  df-fn 6547  df-f 6548  df-f1 6549  df-fo 6550  df-f1o 6551  df-fv 6552  df-riota 7365  df-ov 7412  df-oprab 7413  df-mpo 7414  df-om 7856  df-1st 7975  df-2nd 7976  df-frecs 8266  df-wrecs 8297  df-recs 8371  df-rdg 8410  df-1o 8466  df-2o 8467  df-er 8703  df-en 8940  df-dom 8941  df-sdom 8942  df-pnf 11250  df-mnf 11251  df-xr 11252  df-ltxr 11253  df-le 11254  df-sub 11446  df-neg 11447  df-nn 12213  df-n0 12473  df-z 12559  df-uz 12823  df-fz 13485  df-seq 13967  df-sad 16392
This theorem is referenced by:  saddisj  16406
  Copyright terms: Public domain W3C validator