MPE Home 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  |-  ( ( 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 12969 . . . . . 6  |-  (bits `  A )  C_  NN0
2 bitsss 12969 . . . . . 6  |-  (bits `  B )  C_  NN0
3 smucl 13027 . . . . . 6  |-  ( ( (bits `  A )  C_ 
NN0  /\  (bits `  B
)  C_  NN0 )  -> 
( (bits `  A
) smul  (bits `  B )
)  C_  NN0 )
41, 2, 3mp2an 655 . . . . 5  |-  ( (bits `  A ) smul  (bits `  B ) )  C_  NN0
54sseli 3330 . . . 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 12969 . . . . 5  |-  (bits `  ( A  x.  B
) )  C_  NN0
87sseli 3330 . . . 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 732 . . . . . . . . . . . 12  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  A  e.  ZZ )
11 simplr 733 . . . . . . . . . . . 12  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  B  e.  ZZ )
12 simpr 449 . . . . . . . . . . . . 13  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  k  e.  NN0 )
13 1nn0 10268 . . . . . . . . . . . . . 14  |-  1  e.  NN0
1413a1i 11 . . . . . . . . . . . . 13  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  1  e.  NN0 )
1512, 14nn0addcld 10309 . . . . . . . . . . . 12  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( k  +  1 )  e.  NN0 )
1610, 11, 15smumullem 13035 . . . . . . . . . . 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 3527 . . . . . . . . . 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 10164 . . . . . . . . . . . . . . . 16  |-  2  e.  NN
1918a1i 11 . . . . . . . . . . . . . . 15  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  2  e.  NN )
2019, 15nnexpcld 11575 . . . . . . . . . . . . . 14  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( 2 ^ ( k  +  1 ) )  e.  NN )
2110, 20zmodcld 11298 . . . . . . . . . . . . 13  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( A  mod  ( 2 ^ (
k  +  1 ) ) )  e.  NN0 )
2221nn0zd 10404 . . . . . . . . . . . 12  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( A  mod  ( 2 ^ (
k  +  1 ) ) )  e.  ZZ )
2322, 11zmulcld 10412 . . . . . . . . . . 11  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( ( A  mod  ( 2 ^ ( k  +  1 ) ) )  x.  B )  e.  ZZ )
24 bitsmod 12979 . . . . . . . . . . 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 644 . . . . . . . . . 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 2477 . . . . . . . . 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 3536 . . . . . . . . . . . . 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 3535 . . . . . . . . . . . . . 14  |-  ( ( 0..^ ( k  +  1 ) )  i^i  ( 0..^ ( k  +  1 ) ) )  =  ( 0..^ ( k  +  1 ) )
2928ineq2i 3525 . . . . . . . . . . . . 13  |-  ( (bits `  A )  i^i  (
( 0..^ ( k  +  1 ) )  i^i  ( 0..^ ( k  +  1 ) ) ) )  =  ( (bits `  A
)  i^i  ( 0..^ ( k  +  1 ) ) )
3027, 29eqtri 2462 . . . . . . . . . . . 12  |-  ( ( (bits `  A )  i^i  ( 0..^ ( k  +  1 ) ) )  i^i  ( 0..^ ( k  +  1 ) ) )  =  ( (bits `  A
)  i^i  ( 0..^ ( k  +  1 ) ) )
3130oveq1i 6120 . . . . . . . . . . 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 3524 . . . . . . . . . 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 3546 . . . . . . . . . . . 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 3345 . . . . . . . . . . 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 13034 . . . . . . . . . 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 13034 . . . . . . . . . 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 2500 . . . . . . . . 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 10678 . . . . . . . . . . 11  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( 2 ^ ( k  +  1 ) )  e.  RR+ )
4110zred 10406 . . . . . . . . . . . 12  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  A  e.  RR )
42 modabs2 11306 . . . . . . . . . . . 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 644 . . . . . . . . . . 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 2443 . . . . . . . . . . 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 11311 . . . . . . . . . 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 5761 . . . . . . . . 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 2482 . . . . . . . 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 10412 . . . . . . . . 9  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( A  x.  B )  e.  ZZ )
49 bitsmod 12979 . . . . . . . . 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 644 . . . . . . . 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 2474 . . . . . . 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 2509 . . . . . 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 3516 . . . . . 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 3516 . . . . . 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 280 . . . . 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 10551 . . . . . . . . 9  |-  NN0  =  ( ZZ>= `  0 )
5712, 56syl6eleq 2532 . . . . . . . 8  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  k  e.  (
ZZ>= `  0 ) )
58 eluzfz2b 11097 . . . . . . . 8  |-  ( k  e.  ( ZZ>= `  0
)  <->  k  e.  ( 0 ... k ) )
5957, 58sylib 190 . . . . . . 7  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  k  e.  ( 0 ... k ) )
6012nn0zd 10404 . . . . . . . 8  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  k  e.  ZZ )
61 fzval3 11211 . . . . . . . 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 2518 . . . . . 6  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  k  e.  ( 0..^ ( k  +  1 ) ) )
6463biantrud 495 . . . . 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 495 . . . . 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 278 . . . 4  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( k  e.  ( (bits `  A
) smul  (bits `  B )
)  <->  k  e.  (bits `  ( A  x.  B
) ) ) )
6766ex 425 . . 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 345 . 2  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( k  e.  ( (bits `  A ) smul  (bits `  B ) )  <-> 
k  e.  (bits `  ( A  x.  B
) ) ) )
6968eqrdv 2440 1  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( (bits `  A
) smul  (bits `  B )
)  =  (bits `  ( A  x.  B
) ) )
Colors of variables: wff set class
Syntax hints:    -> wi 4    <-> wb 178    /\ wa 360    = wceq 1653    e. wcel 1727    i^i cin 3305    C_ wss 3306   ` cfv 5483  (class class class)co 6110   RRcr 9020   0cc0 9021   1c1 9022    + caddc 9024    x. cmul 9026   NNcn 10031   2c2 10080   NN0cn0 10252   ZZcz 10313   ZZ>=cuz 10519   RR+crp 10643   ...cfz 11074  ..^cfzo 11166    mod 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