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 ⊢ P = Poly 1 ⁡ R
ply1divalg.d ⊢ D = deg 1 ⁡ R
ply1divalg.b ⊢ B = Base P
ply1divalg.m ⊢ - ˙ = - P
ply1divalg.z ⊢ 0 ˙ = 0 P
ply1divalg.t ⊢ ∙ ˙ = ⋅ P
ply1divalg.r1 ⊢ φ → R ∈ Ring
ply1divalg.f ⊢ φ → F ∈ B
ply1divalg.g1 ⊢ φ → G ∈ B
ply1divalg.g2 ⊢ φ → G ≠ 0 ˙
ply1divalg.g3 ⊢ φ → coe 1 ⁡ G ⁡ D ⁡ G ∈ U
ply1divalg.u ⊢ U = Unit ⁡ R
Assertion ply1divalg2 ⊢ φ → ∃! q ∈ B D ⁡ F - ˙ q ∙ ˙ G < D ⁡ G

Proof

Step Hyp Ref Expression
1 ply1divalg.p ⊢ P = Poly 1 ⁡ R
2 ply1divalg.d ⊢ D = deg 1 ⁡ R
3 ply1divalg.b ⊢ B = Base P
4 ply1divalg.m ⊢ - ˙ = - P
5 ply1divalg.z ⊢ 0 ˙ = 0 P
6 ply1divalg.t ⊢ ∙ ˙ = ⋅ P
7 ply1divalg.r1 ⊢ φ → R ∈ Ring
8 ply1divalg.f ⊢ φ → F ∈ B
9 ply1divalg.g1 ⊢ φ → G ∈ B
10 ply1divalg.g2 ⊢ φ → G ≠ 0 ˙
11 ply1divalg.g3 ⊢ φ → coe 1 ⁡ G ⁡ D ⁡ G ∈ U
12 ply1divalg.u ⊢ U = Unit ⁡ R
13 eqid ⊢ Poly 1 ⁡ opp r ⁡ R = Poly 1 ⁡ opp r ⁡ R
14 eqidd ⊢ ⊤ → Base R = Base R
15 eqid ⊢ opp r ⁡ R = opp r ⁡ R
16 eqid ⊢ Base R = Base R
17 15 16 opprbas ⊢ Base R = Base opp r ⁡ R
18 17 a1i ⊢ ⊤ → Base R = Base opp r ⁡ R
19 eqid ⊢ + R = + R
20 15 19 oppradd ⊢ + R = + opp r ⁡ R
21 20 oveqi ⊢ q + R r = q + opp r ⁡ R r
22 21 a1i ⊢ ⊤ ∧ q ∈ Base R ∧ r ∈ Base R → q + R r = q + opp r ⁡ R r
23 14 18 22 deg1propd ⊢ ⊤ → deg 1 ⁡ R = deg 1 ⁡ opp r ⁡ R
24 23 mptru ⊢ deg 1 ⁡ R = deg 1 ⁡ opp r ⁡ R
25 2 24 eqtri ⊢ D = deg 1 ⁡ opp r ⁡ R
26 1 fveq2i ⊢ Base P = Base Poly 1 ⁡ R
27 14 18 22 ply1baspropd ⊢ ⊤ → Base Poly 1 ⁡ R = Base Poly 1 ⁡ opp r ⁡ R
28 27 mptru ⊢ Base Poly 1 ⁡ R = Base Poly 1 ⁡ opp r ⁡ R
29 26 28 eqtri ⊢ Base P = Base Poly 1 ⁡ opp r ⁡ R
30 3 29 eqtri ⊢ B = Base Poly 1 ⁡ opp r ⁡ R
31 29 a1i ⊢ ⊤ → Base P = Base Poly 1 ⁡ opp r ⁡ R
32 1 fveq2i ⊢ + P = + Poly 1 ⁡ R
33 14 18 22 ply1plusgpropd ⊢ ⊤ → + Poly 1 ⁡ R = + Poly 1 ⁡ opp r ⁡ R
34 33 mptru ⊢ + Poly 1 ⁡ R = + Poly 1 ⁡ opp r ⁡ R
35 32 34 eqtri ⊢ + P = + Poly 1 ⁡ opp r ⁡ R
36 35 a1i ⊢ ⊤ → + P = + Poly 1 ⁡ opp r ⁡ R
37 31 36 grpsubpropd ⊢ ⊤ → - P = - Poly 1 ⁡ opp r ⁡ R
38 37 mptru ⊢ - P = - Poly 1 ⁡ opp r ⁡ R
39 4 38 eqtri ⊢ - ˙ = - Poly 1 ⁡ opp r ⁡ R
40 3 a1i ⊢ ⊤ → B = Base P
41 30 a1i ⊢ ⊤ → B = Base Poly 1 ⁡ opp r ⁡ R
42 35 oveqi ⊢ q + P r = q + Poly 1 ⁡ opp r ⁡ R r
43 42 a1i ⊢ ⊤ ∧ q ∈ B ∧ r ∈ B → q + P r = q + Poly 1 ⁡ opp r ⁡ R r
44 40 41 43 grpidpropd ⊢ ⊤ → 0 P = 0 Poly 1 ⁡ opp r ⁡ R
45 44 mptru ⊢ 0 P = 0 Poly 1 ⁡ opp r ⁡ R
46 5 45 eqtri ⊢ 0 ˙ = 0 Poly 1 ⁡ opp r ⁡ R
47 eqid ⊢ ⋅ Poly 1 ⁡ opp r ⁡ R = ⋅ Poly 1 ⁡ opp r ⁡ R
48 15 opprring ⊢ R ∈ Ring → opp r ⁡ R ∈ Ring
49 7 48 syl ⊢ φ → opp r ⁡ R ∈ Ring
50 12 15 opprunit ⊢ U = Unit ⁡ opp r ⁡ R
51 13 25 30 39 46 47 49 8 9 10 11 50 ply1divalg ⊢ φ → ∃! q ∈ B D ⁡ F - ˙ G ⋅ Poly 1 ⁡ opp r ⁡ R q < D ⁡ G
52 7 adantr ⊢ φ ∧ q ∈ B → R ∈ Ring
53 9 adantr ⊢ φ ∧ q ∈ B → G ∈ B
54 simpr ⊢ φ ∧ q ∈ B → q ∈ B
55 1 15 13 6 47 3 ply1opprmul ⊢ R ∈ Ring ∧ G ∈ B ∧ q ∈ B → G ⋅ Poly 1 ⁡ opp r ⁡ R q = q ∙ ˙ G
56 52 53 54 55 syl3anc ⊢ φ ∧ q ∈ B → G ⋅ Poly 1 ⁡ opp r ⁡ R q = q ∙ ˙ G
57 56 eqcomd ⊢ φ ∧ q ∈ B → q ∙ ˙ G = G ⋅ Poly 1 ⁡ opp r ⁡ R q
58 57 oveq2d ⊢ φ ∧ q ∈ B → F - ˙ q ∙ ˙ G = F - ˙ G ⋅ Poly 1 ⁡ opp r ⁡ R q
59 58 fveq2d ⊢ φ ∧ q ∈ B → D ⁡ F - ˙ q ∙ ˙ G = D ⁡ F - ˙ G ⋅ Poly 1 ⁡ opp r ⁡ R q
60 59 breq1d ⊢ φ ∧ q ∈ B → D ⁡ F - ˙ q ∙ ˙ G < D ⁡ G ↔ D ⁡ F - ˙ G ⋅ Poly 1 ⁡ opp r ⁡ R q < D ⁡ G
61 60 reubidva ⊢ φ → ∃! q ∈ B D ⁡ F - ˙ q ∙ ˙ G < D ⁡ G ↔ ∃! q ∈ B D ⁡ F - ˙ G ⋅ Poly 1 ⁡ opp r ⁡ R q < D ⁡ G
62 51 61 mpbird ⊢ φ → ∃! q ∈ B D ⁡ F - ˙ q ∙ ˙ G < D ⁡ G