| Step |
Hyp |
Ref |
Expression |
| 1 |
|
sn-remul0ord.a |
|- ( ph -> A e. RR ) |
| 2 |
|
sn-remul0ord.b |
|- ( ph -> B e. RR ) |
| 3 |
|
remul02 |
|- ( B e. RR -> ( 0 x. B ) = 0 ) |
| 4 |
2 3
|
syl |
|- ( ph -> ( 0 x. B ) = 0 ) |
| 5 |
4
|
adantr |
|- ( ( ph /\ B =/= 0 ) -> ( 0 x. B ) = 0 ) |
| 6 |
5
|
eqeq2d |
|- ( ( ph /\ B =/= 0 ) -> ( ( A x. B ) = ( 0 x. B ) <-> ( A x. B ) = 0 ) ) |
| 7 |
1
|
adantr |
|- ( ( ph /\ B =/= 0 ) -> A e. RR ) |
| 8 |
|
0red |
|- ( ( ph /\ B =/= 0 ) -> 0 e. RR ) |
| 9 |
2
|
adantr |
|- ( ( ph /\ B =/= 0 ) -> B e. RR ) |
| 10 |
|
simpr |
|- ( ( ph /\ B =/= 0 ) -> B =/= 0 ) |
| 11 |
7 8 9 10
|
remulcan2d |
|- ( ( ph /\ B =/= 0 ) -> ( ( A x. B ) = ( 0 x. B ) <-> A = 0 ) ) |
| 12 |
6 11
|
bitr3d |
|- ( ( ph /\ B =/= 0 ) -> ( ( A x. B ) = 0 <-> A = 0 ) ) |
| 13 |
12
|
biimpd |
|- ( ( ph /\ B =/= 0 ) -> ( ( A x. B ) = 0 -> A = 0 ) ) |
| 14 |
13
|
impancom |
|- ( ( ph /\ ( A x. B ) = 0 ) -> ( B =/= 0 -> A = 0 ) ) |
| 15 |
14
|
necon1bd |
|- ( ( ph /\ ( A x. B ) = 0 ) -> ( -. A = 0 -> B = 0 ) ) |
| 16 |
15
|
orrd |
|- ( ( ph /\ ( A x. B ) = 0 ) -> ( A = 0 \/ B = 0 ) ) |
| 17 |
16
|
ex |
|- ( ph -> ( ( A x. B ) = 0 -> ( A = 0 \/ B = 0 ) ) ) |
| 18 |
|
oveq1 |
|- ( A = 0 -> ( A x. B ) = ( 0 x. B ) ) |
| 19 |
18
|
eqeq1d |
|- ( A = 0 -> ( ( A x. B ) = 0 <-> ( 0 x. B ) = 0 ) ) |
| 20 |
4 19
|
syl5ibrcom |
|- ( ph -> ( A = 0 -> ( A x. B ) = 0 ) ) |
| 21 |
|
remul01 |
|- ( A e. RR -> ( A x. 0 ) = 0 ) |
| 22 |
1 21
|
syl |
|- ( ph -> ( A x. 0 ) = 0 ) |
| 23 |
|
oveq2 |
|- ( B = 0 -> ( A x. B ) = ( A x. 0 ) ) |
| 24 |
23
|
eqeq1d |
|- ( B = 0 -> ( ( A x. B ) = 0 <-> ( A x. 0 ) = 0 ) ) |
| 25 |
22 24
|
syl5ibrcom |
|- ( ph -> ( B = 0 -> ( A x. B ) = 0 ) ) |
| 26 |
20 25
|
jaod |
|- ( ph -> ( ( A = 0 \/ B = 0 ) -> ( A x. B ) = 0 ) ) |
| 27 |
17 26
|
impbid |
|- ( ph -> ( ( A x. B ) = 0 <-> ( A = 0 \/ B = 0 ) ) ) |