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

Theorem smumul 14546
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 14504, whose correctness is verified in sadadd 14520.

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  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( (bits `  A
) smul  (bits `  B )
)  =  (bits `  ( A  x.  B
) ) )

Proof of Theorem smumul
Dummy variable  k is distinct from all other variables.
StepHypRef Expression
1 bitsss 14478 . . . . . 6  |-  (bits `  A )  C_  NN0
2 bitsss 14478 . . . . . 6  |-  (bits `  B )  C_  NN0
3 smucl 14537 . . . . . 6  |-  ( ( (bits `  A )  C_ 
NN0  /\  (bits `  B
)  C_  NN0 )  -> 
( (bits `  A
) smul  (bits `  B )
)  C_  NN0 )
41, 2, 3mp2an 686 . . . . 5  |-  ( (bits `  A ) smul  (bits `  B ) )  C_  NN0
54sseli 3414 . . . 4  |-  ( k  e.  ( (bits `  A ) smul  (bits `  B
) )  ->  k  e.  NN0 )
65a1i 11 . . 3  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( k  e.  ( (bits `  A ) smul  (bits `  B ) )  ->  k  e.  NN0 ) )
7 bitsss 14478 . . . . 5  |-  (bits `  ( A  x.  B
) )  C_  NN0
87sseli 3414 . . . 4  |-  ( k  e.  (bits `  ( A  x.  B )
)  ->  k  e.  NN0 )
98a1i 11 . . 3  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( k  e.  (bits `  ( A  x.  B
) )  ->  k  e.  NN0 ) )
10 simpll 768 . . . . . . . . . . . 12  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  A  e.  ZZ )
11 simplr 770 . . . . . . . . . . . 12  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  B  e.  ZZ )
12 simpr 468 . . . . . . . . . . . . 13  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  k  e.  NN0 )
13 1nn0 10909 . . . . . . . . . . . . . 14  |-  1  e.  NN0
1413a1i 11 . . . . . . . . . . . . 13  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  1  e.  NN0 )
1512, 14nn0addcld 10953 . . . . . . . . . . . 12  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( k  +  1 )  e.  NN0 )
1610, 11, 15smumullem 14545 . . . . . . . . . . 11  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( ( (bits `  A )  i^i  (
0..^ ( k  +  1 ) ) ) smul  (bits `  B )
)  =  (bits `  ( ( A  mod  ( 2 ^ (
k  +  1 ) ) )  x.  B
) ) )
1716ineq1d 3624 . . . . . . . . . 10  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( ( ( (bits `  A )  i^i  ( 0..^ ( k  +  1 ) ) ) smul  (bits `  B
) )  i^i  (
0..^ ( k  +  1 ) ) )  =  ( (bits `  ( ( A  mod  ( 2 ^ (
k  +  1 ) ) )  x.  B
) )  i^i  (
0..^ ( k  +  1 ) ) ) )
18 2nn 10790 . . . . . . . . . . . . . . . 16  |-  2  e.  NN
1918a1i 11 . . . . . . . . . . . . . . 15  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  2  e.  NN )
2019, 15nnexpcld 12475 . . . . . . . . . . . . . 14  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( 2 ^ ( k  +  1 ) )  e.  NN )
2110, 20zmodcld 12150 . . . . . . . . . . . . 13  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( A  mod  ( 2 ^ (
k  +  1 ) ) )  e.  NN0 )
2221nn0zd 11061 . . . . . . . . . . . 12  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( A  mod  ( 2 ^ (
k  +  1 ) ) )  e.  ZZ )
2322, 11zmulcld 11069 . . . . . . . . . . 11  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( ( A  mod  ( 2 ^ ( k  +  1 ) ) )  x.  B )  e.  ZZ )
24 bitsmod 14489 . . . . . . . . . . 11  |-  ( ( ( ( A  mod  ( 2 ^ (
k  +  1 ) ) )  x.  B
)  e.  ZZ  /\  ( k  +  1 )  e.  NN0 )  ->  (bits `  ( (
( A  mod  (
2 ^ ( k  +  1 ) ) )  x.  B )  mod  ( 2 ^ ( k  +  1 ) ) ) )  =  ( (bits `  ( ( A  mod  ( 2 ^ (
k  +  1 ) ) )  x.  B
) )  i^i  (
0..^ ( k  +  1 ) ) ) )
2523, 15, 24syl2anc 673 . . . . . . . . . 10  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  (bits `  (
( ( A  mod  ( 2 ^ (
k  +  1 ) ) )  x.  B
)  mod  ( 2 ^ ( k  +  1 ) ) ) )  =  ( (bits `  ( ( A  mod  ( 2 ^ (
k  +  1 ) ) )  x.  B
) )  i^i  (
0..^ ( k  +  1 ) ) ) )
2617, 25eqtr4d 2508 . . . . . . . . 9  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( ( ( (bits `  A )  i^i  ( 0..^ ( k  +  1 ) ) ) smul  (bits `  B
) )  i^i  (
0..^ ( k  +  1 ) ) )  =  (bits `  (
( ( A  mod  ( 2 ^ (
k  +  1 ) ) )  x.  B
)  mod  ( 2 ^ ( k  +  1 ) ) ) ) )
27 inass 3633 . . . . . . . . . . . . 13  |-  ( ( (bits `  A )  i^i  ( 0..^ ( k  +  1 ) ) )  i^i  ( 0..^ ( k  +  1 ) ) )  =  ( (bits `  A
)  i^i  ( (
0..^ ( k  +  1 ) )  i^i  ( 0..^ ( k  +  1 ) ) ) )
28 inidm 3632 . . . . . . . . . . . . . 14  |-  ( ( 0..^ ( k  +  1 ) )  i^i  ( 0..^ ( k  +  1 ) ) )  =  ( 0..^ ( k  +  1 ) )
2928ineq2i 3622 . . . . . . . . . . . . 13  |-  ( (bits `  A )  i^i  (
( 0..^ ( k  +  1 ) )  i^i  ( 0..^ ( k  +  1 ) ) ) )  =  ( (bits `  A
)  i^i  ( 0..^ ( k  +  1 ) ) )
3027, 29eqtri 2493 . . . . . . . . . . . 12  |-  ( ( (bits `  A )  i^i  ( 0..^ ( k  +  1 ) ) )  i^i  ( 0..^ ( k  +  1 ) ) )  =  ( (bits `  A
)  i^i  ( 0..^ ( k  +  1 ) ) )
3130oveq1i 6318 . . . . . . . . . . 11  |-  ( ( ( (bits `  A
)  i^i  ( 0..^ ( k  +  1 ) ) )  i^i  ( 0..^ ( k  +  1 ) ) ) smul  ( (bits `  B )  i^i  (
0..^ ( k  +  1 ) ) ) )  =  ( ( (bits `  A )  i^i  ( 0..^ ( k  +  1 ) ) ) smul  ( (bits `  B )  i^i  (
0..^ ( k  +  1 ) ) ) )
3231ineq1i 3621 . . . . . . . . . 10  |-  ( ( ( ( (bits `  A )  i^i  (
0..^ ( k  +  1 ) ) )  i^i  ( 0..^ ( k  +  1 ) ) ) smul  ( (bits `  B )  i^i  (
0..^ ( k  +  1 ) ) ) )  i^i  ( 0..^ ( k  +  1 ) ) )  =  ( ( ( (bits `  A )  i^i  (
0..^ ( k  +  1 ) ) ) smul  ( (bits `  B
)  i^i  ( 0..^ ( k  +  1 ) ) ) )  i^i  ( 0..^ ( k  +  1 ) ) )
33 inss1 3643 . . . . . . . . . . . 12  |-  ( (bits `  A )  i^i  (
0..^ ( k  +  1 ) ) ) 
C_  (bits `  A
)
341a1i 11 . . . . . . . . . . . 12  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  (bits `  A
)  C_  NN0 )
3533, 34syl5ss 3429 . . . . . . . . . . 11  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( (bits `  A )  i^i  (
0..^ ( k  +  1 ) ) ) 
C_  NN0 )
362a1i 11 . . . . . . . . . . 11  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  (bits `  B
)  C_  NN0 )
3735, 36, 15smueq 14544 . . . . . . . . . 10  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( ( ( (bits `  A )  i^i  ( 0..^ ( k  +  1 ) ) ) smul  (bits `  B
) )  i^i  (
0..^ ( k  +  1 ) ) )  =  ( ( ( ( (bits `  A
)  i^i  ( 0..^ ( k  +  1 ) ) )  i^i  ( 0..^ ( k  +  1 ) ) ) smul  ( (bits `  B )  i^i  (
0..^ ( k  +  1 ) ) ) )  i^i  ( 0..^ ( k  +  1 ) ) ) )
3834, 36, 15smueq 14544 . . . . . . . . . 10  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( ( (bits `  A ) smul  (bits `  B ) )  i^i  ( 0..^ ( k  +  1 ) ) )  =  ( ( ( (bits `  A
)  i^i  ( 0..^ ( k  +  1 ) ) ) smul  (
(bits `  B )  i^i  ( 0..^ ( k  +  1 ) ) ) )  i^i  (
0..^ ( k  +  1 ) ) ) )
3932, 37, 383eqtr4a 2531 . . . . . . . . 9  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( ( ( (bits `  A )  i^i  ( 0..^ ( k  +  1 ) ) ) smul  (bits `  B
) )  i^i  (
0..^ ( k  +  1 ) ) )  =  ( ( (bits `  A ) smul  (bits `  B ) )  i^i  ( 0..^ ( k  +  1 ) ) ) )
4020nnrpd 11362 . . . . . . . . . . 11  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( 2 ^ ( k  +  1 ) )  e.  RR+ )
4110zred 11063 . . . . . . . . . . . 12  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  A  e.  RR )
42 modabs2 12164 . . . . . . . . . . . 12  |-  ( ( A  e.  RR  /\  ( 2 ^ (
k  +  1 ) )  e.  RR+ )  ->  ( ( A  mod  ( 2 ^ (
k  +  1 ) ) )  mod  (
2 ^ ( k  +  1 ) ) )  =  ( A  mod  ( 2 ^ ( k  +  1 ) ) ) )
4341, 40, 42syl2anc 673 . . . . . . . . . . 11  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( ( A  mod  ( 2 ^ ( k  +  1 ) ) )  mod  ( 2 ^ (
k  +  1 ) ) )  =  ( A  mod  ( 2 ^ ( k  +  1 ) ) ) )
44 eqidd 2472 . . . . . . . . . . 11  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( B  mod  ( 2 ^ (
k  +  1 ) ) )  =  ( B  mod  ( 2 ^ ( k  +  1 ) ) ) )
4522, 10, 11, 11, 40, 43, 44modmul12d 12178 . . . . . . . . . 10  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( ( ( A  mod  ( 2 ^ ( k  +  1 ) ) )  x.  B )  mod  ( 2 ^ (
k  +  1 ) ) )  =  ( ( A  x.  B
)  mod  ( 2 ^ ( k  +  1 ) ) ) )
4645fveq2d 5883 . . . . . . . . 9  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  (bits `  (
( ( A  mod  ( 2 ^ (
k  +  1 ) ) )  x.  B
)  mod  ( 2 ^ ( k  +  1 ) ) ) )  =  (bits `  ( ( A  x.  B )  mod  (
2 ^ ( k  +  1 ) ) ) ) )
4726, 39, 463eqtr3d 2513 . . . . . . . 8  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( ( (bits `  A ) smul  (bits `  B ) )  i^i  ( 0..^ ( k  +  1 ) ) )  =  (bits `  ( ( A  x.  B )  mod  (
2 ^ ( k  +  1 ) ) ) ) )
4810, 11zmulcld 11069 . . . . . . . . 9  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( A  x.  B )  e.  ZZ )
49 bitsmod 14489 . . . . . . . . 9  |-  ( ( ( A  x.  B
)  e.  ZZ  /\  ( k  +  1 )  e.  NN0 )  ->  (bits `  ( ( A  x.  B )  mod  ( 2 ^ (
k  +  1 ) ) ) )  =  ( (bits `  ( A  x.  B )
)  i^i  ( 0..^ ( k  +  1 ) ) ) )
5048, 15, 49syl2anc 673 . . . . . . . 8  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  (bits `  (
( A  x.  B
)  mod  ( 2 ^ ( k  +  1 ) ) ) )  =  ( (bits `  ( A  x.  B
) )  i^i  (
0..^ ( k  +  1 ) ) ) )
5147, 50eqtrd 2505 . . . . . . 7  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( ( (bits `  A ) smul  (bits `  B ) )  i^i  ( 0..^ ( k  +  1 ) ) )  =  ( (bits `  ( A  x.  B
) )  i^i  (
0..^ ( k  +  1 ) ) ) )
5251eleq2d 2534 . . . . . 6  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( k  e.  ( ( (bits `  A ) smul  (bits `  B
) )  i^i  (
0..^ ( k  +  1 ) ) )  <-> 
k  e.  ( (bits `  ( A  x.  B
) )  i^i  (
0..^ ( k  +  1 ) ) ) ) )
53 elin 3608 . . . . . 6  |-  ( k  e.  ( ( (bits `  A ) smul  (bits `  B ) )  i^i  ( 0..^ ( k  +  1 ) ) )  <->  ( k  e.  ( (bits `  A
) smul  (bits `  B )
)  /\  k  e.  ( 0..^ ( k  +  1 ) ) ) )
54 elin 3608 . . . . . 6  |-  ( k  e.  ( (bits `  ( A  x.  B
) )  i^i  (
0..^ ( k  +  1 ) ) )  <-> 
( k  e.  (bits `  ( A  x.  B
) )  /\  k  e.  ( 0..^ ( k  +  1 ) ) ) )
5552, 53, 543bitr3g 295 . . . . 5  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( ( k  e.  ( (bits `  A ) smul  (bits `  B
) )  /\  k  e.  ( 0..^ ( k  +  1 ) ) )  <->  ( k  e.  (bits `  ( A  x.  B ) )  /\  k  e.  ( 0..^ ( k  +  1 ) ) ) ) )
56 nn0uz 11217 . . . . . . . . 9  |-  NN0  =  ( ZZ>= `  0 )
5712, 56syl6eleq 2559 . . . . . . . 8  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  k  e.  (
ZZ>= `  0 ) )
58 eluzfz2b 11834 . . . . . . . 8  |-  ( k  e.  ( ZZ>= `  0
)  <->  k  e.  ( 0 ... k ) )
5957, 58sylib 201 . . . . . . 7  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  k  e.  ( 0 ... k ) )
6012nn0zd 11061 . . . . . . . 8  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  k  e.  ZZ )
61 fzval3 12012 . . . . . . . 8  |-  ( k  e.  ZZ  ->  (
0 ... k )  =  ( 0..^ ( k  +  1 ) ) )
6260, 61syl 17 . . . . . . 7  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( 0 ... k )  =  ( 0..^ ( k  +  1 ) ) )
6359, 62eleqtrd 2551 . . . . . 6  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  k  e.  ( 0..^ ( k  +  1 ) ) )
6463biantrud 515 . . . . 5  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( k  e.  ( (bits `  A
) smul  (bits `  B )
)  <->  ( k  e.  ( (bits `  A
) smul  (bits `  B )
)  /\  k  e.  ( 0..^ ( k  +  1 ) ) ) ) )
6563biantrud 515 . . . . 5  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( k  e.  (bits `  ( A  x.  B ) )  <->  ( k  e.  (bits `  ( A  x.  B ) )  /\  k  e.  ( 0..^ ( k  +  1 ) ) ) ) )
6655, 64, 653bitr4d 293 . . . 4  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( k  e.  ( (bits `  A
) smul  (bits `  B )
)  <->  k  e.  (bits `  ( A  x.  B
) ) ) )
6766ex 441 . . 3  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( k  e.  NN0  ->  ( k  e.  ( (bits `  A ) smul  (bits `  B ) )  <-> 
k  e.  (bits `  ( A  x.  B
) ) ) ) )
686, 9, 67pm5.21ndd 361 . 2  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( k  e.  ( (bits `  A ) smul  (bits `  B ) )  <-> 
k  e.  (bits `  ( A  x.  B
) ) ) )
6968eqrdv 2469 1  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( (bits `  A
) smul  (bits `  B )
)  =  (bits `  ( A  x.  B
) ) )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    <-> wb 189    /\ wa 376    = wceq 1452    e. wcel 1904    i^i cin 3389    C_ wss 3390   ` cfv 5589  (class class class)co 6308   RRcr 9556   0cc0 9557   1c1 9558    + caddc 9560    x. cmul 9562   NNcn 10631   2c2 10681   NN0cn0 10893   ZZcz 10961   ZZ>=cuz 11182   RR+crp 11325   ...cfz 11810  ..^cfzo 11942    mod cmo 12129   ^cexp 12310  bitscbits 14471   smul csmu 14473
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1677  ax-4 1690  ax-5 1766  ax-6 1813  ax-7 1859  ax-8 1906  ax-9 1913  ax-10 1932  ax-11 1937  ax-12 1950  ax-13 2104  ax-ext 2451  ax-rep 4508  ax-sep 4518  ax-nul 4527  ax-pow 4579  ax-pr 4639  ax-un 6602  ax-inf2 8164  ax-cnex 9613  ax-resscn 9614  ax-1cn 9615  ax-icn 9616  ax-addcl 9617  ax-addrcl 9618  ax-mulcl 9619  ax-mulrcl 9620  ax-mulcom 9621  ax-addass 9622  ax-mulass 9623  ax-distr 9624  ax-i2m1 9625  ax-1ne0 9626  ax-1rid 9627  ax-rnegex 9628  ax-rrecex 9629  ax-cnre 9630  ax-pre-lttri 9631  ax-pre-lttrn 9632  ax-pre-ltadd 9633  ax-pre-mulgt0 9634  ax-pre-sup 9635
This theorem depends on definitions:  df-bi 190  df-or 377  df-an 378  df-3or 1008  df-3an 1009  df-xor 1431  df-tru 1455  df-fal 1458  df-had 1505  df-cad 1518  df-ex 1672  df-nf 1676  df-sb 1806  df-eu 2323  df-mo 2324  df-clab 2458  df-cleq 2464  df-clel 2467  df-nfc 2601  df-ne 2643  df-nel 2644  df-ral 2761  df-rex 2762  df-reu 2763  df-rmo 2764  df-rab 2765  df-v 3033  df-sbc 3256  df-csb 3350  df-dif 3393  df-un 3395  df-in 3397  df-ss 3404  df-pss 3406  df-nul 3723  df-if 3873  df-pw 3944  df-sn 3960  df-pr 3962  df-tp 3964  df-op 3966  df-uni 4191  df-int 4227  df-iun 4271  df-disj 4367  df-br 4396  df-opab 4455  df-mpt 4456  df-tr 4491  df-eprel 4750  df-id 4754  df-po 4760  df-so 4761  df-fr 4798  df-se 4799  df-we 4800  df-xp 4845  df-rel 4846  df-cnv 4847  df-co 4848  df-dm 4849  df-rn 4850  df-res 4851  df-ima 4852  df-pred 5387  df-ord 5433  df-on 5434  df-lim 5435  df-suc 5436  df-iota 5553  df-fun 5591  df-fn 5592  df-f 5593  df-f1 5594  df-fo 5595  df-f1o 5596  df-fv 5597  df-isom 5598  df-riota 6270  df-ov 6311  df-oprab 6312  df-mpt2 6313  df-om 6712  df-1st 6812  df-2nd 6813  df-wrecs 7046  df-recs 7108  df-rdg 7146  df-1o 7200  df-2o 7201  df-oadd 7204  df-er 7381  df-map 7492  df-pm 7493  df-en 7588  df-dom 7589  df-sdom 7590  df-fin 7591  df-sup 7974  df-inf 7975  df-oi 8043  df-card 8391  df-cda 8616  df-pnf 9695  df-mnf 9696  df-xr 9697  df-ltxr 9698  df-le 9699  df-sub 9882  df-neg 9883  df-div 10292  df-nn 10632  df-2 10690  df-3 10691  df-n0 10894  df-z 10962  df-uz 11183  df-rp 11326  df-fz 11811  df-fzo 11943  df-fl 12061  df-mod 12130  df-seq 12252  df-exp 12311  df-hash 12554  df-cj 13239  df-re 13240  df-im 13241  df-sqrt 13375  df-abs 13376  df-clim 13629  df-sum 13830  df-dvds 14383  df-bits 14474  df-sad 14504  df-smu 14529
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator