Step |
Hyp |
Ref |
Expression |
1 |
|
metidss |
|- ( D e. ( PsMet ` X ) -> ( ~Met ` D ) C_ ( X X. X ) ) |
2 |
|
xpss |
|- ( X X. X ) C_ ( _V X. _V ) |
3 |
1 2
|
sstrdi |
|- ( D e. ( PsMet ` X ) -> ( ~Met ` D ) C_ ( _V X. _V ) ) |
4 |
|
df-rel |
|- ( Rel ( ~Met ` D ) <-> ( ~Met ` D ) C_ ( _V X. _V ) ) |
5 |
3 4
|
sylibr |
|- ( D e. ( PsMet ` X ) -> Rel ( ~Met ` D ) ) |
6 |
1
|
ssbrd |
|- ( D e. ( PsMet ` X ) -> ( x ( ~Met ` D ) y -> x ( X X. X ) y ) ) |
7 |
6
|
imp |
|- ( ( D e. ( PsMet ` X ) /\ x ( ~Met ` D ) y ) -> x ( X X. X ) y ) |
8 |
|
brxp |
|- ( x ( X X. X ) y <-> ( x e. X /\ y e. X ) ) |
9 |
7 8
|
sylib |
|- ( ( D e. ( PsMet ` X ) /\ x ( ~Met ` D ) y ) -> ( x e. X /\ y e. X ) ) |
10 |
|
psmetsym |
|- ( ( D e. ( PsMet ` X ) /\ x e. X /\ y e. X ) -> ( x D y ) = ( y D x ) ) |
11 |
10
|
3expb |
|- ( ( D e. ( PsMet ` X ) /\ ( x e. X /\ y e. X ) ) -> ( x D y ) = ( y D x ) ) |
12 |
11
|
eqeq1d |
|- ( ( D e. ( PsMet ` X ) /\ ( x e. X /\ y e. X ) ) -> ( ( x D y ) = 0 <-> ( y D x ) = 0 ) ) |
13 |
|
metidv |
|- ( ( D e. ( PsMet ` X ) /\ ( x e. X /\ y e. X ) ) -> ( x ( ~Met ` D ) y <-> ( x D y ) = 0 ) ) |
14 |
|
metidv |
|- ( ( D e. ( PsMet ` X ) /\ ( y e. X /\ x e. X ) ) -> ( y ( ~Met ` D ) x <-> ( y D x ) = 0 ) ) |
15 |
14
|
ancom2s |
|- ( ( D e. ( PsMet ` X ) /\ ( x e. X /\ y e. X ) ) -> ( y ( ~Met ` D ) x <-> ( y D x ) = 0 ) ) |
16 |
12 13 15
|
3bitr4d |
|- ( ( D e. ( PsMet ` X ) /\ ( x e. X /\ y e. X ) ) -> ( x ( ~Met ` D ) y <-> y ( ~Met ` D ) x ) ) |
17 |
16
|
biimpd |
|- ( ( D e. ( PsMet ` X ) /\ ( x e. X /\ y e. X ) ) -> ( x ( ~Met ` D ) y -> y ( ~Met ` D ) x ) ) |
18 |
17
|
impancom |
|- ( ( D e. ( PsMet ` X ) /\ x ( ~Met ` D ) y ) -> ( ( x e. X /\ y e. X ) -> y ( ~Met ` D ) x ) ) |
19 |
9 18
|
mpd |
|- ( ( D e. ( PsMet ` X ) /\ x ( ~Met ` D ) y ) -> y ( ~Met ` D ) x ) |
20 |
|
simpl |
|- ( ( D e. ( PsMet ` X ) /\ ( x ( ~Met ` D ) y /\ y ( ~Met ` D ) z ) ) -> D e. ( PsMet ` X ) ) |
21 |
|
simprr |
|- ( ( D e. ( PsMet ` X ) /\ ( x ( ~Met ` D ) y /\ y ( ~Met ` D ) z ) ) -> y ( ~Met ` D ) z ) |
22 |
1
|
ssbrd |
|- ( D e. ( PsMet ` X ) -> ( y ( ~Met ` D ) z -> y ( X X. X ) z ) ) |
23 |
22
|
imp |
|- ( ( D e. ( PsMet ` X ) /\ y ( ~Met ` D ) z ) -> y ( X X. X ) z ) |
24 |
|
brxp |
|- ( y ( X X. X ) z <-> ( y e. X /\ z e. X ) ) |
25 |
23 24
|
sylib |
|- ( ( D e. ( PsMet ` X ) /\ y ( ~Met ` D ) z ) -> ( y e. X /\ z e. X ) ) |
26 |
21 25
|
syldan |
|- ( ( D e. ( PsMet ` X ) /\ ( x ( ~Met ` D ) y /\ y ( ~Met ` D ) z ) ) -> ( y e. X /\ z e. X ) ) |
27 |
26
|
simpld |
|- ( ( D e. ( PsMet ` X ) /\ ( x ( ~Met ` D ) y /\ y ( ~Met ` D ) z ) ) -> y e. X ) |
28 |
|
simprl |
|- ( ( D e. ( PsMet ` X ) /\ ( x ( ~Met ` D ) y /\ y ( ~Met ` D ) z ) ) -> x ( ~Met ` D ) y ) |
29 |
28 9
|
syldan |
|- ( ( D e. ( PsMet ` X ) /\ ( x ( ~Met ` D ) y /\ y ( ~Met ` D ) z ) ) -> ( x e. X /\ y e. X ) ) |
30 |
29
|
simpld |
|- ( ( D e. ( PsMet ` X ) /\ ( x ( ~Met ` D ) y /\ y ( ~Met ` D ) z ) ) -> x e. X ) |
31 |
26
|
simprd |
|- ( ( D e. ( PsMet ` X ) /\ ( x ( ~Met ` D ) y /\ y ( ~Met ` D ) z ) ) -> z e. X ) |
32 |
|
psmettri2 |
|- ( ( D e. ( PsMet ` X ) /\ ( y e. X /\ x e. X /\ z e. X ) ) -> ( x D z ) <_ ( ( y D x ) +e ( y D z ) ) ) |
33 |
20 27 30 31 32
|
syl13anc |
|- ( ( D e. ( PsMet ` X ) /\ ( x ( ~Met ` D ) y /\ y ( ~Met ` D ) z ) ) -> ( x D z ) <_ ( ( y D x ) +e ( y D z ) ) ) |
34 |
29 11
|
syldan |
|- ( ( D e. ( PsMet ` X ) /\ ( x ( ~Met ` D ) y /\ y ( ~Met ` D ) z ) ) -> ( x D y ) = ( y D x ) ) |
35 |
29 13
|
syldan |
|- ( ( D e. ( PsMet ` X ) /\ ( x ( ~Met ` D ) y /\ y ( ~Met ` D ) z ) ) -> ( x ( ~Met ` D ) y <-> ( x D y ) = 0 ) ) |
36 |
28 35
|
mpbid |
|- ( ( D e. ( PsMet ` X ) /\ ( x ( ~Met ` D ) y /\ y ( ~Met ` D ) z ) ) -> ( x D y ) = 0 ) |
37 |
34 36
|
eqtr3d |
|- ( ( D e. ( PsMet ` X ) /\ ( x ( ~Met ` D ) y /\ y ( ~Met ` D ) z ) ) -> ( y D x ) = 0 ) |
38 |
|
metidv |
|- ( ( D e. ( PsMet ` X ) /\ ( y e. X /\ z e. X ) ) -> ( y ( ~Met ` D ) z <-> ( y D z ) = 0 ) ) |
39 |
26 38
|
syldan |
|- ( ( D e. ( PsMet ` X ) /\ ( x ( ~Met ` D ) y /\ y ( ~Met ` D ) z ) ) -> ( y ( ~Met ` D ) z <-> ( y D z ) = 0 ) ) |
40 |
21 39
|
mpbid |
|- ( ( D e. ( PsMet ` X ) /\ ( x ( ~Met ` D ) y /\ y ( ~Met ` D ) z ) ) -> ( y D z ) = 0 ) |
41 |
37 40
|
oveq12d |
|- ( ( D e. ( PsMet ` X ) /\ ( x ( ~Met ` D ) y /\ y ( ~Met ` D ) z ) ) -> ( ( y D x ) +e ( y D z ) ) = ( 0 +e 0 ) ) |
42 |
|
0xr |
|- 0 e. RR* |
43 |
|
xaddid1 |
|- ( 0 e. RR* -> ( 0 +e 0 ) = 0 ) |
44 |
42 43
|
ax-mp |
|- ( 0 +e 0 ) = 0 |
45 |
41 44
|
eqtrdi |
|- ( ( D e. ( PsMet ` X ) /\ ( x ( ~Met ` D ) y /\ y ( ~Met ` D ) z ) ) -> ( ( y D x ) +e ( y D z ) ) = 0 ) |
46 |
33 45
|
breqtrd |
|- ( ( D e. ( PsMet ` X ) /\ ( x ( ~Met ` D ) y /\ y ( ~Met ` D ) z ) ) -> ( x D z ) <_ 0 ) |
47 |
|
psmetge0 |
|- ( ( D e. ( PsMet ` X ) /\ x e. X /\ z e. X ) -> 0 <_ ( x D z ) ) |
48 |
20 30 31 47
|
syl3anc |
|- ( ( D e. ( PsMet ` X ) /\ ( x ( ~Met ` D ) y /\ y ( ~Met ` D ) z ) ) -> 0 <_ ( x D z ) ) |
49 |
|
psmetcl |
|- ( ( D e. ( PsMet ` X ) /\ x e. X /\ z e. X ) -> ( x D z ) e. RR* ) |
50 |
20 30 31 49
|
syl3anc |
|- ( ( D e. ( PsMet ` X ) /\ ( x ( ~Met ` D ) y /\ y ( ~Met ` D ) z ) ) -> ( x D z ) e. RR* ) |
51 |
|
xrletri3 |
|- ( ( ( x D z ) e. RR* /\ 0 e. RR* ) -> ( ( x D z ) = 0 <-> ( ( x D z ) <_ 0 /\ 0 <_ ( x D z ) ) ) ) |
52 |
50 42 51
|
sylancl |
|- ( ( D e. ( PsMet ` X ) /\ ( x ( ~Met ` D ) y /\ y ( ~Met ` D ) z ) ) -> ( ( x D z ) = 0 <-> ( ( x D z ) <_ 0 /\ 0 <_ ( x D z ) ) ) ) |
53 |
46 48 52
|
mpbir2and |
|- ( ( D e. ( PsMet ` X ) /\ ( x ( ~Met ` D ) y /\ y ( ~Met ` D ) z ) ) -> ( x D z ) = 0 ) |
54 |
|
metidv |
|- ( ( D e. ( PsMet ` X ) /\ ( x e. X /\ z e. X ) ) -> ( x ( ~Met ` D ) z <-> ( x D z ) = 0 ) ) |
55 |
20 30 31 54
|
syl12anc |
|- ( ( D e. ( PsMet ` X ) /\ ( x ( ~Met ` D ) y /\ y ( ~Met ` D ) z ) ) -> ( x ( ~Met ` D ) z <-> ( x D z ) = 0 ) ) |
56 |
53 55
|
mpbird |
|- ( ( D e. ( PsMet ` X ) /\ ( x ( ~Met ` D ) y /\ y ( ~Met ` D ) z ) ) -> x ( ~Met ` D ) z ) |
57 |
|
psmet0 |
|- ( ( D e. ( PsMet ` X ) /\ x e. X ) -> ( x D x ) = 0 ) |
58 |
|
metidv |
|- ( ( D e. ( PsMet ` X ) /\ ( x e. X /\ x e. X ) ) -> ( x ( ~Met ` D ) x <-> ( x D x ) = 0 ) ) |
59 |
58
|
anabsan2 |
|- ( ( D e. ( PsMet ` X ) /\ x e. X ) -> ( x ( ~Met ` D ) x <-> ( x D x ) = 0 ) ) |
60 |
57 59
|
mpbird |
|- ( ( D e. ( PsMet ` X ) /\ x e. X ) -> x ( ~Met ` D ) x ) |
61 |
1
|
ssbrd |
|- ( D e. ( PsMet ` X ) -> ( x ( ~Met ` D ) x -> x ( X X. X ) x ) ) |
62 |
61
|
imp |
|- ( ( D e. ( PsMet ` X ) /\ x ( ~Met ` D ) x ) -> x ( X X. X ) x ) |
63 |
|
brxp |
|- ( x ( X X. X ) x <-> ( x e. X /\ x e. X ) ) |
64 |
62 63
|
sylib |
|- ( ( D e. ( PsMet ` X ) /\ x ( ~Met ` D ) x ) -> ( x e. X /\ x e. X ) ) |
65 |
64
|
simpld |
|- ( ( D e. ( PsMet ` X ) /\ x ( ~Met ` D ) x ) -> x e. X ) |
66 |
60 65
|
impbida |
|- ( D e. ( PsMet ` X ) -> ( x e. X <-> x ( ~Met ` D ) x ) ) |
67 |
5 19 56 66
|
iserd |
|- ( D e. ( PsMet ` X ) -> ( ~Met ` D ) Er X ) |