Metamath Proof Explorer


Theorem incexc2

Description: The inclusion/exclusion principle for counting the elements of a finite union of finite sets. (Contributed by Mario Carneiro, 7-Aug-2017)

Ref Expression
Assertion incexc2 ⊢ A ∈ Fin ∧ A ⊆ Fin → ⋃ A = ∑ n = 1 A − 1 n − 1 ⁢ ∑ s ∈ k ∈ 𝒫 A | k = n ⋂ s

Proof

Step Hyp Ref Expression
1 incexc ⊢ A ∈ Fin ∧ A ⊆ Fin → ⋃ A = ∑ s ∈ 𝒫 A ∖ ∅ − 1 s − 1 ⁢ ⋂ s
2 hashcl ⊢ A ∈ Fin → A ∈ ℕ 0
3 2 ad2antrr ⊢ A ∈ Fin ∧ A ⊆ Fin ∧ k ∈ 𝒫 A → A ∈ ℕ 0
4 3 nn0zd ⊢ A ∈ Fin ∧ A ⊆ Fin ∧ k ∈ 𝒫 A → A ∈ ℤ
5 simpl ⊢ A ∈ Fin ∧ A ⊆ Fin → A ∈ Fin
6 elpwi ⊢ k ∈ 𝒫 A → k ⊆ A
7 ssdomg ⊢ A ∈ Fin → k ⊆ A → k ≼ A
8 7 imp ⊢ A ∈ Fin ∧ k ⊆ A → k ≼ A
9 5 6 8 syl2an ⊢ A ∈ Fin ∧ A ⊆ Fin ∧ k ∈ 𝒫 A → k ≼ A
10 hashdomi ⊢ k ≼ A → k ≤ A
11 9 10 syl ⊢ A ∈ Fin ∧ A ⊆ Fin ∧ k ∈ 𝒫 A → k ≤ A
12 fznn ⊢ A ∈ ℤ → k ∈ 1 … A ↔ k ∈ ℕ ∧ k ≤ A
13 12 rbaibd ⊢ A ∈ ℤ ∧ k ≤ A → k ∈ 1 … A ↔ k ∈ ℕ
14 4 11 13 syl2anc ⊢ A ∈ Fin ∧ A ⊆ Fin ∧ k ∈ 𝒫 A → k ∈ 1 … A ↔ k ∈ ℕ
15 ssfi ⊢ A ∈ Fin ∧ k ⊆ A → k ∈ Fin
16 5 6 15 syl2an ⊢ A ∈ Fin ∧ A ⊆ Fin ∧ k ∈ 𝒫 A → k ∈ Fin
17 hashnncl ⊢ k ∈ Fin → k ∈ ℕ ↔ k ≠ ∅
18 16 17 syl ⊢ A ∈ Fin ∧ A ⊆ Fin ∧ k ∈ 𝒫 A → k ∈ ℕ ↔ k ≠ ∅
19 14 18 bitr2d ⊢ A ∈ Fin ∧ A ⊆ Fin ∧ k ∈ 𝒫 A → k ≠ ∅ ↔ k ∈ 1 … A
20 df-ne ⊢ k ≠ ∅ ↔ ¬ k = ∅
21 risset ⊢ k ∈ 1 … A ↔ ∃ n ∈ 1 … A n = k
22 19 20 21 3bitr3g ⊢ A ∈ Fin ∧ A ⊆ Fin ∧ k ∈ 𝒫 A → ¬ k = ∅ ↔ ∃ n ∈ 1 … A n = k
23 velsn ⊢ k ∈ ∅ ↔ k = ∅
24 23 notbii ⊢ ¬ k ∈ ∅ ↔ ¬ k = ∅
25 eqcom ⊢ k = n ↔ n = k
26 25 rexbii ⊢ ∃ n ∈ 1 … A k = n ↔ ∃ n ∈ 1 … A n = k
27 22 24 26 3bitr4g ⊢ A ∈ Fin ∧ A ⊆ Fin ∧ k ∈ 𝒫 A → ¬ k ∈ ∅ ↔ ∃ n ∈ 1 … A k = n
28 27 rabbidva ⊢ A ∈ Fin ∧ A ⊆ Fin → k ∈ 𝒫 A | ¬ k ∈ ∅ = k ∈ 𝒫 A | ∃ n ∈ 1 … A k = n
29 dfdif2 ⊢ 𝒫 A ∖ ∅ = k ∈ 𝒫 A | ¬ k ∈ ∅
30 iunrab ⊢ ⋃ n = 1 A k ∈ 𝒫 A | k = n = k ∈ 𝒫 A | ∃ n ∈ 1 … A k = n
31 28 29 30 3eqtr4g ⊢ A ∈ Fin ∧ A ⊆ Fin → 𝒫 A ∖ ∅ = ⋃ n = 1 A k ∈ 𝒫 A | k = n
32 31 sumeq1d ⊢ A ∈ Fin ∧ A ⊆ Fin → ∑ s ∈ 𝒫 A ∖ ∅ − 1 s − 1 ⁢ ⋂ s = ∑ s ∈ ⋃ n = 1 A k ∈ 𝒫 A | k = n − 1 s − 1 ⁢ ⋂ s
33 1 32 eqtrd ⊢ A ∈ Fin ∧ A ⊆ Fin → ⋃ A = ∑ s ∈ ⋃ n = 1 A k ∈ 𝒫 A | k = n − 1 s − 1 ⁢ ⋂ s
34 fzfid ⊢ A ∈ Fin ∧ A ⊆ Fin → 1 … A ∈ Fin
35 simpll ⊢ A ∈ Fin ∧ A ⊆ Fin ∧ n ∈ 1 … A → A ∈ Fin
36 pwfi ⊢ A ∈ Fin ↔ 𝒫 A ∈ Fin
37 35 36 sylib ⊢ A ∈ Fin ∧ A ⊆ Fin ∧ n ∈ 1 … A → 𝒫 A ∈ Fin
38 ssrab2 ⊢ k ∈ 𝒫 A | k = n ⊆ 𝒫 A
39 ssfi ⊢ 𝒫 A ∈ Fin ∧ k ∈ 𝒫 A | k = n ⊆ 𝒫 A → k ∈ 𝒫 A | k = n ∈ Fin
40 37 38 39 sylancl ⊢ A ∈ Fin ∧ A ⊆ Fin ∧ n ∈ 1 … A → k ∈ 𝒫 A | k = n ∈ Fin
41 fveqeq2 ⊢ k = s → k = n ↔ s = n
42 41 elrab ⊢ s ∈ k ∈ 𝒫 A | k = n ↔ s ∈ 𝒫 A ∧ s = n
43 42 simprbi ⊢ s ∈ k ∈ 𝒫 A | k = n → s = n
44 43 adantl ⊢ A ∈ Fin ∧ A ⊆ Fin ∧ n ∈ 1 … A ∧ s ∈ k ∈ 𝒫 A | k = n → s = n
45 44 ralrimiva ⊢ A ∈ Fin ∧ A ⊆ Fin ∧ n ∈ 1 … A → ∀ s ∈ k ∈ 𝒫 A | k = n s = n
46 45 ralrimiva ⊢ A ∈ Fin ∧ A ⊆ Fin → ∀ n ∈ 1 … A ∀ s ∈ k ∈ 𝒫 A | k = n s = n
47 invdisj ⊢ ∀ n ∈ 1 … A ∀ s ∈ k ∈ 𝒫 A | k = n s = n → Disj n = 1 A k ∈ 𝒫 A | k = n
48 46 47 syl ⊢ A ∈ Fin ∧ A ⊆ Fin → Disj n = 1 A k ∈ 𝒫 A | k = n
49 44 oveq1d ⊢ A ∈ Fin ∧ A ⊆ Fin ∧ n ∈ 1 … A ∧ s ∈ k ∈ 𝒫 A | k = n → s − 1 = n − 1
50 49 oveq2d ⊢ A ∈ Fin ∧ A ⊆ Fin ∧ n ∈ 1 … A ∧ s ∈ k ∈ 𝒫 A | k = n → − 1 s − 1 = − 1 n − 1
51 50 oveq1d ⊢ A ∈ Fin ∧ A ⊆ Fin ∧ n ∈ 1 … A ∧ s ∈ k ∈ 𝒫 A | k = n → − 1 s − 1 ⁢ ⋂ s = − 1 n − 1 ⁢ ⋂ s
52 1cnd ⊢ A ∈ Fin ∧ A ⊆ Fin ∧ n ∈ 1 … A → 1 ∈ ℂ
53 52 negcld ⊢ A ∈ Fin ∧ A ⊆ Fin ∧ n ∈ 1 … A → − 1 ∈ ℂ
54 elfznn ⊢ n ∈ 1 … A → n ∈ ℕ
55 54 adantl ⊢ A ∈ Fin ∧ A ⊆ Fin ∧ n ∈ 1 … A → n ∈ ℕ
56 nnm1nn0 ⊢ n ∈ ℕ → n − 1 ∈ ℕ 0
57 55 56 syl ⊢ A ∈ Fin ∧ A ⊆ Fin ∧ n ∈ 1 … A → n − 1 ∈ ℕ 0
58 53 57 expcld ⊢ A ∈ Fin ∧ A ⊆ Fin ∧ n ∈ 1 … A → − 1 n − 1 ∈ ℂ
59 58 adantr ⊢ A ∈ Fin ∧ A ⊆ Fin ∧ n ∈ 1 … A ∧ s ∈ k ∈ 𝒫 A | k = n → − 1 n − 1 ∈ ℂ
60 unifi ⊢ A ∈ Fin ∧ A ⊆ Fin → ⋃ A ∈ Fin
61 60 ad2antrr ⊢ A ∈ Fin ∧ A ⊆ Fin ∧ n ∈ 1 … A ∧ s ∈ k ∈ 𝒫 A | k = n → ⋃ A ∈ Fin
62 55 adantr ⊢ A ∈ Fin ∧ A ⊆ Fin ∧ n ∈ 1 … A ∧ s ∈ k ∈ 𝒫 A | k = n → n ∈ ℕ
63 44 62 eqeltrd ⊢ A ∈ Fin ∧ A ⊆ Fin ∧ n ∈ 1 … A ∧ s ∈ k ∈ 𝒫 A | k = n → s ∈ ℕ
64 35 adantr ⊢ A ∈ Fin ∧ A ⊆ Fin ∧ n ∈ 1 … A ∧ s ∈ k ∈ 𝒫 A | k = n → A ∈ Fin
65 elrabi ⊢ s ∈ k ∈ 𝒫 A | k = n → s ∈ 𝒫 A
66 65 adantl ⊢ A ∈ Fin ∧ A ⊆ Fin ∧ n ∈ 1 … A ∧ s ∈ k ∈ 𝒫 A | k = n → s ∈ 𝒫 A
67 elpwi ⊢ s ∈ 𝒫 A → s ⊆ A
68 66 67 syl ⊢ A ∈ Fin ∧ A ⊆ Fin ∧ n ∈ 1 … A ∧ s ∈ k ∈ 𝒫 A | k = n → s ⊆ A
69 64 68 ssfid ⊢ A ∈ Fin ∧ A ⊆ Fin ∧ n ∈ 1 … A ∧ s ∈ k ∈ 𝒫 A | k = n → s ∈ Fin
70 hashnncl ⊢ s ∈ Fin → s ∈ ℕ ↔ s ≠ ∅
71 69 70 syl ⊢ A ∈ Fin ∧ A ⊆ Fin ∧ n ∈ 1 … A ∧ s ∈ k ∈ 𝒫 A | k = n → s ∈ ℕ ↔ s ≠ ∅
72 63 71 mpbid ⊢ A ∈ Fin ∧ A ⊆ Fin ∧ n ∈ 1 … A ∧ s ∈ k ∈ 𝒫 A | k = n → s ≠ ∅
73 intssuni ⊢ s ≠ ∅ → ⋂ s ⊆ ⋃ s
74 72 73 syl ⊢ A ∈ Fin ∧ A ⊆ Fin ∧ n ∈ 1 … A ∧ s ∈ k ∈ 𝒫 A | k = n → ⋂ s ⊆ ⋃ s
75 68 unissd ⊢ A ∈ Fin ∧ A ⊆ Fin ∧ n ∈ 1 … A ∧ s ∈ k ∈ 𝒫 A | k = n → ⋃ s ⊆ ⋃ A
76 74 75 sstrd ⊢ A ∈ Fin ∧ A ⊆ Fin ∧ n ∈ 1 … A ∧ s ∈ k ∈ 𝒫 A | k = n → ⋂ s ⊆ ⋃ A
77 61 76 ssfid ⊢ A ∈ Fin ∧ A ⊆ Fin ∧ n ∈ 1 … A ∧ s ∈ k ∈ 𝒫 A | k = n → ⋂ s ∈ Fin
78 hashcl ⊢ ⋂ s ∈ Fin → ⋂ s ∈ ℕ 0
79 77 78 syl ⊢ A ∈ Fin ∧ A ⊆ Fin ∧ n ∈ 1 … A ∧ s ∈ k ∈ 𝒫 A | k = n → ⋂ s ∈ ℕ 0
80 79 nn0cnd ⊢ A ∈ Fin ∧ A ⊆ Fin ∧ n ∈ 1 … A ∧ s ∈ k ∈ 𝒫 A | k = n → ⋂ s ∈ ℂ
81 59 80 mulcld ⊢ A ∈ Fin ∧ A ⊆ Fin ∧ n ∈ 1 … A ∧ s ∈ k ∈ 𝒫 A | k = n → − 1 n − 1 ⁢ ⋂ s ∈ ℂ
82 51 81 eqeltrd ⊢ A ∈ Fin ∧ A ⊆ Fin ∧ n ∈ 1 … A ∧ s ∈ k ∈ 𝒫 A | k = n → − 1 s − 1 ⁢ ⋂ s ∈ ℂ
83 82 anasss ⊢ A ∈ Fin ∧ A ⊆ Fin ∧ n ∈ 1 … A ∧ s ∈ k ∈ 𝒫 A | k = n → − 1 s − 1 ⁢ ⋂ s ∈ ℂ
84 34 40 48 83 fsumiun ⊢ A ∈ Fin ∧ A ⊆ Fin → ∑ s ∈ ⋃ n = 1 A k ∈ 𝒫 A | k = n − 1 s − 1 ⁢ ⋂ s = ∑ n = 1 A ∑ s ∈ k ∈ 𝒫 A | k = n − 1 s − 1 ⁢ ⋂ s
85 51 sumeq2dv ⊢ A ∈ Fin ∧ A ⊆ Fin ∧ n ∈ 1 … A → ∑ s ∈ k ∈ 𝒫 A | k = n − 1 s − 1 ⁢ ⋂ s = ∑ s ∈ k ∈ 𝒫 A | k = n − 1 n − 1 ⁢ ⋂ s
86 40 58 80 fsummulc2 ⊢ A ∈ Fin ∧ A ⊆ Fin ∧ n ∈ 1 … A → − 1 n − 1 ⁢ ∑ s ∈ k ∈ 𝒫 A | k = n ⋂ s = ∑ s ∈ k ∈ 𝒫 A | k = n − 1 n − 1 ⁢ ⋂ s
87 85 86 eqtr4d ⊢ A ∈ Fin ∧ A ⊆ Fin ∧ n ∈ 1 … A → ∑ s ∈ k ∈ 𝒫 A | k = n − 1 s − 1 ⁢ ⋂ s = − 1 n − 1 ⁢ ∑ s ∈ k ∈ 𝒫 A | k = n ⋂ s
88 87 sumeq2dv ⊢ A ∈ Fin ∧ A ⊆ Fin → ∑ n = 1 A ∑ s ∈ k ∈ 𝒫 A | k = n − 1 s − 1 ⁢ ⋂ s = ∑ n = 1 A − 1 n − 1 ⁢ ∑ s ∈ k ∈ 𝒫 A | k = n ⋂ s
89 33 84 88 3eqtrd ⊢ A ∈ Fin ∧ A ⊆ Fin → ⋃ A = ∑ n = 1 A − 1 n − 1 ⁢ ∑ s ∈ k ∈ 𝒫 A | k = n ⋂ s