Metamath Proof Explorer


Theorem ply1divalg2

Description: Reverse the order of multiplication in ply1divalg via the opposite ring. (Contributed by Stefan O'Rear, 28-Mar-2015)

Ref Expression
Hypotheses ply1divalg.p 𝑃 = ( Poly1𝑅 )
ply1divalg.d 𝐷 = ( deg1𝑅 )
ply1divalg.b 𝐵 = ( Base ‘ 𝑃 )
ply1divalg.m = ( -g𝑃 )
ply1divalg.z 0 = ( 0g𝑃 )
ply1divalg.t = ( .r𝑃 )
ply1divalg.r1 ( 𝜑𝑅 ∈ Ring )
ply1divalg.f ( 𝜑𝐹𝐵 )
ply1divalg.g1 ( 𝜑𝐺𝐵 )
ply1divalg.g2 ( 𝜑𝐺0 )
ply1divalg.g3 ( 𝜑 → ( ( coe1𝐺 ) ‘ ( 𝐷𝐺 ) ) ∈ 𝑈 )
ply1divalg.u 𝑈 = ( Unit ‘ 𝑅 )
Assertion ply1divalg2 ( 𝜑 → ∃! 𝑞𝐵 ( 𝐷 ‘ ( 𝐹 ( 𝑞 𝐺 ) ) ) < ( 𝐷𝐺 ) )

Proof

Step Hyp Ref Expression
1 ply1divalg.p 𝑃 = ( Poly1𝑅 )
2 ply1divalg.d 𝐷 = ( deg1𝑅 )
3 ply1divalg.b 𝐵 = ( Base ‘ 𝑃 )
4 ply1divalg.m = ( -g𝑃 )
5 ply1divalg.z 0 = ( 0g𝑃 )
6 ply1divalg.t = ( .r𝑃 )
7 ply1divalg.r1 ( 𝜑𝑅 ∈ Ring )
8 ply1divalg.f ( 𝜑𝐹𝐵 )
9 ply1divalg.g1 ( 𝜑𝐺𝐵 )
10 ply1divalg.g2 ( 𝜑𝐺0 )
11 ply1divalg.g3 ( 𝜑 → ( ( coe1𝐺 ) ‘ ( 𝐷𝐺 ) ) ∈ 𝑈 )
12 ply1divalg.u 𝑈 = ( Unit ‘ 𝑅 )
13 eqid ( Poly1 ‘ ( oppr𝑅 ) ) = ( Poly1 ‘ ( oppr𝑅 ) )
14 eqidd ( ⊤ → ( Base ‘ 𝑅 ) = ( Base ‘ 𝑅 ) )
15 eqid ( oppr𝑅 ) = ( oppr𝑅 )
16 eqid ( Base ‘ 𝑅 ) = ( Base ‘ 𝑅 )
17 15 16 opprbas ( Base ‘ 𝑅 ) = ( Base ‘ ( oppr𝑅 ) )
18 17 a1i ( ⊤ → ( Base ‘ 𝑅 ) = ( Base ‘ ( oppr𝑅 ) ) )
19 eqid ( +g𝑅 ) = ( +g𝑅 )
20 15 19 oppradd ( +g𝑅 ) = ( +g ‘ ( oppr𝑅 ) )
21 20 oveqi ( 𝑞 ( +g𝑅 ) 𝑟 ) = ( 𝑞 ( +g ‘ ( oppr𝑅 ) ) 𝑟 )
22 21 a1i ( ( ⊤ ∧ ( 𝑞 ∈ ( Base ‘ 𝑅 ) ∧ 𝑟 ∈ ( Base ‘ 𝑅 ) ) ) → ( 𝑞 ( +g𝑅 ) 𝑟 ) = ( 𝑞 ( +g ‘ ( oppr𝑅 ) ) 𝑟 ) )
23 14 18 22 deg1propd ( ⊤ → ( deg1𝑅 ) = ( deg1 ‘ ( oppr𝑅 ) ) )
24 23 mptru ( deg1𝑅 ) = ( deg1 ‘ ( oppr𝑅 ) )
25 2 24 eqtri 𝐷 = ( deg1 ‘ ( oppr𝑅 ) )
26 1 fveq2i ( Base ‘ 𝑃 ) = ( Base ‘ ( Poly1𝑅 ) )
27 14 18 22 ply1baspropd ( ⊤ → ( Base ‘ ( Poly1𝑅 ) ) = ( Base ‘ ( Poly1 ‘ ( oppr𝑅 ) ) ) )
28 27 mptru ( Base ‘ ( Poly1𝑅 ) ) = ( Base ‘ ( Poly1 ‘ ( oppr𝑅 ) ) )
29 26 28 eqtri ( Base ‘ 𝑃 ) = ( Base ‘ ( Poly1 ‘ ( oppr𝑅 ) ) )
30 3 29 eqtri 𝐵 = ( Base ‘ ( Poly1 ‘ ( oppr𝑅 ) ) )
31 29 a1i ( ⊤ → ( Base ‘ 𝑃 ) = ( Base ‘ ( Poly1 ‘ ( oppr𝑅 ) ) ) )
32 1 fveq2i ( +g𝑃 ) = ( +g ‘ ( Poly1𝑅 ) )
33 14 18 22 ply1plusgpropd ( ⊤ → ( +g ‘ ( Poly1𝑅 ) ) = ( +g ‘ ( Poly1 ‘ ( oppr𝑅 ) ) ) )
34 33 mptru ( +g ‘ ( Poly1𝑅 ) ) = ( +g ‘ ( Poly1 ‘ ( oppr𝑅 ) ) )
35 32 34 eqtri ( +g𝑃 ) = ( +g ‘ ( Poly1 ‘ ( oppr𝑅 ) ) )
36 35 a1i ( ⊤ → ( +g𝑃 ) = ( +g ‘ ( Poly1 ‘ ( oppr𝑅 ) ) ) )
37 31 36 grpsubpropd ( ⊤ → ( -g𝑃 ) = ( -g ‘ ( Poly1 ‘ ( oppr𝑅 ) ) ) )
38 37 mptru ( -g𝑃 ) = ( -g ‘ ( Poly1 ‘ ( oppr𝑅 ) ) )
39 4 38 eqtri = ( -g ‘ ( Poly1 ‘ ( oppr𝑅 ) ) )
40 3 a1i ( ⊤ → 𝐵 = ( Base ‘ 𝑃 ) )
41 30 a1i ( ⊤ → 𝐵 = ( Base ‘ ( Poly1 ‘ ( oppr𝑅 ) ) ) )
42 35 oveqi ( 𝑞 ( +g𝑃 ) 𝑟 ) = ( 𝑞 ( +g ‘ ( Poly1 ‘ ( oppr𝑅 ) ) ) 𝑟 )
43 42 a1i ( ( ⊤ ∧ ( 𝑞𝐵𝑟𝐵 ) ) → ( 𝑞 ( +g𝑃 ) 𝑟 ) = ( 𝑞 ( +g ‘ ( Poly1 ‘ ( oppr𝑅 ) ) ) 𝑟 ) )
44 40 41 43 grpidpropd ( ⊤ → ( 0g𝑃 ) = ( 0g ‘ ( Poly1 ‘ ( oppr𝑅 ) ) ) )
45 44 mptru ( 0g𝑃 ) = ( 0g ‘ ( Poly1 ‘ ( oppr𝑅 ) ) )
46 5 45 eqtri 0 = ( 0g ‘ ( Poly1 ‘ ( oppr𝑅 ) ) )
47 eqid ( .r ‘ ( Poly1 ‘ ( oppr𝑅 ) ) ) = ( .r ‘ ( Poly1 ‘ ( oppr𝑅 ) ) )
48 15 opprring ( 𝑅 ∈ Ring → ( oppr𝑅 ) ∈ Ring )
49 7 48 syl ( 𝜑 → ( oppr𝑅 ) ∈ Ring )
50 12 15 opprunit 𝑈 = ( Unit ‘ ( oppr𝑅 ) )
51 13 25 30 39 46 47 49 8 9 10 11 50 ply1divalg ( 𝜑 → ∃! 𝑞𝐵 ( 𝐷 ‘ ( 𝐹 ( 𝐺 ( .r ‘ ( Poly1 ‘ ( oppr𝑅 ) ) ) 𝑞 ) ) ) < ( 𝐷𝐺 ) )
52 7 adantr ( ( 𝜑𝑞𝐵 ) → 𝑅 ∈ Ring )
53 9 adantr ( ( 𝜑𝑞𝐵 ) → 𝐺𝐵 )
54 simpr ( ( 𝜑𝑞𝐵 ) → 𝑞𝐵 )
55 1 15 13 6 47 3 ply1opprmul ( ( 𝑅 ∈ Ring ∧ 𝐺𝐵𝑞𝐵 ) → ( 𝐺 ( .r ‘ ( Poly1 ‘ ( oppr𝑅 ) ) ) 𝑞 ) = ( 𝑞 𝐺 ) )
56 52 53 54 55 syl3anc ( ( 𝜑𝑞𝐵 ) → ( 𝐺 ( .r ‘ ( Poly1 ‘ ( oppr𝑅 ) ) ) 𝑞 ) = ( 𝑞 𝐺 ) )
57 56 eqcomd ( ( 𝜑𝑞𝐵 ) → ( 𝑞 𝐺 ) = ( 𝐺 ( .r ‘ ( Poly1 ‘ ( oppr𝑅 ) ) ) 𝑞 ) )
58 57 oveq2d ( ( 𝜑𝑞𝐵 ) → ( 𝐹 ( 𝑞 𝐺 ) ) = ( 𝐹 ( 𝐺 ( .r ‘ ( Poly1 ‘ ( oppr𝑅 ) ) ) 𝑞 ) ) )
59 58 fveq2d ( ( 𝜑𝑞𝐵 ) → ( 𝐷 ‘ ( 𝐹 ( 𝑞 𝐺 ) ) ) = ( 𝐷 ‘ ( 𝐹 ( 𝐺 ( .r ‘ ( Poly1 ‘ ( oppr𝑅 ) ) ) 𝑞 ) ) ) )
60 59 breq1d ( ( 𝜑𝑞𝐵 ) → ( ( 𝐷 ‘ ( 𝐹 ( 𝑞 𝐺 ) ) ) < ( 𝐷𝐺 ) ↔ ( 𝐷 ‘ ( 𝐹 ( 𝐺 ( .r ‘ ( Poly1 ‘ ( oppr𝑅 ) ) ) 𝑞 ) ) ) < ( 𝐷𝐺 ) ) )
61 60 reubidva ( 𝜑 → ( ∃! 𝑞𝐵 ( 𝐷 ‘ ( 𝐹 ( 𝑞 𝐺 ) ) ) < ( 𝐷𝐺 ) ↔ ∃! 𝑞𝐵 ( 𝐷 ‘ ( 𝐹 ( 𝐺 ( .r ‘ ( Poly1 ‘ ( oppr𝑅 ) ) ) 𝑞 ) ) ) < ( 𝐷𝐺 ) ) )
62 51 61 mpbird ( 𝜑 → ∃! 𝑞𝐵 ( 𝐷 ‘ ( 𝐹 ( 𝑞 𝐺 ) ) ) < ( 𝐷𝐺 ) )