Step |
Hyp |
Ref |
Expression |
1 |
|
incexc |
|- ( ( A e. Fin /\ A C_ Fin ) -> ( # ` U. A ) = sum_ s e. ( ~P A \ { (/) } ) ( ( -u 1 ^ ( ( # ` s ) - 1 ) ) x. ( # ` |^| s ) ) ) |
2 |
|
hashcl |
|- ( A e. Fin -> ( # ` A ) e. NN0 ) |
3 |
2
|
ad2antrr |
|- ( ( ( A e. Fin /\ A C_ Fin ) /\ k e. ~P A ) -> ( # ` A ) e. NN0 ) |
4 |
3
|
nn0zd |
|- ( ( ( A e. Fin /\ A C_ Fin ) /\ k e. ~P A ) -> ( # ` A ) e. ZZ ) |
5 |
|
simpl |
|- ( ( A e. Fin /\ A C_ Fin ) -> A e. Fin ) |
6 |
|
elpwi |
|- ( k e. ~P A -> k C_ A ) |
7 |
|
ssdomg |
|- ( A e. Fin -> ( k C_ A -> k ~<_ A ) ) |
8 |
7
|
imp |
|- ( ( A e. Fin /\ k C_ A ) -> k ~<_ A ) |
9 |
5 6 8
|
syl2an |
|- ( ( ( A e. Fin /\ A C_ Fin ) /\ k e. ~P A ) -> k ~<_ A ) |
10 |
|
hashdomi |
|- ( k ~<_ A -> ( # ` k ) <_ ( # ` A ) ) |
11 |
9 10
|
syl |
|- ( ( ( A e. Fin /\ A C_ Fin ) /\ k e. ~P A ) -> ( # ` k ) <_ ( # ` A ) ) |
12 |
|
fznn |
|- ( ( # ` A ) e. ZZ -> ( ( # ` k ) e. ( 1 ... ( # ` A ) ) <-> ( ( # ` k ) e. NN /\ ( # ` k ) <_ ( # ` A ) ) ) ) |
13 |
12
|
rbaibd |
|- ( ( ( # ` A ) e. ZZ /\ ( # ` k ) <_ ( # ` A ) ) -> ( ( # ` k ) e. ( 1 ... ( # ` A ) ) <-> ( # ` k ) e. NN ) ) |
14 |
4 11 13
|
syl2anc |
|- ( ( ( A e. Fin /\ A C_ Fin ) /\ k e. ~P A ) -> ( ( # ` k ) e. ( 1 ... ( # ` A ) ) <-> ( # ` k ) e. NN ) ) |
15 |
|
ssfi |
|- ( ( A e. Fin /\ k C_ A ) -> k e. Fin ) |
16 |
5 6 15
|
syl2an |
|- ( ( ( A e. Fin /\ A C_ Fin ) /\ k e. ~P A ) -> k e. Fin ) |
17 |
|
hashnncl |
|- ( k e. Fin -> ( ( # ` k ) e. NN <-> k =/= (/) ) ) |
18 |
16 17
|
syl |
|- ( ( ( A e. Fin /\ A C_ Fin ) /\ k e. ~P A ) -> ( ( # ` k ) e. NN <-> k =/= (/) ) ) |
19 |
14 18
|
bitr2d |
|- ( ( ( A e. Fin /\ A C_ Fin ) /\ k e. ~P A ) -> ( k =/= (/) <-> ( # ` k ) e. ( 1 ... ( # ` A ) ) ) ) |
20 |
|
df-ne |
|- ( k =/= (/) <-> -. k = (/) ) |
21 |
|
risset |
|- ( ( # ` k ) e. ( 1 ... ( # ` A ) ) <-> E. n e. ( 1 ... ( # ` A ) ) n = ( # ` k ) ) |
22 |
19 20 21
|
3bitr3g |
|- ( ( ( A e. Fin /\ A C_ Fin ) /\ k e. ~P A ) -> ( -. k = (/) <-> E. n e. ( 1 ... ( # ` A ) ) n = ( # ` k ) ) ) |
23 |
|
velsn |
|- ( k e. { (/) } <-> k = (/) ) |
24 |
23
|
notbii |
|- ( -. k e. { (/) } <-> -. k = (/) ) |
25 |
|
eqcom |
|- ( ( # ` k ) = n <-> n = ( # ` k ) ) |
26 |
25
|
rexbii |
|- ( E. n e. ( 1 ... ( # ` A ) ) ( # ` k ) = n <-> E. n e. ( 1 ... ( # ` A ) ) n = ( # ` k ) ) |
27 |
22 24 26
|
3bitr4g |
|- ( ( ( A e. Fin /\ A C_ Fin ) /\ k e. ~P A ) -> ( -. k e. { (/) } <-> E. n e. ( 1 ... ( # ` A ) ) ( # ` k ) = n ) ) |
28 |
27
|
rabbidva |
|- ( ( A e. Fin /\ A C_ Fin ) -> { k e. ~P A | -. k e. { (/) } } = { k e. ~P A | E. n e. ( 1 ... ( # ` A ) ) ( # ` k ) = n } ) |
29 |
|
dfdif2 |
|- ( ~P A \ { (/) } ) = { k e. ~P A | -. k e. { (/) } } |
30 |
|
iunrab |
|- U_ n e. ( 1 ... ( # ` A ) ) { k e. ~P A | ( # ` k ) = n } = { k e. ~P A | E. n e. ( 1 ... ( # ` A ) ) ( # ` k ) = n } |
31 |
28 29 30
|
3eqtr4g |
|- ( ( A e. Fin /\ A C_ Fin ) -> ( ~P A \ { (/) } ) = U_ n e. ( 1 ... ( # ` A ) ) { k e. ~P A | ( # ` k ) = n } ) |
32 |
31
|
sumeq1d |
|- ( ( A e. Fin /\ A C_ Fin ) -> sum_ s e. ( ~P A \ { (/) } ) ( ( -u 1 ^ ( ( # ` s ) - 1 ) ) x. ( # ` |^| s ) ) = sum_ s e. U_ n e. ( 1 ... ( # ` A ) ) { k e. ~P A | ( # ` k ) = n } ( ( -u 1 ^ ( ( # ` s ) - 1 ) ) x. ( # ` |^| s ) ) ) |
33 |
1 32
|
eqtrd |
|- ( ( A e. Fin /\ A C_ Fin ) -> ( # ` U. A ) = sum_ s e. U_ n e. ( 1 ... ( # ` A ) ) { k e. ~P A | ( # ` k ) = n } ( ( -u 1 ^ ( ( # ` s ) - 1 ) ) x. ( # ` |^| s ) ) ) |
34 |
|
fzfid |
|- ( ( A e. Fin /\ A C_ Fin ) -> ( 1 ... ( # ` A ) ) e. Fin ) |
35 |
|
simpll |
|- ( ( ( A e. Fin /\ A C_ Fin ) /\ n e. ( 1 ... ( # ` A ) ) ) -> A e. Fin ) |
36 |
|
pwfi |
|- ( A e. Fin <-> ~P A e. Fin ) |
37 |
35 36
|
sylib |
|- ( ( ( A e. Fin /\ A C_ Fin ) /\ n e. ( 1 ... ( # ` A ) ) ) -> ~P A e. Fin ) |
38 |
|
ssrab2 |
|- { k e. ~P A | ( # ` k ) = n } C_ ~P A |
39 |
|
ssfi |
|- ( ( ~P A e. Fin /\ { k e. ~P A | ( # ` k ) = n } C_ ~P A ) -> { k e. ~P A | ( # ` k ) = n } e. Fin ) |
40 |
37 38 39
|
sylancl |
|- ( ( ( A e. Fin /\ A C_ Fin ) /\ n e. ( 1 ... ( # ` A ) ) ) -> { k e. ~P A | ( # ` k ) = n } e. Fin ) |
41 |
|
fveqeq2 |
|- ( k = s -> ( ( # ` k ) = n <-> ( # ` s ) = n ) ) |
42 |
41
|
elrab |
|- ( s e. { k e. ~P A | ( # ` k ) = n } <-> ( s e. ~P A /\ ( # ` s ) = n ) ) |
43 |
42
|
simprbi |
|- ( s e. { k e. ~P A | ( # ` k ) = n } -> ( # ` s ) = n ) |
44 |
43
|
adantl |
|- ( ( ( ( A e. Fin /\ A C_ Fin ) /\ n e. ( 1 ... ( # ` A ) ) ) /\ s e. { k e. ~P A | ( # ` k ) = n } ) -> ( # ` s ) = n ) |
45 |
44
|
ralrimiva |
|- ( ( ( A e. Fin /\ A C_ Fin ) /\ n e. ( 1 ... ( # ` A ) ) ) -> A. s e. { k e. ~P A | ( # ` k ) = n } ( # ` s ) = n ) |
46 |
45
|
ralrimiva |
|- ( ( A e. Fin /\ A C_ Fin ) -> A. n e. ( 1 ... ( # ` A ) ) A. s e. { k e. ~P A | ( # ` k ) = n } ( # ` s ) = n ) |
47 |
|
invdisj |
|- ( A. n e. ( 1 ... ( # ` A ) ) A. s e. { k e. ~P A | ( # ` k ) = n } ( # ` s ) = n -> Disj_ n e. ( 1 ... ( # ` A ) ) { k e. ~P A | ( # ` k ) = n } ) |
48 |
46 47
|
syl |
|- ( ( A e. Fin /\ A C_ Fin ) -> Disj_ n e. ( 1 ... ( # ` A ) ) { k e. ~P A | ( # ` k ) = n } ) |
49 |
44
|
oveq1d |
|- ( ( ( ( A e. Fin /\ A C_ Fin ) /\ n e. ( 1 ... ( # ` A ) ) ) /\ s e. { k e. ~P A | ( # ` k ) = n } ) -> ( ( # ` s ) - 1 ) = ( n - 1 ) ) |
50 |
49
|
oveq2d |
|- ( ( ( ( A e. Fin /\ A C_ Fin ) /\ n e. ( 1 ... ( # ` A ) ) ) /\ s e. { k e. ~P A | ( # ` k ) = n } ) -> ( -u 1 ^ ( ( # ` s ) - 1 ) ) = ( -u 1 ^ ( n - 1 ) ) ) |
51 |
50
|
oveq1d |
|- ( ( ( ( A e. Fin /\ A C_ Fin ) /\ n e. ( 1 ... ( # ` A ) ) ) /\ s e. { k e. ~P A | ( # ` k ) = n } ) -> ( ( -u 1 ^ ( ( # ` s ) - 1 ) ) x. ( # ` |^| s ) ) = ( ( -u 1 ^ ( n - 1 ) ) x. ( # ` |^| s ) ) ) |
52 |
|
1cnd |
|- ( ( ( A e. Fin /\ A C_ Fin ) /\ n e. ( 1 ... ( # ` A ) ) ) -> 1 e. CC ) |
53 |
52
|
negcld |
|- ( ( ( A e. Fin /\ A C_ Fin ) /\ n e. ( 1 ... ( # ` A ) ) ) -> -u 1 e. CC ) |
54 |
|
elfznn |
|- ( n e. ( 1 ... ( # ` A ) ) -> n e. NN ) |
55 |
54
|
adantl |
|- ( ( ( A e. Fin /\ A C_ Fin ) /\ n e. ( 1 ... ( # ` A ) ) ) -> n e. NN ) |
56 |
|
nnm1nn0 |
|- ( n e. NN -> ( n - 1 ) e. NN0 ) |
57 |
55 56
|
syl |
|- ( ( ( A e. Fin /\ A C_ Fin ) /\ n e. ( 1 ... ( # ` A ) ) ) -> ( n - 1 ) e. NN0 ) |
58 |
53 57
|
expcld |
|- ( ( ( A e. Fin /\ A C_ Fin ) /\ n e. ( 1 ... ( # ` A ) ) ) -> ( -u 1 ^ ( n - 1 ) ) e. CC ) |
59 |
58
|
adantr |
|- ( ( ( ( A e. Fin /\ A C_ Fin ) /\ n e. ( 1 ... ( # ` A ) ) ) /\ s e. { k e. ~P A | ( # ` k ) = n } ) -> ( -u 1 ^ ( n - 1 ) ) e. CC ) |
60 |
|
unifi |
|- ( ( A e. Fin /\ A C_ Fin ) -> U. A e. Fin ) |
61 |
60
|
ad2antrr |
|- ( ( ( ( A e. Fin /\ A C_ Fin ) /\ n e. ( 1 ... ( # ` A ) ) ) /\ s e. { k e. ~P A | ( # ` k ) = n } ) -> U. A e. Fin ) |
62 |
55
|
adantr |
|- ( ( ( ( A e. Fin /\ A C_ Fin ) /\ n e. ( 1 ... ( # ` A ) ) ) /\ s e. { k e. ~P A | ( # ` k ) = n } ) -> n e. NN ) |
63 |
44 62
|
eqeltrd |
|- ( ( ( ( A e. Fin /\ A C_ Fin ) /\ n e. ( 1 ... ( # ` A ) ) ) /\ s e. { k e. ~P A | ( # ` k ) = n } ) -> ( # ` s ) e. NN ) |
64 |
35
|
adantr |
|- ( ( ( ( A e. Fin /\ A C_ Fin ) /\ n e. ( 1 ... ( # ` A ) ) ) /\ s e. { k e. ~P A | ( # ` k ) = n } ) -> A e. Fin ) |
65 |
|
elrabi |
|- ( s e. { k e. ~P A | ( # ` k ) = n } -> s e. ~P A ) |
66 |
65
|
adantl |
|- ( ( ( ( A e. Fin /\ A C_ Fin ) /\ n e. ( 1 ... ( # ` A ) ) ) /\ s e. { k e. ~P A | ( # ` k ) = n } ) -> s e. ~P A ) |
67 |
|
elpwi |
|- ( s e. ~P A -> s C_ A ) |
68 |
66 67
|
syl |
|- ( ( ( ( A e. Fin /\ A C_ Fin ) /\ n e. ( 1 ... ( # ` A ) ) ) /\ s e. { k e. ~P A | ( # ` k ) = n } ) -> s C_ A ) |
69 |
64 68
|
ssfid |
|- ( ( ( ( A e. Fin /\ A C_ Fin ) /\ n e. ( 1 ... ( # ` A ) ) ) /\ s e. { k e. ~P A | ( # ` k ) = n } ) -> s e. Fin ) |
70 |
|
hashnncl |
|- ( s e. Fin -> ( ( # ` s ) e. NN <-> s =/= (/) ) ) |
71 |
69 70
|
syl |
|- ( ( ( ( A e. Fin /\ A C_ Fin ) /\ n e. ( 1 ... ( # ` A ) ) ) /\ s e. { k e. ~P A | ( # ` k ) = n } ) -> ( ( # ` s ) e. NN <-> s =/= (/) ) ) |
72 |
63 71
|
mpbid |
|- ( ( ( ( A e. Fin /\ A C_ Fin ) /\ n e. ( 1 ... ( # ` A ) ) ) /\ s e. { k e. ~P A | ( # ` k ) = n } ) -> s =/= (/) ) |
73 |
|
intssuni |
|- ( s =/= (/) -> |^| s C_ U. s ) |
74 |
72 73
|
syl |
|- ( ( ( ( A e. Fin /\ A C_ Fin ) /\ n e. ( 1 ... ( # ` A ) ) ) /\ s e. { k e. ~P A | ( # ` k ) = n } ) -> |^| s C_ U. s ) |
75 |
68
|
unissd |
|- ( ( ( ( A e. Fin /\ A C_ Fin ) /\ n e. ( 1 ... ( # ` A ) ) ) /\ s e. { k e. ~P A | ( # ` k ) = n } ) -> U. s C_ U. A ) |
76 |
74 75
|
sstrd |
|- ( ( ( ( A e. Fin /\ A C_ Fin ) /\ n e. ( 1 ... ( # ` A ) ) ) /\ s e. { k e. ~P A | ( # ` k ) = n } ) -> |^| s C_ U. A ) |
77 |
61 76
|
ssfid |
|- ( ( ( ( A e. Fin /\ A C_ Fin ) /\ n e. ( 1 ... ( # ` A ) ) ) /\ s e. { k e. ~P A | ( # ` k ) = n } ) -> |^| s e. Fin ) |
78 |
|
hashcl |
|- ( |^| s e. Fin -> ( # ` |^| s ) e. NN0 ) |
79 |
77 78
|
syl |
|- ( ( ( ( A e. Fin /\ A C_ Fin ) /\ n e. ( 1 ... ( # ` A ) ) ) /\ s e. { k e. ~P A | ( # ` k ) = n } ) -> ( # ` |^| s ) e. NN0 ) |
80 |
79
|
nn0cnd |
|- ( ( ( ( A e. Fin /\ A C_ Fin ) /\ n e. ( 1 ... ( # ` A ) ) ) /\ s e. { k e. ~P A | ( # ` k ) = n } ) -> ( # ` |^| s ) e. CC ) |
81 |
59 80
|
mulcld |
|- ( ( ( ( A e. Fin /\ A C_ Fin ) /\ n e. ( 1 ... ( # ` A ) ) ) /\ s e. { k e. ~P A | ( # ` k ) = n } ) -> ( ( -u 1 ^ ( n - 1 ) ) x. ( # ` |^| s ) ) e. CC ) |
82 |
51 81
|
eqeltrd |
|- ( ( ( ( A e. Fin /\ A C_ Fin ) /\ n e. ( 1 ... ( # ` A ) ) ) /\ s e. { k e. ~P A | ( # ` k ) = n } ) -> ( ( -u 1 ^ ( ( # ` s ) - 1 ) ) x. ( # ` |^| s ) ) e. CC ) |
83 |
82
|
anasss |
|- ( ( ( A e. Fin /\ A C_ Fin ) /\ ( n e. ( 1 ... ( # ` A ) ) /\ s e. { k e. ~P A | ( # ` k ) = n } ) ) -> ( ( -u 1 ^ ( ( # ` s ) - 1 ) ) x. ( # ` |^| s ) ) e. CC ) |
84 |
34 40 48 83
|
fsumiun |
|- ( ( A e. Fin /\ A C_ Fin ) -> sum_ s e. U_ n e. ( 1 ... ( # ` A ) ) { k e. ~P A | ( # ` k ) = n } ( ( -u 1 ^ ( ( # ` s ) - 1 ) ) x. ( # ` |^| s ) ) = sum_ n e. ( 1 ... ( # ` A ) ) sum_ s e. { k e. ~P A | ( # ` k ) = n } ( ( -u 1 ^ ( ( # ` s ) - 1 ) ) x. ( # ` |^| s ) ) ) |
85 |
51
|
sumeq2dv |
|- ( ( ( A e. Fin /\ A C_ Fin ) /\ n e. ( 1 ... ( # ` A ) ) ) -> sum_ s e. { k e. ~P A | ( # ` k ) = n } ( ( -u 1 ^ ( ( # ` s ) - 1 ) ) x. ( # ` |^| s ) ) = sum_ s e. { k e. ~P A | ( # ` k ) = n } ( ( -u 1 ^ ( n - 1 ) ) x. ( # ` |^| s ) ) ) |
86 |
40 58 80
|
fsummulc2 |
|- ( ( ( A e. Fin /\ A C_ Fin ) /\ n e. ( 1 ... ( # ` A ) ) ) -> ( ( -u 1 ^ ( n - 1 ) ) x. sum_ s e. { k e. ~P A | ( # ` k ) = n } ( # ` |^| s ) ) = sum_ s e. { k e. ~P A | ( # ` k ) = n } ( ( -u 1 ^ ( n - 1 ) ) x. ( # ` |^| s ) ) ) |
87 |
85 86
|
eqtr4d |
|- ( ( ( A e. Fin /\ A C_ Fin ) /\ n e. ( 1 ... ( # ` A ) ) ) -> sum_ s e. { k e. ~P A | ( # ` k ) = n } ( ( -u 1 ^ ( ( # ` s ) - 1 ) ) x. ( # ` |^| s ) ) = ( ( -u 1 ^ ( n - 1 ) ) x. sum_ s e. { k e. ~P A | ( # ` k ) = n } ( # ` |^| s ) ) ) |
88 |
87
|
sumeq2dv |
|- ( ( A e. Fin /\ A C_ Fin ) -> sum_ n e. ( 1 ... ( # ` A ) ) sum_ s e. { k e. ~P A | ( # ` k ) = n } ( ( -u 1 ^ ( ( # ` s ) - 1 ) ) x. ( # ` |^| s ) ) = sum_ n e. ( 1 ... ( # ` A ) ) ( ( -u 1 ^ ( n - 1 ) ) x. sum_ s e. { k e. ~P A | ( # ` k ) = n } ( # ` |^| s ) ) ) |
89 |
33 84 88
|
3eqtrd |
|- ( ( A e. Fin /\ A C_ Fin ) -> ( # ` U. A ) = sum_ n e. ( 1 ... ( # ` A ) ) ( ( -u 1 ^ ( n - 1 ) ) x. sum_ s e. { k e. ~P A | ( # ` k ) = n } ( # ` |^| s ) ) ) |