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

Theorem crt 14684
Description: The Chinese Remainder Theorem: the function that maps  x to its remainder classes  mod  M and  mod  N is 1-1 and onto when  M and  N are coprime. (Contributed by Mario Carneiro, 24-Feb-2014.) (Proof shortened by Mario Carneiro, 2-May-2016.)
Hypotheses
Ref Expression
crt.1  |-  S  =  ( 0..^ ( M  x.  N ) )
crt.2  |-  T  =  ( ( 0..^ M )  X.  ( 0..^ N ) )
crt.3  |-  F  =  ( x  e.  S  |-> 
<. ( x  mod  M
) ,  ( x  mod  N ) >.
)
crt.4  |-  ( ph  ->  ( M  e.  NN  /\  N  e.  NN  /\  ( M  gcd  N )  =  1 ) )
Assertion
Ref Expression
crt  |-  ( ph  ->  F : S -1-1-onto-> T )
Distinct variable groups:    x, M    ph, x    x, S    x, T    x, N
Allowed substitution hint:    F( x)

Proof of Theorem crt
Dummy variables  y 
z are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 elfzoelz 11907 . . . . . 6  |-  ( x  e.  ( 0..^ ( M  x.  N ) )  ->  x  e.  ZZ )
2 crt.1 . . . . . 6  |-  S  =  ( 0..^ ( M  x.  N ) )
31, 2eleq2s 2528 . . . . 5  |-  ( x  e.  S  ->  x  e.  ZZ )
4 simpr 462 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ZZ )  ->  x  e.  ZZ )
5 crt.4 . . . . . . . . . 10  |-  ( ph  ->  ( M  e.  NN  /\  N  e.  NN  /\  ( M  gcd  N )  =  1 ) )
65simp1d 1017 . . . . . . . . 9  |-  ( ph  ->  M  e.  NN )
76adantr 466 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ZZ )  ->  M  e.  NN )
8 zmodfzo 12105 . . . . . . . 8  |-  ( ( x  e.  ZZ  /\  M  e.  NN )  ->  ( x  mod  M
)  e.  ( 0..^ M ) )
94, 7, 8syl2anc 665 . . . . . . 7  |-  ( (
ph  /\  x  e.  ZZ )  ->  ( x  mod  M )  e.  ( 0..^ M ) )
105simp2d 1018 . . . . . . . . 9  |-  ( ph  ->  N  e.  NN )
1110adantr 466 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ZZ )  ->  N  e.  NN )
12 zmodfzo 12105 . . . . . . . 8  |-  ( ( x  e.  ZZ  /\  N  e.  NN )  ->  ( x  mod  N
)  e.  ( 0..^ N ) )
134, 11, 12syl2anc 665 . . . . . . 7  |-  ( (
ph  /\  x  e.  ZZ )  ->  ( x  mod  N )  e.  ( 0..^ N ) )
14 opelxpi 4877 . . . . . . 7  |-  ( ( ( x  mod  M
)  e.  ( 0..^ M )  /\  (
x  mod  N )  e.  ( 0..^ N ) )  ->  <. ( x  mod  M ) ,  ( x  mod  N
) >.  e.  ( ( 0..^ M )  X.  ( 0..^ N ) ) )
159, 13, 14syl2anc 665 . . . . . 6  |-  ( (
ph  /\  x  e.  ZZ )  ->  <. (
x  mod  M ) ,  ( x  mod  N ) >.  e.  (
( 0..^ M )  X.  ( 0..^ N ) ) )
16 crt.2 . . . . . 6  |-  T  =  ( ( 0..^ M )  X.  ( 0..^ N ) )
1715, 16syl6eleqr 2519 . . . . 5  |-  ( (
ph  /\  x  e.  ZZ )  ->  <. (
x  mod  M ) ,  ( x  mod  N ) >.  e.  T
)
183, 17sylan2 476 . . . 4  |-  ( (
ph  /\  x  e.  S )  ->  <. (
x  mod  M ) ,  ( x  mod  N ) >.  e.  T
)
19 crt.3 . . . 4  |-  F  =  ( x  e.  S  |-> 
<. ( x  mod  M
) ,  ( x  mod  N ) >.
)
2018, 19fmptd 6052 . . 3  |-  ( ph  ->  F : S --> T )
21 oveq1 6303 . . . . . . . . . 10  |-  ( x  =  y  ->  (
x  mod  M )  =  ( y  mod 
M ) )
22 oveq1 6303 . . . . . . . . . 10  |-  ( x  =  y  ->  (
x  mod  N )  =  ( y  mod 
N ) )
2321, 22opeq12d 4189 . . . . . . . . 9  |-  ( x  =  y  ->  <. (
x  mod  M ) ,  ( x  mod  N ) >.  =  <. ( y  mod  M ) ,  ( y  mod 
N ) >. )
24 opex 4677 . . . . . . . . 9  |-  <. (
y  mod  M ) ,  ( y  mod 
N ) >.  e.  _V
2523, 19, 24fvmpt 5955 . . . . . . . 8  |-  ( y  e.  S  ->  ( F `  y )  =  <. ( y  mod 
M ) ,  ( y  mod  N )
>. )
2625ad2antrl 732 . . . . . . 7  |-  ( (
ph  /\  ( y  e.  S  /\  z  e.  S ) )  -> 
( F `  y
)  =  <. (
y  mod  M ) ,  ( y  mod 
N ) >. )
27 oveq1 6303 . . . . . . . . . 10  |-  ( x  =  z  ->  (
x  mod  M )  =  ( z  mod 
M ) )
28 oveq1 6303 . . . . . . . . . 10  |-  ( x  =  z  ->  (
x  mod  N )  =  ( z  mod 
N ) )
2927, 28opeq12d 4189 . . . . . . . . 9  |-  ( x  =  z  ->  <. (
x  mod  M ) ,  ( x  mod  N ) >.  =  <. ( z  mod  M ) ,  ( z  mod 
N ) >. )
30 opex 4677 . . . . . . . . 9  |-  <. (
z  mod  M ) ,  ( z  mod 
N ) >.  e.  _V
3129, 19, 30fvmpt 5955 . . . . . . . 8  |-  ( z  e.  S  ->  ( F `  z )  =  <. ( z  mod 
M ) ,  ( z  mod  N )
>. )
3231ad2antll 733 . . . . . . 7  |-  ( (
ph  /\  ( y  e.  S  /\  z  e.  S ) )  -> 
( F `  z
)  =  <. (
z  mod  M ) ,  ( z  mod 
N ) >. )
3326, 32eqeq12d 2442 . . . . . 6  |-  ( (
ph  /\  ( y  e.  S  /\  z  e.  S ) )  -> 
( ( F `  y )  =  ( F `  z )  <->  <. ( y  mod  M
) ,  ( y  mod  N ) >.  =  <. ( z  mod 
M ) ,  ( z  mod  N )
>. ) )
34 ovex 6324 . . . . . . 7  |-  ( y  mod  M )  e. 
_V
35 ovex 6324 . . . . . . 7  |-  ( y  mod  N )  e. 
_V
3634, 35opth 4687 . . . . . 6  |-  ( <.
( y  mod  M
) ,  ( y  mod  N ) >.  =  <. ( z  mod 
M ) ,  ( z  mod  N )
>. 
<->  ( ( y  mod 
M )  =  ( z  mod  M )  /\  ( y  mod 
N )  =  ( z  mod  N ) ) )
3733, 36syl6bb 264 . . . . 5  |-  ( (
ph  /\  ( y  e.  S  /\  z  e.  S ) )  -> 
( ( F `  y )  =  ( F `  z )  <-> 
( ( y  mod 
M )  =  ( z  mod  M )  /\  ( y  mod 
N )  =  ( z  mod  N ) ) ) )
386adantr 466 . . . . . . . 8  |-  ( (
ph  /\  ( y  e.  S  /\  z  e.  S ) )  ->  M  e.  NN )
3938nnzd 11028 . . . . . . 7  |-  ( (
ph  /\  ( y  e.  S  /\  z  e.  S ) )  ->  M  e.  ZZ )
4010adantr 466 . . . . . . . 8  |-  ( (
ph  /\  ( y  e.  S  /\  z  e.  S ) )  ->  N  e.  NN )
4140nnzd 11028 . . . . . . 7  |-  ( (
ph  /\  ( y  e.  S  /\  z  e.  S ) )  ->  N  e.  ZZ )
42 simprl 762 . . . . . . . . . 10  |-  ( (
ph  /\  ( y  e.  S  /\  z  e.  S ) )  -> 
y  e.  S )
4342, 2syl6eleq 2518 . . . . . . . . 9  |-  ( (
ph  /\  ( y  e.  S  /\  z  e.  S ) )  -> 
y  e.  ( 0..^ ( M  x.  N
) ) )
44 elfzoelz 11907 . . . . . . . . 9  |-  ( y  e.  ( 0..^ ( M  x.  N ) )  ->  y  e.  ZZ )
4543, 44syl 17 . . . . . . . 8  |-  ( (
ph  /\  ( y  e.  S  /\  z  e.  S ) )  -> 
y  e.  ZZ )
46 simprr 764 . . . . . . . . . 10  |-  ( (
ph  /\  ( y  e.  S  /\  z  e.  S ) )  -> 
z  e.  S )
4746, 2syl6eleq 2518 . . . . . . . . 9  |-  ( (
ph  /\  ( y  e.  S  /\  z  e.  S ) )  -> 
z  e.  ( 0..^ ( M  x.  N
) ) )
48 elfzoelz 11907 . . . . . . . . 9  |-  ( z  e.  ( 0..^ ( M  x.  N ) )  ->  z  e.  ZZ )
4947, 48syl 17 . . . . . . . 8  |-  ( (
ph  /\  ( y  e.  S  /\  z  e.  S ) )  -> 
z  e.  ZZ )
5045, 49zsubcld 11034 . . . . . . 7  |-  ( (
ph  /\  ( y  e.  S  /\  z  e.  S ) )  -> 
( y  -  z
)  e.  ZZ )
515simp3d 1019 . . . . . . . 8  |-  ( ph  ->  ( M  gcd  N
)  =  1 )
5251adantr 466 . . . . . . 7  |-  ( (
ph  /\  ( y  e.  S  /\  z  e.  S ) )  -> 
( M  gcd  N
)  =  1 )
53 coprmdvds2 14620 . . . . . . 7  |-  ( ( ( M  e.  ZZ  /\  N  e.  ZZ  /\  ( y  -  z
)  e.  ZZ )  /\  ( M  gcd  N )  =  1 )  ->  ( ( M 
||  ( y  -  z )  /\  N  ||  ( y  -  z
) )  ->  ( M  x.  N )  ||  ( y  -  z
) ) )
5439, 41, 50, 52, 53syl31anc 1267 . . . . . 6  |-  ( (
ph  /\  ( y  e.  S  /\  z  e.  S ) )  -> 
( ( M  ||  ( y  -  z
)  /\  N  ||  (
y  -  z ) )  ->  ( M  x.  N )  ||  (
y  -  z ) ) )
55 moddvds 14279 . . . . . . . 8  |-  ( ( M  e.  NN  /\  y  e.  ZZ  /\  z  e.  ZZ )  ->  (
( y  mod  M
)  =  ( z  mod  M )  <->  M  ||  (
y  -  z ) ) )
5638, 45, 49, 55syl3anc 1264 . . . . . . 7  |-  ( (
ph  /\  ( y  e.  S  /\  z  e.  S ) )  -> 
( ( y  mod 
M )  =  ( z  mod  M )  <-> 
M  ||  ( y  -  z ) ) )
57 moddvds 14279 . . . . . . . 8  |-  ( ( N  e.  NN  /\  y  e.  ZZ  /\  z  e.  ZZ )  ->  (
( y  mod  N
)  =  ( z  mod  N )  <->  N  ||  (
y  -  z ) ) )
5840, 45, 49, 57syl3anc 1264 . . . . . . 7  |-  ( (
ph  /\  ( y  e.  S  /\  z  e.  S ) )  -> 
( ( y  mod 
N )  =  ( z  mod  N )  <-> 
N  ||  ( y  -  z ) ) )
5956, 58anbi12d 715 . . . . . 6  |-  ( (
ph  /\  ( y  e.  S  /\  z  e.  S ) )  -> 
( ( ( y  mod  M )  =  ( z  mod  M
)  /\  ( y  mod  N )  =  ( z  mod  N ) )  <->  ( M  ||  ( y  -  z
)  /\  N  ||  (
y  -  z ) ) ) )
6045zred 11029 . . . . . . . . 9  |-  ( (
ph  /\  ( y  e.  S  /\  z  e.  S ) )  -> 
y  e.  RR )
6138, 40nnmulcld 10646 . . . . . . . . . 10  |-  ( (
ph  /\  ( y  e.  S  /\  z  e.  S ) )  -> 
( M  x.  N
)  e.  NN )
6261nnrpd 11328 . . . . . . . . 9  |-  ( (
ph  /\  ( y  e.  S  /\  z  e.  S ) )  -> 
( M  x.  N
)  e.  RR+ )
63 elfzole1 11915 . . . . . . . . . 10  |-  ( y  e.  ( 0..^ ( M  x.  N ) )  ->  0  <_  y )
6443, 63syl 17 . . . . . . . . 9  |-  ( (
ph  /\  ( y  e.  S  /\  z  e.  S ) )  -> 
0  <_  y )
65 elfzolt2 11916 . . . . . . . . . 10  |-  ( y  e.  ( 0..^ ( M  x.  N ) )  ->  y  <  ( M  x.  N ) )
6643, 65syl 17 . . . . . . . . 9  |-  ( (
ph  /\  ( y  e.  S  /\  z  e.  S ) )  -> 
y  <  ( M  x.  N ) )
67 modid 12107 . . . . . . . . 9  |-  ( ( ( y  e.  RR  /\  ( M  x.  N
)  e.  RR+ )  /\  ( 0  <_  y  /\  y  <  ( M  x.  N ) ) )  ->  ( y  mod  ( M  x.  N
) )  =  y )
6860, 62, 64, 66, 67syl22anc 1265 . . . . . . . 8  |-  ( (
ph  /\  ( y  e.  S  /\  z  e.  S ) )  -> 
( y  mod  ( M  x.  N )
)  =  y )
6949zred 11029 . . . . . . . . 9  |-  ( (
ph  /\  ( y  e.  S  /\  z  e.  S ) )  -> 
z  e.  RR )
70 elfzole1 11915 . . . . . . . . . 10  |-  ( z  e.  ( 0..^ ( M  x.  N ) )  ->  0  <_  z )
7147, 70syl 17 . . . . . . . . 9  |-  ( (
ph  /\  ( y  e.  S  /\  z  e.  S ) )  -> 
0  <_  z )
72 elfzolt2 11916 . . . . . . . . . 10  |-  ( z  e.  ( 0..^ ( M  x.  N ) )  ->  z  <  ( M  x.  N ) )
7347, 72syl 17 . . . . . . . . 9  |-  ( (
ph  /\  ( y  e.  S  /\  z  e.  S ) )  -> 
z  <  ( M  x.  N ) )
74 modid 12107 . . . . . . . . 9  |-  ( ( ( z  e.  RR  /\  ( M  x.  N
)  e.  RR+ )  /\  ( 0  <_  z  /\  z  <  ( M  x.  N ) ) )  ->  ( z  mod  ( M  x.  N
) )  =  z )
7569, 62, 71, 73, 74syl22anc 1265 . . . . . . . 8  |-  ( (
ph  /\  ( y  e.  S  /\  z  e.  S ) )  -> 
( z  mod  ( M  x.  N )
)  =  z )
7668, 75eqeq12d 2442 . . . . . . 7  |-  ( (
ph  /\  ( y  e.  S  /\  z  e.  S ) )  -> 
( ( y  mod  ( M  x.  N
) )  =  ( z  mod  ( M  x.  N ) )  <-> 
y  =  z ) )
77 moddvds 14279 . . . . . . . 8  |-  ( ( ( M  x.  N
)  e.  NN  /\  y  e.  ZZ  /\  z  e.  ZZ )  ->  (
( y  mod  ( M  x.  N )
)  =  ( z  mod  ( M  x.  N ) )  <->  ( M  x.  N )  ||  (
y  -  z ) ) )
7861, 45, 49, 77syl3anc 1264 . . . . . . 7  |-  ( (
ph  /\  ( y  e.  S  /\  z  e.  S ) )  -> 
( ( y  mod  ( M  x.  N
) )  =  ( z  mod  ( M  x.  N ) )  <-> 
( M  x.  N
)  ||  ( y  -  z ) ) )
7976, 78bitr3d 258 . . . . . 6  |-  ( (
ph  /\  ( y  e.  S  /\  z  e.  S ) )  -> 
( y  =  z  <-> 
( M  x.  N
)  ||  ( y  -  z ) ) )
8054, 59, 793imtr4d 271 . . . . 5  |-  ( (
ph  /\  ( y  e.  S  /\  z  e.  S ) )  -> 
( ( ( y  mod  M )  =  ( z  mod  M
)  /\  ( y  mod  N )  =  ( z  mod  N ) )  ->  y  =  z ) )
8137, 80sylbid 218 . . . 4  |-  ( (
ph  /\  ( y  e.  S  /\  z  e.  S ) )  -> 
( ( F `  y )  =  ( F `  z )  ->  y  =  z ) )
8281ralrimivva 2844 . . 3  |-  ( ph  ->  A. y  e.  S  A. z  e.  S  ( ( F `  y )  =  ( F `  z )  ->  y  =  z ) )
83 dff13 6165 . . 3  |-  ( F : S -1-1-> T  <->  ( F : S --> T  /\  A. y  e.  S  A. z  e.  S  (
( F `  y
)  =  ( F `
 z )  -> 
y  =  z ) ) )
8420, 82, 83sylanbrc 668 . 2  |-  ( ph  ->  F : S -1-1-> T
)
85 nnnn0 10865 . . . . . 6  |-  ( M  e.  NN  ->  M  e.  NN0 )
86 nnnn0 10865 . . . . . 6  |-  ( N  e.  NN  ->  N  e.  NN0 )
87 nn0mulcl 10895 . . . . . . . . 9  |-  ( ( M  e.  NN0  /\  N  e.  NN0 )  -> 
( M  x.  N
)  e.  NN0 )
88 hashfzo0 12586 . . . . . . . . 9  |-  ( ( M  x.  N )  e.  NN0  ->  ( # `  ( 0..^ ( M  x.  N ) ) )  =  ( M  x.  N ) )
8987, 88syl 17 . . . . . . . 8  |-  ( ( M  e.  NN0  /\  N  e.  NN0 )  -> 
( # `  ( 0..^ ( M  x.  N
) ) )  =  ( M  x.  N
) )
90 fzofi 12173 . . . . . . . . . 10  |-  ( 0..^ M )  e.  Fin
91 fzofi 12173 . . . . . . . . . 10  |-  ( 0..^ N )  e.  Fin
92 hashxp 12590 . . . . . . . . . 10  |-  ( ( ( 0..^ M )  e.  Fin  /\  (
0..^ N )  e. 
Fin )  ->  ( # `
 ( ( 0..^ M )  X.  (
0..^ N ) ) )  =  ( (
# `  ( 0..^ M ) )  x.  ( # `  (
0..^ N ) ) ) )
9390, 91, 92mp2an 676 . . . . . . . . 9  |-  ( # `  ( ( 0..^ M )  X.  ( 0..^ N ) ) )  =  ( ( # `  ( 0..^ M ) )  x.  ( # `  ( 0..^ N ) ) )
94 hashfzo0 12586 . . . . . . . . . 10  |-  ( M  e.  NN0  ->  ( # `  ( 0..^ M ) )  =  M )
95 hashfzo0 12586 . . . . . . . . . 10  |-  ( N  e.  NN0  ->  ( # `  ( 0..^ N ) )  =  N )
9694, 95oveqan12d 6315 . . . . . . . . 9  |-  ( ( M  e.  NN0  /\  N  e.  NN0 )  -> 
( ( # `  (
0..^ M ) )  x.  ( # `  (
0..^ N ) ) )  =  ( M  x.  N ) )
9793, 96syl5eq 2473 . . . . . . . 8  |-  ( ( M  e.  NN0  /\  N  e.  NN0 )  -> 
( # `  ( ( 0..^ M )  X.  ( 0..^ N ) ) )  =  ( M  x.  N ) )
9889, 97eqtr4d 2464 . . . . . . 7  |-  ( ( M  e.  NN0  /\  N  e.  NN0 )  -> 
( # `  ( 0..^ ( M  x.  N
) ) )  =  ( # `  (
( 0..^ M )  X.  ( 0..^ N ) ) ) )
99 fzofi 12173 . . . . . . . 8  |-  ( 0..^ ( M  x.  N
) )  e.  Fin
100 xpfi 7839 . . . . . . . . 9  |-  ( ( ( 0..^ M )  e.  Fin  /\  (
0..^ N )  e. 
Fin )  ->  (
( 0..^ M )  X.  ( 0..^ N ) )  e.  Fin )
10190, 91, 100mp2an 676 . . . . . . . 8  |-  ( ( 0..^ M )  X.  ( 0..^ N ) )  e.  Fin
102 hashen 12516 . . . . . . . 8  |-  ( ( ( 0..^ ( M  x.  N ) )  e.  Fin  /\  (
( 0..^ M )  X.  ( 0..^ N ) )  e.  Fin )  ->  ( ( # `  ( 0..^ ( M  x.  N ) ) )  =  ( # `  ( ( 0..^ M )  X.  ( 0..^ N ) ) )  <-> 
( 0..^ ( M  x.  N ) ) 
~~  ( ( 0..^ M )  X.  (
0..^ N ) ) ) )
10399, 101, 102mp2an 676 . . . . . . 7  |-  ( (
# `  ( 0..^ ( M  x.  N
) ) )  =  ( # `  (
( 0..^ M )  X.  ( 0..^ N ) ) )  <->  ( 0..^ ( M  x.  N
) )  ~~  (
( 0..^ M )  X.  ( 0..^ N ) ) )
10498, 103sylib 199 . . . . . 6  |-  ( ( M  e.  NN0  /\  N  e.  NN0 )  -> 
( 0..^ ( M  x.  N ) ) 
~~  ( ( 0..^ M )  X.  (
0..^ N ) ) )
10585, 86, 104syl2an 479 . . . . 5  |-  ( ( M  e.  NN  /\  N  e.  NN )  ->  ( 0..^ ( M  x.  N ) ) 
~~  ( ( 0..^ M )  X.  (
0..^ N ) ) )
1066, 10, 105syl2anc 665 . . . 4  |-  ( ph  ->  ( 0..^ ( M  x.  N ) ) 
~~  ( ( 0..^ M )  X.  (
0..^ N ) ) )
107106, 2, 163brtr4g 4449 . . 3  |-  ( ph  ->  S  ~~  T )
10816, 101eqeltri 2504 . . 3  |-  T  e. 
Fin
109 f1finf1o 7795 . . 3  |-  ( ( S  ~~  T  /\  T  e.  Fin )  ->  ( F : S -1-1-> T  <-> 
F : S -1-1-onto-> T ) )
110107, 108, 109sylancl 666 . 2  |-  ( ph  ->  ( F : S -1-1-> T  <-> 
F : S -1-1-onto-> T ) )
11184, 110mpbid 213 1  |-  ( ph  ->  F : S -1-1-onto-> T )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    <-> wb 187    /\ wa 370    /\ w3a 982    = wceq 1437    e. wcel 1867   A.wral 2773   <.cop 3999   class class class wbr 4417    |-> cmpt 4475    X. cxp 4843   -->wf 5588   -1-1->wf1 5589   -1-1-onto->wf1o 5591   ` cfv 5592  (class class class)co 6296    ~~ cen 7565   Fincfn 7568   RRcr 9527   0cc0 9528   1c1 9529    x. cmul 9533    < clt 9664    <_ cle 9665    - cmin 9849   NNcn 10598   NN0cn0 10858   ZZcz 10926   RR+crp 11291  ..^cfzo 11902    mod cmo 12082   #chash 12501    || cdvds 14272    gcd cgcd 14431
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1665  ax-4 1678  ax-5 1748  ax-6 1794  ax-7 1838  ax-8 1869  ax-9 1871  ax-10 1886  ax-11 1891  ax-12 1904  ax-13 2052  ax-ext 2398  ax-rep 4529  ax-sep 4539  ax-nul 4547  ax-pow 4594  ax-pr 4652  ax-un 6588  ax-cnex 9584  ax-resscn 9585  ax-1cn 9586  ax-icn 9587  ax-addcl 9588  ax-addrcl 9589  ax-mulcl 9590  ax-mulrcl 9591  ax-mulcom 9592  ax-addass 9593  ax-mulass 9594  ax-distr 9595  ax-i2m1 9596  ax-1ne0 9597  ax-1rid 9598  ax-rnegex 9599  ax-rrecex 9600  ax-cnre 9601  ax-pre-lttri 9602  ax-pre-lttrn 9603  ax-pre-ltadd 9604  ax-pre-mulgt0 9605  ax-pre-sup 9606
This theorem depends on definitions:  df-bi 188  df-or 371  df-an 372  df-3or 983  df-3an 984  df-tru 1440  df-ex 1660  df-nf 1664  df-sb 1787  df-eu 2267  df-mo 2268  df-clab 2406  df-cleq 2412  df-clel 2415  df-nfc 2570  df-ne 2618  df-nel 2619  df-ral 2778  df-rex 2779  df-reu 2780  df-rmo 2781  df-rab 2782  df-v 3080  df-sbc 3297  df-csb 3393  df-dif 3436  df-un 3438  df-in 3440  df-ss 3447  df-pss 3449  df-nul 3759  df-if 3907  df-pw 3978  df-sn 3994  df-pr 3996  df-tp 3998  df-op 4000  df-uni 4214  df-int 4250  df-iun 4295  df-br 4418  df-opab 4476  df-mpt 4477  df-tr 4512  df-eprel 4756  df-id 4760  df-po 4766  df-so 4767  df-fr 4804  df-we 4806  df-xp 4851  df-rel 4852  df-cnv 4853  df-co 4854  df-dm 4855  df-rn 4856  df-res 4857  df-ima 4858  df-pred 5390  df-ord 5436  df-on 5437  df-lim 5438  df-suc 5439  df-iota 5556  df-fun 5594  df-fn 5595  df-f 5596  df-f1 5597  df-fo 5598  df-f1o 5599  df-fv 5600  df-riota 6258  df-ov 6299  df-oprab 6300  df-mpt2 6301  df-om 6698  df-1st 6798  df-2nd 6799  df-wrecs 7027  df-recs 7089  df-rdg 7127  df-1o 7181  df-oadd 7185  df-er 7362  df-map 7473  df-en 7569  df-dom 7570  df-sdom 7571  df-fin 7572  df-sup 7953  df-inf 7954  df-card 8363  df-cda 8587  df-pnf 9666  df-mnf 9667  df-xr 9668  df-ltxr 9669  df-le 9670  df-sub 9851  df-neg 9852  df-div 10259  df-nn 10599  df-2 10657  df-3 10658  df-n0 10859  df-z 10927  df-uz 11149  df-rp 11292  df-fz 11772  df-fzo 11903  df-fl 12014  df-mod 12083  df-seq 12200  df-exp 12259  df-hash 12502  df-cj 13130  df-re 13131  df-im 13132  df-sqrt 13266  df-abs 13267  df-dvds 14273  df-gcd 14432
This theorem is referenced by:  phimullem  14685
  Copyright terms: Public domain W3C validator