Metamath Proof Explorer


Theorem mulsge0d

Description: The product of two non-negative surreals is non-negative. (Contributed by Scott Fenton, 6-Mar-2025)

Ref Expression
Hypotheses mulsge0d.1 ( 𝜑𝐴 No )
mulsge0d.2 ( 𝜑𝐵 No )
mulsge0d.3 ( 𝜑 → 0s ≤s 𝐴 )
mulsge0d.4 ( 𝜑 → 0s ≤s 𝐵 )
Assertion mulsge0d ( 𝜑 → 0s ≤s ( 𝐴 ·s 𝐵 ) )

Proof

Step Hyp Ref Expression
1 mulsge0d.1 ( 𝜑𝐴 No )
2 mulsge0d.2 ( 𝜑𝐵 No )
3 mulsge0d.3 ( 𝜑 → 0s ≤s 𝐴 )
4 mulsge0d.4 ( 𝜑 → 0s ≤s 𝐵 )
5 0sno 0s No
6 5 a1i ( ( ( 𝜑 ∧ 0s <s 𝐴 ) ∧ 0s <s 𝐵 ) → 0s No )
7 1 2 mulscld ( 𝜑 → ( 𝐴 ·s 𝐵 ) ∈ No )
8 7 ad2antrr ( ( ( 𝜑 ∧ 0s <s 𝐴 ) ∧ 0s <s 𝐵 ) → ( 𝐴 ·s 𝐵 ) ∈ No )
9 1 ad2antrr ( ( ( 𝜑 ∧ 0s <s 𝐴 ) ∧ 0s <s 𝐵 ) → 𝐴 No )
10 2 ad2antrr ( ( ( 𝜑 ∧ 0s <s 𝐴 ) ∧ 0s <s 𝐵 ) → 𝐵 No )
11 simplr ( ( ( 𝜑 ∧ 0s <s 𝐴 ) ∧ 0s <s 𝐵 ) → 0s <s 𝐴 )
12 simpr ( ( ( 𝜑 ∧ 0s <s 𝐴 ) ∧ 0s <s 𝐵 ) → 0s <s 𝐵 )
13 9 10 11 12 mulsgt0d ( ( ( 𝜑 ∧ 0s <s 𝐴 ) ∧ 0s <s 𝐵 ) → 0s <s ( 𝐴 ·s 𝐵 ) )
14 6 8 13 sltled ( ( ( 𝜑 ∧ 0s <s 𝐴 ) ∧ 0s <s 𝐵 ) → 0s ≤s ( 𝐴 ·s 𝐵 ) )
15 slerflex ( 0s No → 0s ≤s 0s )
16 5 15 ax-mp 0s ≤s 0s
17 oveq2 ( 0s = 𝐵 → ( 𝐴 ·s 0s ) = ( 𝐴 ·s 𝐵 ) )
18 17 adantl ( ( 𝜑 ∧ 0s = 𝐵 ) → ( 𝐴 ·s 0s ) = ( 𝐴 ·s 𝐵 ) )
19 muls01 ( 𝐴 No → ( 𝐴 ·s 0s ) = 0s )
20 1 19 syl ( 𝜑 → ( 𝐴 ·s 0s ) = 0s )
21 20 adantr ( ( 𝜑 ∧ 0s = 𝐵 ) → ( 𝐴 ·s 0s ) = 0s )
22 18 21 eqtr3d ( ( 𝜑 ∧ 0s = 𝐵 ) → ( 𝐴 ·s 𝐵 ) = 0s )
23 16 22 breqtrrid ( ( 𝜑 ∧ 0s = 𝐵 ) → 0s ≤s ( 𝐴 ·s 𝐵 ) )
24 23 adantlr ( ( ( 𝜑 ∧ 0s <s 𝐴 ) ∧ 0s = 𝐵 ) → 0s ≤s ( 𝐴 ·s 𝐵 ) )
25 sleloe ( ( 0s No 𝐵 No ) → ( 0s ≤s 𝐵 ↔ ( 0s <s 𝐵 ∨ 0s = 𝐵 ) ) )
26 5 2 25 sylancr ( 𝜑 → ( 0s ≤s 𝐵 ↔ ( 0s <s 𝐵 ∨ 0s = 𝐵 ) ) )
27 4 26 mpbid ( 𝜑 → ( 0s <s 𝐵 ∨ 0s = 𝐵 ) )
28 27 adantr ( ( 𝜑 ∧ 0s <s 𝐴 ) → ( 0s <s 𝐵 ∨ 0s = 𝐵 ) )
29 14 24 28 mpjaodan ( ( 𝜑 ∧ 0s <s 𝐴 ) → 0s ≤s ( 𝐴 ·s 𝐵 ) )
30 oveq1 ( 0s = 𝐴 → ( 0s ·s 𝐵 ) = ( 𝐴 ·s 𝐵 ) )
31 30 adantl ( ( 𝜑 ∧ 0s = 𝐴 ) → ( 0s ·s 𝐵 ) = ( 𝐴 ·s 𝐵 ) )
32 muls02 ( 𝐵 No → ( 0s ·s 𝐵 ) = 0s )
33 2 32 syl ( 𝜑 → ( 0s ·s 𝐵 ) = 0s )
34 33 adantr ( ( 𝜑 ∧ 0s = 𝐴 ) → ( 0s ·s 𝐵 ) = 0s )
35 31 34 eqtr3d ( ( 𝜑 ∧ 0s = 𝐴 ) → ( 𝐴 ·s 𝐵 ) = 0s )
36 16 35 breqtrrid ( ( 𝜑 ∧ 0s = 𝐴 ) → 0s ≤s ( 𝐴 ·s 𝐵 ) )
37 sleloe ( ( 0s No 𝐴 No ) → ( 0s ≤s 𝐴 ↔ ( 0s <s 𝐴 ∨ 0s = 𝐴 ) ) )
38 5 1 37 sylancr ( 𝜑 → ( 0s ≤s 𝐴 ↔ ( 0s <s 𝐴 ∨ 0s = 𝐴 ) ) )
39 3 38 mpbid ( 𝜑 → ( 0s <s 𝐴 ∨ 0s = 𝐴 ) )
40 29 36 39 mpjaodan ( 𝜑 → 0s ≤s ( 𝐴 ·s 𝐵 ) )