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

Theorem saddisjlem 15110
Description: Lemma for sadadd 15113. (Contributed by Mario Carneiro, 9-Sep-2016.)
Hypotheses
Ref Expression
saddisj.1 (𝜑𝐴 ⊆ ℕ0)
saddisj.2 (𝜑𝐵 ⊆ ℕ0)
saddisj.3 (𝜑 → (𝐴𝐵) = ∅)
saddisjlem.c 𝐶 = seq0((𝑐 ∈ 2𝑜, 𝑚 ∈ ℕ0 ↦ if(cadd(𝑚𝐴, 𝑚𝐵, ∅ ∈ 𝑐), 1𝑜, ∅)), (𝑛 ∈ ℕ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((𝑐 ∈ 2𝑜, 𝑚 ∈ ℕ0 ↦ if(cadd(𝑚𝐴, 𝑚𝐵, ∅ ∈ 𝑐), 1𝑜, ∅)), (𝑛 ∈ ℕ0 ↦ if(𝑛 = 0, ∅, (𝑛 − 1))))
4 saddisjlem.3 . . 3 (𝜑𝑁 ∈ ℕ0)
51, 2, 3, 4sadval 15102 . 2 (𝜑 → (𝑁 ∈ (𝐴 sadd 𝐵) ↔ hadd(𝑁𝐴, 𝑁𝐵, ∅ ∈ (𝐶𝑁))))
6 fveq2 6148 . . . . . . . 8 (𝑥 = 0 → (𝐶𝑥) = (𝐶‘0))
76eleq2d 2684 . . . . . . 7 (𝑥 = 0 → (∅ ∈ (𝐶𝑥) ↔ ∅ ∈ (𝐶‘0)))
87notbid 308 . . . . . 6 (𝑥 = 0 → (¬ ∅ ∈ (𝐶𝑥) ↔ ¬ ∅ ∈ (𝐶‘0)))
98imbi2d 330 . . . . 5 (𝑥 = 0 → ((𝜑 → ¬ ∅ ∈ (𝐶𝑥)) ↔ (𝜑 → ¬ ∅ ∈ (𝐶‘0))))
10 fveq2 6148 . . . . . . . 8 (𝑥 = 𝑘 → (𝐶𝑥) = (𝐶𝑘))
1110eleq2d 2684 . . . . . . 7 (𝑥 = 𝑘 → (∅ ∈ (𝐶𝑥) ↔ ∅ ∈ (𝐶𝑘)))
1211notbid 308 . . . . . 6 (𝑥 = 𝑘 → (¬ ∅ ∈ (𝐶𝑥) ↔ ¬ ∅ ∈ (𝐶𝑘)))
1312imbi2d 330 . . . . 5 (𝑥 = 𝑘 → ((𝜑 → ¬ ∅ ∈ (𝐶𝑥)) ↔ (𝜑 → ¬ ∅ ∈ (𝐶𝑘))))
14 fveq2 6148 . . . . . . . 8 (𝑥 = (𝑘 + 1) → (𝐶𝑥) = (𝐶‘(𝑘 + 1)))
1514eleq2d 2684 . . . . . . 7 (𝑥 = (𝑘 + 1) → (∅ ∈ (𝐶𝑥) ↔ ∅ ∈ (𝐶‘(𝑘 + 1))))
1615notbid 308 . . . . . 6 (𝑥 = (𝑘 + 1) → (¬ ∅ ∈ (𝐶𝑥) ↔ ¬ ∅ ∈ (𝐶‘(𝑘 + 1))))
1716imbi2d 330 . . . . 5 (𝑥 = (𝑘 + 1) → ((𝜑 → ¬ ∅ ∈ (𝐶𝑥)) ↔ (𝜑 → ¬ ∅ ∈ (𝐶‘(𝑘 + 1)))))
18 fveq2 6148 . . . . . . . 8 (𝑥 = 𝑁 → (𝐶𝑥) = (𝐶𝑁))
1918eleq2d 2684 . . . . . . 7 (𝑥 = 𝑁 → (∅ ∈ (𝐶𝑥) ↔ ∅ ∈ (𝐶𝑁)))
2019notbid 308 . . . . . 6 (𝑥 = 𝑁 → (¬ ∅ ∈ (𝐶𝑥) ↔ ¬ ∅ ∈ (𝐶𝑁)))
2120imbi2d 330 . . . . 5 (𝑥 = 𝑁 → ((𝜑 → ¬ ∅ ∈ (𝐶𝑥)) ↔ (𝜑 → ¬ ∅ ∈ (𝐶𝑁))))
221, 2, 3sadc0 15100 . . . . 5 (𝜑 → ¬ ∅ ∈ (𝐶‘0))
23 noel 3895 . . . . . . . . 9 ¬ 𝑘 ∈ ∅
241ad2antrr 761 . . . . . . . . . . 11 (((𝜑𝑘 ∈ ℕ0) ∧ ¬ ∅ ∈ (𝐶𝑘)) → 𝐴 ⊆ ℕ0)
252ad2antrr 761 . . . . . . . . . . 11 (((𝜑𝑘 ∈ ℕ0) ∧ ¬ ∅ ∈ (𝐶𝑘)) → 𝐵 ⊆ ℕ0)
26 simplr 791 . . . . . . . . . . 11 (((𝜑𝑘 ∈ ℕ0) ∧ ¬ ∅ ∈ (𝐶𝑘)) → 𝑘 ∈ ℕ0)
2724, 25, 3, 26sadcp1 15101 . . . . . . . . . 10 (((𝜑𝑘 ∈ ℕ0) ∧ ¬ ∅ ∈ (𝐶𝑘)) → (∅ ∈ (𝐶‘(𝑘 + 1)) ↔ cadd(𝑘𝐴, 𝑘𝐵, ∅ ∈ (𝐶𝑘))))
28 cad0 1553 . . . . . . . . . . 11 (¬ ∅ ∈ (𝐶𝑘) → (cadd(𝑘𝐴, 𝑘𝐵, ∅ ∈ (𝐶𝑘)) ↔ (𝑘𝐴𝑘𝐵)))
2928adantl 482 . . . . . . . . . 10 (((𝜑𝑘 ∈ ℕ0) ∧ ¬ ∅ ∈ (𝐶𝑘)) → (cadd(𝑘𝐴, 𝑘𝐵, ∅ ∈ (𝐶𝑘)) ↔ (𝑘𝐴𝑘𝐵)))
30 elin 3774 . . . . . . . . . . 11 (𝑘 ∈ (𝐴𝐵) ↔ (𝑘𝐴𝑘𝐵))
31 saddisj.3 . . . . . . . . . . . . 13 (𝜑 → (𝐴𝐵) = ∅)
3231ad2antrr 761 . . . . . . . . . . . 12 (((𝜑𝑘 ∈ ℕ0) ∧ ¬ ∅ ∈ (𝐶𝑘)) → (𝐴𝐵) = ∅)
3332eleq2d 2684 . . . . . . . . . . 11 (((𝜑𝑘 ∈ ℕ0) ∧ ¬ ∅ ∈ (𝐶𝑘)) → (𝑘 ∈ (𝐴𝐵) ↔ 𝑘 ∈ ∅))
3430, 33syl5bbr 274 . . . . . . . . . 10 (((𝜑𝑘 ∈ ℕ0) ∧ ¬ ∅ ∈ (𝐶𝑘)) → ((𝑘𝐴𝑘𝐵) ↔ 𝑘 ∈ ∅))
3527, 29, 343bitrd 294 . . . . . . . . 9 (((𝜑𝑘 ∈ ℕ0) ∧ ¬ ∅ ∈ (𝐶𝑘)) → (∅ ∈ (𝐶‘(𝑘 + 1)) ↔ 𝑘 ∈ ∅))
3623, 35mtbiri 317 . . . . . . . 8 (((𝜑𝑘 ∈ ℕ0) ∧ ¬ ∅ ∈ (𝐶𝑘)) → ¬ ∅ ∈ (𝐶‘(𝑘 + 1)))
3736ex 450 . . . . . . 7 ((𝜑𝑘 ∈ ℕ0) → (¬ ∅ ∈ (𝐶𝑘) → ¬ ∅ ∈ (𝐶‘(𝑘 + 1))))
3837expcom 451 . . . . . 6 (𝑘 ∈ ℕ0 → (𝜑 → (¬ ∅ ∈ (𝐶𝑘) → ¬ ∅ ∈ (𝐶‘(𝑘 + 1)))))
3938a2d 29 . . . . 5 (𝑘 ∈ ℕ0 → ((𝜑 → ¬ ∅ ∈ (𝐶𝑘)) → (𝜑 → ¬ ∅ ∈ (𝐶‘(𝑘 + 1)))))
409, 13, 17, 21, 22, 39nn0ind 11416 . . . 4 (𝑁 ∈ ℕ0 → (𝜑 → ¬ ∅ ∈ (𝐶𝑁)))
414, 40mpcom 38 . . 3 (𝜑 → ¬ ∅ ∈ (𝐶𝑁))
42 hadrot 1537 . . . 4 (hadd(∅ ∈ (𝐶𝑁), 𝑁𝐴, 𝑁𝐵) ↔ hadd(𝑁𝐴, 𝑁𝐵, ∅ ∈ (𝐶𝑁)))
43 had0 1540 . . . 4 (¬ ∅ ∈ (𝐶𝑁) → (hadd(∅ ∈ (𝐶𝑁), 𝑁𝐴, 𝑁𝐵) ↔ (𝑁𝐴𝑁𝐵)))
4442, 43syl5bbr 274 . . 3 (¬ ∅ ∈ (𝐶𝑁) → (hadd(𝑁𝐴, 𝑁𝐵, ∅ ∈ (𝐶𝑁)) ↔ (𝑁𝐴𝑁𝐵)))
4541, 44syl 17 . 2 (𝜑 → (hadd(𝑁𝐴, 𝑁𝐵, ∅ ∈ (𝐶𝑁)) ↔ (𝑁𝐴𝑁𝐵)))
46 noel 3895 . . . . 5 ¬ 𝑁 ∈ ∅
47 elin 3774 . . . . . 6 (𝑁 ∈ (𝐴𝐵) ↔ (𝑁𝐴𝑁𝐵))
4831eleq2d 2684 . . . . . 6 (𝜑 → (𝑁 ∈ (𝐴𝐵) ↔ 𝑁 ∈ ∅))
4947, 48syl5bbr 274 . . . . 5 (𝜑 → ((𝑁𝐴𝑁𝐵) ↔ 𝑁 ∈ ∅))
5046, 49mtbiri 317 . . . 4 (𝜑 → ¬ (𝑁𝐴𝑁𝐵))
51 xor2 1467 . . . . 5 ((𝑁𝐴𝑁𝐵) ↔ ((𝑁𝐴𝑁𝐵) ∧ ¬ (𝑁𝐴𝑁𝐵)))
5251rbaib 946 . . . 4 (¬ (𝑁𝐴𝑁𝐵) → ((𝑁𝐴𝑁𝐵) ↔ (𝑁𝐴𝑁𝐵)))
5350, 52syl 17 . . 3 (𝜑 → ((𝑁𝐴𝑁𝐵) ↔ (𝑁𝐴𝑁𝐵)))
54 elun 3731 . . 3 (𝑁 ∈ (𝐴𝐵) ↔ (𝑁𝐴𝑁𝐵))
5553, 54syl6bbr 278 . 2 (𝜑 → ((𝑁𝐴𝑁𝐵) ↔ 𝑁 ∈ (𝐴𝐵)))
565, 45, 553bitrd 294 1 (𝜑 → (𝑁 ∈ (𝐴 sadd 𝐵) ↔ 𝑁 ∈ (𝐴𝐵)))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 196  wo 383  wa 384  wxo 1461   = wceq 1480  haddwhad 1529  caddwcad 1542  wcel 1987  cun 3553  cin 3554  wss 3555  c0 3891  ifcif 4058  cmpt 4673  cfv 5847  (class class class)co 6604  cmpt2 6606  1𝑜c1o 7498  2𝑜c2o 7499  0cc0 9880  1c1 9881   + caddc 9883  cmin 10210  0cn0 11236  seqcseq 12741   sadd csad 15066
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1719  ax-4 1734  ax-5 1836  ax-6 1885  ax-7 1932  ax-8 1989  ax-9 1996  ax-10 2016  ax-11 2031  ax-12 2044  ax-13 2245  ax-ext 2601  ax-sep 4741  ax-nul 4749  ax-pow 4803  ax-pr 4867  ax-un 6902  ax-cnex 9936  ax-resscn 9937  ax-1cn 9938  ax-icn 9939  ax-addcl 9940  ax-addrcl 9941  ax-mulcl 9942  ax-mulrcl 9943  ax-mulcom 9944  ax-addass 9945  ax-mulass 9946  ax-distr 9947  ax-i2m1 9948  ax-1ne0 9949  ax-1rid 9950  ax-rnegex 9951  ax-rrecex 9952  ax-cnre 9953  ax-pre-lttri 9954  ax-pre-lttrn 9955  ax-pre-ltadd 9956  ax-pre-mulgt0 9957
This theorem depends on definitions:  df-bi 197  df-or 385  df-an 386  df-3or 1037  df-3an 1038  df-xor 1462  df-tru 1483  df-had 1530  df-cad 1543  df-ex 1702  df-nf 1707  df-sb 1878  df-eu 2473  df-mo 2474  df-clab 2608  df-cleq 2614  df-clel 2617  df-nfc 2750  df-ne 2791  df-nel 2894  df-ral 2912  df-rex 2913  df-reu 2914  df-rab 2916  df-v 3188  df-sbc 3418  df-csb 3515  df-dif 3558  df-un 3560  df-in 3562  df-ss 3569  df-pss 3571  df-nul 3892  df-if 4059  df-pw 4132  df-sn 4149  df-pr 4151  df-tp 4153  df-op 4155  df-uni 4403  df-iun 4487  df-br 4614  df-opab 4674  df-mpt 4675  df-tr 4713  df-eprel 4985  df-id 4989  df-po 4995  df-so 4996  df-fr 5033  df-we 5035  df-xp 5080  df-rel 5081  df-cnv 5082  df-co 5083  df-dm 5084  df-rn 5085  df-res 5086  df-ima 5087  df-pred 5639  df-ord 5685  df-on 5686  df-lim 5687  df-suc 5688  df-iota 5810  df-fun 5849  df-fn 5850  df-f 5851  df-f1 5852  df-fo 5853  df-f1o 5854  df-fv 5855  df-riota 6565  df-ov 6607  df-oprab 6608  df-mpt2 6609  df-om 7013  df-1st 7113  df-2nd 7114  df-wrecs 7352  df-recs 7413  df-rdg 7451  df-1o 7505  df-2o 7506  df-er 7687  df-en 7900  df-dom 7901  df-sdom 7902  df-pnf 10020  df-mnf 10021  df-xr 10022  df-ltxr 10023  df-le 10024  df-sub 10212  df-neg 10213  df-nn 10965  df-n0 11237  df-z 11322  df-uz 11632  df-fz 12269  df-seq 12742  df-sad 15097
This theorem is referenced by:  saddisj  15111
  Copyright terms: Public domain W3C validator