Metamath Proof Explorer


Theorem coeid

Description: Reconstruct a polynomial as an explicit sum of the coefficient function up to the degree of the polynomial. (Contributed by Mario Carneiro, 22-Jul-2014)

Ref Expression
Hypotheses dgrub.1 โŠข ๐ด = ( coeff โ€˜ ๐น )
dgrub.2 โŠข ๐‘ = ( deg โ€˜ ๐น )
Assertion coeid ( ๐น โˆˆ ( Poly โ€˜ ๐‘† ) โ†’ ๐น = ( ๐‘ง โˆˆ โ„‚ โ†ฆ ฮฃ ๐‘˜ โˆˆ ( 0 ... ๐‘ ) ( ( ๐ด โ€˜ ๐‘˜ ) ยท ( ๐‘ง โ†‘ ๐‘˜ ) ) ) )

Proof

Step Hyp Ref Expression
1 dgrub.1 โŠข ๐ด = ( coeff โ€˜ ๐น )
2 dgrub.2 โŠข ๐‘ = ( deg โ€˜ ๐น )
3 elply2 โŠข ( ๐น โˆˆ ( Poly โ€˜ ๐‘† ) โ†” ( ๐‘† โІ โ„‚ โˆง โˆƒ ๐‘› โˆˆ โ„•0 โˆƒ ๐‘Ž โˆˆ ( ( ๐‘† โˆช { 0 } ) โ†‘m โ„•0 ) ( ( ๐‘Ž โ€œ ( โ„คโ‰ฅ โ€˜ ( ๐‘› + 1 ) ) ) = { 0 } โˆง ๐น = ( ๐‘ฅ โˆˆ โ„‚ โ†ฆ ฮฃ ๐‘š โˆˆ ( 0 ... ๐‘› ) ( ( ๐‘Ž โ€˜ ๐‘š ) ยท ( ๐‘ฅ โ†‘ ๐‘š ) ) ) ) ) )
4 3 simprbi โŠข ( ๐น โˆˆ ( Poly โ€˜ ๐‘† ) โ†’ โˆƒ ๐‘› โˆˆ โ„•0 โˆƒ ๐‘Ž โˆˆ ( ( ๐‘† โˆช { 0 } ) โ†‘m โ„•0 ) ( ( ๐‘Ž โ€œ ( โ„คโ‰ฅ โ€˜ ( ๐‘› + 1 ) ) ) = { 0 } โˆง ๐น = ( ๐‘ฅ โˆˆ โ„‚ โ†ฆ ฮฃ ๐‘š โˆˆ ( 0 ... ๐‘› ) ( ( ๐‘Ž โ€˜ ๐‘š ) ยท ( ๐‘ฅ โ†‘ ๐‘š ) ) ) ) )
5 simpll โŠข ( ( ( ๐น โˆˆ ( Poly โ€˜ ๐‘† ) โˆง ( ๐‘› โˆˆ โ„•0 โˆง ๐‘Ž โˆˆ ( ( ๐‘† โˆช { 0 } ) โ†‘m โ„•0 ) ) ) โˆง ( ( ๐‘Ž โ€œ ( โ„คโ‰ฅ โ€˜ ( ๐‘› + 1 ) ) ) = { 0 } โˆง ๐น = ( ๐‘ฅ โˆˆ โ„‚ โ†ฆ ฮฃ ๐‘š โˆˆ ( 0 ... ๐‘› ) ( ( ๐‘Ž โ€˜ ๐‘š ) ยท ( ๐‘ฅ โ†‘ ๐‘š ) ) ) ) ) โ†’ ๐น โˆˆ ( Poly โ€˜ ๐‘† ) )
6 simplrl โŠข ( ( ( ๐น โˆˆ ( Poly โ€˜ ๐‘† ) โˆง ( ๐‘› โˆˆ โ„•0 โˆง ๐‘Ž โˆˆ ( ( ๐‘† โˆช { 0 } ) โ†‘m โ„•0 ) ) ) โˆง ( ( ๐‘Ž โ€œ ( โ„คโ‰ฅ โ€˜ ( ๐‘› + 1 ) ) ) = { 0 } โˆง ๐น = ( ๐‘ฅ โˆˆ โ„‚ โ†ฆ ฮฃ ๐‘š โˆˆ ( 0 ... ๐‘› ) ( ( ๐‘Ž โ€˜ ๐‘š ) ยท ( ๐‘ฅ โ†‘ ๐‘š ) ) ) ) ) โ†’ ๐‘› โˆˆ โ„•0 )
7 simplrr โŠข ( ( ( ๐น โˆˆ ( Poly โ€˜ ๐‘† ) โˆง ( ๐‘› โˆˆ โ„•0 โˆง ๐‘Ž โˆˆ ( ( ๐‘† โˆช { 0 } ) โ†‘m โ„•0 ) ) ) โˆง ( ( ๐‘Ž โ€œ ( โ„คโ‰ฅ โ€˜ ( ๐‘› + 1 ) ) ) = { 0 } โˆง ๐น = ( ๐‘ฅ โˆˆ โ„‚ โ†ฆ ฮฃ ๐‘š โˆˆ ( 0 ... ๐‘› ) ( ( ๐‘Ž โ€˜ ๐‘š ) ยท ( ๐‘ฅ โ†‘ ๐‘š ) ) ) ) ) โ†’ ๐‘Ž โˆˆ ( ( ๐‘† โˆช { 0 } ) โ†‘m โ„•0 ) )
8 simprl โŠข ( ( ( ๐น โˆˆ ( Poly โ€˜ ๐‘† ) โˆง ( ๐‘› โˆˆ โ„•0 โˆง ๐‘Ž โˆˆ ( ( ๐‘† โˆช { 0 } ) โ†‘m โ„•0 ) ) ) โˆง ( ( ๐‘Ž โ€œ ( โ„คโ‰ฅ โ€˜ ( ๐‘› + 1 ) ) ) = { 0 } โˆง ๐น = ( ๐‘ฅ โˆˆ โ„‚ โ†ฆ ฮฃ ๐‘š โˆˆ ( 0 ... ๐‘› ) ( ( ๐‘Ž โ€˜ ๐‘š ) ยท ( ๐‘ฅ โ†‘ ๐‘š ) ) ) ) ) โ†’ ( ๐‘Ž โ€œ ( โ„คโ‰ฅ โ€˜ ( ๐‘› + 1 ) ) ) = { 0 } )
9 simprr โŠข ( ( ( ๐น โˆˆ ( Poly โ€˜ ๐‘† ) โˆง ( ๐‘› โˆˆ โ„•0 โˆง ๐‘Ž โˆˆ ( ( ๐‘† โˆช { 0 } ) โ†‘m โ„•0 ) ) ) โˆง ( ( ๐‘Ž โ€œ ( โ„คโ‰ฅ โ€˜ ( ๐‘› + 1 ) ) ) = { 0 } โˆง ๐น = ( ๐‘ฅ โˆˆ โ„‚ โ†ฆ ฮฃ ๐‘š โˆˆ ( 0 ... ๐‘› ) ( ( ๐‘Ž โ€˜ ๐‘š ) ยท ( ๐‘ฅ โ†‘ ๐‘š ) ) ) ) ) โ†’ ๐น = ( ๐‘ฅ โˆˆ โ„‚ โ†ฆ ฮฃ ๐‘š โˆˆ ( 0 ... ๐‘› ) ( ( ๐‘Ž โ€˜ ๐‘š ) ยท ( ๐‘ฅ โ†‘ ๐‘š ) ) ) )
10 fveq2 โŠข ( ๐‘š = ๐‘˜ โ†’ ( ๐‘Ž โ€˜ ๐‘š ) = ( ๐‘Ž โ€˜ ๐‘˜ ) )
11 oveq2 โŠข ( ๐‘š = ๐‘˜ โ†’ ( ๐‘ฅ โ†‘ ๐‘š ) = ( ๐‘ฅ โ†‘ ๐‘˜ ) )
12 10 11 oveq12d โŠข ( ๐‘š = ๐‘˜ โ†’ ( ( ๐‘Ž โ€˜ ๐‘š ) ยท ( ๐‘ฅ โ†‘ ๐‘š ) ) = ( ( ๐‘Ž โ€˜ ๐‘˜ ) ยท ( ๐‘ฅ โ†‘ ๐‘˜ ) ) )
13 12 cbvsumv โŠข ฮฃ ๐‘š โˆˆ ( 0 ... ๐‘› ) ( ( ๐‘Ž โ€˜ ๐‘š ) ยท ( ๐‘ฅ โ†‘ ๐‘š ) ) = ฮฃ ๐‘˜ โˆˆ ( 0 ... ๐‘› ) ( ( ๐‘Ž โ€˜ ๐‘˜ ) ยท ( ๐‘ฅ โ†‘ ๐‘˜ ) )
14 oveq1 โŠข ( ๐‘ฅ = ๐‘ง โ†’ ( ๐‘ฅ โ†‘ ๐‘˜ ) = ( ๐‘ง โ†‘ ๐‘˜ ) )
15 14 oveq2d โŠข ( ๐‘ฅ = ๐‘ง โ†’ ( ( ๐‘Ž โ€˜ ๐‘˜ ) ยท ( ๐‘ฅ โ†‘ ๐‘˜ ) ) = ( ( ๐‘Ž โ€˜ ๐‘˜ ) ยท ( ๐‘ง โ†‘ ๐‘˜ ) ) )
16 15 sumeq2sdv โŠข ( ๐‘ฅ = ๐‘ง โ†’ ฮฃ ๐‘˜ โˆˆ ( 0 ... ๐‘› ) ( ( ๐‘Ž โ€˜ ๐‘˜ ) ยท ( ๐‘ฅ โ†‘ ๐‘˜ ) ) = ฮฃ ๐‘˜ โˆˆ ( 0 ... ๐‘› ) ( ( ๐‘Ž โ€˜ ๐‘˜ ) ยท ( ๐‘ง โ†‘ ๐‘˜ ) ) )
17 13 16 eqtrid โŠข ( ๐‘ฅ = ๐‘ง โ†’ ฮฃ ๐‘š โˆˆ ( 0 ... ๐‘› ) ( ( ๐‘Ž โ€˜ ๐‘š ) ยท ( ๐‘ฅ โ†‘ ๐‘š ) ) = ฮฃ ๐‘˜ โˆˆ ( 0 ... ๐‘› ) ( ( ๐‘Ž โ€˜ ๐‘˜ ) ยท ( ๐‘ง โ†‘ ๐‘˜ ) ) )
18 17 cbvmptv โŠข ( ๐‘ฅ โˆˆ โ„‚ โ†ฆ ฮฃ ๐‘š โˆˆ ( 0 ... ๐‘› ) ( ( ๐‘Ž โ€˜ ๐‘š ) ยท ( ๐‘ฅ โ†‘ ๐‘š ) ) ) = ( ๐‘ง โˆˆ โ„‚ โ†ฆ ฮฃ ๐‘˜ โˆˆ ( 0 ... ๐‘› ) ( ( ๐‘Ž โ€˜ ๐‘˜ ) ยท ( ๐‘ง โ†‘ ๐‘˜ ) ) )
19 9 18 eqtrdi โŠข ( ( ( ๐น โˆˆ ( Poly โ€˜ ๐‘† ) โˆง ( ๐‘› โˆˆ โ„•0 โˆง ๐‘Ž โˆˆ ( ( ๐‘† โˆช { 0 } ) โ†‘m โ„•0 ) ) ) โˆง ( ( ๐‘Ž โ€œ ( โ„คโ‰ฅ โ€˜ ( ๐‘› + 1 ) ) ) = { 0 } โˆง ๐น = ( ๐‘ฅ โˆˆ โ„‚ โ†ฆ ฮฃ ๐‘š โˆˆ ( 0 ... ๐‘› ) ( ( ๐‘Ž โ€˜ ๐‘š ) ยท ( ๐‘ฅ โ†‘ ๐‘š ) ) ) ) ) โ†’ ๐น = ( ๐‘ง โˆˆ โ„‚ โ†ฆ ฮฃ ๐‘˜ โˆˆ ( 0 ... ๐‘› ) ( ( ๐‘Ž โ€˜ ๐‘˜ ) ยท ( ๐‘ง โ†‘ ๐‘˜ ) ) ) )
20 1 2 5 6 7 8 19 coeidlem โŠข ( ( ( ๐น โˆˆ ( Poly โ€˜ ๐‘† ) โˆง ( ๐‘› โˆˆ โ„•0 โˆง ๐‘Ž โˆˆ ( ( ๐‘† โˆช { 0 } ) โ†‘m โ„•0 ) ) ) โˆง ( ( ๐‘Ž โ€œ ( โ„คโ‰ฅ โ€˜ ( ๐‘› + 1 ) ) ) = { 0 } โˆง ๐น = ( ๐‘ฅ โˆˆ โ„‚ โ†ฆ ฮฃ ๐‘š โˆˆ ( 0 ... ๐‘› ) ( ( ๐‘Ž โ€˜ ๐‘š ) ยท ( ๐‘ฅ โ†‘ ๐‘š ) ) ) ) ) โ†’ ๐น = ( ๐‘ง โˆˆ โ„‚ โ†ฆ ฮฃ ๐‘˜ โˆˆ ( 0 ... ๐‘ ) ( ( ๐ด โ€˜ ๐‘˜ ) ยท ( ๐‘ง โ†‘ ๐‘˜ ) ) ) )
21 20 ex โŠข ( ( ๐น โˆˆ ( Poly โ€˜ ๐‘† ) โˆง ( ๐‘› โˆˆ โ„•0 โˆง ๐‘Ž โˆˆ ( ( ๐‘† โˆช { 0 } ) โ†‘m โ„•0 ) ) ) โ†’ ( ( ( ๐‘Ž โ€œ ( โ„คโ‰ฅ โ€˜ ( ๐‘› + 1 ) ) ) = { 0 } โˆง ๐น = ( ๐‘ฅ โˆˆ โ„‚ โ†ฆ ฮฃ ๐‘š โˆˆ ( 0 ... ๐‘› ) ( ( ๐‘Ž โ€˜ ๐‘š ) ยท ( ๐‘ฅ โ†‘ ๐‘š ) ) ) ) โ†’ ๐น = ( ๐‘ง โˆˆ โ„‚ โ†ฆ ฮฃ ๐‘˜ โˆˆ ( 0 ... ๐‘ ) ( ( ๐ด โ€˜ ๐‘˜ ) ยท ( ๐‘ง โ†‘ ๐‘˜ ) ) ) ) )
22 21 rexlimdvva โŠข ( ๐น โˆˆ ( Poly โ€˜ ๐‘† ) โ†’ ( โˆƒ ๐‘› โˆˆ โ„•0 โˆƒ ๐‘Ž โˆˆ ( ( ๐‘† โˆช { 0 } ) โ†‘m โ„•0 ) ( ( ๐‘Ž โ€œ ( โ„คโ‰ฅ โ€˜ ( ๐‘› + 1 ) ) ) = { 0 } โˆง ๐น = ( ๐‘ฅ โˆˆ โ„‚ โ†ฆ ฮฃ ๐‘š โˆˆ ( 0 ... ๐‘› ) ( ( ๐‘Ž โ€˜ ๐‘š ) ยท ( ๐‘ฅ โ†‘ ๐‘š ) ) ) ) โ†’ ๐น = ( ๐‘ง โˆˆ โ„‚ โ†ฆ ฮฃ ๐‘˜ โˆˆ ( 0 ... ๐‘ ) ( ( ๐ด โ€˜ ๐‘˜ ) ยท ( ๐‘ง โ†‘ ๐‘˜ ) ) ) ) )
23 4 22 mpd โŠข ( ๐น โˆˆ ( Poly โ€˜ ๐‘† ) โ†’ ๐น = ( ๐‘ง โˆˆ โ„‚ โ†ฆ ฮฃ ๐‘˜ โˆˆ ( 0 ... ๐‘ ) ( ( ๐ด โ€˜ ๐‘˜ ) ยท ( ๐‘ง โ†‘ ๐‘˜ ) ) ) )