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

Theorem saddisjlem 16004
Description: Lemma for sadadd 16007. (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 15996 . 2 (𝜑 → (𝑁 ∈ (𝐴 sadd 𝐵) ↔ hadd(𝑁𝐴, 𝑁𝐵, ∅ ∈ (𝐶𝑁))))
6 fveq2 6706 . . . . . . . 8 (𝑥 = 0 → (𝐶𝑥) = (𝐶‘0))
76eleq2d 2819 . . . . . . 7 (𝑥 = 0 → (∅ ∈ (𝐶𝑥) ↔ ∅ ∈ (𝐶‘0)))
87notbid 321 . . . . . 6 (𝑥 = 0 → (¬ ∅ ∈ (𝐶𝑥) ↔ ¬ ∅ ∈ (𝐶‘0)))
98imbi2d 344 . . . . 5 (𝑥 = 0 → ((𝜑 → ¬ ∅ ∈ (𝐶𝑥)) ↔ (𝜑 → ¬ ∅ ∈ (𝐶‘0))))
10 fveq2 6706 . . . . . . . 8 (𝑥 = 𝑘 → (𝐶𝑥) = (𝐶𝑘))
1110eleq2d 2819 . . . . . . 7 (𝑥 = 𝑘 → (∅ ∈ (𝐶𝑥) ↔ ∅ ∈ (𝐶𝑘)))
1211notbid 321 . . . . . 6 (𝑥 = 𝑘 → (¬ ∅ ∈ (𝐶𝑥) ↔ ¬ ∅ ∈ (𝐶𝑘)))
1312imbi2d 344 . . . . 5 (𝑥 = 𝑘 → ((𝜑 → ¬ ∅ ∈ (𝐶𝑥)) ↔ (𝜑 → ¬ ∅ ∈ (𝐶𝑘))))
14 fveq2 6706 . . . . . . . 8 (𝑥 = (𝑘 + 1) → (𝐶𝑥) = (𝐶‘(𝑘 + 1)))
1514eleq2d 2819 . . . . . . 7 (𝑥 = (𝑘 + 1) → (∅ ∈ (𝐶𝑥) ↔ ∅ ∈ (𝐶‘(𝑘 + 1))))
1615notbid 321 . . . . . 6 (𝑥 = (𝑘 + 1) → (¬ ∅ ∈ (𝐶𝑥) ↔ ¬ ∅ ∈ (𝐶‘(𝑘 + 1))))
1716imbi2d 344 . . . . 5 (𝑥 = (𝑘 + 1) → ((𝜑 → ¬ ∅ ∈ (𝐶𝑥)) ↔ (𝜑 → ¬ ∅ ∈ (𝐶‘(𝑘 + 1)))))
18 fveq2 6706 . . . . . . . 8 (𝑥 = 𝑁 → (𝐶𝑥) = (𝐶𝑁))
1918eleq2d 2819 . . . . . . 7 (𝑥 = 𝑁 → (∅ ∈ (𝐶𝑥) ↔ ∅ ∈ (𝐶𝑁)))
2019notbid 321 . . . . . 6 (𝑥 = 𝑁 → (¬ ∅ ∈ (𝐶𝑥) ↔ ¬ ∅ ∈ (𝐶𝑁)))
2120imbi2d 344 . . . . 5 (𝑥 = 𝑁 → ((𝜑 → ¬ ∅ ∈ (𝐶𝑥)) ↔ (𝜑 → ¬ ∅ ∈ (𝐶𝑁))))
221, 2, 3sadc0 15994 . . . . 5 (𝜑 → ¬ ∅ ∈ (𝐶‘0))
23 noel 4235 . . . . . . . . 9 ¬ 𝑘 ∈ ∅
241ad2antrr 726 . . . . . . . . . . 11 (((𝜑𝑘 ∈ ℕ0) ∧ ¬ ∅ ∈ (𝐶𝑘)) → 𝐴 ⊆ ℕ0)
252ad2antrr 726 . . . . . . . . . . 11 (((𝜑𝑘 ∈ ℕ0) ∧ ¬ ∅ ∈ (𝐶𝑘)) → 𝐵 ⊆ ℕ0)
26 simplr 769 . . . . . . . . . . 11 (((𝜑𝑘 ∈ ℕ0) ∧ ¬ ∅ ∈ (𝐶𝑘)) → 𝑘 ∈ ℕ0)
2724, 25, 3, 26sadcp1 15995 . . . . . . . . . 10 (((𝜑𝑘 ∈ ℕ0) ∧ ¬ ∅ ∈ (𝐶𝑘)) → (∅ ∈ (𝐶‘(𝑘 + 1)) ↔ cadd(𝑘𝐴, 𝑘𝐵, ∅ ∈ (𝐶𝑘))))
28 cad0 1625 . . . . . . . . . . 11 (¬ ∅ ∈ (𝐶𝑘) → (cadd(𝑘𝐴, 𝑘𝐵, ∅ ∈ (𝐶𝑘)) ↔ (𝑘𝐴𝑘𝐵)))
2928adantl 485 . . . . . . . . . 10 (((𝜑𝑘 ∈ ℕ0) ∧ ¬ ∅ ∈ (𝐶𝑘)) → (cadd(𝑘𝐴, 𝑘𝐵, ∅ ∈ (𝐶𝑘)) ↔ (𝑘𝐴𝑘𝐵)))
30 elin 3873 . . . . . . . . . . 11 (𝑘 ∈ (𝐴𝐵) ↔ (𝑘𝐴𝑘𝐵))
31 saddisj.3 . . . . . . . . . . . . 13 (𝜑 → (𝐴𝐵) = ∅)
3231ad2antrr 726 . . . . . . . . . . . 12 (((𝜑𝑘 ∈ ℕ0) ∧ ¬ ∅ ∈ (𝐶𝑘)) → (𝐴𝐵) = ∅)
3332eleq2d 2819 . . . . . . . . . . 11 (((𝜑𝑘 ∈ ℕ0) ∧ ¬ ∅ ∈ (𝐶𝑘)) → (𝑘 ∈ (𝐴𝐵) ↔ 𝑘 ∈ ∅))
3430, 33bitr3id 288 . . . . . . . . . 10 (((𝜑𝑘 ∈ ℕ0) ∧ ¬ ∅ ∈ (𝐶𝑘)) → ((𝑘𝐴𝑘𝐵) ↔ 𝑘 ∈ ∅))
3527, 29, 343bitrd 308 . . . . . . . . 9 (((𝜑𝑘 ∈ ℕ0) ∧ ¬ ∅ ∈ (𝐶𝑘)) → (∅ ∈ (𝐶‘(𝑘 + 1)) ↔ 𝑘 ∈ ∅))
3623, 35mtbiri 330 . . . . . . . 8 (((𝜑𝑘 ∈ ℕ0) ∧ ¬ ∅ ∈ (𝐶𝑘)) → ¬ ∅ ∈ (𝐶‘(𝑘 + 1)))
3736ex 416 . . . . . . 7 ((𝜑𝑘 ∈ ℕ0) → (¬ ∅ ∈ (𝐶𝑘) → ¬ ∅ ∈ (𝐶‘(𝑘 + 1))))
3837expcom 417 . . . . . 6 (𝑘 ∈ ℕ0 → (𝜑 → (¬ ∅ ∈ (𝐶𝑘) → ¬ ∅ ∈ (𝐶‘(𝑘 + 1)))))
3938a2d 29 . . . . 5 (𝑘 ∈ ℕ0 → ((𝜑 → ¬ ∅ ∈ (𝐶𝑘)) → (𝜑 → ¬ ∅ ∈ (𝐶‘(𝑘 + 1)))))
409, 13, 17, 21, 22, 39nn0ind 12255 . . . 4 (𝑁 ∈ ℕ0 → (𝜑 → ¬ ∅ ∈ (𝐶𝑁)))
414, 40mpcom 38 . . 3 (𝜑 → ¬ ∅ ∈ (𝐶𝑁))
42 hadrot 1608 . . . 4 (hadd(∅ ∈ (𝐶𝑁), 𝑁𝐴, 𝑁𝐵) ↔ hadd(𝑁𝐴, 𝑁𝐵, ∅ ∈ (𝐶𝑁)))
43 had0 1611 . . . 4 (¬ ∅ ∈ (𝐶𝑁) → (hadd(∅ ∈ (𝐶𝑁), 𝑁𝐴, 𝑁𝐵) ↔ (𝑁𝐴𝑁𝐵)))
4442, 43bitr3id 288 . . 3 (¬ ∅ ∈ (𝐶𝑁) → (hadd(𝑁𝐴, 𝑁𝐵, ∅ ∈ (𝐶𝑁)) ↔ (𝑁𝐴𝑁𝐵)))
4541, 44syl 17 . 2 (𝜑 → (hadd(𝑁𝐴, 𝑁𝐵, ∅ ∈ (𝐶𝑁)) ↔ (𝑁𝐴𝑁𝐵)))
46 noel 4235 . . . . 5 ¬ 𝑁 ∈ ∅
47 elin 3873 . . . . . 6 (𝑁 ∈ (𝐴𝐵) ↔ (𝑁𝐴𝑁𝐵))
4831eleq2d 2819 . . . . . 6 (𝜑 → (𝑁 ∈ (𝐴𝐵) ↔ 𝑁 ∈ ∅))
4947, 48bitr3id 288 . . . . 5 (𝜑 → ((𝑁𝐴𝑁𝐵) ↔ 𝑁 ∈ ∅))
5046, 49mtbiri 330 . . . 4 (𝜑 → ¬ (𝑁𝐴𝑁𝐵))
51 xor2 1514 . . . . 5 ((𝑁𝐴𝑁𝐵) ↔ ((𝑁𝐴𝑁𝐵) ∧ ¬ (𝑁𝐴𝑁𝐵)))
5251rbaib 542 . . . 4 (¬ (𝑁𝐴𝑁𝐵) → ((𝑁𝐴𝑁𝐵) ↔ (𝑁𝐴𝑁𝐵)))
5350, 52syl 17 . . 3 (𝜑 → ((𝑁𝐴𝑁𝐵) ↔ (𝑁𝐴𝑁𝐵)))
54 elun 4053 . . 3 (𝑁 ∈ (𝐴𝐵) ↔ (𝑁𝐴𝑁𝐵))
5553, 54bitr4di 292 . 2 (𝜑 → ((𝑁𝐴𝑁𝐵) ↔ 𝑁 ∈ (𝐴𝐵)))
565, 45, 553bitrd 308 1 (𝜑 → (𝑁 ∈ (𝐴 sadd 𝐵) ↔ 𝑁 ∈ (𝐴𝐵)))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 209  wa 399  wo 847  wxo 1507   = wceq 1543  haddwhad 1599  caddwcad 1613  wcel 2110  cun 3855  cin 3856  wss 3857  c0 4227  ifcif 4429  cmpt 5124  cfv 6369  (class class class)co 7202  cmpo 7204  1oc1o 8184  2oc2o 8185  0cc0 10712  1c1 10713   + caddc 10715  cmin 11045  0cn0 12073  seqcseq 13557   sadd csad 15960
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1803  ax-4 1817  ax-5 1918  ax-6 1976  ax-7 2016  ax-8 2112  ax-9 2120  ax-10 2141  ax-11 2158  ax-12 2175  ax-ext 2706  ax-sep 5181  ax-nul 5188  ax-pow 5247  ax-pr 5311  ax-un 7512  ax-cnex 10768  ax-resscn 10769  ax-1cn 10770  ax-icn 10771  ax-addcl 10772  ax-addrcl 10773  ax-mulcl 10774  ax-mulrcl 10775  ax-mulcom 10776  ax-addass 10777  ax-mulass 10778  ax-distr 10779  ax-i2m1 10780  ax-1ne0 10781  ax-1rid 10782  ax-rnegex 10783  ax-rrecex 10784  ax-cnre 10785  ax-pre-lttri 10786  ax-pre-lttrn 10787  ax-pre-ltadd 10788  ax-pre-mulgt0 10789
This theorem depends on definitions:  df-bi 210  df-an 400  df-or 848  df-3or 1090  df-3an 1091  df-xor 1508  df-tru 1546  df-fal 1556  df-had 1600  df-cad 1614  df-ex 1788  df-nf 1792  df-sb 2071  df-mo 2537  df-eu 2566  df-clab 2713  df-cleq 2726  df-clel 2812  df-nfc 2882  df-ne 2936  df-nel 3040  df-ral 3059  df-rex 3060  df-reu 3061  df-rab 3063  df-v 3403  df-sbc 3688  df-csb 3803  df-dif 3860  df-un 3862  df-in 3864  df-ss 3874  df-pss 3876  df-nul 4228  df-if 4430  df-pw 4505  df-sn 4532  df-pr 4534  df-tp 4536  df-op 4538  df-uni 4810  df-iun 4896  df-br 5044  df-opab 5106  df-mpt 5125  df-tr 5151  df-id 5444  df-eprel 5449  df-po 5457  df-so 5458  df-fr 5498  df-we 5500  df-xp 5546  df-rel 5547  df-cnv 5548  df-co 5549  df-dm 5550  df-rn 5551  df-res 5552  df-ima 5553  df-pred 6149  df-ord 6205  df-on 6206  df-lim 6207  df-suc 6208  df-iota 6327  df-fun 6371  df-fn 6372  df-f 6373  df-f1 6374  df-fo 6375  df-f1o 6376  df-fv 6377  df-riota 7159  df-ov 7205  df-oprab 7206  df-mpo 7207  df-om 7634  df-1st 7750  df-2nd 7751  df-wrecs 8036  df-recs 8097  df-rdg 8135  df-1o 8191  df-2o 8192  df-er 8380  df-en 8616  df-dom 8617  df-sdom 8618  df-pnf 10852  df-mnf 10853  df-xr 10854  df-ltxr 10855  df-le 10856  df-sub 11047  df-neg 11048  df-nn 11814  df-n0 12074  df-z 12160  df-uz 12422  df-fz 13079  df-seq 13558  df-sad 15991
This theorem is referenced by:  saddisj  16005
  Copyright terms: Public domain W3C validator