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

Theorem smumul 14002
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 13960, whose correctness is verified in sadadd 13976.

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 13935 . . . . . 6  |-  (bits `  A )  C_  NN0
2 bitsss 13935 . . . . . 6  |-  (bits `  B )  C_  NN0
3 smucl 13993 . . . . . 6  |-  ( ( (bits `  A )  C_ 
NN0  /\  (bits `  B
)  C_  NN0 )  -> 
( (bits `  A
) smul  (bits `  B )
)  C_  NN0 )
41, 2, 3mp2an 672 . . . . 5  |-  ( (bits `  A ) smul  (bits `  B ) )  C_  NN0
54sseli 3500 . . . 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 13935 . . . . 5  |-  (bits `  ( A  x.  B
) )  C_  NN0
87sseli 3500 . . . 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 753 . . . . . . . . . . . 12  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  A  e.  ZZ )
11 simplr 754 . . . . . . . . . . . 12  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  B  e.  ZZ )
12 simpr 461 . . . . . . . . . . . . 13  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  k  e.  NN0 )
13 1nn0 10811 . . . . . . . . . . . . . 14  |-  1  e.  NN0
1413a1i 11 . . . . . . . . . . . . 13  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  1  e.  NN0 )
1512, 14nn0addcld 10856 . . . . . . . . . . . 12  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( k  +  1 )  e.  NN0 )
1610, 11, 15smumullem 14001 . . . . . . . . . . 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 3699 . . . . . . . . . 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 10693 . . . . . . . . . . . . . . . 16  |-  2  e.  NN
1918a1i 11 . . . . . . . . . . . . . . 15  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  2  e.  NN )
2019, 15nnexpcld 12299 . . . . . . . . . . . . . 14  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( 2 ^ ( k  +  1 ) )  e.  NN )
2110, 20zmodcld 11984 . . . . . . . . . . . . 13  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( A  mod  ( 2 ^ (
k  +  1 ) ) )  e.  NN0 )
2221nn0zd 10964 . . . . . . . . . . . 12  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( A  mod  ( 2 ^ (
k  +  1 ) ) )  e.  ZZ )
2322, 11zmulcld 10972 . . . . . . . . . . 11  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( ( A  mod  ( 2 ^ ( k  +  1 ) ) )  x.  B )  e.  ZZ )
24 bitsmod 13945 . . . . . . . . . . 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 661 . . . . . . . . . 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 2511 . . . . . . . . 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 3708 . . . . . . . . . . . . 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 3707 . . . . . . . . . . . . . 14  |-  ( ( 0..^ ( k  +  1 ) )  i^i  ( 0..^ ( k  +  1 ) ) )  =  ( 0..^ ( k  +  1 ) )
2928ineq2i 3697 . . . . . . . . . . . . 13  |-  ( (bits `  A )  i^i  (
( 0..^ ( k  +  1 ) )  i^i  ( 0..^ ( k  +  1 ) ) ) )  =  ( (bits `  A
)  i^i  ( 0..^ ( k  +  1 ) ) )
3027, 29eqtri 2496 . . . . . . . . . . . 12  |-  ( ( (bits `  A )  i^i  ( 0..^ ( k  +  1 ) ) )  i^i  ( 0..^ ( k  +  1 ) ) )  =  ( (bits `  A
)  i^i  ( 0..^ ( k  +  1 ) ) )
3130oveq1i 6294 . . . . . . . . . . 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 3696 . . . . . . . . . 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 3718 . . . . . . . . . . . 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 3515 . . . . . . . . . . 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 14000 . . . . . . . . . 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 14000 . . . . . . . . . 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 2534 . . . . . . . . 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 11255 . . . . . . . . . . 11  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( 2 ^ ( k  +  1 ) )  e.  RR+ )
4110zred 10966 . . . . . . . . . . . 12  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  A  e.  RR )
42 modabs2 11998 . . . . . . . . . . . 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 661 . . . . . . . . . . 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 2468 . . . . . . . . . . 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 12009 . . . . . . . . . 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 5870 . . . . . . . . 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 2516 . . . . . . . 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 10972 . . . . . . . . 9  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( A  x.  B )  e.  ZZ )
49 bitsmod 13945 . . . . . . . . 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 661 . . . . . . . 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 2508 . . . . . . 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 2537 . . . . . 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 3687 . . . . . 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 3687 . . . . . 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 287 . . . . 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 11116 . . . . . . . . 9  |-  NN0  =  ( ZZ>= `  0 )
5712, 56syl6eleq 2565 . . . . . . . 8  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  k  e.  (
ZZ>= `  0 ) )
58 eluzfz2b 11695 . . . . . . . 8  |-  ( k  e.  ( ZZ>= `  0
)  <->  k  e.  ( 0 ... k ) )
5957, 58sylib 196 . . . . . . 7  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  k  e.  ( 0 ... k ) )
6012nn0zd 10964 . . . . . . . 8  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  k  e.  ZZ )
61 fzval3 11853 . . . . . . . 8  |-  ( k  e.  ZZ  ->  (
0 ... k )  =  ( 0..^ ( k  +  1 ) ) )
6260, 61syl 16 . . . . . . 7  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( 0 ... k )  =  ( 0..^ ( k  +  1 ) ) )
6359, 62eleqtrd 2557 . . . . . 6  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  k  e.  ( 0..^ ( k  +  1 ) ) )
6463biantrud 507 . . . . 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 507 . . . . 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 285 . . . 4  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( k  e.  ( (bits `  A
) smul  (bits `  B )
)  <->  k  e.  (bits `  ( A  x.  B
) ) ) )
6766ex 434 . . 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 354 . 2  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( k  e.  ( (bits `  A ) smul  (bits `  B ) )  <-> 
k  e.  (bits `  ( A  x.  B
) ) ) )
6968eqrdv 2464 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 184    /\ wa 369    = wceq 1379    e. wcel 1767    i^i cin 3475    C_ wss 3476   ` cfv 5588  (class class class)co 6284   RRcr 9491   0cc0 9492   1c1 9493    + caddc 9495    x. cmul 9497   NNcn 10536   2c2 10585   NN0cn0 10795   ZZcz 10864   ZZ>=cuz 11082   RR+crp 11220   ...cfz 11672  ..^cfzo 11792    mod cmo 11964   ^cexp 12134  bitscbits 13928   smul csmu 13930
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1601  ax-4 1612  ax-5 1680  ax-6 1719  ax-7 1739  ax-8 1769  ax-9 1771  ax-10 1786  ax-11 1791  ax-12 1803  ax-13 1968  ax-ext 2445  ax-rep 4558  ax-sep 4568  ax-nul 4576  ax-pow 4625  ax-pr 4686  ax-un 6576  ax-inf2 8058  ax-cnex 9548  ax-resscn 9549  ax-1cn 9550  ax-icn 9551  ax-addcl 9552  ax-addrcl 9553  ax-mulcl 9554  ax-mulrcl 9555  ax-mulcom 9556  ax-addass 9557  ax-mulass 9558  ax-distr 9559  ax-i2m1 9560  ax-1ne0 9561  ax-1rid 9562  ax-rnegex 9563  ax-rrecex 9564  ax-cnre 9565  ax-pre-lttri 9566  ax-pre-lttrn 9567  ax-pre-ltadd 9568  ax-pre-mulgt0 9569  ax-pre-sup 9570
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 974  df-3an 975  df-xor 1361  df-tru 1382  df-fal 1385  df-had 1431  df-cad 1432  df-ex 1597  df-nf 1600  df-sb 1712  df-eu 2279  df-mo 2280  df-clab 2453  df-cleq 2459  df-clel 2462  df-nfc 2617  df-ne 2664  df-nel 2665  df-ral 2819  df-rex 2820  df-reu 2821  df-rmo 2822  df-rab 2823  df-v 3115  df-sbc 3332  df-csb 3436  df-dif 3479  df-un 3481  df-in 3483  df-ss 3490  df-pss 3492  df-nul 3786  df-if 3940  df-pw 4012  df-sn 4028  df-pr 4030  df-tp 4032  df-op 4034  df-uni 4246  df-int 4283  df-iun 4327  df-disj 4418  df-br 4448  df-opab 4506  df-mpt 4507  df-tr 4541  df-eprel 4791  df-id 4795  df-po 4800  df-so 4801  df-fr 4838  df-se 4839  df-we 4840  df-ord 4881  df-on 4882  df-lim 4883  df-suc 4884  df-xp 5005  df-rel 5006  df-cnv 5007  df-co 5008  df-dm 5009  df-rn 5010  df-res 5011  df-ima 5012  df-iota 5551  df-fun 5590  df-fn 5591  df-f 5592  df-f1 5593  df-fo 5594  df-f1o 5595  df-fv 5596  df-isom 5597  df-riota 6245  df-ov 6287  df-oprab 6288  df-mpt2 6289  df-om 6685  df-1st 6784  df-2nd 6785  df-recs 7042  df-rdg 7076  df-1o 7130  df-2o 7131  df-oadd 7134  df-er 7311  df-map 7422  df-pm 7423  df-en 7517  df-dom 7518  df-sdom 7519  df-fin 7520  df-sup 7901  df-oi 7935  df-card 8320  df-cda 8548  df-pnf 9630  df-mnf 9631  df-xr 9632  df-ltxr 9633  df-le 9634  df-sub 9807  df-neg 9808  df-div 10207  df-nn 10537  df-2 10594  df-3 10595  df-n0 10796  df-z 10865  df-uz 11083  df-rp 11221  df-fz 11673  df-fzo 11793  df-fl 11897  df-mod 11965  df-seq 12076  df-exp 12135  df-hash 12374  df-cj 12895  df-re 12896  df-im 12897  df-sqrt 13031  df-abs 13032  df-clim 13274  df-sum 13472  df-dvds 13848  df-bits 13931  df-sad 13960  df-smu 13985
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator