This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Elementary symmetric polynomials are polynomials. (Contributed by Thierry Arnoux, 18-Jan-2026)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | esplympl.d | |- D = { h e. ( NN0 ^m I ) | h finSupp 0 } |
|
| esplympl.i | |- ( ph -> I e. Fin ) |
||
| esplympl.r | |- ( ph -> R e. Ring ) |
||
| esplympl.k | |- ( ph -> K e. NN0 ) |
||
| esplympl.1 | |- M = ( Base ` ( I mPoly R ) ) |
||
| Assertion | esplympl | |- ( ph -> ( ( I eSymPoly R ) ` K ) e. M ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | esplympl.d | |- D = { h e. ( NN0 ^m I ) | h finSupp 0 } |
|
| 2 | esplympl.i | |- ( ph -> I e. Fin ) |
|
| 3 | esplympl.r | |- ( ph -> R e. Ring ) |
|
| 4 | esplympl.k | |- ( ph -> K e. NN0 ) |
|
| 5 | esplympl.1 | |- M = ( Base ` ( I mPoly R ) ) |
|
| 6 | fvexd | |- ( ph -> ( Base ` R ) e. _V ) |
|
| 7 | ovex | |- ( NN0 ^m I ) e. _V |
|
| 8 | 1 7 | rabex2 | |- D e. _V |
| 9 | 8 | a1i | |- ( ph -> D e. _V ) |
| 10 | 1 2 3 4 | esplyfval | |- ( ph -> ( ( I eSymPoly R ) ` K ) = ( ( ZRHom ` R ) o. ( ( _Ind ` D ) ` ( ( _Ind ` I ) " { c e. ~P I | ( # ` c ) = K } ) ) ) ) |
| 11 | 10 | eqcomd | |- ( ph -> ( ( ZRHom ` R ) o. ( ( _Ind ` D ) ` ( ( _Ind ` I ) " { c e. ~P I | ( # ` c ) = K } ) ) ) = ( ( I eSymPoly R ) ` K ) ) |
| 12 | eqid | |- ( ZRHom ` R ) = ( ZRHom ` R ) |
|
| 13 | 12 | zrhrhm | |- ( R e. Ring -> ( ZRHom ` R ) e. ( ZZring RingHom R ) ) |
| 14 | zringbas | |- ZZ = ( Base ` ZZring ) |
|
| 15 | eqid | |- ( Base ` R ) = ( Base ` R ) |
|
| 16 | 14 15 | rhmf | |- ( ( ZRHom ` R ) e. ( ZZring RingHom R ) -> ( ZRHom ` R ) : ZZ --> ( Base ` R ) ) |
| 17 | 3 13 16 | 3syl | |- ( ph -> ( ZRHom ` R ) : ZZ --> ( Base ` R ) ) |
| 18 | 1 2 3 4 | esplylem | |- ( ph -> ( ( _Ind ` I ) " { c e. ~P I | ( # ` c ) = K } ) C_ D ) |
| 19 | indf | |- ( ( D e. _V /\ ( ( _Ind ` I ) " { c e. ~P I | ( # ` c ) = K } ) C_ D ) -> ( ( _Ind ` D ) ` ( ( _Ind ` I ) " { c e. ~P I | ( # ` c ) = K } ) ) : D --> { 0 , 1 } ) |
|
| 20 | 9 18 19 | syl2anc | |- ( ph -> ( ( _Ind ` D ) ` ( ( _Ind ` I ) " { c e. ~P I | ( # ` c ) = K } ) ) : D --> { 0 , 1 } ) |
| 21 | 0zd | |- ( ph -> 0 e. ZZ ) |
|
| 22 | 1zzd | |- ( ph -> 1 e. ZZ ) |
|
| 23 | 21 22 | prssd | |- ( ph -> { 0 , 1 } C_ ZZ ) |
| 24 | 20 23 | fssd | |- ( ph -> ( ( _Ind ` D ) ` ( ( _Ind ` I ) " { c e. ~P I | ( # ` c ) = K } ) ) : D --> ZZ ) |
| 25 | 17 24 | fcod | |- ( ph -> ( ( ZRHom ` R ) o. ( ( _Ind ` D ) ` ( ( _Ind ` I ) " { c e. ~P I | ( # ` c ) = K } ) ) ) : D --> ( Base ` R ) ) |
| 26 | 11 25 | feq1dd | |- ( ph -> ( ( I eSymPoly R ) ` K ) : D --> ( Base ` R ) ) |
| 27 | 6 9 26 | elmapdd | |- ( ph -> ( ( I eSymPoly R ) ` K ) e. ( ( Base ` R ) ^m D ) ) |
| 28 | eqid | |- ( I mPwSer R ) = ( I mPwSer R ) |
|
| 29 | 1 | psrbasfsupp | |- D = { h e. ( NN0 ^m I ) | ( `' h " NN ) e. Fin } |
| 30 | eqid | |- ( Base ` ( I mPwSer R ) ) = ( Base ` ( I mPwSer R ) ) |
|
| 31 | 28 15 29 30 2 | psrbas | |- ( ph -> ( Base ` ( I mPwSer R ) ) = ( ( Base ` R ) ^m D ) ) |
| 32 | 27 31 | eleqtrrd | |- ( ph -> ( ( I eSymPoly R ) ` K ) e. ( Base ` ( I mPwSer R ) ) ) |
| 33 | fvexd | |- ( ph -> ( 0g ` R ) e. _V ) |
|
| 34 | zex | |- ZZ e. _V |
|
| 35 | 34 | a1i | |- ( ph -> ZZ e. _V ) |
| 36 | indf1o | |- ( I e. Fin -> ( _Ind ` I ) : ~P I -1-1-onto-> ( { 0 , 1 } ^m I ) ) |
|
| 37 | f1of | |- ( ( _Ind ` I ) : ~P I -1-1-onto-> ( { 0 , 1 } ^m I ) -> ( _Ind ` I ) : ~P I --> ( { 0 , 1 } ^m I ) ) |
|
| 38 | 2 36 37 | 3syl | |- ( ph -> ( _Ind ` I ) : ~P I --> ( { 0 , 1 } ^m I ) ) |
| 39 | 38 | ffund | |- ( ph -> Fun ( _Ind ` I ) ) |
| 40 | 2 | pwexd | |- ( ph -> ~P I e. _V ) |
| 41 | ssrab2 | |- { c e. ~P I | ( # ` c ) = K } C_ ~P I |
|
| 42 | 41 | a1i | |- ( ph -> { c e. ~P I | ( # ` c ) = K } C_ ~P I ) |
| 43 | 40 42 | ssexd | |- ( ph -> { c e. ~P I | ( # ` c ) = K } e. _V ) |
| 44 | hashcl | |- ( I e. Fin -> ( # ` I ) e. NN0 ) |
|
| 45 | 2 44 | syl | |- ( ph -> ( # ` I ) e. NN0 ) |
| 46 | 4 | nn0zd | |- ( ph -> K e. ZZ ) |
| 47 | bccl | |- ( ( ( # ` I ) e. NN0 /\ K e. ZZ ) -> ( ( # ` I ) _C K ) e. NN0 ) |
|
| 48 | 45 46 47 | syl2anc | |- ( ph -> ( ( # ` I ) _C K ) e. NN0 ) |
| 49 | hashbc | |- ( ( I e. Fin /\ K e. ZZ ) -> ( ( # ` I ) _C K ) = ( # ` { c e. ~P I | ( # ` c ) = K } ) ) |
|
| 50 | 2 46 49 | syl2anc | |- ( ph -> ( ( # ` I ) _C K ) = ( # ` { c e. ~P I | ( # ` c ) = K } ) ) |
| 51 | 50 | eqcomd | |- ( ph -> ( # ` { c e. ~P I | ( # ` c ) = K } ) = ( ( # ` I ) _C K ) ) |
| 52 | hashvnfin | |- ( ( { c e. ~P I | ( # ` c ) = K } e. _V /\ ( ( # ` I ) _C K ) e. NN0 ) -> ( ( # ` { c e. ~P I | ( # ` c ) = K } ) = ( ( # ` I ) _C K ) -> { c e. ~P I | ( # ` c ) = K } e. Fin ) ) |
|
| 53 | 52 | imp | |- ( ( ( { c e. ~P I | ( # ` c ) = K } e. _V /\ ( ( # ` I ) _C K ) e. NN0 ) /\ ( # ` { c e. ~P I | ( # ` c ) = K } ) = ( ( # ` I ) _C K ) ) -> { c e. ~P I | ( # ` c ) = K } e. Fin ) |
| 54 | 43 48 51 53 | syl21anc | |- ( ph -> { c e. ~P I | ( # ` c ) = K } e. Fin ) |
| 55 | imafi | |- ( ( Fun ( _Ind ` I ) /\ { c e. ~P I | ( # ` c ) = K } e. Fin ) -> ( ( _Ind ` I ) " { c e. ~P I | ( # ` c ) = K } ) e. Fin ) |
|
| 56 | 39 54 55 | syl2anc | |- ( ph -> ( ( _Ind ` I ) " { c e. ~P I | ( # ` c ) = K } ) e. Fin ) |
| 57 | 9 18 56 | indfsd | |- ( ph -> ( ( _Ind ` D ) ` ( ( _Ind ` I ) " { c e. ~P I | ( # ` c ) = K } ) ) finSupp 0 ) |
| 58 | eqid | |- ( 0g ` R ) = ( 0g ` R ) |
|
| 59 | 12 58 | zrh0 | |- ( R e. Ring -> ( ( ZRHom ` R ) ` 0 ) = ( 0g ` R ) ) |
| 60 | 3 59 | syl | |- ( ph -> ( ( ZRHom ` R ) ` 0 ) = ( 0g ` R ) ) |
| 61 | 33 21 20 17 23 9 35 57 60 | fsuppcor | |- ( ph -> ( ( ZRHom ` R ) o. ( ( _Ind ` D ) ` ( ( _Ind ` I ) " { c e. ~P I | ( # ` c ) = K } ) ) ) finSupp ( 0g ` R ) ) |
| 62 | 10 61 | eqbrtrd | |- ( ph -> ( ( I eSymPoly R ) ` K ) finSupp ( 0g ` R ) ) |
| 63 | eqid | |- ( I mPoly R ) = ( I mPoly R ) |
|
| 64 | 63 28 30 58 5 | mplelbas | |- ( ( ( I eSymPoly R ) ` K ) e. M <-> ( ( ( I eSymPoly R ) ` K ) e. ( Base ` ( I mPwSer R ) ) /\ ( ( I eSymPoly R ) ` K ) finSupp ( 0g ` R ) ) ) |
| 65 | 32 62 64 | sylanbrc | |- ( ph -> ( ( I eSymPoly R ) ` K ) e. M ) |