This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: The multinomial formula for the N -th derivative of a finite product. (Contributed by Glauco Siliprandi, 5-Apr-2020)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | dvnprod.s | |- ( ph -> S e. { RR , CC } ) |
|
| dvnprod.x | |- ( ph -> X e. ( ( TopOpen ` CCfld ) |`t S ) ) |
||
| dvnprod.t | |- ( ph -> T e. Fin ) |
||
| dvnprod.h | |- ( ( ph /\ t e. T ) -> ( H ` t ) : X --> CC ) |
||
| dvnprod.n | |- ( ph -> N e. NN0 ) |
||
| dvnprod.dvnh | |- ( ( ph /\ t e. T /\ k e. ( 0 ... N ) ) -> ( ( S Dn ( H ` t ) ) ` k ) : X --> CC ) |
||
| dvnprod.f | |- F = ( x e. X |-> prod_ t e. T ( ( H ` t ) ` x ) ) |
||
| dvnprod.c | |- C = ( n e. NN0 |-> { c e. ( ( 0 ... n ) ^m T ) | sum_ t e. T ( c ` t ) = n } ) |
||
| Assertion | dvnprod | |- ( ph -> ( ( S Dn F ) ` N ) = ( x e. X |-> sum_ c e. ( C ` N ) ( ( ( ! ` N ) / prod_ t e. T ( ! ` ( c ` t ) ) ) x. prod_ t e. T ( ( ( S Dn ( H ` t ) ) ` ( c ` t ) ) ` x ) ) ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | dvnprod.s | |- ( ph -> S e. { RR , CC } ) |
|
| 2 | dvnprod.x | |- ( ph -> X e. ( ( TopOpen ` CCfld ) |`t S ) ) |
|
| 3 | dvnprod.t | |- ( ph -> T e. Fin ) |
|
| 4 | dvnprod.h | |- ( ( ph /\ t e. T ) -> ( H ` t ) : X --> CC ) |
|
| 5 | dvnprod.n | |- ( ph -> N e. NN0 ) |
|
| 6 | dvnprod.dvnh | |- ( ( ph /\ t e. T /\ k e. ( 0 ... N ) ) -> ( ( S Dn ( H ` t ) ) ` k ) : X --> CC ) |
|
| 7 | dvnprod.f | |- F = ( x e. X |-> prod_ t e. T ( ( H ` t ) ` x ) ) |
|
| 8 | dvnprod.c | |- C = ( n e. NN0 |-> { c e. ( ( 0 ... n ) ^m T ) | sum_ t e. T ( c ` t ) = n } ) |
|
| 9 | fveq2 | |- ( u = t -> ( d ` u ) = ( d ` t ) ) |
|
| 10 | 9 | cbvsumv | |- sum_ u e. r ( d ` u ) = sum_ t e. r ( d ` t ) |
| 11 | 10 | eqeq1i | |- ( sum_ u e. r ( d ` u ) = m <-> sum_ t e. r ( d ` t ) = m ) |
| 12 | 11 | rabbii | |- { d e. ( ( 0 ... m ) ^m r ) | sum_ u e. r ( d ` u ) = m } = { d e. ( ( 0 ... m ) ^m r ) | sum_ t e. r ( d ` t ) = m } |
| 13 | fveq1 | |- ( d = e -> ( d ` t ) = ( e ` t ) ) |
|
| 14 | 13 | sumeq2sdv | |- ( d = e -> sum_ t e. r ( d ` t ) = sum_ t e. r ( e ` t ) ) |
| 15 | 14 | eqeq1d | |- ( d = e -> ( sum_ t e. r ( d ` t ) = m <-> sum_ t e. r ( e ` t ) = m ) ) |
| 16 | 15 | cbvrabv | |- { d e. ( ( 0 ... m ) ^m r ) | sum_ t e. r ( d ` t ) = m } = { e e. ( ( 0 ... m ) ^m r ) | sum_ t e. r ( e ` t ) = m } |
| 17 | 12 16 | eqtri | |- { d e. ( ( 0 ... m ) ^m r ) | sum_ u e. r ( d ` u ) = m } = { e e. ( ( 0 ... m ) ^m r ) | sum_ t e. r ( e ` t ) = m } |
| 18 | 17 | mpteq2i | |- ( m e. NN0 |-> { d e. ( ( 0 ... m ) ^m r ) | sum_ u e. r ( d ` u ) = m } ) = ( m e. NN0 |-> { e e. ( ( 0 ... m ) ^m r ) | sum_ t e. r ( e ` t ) = m } ) |
| 19 | eqeq2 | |- ( m = n -> ( sum_ t e. r ( e ` t ) = m <-> sum_ t e. r ( e ` t ) = n ) ) |
|
| 20 | 19 | rabbidv | |- ( m = n -> { e e. ( ( 0 ... m ) ^m r ) | sum_ t e. r ( e ` t ) = m } = { e e. ( ( 0 ... m ) ^m r ) | sum_ t e. r ( e ` t ) = n } ) |
| 21 | oveq2 | |- ( m = n -> ( 0 ... m ) = ( 0 ... n ) ) |
|
| 22 | 21 | oveq1d | |- ( m = n -> ( ( 0 ... m ) ^m r ) = ( ( 0 ... n ) ^m r ) ) |
| 23 | rabeq | |- ( ( ( 0 ... m ) ^m r ) = ( ( 0 ... n ) ^m r ) -> { e e. ( ( 0 ... m ) ^m r ) | sum_ t e. r ( e ` t ) = n } = { e e. ( ( 0 ... n ) ^m r ) | sum_ t e. r ( e ` t ) = n } ) |
|
| 24 | 22 23 | syl | |- ( m = n -> { e e. ( ( 0 ... m ) ^m r ) | sum_ t e. r ( e ` t ) = n } = { e e. ( ( 0 ... n ) ^m r ) | sum_ t e. r ( e ` t ) = n } ) |
| 25 | 20 24 | eqtrd | |- ( m = n -> { e e. ( ( 0 ... m ) ^m r ) | sum_ t e. r ( e ` t ) = m } = { e e. ( ( 0 ... n ) ^m r ) | sum_ t e. r ( e ` t ) = n } ) |
| 26 | 25 | cbvmptv | |- ( m e. NN0 |-> { e e. ( ( 0 ... m ) ^m r ) | sum_ t e. r ( e ` t ) = m } ) = ( n e. NN0 |-> { e e. ( ( 0 ... n ) ^m r ) | sum_ t e. r ( e ` t ) = n } ) |
| 27 | 18 26 | eqtri | |- ( m e. NN0 |-> { d e. ( ( 0 ... m ) ^m r ) | sum_ u e. r ( d ` u ) = m } ) = ( n e. NN0 |-> { e e. ( ( 0 ... n ) ^m r ) | sum_ t e. r ( e ` t ) = n } ) |
| 28 | 27 | mpteq2i | |- ( r e. ~P T |-> ( m e. NN0 |-> { d e. ( ( 0 ... m ) ^m r ) | sum_ u e. r ( d ` u ) = m } ) ) = ( r e. ~P T |-> ( n e. NN0 |-> { e e. ( ( 0 ... n ) ^m r ) | sum_ t e. r ( e ` t ) = n } ) ) |
| 29 | sumeq1 | |- ( r = s -> sum_ t e. r ( e ` t ) = sum_ t e. s ( e ` t ) ) |
|
| 30 | 29 | eqeq1d | |- ( r = s -> ( sum_ t e. r ( e ` t ) = n <-> sum_ t e. s ( e ` t ) = n ) ) |
| 31 | 30 | rabbidv | |- ( r = s -> { e e. ( ( 0 ... n ) ^m r ) | sum_ t e. r ( e ` t ) = n } = { e e. ( ( 0 ... n ) ^m r ) | sum_ t e. s ( e ` t ) = n } ) |
| 32 | oveq2 | |- ( r = s -> ( ( 0 ... n ) ^m r ) = ( ( 0 ... n ) ^m s ) ) |
|
| 33 | rabeq | |- ( ( ( 0 ... n ) ^m r ) = ( ( 0 ... n ) ^m s ) -> { e e. ( ( 0 ... n ) ^m r ) | sum_ t e. s ( e ` t ) = n } = { e e. ( ( 0 ... n ) ^m s ) | sum_ t e. s ( e ` t ) = n } ) |
|
| 34 | 32 33 | syl | |- ( r = s -> { e e. ( ( 0 ... n ) ^m r ) | sum_ t e. s ( e ` t ) = n } = { e e. ( ( 0 ... n ) ^m s ) | sum_ t e. s ( e ` t ) = n } ) |
| 35 | 31 34 | eqtrd | |- ( r = s -> { e e. ( ( 0 ... n ) ^m r ) | sum_ t e. r ( e ` t ) = n } = { e e. ( ( 0 ... n ) ^m s ) | sum_ t e. s ( e ` t ) = n } ) |
| 36 | 35 | mpteq2dv | |- ( r = s -> ( n e. NN0 |-> { e e. ( ( 0 ... n ) ^m r ) | sum_ t e. r ( e ` t ) = n } ) = ( n e. NN0 |-> { e e. ( ( 0 ... n ) ^m s ) | sum_ t e. s ( e ` t ) = n } ) ) |
| 37 | 36 | cbvmptv | |- ( r e. ~P T |-> ( n e. NN0 |-> { e e. ( ( 0 ... n ) ^m r ) | sum_ t e. r ( e ` t ) = n } ) ) = ( s e. ~P T |-> ( n e. NN0 |-> { e e. ( ( 0 ... n ) ^m s ) | sum_ t e. s ( e ` t ) = n } ) ) |
| 38 | 28 37 | eqtri | |- ( r e. ~P T |-> ( m e. NN0 |-> { d e. ( ( 0 ... m ) ^m r ) | sum_ u e. r ( d ` u ) = m } ) ) = ( s e. ~P T |-> ( n e. NN0 |-> { e e. ( ( 0 ... n ) ^m s ) | sum_ t e. s ( e ` t ) = n } ) ) |
| 39 | fveq1 | |- ( c = e -> ( c ` t ) = ( e ` t ) ) |
|
| 40 | 39 | sumeq2sdv | |- ( c = e -> sum_ t e. T ( c ` t ) = sum_ t e. T ( e ` t ) ) |
| 41 | 40 | eqeq1d | |- ( c = e -> ( sum_ t e. T ( c ` t ) = n <-> sum_ t e. T ( e ` t ) = n ) ) |
| 42 | 41 | cbvrabv | |- { c e. ( ( 0 ... n ) ^m T ) | sum_ t e. T ( c ` t ) = n } = { e e. ( ( 0 ... n ) ^m T ) | sum_ t e. T ( e ` t ) = n } |
| 43 | 42 | mpteq2i | |- ( n e. NN0 |-> { c e. ( ( 0 ... n ) ^m T ) | sum_ t e. T ( c ` t ) = n } ) = ( n e. NN0 |-> { e e. ( ( 0 ... n ) ^m T ) | sum_ t e. T ( e ` t ) = n } ) |
| 44 | 8 43 | eqtri | |- C = ( n e. NN0 |-> { e e. ( ( 0 ... n ) ^m T ) | sum_ t e. T ( e ` t ) = n } ) |
| 45 | 1 2 3 4 5 6 7 38 44 | dvnprodlem3 | |- ( ph -> ( ( S Dn F ) ` N ) = ( x e. X |-> sum_ e e. ( C ` N ) ( ( ( ! ` N ) / prod_ t e. T ( ! ` ( e ` t ) ) ) x. prod_ t e. T ( ( ( S Dn ( H ` t ) ) ` ( e ` t ) ) ` x ) ) ) ) |
| 46 | fveq1 | |- ( e = c -> ( e ` t ) = ( c ` t ) ) |
|
| 47 | 46 | fveq2d | |- ( e = c -> ( ! ` ( e ` t ) ) = ( ! ` ( c ` t ) ) ) |
| 48 | 47 | prodeq2ad | |- ( e = c -> prod_ t e. T ( ! ` ( e ` t ) ) = prod_ t e. T ( ! ` ( c ` t ) ) ) |
| 49 | 48 | oveq2d | |- ( e = c -> ( ( ! ` N ) / prod_ t e. T ( ! ` ( e ` t ) ) ) = ( ( ! ` N ) / prod_ t e. T ( ! ` ( c ` t ) ) ) ) |
| 50 | 46 | fveq2d | |- ( e = c -> ( ( S Dn ( H ` t ) ) ` ( e ` t ) ) = ( ( S Dn ( H ` t ) ) ` ( c ` t ) ) ) |
| 51 | 50 | fveq1d | |- ( e = c -> ( ( ( S Dn ( H ` t ) ) ` ( e ` t ) ) ` x ) = ( ( ( S Dn ( H ` t ) ) ` ( c ` t ) ) ` x ) ) |
| 52 | 51 | prodeq2ad | |- ( e = c -> prod_ t e. T ( ( ( S Dn ( H ` t ) ) ` ( e ` t ) ) ` x ) = prod_ t e. T ( ( ( S Dn ( H ` t ) ) ` ( c ` t ) ) ` x ) ) |
| 53 | 49 52 | oveq12d | |- ( e = c -> ( ( ( ! ` N ) / prod_ t e. T ( ! ` ( e ` t ) ) ) x. prod_ t e. T ( ( ( S Dn ( H ` t ) ) ` ( e ` t ) ) ` x ) ) = ( ( ( ! ` N ) / prod_ t e. T ( ! ` ( c ` t ) ) ) x. prod_ t e. T ( ( ( S Dn ( H ` t ) ) ` ( c ` t ) ) ` x ) ) ) |
| 54 | 53 | cbvsumv | |- sum_ e e. ( C ` N ) ( ( ( ! ` N ) / prod_ t e. T ( ! ` ( e ` t ) ) ) x. prod_ t e. T ( ( ( S Dn ( H ` t ) ) ` ( e ` t ) ) ` x ) ) = sum_ c e. ( C ` N ) ( ( ( ! ` N ) / prod_ t e. T ( ! ` ( c ` t ) ) ) x. prod_ t e. T ( ( ( S Dn ( H ` t ) ) ` ( c ` t ) ) ` x ) ) |
| 55 | eqid | |- sum_ c e. ( C ` N ) ( ( ( ! ` N ) / prod_ t e. T ( ! ` ( c ` t ) ) ) x. prod_ t e. T ( ( ( S Dn ( H ` t ) ) ` ( c ` t ) ) ` x ) ) = sum_ c e. ( C ` N ) ( ( ( ! ` N ) / prod_ t e. T ( ! ` ( c ` t ) ) ) x. prod_ t e. T ( ( ( S Dn ( H ` t ) ) ` ( c ` t ) ) ` x ) ) |
|
| 56 | 54 55 | eqtri | |- sum_ e e. ( C ` N ) ( ( ( ! ` N ) / prod_ t e. T ( ! ` ( e ` t ) ) ) x. prod_ t e. T ( ( ( S Dn ( H ` t ) ) ` ( e ` t ) ) ` x ) ) = sum_ c e. ( C ` N ) ( ( ( ! ` N ) / prod_ t e. T ( ! ` ( c ` t ) ) ) x. prod_ t e. T ( ( ( S Dn ( H ` t ) ) ` ( c ` t ) ) ` x ) ) |
| 57 | 56 | mpteq2i | |- ( x e. X |-> sum_ e e. ( C ` N ) ( ( ( ! ` N ) / prod_ t e. T ( ! ` ( e ` t ) ) ) x. prod_ t e. T ( ( ( S Dn ( H ` t ) ) ` ( e ` t ) ) ` x ) ) ) = ( x e. X |-> sum_ c e. ( C ` N ) ( ( ( ! ` N ) / prod_ t e. T ( ! ` ( c ` t ) ) ) x. prod_ t e. T ( ( ( S Dn ( H ` t ) ) ` ( c ` t ) ) ` x ) ) ) |
| 58 | 57 | a1i | |- ( ph -> ( x e. X |-> sum_ e e. ( C ` N ) ( ( ( ! ` N ) / prod_ t e. T ( ! ` ( e ` t ) ) ) x. prod_ t e. T ( ( ( S Dn ( H ` t ) ) ` ( e ` t ) ) ` x ) ) ) = ( x e. X |-> sum_ c e. ( C ` N ) ( ( ( ! ` N ) / prod_ t e. T ( ! ` ( c ` t ) ) ) x. prod_ t e. T ( ( ( S Dn ( H ` t ) ) ` ( c ` t ) ) ` x ) ) ) ) |
| 59 | 45 58 | eqtrd | |- ( ph -> ( ( S Dn F ) ` N ) = ( x e. X |-> sum_ c e. ( C ` N ) ( ( ( ! ` N ) / prod_ t e. T ( ! ` ( c ` t ) ) ) x. prod_ t e. T ( ( ( S Dn ( H ` t ) ) ` ( c ` t ) ) ` x ) ) ) ) |