Metamath Proof Explorer


Theorem ringinvnzdiv

Description: In a unitary ring, a left invertible element is not a zero divisor. (Contributed by FL, 18-Apr-2010) (Revised by Jeff Madsen, 18-Apr-2010) (Revised by AV, 24-Aug-2021)

Ref Expression
Hypotheses ringinvnzdiv.b 𝐵 = ( Base ‘ 𝑅 )
ringinvnzdiv.t · = ( .r𝑅 )
ringinvnzdiv.u 1 = ( 1r𝑅 )
ringinvnzdiv.z 0 = ( 0g𝑅 )
ringinvnzdiv.r ( 𝜑𝑅 ∈ Ring )
ringinvnzdiv.x ( 𝜑𝑋𝐵 )
ringinvnzdiv.a ( 𝜑 → ∃ 𝑎𝐵 ( 𝑎 · 𝑋 ) = 1 )
ringinvnzdiv.y ( 𝜑𝑌𝐵 )
Assertion ringinvnzdiv ( 𝜑 → ( ( 𝑋 · 𝑌 ) = 0𝑌 = 0 ) )

Proof

Step Hyp Ref Expression
1 ringinvnzdiv.b 𝐵 = ( Base ‘ 𝑅 )
2 ringinvnzdiv.t · = ( .r𝑅 )
3 ringinvnzdiv.u 1 = ( 1r𝑅 )
4 ringinvnzdiv.z 0 = ( 0g𝑅 )
5 ringinvnzdiv.r ( 𝜑𝑅 ∈ Ring )
6 ringinvnzdiv.x ( 𝜑𝑋𝐵 )
7 ringinvnzdiv.a ( 𝜑 → ∃ 𝑎𝐵 ( 𝑎 · 𝑋 ) = 1 )
8 ringinvnzdiv.y ( 𝜑𝑌𝐵 )
9 1 2 3 ringlidm ( ( 𝑅 ∈ Ring ∧ 𝑌𝐵 ) → ( 1 · 𝑌 ) = 𝑌 )
10 5 8 9 syl2anc ( 𝜑 → ( 1 · 𝑌 ) = 𝑌 )
11 10 eqcomd ( 𝜑𝑌 = ( 1 · 𝑌 ) )
12 11 ad3antrrr ( ( ( ( 𝜑𝑎𝐵 ) ∧ ( 𝑎 · 𝑋 ) = 1 ) ∧ ( 𝑋 · 𝑌 ) = 0 ) → 𝑌 = ( 1 · 𝑌 ) )
13 oveq1 ( 1 = ( 𝑎 · 𝑋 ) → ( 1 · 𝑌 ) = ( ( 𝑎 · 𝑋 ) · 𝑌 ) )
14 13 eqcoms ( ( 𝑎 · 𝑋 ) = 1 → ( 1 · 𝑌 ) = ( ( 𝑎 · 𝑋 ) · 𝑌 ) )
15 14 adantl ( ( ( 𝜑𝑎𝐵 ) ∧ ( 𝑎 · 𝑋 ) = 1 ) → ( 1 · 𝑌 ) = ( ( 𝑎 · 𝑋 ) · 𝑌 ) )
16 5 adantr ( ( 𝜑𝑎𝐵 ) → 𝑅 ∈ Ring )
17 simpr ( ( 𝜑𝑎𝐵 ) → 𝑎𝐵 )
18 6 adantr ( ( 𝜑𝑎𝐵 ) → 𝑋𝐵 )
19 8 adantr ( ( 𝜑𝑎𝐵 ) → 𝑌𝐵 )
20 17 18 19 3jca ( ( 𝜑𝑎𝐵 ) → ( 𝑎𝐵𝑋𝐵𝑌𝐵 ) )
21 16 20 jca ( ( 𝜑𝑎𝐵 ) → ( 𝑅 ∈ Ring ∧ ( 𝑎𝐵𝑋𝐵𝑌𝐵 ) ) )
22 21 adantr ( ( ( 𝜑𝑎𝐵 ) ∧ ( 𝑎 · 𝑋 ) = 1 ) → ( 𝑅 ∈ Ring ∧ ( 𝑎𝐵𝑋𝐵𝑌𝐵 ) ) )
23 1 2 ringass ( ( 𝑅 ∈ Ring ∧ ( 𝑎𝐵𝑋𝐵𝑌𝐵 ) ) → ( ( 𝑎 · 𝑋 ) · 𝑌 ) = ( 𝑎 · ( 𝑋 · 𝑌 ) ) )
24 22 23 syl ( ( ( 𝜑𝑎𝐵 ) ∧ ( 𝑎 · 𝑋 ) = 1 ) → ( ( 𝑎 · 𝑋 ) · 𝑌 ) = ( 𝑎 · ( 𝑋 · 𝑌 ) ) )
25 15 24 eqtrd ( ( ( 𝜑𝑎𝐵 ) ∧ ( 𝑎 · 𝑋 ) = 1 ) → ( 1 · 𝑌 ) = ( 𝑎 · ( 𝑋 · 𝑌 ) ) )
26 25 adantr ( ( ( ( 𝜑𝑎𝐵 ) ∧ ( 𝑎 · 𝑋 ) = 1 ) ∧ ( 𝑋 · 𝑌 ) = 0 ) → ( 1 · 𝑌 ) = ( 𝑎 · ( 𝑋 · 𝑌 ) ) )
27 oveq2 ( ( 𝑋 · 𝑌 ) = 0 → ( 𝑎 · ( 𝑋 · 𝑌 ) ) = ( 𝑎 · 0 ) )
28 1 2 4 ringrz ( ( 𝑅 ∈ Ring ∧ 𝑎𝐵 ) → ( 𝑎 · 0 ) = 0 )
29 5 28 sylan ( ( 𝜑𝑎𝐵 ) → ( 𝑎 · 0 ) = 0 )
30 29 adantr ( ( ( 𝜑𝑎𝐵 ) ∧ ( 𝑎 · 𝑋 ) = 1 ) → ( 𝑎 · 0 ) = 0 )
31 27 30 sylan9eqr ( ( ( ( 𝜑𝑎𝐵 ) ∧ ( 𝑎 · 𝑋 ) = 1 ) ∧ ( 𝑋 · 𝑌 ) = 0 ) → ( 𝑎 · ( 𝑋 · 𝑌 ) ) = 0 )
32 12 26 31 3eqtrd ( ( ( ( 𝜑𝑎𝐵 ) ∧ ( 𝑎 · 𝑋 ) = 1 ) ∧ ( 𝑋 · 𝑌 ) = 0 ) → 𝑌 = 0 )
33 32 exp31 ( ( 𝜑𝑎𝐵 ) → ( ( 𝑎 · 𝑋 ) = 1 → ( ( 𝑋 · 𝑌 ) = 0𝑌 = 0 ) ) )
34 33 rexlimdva ( 𝜑 → ( ∃ 𝑎𝐵 ( 𝑎 · 𝑋 ) = 1 → ( ( 𝑋 · 𝑌 ) = 0𝑌 = 0 ) ) )
35 7 34 mpd ( 𝜑 → ( ( 𝑋 · 𝑌 ) = 0𝑌 = 0 ) )
36 oveq2 ( 𝑌 = 0 → ( 𝑋 · 𝑌 ) = ( 𝑋 · 0 ) )
37 1 2 4 ringrz ( ( 𝑅 ∈ Ring ∧ 𝑋𝐵 ) → ( 𝑋 · 0 ) = 0 )
38 5 6 37 syl2anc ( 𝜑 → ( 𝑋 · 0 ) = 0 )
39 36 38 sylan9eqr ( ( 𝜑𝑌 = 0 ) → ( 𝑋 · 𝑌 ) = 0 )
40 39 ex ( 𝜑 → ( 𝑌 = 0 → ( 𝑋 · 𝑌 ) = 0 ) )
41 35 40 impbid ( 𝜑 → ( ( 𝑋 · 𝑌 ) = 0𝑌 = 0 ) )