Step |
Hyp |
Ref |
Expression |
1 |
|
fvex |
|- ( *Q ` A ) e. _V |
2 |
1
|
a1i |
|- ( A e. Q. -> ( *Q ` A ) e. _V ) |
3 |
|
eleq1 |
|- ( ( *Q ` A ) = B -> ( ( *Q ` A ) e. _V <-> B e. _V ) ) |
4 |
2 3
|
syl5ibcom |
|- ( A e. Q. -> ( ( *Q ` A ) = B -> B e. _V ) ) |
5 |
|
id |
|- ( ( A .Q B ) = 1Q -> ( A .Q B ) = 1Q ) |
6 |
|
1nq |
|- 1Q e. Q. |
7 |
5 6
|
eqeltrdi |
|- ( ( A .Q B ) = 1Q -> ( A .Q B ) e. Q. ) |
8 |
|
mulnqf |
|- .Q : ( Q. X. Q. ) --> Q. |
9 |
8
|
fdmi |
|- dom .Q = ( Q. X. Q. ) |
10 |
|
0nnq |
|- -. (/) e. Q. |
11 |
9 10
|
ndmovrcl |
|- ( ( A .Q B ) e. Q. -> ( A e. Q. /\ B e. Q. ) ) |
12 |
7 11
|
syl |
|- ( ( A .Q B ) = 1Q -> ( A e. Q. /\ B e. Q. ) ) |
13 |
|
elex |
|- ( B e. Q. -> B e. _V ) |
14 |
12 13
|
simpl2im |
|- ( ( A .Q B ) = 1Q -> B e. _V ) |
15 |
14
|
a1i |
|- ( A e. Q. -> ( ( A .Q B ) = 1Q -> B e. _V ) ) |
16 |
|
oveq1 |
|- ( x = A -> ( x .Q y ) = ( A .Q y ) ) |
17 |
16
|
eqeq1d |
|- ( x = A -> ( ( x .Q y ) = 1Q <-> ( A .Q y ) = 1Q ) ) |
18 |
|
oveq2 |
|- ( y = B -> ( A .Q y ) = ( A .Q B ) ) |
19 |
18
|
eqeq1d |
|- ( y = B -> ( ( A .Q y ) = 1Q <-> ( A .Q B ) = 1Q ) ) |
20 |
|
nqerid |
|- ( x e. Q. -> ( /Q ` x ) = x ) |
21 |
|
relxp |
|- Rel ( N. X. N. ) |
22 |
|
elpqn |
|- ( x e. Q. -> x e. ( N. X. N. ) ) |
23 |
|
1st2nd |
|- ( ( Rel ( N. X. N. ) /\ x e. ( N. X. N. ) ) -> x = <. ( 1st ` x ) , ( 2nd ` x ) >. ) |
24 |
21 22 23
|
sylancr |
|- ( x e. Q. -> x = <. ( 1st ` x ) , ( 2nd ` x ) >. ) |
25 |
24
|
fveq2d |
|- ( x e. Q. -> ( /Q ` x ) = ( /Q ` <. ( 1st ` x ) , ( 2nd ` x ) >. ) ) |
26 |
20 25
|
eqtr3d |
|- ( x e. Q. -> x = ( /Q ` <. ( 1st ` x ) , ( 2nd ` x ) >. ) ) |
27 |
26
|
oveq1d |
|- ( x e. Q. -> ( x .Q ( /Q ` <. ( 2nd ` x ) , ( 1st ` x ) >. ) ) = ( ( /Q ` <. ( 1st ` x ) , ( 2nd ` x ) >. ) .Q ( /Q ` <. ( 2nd ` x ) , ( 1st ` x ) >. ) ) ) |
28 |
|
mulerpq |
|- ( ( /Q ` <. ( 1st ` x ) , ( 2nd ` x ) >. ) .Q ( /Q ` <. ( 2nd ` x ) , ( 1st ` x ) >. ) ) = ( /Q ` ( <. ( 1st ` x ) , ( 2nd ` x ) >. .pQ <. ( 2nd ` x ) , ( 1st ` x ) >. ) ) |
29 |
27 28
|
eqtrdi |
|- ( x e. Q. -> ( x .Q ( /Q ` <. ( 2nd ` x ) , ( 1st ` x ) >. ) ) = ( /Q ` ( <. ( 1st ` x ) , ( 2nd ` x ) >. .pQ <. ( 2nd ` x ) , ( 1st ` x ) >. ) ) ) |
30 |
|
xp1st |
|- ( x e. ( N. X. N. ) -> ( 1st ` x ) e. N. ) |
31 |
22 30
|
syl |
|- ( x e. Q. -> ( 1st ` x ) e. N. ) |
32 |
|
xp2nd |
|- ( x e. ( N. X. N. ) -> ( 2nd ` x ) e. N. ) |
33 |
22 32
|
syl |
|- ( x e. Q. -> ( 2nd ` x ) e. N. ) |
34 |
|
mulpipq |
|- ( ( ( ( 1st ` x ) e. N. /\ ( 2nd ` x ) e. N. ) /\ ( ( 2nd ` x ) e. N. /\ ( 1st ` x ) e. N. ) ) -> ( <. ( 1st ` x ) , ( 2nd ` x ) >. .pQ <. ( 2nd ` x ) , ( 1st ` x ) >. ) = <. ( ( 1st ` x ) .N ( 2nd ` x ) ) , ( ( 2nd ` x ) .N ( 1st ` x ) ) >. ) |
35 |
31 33 33 31 34
|
syl22anc |
|- ( x e. Q. -> ( <. ( 1st ` x ) , ( 2nd ` x ) >. .pQ <. ( 2nd ` x ) , ( 1st ` x ) >. ) = <. ( ( 1st ` x ) .N ( 2nd ` x ) ) , ( ( 2nd ` x ) .N ( 1st ` x ) ) >. ) |
36 |
|
mulcompi |
|- ( ( 2nd ` x ) .N ( 1st ` x ) ) = ( ( 1st ` x ) .N ( 2nd ` x ) ) |
37 |
36
|
opeq2i |
|- <. ( ( 1st ` x ) .N ( 2nd ` x ) ) , ( ( 2nd ` x ) .N ( 1st ` x ) ) >. = <. ( ( 1st ` x ) .N ( 2nd ` x ) ) , ( ( 1st ` x ) .N ( 2nd ` x ) ) >. |
38 |
35 37
|
eqtrdi |
|- ( x e. Q. -> ( <. ( 1st ` x ) , ( 2nd ` x ) >. .pQ <. ( 2nd ` x ) , ( 1st ` x ) >. ) = <. ( ( 1st ` x ) .N ( 2nd ` x ) ) , ( ( 1st ` x ) .N ( 2nd ` x ) ) >. ) |
39 |
38
|
fveq2d |
|- ( x e. Q. -> ( /Q ` ( <. ( 1st ` x ) , ( 2nd ` x ) >. .pQ <. ( 2nd ` x ) , ( 1st ` x ) >. ) ) = ( /Q ` <. ( ( 1st ` x ) .N ( 2nd ` x ) ) , ( ( 1st ` x ) .N ( 2nd ` x ) ) >. ) ) |
40 |
|
mulclpi |
|- ( ( ( 1st ` x ) e. N. /\ ( 2nd ` x ) e. N. ) -> ( ( 1st ` x ) .N ( 2nd ` x ) ) e. N. ) |
41 |
31 33 40
|
syl2anc |
|- ( x e. Q. -> ( ( 1st ` x ) .N ( 2nd ` x ) ) e. N. ) |
42 |
|
1nqenq |
|- ( ( ( 1st ` x ) .N ( 2nd ` x ) ) e. N. -> 1Q ~Q <. ( ( 1st ` x ) .N ( 2nd ` x ) ) , ( ( 1st ` x ) .N ( 2nd ` x ) ) >. ) |
43 |
41 42
|
syl |
|- ( x e. Q. -> 1Q ~Q <. ( ( 1st ` x ) .N ( 2nd ` x ) ) , ( ( 1st ` x ) .N ( 2nd ` x ) ) >. ) |
44 |
|
elpqn |
|- ( 1Q e. Q. -> 1Q e. ( N. X. N. ) ) |
45 |
6 44
|
ax-mp |
|- 1Q e. ( N. X. N. ) |
46 |
41 41
|
opelxpd |
|- ( x e. Q. -> <. ( ( 1st ` x ) .N ( 2nd ` x ) ) , ( ( 1st ` x ) .N ( 2nd ` x ) ) >. e. ( N. X. N. ) ) |
47 |
|
nqereq |
|- ( ( 1Q e. ( N. X. N. ) /\ <. ( ( 1st ` x ) .N ( 2nd ` x ) ) , ( ( 1st ` x ) .N ( 2nd ` x ) ) >. e. ( N. X. N. ) ) -> ( 1Q ~Q <. ( ( 1st ` x ) .N ( 2nd ` x ) ) , ( ( 1st ` x ) .N ( 2nd ` x ) ) >. <-> ( /Q ` 1Q ) = ( /Q ` <. ( ( 1st ` x ) .N ( 2nd ` x ) ) , ( ( 1st ` x ) .N ( 2nd ` x ) ) >. ) ) ) |
48 |
45 46 47
|
sylancr |
|- ( x e. Q. -> ( 1Q ~Q <. ( ( 1st ` x ) .N ( 2nd ` x ) ) , ( ( 1st ` x ) .N ( 2nd ` x ) ) >. <-> ( /Q ` 1Q ) = ( /Q ` <. ( ( 1st ` x ) .N ( 2nd ` x ) ) , ( ( 1st ` x ) .N ( 2nd ` x ) ) >. ) ) ) |
49 |
43 48
|
mpbid |
|- ( x e. Q. -> ( /Q ` 1Q ) = ( /Q ` <. ( ( 1st ` x ) .N ( 2nd ` x ) ) , ( ( 1st ` x ) .N ( 2nd ` x ) ) >. ) ) |
50 |
|
nqerid |
|- ( 1Q e. Q. -> ( /Q ` 1Q ) = 1Q ) |
51 |
6 50
|
ax-mp |
|- ( /Q ` 1Q ) = 1Q |
52 |
49 51
|
eqtr3di |
|- ( x e. Q. -> ( /Q ` <. ( ( 1st ` x ) .N ( 2nd ` x ) ) , ( ( 1st ` x ) .N ( 2nd ` x ) ) >. ) = 1Q ) |
53 |
29 39 52
|
3eqtrd |
|- ( x e. Q. -> ( x .Q ( /Q ` <. ( 2nd ` x ) , ( 1st ` x ) >. ) ) = 1Q ) |
54 |
|
fvex |
|- ( /Q ` <. ( 2nd ` x ) , ( 1st ` x ) >. ) e. _V |
55 |
|
oveq2 |
|- ( y = ( /Q ` <. ( 2nd ` x ) , ( 1st ` x ) >. ) -> ( x .Q y ) = ( x .Q ( /Q ` <. ( 2nd ` x ) , ( 1st ` x ) >. ) ) ) |
56 |
55
|
eqeq1d |
|- ( y = ( /Q ` <. ( 2nd ` x ) , ( 1st ` x ) >. ) -> ( ( x .Q y ) = 1Q <-> ( x .Q ( /Q ` <. ( 2nd ` x ) , ( 1st ` x ) >. ) ) = 1Q ) ) |
57 |
54 56
|
spcev |
|- ( ( x .Q ( /Q ` <. ( 2nd ` x ) , ( 1st ` x ) >. ) ) = 1Q -> E. y ( x .Q y ) = 1Q ) |
58 |
53 57
|
syl |
|- ( x e. Q. -> E. y ( x .Q y ) = 1Q ) |
59 |
|
mulcomnq |
|- ( r .Q s ) = ( s .Q r ) |
60 |
|
mulassnq |
|- ( ( r .Q s ) .Q t ) = ( r .Q ( s .Q t ) ) |
61 |
|
mulidnq |
|- ( r e. Q. -> ( r .Q 1Q ) = r ) |
62 |
6 9 10 59 60 61
|
caovmo |
|- E* y ( x .Q y ) = 1Q |
63 |
|
df-eu |
|- ( E! y ( x .Q y ) = 1Q <-> ( E. y ( x .Q y ) = 1Q /\ E* y ( x .Q y ) = 1Q ) ) |
64 |
58 62 63
|
sylanblrc |
|- ( x e. Q. -> E! y ( x .Q y ) = 1Q ) |
65 |
|
cnvimass |
|- ( `' .Q " { 1Q } ) C_ dom .Q |
66 |
|
df-rq |
|- *Q = ( `' .Q " { 1Q } ) |
67 |
9
|
eqcomi |
|- ( Q. X. Q. ) = dom .Q |
68 |
65 66 67
|
3sstr4i |
|- *Q C_ ( Q. X. Q. ) |
69 |
|
relxp |
|- Rel ( Q. X. Q. ) |
70 |
|
relss |
|- ( *Q C_ ( Q. X. Q. ) -> ( Rel ( Q. X. Q. ) -> Rel *Q ) ) |
71 |
68 69 70
|
mp2 |
|- Rel *Q |
72 |
66
|
eleq2i |
|- ( <. x , y >. e. *Q <-> <. x , y >. e. ( `' .Q " { 1Q } ) ) |
73 |
|
ffn |
|- ( .Q : ( Q. X. Q. ) --> Q. -> .Q Fn ( Q. X. Q. ) ) |
74 |
|
fniniseg |
|- ( .Q Fn ( Q. X. Q. ) -> ( <. x , y >. e. ( `' .Q " { 1Q } ) <-> ( <. x , y >. e. ( Q. X. Q. ) /\ ( .Q ` <. x , y >. ) = 1Q ) ) ) |
75 |
8 73 74
|
mp2b |
|- ( <. x , y >. e. ( `' .Q " { 1Q } ) <-> ( <. x , y >. e. ( Q. X. Q. ) /\ ( .Q ` <. x , y >. ) = 1Q ) ) |
76 |
|
ancom |
|- ( ( <. x , y >. e. ( Q. X. Q. ) /\ ( .Q ` <. x , y >. ) = 1Q ) <-> ( ( .Q ` <. x , y >. ) = 1Q /\ <. x , y >. e. ( Q. X. Q. ) ) ) |
77 |
|
ancom |
|- ( ( x e. Q. /\ ( x .Q y ) = 1Q ) <-> ( ( x .Q y ) = 1Q /\ x e. Q. ) ) |
78 |
|
eleq1 |
|- ( ( x .Q y ) = 1Q -> ( ( x .Q y ) e. Q. <-> 1Q e. Q. ) ) |
79 |
6 78
|
mpbiri |
|- ( ( x .Q y ) = 1Q -> ( x .Q y ) e. Q. ) |
80 |
9 10
|
ndmovrcl |
|- ( ( x .Q y ) e. Q. -> ( x e. Q. /\ y e. Q. ) ) |
81 |
79 80
|
syl |
|- ( ( x .Q y ) = 1Q -> ( x e. Q. /\ y e. Q. ) ) |
82 |
|
opelxpi |
|- ( ( x e. Q. /\ y e. Q. ) -> <. x , y >. e. ( Q. X. Q. ) ) |
83 |
81 82
|
syl |
|- ( ( x .Q y ) = 1Q -> <. x , y >. e. ( Q. X. Q. ) ) |
84 |
81
|
simpld |
|- ( ( x .Q y ) = 1Q -> x e. Q. ) |
85 |
83 84
|
2thd |
|- ( ( x .Q y ) = 1Q -> ( <. x , y >. e. ( Q. X. Q. ) <-> x e. Q. ) ) |
86 |
85
|
pm5.32i |
|- ( ( ( x .Q y ) = 1Q /\ <. x , y >. e. ( Q. X. Q. ) ) <-> ( ( x .Q y ) = 1Q /\ x e. Q. ) ) |
87 |
|
df-ov |
|- ( x .Q y ) = ( .Q ` <. x , y >. ) |
88 |
87
|
eqeq1i |
|- ( ( x .Q y ) = 1Q <-> ( .Q ` <. x , y >. ) = 1Q ) |
89 |
88
|
anbi1i |
|- ( ( ( x .Q y ) = 1Q /\ <. x , y >. e. ( Q. X. Q. ) ) <-> ( ( .Q ` <. x , y >. ) = 1Q /\ <. x , y >. e. ( Q. X. Q. ) ) ) |
90 |
77 86 89
|
3bitr2ri |
|- ( ( ( .Q ` <. x , y >. ) = 1Q /\ <. x , y >. e. ( Q. X. Q. ) ) <-> ( x e. Q. /\ ( x .Q y ) = 1Q ) ) |
91 |
76 90
|
bitri |
|- ( ( <. x , y >. e. ( Q. X. Q. ) /\ ( .Q ` <. x , y >. ) = 1Q ) <-> ( x e. Q. /\ ( x .Q y ) = 1Q ) ) |
92 |
72 75 91
|
3bitri |
|- ( <. x , y >. e. *Q <-> ( x e. Q. /\ ( x .Q y ) = 1Q ) ) |
93 |
92
|
a1i |
|- ( T. -> ( <. x , y >. e. *Q <-> ( x e. Q. /\ ( x .Q y ) = 1Q ) ) ) |
94 |
71 93
|
opabbi2dv |
|- ( T. -> *Q = { <. x , y >. | ( x e. Q. /\ ( x .Q y ) = 1Q ) } ) |
95 |
94
|
mptru |
|- *Q = { <. x , y >. | ( x e. Q. /\ ( x .Q y ) = 1Q ) } |
96 |
17 19 64 95
|
fvopab3g |
|- ( ( A e. Q. /\ B e. _V ) -> ( ( *Q ` A ) = B <-> ( A .Q B ) = 1Q ) ) |
97 |
96
|
ex |
|- ( A e. Q. -> ( B e. _V -> ( ( *Q ` A ) = B <-> ( A .Q B ) = 1Q ) ) ) |
98 |
4 15 97
|
pm5.21ndd |
|- ( A e. Q. -> ( ( *Q ` A ) = B <-> ( A .Q B ) = 1Q ) ) |