Metamath Proof Explorer


Theorem mulgt0b2d

Description: Biconditional, deductive form of mulgt0 . The first factor is positive iff the product is. (Contributed by SN, 24-Nov-2025)

Ref Expression
Hypotheses mulgt0b2d.a φ A
mulgt0b2d.b φ B
mulgt0b2d.1 φ 0 < B
Assertion mulgt0b2d φ 0 < A 0 < A B

Proof

Step Hyp Ref Expression
1 mulgt0b2d.a φ A
2 mulgt0b2d.b φ B
3 mulgt0b2d.1 φ 0 < B
4 1 adantr φ 0 < A A
5 2 adantr φ 0 < A B
6 simpr φ 0 < A 0 < A
7 3 adantr φ 0 < A 0 < B
8 4 5 6 7 mulgt0d φ 0 < A 0 < A B
9 1 2 remulcld φ A B
10 9 adantr φ 0 < A B A B
11 2 adantr φ 0 < A B B
12 simpr φ 0 < A B 0 < A B
13 12 gt0ne0d φ 0 < A B A B 0
14 oveq2 B = 0 A B = A 0
15 1 adantr φ 0 < A B A
16 remul01 A A 0 = 0
17 15 16 syl φ 0 < A B A 0 = 0
18 14 17 sylan9eqr φ 0 < A B B = 0 A B = 0
19 13 18 mteqand φ 0 < A B B 0
20 11 19 sn-rereccld Could not format ( ( ph /\ 0 < ( A x. B ) ) -> ( 1 /R B ) e. RR ) : No typesetting found for |- ( ( ph /\ 0 < ( A x. B ) ) -> ( 1 /R B ) e. RR ) with typecode |-
21 2 3 sn-recgt0d Could not format ( ph -> 0 < ( 1 /R B ) ) : No typesetting found for |- ( ph -> 0 < ( 1 /R B ) ) with typecode |-
22 21 adantr Could not format ( ( ph /\ 0 < ( A x. B ) ) -> 0 < ( 1 /R B ) ) : No typesetting found for |- ( ( ph /\ 0 < ( A x. B ) ) -> 0 < ( 1 /R B ) ) with typecode |-
23 10 20 12 22 mulgt0d Could not format ( ( ph /\ 0 < ( A x. B ) ) -> 0 < ( ( A x. B ) x. ( 1 /R B ) ) ) : No typesetting found for |- ( ( ph /\ 0 < ( A x. B ) ) -> 0 < ( ( A x. B ) x. ( 1 /R B ) ) ) with typecode |-
24 15 recnd φ 0 < A B A
25 11 recnd φ 0 < A B B
26 20 recnd Could not format ( ( ph /\ 0 < ( A x. B ) ) -> ( 1 /R B ) e. CC ) : No typesetting found for |- ( ( ph /\ 0 < ( A x. B ) ) -> ( 1 /R B ) e. CC ) with typecode |-
27 24 25 26 mulassd Could not format ( ( ph /\ 0 < ( A x. B ) ) -> ( ( A x. B ) x. ( 1 /R B ) ) = ( A x. ( B x. ( 1 /R B ) ) ) ) : No typesetting found for |- ( ( ph /\ 0 < ( A x. B ) ) -> ( ( A x. B ) x. ( 1 /R B ) ) = ( A x. ( B x. ( 1 /R B ) ) ) ) with typecode |-
28 3 gt0ne0d φ B 0
29 2 28 rerecid Could not format ( ph -> ( B x. ( 1 /R B ) ) = 1 ) : No typesetting found for |- ( ph -> ( B x. ( 1 /R B ) ) = 1 ) with typecode |-
30 29 oveq2d Could not format ( ph -> ( A x. ( B x. ( 1 /R B ) ) ) = ( A x. 1 ) ) : No typesetting found for |- ( ph -> ( A x. ( B x. ( 1 /R B ) ) ) = ( A x. 1 ) ) with typecode |-
31 30 adantr Could not format ( ( ph /\ 0 < ( A x. B ) ) -> ( A x. ( B x. ( 1 /R B ) ) ) = ( A x. 1 ) ) : No typesetting found for |- ( ( ph /\ 0 < ( A x. B ) ) -> ( A x. ( B x. ( 1 /R B ) ) ) = ( A x. 1 ) ) with typecode |-
32 ax-1rid A A 1 = A
33 15 32 syl φ 0 < A B A 1 = A
34 27 31 33 3eqtrd Could not format ( ( ph /\ 0 < ( A x. B ) ) -> ( ( A x. B ) x. ( 1 /R B ) ) = A ) : No typesetting found for |- ( ( ph /\ 0 < ( A x. B ) ) -> ( ( A x. B ) x. ( 1 /R B ) ) = A ) with typecode |-
35 23 34 breqtrd φ 0 < A B 0 < A
36 8 35 impbida φ 0 < A 0 < A B