This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Convert a multivariate polynomial function to univariate. (Contributed by Mario Carneiro, 12-Jun-2015)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | pf1rcl.q | ⊢ 𝑄 = ran ( eval1 ‘ 𝑅 ) | |
| pf1f.b | ⊢ 𝐵 = ( Base ‘ 𝑅 ) | ||
| mpfpf1.q | ⊢ 𝐸 = ran ( 1o eval 𝑅 ) | ||
| Assertion | mpfpf1 | ⊢ ( 𝐹 ∈ 𝐸 → ( 𝐹 ∘ ( 𝑦 ∈ 𝐵 ↦ ( 1o × { 𝑦 } ) ) ) ∈ 𝑄 ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | pf1rcl.q | ⊢ 𝑄 = ran ( eval1 ‘ 𝑅 ) | |
| 2 | pf1f.b | ⊢ 𝐵 = ( Base ‘ 𝑅 ) | |
| 3 | mpfpf1.q | ⊢ 𝐸 = ran ( 1o eval 𝑅 ) | |
| 4 | eqid | ⊢ ( 1o eval 𝑅 ) = ( 1o eval 𝑅 ) | |
| 5 | 4 2 | evlval | ⊢ ( 1o eval 𝑅 ) = ( ( 1o evalSub 𝑅 ) ‘ 𝐵 ) |
| 6 | 5 | rneqi | ⊢ ran ( 1o eval 𝑅 ) = ran ( ( 1o evalSub 𝑅 ) ‘ 𝐵 ) |
| 7 | 3 6 | eqtri | ⊢ 𝐸 = ran ( ( 1o evalSub 𝑅 ) ‘ 𝐵 ) |
| 8 | 7 | mpfrcl | ⊢ ( 𝐹 ∈ 𝐸 → ( 1o ∈ V ∧ 𝑅 ∈ CRing ∧ 𝐵 ∈ ( SubRing ‘ 𝑅 ) ) ) |
| 9 | 8 | simp2d | ⊢ ( 𝐹 ∈ 𝐸 → 𝑅 ∈ CRing ) |
| 10 | id | ⊢ ( 𝐹 ∈ 𝐸 → 𝐹 ∈ 𝐸 ) | |
| 11 | 10 3 | eleqtrdi | ⊢ ( 𝐹 ∈ 𝐸 → 𝐹 ∈ ran ( 1o eval 𝑅 ) ) |
| 12 | 1on | ⊢ 1o ∈ On | |
| 13 | eqid | ⊢ ( 1o mPoly 𝑅 ) = ( 1o mPoly 𝑅 ) | |
| 14 | eqid | ⊢ ( 𝑅 ↑s ( 𝐵 ↑m 1o ) ) = ( 𝑅 ↑s ( 𝐵 ↑m 1o ) ) | |
| 15 | 4 2 13 14 | evlrhm | ⊢ ( ( 1o ∈ On ∧ 𝑅 ∈ CRing ) → ( 1o eval 𝑅 ) ∈ ( ( 1o mPoly 𝑅 ) RingHom ( 𝑅 ↑s ( 𝐵 ↑m 1o ) ) ) ) |
| 16 | 12 9 15 | sylancr | ⊢ ( 𝐹 ∈ 𝐸 → ( 1o eval 𝑅 ) ∈ ( ( 1o mPoly 𝑅 ) RingHom ( 𝑅 ↑s ( 𝐵 ↑m 1o ) ) ) ) |
| 17 | eqid | ⊢ ( Poly1 ‘ 𝑅 ) = ( Poly1 ‘ 𝑅 ) | |
| 18 | eqid | ⊢ ( Base ‘ ( Poly1 ‘ 𝑅 ) ) = ( Base ‘ ( Poly1 ‘ 𝑅 ) ) | |
| 19 | 17 18 | ply1bas | ⊢ ( Base ‘ ( Poly1 ‘ 𝑅 ) ) = ( Base ‘ ( 1o mPoly 𝑅 ) ) |
| 20 | eqid | ⊢ ( Base ‘ ( 𝑅 ↑s ( 𝐵 ↑m 1o ) ) ) = ( Base ‘ ( 𝑅 ↑s ( 𝐵 ↑m 1o ) ) ) | |
| 21 | 19 20 | rhmf | ⊢ ( ( 1o eval 𝑅 ) ∈ ( ( 1o mPoly 𝑅 ) RingHom ( 𝑅 ↑s ( 𝐵 ↑m 1o ) ) ) → ( 1o eval 𝑅 ) : ( Base ‘ ( Poly1 ‘ 𝑅 ) ) ⟶ ( Base ‘ ( 𝑅 ↑s ( 𝐵 ↑m 1o ) ) ) ) |
| 22 | ffn | ⊢ ( ( 1o eval 𝑅 ) : ( Base ‘ ( Poly1 ‘ 𝑅 ) ) ⟶ ( Base ‘ ( 𝑅 ↑s ( 𝐵 ↑m 1o ) ) ) → ( 1o eval 𝑅 ) Fn ( Base ‘ ( Poly1 ‘ 𝑅 ) ) ) | |
| 23 | fvelrnb | ⊢ ( ( 1o eval 𝑅 ) Fn ( Base ‘ ( Poly1 ‘ 𝑅 ) ) → ( 𝐹 ∈ ran ( 1o eval 𝑅 ) ↔ ∃ 𝑥 ∈ ( Base ‘ ( Poly1 ‘ 𝑅 ) ) ( ( 1o eval 𝑅 ) ‘ 𝑥 ) = 𝐹 ) ) | |
| 24 | 16 21 22 23 | 4syl | ⊢ ( 𝐹 ∈ 𝐸 → ( 𝐹 ∈ ran ( 1o eval 𝑅 ) ↔ ∃ 𝑥 ∈ ( Base ‘ ( Poly1 ‘ 𝑅 ) ) ( ( 1o eval 𝑅 ) ‘ 𝑥 ) = 𝐹 ) ) |
| 25 | 11 24 | mpbid | ⊢ ( 𝐹 ∈ 𝐸 → ∃ 𝑥 ∈ ( Base ‘ ( Poly1 ‘ 𝑅 ) ) ( ( 1o eval 𝑅 ) ‘ 𝑥 ) = 𝐹 ) |
| 26 | eqid | ⊢ ( eval1 ‘ 𝑅 ) = ( eval1 ‘ 𝑅 ) | |
| 27 | 26 4 2 13 19 | evl1val | ⊢ ( ( 𝑅 ∈ CRing ∧ 𝑥 ∈ ( Base ‘ ( Poly1 ‘ 𝑅 ) ) ) → ( ( eval1 ‘ 𝑅 ) ‘ 𝑥 ) = ( ( ( 1o eval 𝑅 ) ‘ 𝑥 ) ∘ ( 𝑦 ∈ 𝐵 ↦ ( 1o × { 𝑦 } ) ) ) ) |
| 28 | eqid | ⊢ ( 𝑅 ↑s 𝐵 ) = ( 𝑅 ↑s 𝐵 ) | |
| 29 | 26 17 28 2 | evl1rhm | ⊢ ( 𝑅 ∈ CRing → ( eval1 ‘ 𝑅 ) ∈ ( ( Poly1 ‘ 𝑅 ) RingHom ( 𝑅 ↑s 𝐵 ) ) ) |
| 30 | eqid | ⊢ ( Base ‘ ( 𝑅 ↑s 𝐵 ) ) = ( Base ‘ ( 𝑅 ↑s 𝐵 ) ) | |
| 31 | 18 30 | rhmf | ⊢ ( ( eval1 ‘ 𝑅 ) ∈ ( ( Poly1 ‘ 𝑅 ) RingHom ( 𝑅 ↑s 𝐵 ) ) → ( eval1 ‘ 𝑅 ) : ( Base ‘ ( Poly1 ‘ 𝑅 ) ) ⟶ ( Base ‘ ( 𝑅 ↑s 𝐵 ) ) ) |
| 32 | ffn | ⊢ ( ( eval1 ‘ 𝑅 ) : ( Base ‘ ( Poly1 ‘ 𝑅 ) ) ⟶ ( Base ‘ ( 𝑅 ↑s 𝐵 ) ) → ( eval1 ‘ 𝑅 ) Fn ( Base ‘ ( Poly1 ‘ 𝑅 ) ) ) | |
| 33 | 29 31 32 | 3syl | ⊢ ( 𝑅 ∈ CRing → ( eval1 ‘ 𝑅 ) Fn ( Base ‘ ( Poly1 ‘ 𝑅 ) ) ) |
| 34 | fnfvelrn | ⊢ ( ( ( eval1 ‘ 𝑅 ) Fn ( Base ‘ ( Poly1 ‘ 𝑅 ) ) ∧ 𝑥 ∈ ( Base ‘ ( Poly1 ‘ 𝑅 ) ) ) → ( ( eval1 ‘ 𝑅 ) ‘ 𝑥 ) ∈ ran ( eval1 ‘ 𝑅 ) ) | |
| 35 | 33 34 | sylan | ⊢ ( ( 𝑅 ∈ CRing ∧ 𝑥 ∈ ( Base ‘ ( Poly1 ‘ 𝑅 ) ) ) → ( ( eval1 ‘ 𝑅 ) ‘ 𝑥 ) ∈ ran ( eval1 ‘ 𝑅 ) ) |
| 36 | 35 1 | eleqtrrdi | ⊢ ( ( 𝑅 ∈ CRing ∧ 𝑥 ∈ ( Base ‘ ( Poly1 ‘ 𝑅 ) ) ) → ( ( eval1 ‘ 𝑅 ) ‘ 𝑥 ) ∈ 𝑄 ) |
| 37 | 27 36 | eqeltrrd | ⊢ ( ( 𝑅 ∈ CRing ∧ 𝑥 ∈ ( Base ‘ ( Poly1 ‘ 𝑅 ) ) ) → ( ( ( 1o eval 𝑅 ) ‘ 𝑥 ) ∘ ( 𝑦 ∈ 𝐵 ↦ ( 1o × { 𝑦 } ) ) ) ∈ 𝑄 ) |
| 38 | coeq1 | ⊢ ( ( ( 1o eval 𝑅 ) ‘ 𝑥 ) = 𝐹 → ( ( ( 1o eval 𝑅 ) ‘ 𝑥 ) ∘ ( 𝑦 ∈ 𝐵 ↦ ( 1o × { 𝑦 } ) ) ) = ( 𝐹 ∘ ( 𝑦 ∈ 𝐵 ↦ ( 1o × { 𝑦 } ) ) ) ) | |
| 39 | 38 | eleq1d | ⊢ ( ( ( 1o eval 𝑅 ) ‘ 𝑥 ) = 𝐹 → ( ( ( ( 1o eval 𝑅 ) ‘ 𝑥 ) ∘ ( 𝑦 ∈ 𝐵 ↦ ( 1o × { 𝑦 } ) ) ) ∈ 𝑄 ↔ ( 𝐹 ∘ ( 𝑦 ∈ 𝐵 ↦ ( 1o × { 𝑦 } ) ) ) ∈ 𝑄 ) ) |
| 40 | 37 39 | syl5ibcom | ⊢ ( ( 𝑅 ∈ CRing ∧ 𝑥 ∈ ( Base ‘ ( Poly1 ‘ 𝑅 ) ) ) → ( ( ( 1o eval 𝑅 ) ‘ 𝑥 ) = 𝐹 → ( 𝐹 ∘ ( 𝑦 ∈ 𝐵 ↦ ( 1o × { 𝑦 } ) ) ) ∈ 𝑄 ) ) |
| 41 | 40 | rexlimdva | ⊢ ( 𝑅 ∈ CRing → ( ∃ 𝑥 ∈ ( Base ‘ ( Poly1 ‘ 𝑅 ) ) ( ( 1o eval 𝑅 ) ‘ 𝑥 ) = 𝐹 → ( 𝐹 ∘ ( 𝑦 ∈ 𝐵 ↦ ( 1o × { 𝑦 } ) ) ) ∈ 𝑄 ) ) |
| 42 | 9 25 41 | sylc | ⊢ ( 𝐹 ∈ 𝐸 → ( 𝐹 ∘ ( 𝑦 ∈ 𝐵 ↦ ( 1o × { 𝑦 } ) ) ) ∈ 𝑄 ) |