Metamath Proof Explorer


Theorem mpfpf1

Description: Convert a multivariate polynomial function to univariate. (Contributed by Mario Carneiro, 12-Jun-2015)

Ref Expression
Hypotheses pf1rcl.q ⊢ Q = ran ⁡ eval 1 ⁡ R
pf1f.b ⊢ B = Base R
mpfpf1.q ⊢ E = ran ⁡ 1 𝑜 eval R
Assertion mpfpf1 ⊢ F ∈ E → F ∘ y ∈ B ⟼ 1 𝑜 × y ∈ Q

Proof

Step Hyp Ref Expression
1 pf1rcl.q ⊢ Q = ran ⁡ eval 1 ⁡ R
2 pf1f.b ⊢ B = Base R
3 mpfpf1.q ⊢ E = ran ⁡ 1 𝑜 eval R
4 eqid ⊢ 1 𝑜 eval R = 1 𝑜 eval R
5 4 2 evlval ⊢ 1 𝑜 eval R = 1 𝑜 evalSub R ⁡ B
6 5 rneqi ⊢ ran ⁡ 1 𝑜 eval R = ran ⁡ 1 𝑜 evalSub R ⁡ B
7 3 6 eqtri ⊢ E = ran ⁡ 1 𝑜 evalSub R ⁡ B
8 7 mpfrcl ⊢ F ∈ E → 1 𝑜 ∈ V ∧ R ∈ CRing ∧ B ∈ SubRing ⁡ R
9 8 simp2d ⊢ F ∈ E → R ∈ CRing
10 id ⊢ F ∈ E → F ∈ E
11 10 3 eleqtrdi ⊢ F ∈ E → F ∈ ran ⁡ 1 𝑜 eval R
12 1on ⊢ 1 𝑜 ∈ On
13 eqid ⊢ 1 𝑜 mPoly R = 1 𝑜 mPoly R
14 eqid ⊢ R ↑ 𝑠 B 1 𝑜 = R ↑ 𝑠 B 1 𝑜
15 4 2 13 14 evlrhm ⊢ 1 𝑜 ∈ On ∧ R ∈ CRing → 1 𝑜 eval R ∈ 1 𝑜 mPoly R RingHom R ↑ 𝑠 B 1 𝑜
16 12 9 15 sylancr ⊢ F ∈ E → 1 𝑜 eval R ∈ 1 𝑜 mPoly R RingHom R ↑ 𝑠 B 1 𝑜
17 eqid ⊢ Poly 1 ⁡ R = Poly 1 ⁡ R
18 eqid ⊢ Base Poly 1 ⁡ R = Base Poly 1 ⁡ R
19 17 18 ply1bas ⊢ Base Poly 1 ⁡ R = Base 1 𝑜 mPoly R
20 eqid ⊢ Base R ↑ 𝑠 B 1 𝑜 = Base R ↑ 𝑠 B 1 𝑜
21 19 20 rhmf ⊢ 1 𝑜 eval R ∈ 1 𝑜 mPoly R RingHom R ↑ 𝑠 B 1 𝑜 → 1 𝑜 eval R : Base Poly 1 ⁡ R ⟶ Base R ↑ 𝑠 B 1 𝑜
22 ffn ⊢ 1 𝑜 eval R : Base Poly 1 ⁡ R ⟶ Base R ↑ 𝑠 B 1 𝑜 → 1 𝑜 eval R Fn Base Poly 1 ⁡ R
23 fvelrnb ⊢ 1 𝑜 eval R Fn Base Poly 1 ⁡ R → F ∈ ran ⁡ 1 𝑜 eval R ↔ ∃ x ∈ Base Poly 1 ⁡ R 1 𝑜 eval R ⁡ x = F
24 16 21 22 23 4syl ⊢ F ∈ E → F ∈ ran ⁡ 1 𝑜 eval R ↔ ∃ x ∈ Base Poly 1 ⁡ R 1 𝑜 eval R ⁡ x = F
25 11 24 mpbid ⊢ F ∈ E → ∃ x ∈ Base Poly 1 ⁡ R 1 𝑜 eval R ⁡ x = F
26 eqid ⊢ eval 1 ⁡ R = eval 1 ⁡ R
27 26 4 2 13 19 evl1val ⊢ R ∈ CRing ∧ x ∈ Base Poly 1 ⁡ R → eval 1 ⁡ R ⁡ x = 1 𝑜 eval R ⁡ x ∘ y ∈ B ⟼ 1 𝑜 × y
28 eqid ⊢ R ↑ 𝑠 B = R ↑ 𝑠 B
29 26 17 28 2 evl1rhm ⊢ R ∈ CRing → eval 1 ⁡ R ∈ Poly 1 ⁡ R RingHom R ↑ 𝑠 B
30 eqid ⊢ Base R ↑ 𝑠 B = Base R ↑ 𝑠 B
31 18 30 rhmf ⊢ eval 1 ⁡ R ∈ Poly 1 ⁡ R RingHom R ↑ 𝑠 B → eval 1 ⁡ R : Base Poly 1 ⁡ R ⟶ Base R ↑ 𝑠 B
32 ffn ⊢ eval 1 ⁡ R : Base Poly 1 ⁡ R ⟶ Base R ↑ 𝑠 B → eval 1 ⁡ R Fn Base Poly 1 ⁡ R
33 29 31 32 3syl ⊢ R ∈ CRing → eval 1 ⁡ R Fn Base Poly 1 ⁡ R
34 fnfvelrn ⊢ eval 1 ⁡ R Fn Base Poly 1 ⁡ R ∧ x ∈ Base Poly 1 ⁡ R → eval 1 ⁡ R ⁡ x ∈ ran ⁡ eval 1 ⁡ R
35 33 34 sylan ⊢ R ∈ CRing ∧ x ∈ Base Poly 1 ⁡ R → eval 1 ⁡ R ⁡ x ∈ ran ⁡ eval 1 ⁡ R
36 35 1 eleqtrrdi ⊢ R ∈ CRing ∧ x ∈ Base Poly 1 ⁡ R → eval 1 ⁡ R ⁡ x ∈ Q
37 27 36 eqeltrrd ⊢ R ∈ CRing ∧ x ∈ Base Poly 1 ⁡ R → 1 𝑜 eval R ⁡ x ∘ y ∈ B ⟼ 1 𝑜 × y ∈ Q
38 coeq1 ⊢ 1 𝑜 eval R ⁡ x = F → 1 𝑜 eval R ⁡ x ∘ y ∈ B ⟼ 1 𝑜 × y = F ∘ y ∈ B ⟼ 1 𝑜 × y
39 38 eleq1d ⊢ 1 𝑜 eval R ⁡ x = F → 1 𝑜 eval R ⁡ x ∘ y ∈ B ⟼ 1 𝑜 × y ∈ Q ↔ F ∘ y ∈ B ⟼ 1 𝑜 × y ∈ Q
40 37 39 syl5ibcom ⊢ R ∈ CRing ∧ x ∈ Base Poly 1 ⁡ R → 1 𝑜 eval R ⁡ x = F → F ∘ y ∈ B ⟼ 1 𝑜 × y ∈ Q
41 40 rexlimdva ⊢ R ∈ CRing → ∃ x ∈ Base Poly 1 ⁡ R 1 𝑜 eval R ⁡ x = F → F ∘ y ∈ B ⟼ 1 𝑜 × y ∈ Q
42 9 25 41 sylc ⊢ F ∈ E → F ∘ y ∈ B ⟼ 1 𝑜 × y ∈ Q