Metamath Proof Explorer < Previous   Next > Nearby theorems Mirrors  >  Home  >  MPE Home  >  Th. List  >  sadadd Structured version   Unicode version

Theorem sadadd 12971
 Description: For sequences that correspond to valid integers, the adder sequence function produces the sequence for the sum. This is effectively a proof of the correctness of the ripple carry adder, implemented with logic gates corresponding to df-had 1389 and df-cad 1390. It is interesting to consider in what sense the sadd function can be said to be "adding" things outside the range of the bits function, that is, when adding sequences that are not eventually constant and so do not denote any integer. The correct interpretation is that the sequences are representations of 2-adic integers, which have a natural ring structure. (Contributed by Mario Carneiro, 9-Sep-2016.)
Assertion
Ref Expression
sadadd bits sadd bits bits

Proof of Theorem sadadd
Dummy variables are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 bitsss 12930 . . . . . 6 bits
2 bitsss 12930 . . . . . 6 bits
3 sadcl 12966 . . . . . 6 bits bits bits sadd bits
41, 2, 3mp2an 654 . . . . 5 bits sadd bits
54sseli 3336 . . . 4 bits sadd bits
65a1i 11 . . 3 bits sadd bits
7 bitsss 12930 . . . . 5 bits
87sseli 3336 . . . 4 bits
98a1i 11 . . 3 bits
10 eqid 2435 . . . . . . . . 9 cadd bits bits cadd bits bits
11 eqid 2435 . . . . . . . . 9 bits bits
12 simpll 731 . . . . . . . . 9
13 simplr 732 . . . . . . . . 9
14 simpr 448 . . . . . . . . . 10
15 1nn0 10229 . . . . . . . . . . 11
1615a1i 11 . . . . . . . . . 10
1714, 16nn0addcld 10270 . . . . . . . . 9
1810, 11, 12, 13, 17sadaddlem 12970 . . . . . . . 8 bits sadd bits ..^ bits
1912, 13zaddcld 10371 . . . . . . . . 9
20 bitsmod 12940 . . . . . . . . 9 bits bits ..^
2119, 17, 20syl2anc 643 . . . . . . . 8 bits bits ..^
2218, 21eqtrd 2467 . . . . . . 7 bits sadd bits ..^ bits ..^
2322eleq2d 2502 . . . . . 6 bits sadd bits ..^ bits ..^
24 elin 3522 . . . . . 6 bits sadd bits ..^ bits sadd bits ..^
25 elin 3522 . . . . . 6 bits ..^ bits ..^
2623, 24, 253bitr3g 279 . . . . 5 bits sadd bits ..^ bits ..^
27 nn0uz 10512 . . . . . . . . 9
2814, 27syl6eleq 2525 . . . . . . . 8
29 eluzfz2 11057 . . . . . . . 8
3028, 29syl 16 . . . . . . 7
3114nn0zd 10365 . . . . . . . 8
32 fzval3 11172 . . . . . . . 8 ..^
3331, 32syl 16 . . . . . . 7 ..^
3430, 33eleqtrd 2511 . . . . . 6 ..^
3534biantrud 494 . . . . 5 bits sadd bits bits sadd bits ..^
3634biantrud 494 . . . . 5 bits bits ..^
3726, 35, 363bitr4d 277 . . . 4 bits sadd bits bits
3837ex 424 . . 3 bits sadd bits bits
396, 9, 38pm5.21ndd 344 . 2 bits sadd bits bits
4039eqrdv 2433 1 bits sadd bits bits
 Colors of variables: wff set class Syntax hints:   wi 4   wb 177   wa 359  caddwcad 1388   wceq 1652   wcel 1725   cin 3311   wss 3312  c0 3620  cif 3731   cmpt 4258  ccnv 4869   cres 4872  cfv 5446  (class class class)co 6073   cmpt2 6075  c1o 6709  c2o 6710  cc0 8982  c1 8983   caddc 8985   cmin 9283  c2 10041  cn0 10213  cz 10274  cuz 10480  cfz 11035  ..^cfzo 11127   cmo 11242   cseq 11315  cexp 11374  bitscbits 12923   sadd csad 12924 This theorem is referenced by:  bitsres  12977  smumullem  12996 This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1555  ax-5 1566  ax-17 1626  ax-9 1666  ax-8 1687  ax-13 1727  ax-14 1729  ax-6 1744  ax-7 1749  ax-11 1761  ax-12 1950  ax-ext 2416  ax-rep 4312  ax-sep 4322  ax-nul 4330  ax-pow 4369  ax-pr 4395  ax-un 4693  ax-inf2 7588  ax-cnex 9038  ax-resscn 9039  ax-1cn 9040  ax-icn 9041  ax-addcl 9042  ax-addrcl 9043  ax-mulcl 9044  ax-mulrcl 9045  ax-mulcom 9046  ax-addass 9047  ax-mulass 9048  ax-distr 9049  ax-i2m1 9050  ax-1ne0 9051  ax-1rid 9052  ax-rnegex 9053  ax-rrecex 9054  ax-cnre 9055  ax-pre-lttri 9056  ax-pre-lttrn 9057  ax-pre-ltadd 9058  ax-pre-mulgt0 9059  ax-pre-sup 9060 This theorem depends on definitions:  df-bi 178  df-or 360  df-an 361  df-3or 937  df-3an 938  df-xor 1314  df-tru 1328  df-had 1389  df-cad 1390  df-ex 1551  df-nf 1554  df-sb 1659  df-eu 2284  df-mo 2285  df-clab 2422  df-cleq 2428  df-clel 2431  df-nfc 2560  df-ne 2600  df-nel 2601  df-ral 2702  df-rex 2703  df-reu 2704  df-rmo 2705  df-rab 2706  df-v 2950  df-sbc 3154  df-csb 3244  df-dif 3315  df-un 3317  df-in 3319  df-ss 3326  df-pss 3328  df-nul 3621  df-if 3732  df-pw 3793  df-sn 3812  df-pr 3813  df-tp 3814  df-op 3815  df-uni 4008  df-int 4043  df-iun 4087  df-disj 4175  df-br 4205  df-opab 4259  df-mpt 4260  df-tr 4295  df-eprel 4486  df-id 4490  df-po 4495  df-so 4496  df-fr 4533  df-se 4534  df-we 4535  df-ord 4576  df-on 4577  df-lim 4578  df-suc 4579  df-om 4838  df-xp 4876  df-rel 4877  df-cnv 4878  df-co 4879  df-dm 4880  df-rn 4881  df-res 4882  df-ima 4883  df-iota 5410  df-fun 5448  df-fn 5449  df-f 5450  df-f1 5451  df-fo 5452  df-f1o 5453  df-fv 5454  df-isom 5455  df-ov 6076  df-oprab 6077  df-mpt2 6078  df-1st 6341  df-2nd 6342  df-riota 6541  df-recs 6625  df-rdg 6660  df-1o 6716  df-2o 6717  df-oadd 6720  df-er 6897  df-map 7012  df-pm 7013  df-en 7102  df-dom 7103  df-sdom 7104  df-fin 7105  df-sup 7438  df-oi 7471  df-card 7818  df-cda 8040  df-pnf 9114  df-mnf 9115  df-xr 9116  df-ltxr 9117  df-le 9118  df-sub 9285  df-neg 9286  df-div 9670  df-nn 9993  df-2 10050  df-3 10051  df-n0 10214  df-z 10275  df-uz 10481  df-rp 10605  df-fz 11036  df-fzo 11128  df-fl 11194  df-mod 11243  df-seq 11316  df-exp 11375  df-hash 11611  df-cj 11896  df-re 11897  df-im 11898  df-sqr 12032  df-abs 12033  df-clim 12274  df-sum 12472  df-dvds 12845  df-bits 12926  df-sad 12955
 Copyright terms: Public domain W3C validator