Metamath Proof Explorer


Theorem ply1divalg

Description: The division algorithm for univariate polynomials over a ring. For polynomials F , G such that G =/= 0 and the leading coefficient of G is a unit, there are unique polynomials q and r = F - ( G x. q ) such that the degree of r is less than the degree of G . (Contributed by Stefan O'Rear, 27-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 ply1divalg ( 𝜑 → ∃! 𝑞𝐵 ( 𝐷 ‘ ( 𝐹 ( 𝐺 𝑞 ) ) ) < ( 𝐷𝐺 ) )

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 ( 1r𝑅 ) = ( 1r𝑅 )
14 eqid ( Base ‘ 𝑅 ) = ( Base ‘ 𝑅 )
15 eqid ( .r𝑅 ) = ( .r𝑅 )
16 eqid ( invr𝑅 ) = ( invr𝑅 )
17 12 16 14 ringinvcl ( ( 𝑅 ∈ Ring ∧ ( ( coe1𝐺 ) ‘ ( 𝐷𝐺 ) ) ∈ 𝑈 ) → ( ( invr𝑅 ) ‘ ( ( coe1𝐺 ) ‘ ( 𝐷𝐺 ) ) ) ∈ ( Base ‘ 𝑅 ) )
18 7 11 17 syl2anc ( 𝜑 → ( ( invr𝑅 ) ‘ ( ( coe1𝐺 ) ‘ ( 𝐷𝐺 ) ) ) ∈ ( Base ‘ 𝑅 ) )
19 12 16 15 13 unitrinv ( ( 𝑅 ∈ Ring ∧ ( ( coe1𝐺 ) ‘ ( 𝐷𝐺 ) ) ∈ 𝑈 ) → ( ( ( coe1𝐺 ) ‘ ( 𝐷𝐺 ) ) ( .r𝑅 ) ( ( invr𝑅 ) ‘ ( ( coe1𝐺 ) ‘ ( 𝐷𝐺 ) ) ) ) = ( 1r𝑅 ) )
20 7 11 19 syl2anc ( 𝜑 → ( ( ( coe1𝐺 ) ‘ ( 𝐷𝐺 ) ) ( .r𝑅 ) ( ( invr𝑅 ) ‘ ( ( coe1𝐺 ) ‘ ( 𝐷𝐺 ) ) ) ) = ( 1r𝑅 ) )
21 1 2 3 4 5 6 7 8 9 10 13 14 15 18 20 ply1divex ( 𝜑 → ∃ 𝑞𝐵 ( 𝐷 ‘ ( 𝐹 ( 𝐺 𝑞 ) ) ) < ( 𝐷𝐺 ) )
22 eqid ( RLReg ‘ 𝑅 ) = ( RLReg ‘ 𝑅 )
23 22 12 unitrrg ( 𝑅 ∈ Ring → 𝑈 ⊆ ( RLReg ‘ 𝑅 ) )
24 7 23 syl ( 𝜑𝑈 ⊆ ( RLReg ‘ 𝑅 ) )
25 24 11 sseldd ( 𝜑 → ( ( coe1𝐺 ) ‘ ( 𝐷𝐺 ) ) ∈ ( RLReg ‘ 𝑅 ) )
26 1 2 3 4 5 6 7 8 9 10 25 22 ply1divmo ( 𝜑 → ∃* 𝑞𝐵 ( 𝐷 ‘ ( 𝐹 ( 𝐺 𝑞 ) ) ) < ( 𝐷𝐺 ) )
27 reu5 ( ∃! 𝑞𝐵 ( 𝐷 ‘ ( 𝐹 ( 𝐺 𝑞 ) ) ) < ( 𝐷𝐺 ) ↔ ( ∃ 𝑞𝐵 ( 𝐷 ‘ ( 𝐹 ( 𝐺 𝑞 ) ) ) < ( 𝐷𝐺 ) ∧ ∃* 𝑞𝐵 ( 𝐷 ‘ ( 𝐹 ( 𝐺 𝑞 ) ) ) < ( 𝐷𝐺 ) ) )
28 21 26 27 sylanbrc ( 𝜑 → ∃! 𝑞𝐵 ( 𝐷 ‘ ( 𝐹 ( 𝐺 𝑞 ) ) ) < ( 𝐷𝐺 ) )