Metamath Proof Explorer


Theorem unitmulcl

Description: The product of units is a unit. (Contributed by Mario Carneiro, 2-Dec-2014)

Ref Expression
Hypotheses unitmulcl.1 𝑈 = ( Unit ‘ 𝑅 )
unitmulcl.2 · = ( .r𝑅 )
Assertion unitmulcl ( ( 𝑅 ∈ Ring ∧ 𝑋𝑈𝑌𝑈 ) → ( 𝑋 · 𝑌 ) ∈ 𝑈 )

Proof

Step Hyp Ref Expression
1 unitmulcl.1 𝑈 = ( Unit ‘ 𝑅 )
2 unitmulcl.2 · = ( .r𝑅 )
3 simp1 ( ( 𝑅 ∈ Ring ∧ 𝑋𝑈𝑌𝑈 ) → 𝑅 ∈ Ring )
4 simp3 ( ( 𝑅 ∈ Ring ∧ 𝑋𝑈𝑌𝑈 ) → 𝑌𝑈 )
5 eqid ( Base ‘ 𝑅 ) = ( Base ‘ 𝑅 )
6 5 1 unitcl ( 𝑌𝑈𝑌 ∈ ( Base ‘ 𝑅 ) )
7 4 6 syl ( ( 𝑅 ∈ Ring ∧ 𝑋𝑈𝑌𝑈 ) → 𝑌 ∈ ( Base ‘ 𝑅 ) )
8 simp2 ( ( 𝑅 ∈ Ring ∧ 𝑋𝑈𝑌𝑈 ) → 𝑋𝑈 )
9 eqid ( 1r𝑅 ) = ( 1r𝑅 )
10 eqid ( ∥r𝑅 ) = ( ∥r𝑅 )
11 eqid ( oppr𝑅 ) = ( oppr𝑅 )
12 eqid ( ∥r ‘ ( oppr𝑅 ) ) = ( ∥r ‘ ( oppr𝑅 ) )
13 1 9 10 11 12 isunit ( 𝑋𝑈 ↔ ( 𝑋 ( ∥r𝑅 ) ( 1r𝑅 ) ∧ 𝑋 ( ∥r ‘ ( oppr𝑅 ) ) ( 1r𝑅 ) ) )
14 8 13 sylib ( ( 𝑅 ∈ Ring ∧ 𝑋𝑈𝑌𝑈 ) → ( 𝑋 ( ∥r𝑅 ) ( 1r𝑅 ) ∧ 𝑋 ( ∥r ‘ ( oppr𝑅 ) ) ( 1r𝑅 ) ) )
15 14 simpld ( ( 𝑅 ∈ Ring ∧ 𝑋𝑈𝑌𝑈 ) → 𝑋 ( ∥r𝑅 ) ( 1r𝑅 ) )
16 5 10 2 dvdsrmul1 ( ( 𝑅 ∈ Ring ∧ 𝑌 ∈ ( Base ‘ 𝑅 ) ∧ 𝑋 ( ∥r𝑅 ) ( 1r𝑅 ) ) → ( 𝑋 · 𝑌 ) ( ∥r𝑅 ) ( ( 1r𝑅 ) · 𝑌 ) )
17 3 7 15 16 syl3anc ( ( 𝑅 ∈ Ring ∧ 𝑋𝑈𝑌𝑈 ) → ( 𝑋 · 𝑌 ) ( ∥r𝑅 ) ( ( 1r𝑅 ) · 𝑌 ) )
18 5 2 9 ringlidm ( ( 𝑅 ∈ Ring ∧ 𝑌 ∈ ( Base ‘ 𝑅 ) ) → ( ( 1r𝑅 ) · 𝑌 ) = 𝑌 )
19 3 7 18 syl2anc ( ( 𝑅 ∈ Ring ∧ 𝑋𝑈𝑌𝑈 ) → ( ( 1r𝑅 ) · 𝑌 ) = 𝑌 )
20 17 19 breqtrd ( ( 𝑅 ∈ Ring ∧ 𝑋𝑈𝑌𝑈 ) → ( 𝑋 · 𝑌 ) ( ∥r𝑅 ) 𝑌 )
21 1 9 10 11 12 isunit ( 𝑌𝑈 ↔ ( 𝑌 ( ∥r𝑅 ) ( 1r𝑅 ) ∧ 𝑌 ( ∥r ‘ ( oppr𝑅 ) ) ( 1r𝑅 ) ) )
22 4 21 sylib ( ( 𝑅 ∈ Ring ∧ 𝑋𝑈𝑌𝑈 ) → ( 𝑌 ( ∥r𝑅 ) ( 1r𝑅 ) ∧ 𝑌 ( ∥r ‘ ( oppr𝑅 ) ) ( 1r𝑅 ) ) )
23 22 simpld ( ( 𝑅 ∈ Ring ∧ 𝑋𝑈𝑌𝑈 ) → 𝑌 ( ∥r𝑅 ) ( 1r𝑅 ) )
24 5 10 dvdsrtr ( ( 𝑅 ∈ Ring ∧ ( 𝑋 · 𝑌 ) ( ∥r𝑅 ) 𝑌𝑌 ( ∥r𝑅 ) ( 1r𝑅 ) ) → ( 𝑋 · 𝑌 ) ( ∥r𝑅 ) ( 1r𝑅 ) )
25 3 20 23 24 syl3anc ( ( 𝑅 ∈ Ring ∧ 𝑋𝑈𝑌𝑈 ) → ( 𝑋 · 𝑌 ) ( ∥r𝑅 ) ( 1r𝑅 ) )
26 11 opprring ( 𝑅 ∈ Ring → ( oppr𝑅 ) ∈ Ring )
27 3 26 syl ( ( 𝑅 ∈ Ring ∧ 𝑋𝑈𝑌𝑈 ) → ( oppr𝑅 ) ∈ Ring )
28 eqid ( .r ‘ ( oppr𝑅 ) ) = ( .r ‘ ( oppr𝑅 ) )
29 5 2 11 28 opprmul ( 𝑌 ( .r ‘ ( oppr𝑅 ) ) 𝑋 ) = ( 𝑋 · 𝑌 )
30 5 1 unitcl ( 𝑋𝑈𝑋 ∈ ( Base ‘ 𝑅 ) )
31 8 30 syl ( ( 𝑅 ∈ Ring ∧ 𝑋𝑈𝑌𝑈 ) → 𝑋 ∈ ( Base ‘ 𝑅 ) )
32 22 simprd ( ( 𝑅 ∈ Ring ∧ 𝑋𝑈𝑌𝑈 ) → 𝑌 ( ∥r ‘ ( oppr𝑅 ) ) ( 1r𝑅 ) )
33 11 5 opprbas ( Base ‘ 𝑅 ) = ( Base ‘ ( oppr𝑅 ) )
34 33 12 28 dvdsrmul1 ( ( ( oppr𝑅 ) ∈ Ring ∧ 𝑋 ∈ ( Base ‘ 𝑅 ) ∧ 𝑌 ( ∥r ‘ ( oppr𝑅 ) ) ( 1r𝑅 ) ) → ( 𝑌 ( .r ‘ ( oppr𝑅 ) ) 𝑋 ) ( ∥r ‘ ( oppr𝑅 ) ) ( ( 1r𝑅 ) ( .r ‘ ( oppr𝑅 ) ) 𝑋 ) )
35 27 31 32 34 syl3anc ( ( 𝑅 ∈ Ring ∧ 𝑋𝑈𝑌𝑈 ) → ( 𝑌 ( .r ‘ ( oppr𝑅 ) ) 𝑋 ) ( ∥r ‘ ( oppr𝑅 ) ) ( ( 1r𝑅 ) ( .r ‘ ( oppr𝑅 ) ) 𝑋 ) )
36 5 2 11 28 opprmul ( ( 1r𝑅 ) ( .r ‘ ( oppr𝑅 ) ) 𝑋 ) = ( 𝑋 · ( 1r𝑅 ) )
37 5 2 9 ringridm ( ( 𝑅 ∈ Ring ∧ 𝑋 ∈ ( Base ‘ 𝑅 ) ) → ( 𝑋 · ( 1r𝑅 ) ) = 𝑋 )
38 3 31 37 syl2anc ( ( 𝑅 ∈ Ring ∧ 𝑋𝑈𝑌𝑈 ) → ( 𝑋 · ( 1r𝑅 ) ) = 𝑋 )
39 36 38 syl5eq ( ( 𝑅 ∈ Ring ∧ 𝑋𝑈𝑌𝑈 ) → ( ( 1r𝑅 ) ( .r ‘ ( oppr𝑅 ) ) 𝑋 ) = 𝑋 )
40 35 39 breqtrd ( ( 𝑅 ∈ Ring ∧ 𝑋𝑈𝑌𝑈 ) → ( 𝑌 ( .r ‘ ( oppr𝑅 ) ) 𝑋 ) ( ∥r ‘ ( oppr𝑅 ) ) 𝑋 )
41 29 40 eqbrtrrid ( ( 𝑅 ∈ Ring ∧ 𝑋𝑈𝑌𝑈 ) → ( 𝑋 · 𝑌 ) ( ∥r ‘ ( oppr𝑅 ) ) 𝑋 )
42 14 simprd ( ( 𝑅 ∈ Ring ∧ 𝑋𝑈𝑌𝑈 ) → 𝑋 ( ∥r ‘ ( oppr𝑅 ) ) ( 1r𝑅 ) )
43 33 12 dvdsrtr ( ( ( oppr𝑅 ) ∈ Ring ∧ ( 𝑋 · 𝑌 ) ( ∥r ‘ ( oppr𝑅 ) ) 𝑋𝑋 ( ∥r ‘ ( oppr𝑅 ) ) ( 1r𝑅 ) ) → ( 𝑋 · 𝑌 ) ( ∥r ‘ ( oppr𝑅 ) ) ( 1r𝑅 ) )
44 27 41 42 43 syl3anc ( ( 𝑅 ∈ Ring ∧ 𝑋𝑈𝑌𝑈 ) → ( 𝑋 · 𝑌 ) ( ∥r ‘ ( oppr𝑅 ) ) ( 1r𝑅 ) )
45 1 9 10 11 12 isunit ( ( 𝑋 · 𝑌 ) ∈ 𝑈 ↔ ( ( 𝑋 · 𝑌 ) ( ∥r𝑅 ) ( 1r𝑅 ) ∧ ( 𝑋 · 𝑌 ) ( ∥r ‘ ( oppr𝑅 ) ) ( 1r𝑅 ) ) )
46 25 44 45 sylanbrc ( ( 𝑅 ∈ Ring ∧ 𝑋𝑈𝑌𝑈 ) → ( 𝑋 · 𝑌 ) ∈ 𝑈 )