| 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 ) ) |