Metamath Proof Explorer


Theorem xpsxmetlem

Description: Lemma for xpsxmet . (Contributed by Mario Carneiro, 21-Aug-2015)

Ref Expression
Hypotheses xpsds.t
|- T = ( R Xs. S )
xpsds.x
|- X = ( Base ` R )
xpsds.y
|- Y = ( Base ` S )
xpsds.1
|- ( ph -> R e. V )
xpsds.2
|- ( ph -> S e. W )
xpsds.p
|- P = ( dist ` T )
xpsds.m
|- M = ( ( dist ` R ) |` ( X X. X ) )
xpsds.n
|- N = ( ( dist ` S ) |` ( Y X. Y ) )
xpsds.3
|- ( ph -> M e. ( *Met ` X ) )
xpsds.4
|- ( ph -> N e. ( *Met ` Y ) )
Assertion xpsxmetlem
|- ( ph -> ( dist ` ( ( Scalar ` R ) Xs_ { <. (/) , R >. , <. 1o , S >. } ) ) e. ( *Met ` ran ( x e. X , y e. Y |-> { <. (/) , x >. , <. 1o , y >. } ) ) )

Proof

Step Hyp Ref Expression
1 xpsds.t
 |-  T = ( R Xs. S )
2 xpsds.x
 |-  X = ( Base ` R )
3 xpsds.y
 |-  Y = ( Base ` S )
4 xpsds.1
 |-  ( ph -> R e. V )
5 xpsds.2
 |-  ( ph -> S e. W )
6 xpsds.p
 |-  P = ( dist ` T )
7 xpsds.m
 |-  M = ( ( dist ` R ) |` ( X X. X ) )
8 xpsds.n
 |-  N = ( ( dist ` S ) |` ( Y X. Y ) )
9 xpsds.3
 |-  ( ph -> M e. ( *Met ` X ) )
10 xpsds.4
 |-  ( ph -> N e. ( *Met ` Y ) )
11 eqid
 |-  ( ( Scalar ` R ) Xs_ ( k e. 2o |-> ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) ) = ( ( Scalar ` R ) Xs_ ( k e. 2o |-> ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) )
12 eqid
 |-  ( Base ` ( ( Scalar ` R ) Xs_ ( k e. 2o |-> ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) ) ) = ( Base ` ( ( Scalar ` R ) Xs_ ( k e. 2o |-> ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) ) )
13 eqid
 |-  ( Base ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) = ( Base ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) )
14 eqid
 |-  ( ( dist ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) |` ( ( Base ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) X. ( Base ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) ) ) = ( ( dist ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) |` ( ( Base ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) X. ( Base ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) ) )
15 eqid
 |-  ( dist ` ( ( Scalar ` R ) Xs_ ( k e. 2o |-> ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) ) ) = ( dist ` ( ( Scalar ` R ) Xs_ ( k e. 2o |-> ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) ) )
16 fvexd
 |-  ( ph -> ( Scalar ` R ) e. _V )
17 2on
 |-  2o e. On
18 17 a1i
 |-  ( ph -> 2o e. On )
19 fvexd
 |-  ( ( ph /\ k e. 2o ) -> ( { <. (/) , R >. , <. 1o , S >. } ` k ) e. _V )
20 elpri
 |-  ( k e. { (/) , 1o } -> ( k = (/) \/ k = 1o ) )
21 df2o3
 |-  2o = { (/) , 1o }
22 20 21 eleq2s
 |-  ( k e. 2o -> ( k = (/) \/ k = 1o ) )
23 9 adantr
 |-  ( ( ph /\ k = (/) ) -> M e. ( *Met ` X ) )
24 fveq2
 |-  ( k = (/) -> ( { <. (/) , R >. , <. 1o , S >. } ` k ) = ( { <. (/) , R >. , <. 1o , S >. } ` (/) ) )
25 fvpr0o
 |-  ( R e. V -> ( { <. (/) , R >. , <. 1o , S >. } ` (/) ) = R )
26 4 25 syl
 |-  ( ph -> ( { <. (/) , R >. , <. 1o , S >. } ` (/) ) = R )
27 24 26 sylan9eqr
 |-  ( ( ph /\ k = (/) ) -> ( { <. (/) , R >. , <. 1o , S >. } ` k ) = R )
28 27 fveq2d
 |-  ( ( ph /\ k = (/) ) -> ( dist ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) = ( dist ` R ) )
29 27 fveq2d
 |-  ( ( ph /\ k = (/) ) -> ( Base ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) = ( Base ` R ) )
30 29 2 eqtr4di
 |-  ( ( ph /\ k = (/) ) -> ( Base ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) = X )
31 30 sqxpeqd
 |-  ( ( ph /\ k = (/) ) -> ( ( Base ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) X. ( Base ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) ) = ( X X. X ) )
32 28 31 reseq12d
 |-  ( ( ph /\ k = (/) ) -> ( ( dist ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) |` ( ( Base ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) X. ( Base ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) ) ) = ( ( dist ` R ) |` ( X X. X ) ) )
33 32 7 eqtr4di
 |-  ( ( ph /\ k = (/) ) -> ( ( dist ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) |` ( ( Base ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) X. ( Base ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) ) ) = M )
34 30 fveq2d
 |-  ( ( ph /\ k = (/) ) -> ( *Met ` ( Base ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) ) = ( *Met ` X ) )
35 23 33 34 3eltr4d
 |-  ( ( ph /\ k = (/) ) -> ( ( dist ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) |` ( ( Base ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) X. ( Base ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) ) ) e. ( *Met ` ( Base ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) ) )
36 10 adantr
 |-  ( ( ph /\ k = 1o ) -> N e. ( *Met ` Y ) )
37 fveq2
 |-  ( k = 1o -> ( { <. (/) , R >. , <. 1o , S >. } ` k ) = ( { <. (/) , R >. , <. 1o , S >. } ` 1o ) )
38 fvpr1o
 |-  ( S e. W -> ( { <. (/) , R >. , <. 1o , S >. } ` 1o ) = S )
39 5 38 syl
 |-  ( ph -> ( { <. (/) , R >. , <. 1o , S >. } ` 1o ) = S )
40 37 39 sylan9eqr
 |-  ( ( ph /\ k = 1o ) -> ( { <. (/) , R >. , <. 1o , S >. } ` k ) = S )
41 40 fveq2d
 |-  ( ( ph /\ k = 1o ) -> ( dist ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) = ( dist ` S ) )
42 40 fveq2d
 |-  ( ( ph /\ k = 1o ) -> ( Base ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) = ( Base ` S ) )
43 42 3 eqtr4di
 |-  ( ( ph /\ k = 1o ) -> ( Base ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) = Y )
44 43 sqxpeqd
 |-  ( ( ph /\ k = 1o ) -> ( ( Base ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) X. ( Base ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) ) = ( Y X. Y ) )
45 41 44 reseq12d
 |-  ( ( ph /\ k = 1o ) -> ( ( dist ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) |` ( ( Base ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) X. ( Base ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) ) ) = ( ( dist ` S ) |` ( Y X. Y ) ) )
46 45 8 eqtr4di
 |-  ( ( ph /\ k = 1o ) -> ( ( dist ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) |` ( ( Base ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) X. ( Base ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) ) ) = N )
47 43 fveq2d
 |-  ( ( ph /\ k = 1o ) -> ( *Met ` ( Base ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) ) = ( *Met ` Y ) )
48 36 46 47 3eltr4d
 |-  ( ( ph /\ k = 1o ) -> ( ( dist ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) |` ( ( Base ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) X. ( Base ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) ) ) e. ( *Met ` ( Base ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) ) )
49 35 48 jaodan
 |-  ( ( ph /\ ( k = (/) \/ k = 1o ) ) -> ( ( dist ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) |` ( ( Base ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) X. ( Base ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) ) ) e. ( *Met ` ( Base ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) ) )
50 22 49 sylan2
 |-  ( ( ph /\ k e. 2o ) -> ( ( dist ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) |` ( ( Base ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) X. ( Base ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) ) ) e. ( *Met ` ( Base ` ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) ) )
51 11 12 13 14 15 16 18 19 50 prdsxmet
 |-  ( ph -> ( dist ` ( ( Scalar ` R ) Xs_ ( k e. 2o |-> ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) ) ) e. ( *Met ` ( Base ` ( ( Scalar ` R ) Xs_ ( k e. 2o |-> ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) ) ) ) )
52 fnpr2o
 |-  ( ( R e. V /\ S e. W ) -> { <. (/) , R >. , <. 1o , S >. } Fn 2o )
53 4 5 52 syl2anc
 |-  ( ph -> { <. (/) , R >. , <. 1o , S >. } Fn 2o )
54 dffn5
 |-  ( { <. (/) , R >. , <. 1o , S >. } Fn 2o <-> { <. (/) , R >. , <. 1o , S >. } = ( k e. 2o |-> ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) )
55 53 54 sylib
 |-  ( ph -> { <. (/) , R >. , <. 1o , S >. } = ( k e. 2o |-> ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) )
56 55 oveq2d
 |-  ( ph -> ( ( Scalar ` R ) Xs_ { <. (/) , R >. , <. 1o , S >. } ) = ( ( Scalar ` R ) Xs_ ( k e. 2o |-> ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) ) )
57 56 fveq2d
 |-  ( ph -> ( dist ` ( ( Scalar ` R ) Xs_ { <. (/) , R >. , <. 1o , S >. } ) ) = ( dist ` ( ( Scalar ` R ) Xs_ ( k e. 2o |-> ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) ) ) )
58 eqid
 |-  ( x e. X , y e. Y |-> { <. (/) , x >. , <. 1o , y >. } ) = ( x e. X , y e. Y |-> { <. (/) , x >. , <. 1o , y >. } )
59 eqid
 |-  ( Scalar ` R ) = ( Scalar ` R )
60 eqid
 |-  ( ( Scalar ` R ) Xs_ { <. (/) , R >. , <. 1o , S >. } ) = ( ( Scalar ` R ) Xs_ { <. (/) , R >. , <. 1o , S >. } )
61 1 2 3 4 5 58 59 60 xpsrnbas
 |-  ( ph -> ran ( x e. X , y e. Y |-> { <. (/) , x >. , <. 1o , y >. } ) = ( Base ` ( ( Scalar ` R ) Xs_ { <. (/) , R >. , <. 1o , S >. } ) ) )
62 56 fveq2d
 |-  ( ph -> ( Base ` ( ( Scalar ` R ) Xs_ { <. (/) , R >. , <. 1o , S >. } ) ) = ( Base ` ( ( Scalar ` R ) Xs_ ( k e. 2o |-> ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) ) ) )
63 61 62 eqtrd
 |-  ( ph -> ran ( x e. X , y e. Y |-> { <. (/) , x >. , <. 1o , y >. } ) = ( Base ` ( ( Scalar ` R ) Xs_ ( k e. 2o |-> ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) ) ) )
64 63 fveq2d
 |-  ( ph -> ( *Met ` ran ( x e. X , y e. Y |-> { <. (/) , x >. , <. 1o , y >. } ) ) = ( *Met ` ( Base ` ( ( Scalar ` R ) Xs_ ( k e. 2o |-> ( { <. (/) , R >. , <. 1o , S >. } ` k ) ) ) ) ) )
65 51 57 64 3eltr4d
 |-  ( ph -> ( dist ` ( ( Scalar ` R ) Xs_ { <. (/) , R >. , <. 1o , S >. } ) ) e. ( *Met ` ran ( x e. X , y e. Y |-> { <. (/) , x >. , <. 1o , y >. } ) ) )