Metamath Proof Explorer


Theorem prodgt0

Description: Infer that a multiplicand is positive from a nonnegative multiplier and positive product. (Contributed by NM, 24-Apr-2005) (Revised by Mario Carneiro, 27-May-2016)

Ref Expression
Assertion prodgt0 ( ( ( 𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ ) ∧ ( 0 ≤ 𝐴 ∧ 0 < ( 𝐴 · 𝐵 ) ) ) → 0 < 𝐵 )

Proof

Step Hyp Ref Expression
1 0red ⊢ ( ( 𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ ) → 0 ∈ ℝ )
2 simpl ⊢ ( ( 𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ ) → 𝐴 ∈ ℝ )
3 1 2 leloed ⊢ ( ( 𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ ) → ( 0 ≤ 𝐴 ↔ ( 0 < 𝐴 ∨ 0 = 𝐴 ) ) )
4 simpll ⊢ ( ( ( 𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ ) ∧ ( 0 < 𝐴 ∧ 0 < ( 𝐴 · 𝐵 ) ) ) → 𝐴 ∈ ℝ )
5 simplr ⊢ ( ( ( 𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ ) ∧ ( 0 < 𝐴 ∧ 0 < ( 𝐴 · 𝐵 ) ) ) → 𝐵 ∈ ℝ )
6 4 5 remulcld ⊢ ( ( ( 𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ ) ∧ ( 0 < 𝐴 ∧ 0 < ( 𝐴 · 𝐵 ) ) ) → ( 𝐴 · 𝐵 ) ∈ ℝ )
7 simprl ⊢ ( ( ( 𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ ) ∧ ( 0 < 𝐴 ∧ 0 < ( 𝐴 · 𝐵 ) ) ) → 0 < 𝐴 )
8 7 gt0ne0d ⊢ ( ( ( 𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ ) ∧ ( 0 < 𝐴 ∧ 0 < ( 𝐴 · 𝐵 ) ) ) → 𝐴 ≠ 0 )
9 4 8 rereccld ⊢ ( ( ( 𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ ) ∧ ( 0 < 𝐴 ∧ 0 < ( 𝐴 · 𝐵 ) ) ) → ( 1 / 𝐴 ) ∈ ℝ )
10 simprr ⊢ ( ( ( 𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ ) ∧ ( 0 < 𝐴 ∧ 0 < ( 𝐴 · 𝐵 ) ) ) → 0 < ( 𝐴 · 𝐵 ) )
11 recgt0 ⊢ ( ( 𝐴 ∈ ℝ ∧ 0 < 𝐴 ) → 0 < ( 1 / 𝐴 ) )
12 11 ad2ant2r ⊢ ( ( ( 𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ ) ∧ ( 0 < 𝐴 ∧ 0 < ( 𝐴 · 𝐵 ) ) ) → 0 < ( 1 / 𝐴 ) )
13 6 9 10 12 mulgt0d ⊢ ( ( ( 𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ ) ∧ ( 0 < 𝐴 ∧ 0 < ( 𝐴 · 𝐵 ) ) ) → 0 < ( ( 𝐴 · 𝐵 ) · ( 1 / 𝐴 ) ) )
14 6 recnd ⊢ ( ( ( 𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ ) ∧ ( 0 < 𝐴 ∧ 0 < ( 𝐴 · 𝐵 ) ) ) → ( 𝐴 · 𝐵 ) ∈ ℂ )
15 4 recnd ⊢ ( ( ( 𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ ) ∧ ( 0 < 𝐴 ∧ 0 < ( 𝐴 · 𝐵 ) ) ) → 𝐴 ∈ ℂ )
16 14 15 8 divrecd ⊢ ( ( ( 𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ ) ∧ ( 0 < 𝐴 ∧ 0 < ( 𝐴 · 𝐵 ) ) ) → ( ( 𝐴 · 𝐵 ) / 𝐴 ) = ( ( 𝐴 · 𝐵 ) · ( 1 / 𝐴 ) ) )
17 simpr ⊢ ( ( 𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ ) → 𝐵 ∈ ℝ )
18 17 recnd ⊢ ( ( 𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ ) → 𝐵 ∈ ℂ )
19 18 adantr ⊢ ( ( ( 𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ ) ∧ ( 0 < 𝐴 ∧ 0 < ( 𝐴 · 𝐵 ) ) ) → 𝐵 ∈ ℂ )
20 19 15 8 divcan3d ⊢ ( ( ( 𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ ) ∧ ( 0 < 𝐴 ∧ 0 < ( 𝐴 · 𝐵 ) ) ) → ( ( 𝐴 · 𝐵 ) / 𝐴 ) = 𝐵 )
21 16 20 eqtr3d ⊢ ( ( ( 𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ ) ∧ ( 0 < 𝐴 ∧ 0 < ( 𝐴 · 𝐵 ) ) ) → ( ( 𝐴 · 𝐵 ) · ( 1 / 𝐴 ) ) = 𝐵 )
22 13 21 breqtrd ⊢ ( ( ( 𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ ) ∧ ( 0 < 𝐴 ∧ 0 < ( 𝐴 · 𝐵 ) ) ) → 0 < 𝐵 )
23 22 exp32 ⊢ ( ( 𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ ) → ( 0 < 𝐴 → ( 0 < ( 𝐴 · 𝐵 ) → 0 < 𝐵 ) ) )
24 0re ⊢ 0 ∈ ℝ
25 24 ltnri ⊢ ¬ 0 < 0
26 18 mul02d ⊢ ( ( 𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ ) → ( 0 · 𝐵 ) = 0 )
27 26 breq2d ⊢ ( ( 𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ ) → ( 0 < ( 0 · 𝐵 ) ↔ 0 < 0 ) )
28 25 27 mtbiri ⊢ ( ( 𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ ) → ¬ 0 < ( 0 · 𝐵 ) )
29 28 pm2.21d ⊢ ( ( 𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ ) → ( 0 < ( 0 · 𝐵 ) → 0 < 𝐵 ) )
30 oveq1 ⊢ ( 0 = 𝐴 → ( 0 · 𝐵 ) = ( 𝐴 · 𝐵 ) )
31 30 breq2d ⊢ ( 0 = 𝐴 → ( 0 < ( 0 · 𝐵 ) ↔ 0 < ( 𝐴 · 𝐵 ) ) )
32 31 imbi1d ⊢ ( 0 = 𝐴 → ( ( 0 < ( 0 · 𝐵 ) → 0 < 𝐵 ) ↔ ( 0 < ( 𝐴 · 𝐵 ) → 0 < 𝐵 ) ) )
33 29 32 syl5ibcom ⊢ ( ( 𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ ) → ( 0 = 𝐴 → ( 0 < ( 𝐴 · 𝐵 ) → 0 < 𝐵 ) ) )
34 23 33 jaod ⊢ ( ( 𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ ) → ( ( 0 < 𝐴 ∨ 0 = 𝐴 ) → ( 0 < ( 𝐴 · 𝐵 ) → 0 < 𝐵 ) ) )
35 3 34 sylbid ⊢ ( ( 𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ ) → ( 0 ≤ 𝐴 → ( 0 < ( 𝐴 · 𝐵 ) → 0 < 𝐵 ) ) )
36 35 imp32 ⊢ ( ( ( 𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ ) ∧ ( 0 ≤ 𝐴 ∧ 0 < ( 𝐴 · 𝐵 ) ) ) → 0 < 𝐵 )