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

Theorem smumul 13036
 Description: For sequences that correspond to valid integers, the sequence multiplication function produces the sequence for the product. This is effectively a proof of the correctness of the multiplication process, implemented in terms of logic gates for df-sad 12994, whose correctness is verified in sadadd 13010. Outside this range, the sequences cannot be representing integers, but the smul function still "works". This extended function is best interpreted in terms of the ring structure of the 2-adic integers. (Contributed by Mario Carneiro, 22-Sep-2016.)
Assertion
Ref Expression
smumul bits smul bits bits

Proof of Theorem smumul
Dummy variable is distinct from all other variables.
StepHypRef Expression
1 bitsss 12969 . . . . . 6 bits
2 bitsss 12969 . . . . . 6 bits
3 smucl 13027 . . . . . 6 bits bits bits smul bits
41, 2, 3mp2an 655 . . . . 5 bits smul bits
54sseli 3330 . . . 4 bits smul bits
65a1i 11 . . 3 bits smul bits
7 bitsss 12969 . . . . 5 bits
87sseli 3330 . . . 4 bits
98a1i 11 . . 3 bits
10 simpll 732 . . . . . . . . . . . 12
11 simplr 733 . . . . . . . . . . . 12
12 simpr 449 . . . . . . . . . . . . 13
13 1nn0 10268 . . . . . . . . . . . . . 14
1413a1i 11 . . . . . . . . . . . . 13
1512, 14nn0addcld 10309 . . . . . . . . . . . 12
1610, 11, 15smumullem 13035 . . . . . . . . . . 11 bits ..^ smul bits bits
1716ineq1d 3527 . . . . . . . . . 10 bits ..^ smul bits ..^ bits ..^
18 2nn 10164 . . . . . . . . . . . . . . . 16
1918a1i 11 . . . . . . . . . . . . . . 15
2019, 15nnexpcld 11575 . . . . . . . . . . . . . 14
2110, 20zmodcld 11298 . . . . . . . . . . . . 13
2221nn0zd 10404 . . . . . . . . . . . 12
2322, 11zmulcld 10412 . . . . . . . . . . 11
24 bitsmod 12979 . . . . . . . . . . 11 bits bits ..^
2523, 15, 24syl2anc 644 . . . . . . . . . 10 bits bits ..^
2617, 25eqtr4d 2477 . . . . . . . . 9 bits ..^ smul bits ..^ bits
27 inass 3536 . . . . . . . . . . . . 13 bits ..^ ..^ bits ..^ ..^
28 inidm 3535 . . . . . . . . . . . . . 14 ..^ ..^ ..^
2928ineq2i 3525 . . . . . . . . . . . . 13 bits ..^ ..^ bits ..^
3027, 29eqtri 2462 . . . . . . . . . . . 12 bits ..^ ..^ bits ..^
3130oveq1i 6120 . . . . . . . . . . 11 bits ..^ ..^ smul bits ..^ bits ..^ smul bits ..^
3231ineq1i 3524 . . . . . . . . . 10 bits ..^ ..^ smul bits ..^ ..^ bits ..^ smul bits ..^ ..^
33 inss1 3546 . . . . . . . . . . . 12 bits ..^ bits
341a1i 11 . . . . . . . . . . . 12 bits
3533, 34syl5ss 3345 . . . . . . . . . . 11 bits ..^
362a1i 11 . . . . . . . . . . 11 bits
3735, 36, 15smueq 13034 . . . . . . . . . 10 bits ..^ smul bits ..^ bits ..^ ..^ smul bits ..^ ..^
3834, 36, 15smueq 13034 . . . . . . . . . 10 bits smul bits ..^ bits ..^ smul bits ..^ ..^
3932, 37, 383eqtr4a 2500 . . . . . . . . 9 bits ..^ smul bits ..^ bits smul bits ..^
4020nnrpd 10678 . . . . . . . . . . 11
4110zred 10406 . . . . . . . . . . . 12
42 modabs2 11306 . . . . . . . . . . . 12
4341, 40, 42syl2anc 644 . . . . . . . . . . 11
44 eqidd 2443 . . . . . . . . . . 11
4522, 10, 11, 11, 40, 43, 44modmul12d 11311 . . . . . . . . . 10
4645fveq2d 5761 . . . . . . . . 9 bits bits
4726, 39, 463eqtr3d 2482 . . . . . . . 8 bits smul bits ..^ bits
4810, 11zmulcld 10412 . . . . . . . . 9
49 bitsmod 12979 . . . . . . . . 9 bits bits ..^
5048, 15, 49syl2anc 644 . . . . . . . 8 bits bits ..^
5147, 50eqtrd 2474 . . . . . . 7 bits smul bits ..^ bits ..^
5251eleq2d 2509 . . . . . 6 bits smul bits ..^ bits ..^
53 elin 3516 . . . . . 6 bits smul bits ..^ bits smul bits ..^
54 elin 3516 . . . . . 6 bits ..^ bits ..^
5552, 53, 543bitr3g 280 . . . . 5 bits smul bits ..^ bits ..^
56 nn0uz 10551 . . . . . . . . 9
5712, 56syl6eleq 2532 . . . . . . . 8
58 eluzfz2b 11097 . . . . . . . 8
5957, 58sylib 190 . . . . . . 7
6012nn0zd 10404 . . . . . . . 8
61 fzval3 11211 . . . . . . . 8 ..^
6260, 61syl 16 . . . . . . 7 ..^
6359, 62eleqtrd 2518 . . . . . 6 ..^
6463biantrud 495 . . . . 5 bits smul bits bits smul bits ..^
6563biantrud 495 . . . . 5 bits bits ..^
6655, 64, 653bitr4d 278 . . . 4 bits smul bits bits
6766ex 425 . . 3 bits smul bits bits
686, 9, 67pm5.21ndd 345 . 2 bits smul bits bits
6968eqrdv 2440 1 bits smul bits bits
 Colors of variables: wff set class Syntax hints:   wi 4   wb 178   wa 360   wceq 1653   wcel 1727   cin 3305   wss 3306  cfv 5483  (class class class)co 6110  cr 9020  cc0 9021  c1 9022   caddc 9024   cmul 9026  cn 10031  c2 10080  cn0 10252  cz 10313  cuz 10519  crp 10643  cfz 11074  ..^cfzo 11166   cmo 11281  cexp 11413  bitscbits 12962   smul csmu 12964 This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1556  ax-5 1567  ax-17 1627  ax-9 1668  ax-8 1689  ax-13 1729  ax-14 1731  ax-6 1746  ax-7 1751  ax-11 1763  ax-12 1953  ax-ext 2423  ax-rep 4345  ax-sep 4355  ax-nul 4363  ax-pow 4406  ax-pr 4432  ax-un 4730  ax-inf2 7625  ax-cnex 9077  ax-resscn 9078  ax-1cn 9079  ax-icn 9080  ax-addcl 9081  ax-addrcl 9082  ax-mulcl 9083  ax-mulrcl 9084  ax-mulcom 9085  ax-addass 9086  ax-mulass 9087  ax-distr 9088  ax-i2m1 9089  ax-1ne0 9090  ax-1rid 9091  ax-rnegex 9092  ax-rrecex 9093  ax-cnre 9094  ax-pre-lttri 9095  ax-pre-lttrn 9096  ax-pre-ltadd 9097  ax-pre-mulgt0 9098  ax-pre-sup 9099 This theorem depends on definitions:  df-bi 179  df-or 361  df-an 362  df-3or 938  df-3an 939  df-xor 1315  df-tru 1329  df-had 1390  df-cad 1391  df-ex 1552  df-nf 1555  df-sb 1660  df-eu 2291  df-mo 2292  df-clab 2429  df-cleq 2435  df-clel 2438  df-nfc 2567  df-ne 2607  df-nel 2608  df-ral 2716  df-rex 2717  df-reu 2718  df-rmo 2719  df-rab 2720  df-v 2964  df-sbc 3168  df-csb 3268  df-dif 3309  df-un 3311  df-in 3313  df-ss 3320  df-pss 3322  df-nul 3614  df-if 3764  df-pw 3825  df-sn 3844  df-pr 3845  df-tp 3846  df-op 3847  df-uni 4040  df-int 4075  df-iun 4119  df-disj 4208  df-br 4238  df-opab 4292  df-mpt 4293  df-tr 4328  df-eprel 4523  df-id 4527  df-po 4532  df-so 4533  df-fr 4570  df-se 4571  df-we 4572  df-ord 4613  df-on 4614  df-lim 4615  df-suc 4616  df-om 4875  df-xp 4913  df-rel 4914  df-cnv 4915  df-co 4916  df-dm 4917  df-rn 4918  df-res 4919  df-ima 4920  df-iota 5447  df-fun 5485  df-fn 5486  df-f 5487  df-f1 5488  df-fo 5489  df-f1o 5490  df-fv 5491  df-isom 5492  df-ov 6113  df-oprab 6114  df-mpt2 6115  df-1st 6378  df-2nd 6379  df-riota 6578  df-recs 6662  df-rdg 6697  df-1o 6753  df-2o 6754  df-oadd 6757  df-er 6934  df-map 7049  df-pm 7050  df-en 7139  df-dom 7140  df-sdom 7141  df-fin 7142  df-sup 7475  df-oi 7508  df-card 7857  df-cda 8079  df-pnf 9153  df-mnf 9154  df-xr 9155  df-ltxr 9156  df-le 9157  df-sub 9324  df-neg 9325  df-div 9709  df-nn 10032  df-2 10089  df-3 10090  df-n0 10253  df-z 10314  df-uz 10520  df-rp 10644  df-fz 11075  df-fzo 11167  df-fl 11233  df-mod 11282  df-seq 11355  df-exp 11414  df-hash 11650  df-cj 11935  df-re 11936  df-im 11937  df-sqr 12071  df-abs 12072  df-clim 12313  df-sum 12511  df-dvds 12884  df-bits 12965  df-sad 12994  df-smu 13019
 Copyright terms: Public domain W3C validator