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

Theorem smumul 12684
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 12642, whose correctness is verified in sadadd 12658.

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 12617 . . . . . 6  |-  (bits `  A )  C_  NN0
2 bitsss 12617 . . . . . 6  |-  (bits `  B )  C_  NN0
3 smucl 12675 . . . . . 6  |-  ( ( (bits `  A )  C_ 
NN0  /\  (bits `  B
)  C_  NN0 )  -> 
( (bits `  A
) smul  (bits `  B )
)  C_  NN0 )
41, 2, 3mp2an 653 . . . . 5  |-  ( (bits `  A ) smul  (bits `  B ) )  C_  NN0
54sseli 3176 . . . 4  |-  ( k  e.  ( (bits `  A ) smul  (bits `  B
) )  ->  k  e.  NN0 )
65a1i 10 . . 3  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( k  e.  ( (bits `  A ) smul  (bits `  B ) )  ->  k  e.  NN0 ) )
7 bitsss 12617 . . . . 5  |-  (bits `  ( A  x.  B
) )  C_  NN0
87sseli 3176 . . . 4  |-  ( k  e.  (bits `  ( A  x.  B )
)  ->  k  e.  NN0 )
98a1i 10 . . 3  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( k  e.  (bits `  ( A  x.  B
) )  ->  k  e.  NN0 ) )
10 simpll 730 . . . . . . . . . . . 12  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  A  e.  ZZ )
11 simplr 731 . . . . . . . . . . . 12  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  B  e.  ZZ )
12 simpr 447 . . . . . . . . . . . . 13  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  k  e.  NN0 )
13 1nn0 9981 . . . . . . . . . . . . . 14  |-  1  e.  NN0
1413a1i 10 . . . . . . . . . . . . 13  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  1  e.  NN0 )
1512, 14nn0addcld 10022 . . . . . . . . . . . 12  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( k  +  1 )  e.  NN0 )
1610, 11, 15smumullem 12683 . . . . . . . . . . 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 3369 . . . . . . . . . 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 9877 . . . . . . . . . . . . . . . 16  |-  2  e.  NN
1918a1i 10 . . . . . . . . . . . . . . 15  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  2  e.  NN )
2019, 15nnexpcld 11266 . . . . . . . . . . . . . 14  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( 2 ^ ( k  +  1 ) )  e.  NN )
2110, 20zmodcld 10990 . . . . . . . . . . . . 13  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( A  mod  ( 2 ^ (
k  +  1 ) ) )  e.  NN0 )
2221nn0zd 10115 . . . . . . . . . . . 12  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( A  mod  ( 2 ^ (
k  +  1 ) ) )  e.  ZZ )
2322, 11zmulcld 10123 . . . . . . . . . . 11  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( ( A  mod  ( 2 ^ ( k  +  1 ) ) )  x.  B )  e.  ZZ )
24 bitsmod 12627 . . . . . . . . . . 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 642 . . . . . . . . . 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 2318 . . . . . . . . 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 3379 . . . . . . . . . . . . 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 3378 . . . . . . . . . . . . . 14  |-  ( ( 0..^ ( k  +  1 ) )  i^i  ( 0..^ ( k  +  1 ) ) )  =  ( 0..^ ( k  +  1 ) )
2928ineq2i 3367 . . . . . . . . . . . . 13  |-  ( (bits `  A )  i^i  (
( 0..^ ( k  +  1 ) )  i^i  ( 0..^ ( k  +  1 ) ) ) )  =  ( (bits `  A
)  i^i  ( 0..^ ( k  +  1 ) ) )
3027, 29eqtri 2303 . . . . . . . . . . . 12  |-  ( ( (bits `  A )  i^i  ( 0..^ ( k  +  1 ) ) )  i^i  ( 0..^ ( k  +  1 ) ) )  =  ( (bits `  A
)  i^i  ( 0..^ ( k  +  1 ) ) )
3130oveq1i 5868 . . . . . . . . . . 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 3366 . . . . . . . . . 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 3389 . . . . . . . . . . . 12  |-  ( (bits `  A )  i^i  (
0..^ ( k  +  1 ) ) ) 
C_  (bits `  A
)
341a1i 10 . . . . . . . . . . . 12  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  (bits `  A
)  C_  NN0 )
3533, 34syl5ss 3190 . . . . . . . . . . 11  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( (bits `  A )  i^i  (
0..^ ( k  +  1 ) ) ) 
C_  NN0 )
362a1i 10 . . . . . . . . . . 11  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  (bits `  B
)  C_  NN0 )
3735, 36, 15smueq 12682 . . . . . . . . . 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 12682 . . . . . . . . . 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 2341 . . . . . . . . 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 10389 . . . . . . . . . . 11  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( 2 ^ ( k  +  1 ) )  e.  RR+ )
4110zred 10117 . . . . . . . . . . . 12  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  A  e.  RR )
42 modabs2 10998 . . . . . . . . . . . 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 642 . . . . . . . . . . 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 2284 . . . . . . . . . . 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 11003 . . . . . . . . . 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 5529 . . . . . . . . 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 2323 . . . . . . . 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 10123 . . . . . . . . 9  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( A  x.  B )  e.  ZZ )
49 bitsmod 12627 . . . . . . . . 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 642 . . . . . . . 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 2315 . . . . . . 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 2350 . . . . . 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 3358 . . . . . 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 3358 . . . . . 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 278 . . . . 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 10262 . . . . . . . . 9  |-  NN0  =  ( ZZ>= `  0 )
5712, 56syl6eleq 2373 . . . . . . . 8  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  k  e.  (
ZZ>= `  0 ) )
58 eluzfz2b 10805 . . . . . . . 8  |-  ( k  e.  ( ZZ>= `  0
)  <->  k  e.  ( 0 ... k ) )
5957, 58sylib 188 . . . . . . 7  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  k  e.  ( 0 ... k ) )
6012nn0zd 10115 . . . . . . . 8  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  k  e.  ZZ )
61 fzval3 10911 . . . . . . . 8  |-  ( k  e.  ZZ  ->  (
0 ... k )  =  ( 0..^ ( k  +  1 ) ) )
6260, 61syl 15 . . . . . . 7  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( 0 ... k )  =  ( 0..^ ( k  +  1 ) ) )
6359, 62eleqtrd 2359 . . . . . 6  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  k  e.  ( 0..^ ( k  +  1 ) ) )
6463biantrud 493 . . . . 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 493 . . . . 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 276 . . . 4  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  k  e.  NN0 )  ->  ( k  e.  ( (bits `  A
) smul  (bits `  B )
)  <->  k  e.  (bits `  ( A  x.  B
) ) ) )
6766ex 423 . . 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 343 . 2  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( k  e.  ( (bits `  A ) smul  (bits `  B ) )  <-> 
k  e.  (bits `  ( A  x.  B
) ) ) )
6968eqrdv 2281 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 176    /\ wa 358    = wceq 1623    e. wcel 1684    i^i cin 3151    C_ wss 3152   ` cfv 5255  (class class class)co 5858   RRcr 8736   0cc0 8737   1c1 8738    + caddc 8740    x. cmul 8742   NNcn 9746   2c2 9795   NN0cn0 9965   ZZcz 10024   ZZ>=cuz 10230   RR+crp 10354   ...cfz 10782  ..^cfzo 10870    mod cmo 10973   ^cexp 11104  bitscbits 12610   smul csmu 12612
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1533  ax-5 1544  ax-17 1603  ax-9 1635  ax-8 1643  ax-13 1686  ax-14 1688  ax-6 1703  ax-7 1708  ax-11 1715  ax-12 1866  ax-ext 2264  ax-rep 4131  ax-sep 4141  ax-nul 4149  ax-pow 4188  ax-pr 4214  ax-un 4512  ax-inf2 7342  ax-cnex 8793  ax-resscn 8794  ax-1cn 8795  ax-icn 8796  ax-addcl 8797  ax-addrcl 8798  ax-mulcl 8799  ax-mulrcl 8800  ax-mulcom 8801  ax-addass 8802  ax-mulass 8803  ax-distr 8804  ax-i2m1 8805  ax-1ne0 8806  ax-1rid 8807  ax-rnegex 8808  ax-rrecex 8809  ax-cnre 8810  ax-pre-lttri 8811  ax-pre-lttrn 8812  ax-pre-ltadd 8813  ax-pre-mulgt0 8814  ax-pre-sup 8815
This theorem depends on definitions:  df-bi 177  df-or 359  df-an 360  df-3or 935  df-3an 936  df-xor 1296  df-tru 1310  df-had 1370  df-cad 1371  df-ex 1529  df-nf 1532  df-sb 1630  df-eu 2147  df-mo 2148  df-clab 2270  df-cleq 2276  df-clel 2279  df-nfc 2408  df-ne 2448  df-nel 2449  df-ral 2548  df-rex 2549  df-reu 2550  df-rmo 2551  df-rab 2552  df-v 2790  df-sbc 2992  df-csb 3082  df-dif 3155  df-un 3157  df-in 3159  df-ss 3166  df-pss 3168  df-nul 3456  df-if 3566  df-pw 3627  df-sn 3646  df-pr 3647  df-tp 3648  df-op 3649  df-uni 3828  df-int 3863  df-iun 3907  df-disj 3994  df-br 4024  df-opab 4078  df-mpt 4079  df-tr 4114  df-eprel 4305  df-id 4309  df-po 4314  df-so 4315  df-fr 4352  df-se 4353  df-we 4354  df-ord 4395  df-on 4396  df-lim 4397  df-suc 4398  df-om 4657  df-xp 4695  df-rel 4696  df-cnv 4697  df-co 4698  df-dm 4699  df-rn 4700  df-res 4701  df-ima 4702  df-iota 5219  df-fun 5257  df-fn 5258  df-f 5259  df-f1 5260  df-fo 5261  df-f1o 5262  df-fv 5263  df-isom 5264  df-ov 5861  df-oprab 5862  df-mpt2 5863  df-1st 6122  df-2nd 6123  df-riota 6304  df-recs 6388  df-rdg 6423  df-1o 6479  df-2o 6480  df-oadd 6483  df-er 6660  df-map 6774  df-pm 6775  df-en 6864  df-dom 6865  df-sdom 6866  df-fin 6867  df-sup 7194  df-oi 7225  df-card 7572  df-cda 7794  df-pnf 8869  df-mnf 8870  df-xr 8871  df-ltxr 8872  df-le 8873  df-sub 9039  df-neg 9040  df-div 9424  df-nn 9747  df-2 9804  df-3 9805  df-n0 9966  df-z 10025  df-uz 10231  df-rp 10355  df-fz 10783  df-fzo 10871  df-fl 10925  df-mod 10974  df-seq 11047  df-exp 11105  df-hash 11338  df-cj 11584  df-re 11585  df-im 11586  df-sqr 11720  df-abs 11721  df-clim 11962  df-sum 12159  df-dvds 12532  df-bits 12613  df-sad 12642  df-smu 12667
  Copyright terms: Public domain W3C validator