This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Distribute function operation through a sequence. Maps-to notation version of seqof . (Contributed by Mario Carneiro, 7-Jul-2017)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | seqof2.1 | |- ( ph -> A e. V ) |
|
| seqof2.2 | |- ( ph -> N e. ( ZZ>= ` M ) ) |
||
| seqof2.3 | |- ( ph -> ( M ... N ) C_ B ) |
||
| seqof2.4 | |- ( ( ph /\ ( x e. B /\ z e. A ) ) -> X e. W ) |
||
| Assertion | seqof2 | |- ( ph -> ( seq M ( oF .+ , ( x e. B |-> ( z e. A |-> X ) ) ) ` N ) = ( z e. A |-> ( seq M ( .+ , ( x e. B |-> X ) ) ` N ) ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | seqof2.1 | |- ( ph -> A e. V ) |
|
| 2 | seqof2.2 | |- ( ph -> N e. ( ZZ>= ` M ) ) |
|
| 3 | seqof2.3 | |- ( ph -> ( M ... N ) C_ B ) |
|
| 4 | seqof2.4 | |- ( ( ph /\ ( x e. B /\ z e. A ) ) -> X e. W ) |
|
| 5 | nfv | |- F/ x ( ph /\ n e. ( M ... N ) ) |
|
| 6 | nffvmpt1 | |- F/_ x ( ( x e. B |-> ( z e. A |-> X ) ) ` n ) |
|
| 7 | nfcv | |- F/_ x A |
|
| 8 | nffvmpt1 | |- F/_ x ( ( x e. B |-> X ) ` n ) |
|
| 9 | 7 8 | nfmpt | |- F/_ x ( z e. A |-> ( ( x e. B |-> X ) ` n ) ) |
| 10 | 6 9 | nfeq | |- F/ x ( ( x e. B |-> ( z e. A |-> X ) ) ` n ) = ( z e. A |-> ( ( x e. B |-> X ) ` n ) ) |
| 11 | 5 10 | nfim | |- F/ x ( ( ph /\ n e. ( M ... N ) ) -> ( ( x e. B |-> ( z e. A |-> X ) ) ` n ) = ( z e. A |-> ( ( x e. B |-> X ) ` n ) ) ) |
| 12 | eleq1w | |- ( x = n -> ( x e. ( M ... N ) <-> n e. ( M ... N ) ) ) |
|
| 13 | 12 | anbi2d | |- ( x = n -> ( ( ph /\ x e. ( M ... N ) ) <-> ( ph /\ n e. ( M ... N ) ) ) ) |
| 14 | fveq2 | |- ( x = n -> ( ( x e. B |-> ( z e. A |-> X ) ) ` x ) = ( ( x e. B |-> ( z e. A |-> X ) ) ` n ) ) |
|
| 15 | fveq2 | |- ( x = n -> ( ( x e. B |-> X ) ` x ) = ( ( x e. B |-> X ) ` n ) ) |
|
| 16 | 15 | mpteq2dv | |- ( x = n -> ( z e. A |-> ( ( x e. B |-> X ) ` x ) ) = ( z e. A |-> ( ( x e. B |-> X ) ` n ) ) ) |
| 17 | 14 16 | eqeq12d | |- ( x = n -> ( ( ( x e. B |-> ( z e. A |-> X ) ) ` x ) = ( z e. A |-> ( ( x e. B |-> X ) ` x ) ) <-> ( ( x e. B |-> ( z e. A |-> X ) ) ` n ) = ( z e. A |-> ( ( x e. B |-> X ) ` n ) ) ) ) |
| 18 | 13 17 | imbi12d | |- ( x = n -> ( ( ( ph /\ x e. ( M ... N ) ) -> ( ( x e. B |-> ( z e. A |-> X ) ) ` x ) = ( z e. A |-> ( ( x e. B |-> X ) ` x ) ) ) <-> ( ( ph /\ n e. ( M ... N ) ) -> ( ( x e. B |-> ( z e. A |-> X ) ) ` n ) = ( z e. A |-> ( ( x e. B |-> X ) ` n ) ) ) ) ) |
| 19 | 3 | sselda | |- ( ( ph /\ x e. ( M ... N ) ) -> x e. B ) |
| 20 | 1 | adantr | |- ( ( ph /\ x e. ( M ... N ) ) -> A e. V ) |
| 21 | 20 | mptexd | |- ( ( ph /\ x e. ( M ... N ) ) -> ( z e. A |-> X ) e. _V ) |
| 22 | eqid | |- ( x e. B |-> ( z e. A |-> X ) ) = ( x e. B |-> ( z e. A |-> X ) ) |
|
| 23 | 22 | fvmpt2 | |- ( ( x e. B /\ ( z e. A |-> X ) e. _V ) -> ( ( x e. B |-> ( z e. A |-> X ) ) ` x ) = ( z e. A |-> X ) ) |
| 24 | 19 21 23 | syl2anc | |- ( ( ph /\ x e. ( M ... N ) ) -> ( ( x e. B |-> ( z e. A |-> X ) ) ` x ) = ( z e. A |-> X ) ) |
| 25 | 19 | adantr | |- ( ( ( ph /\ x e. ( M ... N ) ) /\ z e. A ) -> x e. B ) |
| 26 | simpll | |- ( ( ( ph /\ x e. ( M ... N ) ) /\ z e. A ) -> ph ) |
|
| 27 | simpr | |- ( ( ( ph /\ x e. ( M ... N ) ) /\ z e. A ) -> z e. A ) |
|
| 28 | 26 25 27 4 | syl12anc | |- ( ( ( ph /\ x e. ( M ... N ) ) /\ z e. A ) -> X e. W ) |
| 29 | eqid | |- ( x e. B |-> X ) = ( x e. B |-> X ) |
|
| 30 | 29 | fvmpt2 | |- ( ( x e. B /\ X e. W ) -> ( ( x e. B |-> X ) ` x ) = X ) |
| 31 | 25 28 30 | syl2anc | |- ( ( ( ph /\ x e. ( M ... N ) ) /\ z e. A ) -> ( ( x e. B |-> X ) ` x ) = X ) |
| 32 | 31 | mpteq2dva | |- ( ( ph /\ x e. ( M ... N ) ) -> ( z e. A |-> ( ( x e. B |-> X ) ` x ) ) = ( z e. A |-> X ) ) |
| 33 | 24 32 | eqtr4d | |- ( ( ph /\ x e. ( M ... N ) ) -> ( ( x e. B |-> ( z e. A |-> X ) ) ` x ) = ( z e. A |-> ( ( x e. B |-> X ) ` x ) ) ) |
| 34 | 11 18 33 | chvarfv | |- ( ( ph /\ n e. ( M ... N ) ) -> ( ( x e. B |-> ( z e. A |-> X ) ) ` n ) = ( z e. A |-> ( ( x e. B |-> X ) ` n ) ) ) |
| 35 | nfcv | |- F/_ y ( ( x e. B |-> X ) ` n ) |
|
| 36 | nfcsb1v | |- F/_ z [_ y / z ]_ ( x e. B |-> X ) |
|
| 37 | nfcv | |- F/_ z n |
|
| 38 | 36 37 | nffv | |- F/_ z ( [_ y / z ]_ ( x e. B |-> X ) ` n ) |
| 39 | csbeq1a | |- ( z = y -> ( x e. B |-> X ) = [_ y / z ]_ ( x e. B |-> X ) ) |
|
| 40 | 39 | fveq1d | |- ( z = y -> ( ( x e. B |-> X ) ` n ) = ( [_ y / z ]_ ( x e. B |-> X ) ` n ) ) |
| 41 | 35 38 40 | cbvmpt | |- ( z e. A |-> ( ( x e. B |-> X ) ` n ) ) = ( y e. A |-> ( [_ y / z ]_ ( x e. B |-> X ) ` n ) ) |
| 42 | 34 41 | eqtrdi | |- ( ( ph /\ n e. ( M ... N ) ) -> ( ( x e. B |-> ( z e. A |-> X ) ) ` n ) = ( y e. A |-> ( [_ y / z ]_ ( x e. B |-> X ) ` n ) ) ) |
| 43 | 1 2 42 | seqof | |- ( ph -> ( seq M ( oF .+ , ( x e. B |-> ( z e. A |-> X ) ) ) ` N ) = ( y e. A |-> ( seq M ( .+ , [_ y / z ]_ ( x e. B |-> X ) ) ` N ) ) ) |
| 44 | nfcv | |- F/_ y ( seq M ( .+ , ( x e. B |-> X ) ) ` N ) |
|
| 45 | nfcv | |- F/_ z M |
|
| 46 | nfcv | |- F/_ z .+ |
|
| 47 | 45 46 36 | nfseq | |- F/_ z seq M ( .+ , [_ y / z ]_ ( x e. B |-> X ) ) |
| 48 | nfcv | |- F/_ z N |
|
| 49 | 47 48 | nffv | |- F/_ z ( seq M ( .+ , [_ y / z ]_ ( x e. B |-> X ) ) ` N ) |
| 50 | 39 | seqeq3d | |- ( z = y -> seq M ( .+ , ( x e. B |-> X ) ) = seq M ( .+ , [_ y / z ]_ ( x e. B |-> X ) ) ) |
| 51 | 50 | fveq1d | |- ( z = y -> ( seq M ( .+ , ( x e. B |-> X ) ) ` N ) = ( seq M ( .+ , [_ y / z ]_ ( x e. B |-> X ) ) ` N ) ) |
| 52 | 44 49 51 | cbvmpt | |- ( z e. A |-> ( seq M ( .+ , ( x e. B |-> X ) ) ` N ) ) = ( y e. A |-> ( seq M ( .+ , [_ y / z ]_ ( x e. B |-> X ) ) ` N ) ) |
| 53 | 43 52 | eqtr4di | |- ( ph -> ( seq M ( oF .+ , ( x e. B |-> ( z e. A |-> X ) ) ) ` N ) = ( z e. A |-> ( seq M ( .+ , ( x e. B |-> X ) ) ` N ) ) ) |