Metamath Proof Explorer


Theorem muls0ord

Description: If a surreal product is zero, one of its factors must be zero. (Contributed by Scott Fenton, 16-Apr-2025)

Ref Expression
Hypotheses muls0ord.1 ( 𝜑𝐴 No )
muls0ord.2 ( 𝜑𝐵 No )
Assertion muls0ord ( 𝜑 → ( ( 𝐴 ·s 𝐵 ) = 0s ↔ ( 𝐴 = 0s𝐵 = 0s ) ) )

Proof

Step Hyp Ref Expression
1 muls0ord.1 ( 𝜑𝐴 No )
2 muls0ord.2 ( 𝜑𝐵 No )
3 muls02 ( 𝐵 No → ( 0s ·s 𝐵 ) = 0s )
4 2 3 syl ( 𝜑 → ( 0s ·s 𝐵 ) = 0s )
5 4 adantr ( ( 𝜑𝐵 ≠ 0s ) → ( 0s ·s 𝐵 ) = 0s )
6 5 eqeq2d ( ( 𝜑𝐵 ≠ 0s ) → ( ( 𝐴 ·s 𝐵 ) = ( 0s ·s 𝐵 ) ↔ ( 𝐴 ·s 𝐵 ) = 0s ) )
7 1 adantr ( ( 𝜑𝐵 ≠ 0s ) → 𝐴 No )
8 0sno 0s No
9 8 a1i ( ( 𝜑𝐵 ≠ 0s ) → 0s No )
10 2 adantr ( ( 𝜑𝐵 ≠ 0s ) → 𝐵 No )
11 simpr ( ( 𝜑𝐵 ≠ 0s ) → 𝐵 ≠ 0s )
12 7 9 10 11 mulscan2d ( ( 𝜑𝐵 ≠ 0s ) → ( ( 𝐴 ·s 𝐵 ) = ( 0s ·s 𝐵 ) ↔ 𝐴 = 0s ) )
13 6 12 bitr3d ( ( 𝜑𝐵 ≠ 0s ) → ( ( 𝐴 ·s 𝐵 ) = 0s𝐴 = 0s ) )
14 13 biimpd ( ( 𝜑𝐵 ≠ 0s ) → ( ( 𝐴 ·s 𝐵 ) = 0s𝐴 = 0s ) )
15 14 impancom ( ( 𝜑 ∧ ( 𝐴 ·s 𝐵 ) = 0s ) → ( 𝐵 ≠ 0s𝐴 = 0s ) )
16 15 necon1bd ( ( 𝜑 ∧ ( 𝐴 ·s 𝐵 ) = 0s ) → ( ¬ 𝐴 = 0s𝐵 = 0s ) )
17 16 orrd ( ( 𝜑 ∧ ( 𝐴 ·s 𝐵 ) = 0s ) → ( 𝐴 = 0s𝐵 = 0s ) )
18 17 ex ( 𝜑 → ( ( 𝐴 ·s 𝐵 ) = 0s → ( 𝐴 = 0s𝐵 = 0s ) ) )
19 oveq1 ( 𝐴 = 0s → ( 𝐴 ·s 𝐵 ) = ( 0s ·s 𝐵 ) )
20 19 eqeq1d ( 𝐴 = 0s → ( ( 𝐴 ·s 𝐵 ) = 0s ↔ ( 0s ·s 𝐵 ) = 0s ) )
21 4 20 syl5ibrcom ( 𝜑 → ( 𝐴 = 0s → ( 𝐴 ·s 𝐵 ) = 0s ) )
22 muls01 ( 𝐴 No → ( 𝐴 ·s 0s ) = 0s )
23 1 22 syl ( 𝜑 → ( 𝐴 ·s 0s ) = 0s )
24 oveq2 ( 𝐵 = 0s → ( 𝐴 ·s 𝐵 ) = ( 𝐴 ·s 0s ) )
25 24 eqeq1d ( 𝐵 = 0s → ( ( 𝐴 ·s 𝐵 ) = 0s ↔ ( 𝐴 ·s 0s ) = 0s ) )
26 23 25 syl5ibrcom ( 𝜑 → ( 𝐵 = 0s → ( 𝐴 ·s 𝐵 ) = 0s ) )
27 21 26 jaod ( 𝜑 → ( ( 𝐴 = 0s𝐵 = 0s ) → ( 𝐴 ·s 𝐵 ) = 0s ) )
28 18 27 impbid ( 𝜑 → ( ( 𝐴 ·s 𝐵 ) = 0s ↔ ( 𝐴 = 0s𝐵 = 0s ) ) )