Metamath Proof Explorer


Theorem coe1tm

Description: Coefficient vector of a polynomial term. (Contributed by Stefan O'Rear, 27-Mar-2015)

Ref Expression
Hypotheses coe1tm.z ⊢ 0 ˙ = 0 R
coe1tm.k ⊢ K = Base R
coe1tm.p ⊢ P = Poly 1 ⁡ R
coe1tm.x ⊢ X = var 1 ⁡ R
coe1tm.m ⊢ · ˙ = ⋅ P
coe1tm.n ⊢ N = mulGrp P
coe1tm.e ⊢ × ˙ = ⋅ N
Assertion coe1tm ⊢ R ∈ Ring ∧ C ∈ K ∧ D ∈ ℕ 0 → coe 1 ⁡ C · ˙ D × ˙ X = x ∈ ℕ 0 ⟼ if x = D C 0 ˙

Proof

Step Hyp Ref Expression
1 coe1tm.z ⊢ 0 ˙ = 0 R
2 coe1tm.k ⊢ K = Base R
3 coe1tm.p ⊢ P = Poly 1 ⁡ R
4 coe1tm.x ⊢ X = var 1 ⁡ R
5 coe1tm.m ⊢ · ˙ = ⋅ P
6 coe1tm.n ⊢ N = mulGrp P
7 coe1tm.e ⊢ × ˙ = ⋅ N
8 eqid ⊢ Base P = Base P
9 2 3 4 5 6 7 8 ply1tmcl ⊢ R ∈ Ring ∧ C ∈ K ∧ D ∈ ℕ 0 → C · ˙ D × ˙ X ∈ Base P
10 eqid ⊢ coe 1 ⁡ C · ˙ D × ˙ X = coe 1 ⁡ C · ˙ D × ˙ X
11 eqid ⊢ x ∈ ℕ 0 ⟼ 1 𝑜 × x = x ∈ ℕ 0 ⟼ 1 𝑜 × x
12 10 8 3 11 coe1fval2 ⊢ C · ˙ D × ˙ X ∈ Base P → coe 1 ⁡ C · ˙ D × ˙ X = C · ˙ D × ˙ X ∘ x ∈ ℕ 0 ⟼ 1 𝑜 × x
13 9 12 syl ⊢ R ∈ Ring ∧ C ∈ K ∧ D ∈ ℕ 0 → coe 1 ⁡ C · ˙ D × ˙ X = C · ˙ D × ˙ X ∘ x ∈ ℕ 0 ⟼ 1 𝑜 × x
14 fconst6g ⊢ x ∈ ℕ 0 → 1 𝑜 × x : 1 𝑜 ⟶ ℕ 0
15 nn0ex ⊢ ℕ 0 ∈ V
16 1oex ⊢ 1 𝑜 ∈ V
17 15 16 elmap ⊢ 1 𝑜 × x ∈ ℕ 0 1 𝑜 ↔ 1 𝑜 × x : 1 𝑜 ⟶ ℕ 0
18 14 17 sylibr ⊢ x ∈ ℕ 0 → 1 𝑜 × x ∈ ℕ 0 1 𝑜
19 18 adantl ⊢ R ∈ Ring ∧ C ∈ K ∧ D ∈ ℕ 0 ∧ x ∈ ℕ 0 → 1 𝑜 × x ∈ ℕ 0 1 𝑜
20 eqidd ⊢ R ∈ Ring ∧ C ∈ K ∧ D ∈ ℕ 0 → x ∈ ℕ 0 ⟼ 1 𝑜 × x = x ∈ ℕ 0 ⟼ 1 𝑜 × x
21 eqid ⊢ ⋅ mulGrp 1 𝑜 mPoly R = ⋅ mulGrp 1 𝑜 mPoly R
22 6 8 mgpbas ⊢ Base P = Base N
23 22 a1i ⊢ R ∈ Ring → Base P = Base N
24 eqid ⊢ mulGrp 1 𝑜 mPoly R = mulGrp 1 𝑜 mPoly R
25 3 8 ply1bas ⊢ Base P = Base 1 𝑜 mPoly R
26 24 25 mgpbas ⊢ Base P = Base mulGrp 1 𝑜 mPoly R
27 26 a1i ⊢ R ∈ Ring → Base P = Base mulGrp 1 𝑜 mPoly R
28 ssv ⊢ Base P ⊆ V
29 28 a1i ⊢ R ∈ Ring → Base P ⊆ V
30 ovexd ⊢ R ∈ Ring ∧ x ∈ V ∧ y ∈ V → x + N y ∈ V
31 eqid ⊢ ⋅ P = ⋅ P
32 6 31 mgpplusg ⊢ ⋅ P = + N
33 eqid ⊢ 1 𝑜 mPoly R = 1 𝑜 mPoly R
34 3 33 31 ply1mulr ⊢ ⋅ P = ⋅ 1 𝑜 mPoly R
35 24 34 mgpplusg ⊢ ⋅ P = + mulGrp 1 𝑜 mPoly R
36 32 35 eqtr3i ⊢ + N = + mulGrp 1 𝑜 mPoly R
37 36 a1i ⊢ R ∈ Ring → + N = + mulGrp 1 𝑜 mPoly R
38 37 oveqdr ⊢ R ∈ Ring ∧ x ∈ V ∧ y ∈ V → x + N y = x + mulGrp 1 𝑜 mPoly R y
39 7 21 23 27 29 30 38 mulgpropd ⊢ R ∈ Ring → × ˙ = ⋅ mulGrp 1 𝑜 mPoly R
40 39 3ad2ant1 ⊢ R ∈ Ring ∧ C ∈ K ∧ D ∈ ℕ 0 → × ˙ = ⋅ mulGrp 1 𝑜 mPoly R
41 eqidd ⊢ R ∈ Ring ∧ C ∈ K ∧ D ∈ ℕ 0 → D = D
42 4 vr1val ⊢ X = 1 𝑜 mVar R ⁡ ∅
43 42 a1i ⊢ R ∈ Ring ∧ C ∈ K ∧ D ∈ ℕ 0 → X = 1 𝑜 mVar R ⁡ ∅
44 40 41 43 oveq123d ⊢ R ∈ Ring ∧ C ∈ K ∧ D ∈ ℕ 0 → D × ˙ X = D ⋅ mulGrp 1 𝑜 mPoly R 1 𝑜 mVar R ⁡ ∅
45 44 oveq2d ⊢ R ∈ Ring ∧ C ∈ K ∧ D ∈ ℕ 0 → C · ˙ D × ˙ X = C · ˙ D ⋅ mulGrp 1 𝑜 mPoly R 1 𝑜 mVar R ⁡ ∅
46 psr1baslem ⊢ ℕ 0 1 𝑜 = a ∈ ℕ 0 1 𝑜 | a -1 ℕ ∈ Fin
47 eqid ⊢ 1 R = 1 R
48 1on ⊢ 1 𝑜 ∈ On
49 48 a1i ⊢ R ∈ Ring ∧ C ∈ K ∧ D ∈ ℕ 0 → 1 𝑜 ∈ On
50 eqid ⊢ 1 𝑜 mVar R = 1 𝑜 mVar R
51 simp1 ⊢ R ∈ Ring ∧ C ∈ K ∧ D ∈ ℕ 0 → R ∈ Ring
52 0lt1o ⊢ ∅ ∈ 1 𝑜
53 52 a1i ⊢ R ∈ Ring ∧ C ∈ K ∧ D ∈ ℕ 0 → ∅ ∈ 1 𝑜
54 simp3 ⊢ R ∈ Ring ∧ C ∈ K ∧ D ∈ ℕ 0 → D ∈ ℕ 0
55 33 46 1 47 49 24 21 50 51 53 54 mplcoe3 ⊢ R ∈ Ring ∧ C ∈ K ∧ D ∈ ℕ 0 → y ∈ ℕ 0 1 𝑜 ⟼ if y = b ∈ 1 𝑜 ⟼ if b = ∅ D 0 1 R 0 ˙ = D ⋅ mulGrp 1 𝑜 mPoly R 1 𝑜 mVar R ⁡ ∅
56 55 oveq2d ⊢ R ∈ Ring ∧ C ∈ K ∧ D ∈ ℕ 0 → C · ˙ y ∈ ℕ 0 1 𝑜 ⟼ if y = b ∈ 1 𝑜 ⟼ if b = ∅ D 0 1 R 0 ˙ = C · ˙ D ⋅ mulGrp 1 𝑜 mPoly R 1 𝑜 mVar R ⁡ ∅
57 3 33 5 ply1vsca ⊢ · ˙ = ⋅ 1 𝑜 mPoly R
58 elsni ⊢ b ∈ ∅ → b = ∅
59 df1o2 ⊢ 1 𝑜 = ∅
60 58 59 eleq2s ⊢ b ∈ 1 𝑜 → b = ∅
61 60 iftrued ⊢ b ∈ 1 𝑜 → if b = ∅ D 0 = D
62 61 adantl ⊢ R ∈ Ring ∧ C ∈ K ∧ D ∈ ℕ 0 ∧ b ∈ 1 𝑜 → if b = ∅ D 0 = D
63 62 mpteq2dva ⊢ R ∈ Ring ∧ C ∈ K ∧ D ∈ ℕ 0 → b ∈ 1 𝑜 ⟼ if b = ∅ D 0 = b ∈ 1 𝑜 ⟼ D
64 fconstmpt ⊢ 1 𝑜 × D = b ∈ 1 𝑜 ⟼ D
65 63 64 eqtr4di ⊢ R ∈ Ring ∧ C ∈ K ∧ D ∈ ℕ 0 → b ∈ 1 𝑜 ⟼ if b = ∅ D 0 = 1 𝑜 × D
66 fconst6g ⊢ D ∈ ℕ 0 → 1 𝑜 × D : 1 𝑜 ⟶ ℕ 0
67 15 16 elmap ⊢ 1 𝑜 × D ∈ ℕ 0 1 𝑜 ↔ 1 𝑜 × D : 1 𝑜 ⟶ ℕ 0
68 66 67 sylibr ⊢ D ∈ ℕ 0 → 1 𝑜 × D ∈ ℕ 0 1 𝑜
69 68 3ad2ant3 ⊢ R ∈ Ring ∧ C ∈ K ∧ D ∈ ℕ 0 → 1 𝑜 × D ∈ ℕ 0 1 𝑜
70 65 69 eqeltrd ⊢ R ∈ Ring ∧ C ∈ K ∧ D ∈ ℕ 0 → b ∈ 1 𝑜 ⟼ if b = ∅ D 0 ∈ ℕ 0 1 𝑜
71 simp2 ⊢ R ∈ Ring ∧ C ∈ K ∧ D ∈ ℕ 0 → C ∈ K
72 33 57 46 47 1 2 49 51 70 71 mplmon2 ⊢ R ∈ Ring ∧ C ∈ K ∧ D ∈ ℕ 0 → C · ˙ y ∈ ℕ 0 1 𝑜 ⟼ if y = b ∈ 1 𝑜 ⟼ if b = ∅ D 0 1 R 0 ˙ = y ∈ ℕ 0 1 𝑜 ⟼ if y = b ∈ 1 𝑜 ⟼ if b = ∅ D 0 C 0 ˙
73 45 56 72 3eqtr2d ⊢ R ∈ Ring ∧ C ∈ K ∧ D ∈ ℕ 0 → C · ˙ D × ˙ X = y ∈ ℕ 0 1 𝑜 ⟼ if y = b ∈ 1 𝑜 ⟼ if b = ∅ D 0 C 0 ˙
74 eqeq1 ⊢ y = 1 𝑜 × x → y = b ∈ 1 𝑜 ⟼ if b = ∅ D 0 ↔ 1 𝑜 × x = b ∈ 1 𝑜 ⟼ if b = ∅ D 0
75 74 ifbid ⊢ y = 1 𝑜 × x → if y = b ∈ 1 𝑜 ⟼ if b = ∅ D 0 C 0 ˙ = if 1 𝑜 × x = b ∈ 1 𝑜 ⟼ if b = ∅ D 0 C 0 ˙
76 19 20 73 75 fmptco ⊢ R ∈ Ring ∧ C ∈ K ∧ D ∈ ℕ 0 → C · ˙ D × ˙ X ∘ x ∈ ℕ 0 ⟼ 1 𝑜 × x = x ∈ ℕ 0 ⟼ if 1 𝑜 × x = b ∈ 1 𝑜 ⟼ if b = ∅ D 0 C 0 ˙
77 65 adantr ⊢ R ∈ Ring ∧ C ∈ K ∧ D ∈ ℕ 0 ∧ x ∈ ℕ 0 → b ∈ 1 𝑜 ⟼ if b = ∅ D 0 = 1 𝑜 × D
78 77 eqeq2d ⊢ R ∈ Ring ∧ C ∈ K ∧ D ∈ ℕ 0 ∧ x ∈ ℕ 0 → 1 𝑜 × x = b ∈ 1 𝑜 ⟼ if b = ∅ D 0 ↔ 1 𝑜 × x = 1 𝑜 × D
79 fveq1 ⊢ 1 𝑜 × x = 1 𝑜 × D → 1 𝑜 × x ⁡ ∅ = 1 𝑜 × D ⁡ ∅
80 vex ⊢ x ∈ V
81 80 fvconst2 ⊢ ∅ ∈ 1 𝑜 → 1 𝑜 × x ⁡ ∅ = x
82 52 81 mp1i ⊢ R ∈ Ring ∧ C ∈ K ∧ D ∈ ℕ 0 ∧ x ∈ ℕ 0 → 1 𝑜 × x ⁡ ∅ = x
83 simpl3 ⊢ R ∈ Ring ∧ C ∈ K ∧ D ∈ ℕ 0 ∧ x ∈ ℕ 0 → D ∈ ℕ 0
84 fvconst2g ⊢ D ∈ ℕ 0 ∧ ∅ ∈ 1 𝑜 → 1 𝑜 × D ⁡ ∅ = D
85 83 52 84 sylancl ⊢ R ∈ Ring ∧ C ∈ K ∧ D ∈ ℕ 0 ∧ x ∈ ℕ 0 → 1 𝑜 × D ⁡ ∅ = D
86 82 85 eqeq12d ⊢ R ∈ Ring ∧ C ∈ K ∧ D ∈ ℕ 0 ∧ x ∈ ℕ 0 → 1 𝑜 × x ⁡ ∅ = 1 𝑜 × D ⁡ ∅ ↔ x = D
87 79 86 imbitrid ⊢ R ∈ Ring ∧ C ∈ K ∧ D ∈ ℕ 0 ∧ x ∈ ℕ 0 → 1 𝑜 × x = 1 𝑜 × D → x = D
88 sneq ⊢ x = D → x = D
89 88 xpeq2d ⊢ x = D → 1 𝑜 × x = 1 𝑜 × D
90 87 89 impbid1 ⊢ R ∈ Ring ∧ C ∈ K ∧ D ∈ ℕ 0 ∧ x ∈ ℕ 0 → 1 𝑜 × x = 1 𝑜 × D ↔ x = D
91 78 90 bitrd ⊢ R ∈ Ring ∧ C ∈ K ∧ D ∈ ℕ 0 ∧ x ∈ ℕ 0 → 1 𝑜 × x = b ∈ 1 𝑜 ⟼ if b = ∅ D 0 ↔ x = D
92 91 ifbid ⊢ R ∈ Ring ∧ C ∈ K ∧ D ∈ ℕ 0 ∧ x ∈ ℕ 0 → if 1 𝑜 × x = b ∈ 1 𝑜 ⟼ if b = ∅ D 0 C 0 ˙ = if x = D C 0 ˙
93 92 mpteq2dva ⊢ R ∈ Ring ∧ C ∈ K ∧ D ∈ ℕ 0 → x ∈ ℕ 0 ⟼ if 1 𝑜 × x = b ∈ 1 𝑜 ⟼ if b = ∅ D 0 C 0 ˙ = x ∈ ℕ 0 ⟼ if x = D C 0 ˙
94 13 76 93 3eqtrd ⊢ R ∈ Ring ∧ C ∈ K ∧ D ∈ ℕ 0 → coe 1 ⁡ C · ˙ D × ˙ X = x ∈ ℕ 0 ⟼ if x = D C 0 ˙