| 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 ) ) ) |