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

Theorem sadval 16374
Description: The full adder sequence is the half adder function applied to the inputs and the carry sequence. (Contributed by Mario Carneiro, 5-Sep-2016.)
Hypotheses
Ref Expression
sadval.a (𝜑𝐴 ⊆ ℕ0)
sadval.b (𝜑𝐵 ⊆ ℕ0)
sadval.c 𝐶 = seq0((𝑐 ∈ 2o, 𝑚 ∈ ℕ0 ↦ if(cadd(𝑚𝐴, 𝑚𝐵, ∅ ∈ 𝑐), 1o, ∅)), (𝑛 ∈ ℕ0 ↦ if(𝑛 = 0, ∅, (𝑛 − 1))))
sadcp1.n (𝜑𝑁 ∈ ℕ0)
Assertion
Ref Expression
sadval (𝜑 → (𝑁 ∈ (𝐴 sadd 𝐵) ↔ hadd(𝑁𝐴, 𝑁𝐵, ∅ ∈ (𝐶𝑁))))
Distinct variable groups:   𝑚,𝑐,𝑛   𝐴,𝑐,𝑚   𝐵,𝑐,𝑚   𝑛,𝑁
Allowed substitution hints:   𝜑(𝑚,𝑛,𝑐)   𝐴(𝑛)   𝐵(𝑛)   𝐶(𝑚,𝑛,𝑐)   𝑁(𝑚,𝑐)

Proof of Theorem sadval
Dummy variable 𝑘 is distinct from all other variables.
StepHypRef Expression
1 sadval.a . . . 4 (𝜑𝐴 ⊆ ℕ0)
2 sadval.b . . . 4 (𝜑𝐵 ⊆ ℕ0)
3 sadval.c . . . 4 𝐶 = seq0((𝑐 ∈ 2o, 𝑚 ∈ ℕ0 ↦ if(cadd(𝑚𝐴, 𝑚𝐵, ∅ ∈ 𝑐), 1o, ∅)), (𝑛 ∈ ℕ0 ↦ if(𝑛 = 0, ∅, (𝑛 − 1))))
41, 2, 3sadfval 16370 . . 3 (𝜑 → (𝐴 sadd 𝐵) = {𝑘 ∈ ℕ0 ∣ hadd(𝑘𝐴, 𝑘𝐵, ∅ ∈ (𝐶𝑘))})
54eleq2d 2819 . 2 (𝜑 → (𝑁 ∈ (𝐴 sadd 𝐵) ↔ 𝑁 ∈ {𝑘 ∈ ℕ0 ∣ hadd(𝑘𝐴, 𝑘𝐵, ∅ ∈ (𝐶𝑘))}))
6 sadcp1.n . . 3 (𝜑𝑁 ∈ ℕ0)
7 eleq1 2821 . . . . 5 (𝑘 = 𝑁 → (𝑘𝐴𝑁𝐴))
8 eleq1 2821 . . . . 5 (𝑘 = 𝑁 → (𝑘𝐵𝑁𝐵))
9 fveq2 6831 . . . . . 6 (𝑘 = 𝑁 → (𝐶𝑘) = (𝐶𝑁))
109eleq2d 2819 . . . . 5 (𝑘 = 𝑁 → (∅ ∈ (𝐶𝑘) ↔ ∅ ∈ (𝐶𝑁)))
117, 8, 10hadbi123d 1596 . . . 4 (𝑘 = 𝑁 → (hadd(𝑘𝐴, 𝑘𝐵, ∅ ∈ (𝐶𝑘)) ↔ hadd(𝑁𝐴, 𝑁𝐵, ∅ ∈ (𝐶𝑁))))
1211elrab3 3644 . . 3 (𝑁 ∈ ℕ0 → (𝑁 ∈ {𝑘 ∈ ℕ0 ∣ hadd(𝑘𝐴, 𝑘𝐵, ∅ ∈ (𝐶𝑘))} ↔ hadd(𝑁𝐴, 𝑁𝐵, ∅ ∈ (𝐶𝑁))))
136, 12syl 17 . 2 (𝜑 → (𝑁 ∈ {𝑘 ∈ ℕ0 ∣ hadd(𝑘𝐴, 𝑘𝐵, ∅ ∈ (𝐶𝑘))} ↔ hadd(𝑁𝐴, 𝑁𝐵, ∅ ∈ (𝐶𝑁))))
145, 13bitrd 279 1 (𝜑 → (𝑁 ∈ (𝐴 sadd 𝐵) ↔ hadd(𝑁𝐴, 𝑁𝐵, ∅ ∈ (𝐶𝑁))))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 206   = wceq 1541  haddwhad 1594  caddwcad 1607  wcel 2113  {crab 3396  wss 3898  c0 4282  ifcif 4476  cmpt 5176  cfv 6489  (class class class)co 7355  cmpo 7357  1oc1o 8387  2oc2o 8388  0cc0 11017  1c1 11018  cmin 11355  0cn0 12392  seqcseq 13915   sadd csad 16338
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1796  ax-4 1810  ax-5 1911  ax-6 1968  ax-7 2009  ax-8 2115  ax-9 2123  ax-10 2146  ax-11 2162  ax-12 2182  ax-ext 2705  ax-sep 5238  ax-nul 5248  ax-pr 5374  ax-un 7677  ax-cnex 11073  ax-1cn 11075  ax-addcl 11077
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3or 1087  df-3an 1088  df-xor 1513  df-tru 1544  df-fal 1554  df-had 1595  df-cad 1608  df-ex 1781  df-nf 1785  df-sb 2068  df-mo 2537  df-eu 2566  df-clab 2712  df-cleq 2725  df-clel 2808  df-nfc 2882  df-ne 2930  df-ral 3049  df-rex 3058  df-reu 3348  df-rab 3397  df-v 3439  df-sbc 3738  df-csb 3847  df-dif 3901  df-un 3903  df-in 3905  df-ss 3915  df-pss 3918  df-nul 4283  df-if 4477  df-pw 4553  df-sn 4578  df-pr 4580  df-op 4584  df-uni 4861  df-iun 4945  df-br 5096  df-opab 5158  df-mpt 5177  df-tr 5203  df-id 5516  df-eprel 5521  df-po 5529  df-so 5530  df-fr 5574  df-we 5576  df-xp 5627  df-rel 5628  df-cnv 5629  df-co 5630  df-dm 5631  df-rn 5632  df-res 5633  df-ima 5634  df-pred 6256  df-ord 6317  df-on 6318  df-lim 6319  df-suc 6320  df-iota 6445  df-fun 6491  df-fn 6492  df-f 6493  df-f1 6494  df-fo 6495  df-f1o 6496  df-fv 6497  df-ov 7358  df-oprab 7359  df-mpo 7360  df-om 7806  df-2nd 7931  df-frecs 8220  df-wrecs 8251  df-recs 8300  df-rdg 8338  df-nn 12137  df-n0 12393  df-seq 13916  df-sad 16369
This theorem is referenced by:  sadadd2lem  16377  saddisjlem  16382
  Copyright terms: Public domain W3C validator