Step |
Hyp |
Ref |
Expression |
1 |
|
xmetge0 |
|- ( ( D e. ( *Met ` X ) /\ A e. X /\ B e. X ) -> 0 <_ ( A D B ) ) |
2 |
1
|
biantrud |
|- ( ( D e. ( *Met ` X ) /\ A e. X /\ B e. X ) -> ( ( A D B ) <_ 0 <-> ( ( A D B ) <_ 0 /\ 0 <_ ( A D B ) ) ) ) |
3 |
|
xmetcl |
|- ( ( D e. ( *Met ` X ) /\ A e. X /\ B e. X ) -> ( A D B ) e. RR* ) |
4 |
|
0xr |
|- 0 e. RR* |
5 |
|
xrletri3 |
|- ( ( ( A D B ) e. RR* /\ 0 e. RR* ) -> ( ( A D B ) = 0 <-> ( ( A D B ) <_ 0 /\ 0 <_ ( A D B ) ) ) ) |
6 |
3 4 5
|
sylancl |
|- ( ( D e. ( *Met ` X ) /\ A e. X /\ B e. X ) -> ( ( A D B ) = 0 <-> ( ( A D B ) <_ 0 /\ 0 <_ ( A D B ) ) ) ) |
7 |
2 6
|
bitr4d |
|- ( ( D e. ( *Met ` X ) /\ A e. X /\ B e. X ) -> ( ( A D B ) <_ 0 <-> ( A D B ) = 0 ) ) |
8 |
|
xrlenlt |
|- ( ( ( A D B ) e. RR* /\ 0 e. RR* ) -> ( ( A D B ) <_ 0 <-> -. 0 < ( A D B ) ) ) |
9 |
3 4 8
|
sylancl |
|- ( ( D e. ( *Met ` X ) /\ A e. X /\ B e. X ) -> ( ( A D B ) <_ 0 <-> -. 0 < ( A D B ) ) ) |
10 |
|
xmeteq0 |
|- ( ( D e. ( *Met ` X ) /\ A e. X /\ B e. X ) -> ( ( A D B ) = 0 <-> A = B ) ) |
11 |
7 9 10
|
3bitr3d |
|- ( ( D e. ( *Met ` X ) /\ A e. X /\ B e. X ) -> ( -. 0 < ( A D B ) <-> A = B ) ) |
12 |
11
|
necon1abid |
|- ( ( D e. ( *Met ` X ) /\ A e. X /\ B e. X ) -> ( A =/= B <-> 0 < ( A D B ) ) ) |