Step |
Hyp |
Ref |
Expression |
1 |
|
fprodabs2.a |
|- ( ph -> A e. Fin ) |
2 |
|
fprodabs2.b |
|- ( ( ph /\ k e. A ) -> B e. CC ) |
3 |
|
prodeq1 |
|- ( x = (/) -> prod_ k e. x B = prod_ k e. (/) B ) |
4 |
3
|
fveq2d |
|- ( x = (/) -> ( abs ` prod_ k e. x B ) = ( abs ` prod_ k e. (/) B ) ) |
5 |
|
prodeq1 |
|- ( x = (/) -> prod_ k e. x ( abs ` B ) = prod_ k e. (/) ( abs ` B ) ) |
6 |
4 5
|
eqeq12d |
|- ( x = (/) -> ( ( abs ` prod_ k e. x B ) = prod_ k e. x ( abs ` B ) <-> ( abs ` prod_ k e. (/) B ) = prod_ k e. (/) ( abs ` B ) ) ) |
7 |
|
prodeq1 |
|- ( x = y -> prod_ k e. x B = prod_ k e. y B ) |
8 |
7
|
fveq2d |
|- ( x = y -> ( abs ` prod_ k e. x B ) = ( abs ` prod_ k e. y B ) ) |
9 |
|
prodeq1 |
|- ( x = y -> prod_ k e. x ( abs ` B ) = prod_ k e. y ( abs ` B ) ) |
10 |
8 9
|
eqeq12d |
|- ( x = y -> ( ( abs ` prod_ k e. x B ) = prod_ k e. x ( abs ` B ) <-> ( abs ` prod_ k e. y B ) = prod_ k e. y ( abs ` B ) ) ) |
11 |
|
prodeq1 |
|- ( x = ( y u. { z } ) -> prod_ k e. x B = prod_ k e. ( y u. { z } ) B ) |
12 |
11
|
fveq2d |
|- ( x = ( y u. { z } ) -> ( abs ` prod_ k e. x B ) = ( abs ` prod_ k e. ( y u. { z } ) B ) ) |
13 |
|
prodeq1 |
|- ( x = ( y u. { z } ) -> prod_ k e. x ( abs ` B ) = prod_ k e. ( y u. { z } ) ( abs ` B ) ) |
14 |
12 13
|
eqeq12d |
|- ( x = ( y u. { z } ) -> ( ( abs ` prod_ k e. x B ) = prod_ k e. x ( abs ` B ) <-> ( abs ` prod_ k e. ( y u. { z } ) B ) = prod_ k e. ( y u. { z } ) ( abs ` B ) ) ) |
15 |
|
prodeq1 |
|- ( x = A -> prod_ k e. x B = prod_ k e. A B ) |
16 |
15
|
fveq2d |
|- ( x = A -> ( abs ` prod_ k e. x B ) = ( abs ` prod_ k e. A B ) ) |
17 |
|
prodeq1 |
|- ( x = A -> prod_ k e. x ( abs ` B ) = prod_ k e. A ( abs ` B ) ) |
18 |
16 17
|
eqeq12d |
|- ( x = A -> ( ( abs ` prod_ k e. x B ) = prod_ k e. x ( abs ` B ) <-> ( abs ` prod_ k e. A B ) = prod_ k e. A ( abs ` B ) ) ) |
19 |
|
abs1 |
|- ( abs ` 1 ) = 1 |
20 |
|
prod0 |
|- prod_ k e. (/) B = 1 |
21 |
20
|
fveq2i |
|- ( abs ` prod_ k e. (/) B ) = ( abs ` 1 ) |
22 |
|
prod0 |
|- prod_ k e. (/) ( abs ` B ) = 1 |
23 |
19 21 22
|
3eqtr4i |
|- ( abs ` prod_ k e. (/) B ) = prod_ k e. (/) ( abs ` B ) |
24 |
23
|
a1i |
|- ( ph -> ( abs ` prod_ k e. (/) B ) = prod_ k e. (/) ( abs ` B ) ) |
25 |
|
eqidd |
|- ( ( ( ph /\ ( y C_ A /\ z e. ( A \ y ) ) ) /\ ( abs ` prod_ k e. y B ) = prod_ k e. y ( abs ` B ) ) -> ( prod_ k e. y ( abs ` B ) x. ( abs ` [_ z / k ]_ B ) ) = ( prod_ k e. y ( abs ` B ) x. ( abs ` [_ z / k ]_ B ) ) ) |
26 |
|
nfv |
|- F/ k ( ph /\ ( y C_ A /\ z e. ( A \ y ) ) ) |
27 |
|
nfcsb1v |
|- F/_ k [_ z / k ]_ B |
28 |
1
|
adantr |
|- ( ( ph /\ y C_ A ) -> A e. Fin ) |
29 |
|
simpr |
|- ( ( ph /\ y C_ A ) -> y C_ A ) |
30 |
|
ssfi |
|- ( ( A e. Fin /\ y C_ A ) -> y e. Fin ) |
31 |
28 29 30
|
syl2anc |
|- ( ( ph /\ y C_ A ) -> y e. Fin ) |
32 |
31
|
adantrr |
|- ( ( ph /\ ( y C_ A /\ z e. ( A \ y ) ) ) -> y e. Fin ) |
33 |
|
simprr |
|- ( ( ph /\ ( y C_ A /\ z e. ( A \ y ) ) ) -> z e. ( A \ y ) ) |
34 |
33
|
eldifbd |
|- ( ( ph /\ ( y C_ A /\ z e. ( A \ y ) ) ) -> -. z e. y ) |
35 |
|
simpll |
|- ( ( ( ph /\ ( y C_ A /\ z e. ( A \ y ) ) ) /\ k e. y ) -> ph ) |
36 |
29
|
sselda |
|- ( ( ( ph /\ y C_ A ) /\ k e. y ) -> k e. A ) |
37 |
36
|
adantlrr |
|- ( ( ( ph /\ ( y C_ A /\ z e. ( A \ y ) ) ) /\ k e. y ) -> k e. A ) |
38 |
35 37 2
|
syl2anc |
|- ( ( ( ph /\ ( y C_ A /\ z e. ( A \ y ) ) ) /\ k e. y ) -> B e. CC ) |
39 |
|
csbeq1a |
|- ( k = z -> B = [_ z / k ]_ B ) |
40 |
|
simpl |
|- ( ( ph /\ ( y C_ A /\ z e. ( A \ y ) ) ) -> ph ) |
41 |
33
|
eldifad |
|- ( ( ph /\ ( y C_ A /\ z e. ( A \ y ) ) ) -> z e. A ) |
42 |
|
nfv |
|- F/ k ( ph /\ z e. A ) |
43 |
27
|
nfel1 |
|- F/ k [_ z / k ]_ B e. CC |
44 |
42 43
|
nfim |
|- F/ k ( ( ph /\ z e. A ) -> [_ z / k ]_ B e. CC ) |
45 |
|
eleq1w |
|- ( k = z -> ( k e. A <-> z e. A ) ) |
46 |
45
|
anbi2d |
|- ( k = z -> ( ( ph /\ k e. A ) <-> ( ph /\ z e. A ) ) ) |
47 |
39
|
eleq1d |
|- ( k = z -> ( B e. CC <-> [_ z / k ]_ B e. CC ) ) |
48 |
46 47
|
imbi12d |
|- ( k = z -> ( ( ( ph /\ k e. A ) -> B e. CC ) <-> ( ( ph /\ z e. A ) -> [_ z / k ]_ B e. CC ) ) ) |
49 |
44 48 2
|
chvarfv |
|- ( ( ph /\ z e. A ) -> [_ z / k ]_ B e. CC ) |
50 |
40 41 49
|
syl2anc |
|- ( ( ph /\ ( y C_ A /\ z e. ( A \ y ) ) ) -> [_ z / k ]_ B e. CC ) |
51 |
26 27 32 33 34 38 39 50
|
fprodsplitsn |
|- ( ( ph /\ ( y C_ A /\ z e. ( A \ y ) ) ) -> prod_ k e. ( y u. { z } ) B = ( prod_ k e. y B x. [_ z / k ]_ B ) ) |
52 |
51
|
adantr |
|- ( ( ( ph /\ ( y C_ A /\ z e. ( A \ y ) ) ) /\ ( abs ` prod_ k e. y B ) = prod_ k e. y ( abs ` B ) ) -> prod_ k e. ( y u. { z } ) B = ( prod_ k e. y B x. [_ z / k ]_ B ) ) |
53 |
52
|
fveq2d |
|- ( ( ( ph /\ ( y C_ A /\ z e. ( A \ y ) ) ) /\ ( abs ` prod_ k e. y B ) = prod_ k e. y ( abs ` B ) ) -> ( abs ` prod_ k e. ( y u. { z } ) B ) = ( abs ` ( prod_ k e. y B x. [_ z / k ]_ B ) ) ) |
54 |
26 32 38
|
fprodclf |
|- ( ( ph /\ ( y C_ A /\ z e. ( A \ y ) ) ) -> prod_ k e. y B e. CC ) |
55 |
54 50
|
absmuld |
|- ( ( ph /\ ( y C_ A /\ z e. ( A \ y ) ) ) -> ( abs ` ( prod_ k e. y B x. [_ z / k ]_ B ) ) = ( ( abs ` prod_ k e. y B ) x. ( abs ` [_ z / k ]_ B ) ) ) |
56 |
55
|
adantr |
|- ( ( ( ph /\ ( y C_ A /\ z e. ( A \ y ) ) ) /\ ( abs ` prod_ k e. y B ) = prod_ k e. y ( abs ` B ) ) -> ( abs ` ( prod_ k e. y B x. [_ z / k ]_ B ) ) = ( ( abs ` prod_ k e. y B ) x. ( abs ` [_ z / k ]_ B ) ) ) |
57 |
|
oveq1 |
|- ( ( abs ` prod_ k e. y B ) = prod_ k e. y ( abs ` B ) -> ( ( abs ` prod_ k e. y B ) x. ( abs ` [_ z / k ]_ B ) ) = ( prod_ k e. y ( abs ` B ) x. ( abs ` [_ z / k ]_ B ) ) ) |
58 |
57
|
adantl |
|- ( ( ( ph /\ ( y C_ A /\ z e. ( A \ y ) ) ) /\ ( abs ` prod_ k e. y B ) = prod_ k e. y ( abs ` B ) ) -> ( ( abs ` prod_ k e. y B ) x. ( abs ` [_ z / k ]_ B ) ) = ( prod_ k e. y ( abs ` B ) x. ( abs ` [_ z / k ]_ B ) ) ) |
59 |
53 56 58
|
3eqtrd |
|- ( ( ( ph /\ ( y C_ A /\ z e. ( A \ y ) ) ) /\ ( abs ` prod_ k e. y B ) = prod_ k e. y ( abs ` B ) ) -> ( abs ` prod_ k e. ( y u. { z } ) B ) = ( prod_ k e. y ( abs ` B ) x. ( abs ` [_ z / k ]_ B ) ) ) |
60 |
|
nfcv |
|- F/_ k abs |
61 |
60 27
|
nffv |
|- F/_ k ( abs ` [_ z / k ]_ B ) |
62 |
38
|
abscld |
|- ( ( ( ph /\ ( y C_ A /\ z e. ( A \ y ) ) ) /\ k e. y ) -> ( abs ` B ) e. RR ) |
63 |
62
|
recnd |
|- ( ( ( ph /\ ( y C_ A /\ z e. ( A \ y ) ) ) /\ k e. y ) -> ( abs ` B ) e. CC ) |
64 |
39
|
fveq2d |
|- ( k = z -> ( abs ` B ) = ( abs ` [_ z / k ]_ B ) ) |
65 |
50
|
abscld |
|- ( ( ph /\ ( y C_ A /\ z e. ( A \ y ) ) ) -> ( abs ` [_ z / k ]_ B ) e. RR ) |
66 |
65
|
recnd |
|- ( ( ph /\ ( y C_ A /\ z e. ( A \ y ) ) ) -> ( abs ` [_ z / k ]_ B ) e. CC ) |
67 |
26 61 32 33 34 63 64 66
|
fprodsplitsn |
|- ( ( ph /\ ( y C_ A /\ z e. ( A \ y ) ) ) -> prod_ k e. ( y u. { z } ) ( abs ` B ) = ( prod_ k e. y ( abs ` B ) x. ( abs ` [_ z / k ]_ B ) ) ) |
68 |
67
|
adantr |
|- ( ( ( ph /\ ( y C_ A /\ z e. ( A \ y ) ) ) /\ ( abs ` prod_ k e. y B ) = prod_ k e. y ( abs ` B ) ) -> prod_ k e. ( y u. { z } ) ( abs ` B ) = ( prod_ k e. y ( abs ` B ) x. ( abs ` [_ z / k ]_ B ) ) ) |
69 |
25 59 68
|
3eqtr4d |
|- ( ( ( ph /\ ( y C_ A /\ z e. ( A \ y ) ) ) /\ ( abs ` prod_ k e. y B ) = prod_ k e. y ( abs ` B ) ) -> ( abs ` prod_ k e. ( y u. { z } ) B ) = prod_ k e. ( y u. { z } ) ( abs ` B ) ) |
70 |
69
|
ex |
|- ( ( ph /\ ( y C_ A /\ z e. ( A \ y ) ) ) -> ( ( abs ` prod_ k e. y B ) = prod_ k e. y ( abs ` B ) -> ( abs ` prod_ k e. ( y u. { z } ) B ) = prod_ k e. ( y u. { z } ) ( abs ` B ) ) ) |
71 |
6 10 14 18 24 70 1
|
findcard2d |
|- ( ph -> ( abs ` prod_ k e. A B ) = prod_ k e. A ( abs ` B ) ) |