| Step | Hyp | Ref | Expression | 
						
							| 1 |  | xpstps.t |  |-  T = ( R Xs. S ) | 
						
							| 2 |  | xpstopn.j |  |-  J = ( TopOpen ` R ) | 
						
							| 3 |  | xpstopn.k |  |-  K = ( TopOpen ` S ) | 
						
							| 4 |  | xpstopn.o |  |-  O = ( TopOpen ` T ) | 
						
							| 5 |  | xpstopnlem.x |  |-  X = ( Base ` R ) | 
						
							| 6 |  | xpstopnlem.y |  |-  Y = ( Base ` S ) | 
						
							| 7 |  | xpstopnlem.f |  |-  F = ( x e. X , y e. Y |-> { <. (/) , x >. , <. 1o , y >. } ) | 
						
							| 8 |  | eqid |  |-  ( ( Scalar ` R ) Xs_ { <. (/) , R >. , <. 1o , S >. } ) = ( ( Scalar ` R ) Xs_ { <. (/) , R >. , <. 1o , S >. } ) | 
						
							| 9 |  | fvexd |  |-  ( ( R e. TopSp /\ S e. TopSp ) -> ( Scalar ` R ) e. _V ) | 
						
							| 10 |  | 2on |  |-  2o e. On | 
						
							| 11 | 10 | a1i |  |-  ( ( R e. TopSp /\ S e. TopSp ) -> 2o e. On ) | 
						
							| 12 |  | fnpr2o |  |-  ( ( R e. TopSp /\ S e. TopSp ) -> { <. (/) , R >. , <. 1o , S >. } Fn 2o ) | 
						
							| 13 |  | eqid |  |-  ( TopOpen ` ( ( Scalar ` R ) Xs_ { <. (/) , R >. , <. 1o , S >. } ) ) = ( TopOpen ` ( ( Scalar ` R ) Xs_ { <. (/) , R >. , <. 1o , S >. } ) ) | 
						
							| 14 | 8 9 11 12 13 | prdstopn |  |-  ( ( R e. TopSp /\ S e. TopSp ) -> ( TopOpen ` ( ( Scalar ` R ) Xs_ { <. (/) , R >. , <. 1o , S >. } ) ) = ( Xt_ ` ( TopOpen o. { <. (/) , R >. , <. 1o , S >. } ) ) ) | 
						
							| 15 |  | topnfn |  |-  TopOpen Fn _V | 
						
							| 16 |  | dffn2 |  |-  ( { <. (/) , R >. , <. 1o , S >. } Fn 2o <-> { <. (/) , R >. , <. 1o , S >. } : 2o --> _V ) | 
						
							| 17 | 12 16 | sylib |  |-  ( ( R e. TopSp /\ S e. TopSp ) -> { <. (/) , R >. , <. 1o , S >. } : 2o --> _V ) | 
						
							| 18 |  | fnfco |  |-  ( ( TopOpen Fn _V /\ { <. (/) , R >. , <. 1o , S >. } : 2o --> _V ) -> ( TopOpen o. { <. (/) , R >. , <. 1o , S >. } ) Fn 2o ) | 
						
							| 19 | 15 17 18 | sylancr |  |-  ( ( R e. TopSp /\ S e. TopSp ) -> ( TopOpen o. { <. (/) , R >. , <. 1o , S >. } ) Fn 2o ) | 
						
							| 20 |  | xpsfeq |  |-  ( ( TopOpen o. { <. (/) , R >. , <. 1o , S >. } ) Fn 2o -> { <. (/) , ( ( TopOpen o. { <. (/) , R >. , <. 1o , S >. } ) ` (/) ) >. , <. 1o , ( ( TopOpen o. { <. (/) , R >. , <. 1o , S >. } ) ` 1o ) >. } = ( TopOpen o. { <. (/) , R >. , <. 1o , S >. } ) ) | 
						
							| 21 | 19 20 | syl |  |-  ( ( R e. TopSp /\ S e. TopSp ) -> { <. (/) , ( ( TopOpen o. { <. (/) , R >. , <. 1o , S >. } ) ` (/) ) >. , <. 1o , ( ( TopOpen o. { <. (/) , R >. , <. 1o , S >. } ) ` 1o ) >. } = ( TopOpen o. { <. (/) , R >. , <. 1o , S >. } ) ) | 
						
							| 22 |  | 0ex |  |-  (/) e. _V | 
						
							| 23 | 22 | prid1 |  |-  (/) e. { (/) , 1o } | 
						
							| 24 |  | df2o3 |  |-  2o = { (/) , 1o } | 
						
							| 25 | 23 24 | eleqtrri |  |-  (/) e. 2o | 
						
							| 26 |  | fvco2 |  |-  ( ( { <. (/) , R >. , <. 1o , S >. } Fn 2o /\ (/) e. 2o ) -> ( ( TopOpen o. { <. (/) , R >. , <. 1o , S >. } ) ` (/) ) = ( TopOpen ` ( { <. (/) , R >. , <. 1o , S >. } ` (/) ) ) ) | 
						
							| 27 | 12 25 26 | sylancl |  |-  ( ( R e. TopSp /\ S e. TopSp ) -> ( ( TopOpen o. { <. (/) , R >. , <. 1o , S >. } ) ` (/) ) = ( TopOpen ` ( { <. (/) , R >. , <. 1o , S >. } ` (/) ) ) ) | 
						
							| 28 |  | fvpr0o |  |-  ( R e. TopSp -> ( { <. (/) , R >. , <. 1o , S >. } ` (/) ) = R ) | 
						
							| 29 | 28 | adantr |  |-  ( ( R e. TopSp /\ S e. TopSp ) -> ( { <. (/) , R >. , <. 1o , S >. } ` (/) ) = R ) | 
						
							| 30 | 29 | fveq2d |  |-  ( ( R e. TopSp /\ S e. TopSp ) -> ( TopOpen ` ( { <. (/) , R >. , <. 1o , S >. } ` (/) ) ) = ( TopOpen ` R ) ) | 
						
							| 31 | 30 2 | eqtr4di |  |-  ( ( R e. TopSp /\ S e. TopSp ) -> ( TopOpen ` ( { <. (/) , R >. , <. 1o , S >. } ` (/) ) ) = J ) | 
						
							| 32 | 27 31 | eqtrd |  |-  ( ( R e. TopSp /\ S e. TopSp ) -> ( ( TopOpen o. { <. (/) , R >. , <. 1o , S >. } ) ` (/) ) = J ) | 
						
							| 33 | 32 | opeq2d |  |-  ( ( R e. TopSp /\ S e. TopSp ) -> <. (/) , ( ( TopOpen o. { <. (/) , R >. , <. 1o , S >. } ) ` (/) ) >. = <. (/) , J >. ) | 
						
							| 34 |  | 1oex |  |-  1o e. _V | 
						
							| 35 | 34 | prid2 |  |-  1o e. { (/) , 1o } | 
						
							| 36 | 35 24 | eleqtrri |  |-  1o e. 2o | 
						
							| 37 |  | fvco2 |  |-  ( ( { <. (/) , R >. , <. 1o , S >. } Fn 2o /\ 1o e. 2o ) -> ( ( TopOpen o. { <. (/) , R >. , <. 1o , S >. } ) ` 1o ) = ( TopOpen ` ( { <. (/) , R >. , <. 1o , S >. } ` 1o ) ) ) | 
						
							| 38 | 12 36 37 | sylancl |  |-  ( ( R e. TopSp /\ S e. TopSp ) -> ( ( TopOpen o. { <. (/) , R >. , <. 1o , S >. } ) ` 1o ) = ( TopOpen ` ( { <. (/) , R >. , <. 1o , S >. } ` 1o ) ) ) | 
						
							| 39 |  | fvpr1o |  |-  ( S e. TopSp -> ( { <. (/) , R >. , <. 1o , S >. } ` 1o ) = S ) | 
						
							| 40 | 39 | adantl |  |-  ( ( R e. TopSp /\ S e. TopSp ) -> ( { <. (/) , R >. , <. 1o , S >. } ` 1o ) = S ) | 
						
							| 41 | 40 | fveq2d |  |-  ( ( R e. TopSp /\ S e. TopSp ) -> ( TopOpen ` ( { <. (/) , R >. , <. 1o , S >. } ` 1o ) ) = ( TopOpen ` S ) ) | 
						
							| 42 | 41 3 | eqtr4di |  |-  ( ( R e. TopSp /\ S e. TopSp ) -> ( TopOpen ` ( { <. (/) , R >. , <. 1o , S >. } ` 1o ) ) = K ) | 
						
							| 43 | 38 42 | eqtrd |  |-  ( ( R e. TopSp /\ S e. TopSp ) -> ( ( TopOpen o. { <. (/) , R >. , <. 1o , S >. } ) ` 1o ) = K ) | 
						
							| 44 | 43 | opeq2d |  |-  ( ( R e. TopSp /\ S e. TopSp ) -> <. 1o , ( ( TopOpen o. { <. (/) , R >. , <. 1o , S >. } ) ` 1o ) >. = <. 1o , K >. ) | 
						
							| 45 | 33 44 | preq12d |  |-  ( ( R e. TopSp /\ S e. TopSp ) -> { <. (/) , ( ( TopOpen o. { <. (/) , R >. , <. 1o , S >. } ) ` (/) ) >. , <. 1o , ( ( TopOpen o. { <. (/) , R >. , <. 1o , S >. } ) ` 1o ) >. } = { <. (/) , J >. , <. 1o , K >. } ) | 
						
							| 46 | 21 45 | eqtr3d |  |-  ( ( R e. TopSp /\ S e. TopSp ) -> ( TopOpen o. { <. (/) , R >. , <. 1o , S >. } ) = { <. (/) , J >. , <. 1o , K >. } ) | 
						
							| 47 | 46 | fveq2d |  |-  ( ( R e. TopSp /\ S e. TopSp ) -> ( Xt_ ` ( TopOpen o. { <. (/) , R >. , <. 1o , S >. } ) ) = ( Xt_ ` { <. (/) , J >. , <. 1o , K >. } ) ) | 
						
							| 48 | 14 47 | eqtrd |  |-  ( ( R e. TopSp /\ S e. TopSp ) -> ( TopOpen ` ( ( Scalar ` R ) Xs_ { <. (/) , R >. , <. 1o , S >. } ) ) = ( Xt_ ` { <. (/) , J >. , <. 1o , K >. } ) ) | 
						
							| 49 | 48 | oveq1d |  |-  ( ( R e. TopSp /\ S e. TopSp ) -> ( ( TopOpen ` ( ( Scalar ` R ) Xs_ { <. (/) , R >. , <. 1o , S >. } ) ) qTop `' F ) = ( ( Xt_ ` { <. (/) , J >. , <. 1o , K >. } ) qTop `' F ) ) | 
						
							| 50 |  | simpl |  |-  ( ( R e. TopSp /\ S e. TopSp ) -> R e. TopSp ) | 
						
							| 51 |  | simpr |  |-  ( ( R e. TopSp /\ S e. TopSp ) -> S e. TopSp ) | 
						
							| 52 |  | eqid |  |-  ( Scalar ` R ) = ( Scalar ` R ) | 
						
							| 53 | 1 5 6 50 51 7 52 8 | xpsval |  |-  ( ( R e. TopSp /\ S e. TopSp ) -> T = ( `' F "s ( ( Scalar ` R ) Xs_ { <. (/) , R >. , <. 1o , S >. } ) ) ) | 
						
							| 54 | 1 5 6 50 51 7 52 8 | xpsrnbas |  |-  ( ( R e. TopSp /\ S e. TopSp ) -> ran F = ( Base ` ( ( Scalar ` R ) Xs_ { <. (/) , R >. , <. 1o , S >. } ) ) ) | 
						
							| 55 | 7 | xpsff1o2 |  |-  F : ( X X. Y ) -1-1-onto-> ran F | 
						
							| 56 |  | f1ocnv |  |-  ( F : ( X X. Y ) -1-1-onto-> ran F -> `' F : ran F -1-1-onto-> ( X X. Y ) ) | 
						
							| 57 | 55 56 | mp1i |  |-  ( ( R e. TopSp /\ S e. TopSp ) -> `' F : ran F -1-1-onto-> ( X X. Y ) ) | 
						
							| 58 |  | f1ofo |  |-  ( `' F : ran F -1-1-onto-> ( X X. Y ) -> `' F : ran F -onto-> ( X X. Y ) ) | 
						
							| 59 | 57 58 | syl |  |-  ( ( R e. TopSp /\ S e. TopSp ) -> `' F : ran F -onto-> ( X X. Y ) ) | 
						
							| 60 |  | ovexd |  |-  ( ( R e. TopSp /\ S e. TopSp ) -> ( ( Scalar ` R ) Xs_ { <. (/) , R >. , <. 1o , S >. } ) e. _V ) | 
						
							| 61 | 53 54 59 60 13 4 | imastopn |  |-  ( ( R e. TopSp /\ S e. TopSp ) -> O = ( ( TopOpen ` ( ( Scalar ` R ) Xs_ { <. (/) , R >. , <. 1o , S >. } ) ) qTop `' F ) ) | 
						
							| 62 | 5 2 | istps |  |-  ( R e. TopSp <-> J e. ( TopOn ` X ) ) | 
						
							| 63 | 50 62 | sylib |  |-  ( ( R e. TopSp /\ S e. TopSp ) -> J e. ( TopOn ` X ) ) | 
						
							| 64 | 6 3 | istps |  |-  ( S e. TopSp <-> K e. ( TopOn ` Y ) ) | 
						
							| 65 | 51 64 | sylib |  |-  ( ( R e. TopSp /\ S e. TopSp ) -> K e. ( TopOn ` Y ) ) | 
						
							| 66 | 7 63 65 | xpstopnlem1 |  |-  ( ( R e. TopSp /\ S e. TopSp ) -> F e. ( ( J tX K ) Homeo ( Xt_ ` { <. (/) , J >. , <. 1o , K >. } ) ) ) | 
						
							| 67 |  | hmeocnv |  |-  ( F e. ( ( J tX K ) Homeo ( Xt_ ` { <. (/) , J >. , <. 1o , K >. } ) ) -> `' F e. ( ( Xt_ ` { <. (/) , J >. , <. 1o , K >. } ) Homeo ( J tX K ) ) ) | 
						
							| 68 |  | hmeoqtop |  |-  ( `' F e. ( ( Xt_ ` { <. (/) , J >. , <. 1o , K >. } ) Homeo ( J tX K ) ) -> ( J tX K ) = ( ( Xt_ ` { <. (/) , J >. , <. 1o , K >. } ) qTop `' F ) ) | 
						
							| 69 | 66 67 68 | 3syl |  |-  ( ( R e. TopSp /\ S e. TopSp ) -> ( J tX K ) = ( ( Xt_ ` { <. (/) , J >. , <. 1o , K >. } ) qTop `' F ) ) | 
						
							| 70 | 49 61 69 | 3eqtr4d |  |-  ( ( R e. TopSp /\ S e. TopSp ) -> O = ( J tX K ) ) |