Step |
Hyp |
Ref |
Expression |
1 |
|
zringfrac.1 |
|- Q = ( CCfld |`s QQ ) |
2 |
|
zringfrac.2 |
|- .~ = ( ZZring ~RL ( ZZ \ { 0 } ) ) |
3 |
|
zringfrac.3 |
|- F = ( q e. QQ |-> [ <. ( numer ` q ) , ( denom ` q ) >. ] .~ ) |
4 |
1
|
qdrng |
|- Q e. DivRing |
5 |
|
drngring |
|- ( Q e. DivRing -> Q e. Ring ) |
6 |
4 5
|
ax-mp |
|- Q e. Ring |
7 |
|
zringidom |
|- ZZring e. IDomn |
8 |
|
id |
|- ( ZZring e. IDomn -> ZZring e. IDomn ) |
9 |
8
|
fracfld |
|- ( ZZring e. IDomn -> ( Frac ` ZZring ) e. Field ) |
10 |
9
|
fldcrngd |
|- ( ZZring e. IDomn -> ( Frac ` ZZring ) e. CRing ) |
11 |
10
|
crngringd |
|- ( ZZring e. IDomn -> ( Frac ` ZZring ) e. Ring ) |
12 |
7 11
|
ax-mp |
|- ( Frac ` ZZring ) e. Ring |
13 |
6 12
|
pm3.2i |
|- ( Q e. Ring /\ ( Frac ` ZZring ) e. Ring ) |
14 |
|
ringgrp |
|- ( Q e. Ring -> Q e. Grp ) |
15 |
6 14
|
ax-mp |
|- Q e. Grp |
16 |
|
ringgrp |
|- ( ( Frac ` ZZring ) e. Ring -> ( Frac ` ZZring ) e. Grp ) |
17 |
12 16
|
ax-mp |
|- ( Frac ` ZZring ) e. Grp |
18 |
15 17
|
pm3.2i |
|- ( Q e. Grp /\ ( Frac ` ZZring ) e. Grp ) |
19 |
|
qnumcl |
|- ( q e. QQ -> ( numer ` q ) e. ZZ ) |
20 |
|
qdencl |
|- ( q e. QQ -> ( denom ` q ) e. NN ) |
21 |
20
|
nnzd |
|- ( q e. QQ -> ( denom ` q ) e. ZZ ) |
22 |
20
|
nnne0d |
|- ( q e. QQ -> ( denom ` q ) =/= 0 ) |
23 |
21 22
|
eldifsnd |
|- ( q e. QQ -> ( denom ` q ) e. ( ZZ \ { 0 } ) ) |
24 |
19 23
|
opelxpd |
|- ( q e. QQ -> <. ( numer ` q ) , ( denom ` q ) >. e. ( ZZ X. ( ZZ \ { 0 } ) ) ) |
25 |
2
|
ovexi |
|- .~ e. _V |
26 |
25
|
ecelqsi |
|- ( <. ( numer ` q ) , ( denom ` q ) >. e. ( ZZ X. ( ZZ \ { 0 } ) ) -> [ <. ( numer ` q ) , ( denom ` q ) >. ] .~ e. ( ( ZZ X. ( ZZ \ { 0 } ) ) /. .~ ) ) |
27 |
24 26
|
syl |
|- ( q e. QQ -> [ <. ( numer ` q ) , ( denom ` q ) >. ] .~ e. ( ( ZZ X. ( ZZ \ { 0 } ) ) /. .~ ) ) |
28 |
|
zringbas |
|- ZZ = ( Base ` ZZring ) |
29 |
|
zring0 |
|- 0 = ( 0g ` ZZring ) |
30 |
|
zringmulr |
|- x. = ( .r ` ZZring ) |
31 |
|
eqid |
|- ( -g ` ZZring ) = ( -g ` ZZring ) |
32 |
|
eqid |
|- ( ZZ X. ( ZZ \ { 0 } ) ) = ( ZZ X. ( ZZ \ { 0 } ) ) |
33 |
|
fracval |
|- ( Frac ` ZZring ) = ( ZZring RLocal ( RLReg ` ZZring ) ) |
34 |
8
|
idomdomd |
|- ( ZZring e. IDomn -> ZZring e. Domn ) |
35 |
7 34
|
ax-mp |
|- ZZring e. Domn |
36 |
|
eqid |
|- ( RLReg ` ZZring ) = ( RLReg ` ZZring ) |
37 |
28 36 29
|
isdomn6 |
|- ( ZZring e. Domn <-> ( ZZring e. NzRing /\ ( ZZ \ { 0 } ) = ( RLReg ` ZZring ) ) ) |
38 |
35 37
|
mpbi |
|- ( ZZring e. NzRing /\ ( ZZ \ { 0 } ) = ( RLReg ` ZZring ) ) |
39 |
38
|
simpri |
|- ( ZZ \ { 0 } ) = ( RLReg ` ZZring ) |
40 |
39
|
oveq2i |
|- ( ZZring RLocal ( ZZ \ { 0 } ) ) = ( ZZring RLocal ( RLReg ` ZZring ) ) |
41 |
33 40
|
eqtr4i |
|- ( Frac ` ZZring ) = ( ZZring RLocal ( ZZ \ { 0 } ) ) |
42 |
7
|
a1i |
|- ( T. -> ZZring e. IDomn ) |
43 |
|
difssd |
|- ( T. -> ( ZZ \ { 0 } ) C_ ZZ ) |
44 |
28 29 30 31 32 41 2 42 43
|
rlocbas |
|- ( T. -> ( ( ZZ X. ( ZZ \ { 0 } ) ) /. .~ ) = ( Base ` ( Frac ` ZZring ) ) ) |
45 |
44
|
mptru |
|- ( ( ZZ X. ( ZZ \ { 0 } ) ) /. .~ ) = ( Base ` ( Frac ` ZZring ) ) |
46 |
27 45
|
eleqtrdi |
|- ( q e. QQ -> [ <. ( numer ` q ) , ( denom ` q ) >. ] .~ e. ( Base ` ( Frac ` ZZring ) ) ) |
47 |
3 46
|
fmpti |
|- F : QQ --> ( Base ` ( Frac ` ZZring ) ) |
48 |
|
ecexg |
|- ( .~ e. _V -> [ <. ( numer ` q ) , ( denom ` q ) >. ] .~ e. _V ) |
49 |
25 48
|
ax-mp |
|- [ <. ( numer ` q ) , ( denom ` q ) >. ] .~ e. _V |
50 |
3
|
fvmpt2 |
|- ( ( q e. QQ /\ [ <. ( numer ` q ) , ( denom ` q ) >. ] .~ e. _V ) -> ( F ` q ) = [ <. ( numer ` q ) , ( denom ` q ) >. ] .~ ) |
51 |
49 50
|
mpan2 |
|- ( q e. QQ -> ( F ` q ) = [ <. ( numer ` q ) , ( denom ` q ) >. ] .~ ) |
52 |
51
|
adantr |
|- ( ( q e. QQ /\ p e. QQ ) -> ( F ` q ) = [ <. ( numer ` q ) , ( denom ` q ) >. ] .~ ) |
53 |
|
fveq2 |
|- ( q = p -> ( numer ` q ) = ( numer ` p ) ) |
54 |
|
fveq2 |
|- ( q = p -> ( denom ` q ) = ( denom ` p ) ) |
55 |
53 54
|
opeq12d |
|- ( q = p -> <. ( numer ` q ) , ( denom ` q ) >. = <. ( numer ` p ) , ( denom ` p ) >. ) |
56 |
55
|
eceq1d |
|- ( q = p -> [ <. ( numer ` q ) , ( denom ` q ) >. ] .~ = [ <. ( numer ` p ) , ( denom ` p ) >. ] .~ ) |
57 |
56 3 27
|
fvmpt3 |
|- ( p e. QQ -> ( F ` p ) = [ <. ( numer ` p ) , ( denom ` p ) >. ] .~ ) |
58 |
57
|
adantl |
|- ( ( q e. QQ /\ p e. QQ ) -> ( F ` p ) = [ <. ( numer ` p ) , ( denom ` p ) >. ] .~ ) |
59 |
52 58
|
oveq12d |
|- ( ( q e. QQ /\ p e. QQ ) -> ( ( F ` q ) ( +g ` ( ZZring RLocal ( ZZ \ { 0 } ) ) ) ( F ` p ) ) = ( [ <. ( numer ` q ) , ( denom ` q ) >. ] .~ ( +g ` ( ZZring RLocal ( ZZ \ { 0 } ) ) ) [ <. ( numer ` p ) , ( denom ` p ) >. ] .~ ) ) |
60 |
41
|
fveq2i |
|- ( +g ` ( Frac ` ZZring ) ) = ( +g ` ( ZZring RLocal ( ZZ \ { 0 } ) ) ) |
61 |
60
|
oveqi |
|- ( ( F ` q ) ( +g ` ( Frac ` ZZring ) ) ( F ` p ) ) = ( ( F ` q ) ( +g ` ( ZZring RLocal ( ZZ \ { 0 } ) ) ) ( F ` p ) ) |
62 |
61
|
a1i |
|- ( ( q e. QQ /\ p e. QQ ) -> ( ( F ` q ) ( +g ` ( Frac ` ZZring ) ) ( F ` p ) ) = ( ( F ` q ) ( +g ` ( ZZring RLocal ( ZZ \ { 0 } ) ) ) ( F ` p ) ) ) |
63 |
|
fveq2 |
|- ( q = u -> ( numer ` q ) = ( numer ` u ) ) |
64 |
|
fveq2 |
|- ( q = u -> ( denom ` q ) = ( denom ` u ) ) |
65 |
63 64
|
opeq12d |
|- ( q = u -> <. ( numer ` q ) , ( denom ` q ) >. = <. ( numer ` u ) , ( denom ` u ) >. ) |
66 |
65
|
eceq1d |
|- ( q = u -> [ <. ( numer ` q ) , ( denom ` q ) >. ] .~ = [ <. ( numer ` u ) , ( denom ` u ) >. ] .~ ) |
67 |
66
|
cbvmptv |
|- ( q e. QQ |-> [ <. ( numer ` q ) , ( denom ` q ) >. ] .~ ) = ( u e. QQ |-> [ <. ( numer ` u ) , ( denom ` u ) >. ] .~ ) |
68 |
3 67
|
eqtri |
|- F = ( u e. QQ |-> [ <. ( numer ` u ) , ( denom ` u ) >. ] .~ ) |
69 |
|
zring1 |
|- 1 = ( 1r ` ZZring ) |
70 |
7
|
a1i |
|- ( ( q e. QQ /\ p e. QQ ) -> ZZring e. IDomn ) |
71 |
70
|
idomcringd |
|- ( ( q e. QQ /\ p e. QQ ) -> ZZring e. CRing ) |
72 |
35
|
a1i |
|- ( ( q e. QQ /\ p e. QQ ) -> ZZring e. Domn ) |
73 |
|
eqid |
|- ( mulGrp ` ZZring ) = ( mulGrp ` ZZring ) |
74 |
28 29 73
|
isdomn3 |
|- ( ZZring e. Domn <-> ( ZZring e. Ring /\ ( ZZ \ { 0 } ) e. ( SubMnd ` ( mulGrp ` ZZring ) ) ) ) |
75 |
72 74
|
sylib |
|- ( ( q e. QQ /\ p e. QQ ) -> ( ZZring e. Ring /\ ( ZZ \ { 0 } ) e. ( SubMnd ` ( mulGrp ` ZZring ) ) ) ) |
76 |
75
|
simprd |
|- ( ( q e. QQ /\ p e. QQ ) -> ( ZZ \ { 0 } ) e. ( SubMnd ` ( mulGrp ` ZZring ) ) ) |
77 |
28 29 69 30 31 32 2 71 76
|
erler |
|- ( ( q e. QQ /\ p e. QQ ) -> .~ Er ( ZZ X. ( ZZ \ { 0 } ) ) ) |
78 |
|
qcn |
|- ( q e. QQ -> q e. CC ) |
79 |
78
|
adantr |
|- ( ( q e. QQ /\ p e. QQ ) -> q e. CC ) |
80 |
|
qcn |
|- ( p e. QQ -> p e. CC ) |
81 |
80
|
adantl |
|- ( ( q e. QQ /\ p e. QQ ) -> p e. CC ) |
82 |
79 81
|
addcld |
|- ( ( q e. QQ /\ p e. QQ ) -> ( q + p ) e. CC ) |
83 |
|
qaddcl |
|- ( ( q e. QQ /\ p e. QQ ) -> ( q + p ) e. QQ ) |
84 |
|
qdencl |
|- ( ( q + p ) e. QQ -> ( denom ` ( q + p ) ) e. NN ) |
85 |
83 84
|
syl |
|- ( ( q e. QQ /\ p e. QQ ) -> ( denom ` ( q + p ) ) e. NN ) |
86 |
85
|
nncnd |
|- ( ( q e. QQ /\ p e. QQ ) -> ( denom ` ( q + p ) ) e. CC ) |
87 |
20
|
adantr |
|- ( ( q e. QQ /\ p e. QQ ) -> ( denom ` q ) e. NN ) |
88 |
87
|
nncnd |
|- ( ( q e. QQ /\ p e. QQ ) -> ( denom ` q ) e. CC ) |
89 |
|
qdencl |
|- ( p e. QQ -> ( denom ` p ) e. NN ) |
90 |
89
|
adantl |
|- ( ( q e. QQ /\ p e. QQ ) -> ( denom ` p ) e. NN ) |
91 |
90
|
nncnd |
|- ( ( q e. QQ /\ p e. QQ ) -> ( denom ` p ) e. CC ) |
92 |
88 91
|
mulcld |
|- ( ( q e. QQ /\ p e. QQ ) -> ( ( denom ` q ) x. ( denom ` p ) ) e. CC ) |
93 |
82 86 92
|
mul32d |
|- ( ( q e. QQ /\ p e. QQ ) -> ( ( ( q + p ) x. ( denom ` ( q + p ) ) ) x. ( ( denom ` q ) x. ( denom ` p ) ) ) = ( ( ( q + p ) x. ( ( denom ` q ) x. ( denom ` p ) ) ) x. ( denom ` ( q + p ) ) ) ) |
94 |
|
qmuldeneqnum |
|- ( ( q + p ) e. QQ -> ( ( q + p ) x. ( denom ` ( q + p ) ) ) = ( numer ` ( q + p ) ) ) |
95 |
83 94
|
syl |
|- ( ( q e. QQ /\ p e. QQ ) -> ( ( q + p ) x. ( denom ` ( q + p ) ) ) = ( numer ` ( q + p ) ) ) |
96 |
95
|
oveq1d |
|- ( ( q e. QQ /\ p e. QQ ) -> ( ( ( q + p ) x. ( denom ` ( q + p ) ) ) x. ( ( denom ` q ) x. ( denom ` p ) ) ) = ( ( numer ` ( q + p ) ) x. ( ( denom ` q ) x. ( denom ` p ) ) ) ) |
97 |
79 88 91
|
mulassd |
|- ( ( q e. QQ /\ p e. QQ ) -> ( ( q x. ( denom ` q ) ) x. ( denom ` p ) ) = ( q x. ( ( denom ` q ) x. ( denom ` p ) ) ) ) |
98 |
|
qmuldeneqnum |
|- ( q e. QQ -> ( q x. ( denom ` q ) ) = ( numer ` q ) ) |
99 |
98
|
adantr |
|- ( ( q e. QQ /\ p e. QQ ) -> ( q x. ( denom ` q ) ) = ( numer ` q ) ) |
100 |
99
|
oveq1d |
|- ( ( q e. QQ /\ p e. QQ ) -> ( ( q x. ( denom ` q ) ) x. ( denom ` p ) ) = ( ( numer ` q ) x. ( denom ` p ) ) ) |
101 |
97 100
|
eqtr3d |
|- ( ( q e. QQ /\ p e. QQ ) -> ( q x. ( ( denom ` q ) x. ( denom ` p ) ) ) = ( ( numer ` q ) x. ( denom ` p ) ) ) |
102 |
81 91 88
|
mulassd |
|- ( ( q e. QQ /\ p e. QQ ) -> ( ( p x. ( denom ` p ) ) x. ( denom ` q ) ) = ( p x. ( ( denom ` p ) x. ( denom ` q ) ) ) ) |
103 |
|
qmuldeneqnum |
|- ( p e. QQ -> ( p x. ( denom ` p ) ) = ( numer ` p ) ) |
104 |
103
|
adantl |
|- ( ( q e. QQ /\ p e. QQ ) -> ( p x. ( denom ` p ) ) = ( numer ` p ) ) |
105 |
104
|
oveq1d |
|- ( ( q e. QQ /\ p e. QQ ) -> ( ( p x. ( denom ` p ) ) x. ( denom ` q ) ) = ( ( numer ` p ) x. ( denom ` q ) ) ) |
106 |
91 88
|
mulcomd |
|- ( ( q e. QQ /\ p e. QQ ) -> ( ( denom ` p ) x. ( denom ` q ) ) = ( ( denom ` q ) x. ( denom ` p ) ) ) |
107 |
106
|
oveq2d |
|- ( ( q e. QQ /\ p e. QQ ) -> ( p x. ( ( denom ` p ) x. ( denom ` q ) ) ) = ( p x. ( ( denom ` q ) x. ( denom ` p ) ) ) ) |
108 |
102 105 107
|
3eqtr3rd |
|- ( ( q e. QQ /\ p e. QQ ) -> ( p x. ( ( denom ` q ) x. ( denom ` p ) ) ) = ( ( numer ` p ) x. ( denom ` q ) ) ) |
109 |
101 108
|
oveq12d |
|- ( ( q e. QQ /\ p e. QQ ) -> ( ( q x. ( ( denom ` q ) x. ( denom ` p ) ) ) + ( p x. ( ( denom ` q ) x. ( denom ` p ) ) ) ) = ( ( ( numer ` q ) x. ( denom ` p ) ) + ( ( numer ` p ) x. ( denom ` q ) ) ) ) |
110 |
79 92 81 109
|
joinlmuladdmuld |
|- ( ( q e. QQ /\ p e. QQ ) -> ( ( q + p ) x. ( ( denom ` q ) x. ( denom ` p ) ) ) = ( ( ( numer ` q ) x. ( denom ` p ) ) + ( ( numer ` p ) x. ( denom ` q ) ) ) ) |
111 |
110
|
oveq1d |
|- ( ( q e. QQ /\ p e. QQ ) -> ( ( ( q + p ) x. ( ( denom ` q ) x. ( denom ` p ) ) ) x. ( denom ` ( q + p ) ) ) = ( ( ( ( numer ` q ) x. ( denom ` p ) ) + ( ( numer ` p ) x. ( denom ` q ) ) ) x. ( denom ` ( q + p ) ) ) ) |
112 |
93 96 111
|
3eqtr3d |
|- ( ( q e. QQ /\ p e. QQ ) -> ( ( numer ` ( q + p ) ) x. ( ( denom ` q ) x. ( denom ` p ) ) ) = ( ( ( ( numer ` q ) x. ( denom ` p ) ) + ( ( numer ` p ) x. ( denom ` q ) ) ) x. ( denom ` ( q + p ) ) ) ) |
113 |
39
|
oveq2i |
|- ( ZZring ~RL ( ZZ \ { 0 } ) ) = ( ZZring ~RL ( RLReg ` ZZring ) ) |
114 |
2 113
|
eqtri |
|- .~ = ( ZZring ~RL ( RLReg ` ZZring ) ) |
115 |
|
qnumcl |
|- ( ( q + p ) e. QQ -> ( numer ` ( q + p ) ) e. ZZ ) |
116 |
83 115
|
syl |
|- ( ( q e. QQ /\ p e. QQ ) -> ( numer ` ( q + p ) ) e. ZZ ) |
117 |
19
|
adantr |
|- ( ( q e. QQ /\ p e. QQ ) -> ( numer ` q ) e. ZZ ) |
118 |
89
|
nnzd |
|- ( p e. QQ -> ( denom ` p ) e. ZZ ) |
119 |
118
|
adantl |
|- ( ( q e. QQ /\ p e. QQ ) -> ( denom ` p ) e. ZZ ) |
120 |
117 119
|
zmulcld |
|- ( ( q e. QQ /\ p e. QQ ) -> ( ( numer ` q ) x. ( denom ` p ) ) e. ZZ ) |
121 |
|
qnumcl |
|- ( p e. QQ -> ( numer ` p ) e. ZZ ) |
122 |
121
|
adantl |
|- ( ( q e. QQ /\ p e. QQ ) -> ( numer ` p ) e. ZZ ) |
123 |
21
|
adantr |
|- ( ( q e. QQ /\ p e. QQ ) -> ( denom ` q ) e. ZZ ) |
124 |
122 123
|
zmulcld |
|- ( ( q e. QQ /\ p e. QQ ) -> ( ( numer ` p ) x. ( denom ` q ) ) e. ZZ ) |
125 |
120 124
|
zaddcld |
|- ( ( q e. QQ /\ p e. QQ ) -> ( ( ( numer ` q ) x. ( denom ` p ) ) + ( ( numer ` p ) x. ( denom ` q ) ) ) e. ZZ ) |
126 |
85
|
nnzd |
|- ( ( q e. QQ /\ p e. QQ ) -> ( denom ` ( q + p ) ) e. ZZ ) |
127 |
85
|
nnne0d |
|- ( ( q e. QQ /\ p e. QQ ) -> ( denom ` ( q + p ) ) =/= 0 ) |
128 |
126 127
|
eldifsnd |
|- ( ( q e. QQ /\ p e. QQ ) -> ( denom ` ( q + p ) ) e. ( ZZ \ { 0 } ) ) |
129 |
128 39
|
eleqtrdi |
|- ( ( q e. QQ /\ p e. QQ ) -> ( denom ` ( q + p ) ) e. ( RLReg ` ZZring ) ) |
130 |
123 119
|
zmulcld |
|- ( ( q e. QQ /\ p e. QQ ) -> ( ( denom ` q ) x. ( denom ` p ) ) e. ZZ ) |
131 |
87 90
|
nnmulcld |
|- ( ( q e. QQ /\ p e. QQ ) -> ( ( denom ` q ) x. ( denom ` p ) ) e. NN ) |
132 |
131
|
nnne0d |
|- ( ( q e. QQ /\ p e. QQ ) -> ( ( denom ` q ) x. ( denom ` p ) ) =/= 0 ) |
133 |
130 132
|
eldifsnd |
|- ( ( q e. QQ /\ p e. QQ ) -> ( ( denom ` q ) x. ( denom ` p ) ) e. ( ZZ \ { 0 } ) ) |
134 |
133 39
|
eleqtrdi |
|- ( ( q e. QQ /\ p e. QQ ) -> ( ( denom ` q ) x. ( denom ` p ) ) e. ( RLReg ` ZZring ) ) |
135 |
28 30 114 71 116 125 129 134
|
fracerl |
|- ( ( q e. QQ /\ p e. QQ ) -> ( <. ( numer ` ( q + p ) ) , ( denom ` ( q + p ) ) >. .~ <. ( ( ( numer ` q ) x. ( denom ` p ) ) + ( ( numer ` p ) x. ( denom ` q ) ) ) , ( ( denom ` q ) x. ( denom ` p ) ) >. <-> ( ( numer ` ( q + p ) ) x. ( ( denom ` q ) x. ( denom ` p ) ) ) = ( ( ( ( numer ` q ) x. ( denom ` p ) ) + ( ( numer ` p ) x. ( denom ` q ) ) ) x. ( denom ` ( q + p ) ) ) ) ) |
136 |
112 135
|
mpbird |
|- ( ( q e. QQ /\ p e. QQ ) -> <. ( numer ` ( q + p ) ) , ( denom ` ( q + p ) ) >. .~ <. ( ( ( numer ` q ) x. ( denom ` p ) ) + ( ( numer ` p ) x. ( denom ` q ) ) ) , ( ( denom ` q ) x. ( denom ` p ) ) >. ) |
137 |
77 136
|
erthi |
|- ( ( q e. QQ /\ p e. QQ ) -> [ <. ( numer ` ( q + p ) ) , ( denom ` ( q + p ) ) >. ] .~ = [ <. ( ( ( numer ` q ) x. ( denom ` p ) ) + ( ( numer ` p ) x. ( denom ` q ) ) ) , ( ( denom ` q ) x. ( denom ` p ) ) >. ] .~ ) |
138 |
137
|
adantr |
|- ( ( ( q e. QQ /\ p e. QQ ) /\ u = ( q + p ) ) -> [ <. ( numer ` ( q + p ) ) , ( denom ` ( q + p ) ) >. ] .~ = [ <. ( ( ( numer ` q ) x. ( denom ` p ) ) + ( ( numer ` p ) x. ( denom ` q ) ) ) , ( ( denom ` q ) x. ( denom ` p ) ) >. ] .~ ) |
139 |
|
fveq2 |
|- ( u = ( q + p ) -> ( numer ` u ) = ( numer ` ( q + p ) ) ) |
140 |
|
fveq2 |
|- ( u = ( q + p ) -> ( denom ` u ) = ( denom ` ( q + p ) ) ) |
141 |
139 140
|
opeq12d |
|- ( u = ( q + p ) -> <. ( numer ` u ) , ( denom ` u ) >. = <. ( numer ` ( q + p ) ) , ( denom ` ( q + p ) ) >. ) |
142 |
141
|
adantl |
|- ( ( ( q e. QQ /\ p e. QQ ) /\ u = ( q + p ) ) -> <. ( numer ` u ) , ( denom ` u ) >. = <. ( numer ` ( q + p ) ) , ( denom ` ( q + p ) ) >. ) |
143 |
142
|
eceq1d |
|- ( ( ( q e. QQ /\ p e. QQ ) /\ u = ( q + p ) ) -> [ <. ( numer ` u ) , ( denom ` u ) >. ] .~ = [ <. ( numer ` ( q + p ) ) , ( denom ` ( q + p ) ) >. ] .~ ) |
144 |
|
zringplusg |
|- + = ( +g ` ZZring ) |
145 |
|
eqid |
|- ( ZZring RLocal ( ZZ \ { 0 } ) ) = ( ZZring RLocal ( ZZ \ { 0 } ) ) |
146 |
|
zringcrng |
|- ZZring e. CRing |
147 |
146
|
a1i |
|- ( ( ( q e. QQ /\ p e. QQ ) /\ u = ( q + p ) ) -> ZZring e. CRing ) |
148 |
35 74
|
mpbi |
|- ( ZZring e. Ring /\ ( ZZ \ { 0 } ) e. ( SubMnd ` ( mulGrp ` ZZring ) ) ) |
149 |
148
|
simpri |
|- ( ZZ \ { 0 } ) e. ( SubMnd ` ( mulGrp ` ZZring ) ) |
150 |
149
|
a1i |
|- ( ( ( q e. QQ /\ p e. QQ ) /\ u = ( q + p ) ) -> ( ZZ \ { 0 } ) e. ( SubMnd ` ( mulGrp ` ZZring ) ) ) |
151 |
117
|
adantr |
|- ( ( ( q e. QQ /\ p e. QQ ) /\ u = ( q + p ) ) -> ( numer ` q ) e. ZZ ) |
152 |
122
|
adantr |
|- ( ( ( q e. QQ /\ p e. QQ ) /\ u = ( q + p ) ) -> ( numer ` p ) e. ZZ ) |
153 |
23
|
adantr |
|- ( ( q e. QQ /\ p e. QQ ) -> ( denom ` q ) e. ( ZZ \ { 0 } ) ) |
154 |
153
|
adantr |
|- ( ( ( q e. QQ /\ p e. QQ ) /\ u = ( q + p ) ) -> ( denom ` q ) e. ( ZZ \ { 0 } ) ) |
155 |
89
|
nnne0d |
|- ( p e. QQ -> ( denom ` p ) =/= 0 ) |
156 |
118 155
|
eldifsnd |
|- ( p e. QQ -> ( denom ` p ) e. ( ZZ \ { 0 } ) ) |
157 |
156
|
adantl |
|- ( ( q e. QQ /\ p e. QQ ) -> ( denom ` p ) e. ( ZZ \ { 0 } ) ) |
158 |
157
|
adantr |
|- ( ( ( q e. QQ /\ p e. QQ ) /\ u = ( q + p ) ) -> ( denom ` p ) e. ( ZZ \ { 0 } ) ) |
159 |
|
eqid |
|- ( +g ` ( ZZring RLocal ( ZZ \ { 0 } ) ) ) = ( +g ` ( ZZring RLocal ( ZZ \ { 0 } ) ) ) |
160 |
28 30 144 145 2 147 150 151 152 154 158 159
|
rlocaddval |
|- ( ( ( q e. QQ /\ p e. QQ ) /\ u = ( q + p ) ) -> ( [ <. ( numer ` q ) , ( denom ` q ) >. ] .~ ( +g ` ( ZZring RLocal ( ZZ \ { 0 } ) ) ) [ <. ( numer ` p ) , ( denom ` p ) >. ] .~ ) = [ <. ( ( ( numer ` q ) x. ( denom ` p ) ) + ( ( numer ` p ) x. ( denom ` q ) ) ) , ( ( denom ` q ) x. ( denom ` p ) ) >. ] .~ ) |
161 |
138 143 160
|
3eqtr4d |
|- ( ( ( q e. QQ /\ p e. QQ ) /\ u = ( q + p ) ) -> [ <. ( numer ` u ) , ( denom ` u ) >. ] .~ = ( [ <. ( numer ` q ) , ( denom ` q ) >. ] .~ ( +g ` ( ZZring RLocal ( ZZ \ { 0 } ) ) ) [ <. ( numer ` p ) , ( denom ` p ) >. ] .~ ) ) |
162 |
|
ovexd |
|- ( ( q e. QQ /\ p e. QQ ) -> ( [ <. ( numer ` q ) , ( denom ` q ) >. ] .~ ( +g ` ( ZZring RLocal ( ZZ \ { 0 } ) ) ) [ <. ( numer ` p ) , ( denom ` p ) >. ] .~ ) e. _V ) |
163 |
68 161 83 162
|
fvmptd2 |
|- ( ( q e. QQ /\ p e. QQ ) -> ( F ` ( q + p ) ) = ( [ <. ( numer ` q ) , ( denom ` q ) >. ] .~ ( +g ` ( ZZring RLocal ( ZZ \ { 0 } ) ) ) [ <. ( numer ` p ) , ( denom ` p ) >. ] .~ ) ) |
164 |
59 62 163
|
3eqtr4rd |
|- ( ( q e. QQ /\ p e. QQ ) -> ( F ` ( q + p ) ) = ( ( F ` q ) ( +g ` ( Frac ` ZZring ) ) ( F ` p ) ) ) |
165 |
164
|
rgen2 |
|- A. q e. QQ A. p e. QQ ( F ` ( q + p ) ) = ( ( F ` q ) ( +g ` ( Frac ` ZZring ) ) ( F ` p ) ) |
166 |
47 165
|
pm3.2i |
|- ( F : QQ --> ( Base ` ( Frac ` ZZring ) ) /\ A. q e. QQ A. p e. QQ ( F ` ( q + p ) ) = ( ( F ` q ) ( +g ` ( Frac ` ZZring ) ) ( F ` p ) ) ) |
167 |
1
|
qrngbas |
|- QQ = ( Base ` Q ) |
168 |
|
eqid |
|- ( Base ` ( Frac ` ZZring ) ) = ( Base ` ( Frac ` ZZring ) ) |
169 |
|
qex |
|- QQ e. _V |
170 |
|
cnfldadd |
|- + = ( +g ` CCfld ) |
171 |
1 170
|
ressplusg |
|- ( QQ e. _V -> + = ( +g ` Q ) ) |
172 |
169 171
|
ax-mp |
|- + = ( +g ` Q ) |
173 |
|
eqid |
|- ( +g ` ( Frac ` ZZring ) ) = ( +g ` ( Frac ` ZZring ) ) |
174 |
167 168 172 173
|
isghm |
|- ( F e. ( Q GrpHom ( Frac ` ZZring ) ) <-> ( ( Q e. Grp /\ ( Frac ` ZZring ) e. Grp ) /\ ( F : QQ --> ( Base ` ( Frac ` ZZring ) ) /\ A. q e. QQ A. p e. QQ ( F ` ( q + p ) ) = ( ( F ` q ) ( +g ` ( Frac ` ZZring ) ) ( F ` p ) ) ) ) ) |
175 |
18 166 174
|
mpbir2an |
|- F e. ( Q GrpHom ( Frac ` ZZring ) ) |
176 |
|
eqid |
|- ( mulGrp ` Q ) = ( mulGrp ` Q ) |
177 |
176
|
ringmgp |
|- ( Q e. Ring -> ( mulGrp ` Q ) e. Mnd ) |
178 |
6 177
|
ax-mp |
|- ( mulGrp ` Q ) e. Mnd |
179 |
|
eqid |
|- ( mulGrp ` ( Frac ` ZZring ) ) = ( mulGrp ` ( Frac ` ZZring ) ) |
180 |
179
|
ringmgp |
|- ( ( Frac ` ZZring ) e. Ring -> ( mulGrp ` ( Frac ` ZZring ) ) e. Mnd ) |
181 |
12 180
|
ax-mp |
|- ( mulGrp ` ( Frac ` ZZring ) ) e. Mnd |
182 |
178 181
|
pm3.2i |
|- ( ( mulGrp ` Q ) e. Mnd /\ ( mulGrp ` ( Frac ` ZZring ) ) e. Mnd ) |
183 |
|
eqid |
|- ( .r ` ( ZZring RLocal ( ZZ \ { 0 } ) ) ) = ( .r ` ( ZZring RLocal ( ZZ \ { 0 } ) ) ) |
184 |
28 30 144 145 2 71 76 117 122 153 157 183
|
rlocmulval |
|- ( ( q e. QQ /\ p e. QQ ) -> ( [ <. ( numer ` q ) , ( denom ` q ) >. ] .~ ( .r ` ( ZZring RLocal ( ZZ \ { 0 } ) ) ) [ <. ( numer ` p ) , ( denom ` p ) >. ] .~ ) = [ <. ( ( numer ` q ) x. ( numer ` p ) ) , ( ( denom ` q ) x. ( denom ` p ) ) >. ] .~ ) |
185 |
79 81
|
mulcld |
|- ( ( q e. QQ /\ p e. QQ ) -> ( q x. p ) e. CC ) |
186 |
|
qmulcl |
|- ( ( q e. QQ /\ p e. QQ ) -> ( q x. p ) e. QQ ) |
187 |
|
qdencl |
|- ( ( q x. p ) e. QQ -> ( denom ` ( q x. p ) ) e. NN ) |
188 |
186 187
|
syl |
|- ( ( q e. QQ /\ p e. QQ ) -> ( denom ` ( q x. p ) ) e. NN ) |
189 |
188
|
nncnd |
|- ( ( q e. QQ /\ p e. QQ ) -> ( denom ` ( q x. p ) ) e. CC ) |
190 |
185 189 92
|
mul32d |
|- ( ( q e. QQ /\ p e. QQ ) -> ( ( ( q x. p ) x. ( denom ` ( q x. p ) ) ) x. ( ( denom ` q ) x. ( denom ` p ) ) ) = ( ( ( q x. p ) x. ( ( denom ` q ) x. ( denom ` p ) ) ) x. ( denom ` ( q x. p ) ) ) ) |
191 |
79 81 88 91
|
mul4d |
|- ( ( q e. QQ /\ p e. QQ ) -> ( ( q x. p ) x. ( ( denom ` q ) x. ( denom ` p ) ) ) = ( ( q x. ( denom ` q ) ) x. ( p x. ( denom ` p ) ) ) ) |
192 |
191
|
oveq1d |
|- ( ( q e. QQ /\ p e. QQ ) -> ( ( ( q x. p ) x. ( ( denom ` q ) x. ( denom ` p ) ) ) x. ( denom ` ( q x. p ) ) ) = ( ( ( q x. ( denom ` q ) ) x. ( p x. ( denom ` p ) ) ) x. ( denom ` ( q x. p ) ) ) ) |
193 |
190 192
|
eqtrd |
|- ( ( q e. QQ /\ p e. QQ ) -> ( ( ( q x. p ) x. ( denom ` ( q x. p ) ) ) x. ( ( denom ` q ) x. ( denom ` p ) ) ) = ( ( ( q x. ( denom ` q ) ) x. ( p x. ( denom ` p ) ) ) x. ( denom ` ( q x. p ) ) ) ) |
194 |
|
qmuldeneqnum |
|- ( ( q x. p ) e. QQ -> ( ( q x. p ) x. ( denom ` ( q x. p ) ) ) = ( numer ` ( q x. p ) ) ) |
195 |
186 194
|
syl |
|- ( ( q e. QQ /\ p e. QQ ) -> ( ( q x. p ) x. ( denom ` ( q x. p ) ) ) = ( numer ` ( q x. p ) ) ) |
196 |
195
|
oveq1d |
|- ( ( q e. QQ /\ p e. QQ ) -> ( ( ( q x. p ) x. ( denom ` ( q x. p ) ) ) x. ( ( denom ` q ) x. ( denom ` p ) ) ) = ( ( numer ` ( q x. p ) ) x. ( ( denom ` q ) x. ( denom ` p ) ) ) ) |
197 |
99 104
|
oveq12d |
|- ( ( q e. QQ /\ p e. QQ ) -> ( ( q x. ( denom ` q ) ) x. ( p x. ( denom ` p ) ) ) = ( ( numer ` q ) x. ( numer ` p ) ) ) |
198 |
197
|
oveq1d |
|- ( ( q e. QQ /\ p e. QQ ) -> ( ( ( q x. ( denom ` q ) ) x. ( p x. ( denom ` p ) ) ) x. ( denom ` ( q x. p ) ) ) = ( ( ( numer ` q ) x. ( numer ` p ) ) x. ( denom ` ( q x. p ) ) ) ) |
199 |
193 196 198
|
3eqtr3rd |
|- ( ( q e. QQ /\ p e. QQ ) -> ( ( ( numer ` q ) x. ( numer ` p ) ) x. ( denom ` ( q x. p ) ) ) = ( ( numer ` ( q x. p ) ) x. ( ( denom ` q ) x. ( denom ` p ) ) ) ) |
200 |
117 122
|
zmulcld |
|- ( ( q e. QQ /\ p e. QQ ) -> ( ( numer ` q ) x. ( numer ` p ) ) e. ZZ ) |
201 |
|
qnumcl |
|- ( ( q x. p ) e. QQ -> ( numer ` ( q x. p ) ) e. ZZ ) |
202 |
186 201
|
syl |
|- ( ( q e. QQ /\ p e. QQ ) -> ( numer ` ( q x. p ) ) e. ZZ ) |
203 |
188
|
nnzd |
|- ( ( q e. QQ /\ p e. QQ ) -> ( denom ` ( q x. p ) ) e. ZZ ) |
204 |
188
|
nnne0d |
|- ( ( q e. QQ /\ p e. QQ ) -> ( denom ` ( q x. p ) ) =/= 0 ) |
205 |
203 204
|
eldifsnd |
|- ( ( q e. QQ /\ p e. QQ ) -> ( denom ` ( q x. p ) ) e. ( ZZ \ { 0 } ) ) |
206 |
205 39
|
eleqtrdi |
|- ( ( q e. QQ /\ p e. QQ ) -> ( denom ` ( q x. p ) ) e. ( RLReg ` ZZring ) ) |
207 |
28 30 114 71 200 202 134 206
|
fracerl |
|- ( ( q e. QQ /\ p e. QQ ) -> ( <. ( ( numer ` q ) x. ( numer ` p ) ) , ( ( denom ` q ) x. ( denom ` p ) ) >. .~ <. ( numer ` ( q x. p ) ) , ( denom ` ( q x. p ) ) >. <-> ( ( ( numer ` q ) x. ( numer ` p ) ) x. ( denom ` ( q x. p ) ) ) = ( ( numer ` ( q x. p ) ) x. ( ( denom ` q ) x. ( denom ` p ) ) ) ) ) |
208 |
199 207
|
mpbird |
|- ( ( q e. QQ /\ p e. QQ ) -> <. ( ( numer ` q ) x. ( numer ` p ) ) , ( ( denom ` q ) x. ( denom ` p ) ) >. .~ <. ( numer ` ( q x. p ) ) , ( denom ` ( q x. p ) ) >. ) |
209 |
77 208
|
erthi |
|- ( ( q e. QQ /\ p e. QQ ) -> [ <. ( ( numer ` q ) x. ( numer ` p ) ) , ( ( denom ` q ) x. ( denom ` p ) ) >. ] .~ = [ <. ( numer ` ( q x. p ) ) , ( denom ` ( q x. p ) ) >. ] .~ ) |
210 |
184 209
|
eqtrd |
|- ( ( q e. QQ /\ p e. QQ ) -> ( [ <. ( numer ` q ) , ( denom ` q ) >. ] .~ ( .r ` ( ZZring RLocal ( ZZ \ { 0 } ) ) ) [ <. ( numer ` p ) , ( denom ` p ) >. ] .~ ) = [ <. ( numer ` ( q x. p ) ) , ( denom ` ( q x. p ) ) >. ] .~ ) |
211 |
41
|
fveq2i |
|- ( .r ` ( Frac ` ZZring ) ) = ( .r ` ( ZZring RLocal ( ZZ \ { 0 } ) ) ) |
212 |
211
|
a1i |
|- ( ( q e. QQ /\ p e. QQ ) -> ( .r ` ( Frac ` ZZring ) ) = ( .r ` ( ZZring RLocal ( ZZ \ { 0 } ) ) ) ) |
213 |
212 52 58
|
oveq123d |
|- ( ( q e. QQ /\ p e. QQ ) -> ( ( F ` q ) ( .r ` ( Frac ` ZZring ) ) ( F ` p ) ) = ( [ <. ( numer ` q ) , ( denom ` q ) >. ] .~ ( .r ` ( ZZring RLocal ( ZZ \ { 0 } ) ) ) [ <. ( numer ` p ) , ( denom ` p ) >. ] .~ ) ) |
214 |
|
fveq2 |
|- ( u = ( q x. p ) -> ( numer ` u ) = ( numer ` ( q x. p ) ) ) |
215 |
|
fveq2 |
|- ( u = ( q x. p ) -> ( denom ` u ) = ( denom ` ( q x. p ) ) ) |
216 |
214 215
|
opeq12d |
|- ( u = ( q x. p ) -> <. ( numer ` u ) , ( denom ` u ) >. = <. ( numer ` ( q x. p ) ) , ( denom ` ( q x. p ) ) >. ) |
217 |
216
|
eceq1d |
|- ( u = ( q x. p ) -> [ <. ( numer ` u ) , ( denom ` u ) >. ] .~ = [ <. ( numer ` ( q x. p ) ) , ( denom ` ( q x. p ) ) >. ] .~ ) |
218 |
|
ecexg |
|- ( .~ e. _V -> [ <. ( numer ` ( q x. p ) ) , ( denom ` ( q x. p ) ) >. ] .~ e. _V ) |
219 |
25 218
|
mp1i |
|- ( ( q e. QQ /\ p e. QQ ) -> [ <. ( numer ` ( q x. p ) ) , ( denom ` ( q x. p ) ) >. ] .~ e. _V ) |
220 |
68 217 186 219
|
fvmptd3 |
|- ( ( q e. QQ /\ p e. QQ ) -> ( F ` ( q x. p ) ) = [ <. ( numer ` ( q x. p ) ) , ( denom ` ( q x. p ) ) >. ] .~ ) |
221 |
210 213 220
|
3eqtr4rd |
|- ( ( q e. QQ /\ p e. QQ ) -> ( F ` ( q x. p ) ) = ( ( F ` q ) ( .r ` ( Frac ` ZZring ) ) ( F ` p ) ) ) |
222 |
221
|
rgen2 |
|- A. q e. QQ A. p e. QQ ( F ` ( q x. p ) ) = ( ( F ` q ) ( .r ` ( Frac ` ZZring ) ) ( F ` p ) ) |
223 |
|
zssq |
|- ZZ C_ QQ |
224 |
|
1z |
|- 1 e. ZZ |
225 |
223 224
|
sselii |
|- 1 e. QQ |
226 |
|
fveq2 |
|- ( q = 1 -> ( numer ` q ) = ( numer ` 1 ) ) |
227 |
|
1zzd |
|- ( ZZring e. IDomn -> 1 e. ZZ ) |
228 |
227
|
znumd |
|- ( ZZring e. IDomn -> ( numer ` 1 ) = 1 ) |
229 |
7 228
|
ax-mp |
|- ( numer ` 1 ) = 1 |
230 |
226 229
|
eqtrdi |
|- ( q = 1 -> ( numer ` q ) = 1 ) |
231 |
|
fveq2 |
|- ( q = 1 -> ( denom ` q ) = ( denom ` 1 ) ) |
232 |
227
|
zdend |
|- ( ZZring e. IDomn -> ( denom ` 1 ) = 1 ) |
233 |
7 232
|
ax-mp |
|- ( denom ` 1 ) = 1 |
234 |
231 233
|
eqtrdi |
|- ( q = 1 -> ( denom ` q ) = 1 ) |
235 |
230 234
|
opeq12d |
|- ( q = 1 -> <. ( numer ` q ) , ( denom ` q ) >. = <. 1 , 1 >. ) |
236 |
235
|
eceq1d |
|- ( q = 1 -> [ <. ( numer ` q ) , ( denom ` q ) >. ] .~ = [ <. 1 , 1 >. ] .~ ) |
237 |
236 3 49
|
fvmpt3i |
|- ( 1 e. QQ -> ( F ` 1 ) = [ <. 1 , 1 >. ] .~ ) |
238 |
225 237
|
ax-mp |
|- ( F ` 1 ) = [ <. 1 , 1 >. ] .~ |
239 |
47 222 238
|
3pm3.2i |
|- ( F : QQ --> ( Base ` ( Frac ` ZZring ) ) /\ A. q e. QQ A. p e. QQ ( F ` ( q x. p ) ) = ( ( F ` q ) ( .r ` ( Frac ` ZZring ) ) ( F ` p ) ) /\ ( F ` 1 ) = [ <. 1 , 1 >. ] .~ ) |
240 |
176 167
|
mgpbas |
|- QQ = ( Base ` ( mulGrp ` Q ) ) |
241 |
179 168
|
mgpbas |
|- ( Base ` ( Frac ` ZZring ) ) = ( Base ` ( mulGrp ` ( Frac ` ZZring ) ) ) |
242 |
|
cnfldmul |
|- x. = ( .r ` CCfld ) |
243 |
1 242
|
ressmulr |
|- ( QQ e. _V -> x. = ( .r ` Q ) ) |
244 |
169 243
|
ax-mp |
|- x. = ( .r ` Q ) |
245 |
176 244
|
mgpplusg |
|- x. = ( +g ` ( mulGrp ` Q ) ) |
246 |
|
eqid |
|- ( .r ` ( Frac ` ZZring ) ) = ( .r ` ( Frac ` ZZring ) ) |
247 |
179 246
|
mgpplusg |
|- ( .r ` ( Frac ` ZZring ) ) = ( +g ` ( mulGrp ` ( Frac ` ZZring ) ) ) |
248 |
1
|
qrng1 |
|- 1 = ( 1r ` Q ) |
249 |
176 248
|
ringidval |
|- 1 = ( 0g ` ( mulGrp ` Q ) ) |
250 |
146
|
a1i |
|- ( ZZring e. IDomn -> ZZring e. CRing ) |
251 |
149
|
a1i |
|- ( ZZring e. IDomn -> ( ZZ \ { 0 } ) e. ( SubMnd ` ( mulGrp ` ZZring ) ) ) |
252 |
|
eqid |
|- [ <. 1 , 1 >. ] .~ = [ <. 1 , 1 >. ] .~ |
253 |
29 69 41 2 250 251 252
|
rloc1r |
|- ( ZZring e. IDomn -> [ <. 1 , 1 >. ] .~ = ( 1r ` ( Frac ` ZZring ) ) ) |
254 |
7 253
|
ax-mp |
|- [ <. 1 , 1 >. ] .~ = ( 1r ` ( Frac ` ZZring ) ) |
255 |
179 254
|
ringidval |
|- [ <. 1 , 1 >. ] .~ = ( 0g ` ( mulGrp ` ( Frac ` ZZring ) ) ) |
256 |
240 241 245 247 249 255
|
ismhm |
|- ( F e. ( ( mulGrp ` Q ) MndHom ( mulGrp ` ( Frac ` ZZring ) ) ) <-> ( ( ( mulGrp ` Q ) e. Mnd /\ ( mulGrp ` ( Frac ` ZZring ) ) e. Mnd ) /\ ( F : QQ --> ( Base ` ( Frac ` ZZring ) ) /\ A. q e. QQ A. p e. QQ ( F ` ( q x. p ) ) = ( ( F ` q ) ( .r ` ( Frac ` ZZring ) ) ( F ` p ) ) /\ ( F ` 1 ) = [ <. 1 , 1 >. ] .~ ) ) ) |
257 |
182 239 256
|
mpbir2an |
|- F e. ( ( mulGrp ` Q ) MndHom ( mulGrp ` ( Frac ` ZZring ) ) ) |
258 |
175 257
|
pm3.2i |
|- ( F e. ( Q GrpHom ( Frac ` ZZring ) ) /\ F e. ( ( mulGrp ` Q ) MndHom ( mulGrp ` ( Frac ` ZZring ) ) ) ) |
259 |
176 179
|
isrhm |
|- ( F e. ( Q RingHom ( Frac ` ZZring ) ) <-> ( ( Q e. Ring /\ ( Frac ` ZZring ) e. Ring ) /\ ( F e. ( Q GrpHom ( Frac ` ZZring ) ) /\ F e. ( ( mulGrp ` Q ) MndHom ( mulGrp ` ( Frac ` ZZring ) ) ) ) ) ) |
260 |
13 258 259
|
mpbir2an |
|- F e. ( Q RingHom ( Frac ` ZZring ) ) |
261 |
46
|
rgen |
|- A. q e. QQ [ <. ( numer ` q ) , ( denom ` q ) >. ] .~ e. ( Base ` ( Frac ` ZZring ) ) |
262 |
117
|
zcnd |
|- ( ( q e. QQ /\ p e. QQ ) -> ( numer ` q ) e. CC ) |
263 |
122
|
zcnd |
|- ( ( q e. QQ /\ p e. QQ ) -> ( numer ` p ) e. CC ) |
264 |
22
|
adantr |
|- ( ( q e. QQ /\ p e. QQ ) -> ( denom ` q ) =/= 0 ) |
265 |
155
|
adantl |
|- ( ( q e. QQ /\ p e. QQ ) -> ( denom ` p ) =/= 0 ) |
266 |
262 88 263 91 264 265
|
divmuleqd |
|- ( ( q e. QQ /\ p e. QQ ) -> ( ( ( numer ` q ) / ( denom ` q ) ) = ( ( numer ` p ) / ( denom ` p ) ) <-> ( ( numer ` q ) x. ( denom ` p ) ) = ( ( numer ` p ) x. ( denom ` q ) ) ) ) |
267 |
153 39
|
eleqtrdi |
|- ( ( q e. QQ /\ p e. QQ ) -> ( denom ` q ) e. ( RLReg ` ZZring ) ) |
268 |
157 39
|
eleqtrdi |
|- ( ( q e. QQ /\ p e. QQ ) -> ( denom ` p ) e. ( RLReg ` ZZring ) ) |
269 |
28 30 114 71 117 122 267 268
|
fracerl |
|- ( ( q e. QQ /\ p e. QQ ) -> ( <. ( numer ` q ) , ( denom ` q ) >. .~ <. ( numer ` p ) , ( denom ` p ) >. <-> ( ( numer ` q ) x. ( denom ` p ) ) = ( ( numer ` p ) x. ( denom ` q ) ) ) ) |
270 |
24
|
adantr |
|- ( ( q e. QQ /\ p e. QQ ) -> <. ( numer ` q ) , ( denom ` q ) >. e. ( ZZ X. ( ZZ \ { 0 } ) ) ) |
271 |
77 270
|
erth |
|- ( ( q e. QQ /\ p e. QQ ) -> ( <. ( numer ` q ) , ( denom ` q ) >. .~ <. ( numer ` p ) , ( denom ` p ) >. <-> [ <. ( numer ` q ) , ( denom ` q ) >. ] .~ = [ <. ( numer ` p ) , ( denom ` p ) >. ] .~ ) ) |
272 |
266 269 271
|
3bitr2rd |
|- ( ( q e. QQ /\ p e. QQ ) -> ( [ <. ( numer ` q ) , ( denom ` q ) >. ] .~ = [ <. ( numer ` p ) , ( denom ` p ) >. ] .~ <-> ( ( numer ` q ) / ( denom ` q ) ) = ( ( numer ` p ) / ( denom ` p ) ) ) ) |
273 |
272
|
biimpa |
|- ( ( ( q e. QQ /\ p e. QQ ) /\ [ <. ( numer ` q ) , ( denom ` q ) >. ] .~ = [ <. ( numer ` p ) , ( denom ` p ) >. ] .~ ) -> ( ( numer ` q ) / ( denom ` q ) ) = ( ( numer ` p ) / ( denom ` p ) ) ) |
274 |
|
qeqnumdivden |
|- ( q e. QQ -> q = ( ( numer ` q ) / ( denom ` q ) ) ) |
275 |
274
|
ad2antrr |
|- ( ( ( q e. QQ /\ p e. QQ ) /\ [ <. ( numer ` q ) , ( denom ` q ) >. ] .~ = [ <. ( numer ` p ) , ( denom ` p ) >. ] .~ ) -> q = ( ( numer ` q ) / ( denom ` q ) ) ) |
276 |
|
qeqnumdivden |
|- ( p e. QQ -> p = ( ( numer ` p ) / ( denom ` p ) ) ) |
277 |
276
|
ad2antlr |
|- ( ( ( q e. QQ /\ p e. QQ ) /\ [ <. ( numer ` q ) , ( denom ` q ) >. ] .~ = [ <. ( numer ` p ) , ( denom ` p ) >. ] .~ ) -> p = ( ( numer ` p ) / ( denom ` p ) ) ) |
278 |
273 275 277
|
3eqtr4d |
|- ( ( ( q e. QQ /\ p e. QQ ) /\ [ <. ( numer ` q ) , ( denom ` q ) >. ] .~ = [ <. ( numer ` p ) , ( denom ` p ) >. ] .~ ) -> q = p ) |
279 |
278
|
ex |
|- ( ( q e. QQ /\ p e. QQ ) -> ( [ <. ( numer ` q ) , ( denom ` q ) >. ] .~ = [ <. ( numer ` p ) , ( denom ` p ) >. ] .~ -> q = p ) ) |
280 |
279
|
rgen2 |
|- A. q e. QQ A. p e. QQ ( [ <. ( numer ` q ) , ( denom ` q ) >. ] .~ = [ <. ( numer ` p ) , ( denom ` p ) >. ] .~ -> q = p ) |
281 |
3 56
|
f1mpt |
|- ( F : QQ -1-1-> ( Base ` ( Frac ` ZZring ) ) <-> ( A. q e. QQ [ <. ( numer ` q ) , ( denom ` q ) >. ] .~ e. ( Base ` ( Frac ` ZZring ) ) /\ A. q e. QQ A. p e. QQ ( [ <. ( numer ` q ) , ( denom ` q ) >. ] .~ = [ <. ( numer ` p ) , ( denom ` p ) >. ] .~ -> q = p ) ) ) |
282 |
261 280 281
|
mpbir2an |
|- F : QQ -1-1-> ( Base ` ( Frac ` ZZring ) ) |
283 |
|
fveq2 |
|- ( q = ( a / b ) -> ( numer ` q ) = ( numer ` ( a / b ) ) ) |
284 |
|
fveq2 |
|- ( q = ( a / b ) -> ( denom ` q ) = ( denom ` ( a / b ) ) ) |
285 |
283 284
|
opeq12d |
|- ( q = ( a / b ) -> <. ( numer ` q ) , ( denom ` q ) >. = <. ( numer ` ( a / b ) ) , ( denom ` ( a / b ) ) >. ) |
286 |
285
|
eceq1d |
|- ( q = ( a / b ) -> [ <. ( numer ` q ) , ( denom ` q ) >. ] .~ = [ <. ( numer ` ( a / b ) ) , ( denom ` ( a / b ) ) >. ] .~ ) |
287 |
286
|
eqeq2d |
|- ( q = ( a / b ) -> ( z = [ <. ( numer ` q ) , ( denom ` q ) >. ] .~ <-> z = [ <. ( numer ` ( a / b ) ) , ( denom ` ( a / b ) ) >. ] .~ ) ) |
288 |
|
simpllr |
|- ( ( ( ( z e. ( Base ` ( Frac ` ZZring ) ) /\ a e. ZZ ) /\ b e. ( ZZ \ { 0 } ) ) /\ z = [ <. a , b >. ] .~ ) -> a e. ZZ ) |
289 |
223 288
|
sselid |
|- ( ( ( ( z e. ( Base ` ( Frac ` ZZring ) ) /\ a e. ZZ ) /\ b e. ( ZZ \ { 0 } ) ) /\ z = [ <. a , b >. ] .~ ) -> a e. QQ ) |
290 |
|
simplr |
|- ( ( ( ( z e. ( Base ` ( Frac ` ZZring ) ) /\ a e. ZZ ) /\ b e. ( ZZ \ { 0 } ) ) /\ z = [ <. a , b >. ] .~ ) -> b e. ( ZZ \ { 0 } ) ) |
291 |
290
|
eldifad |
|- ( ( ( ( z e. ( Base ` ( Frac ` ZZring ) ) /\ a e. ZZ ) /\ b e. ( ZZ \ { 0 } ) ) /\ z = [ <. a , b >. ] .~ ) -> b e. ZZ ) |
292 |
223 291
|
sselid |
|- ( ( ( ( z e. ( Base ` ( Frac ` ZZring ) ) /\ a e. ZZ ) /\ b e. ( ZZ \ { 0 } ) ) /\ z = [ <. a , b >. ] .~ ) -> b e. QQ ) |
293 |
|
eldifsni |
|- ( b e. ( ZZ \ { 0 } ) -> b =/= 0 ) |
294 |
290 293
|
syl |
|- ( ( ( ( z e. ( Base ` ( Frac ` ZZring ) ) /\ a e. ZZ ) /\ b e. ( ZZ \ { 0 } ) ) /\ z = [ <. a , b >. ] .~ ) -> b =/= 0 ) |
295 |
|
qdivcl |
|- ( ( a e. QQ /\ b e. QQ /\ b =/= 0 ) -> ( a / b ) e. QQ ) |
296 |
289 292 294 295
|
syl3anc |
|- ( ( ( ( z e. ( Base ` ( Frac ` ZZring ) ) /\ a e. ZZ ) /\ b e. ( ZZ \ { 0 } ) ) /\ z = [ <. a , b >. ] .~ ) -> ( a / b ) e. QQ ) |
297 |
|
simpr |
|- ( ( ( ( z e. ( Base ` ( Frac ` ZZring ) ) /\ a e. ZZ ) /\ b e. ( ZZ \ { 0 } ) ) /\ z = [ <. a , b >. ] .~ ) -> z = [ <. a , b >. ] .~ ) |
298 |
146
|
a1i |
|- ( ( ( ( z e. ( Base ` ( Frac ` ZZring ) ) /\ a e. ZZ ) /\ b e. ( ZZ \ { 0 } ) ) /\ z = [ <. a , b >. ] .~ ) -> ZZring e. CRing ) |
299 |
149
|
a1i |
|- ( ( ( ( z e. ( Base ` ( Frac ` ZZring ) ) /\ a e. ZZ ) /\ b e. ( ZZ \ { 0 } ) ) /\ z = [ <. a , b >. ] .~ ) -> ( ZZ \ { 0 } ) e. ( SubMnd ` ( mulGrp ` ZZring ) ) ) |
300 |
28 29 69 30 31 32 2 298 299
|
erler |
|- ( ( ( ( z e. ( Base ` ( Frac ` ZZring ) ) /\ a e. ZZ ) /\ b e. ( ZZ \ { 0 } ) ) /\ z = [ <. a , b >. ] .~ ) -> .~ Er ( ZZ X. ( ZZ \ { 0 } ) ) ) |
301 |
|
simpl |
|- ( ( a e. ZZ /\ b e. ( ZZ \ { 0 } ) ) -> a e. ZZ ) |
302 |
301
|
zcnd |
|- ( ( a e. ZZ /\ b e. ( ZZ \ { 0 } ) ) -> a e. CC ) |
303 |
|
eldifi |
|- ( b e. ( ZZ \ { 0 } ) -> b e. ZZ ) |
304 |
303
|
adantl |
|- ( ( a e. ZZ /\ b e. ( ZZ \ { 0 } ) ) -> b e. ZZ ) |
305 |
304
|
zcnd |
|- ( ( a e. ZZ /\ b e. ( ZZ \ { 0 } ) ) -> b e. CC ) |
306 |
293
|
adantl |
|- ( ( a e. ZZ /\ b e. ( ZZ \ { 0 } ) ) -> b =/= 0 ) |
307 |
302 305 306
|
divcld |
|- ( ( a e. ZZ /\ b e. ( ZZ \ { 0 } ) ) -> ( a / b ) e. CC ) |
308 |
223 301
|
sselid |
|- ( ( a e. ZZ /\ b e. ( ZZ \ { 0 } ) ) -> a e. QQ ) |
309 |
223 304
|
sselid |
|- ( ( a e. ZZ /\ b e. ( ZZ \ { 0 } ) ) -> b e. QQ ) |
310 |
308 309 306 295
|
syl3anc |
|- ( ( a e. ZZ /\ b e. ( ZZ \ { 0 } ) ) -> ( a / b ) e. QQ ) |
311 |
|
qdencl |
|- ( ( a / b ) e. QQ -> ( denom ` ( a / b ) ) e. NN ) |
312 |
310 311
|
syl |
|- ( ( a e. ZZ /\ b e. ( ZZ \ { 0 } ) ) -> ( denom ` ( a / b ) ) e. NN ) |
313 |
312
|
nncnd |
|- ( ( a e. ZZ /\ b e. ( ZZ \ { 0 } ) ) -> ( denom ` ( a / b ) ) e. CC ) |
314 |
307 313 305
|
mul32d |
|- ( ( a e. ZZ /\ b e. ( ZZ \ { 0 } ) ) -> ( ( ( a / b ) x. ( denom ` ( a / b ) ) ) x. b ) = ( ( ( a / b ) x. b ) x. ( denom ` ( a / b ) ) ) ) |
315 |
|
qmuldeneqnum |
|- ( ( a / b ) e. QQ -> ( ( a / b ) x. ( denom ` ( a / b ) ) ) = ( numer ` ( a / b ) ) ) |
316 |
310 315
|
syl |
|- ( ( a e. ZZ /\ b e. ( ZZ \ { 0 } ) ) -> ( ( a / b ) x. ( denom ` ( a / b ) ) ) = ( numer ` ( a / b ) ) ) |
317 |
316
|
oveq1d |
|- ( ( a e. ZZ /\ b e. ( ZZ \ { 0 } ) ) -> ( ( ( a / b ) x. ( denom ` ( a / b ) ) ) x. b ) = ( ( numer ` ( a / b ) ) x. b ) ) |
318 |
302 305 306
|
divcan1d |
|- ( ( a e. ZZ /\ b e. ( ZZ \ { 0 } ) ) -> ( ( a / b ) x. b ) = a ) |
319 |
318
|
oveq1d |
|- ( ( a e. ZZ /\ b e. ( ZZ \ { 0 } ) ) -> ( ( ( a / b ) x. b ) x. ( denom ` ( a / b ) ) ) = ( a x. ( denom ` ( a / b ) ) ) ) |
320 |
314 317 319
|
3eqtr3rd |
|- ( ( a e. ZZ /\ b e. ( ZZ \ { 0 } ) ) -> ( a x. ( denom ` ( a / b ) ) ) = ( ( numer ` ( a / b ) ) x. b ) ) |
321 |
146
|
a1i |
|- ( ( a e. ZZ /\ b e. ( ZZ \ { 0 } ) ) -> ZZring e. CRing ) |
322 |
|
qnumcl |
|- ( ( a / b ) e. QQ -> ( numer ` ( a / b ) ) e. ZZ ) |
323 |
310 322
|
syl |
|- ( ( a e. ZZ /\ b e. ( ZZ \ { 0 } ) ) -> ( numer ` ( a / b ) ) e. ZZ ) |
324 |
|
simpr |
|- ( ( a e. ZZ /\ b e. ( ZZ \ { 0 } ) ) -> b e. ( ZZ \ { 0 } ) ) |
325 |
324 39
|
eleqtrdi |
|- ( ( a e. ZZ /\ b e. ( ZZ \ { 0 } ) ) -> b e. ( RLReg ` ZZring ) ) |
326 |
312
|
nnzd |
|- ( ( a e. ZZ /\ b e. ( ZZ \ { 0 } ) ) -> ( denom ` ( a / b ) ) e. ZZ ) |
327 |
312
|
nnne0d |
|- ( ( a e. ZZ /\ b e. ( ZZ \ { 0 } ) ) -> ( denom ` ( a / b ) ) =/= 0 ) |
328 |
326 327
|
eldifsnd |
|- ( ( a e. ZZ /\ b e. ( ZZ \ { 0 } ) ) -> ( denom ` ( a / b ) ) e. ( ZZ \ { 0 } ) ) |
329 |
328 39
|
eleqtrdi |
|- ( ( a e. ZZ /\ b e. ( ZZ \ { 0 } ) ) -> ( denom ` ( a / b ) ) e. ( RLReg ` ZZring ) ) |
330 |
28 30 114 321 301 323 325 329
|
fracerl |
|- ( ( a e. ZZ /\ b e. ( ZZ \ { 0 } ) ) -> ( <. a , b >. .~ <. ( numer ` ( a / b ) ) , ( denom ` ( a / b ) ) >. <-> ( a x. ( denom ` ( a / b ) ) ) = ( ( numer ` ( a / b ) ) x. b ) ) ) |
331 |
320 330
|
mpbird |
|- ( ( a e. ZZ /\ b e. ( ZZ \ { 0 } ) ) -> <. a , b >. .~ <. ( numer ` ( a / b ) ) , ( denom ` ( a / b ) ) >. ) |
332 |
331
|
ad4ant23 |
|- ( ( ( ( z e. ( Base ` ( Frac ` ZZring ) ) /\ a e. ZZ ) /\ b e. ( ZZ \ { 0 } ) ) /\ z = [ <. a , b >. ] .~ ) -> <. a , b >. .~ <. ( numer ` ( a / b ) ) , ( denom ` ( a / b ) ) >. ) |
333 |
300 332
|
erthi |
|- ( ( ( ( z e. ( Base ` ( Frac ` ZZring ) ) /\ a e. ZZ ) /\ b e. ( ZZ \ { 0 } ) ) /\ z = [ <. a , b >. ] .~ ) -> [ <. a , b >. ] .~ = [ <. ( numer ` ( a / b ) ) , ( denom ` ( a / b ) ) >. ] .~ ) |
334 |
297 333
|
eqtrd |
|- ( ( ( ( z e. ( Base ` ( Frac ` ZZring ) ) /\ a e. ZZ ) /\ b e. ( ZZ \ { 0 } ) ) /\ z = [ <. a , b >. ] .~ ) -> z = [ <. ( numer ` ( a / b ) ) , ( denom ` ( a / b ) ) >. ] .~ ) |
335 |
287 296 334
|
rspcedvdw |
|- ( ( ( ( z e. ( Base ` ( Frac ` ZZring ) ) /\ a e. ZZ ) /\ b e. ( ZZ \ { 0 } ) ) /\ z = [ <. a , b >. ] .~ ) -> E. q e. QQ z = [ <. ( numer ` q ) , ( denom ` q ) >. ] .~ ) |
336 |
45
|
eleq2i |
|- ( z e. ( ( ZZ X. ( ZZ \ { 0 } ) ) /. .~ ) <-> z e. ( Base ` ( Frac ` ZZring ) ) ) |
337 |
336
|
biimpri |
|- ( z e. ( Base ` ( Frac ` ZZring ) ) -> z e. ( ( ZZ X. ( ZZ \ { 0 } ) ) /. .~ ) ) |
338 |
337
|
elrlocbasi |
|- ( z e. ( Base ` ( Frac ` ZZring ) ) -> E. a e. ZZ E. b e. ( ZZ \ { 0 } ) z = [ <. a , b >. ] .~ ) |
339 |
335 338
|
r19.29vva |
|- ( z e. ( Base ` ( Frac ` ZZring ) ) -> E. q e. QQ z = [ <. ( numer ` q ) , ( denom ` q ) >. ] .~ ) |
340 |
339
|
rgen |
|- A. z e. ( Base ` ( Frac ` ZZring ) ) E. q e. QQ z = [ <. ( numer ` q ) , ( denom ` q ) >. ] .~ |
341 |
3
|
fompt |
|- ( F : QQ -onto-> ( Base ` ( Frac ` ZZring ) ) <-> ( A. q e. QQ [ <. ( numer ` q ) , ( denom ` q ) >. ] .~ e. ( Base ` ( Frac ` ZZring ) ) /\ A. z e. ( Base ` ( Frac ` ZZring ) ) E. q e. QQ z = [ <. ( numer ` q ) , ( denom ` q ) >. ] .~ ) ) |
342 |
261 340 341
|
mpbir2an |
|- F : QQ -onto-> ( Base ` ( Frac ` ZZring ) ) |
343 |
|
df-f1o |
|- ( F : QQ -1-1-onto-> ( Base ` ( Frac ` ZZring ) ) <-> ( F : QQ -1-1-> ( Base ` ( Frac ` ZZring ) ) /\ F : QQ -onto-> ( Base ` ( Frac ` ZZring ) ) ) ) |
344 |
282 342 343
|
mpbir2an |
|- F : QQ -1-1-onto-> ( Base ` ( Frac ` ZZring ) ) |
345 |
167 168
|
isrim |
|- ( F e. ( Q RingIso ( Frac ` ZZring ) ) <-> ( F e. ( Q RingHom ( Frac ` ZZring ) ) /\ F : QQ -1-1-onto-> ( Base ` ( Frac ` ZZring ) ) ) ) |
346 |
260 344 345
|
mpbir2an |
|- F e. ( Q RingIso ( Frac ` ZZring ) ) |