| Step |
Hyp |
Ref |
Expression |
| 1 |
|
xmulgt0 |
|- ( ( ( A e. RR* /\ 0 < A ) /\ ( B e. RR* /\ 0 < B ) ) -> 0 < ( A *e B ) ) |
| 2 |
1
|
an4s |
|- ( ( ( A e. RR* /\ B e. RR* ) /\ ( 0 < A /\ 0 < B ) ) -> 0 < ( A *e B ) ) |
| 3 |
|
0xr |
|- 0 e. RR* |
| 4 |
|
xmulcl |
|- ( ( A e. RR* /\ B e. RR* ) -> ( A *e B ) e. RR* ) |
| 5 |
4
|
adantr |
|- ( ( ( A e. RR* /\ B e. RR* ) /\ ( 0 < A /\ 0 < B ) ) -> ( A *e B ) e. RR* ) |
| 6 |
|
xrltle |
|- ( ( 0 e. RR* /\ ( A *e B ) e. RR* ) -> ( 0 < ( A *e B ) -> 0 <_ ( A *e B ) ) ) |
| 7 |
3 5 6
|
sylancr |
|- ( ( ( A e. RR* /\ B e. RR* ) /\ ( 0 < A /\ 0 < B ) ) -> ( 0 < ( A *e B ) -> 0 <_ ( A *e B ) ) ) |
| 8 |
2 7
|
mpd |
|- ( ( ( A e. RR* /\ B e. RR* ) /\ ( 0 < A /\ 0 < B ) ) -> 0 <_ ( A *e B ) ) |
| 9 |
8
|
ex |
|- ( ( A e. RR* /\ B e. RR* ) -> ( ( 0 < A /\ 0 < B ) -> 0 <_ ( A *e B ) ) ) |
| 10 |
9
|
ad2ant2r |
|- ( ( ( A e. RR* /\ 0 <_ A ) /\ ( B e. RR* /\ 0 <_ B ) ) -> ( ( 0 < A /\ 0 < B ) -> 0 <_ ( A *e B ) ) ) |
| 11 |
10
|
impl |
|- ( ( ( ( ( A e. RR* /\ 0 <_ A ) /\ ( B e. RR* /\ 0 <_ B ) ) /\ 0 < A ) /\ 0 < B ) -> 0 <_ ( A *e B ) ) |
| 12 |
|
0le0 |
|- 0 <_ 0 |
| 13 |
|
oveq2 |
|- ( 0 = B -> ( A *e 0 ) = ( A *e B ) ) |
| 14 |
13
|
eqcomd |
|- ( 0 = B -> ( A *e B ) = ( A *e 0 ) ) |
| 15 |
|
xmul01 |
|- ( A e. RR* -> ( A *e 0 ) = 0 ) |
| 16 |
15
|
ad2antrr |
|- ( ( ( A e. RR* /\ 0 <_ A ) /\ ( B e. RR* /\ 0 <_ B ) ) -> ( A *e 0 ) = 0 ) |
| 17 |
14 16
|
sylan9eqr |
|- ( ( ( ( A e. RR* /\ 0 <_ A ) /\ ( B e. RR* /\ 0 <_ B ) ) /\ 0 = B ) -> ( A *e B ) = 0 ) |
| 18 |
12 17
|
breqtrrid |
|- ( ( ( ( A e. RR* /\ 0 <_ A ) /\ ( B e. RR* /\ 0 <_ B ) ) /\ 0 = B ) -> 0 <_ ( A *e B ) ) |
| 19 |
18
|
adantlr |
|- ( ( ( ( ( A e. RR* /\ 0 <_ A ) /\ ( B e. RR* /\ 0 <_ B ) ) /\ 0 < A ) /\ 0 = B ) -> 0 <_ ( A *e B ) ) |
| 20 |
|
xrleloe |
|- ( ( 0 e. RR* /\ B e. RR* ) -> ( 0 <_ B <-> ( 0 < B \/ 0 = B ) ) ) |
| 21 |
3 20
|
mpan |
|- ( B e. RR* -> ( 0 <_ B <-> ( 0 < B \/ 0 = B ) ) ) |
| 22 |
21
|
biimpa |
|- ( ( B e. RR* /\ 0 <_ B ) -> ( 0 < B \/ 0 = B ) ) |
| 23 |
22
|
ad2antlr |
|- ( ( ( ( A e. RR* /\ 0 <_ A ) /\ ( B e. RR* /\ 0 <_ B ) ) /\ 0 < A ) -> ( 0 < B \/ 0 = B ) ) |
| 24 |
11 19 23
|
mpjaodan |
|- ( ( ( ( A e. RR* /\ 0 <_ A ) /\ ( B e. RR* /\ 0 <_ B ) ) /\ 0 < A ) -> 0 <_ ( A *e B ) ) |
| 25 |
|
oveq1 |
|- ( 0 = A -> ( 0 *e B ) = ( A *e B ) ) |
| 26 |
25
|
eqcomd |
|- ( 0 = A -> ( A *e B ) = ( 0 *e B ) ) |
| 27 |
|
xmul02 |
|- ( B e. RR* -> ( 0 *e B ) = 0 ) |
| 28 |
27
|
ad2antrl |
|- ( ( ( A e. RR* /\ 0 <_ A ) /\ ( B e. RR* /\ 0 <_ B ) ) -> ( 0 *e B ) = 0 ) |
| 29 |
26 28
|
sylan9eqr |
|- ( ( ( ( A e. RR* /\ 0 <_ A ) /\ ( B e. RR* /\ 0 <_ B ) ) /\ 0 = A ) -> ( A *e B ) = 0 ) |
| 30 |
12 29
|
breqtrrid |
|- ( ( ( ( A e. RR* /\ 0 <_ A ) /\ ( B e. RR* /\ 0 <_ B ) ) /\ 0 = A ) -> 0 <_ ( A *e B ) ) |
| 31 |
|
xrleloe |
|- ( ( 0 e. RR* /\ A e. RR* ) -> ( 0 <_ A <-> ( 0 < A \/ 0 = A ) ) ) |
| 32 |
3 31
|
mpan |
|- ( A e. RR* -> ( 0 <_ A <-> ( 0 < A \/ 0 = A ) ) ) |
| 33 |
32
|
biimpa |
|- ( ( A e. RR* /\ 0 <_ A ) -> ( 0 < A \/ 0 = A ) ) |
| 34 |
33
|
adantr |
|- ( ( ( A e. RR* /\ 0 <_ A ) /\ ( B e. RR* /\ 0 <_ B ) ) -> ( 0 < A \/ 0 = A ) ) |
| 35 |
24 30 34
|
mpjaodan |
|- ( ( ( A e. RR* /\ 0 <_ A ) /\ ( B e. RR* /\ 0 <_ B ) ) -> 0 <_ ( A *e B ) ) |