| 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 |
|
1oelpr |
|- 1o e. { (/) , 1o } |
| 35 |
34 24
|
eleqtrri |
|- 1o e. 2o |
| 36 |
|
fvco2 |
|- ( ( { <. (/) , R >. , <. 1o , S >. } Fn 2o /\ 1o e. 2o ) -> ( ( TopOpen o. { <. (/) , R >. , <. 1o , S >. } ) ` 1o ) = ( TopOpen ` ( { <. (/) , R >. , <. 1o , S >. } ` 1o ) ) ) |
| 37 |
12 35 36
|
sylancl |
|- ( ( R e. TopSp /\ S e. TopSp ) -> ( ( TopOpen o. { <. (/) , R >. , <. 1o , S >. } ) ` 1o ) = ( TopOpen ` ( { <. (/) , R >. , <. 1o , S >. } ` 1o ) ) ) |
| 38 |
|
fvpr1o |
|- ( S e. TopSp -> ( { <. (/) , R >. , <. 1o , S >. } ` 1o ) = S ) |
| 39 |
38
|
adantl |
|- ( ( R e. TopSp /\ S e. TopSp ) -> ( { <. (/) , R >. , <. 1o , S >. } ` 1o ) = S ) |
| 40 |
39
|
fveq2d |
|- ( ( R e. TopSp /\ S e. TopSp ) -> ( TopOpen ` ( { <. (/) , R >. , <. 1o , S >. } ` 1o ) ) = ( TopOpen ` S ) ) |
| 41 |
40 3
|
eqtr4di |
|- ( ( R e. TopSp /\ S e. TopSp ) -> ( TopOpen ` ( { <. (/) , R >. , <. 1o , S >. } ` 1o ) ) = K ) |
| 42 |
37 41
|
eqtrd |
|- ( ( R e. TopSp /\ S e. TopSp ) -> ( ( TopOpen o. { <. (/) , R >. , <. 1o , S >. } ) ` 1o ) = K ) |
| 43 |
42
|
opeq2d |
|- ( ( R e. TopSp /\ S e. TopSp ) -> <. 1o , ( ( TopOpen o. { <. (/) , R >. , <. 1o , S >. } ) ` 1o ) >. = <. 1o , K >. ) |
| 44 |
33 43
|
preq12d |
|- ( ( R e. TopSp /\ S e. TopSp ) -> { <. (/) , ( ( TopOpen o. { <. (/) , R >. , <. 1o , S >. } ) ` (/) ) >. , <. 1o , ( ( TopOpen o. { <. (/) , R >. , <. 1o , S >. } ) ` 1o ) >. } = { <. (/) , J >. , <. 1o , K >. } ) |
| 45 |
21 44
|
eqtr3d |
|- ( ( R e. TopSp /\ S e. TopSp ) -> ( TopOpen o. { <. (/) , R >. , <. 1o , S >. } ) = { <. (/) , J >. , <. 1o , K >. } ) |
| 46 |
45
|
fveq2d |
|- ( ( R e. TopSp /\ S e. TopSp ) -> ( Xt_ ` ( TopOpen o. { <. (/) , R >. , <. 1o , S >. } ) ) = ( Xt_ ` { <. (/) , J >. , <. 1o , K >. } ) ) |
| 47 |
14 46
|
eqtrd |
|- ( ( R e. TopSp /\ S e. TopSp ) -> ( TopOpen ` ( ( Scalar ` R ) Xs_ { <. (/) , R >. , <. 1o , S >. } ) ) = ( Xt_ ` { <. (/) , J >. , <. 1o , K >. } ) ) |
| 48 |
47
|
oveq1d |
|- ( ( R e. TopSp /\ S e. TopSp ) -> ( ( TopOpen ` ( ( Scalar ` R ) Xs_ { <. (/) , R >. , <. 1o , S >. } ) ) qTop `' F ) = ( ( Xt_ ` { <. (/) , J >. , <. 1o , K >. } ) qTop `' F ) ) |
| 49 |
|
simpl |
|- ( ( R e. TopSp /\ S e. TopSp ) -> R e. TopSp ) |
| 50 |
|
simpr |
|- ( ( R e. TopSp /\ S e. TopSp ) -> S e. TopSp ) |
| 51 |
|
eqid |
|- ( Scalar ` R ) = ( Scalar ` R ) |
| 52 |
1 5 6 49 50 7 51 8
|
xpsval |
|- ( ( R e. TopSp /\ S e. TopSp ) -> T = ( `' F "s ( ( Scalar ` R ) Xs_ { <. (/) , R >. , <. 1o , S >. } ) ) ) |
| 53 |
1 5 6 49 50 7 51 8
|
xpsrnbas |
|- ( ( R e. TopSp /\ S e. TopSp ) -> ran F = ( Base ` ( ( Scalar ` R ) Xs_ { <. (/) , R >. , <. 1o , S >. } ) ) ) |
| 54 |
7
|
xpsff1o2 |
|- F : ( X X. Y ) -1-1-onto-> ran F |
| 55 |
|
f1ocnv |
|- ( F : ( X X. Y ) -1-1-onto-> ran F -> `' F : ran F -1-1-onto-> ( X X. Y ) ) |
| 56 |
54 55
|
mp1i |
|- ( ( R e. TopSp /\ S e. TopSp ) -> `' F : ran F -1-1-onto-> ( X X. Y ) ) |
| 57 |
|
f1ofo |
|- ( `' F : ran F -1-1-onto-> ( X X. Y ) -> `' F : ran F -onto-> ( X X. Y ) ) |
| 58 |
56 57
|
syl |
|- ( ( R e. TopSp /\ S e. TopSp ) -> `' F : ran F -onto-> ( X X. Y ) ) |
| 59 |
|
ovexd |
|- ( ( R e. TopSp /\ S e. TopSp ) -> ( ( Scalar ` R ) Xs_ { <. (/) , R >. , <. 1o , S >. } ) e. _V ) |
| 60 |
52 53 58 59 13 4
|
imastopn |
|- ( ( R e. TopSp /\ S e. TopSp ) -> O = ( ( TopOpen ` ( ( Scalar ` R ) Xs_ { <. (/) , R >. , <. 1o , S >. } ) ) qTop `' F ) ) |
| 61 |
5 2
|
istps |
|- ( R e. TopSp <-> J e. ( TopOn ` X ) ) |
| 62 |
49 61
|
sylib |
|- ( ( R e. TopSp /\ S e. TopSp ) -> J e. ( TopOn ` X ) ) |
| 63 |
6 3
|
istps |
|- ( S e. TopSp <-> K e. ( TopOn ` Y ) ) |
| 64 |
50 63
|
sylib |
|- ( ( R e. TopSp /\ S e. TopSp ) -> K e. ( TopOn ` Y ) ) |
| 65 |
7 62 64
|
xpstopnlem1 |
|- ( ( R e. TopSp /\ S e. TopSp ) -> F e. ( ( J tX K ) Homeo ( Xt_ ` { <. (/) , J >. , <. 1o , K >. } ) ) ) |
| 66 |
|
hmeocnv |
|- ( F e. ( ( J tX K ) Homeo ( Xt_ ` { <. (/) , J >. , <. 1o , K >. } ) ) -> `' F e. ( ( Xt_ ` { <. (/) , J >. , <. 1o , K >. } ) Homeo ( J tX K ) ) ) |
| 67 |
|
hmeoqtop |
|- ( `' F e. ( ( Xt_ ` { <. (/) , J >. , <. 1o , K >. } ) Homeo ( J tX K ) ) -> ( J tX K ) = ( ( Xt_ ` { <. (/) , J >. , <. 1o , K >. } ) qTop `' F ) ) |
| 68 |
65 66 67
|
3syl |
|- ( ( R e. TopSp /\ S e. TopSp ) -> ( J tX K ) = ( ( Xt_ ` { <. (/) , J >. , <. 1o , K >. } ) qTop `' F ) ) |
| 69 |
48 60 68
|
3eqtr4d |
|- ( ( R e. TopSp /\ S e. TopSp ) -> O = ( J tX K ) ) |