| 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 ) ) ) |