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 | |- Q = ran ( eval1 ` R ) |
|
| pf1f.b | |- B = ( Base ` R ) |
||
| mpfpf1.q | |- E = ran ( 1o eval R ) |
||
| Assertion | mpfpf1 | |- ( F e. E -> ( F o. ( y e. B |-> ( 1o X. { y } ) ) ) e. Q ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | pf1rcl.q | |- Q = ran ( eval1 ` R ) |
|
| 2 | pf1f.b | |- B = ( Base ` R ) |
|
| 3 | mpfpf1.q | |- E = ran ( 1o eval R ) |
|
| 4 | eqid | |- ( 1o eval R ) = ( 1o eval R ) |
|
| 5 | 4 2 | evlval | |- ( 1o eval R ) = ( ( 1o evalSub R ) ` B ) |
| 6 | 5 | rneqi | |- ran ( 1o eval R ) = ran ( ( 1o evalSub R ) ` B ) |
| 7 | 3 6 | eqtri | |- E = ran ( ( 1o evalSub R ) ` B ) |
| 8 | 7 | mpfrcl | |- ( F e. E -> ( 1o e. _V /\ R e. CRing /\ B e. ( SubRing ` R ) ) ) |
| 9 | 8 | simp2d | |- ( F e. E -> R e. CRing ) |
| 10 | id | |- ( F e. E -> F e. E ) |
|
| 11 | 10 3 | eleqtrdi | |- ( F e. E -> F e. ran ( 1o eval R ) ) |
| 12 | 1on | |- 1o e. On |
|
| 13 | eqid | |- ( 1o mPoly R ) = ( 1o mPoly R ) |
|
| 14 | eqid | |- ( R ^s ( B ^m 1o ) ) = ( R ^s ( B ^m 1o ) ) |
|
| 15 | 4 2 13 14 | evlrhm | |- ( ( 1o e. On /\ R e. CRing ) -> ( 1o eval R ) e. ( ( 1o mPoly R ) RingHom ( R ^s ( B ^m 1o ) ) ) ) |
| 16 | 12 9 15 | sylancr | |- ( F e. E -> ( 1o eval R ) e. ( ( 1o mPoly R ) RingHom ( R ^s ( B ^m 1o ) ) ) ) |
| 17 | eqid | |- ( Poly1 ` R ) = ( Poly1 ` R ) |
|
| 18 | eqid | |- ( Base ` ( Poly1 ` R ) ) = ( Base ` ( Poly1 ` R ) ) |
|
| 19 | 17 18 | ply1bas | |- ( Base ` ( Poly1 ` R ) ) = ( Base ` ( 1o mPoly R ) ) |
| 20 | eqid | |- ( Base ` ( R ^s ( B ^m 1o ) ) ) = ( Base ` ( R ^s ( B ^m 1o ) ) ) |
|
| 21 | 19 20 | rhmf | |- ( ( 1o eval R ) e. ( ( 1o mPoly R ) RingHom ( R ^s ( B ^m 1o ) ) ) -> ( 1o eval R ) : ( Base ` ( Poly1 ` R ) ) --> ( Base ` ( R ^s ( B ^m 1o ) ) ) ) |
| 22 | ffn | |- ( ( 1o eval R ) : ( Base ` ( Poly1 ` R ) ) --> ( Base ` ( R ^s ( B ^m 1o ) ) ) -> ( 1o eval R ) Fn ( Base ` ( Poly1 ` R ) ) ) |
|
| 23 | fvelrnb | |- ( ( 1o eval R ) Fn ( Base ` ( Poly1 ` R ) ) -> ( F e. ran ( 1o eval R ) <-> E. x e. ( Base ` ( Poly1 ` R ) ) ( ( 1o eval R ) ` x ) = F ) ) |
|
| 24 | 16 21 22 23 | 4syl | |- ( F e. E -> ( F e. ran ( 1o eval R ) <-> E. x e. ( Base ` ( Poly1 ` R ) ) ( ( 1o eval R ) ` x ) = F ) ) |
| 25 | 11 24 | mpbid | |- ( F e. E -> E. x e. ( Base ` ( Poly1 ` R ) ) ( ( 1o eval R ) ` x ) = F ) |
| 26 | eqid | |- ( eval1 ` R ) = ( eval1 ` R ) |
|
| 27 | 26 4 2 13 19 | evl1val | |- ( ( R e. CRing /\ x e. ( Base ` ( Poly1 ` R ) ) ) -> ( ( eval1 ` R ) ` x ) = ( ( ( 1o eval R ) ` x ) o. ( y e. B |-> ( 1o X. { y } ) ) ) ) |
| 28 | eqid | |- ( R ^s B ) = ( R ^s B ) |
|
| 29 | 26 17 28 2 | evl1rhm | |- ( R e. CRing -> ( eval1 ` R ) e. ( ( Poly1 ` R ) RingHom ( R ^s B ) ) ) |
| 30 | eqid | |- ( Base ` ( R ^s B ) ) = ( Base ` ( R ^s B ) ) |
|
| 31 | 18 30 | rhmf | |- ( ( eval1 ` R ) e. ( ( Poly1 ` R ) RingHom ( R ^s B ) ) -> ( eval1 ` R ) : ( Base ` ( Poly1 ` R ) ) --> ( Base ` ( R ^s B ) ) ) |
| 32 | ffn | |- ( ( eval1 ` R ) : ( Base ` ( Poly1 ` R ) ) --> ( Base ` ( R ^s B ) ) -> ( eval1 ` R ) Fn ( Base ` ( Poly1 ` R ) ) ) |
|
| 33 | 29 31 32 | 3syl | |- ( R e. CRing -> ( eval1 ` R ) Fn ( Base ` ( Poly1 ` R ) ) ) |
| 34 | fnfvelrn | |- ( ( ( eval1 ` R ) Fn ( Base ` ( Poly1 ` R ) ) /\ x e. ( Base ` ( Poly1 ` R ) ) ) -> ( ( eval1 ` R ) ` x ) e. ran ( eval1 ` R ) ) |
|
| 35 | 33 34 | sylan | |- ( ( R e. CRing /\ x e. ( Base ` ( Poly1 ` R ) ) ) -> ( ( eval1 ` R ) ` x ) e. ran ( eval1 ` R ) ) |
| 36 | 35 1 | eleqtrrdi | |- ( ( R e. CRing /\ x e. ( Base ` ( Poly1 ` R ) ) ) -> ( ( eval1 ` R ) ` x ) e. Q ) |
| 37 | 27 36 | eqeltrrd | |- ( ( R e. CRing /\ x e. ( Base ` ( Poly1 ` R ) ) ) -> ( ( ( 1o eval R ) ` x ) o. ( y e. B |-> ( 1o X. { y } ) ) ) e. Q ) |
| 38 | coeq1 | |- ( ( ( 1o eval R ) ` x ) = F -> ( ( ( 1o eval R ) ` x ) o. ( y e. B |-> ( 1o X. { y } ) ) ) = ( F o. ( y e. B |-> ( 1o X. { y } ) ) ) ) |
|
| 39 | 38 | eleq1d | |- ( ( ( 1o eval R ) ` x ) = F -> ( ( ( ( 1o eval R ) ` x ) o. ( y e. B |-> ( 1o X. { y } ) ) ) e. Q <-> ( F o. ( y e. B |-> ( 1o X. { y } ) ) ) e. Q ) ) |
| 40 | 37 39 | syl5ibcom | |- ( ( R e. CRing /\ x e. ( Base ` ( Poly1 ` R ) ) ) -> ( ( ( 1o eval R ) ` x ) = F -> ( F o. ( y e. B |-> ( 1o X. { y } ) ) ) e. Q ) ) |
| 41 | 40 | rexlimdva | |- ( R e. CRing -> ( E. x e. ( Base ` ( Poly1 ` R ) ) ( ( 1o eval R ) ` x ) = F -> ( F o. ( y e. B |-> ( 1o X. { y } ) ) ) e. Q ) ) |
| 42 | 9 25 41 | sylc | |- ( F e. E -> ( F o. ( y e. B |-> ( 1o X. { y } ) ) ) e. Q ) |