Proof of Theorem hashun3
Step | Hyp | Ref
| Expression |
1 | | diffi 8962 |
. . . . . . 7
⊢ (𝐵 ∈ Fin → (𝐵 ∖ 𝐴) ∈ Fin) |
2 | 1 | adantl 482 |
. . . . . 6
⊢ ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (𝐵 ∖ 𝐴) ∈ Fin) |
3 | | simpl 483 |
. . . . . . 7
⊢ ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → 𝐴 ∈ Fin) |
4 | | inss1 4162 |
. . . . . . 7
⊢ (𝐴 ∩ 𝐵) ⊆ 𝐴 |
5 | | ssfi 8956 |
. . . . . . 7
⊢ ((𝐴 ∈ Fin ∧ (𝐴 ∩ 𝐵) ⊆ 𝐴) → (𝐴 ∩ 𝐵) ∈ Fin) |
6 | 3, 4, 5 | sylancl 586 |
. . . . . 6
⊢ ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (𝐴 ∩ 𝐵) ∈ Fin) |
7 | | sslin 4168 |
. . . . . . . . 9
⊢ ((𝐴 ∩ 𝐵) ⊆ 𝐴 → ((𝐵 ∖ 𝐴) ∩ (𝐴 ∩ 𝐵)) ⊆ ((𝐵 ∖ 𝐴) ∩ 𝐴)) |
8 | 4, 7 | ax-mp 5 |
. . . . . . . 8
⊢ ((𝐵 ∖ 𝐴) ∩ (𝐴 ∩ 𝐵)) ⊆ ((𝐵 ∖ 𝐴) ∩ 𝐴) |
9 | | disjdifr 4406 |
. . . . . . . 8
⊢ ((𝐵 ∖ 𝐴) ∩ 𝐴) = ∅ |
10 | | sseq0 4333 |
. . . . . . . 8
⊢ ((((𝐵 ∖ 𝐴) ∩ (𝐴 ∩ 𝐵)) ⊆ ((𝐵 ∖ 𝐴) ∩ 𝐴) ∧ ((𝐵 ∖ 𝐴) ∩ 𝐴) = ∅) → ((𝐵 ∖ 𝐴) ∩ (𝐴 ∩ 𝐵)) = ∅) |
11 | 8, 9, 10 | mp2an 689 |
. . . . . . 7
⊢ ((𝐵 ∖ 𝐴) ∩ (𝐴 ∩ 𝐵)) = ∅ |
12 | 11 | a1i 11 |
. . . . . 6
⊢ ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → ((𝐵 ∖ 𝐴) ∩ (𝐴 ∩ 𝐵)) = ∅) |
13 | | hashun 14097 |
. . . . . 6
⊢ (((𝐵 ∖ 𝐴) ∈ Fin ∧ (𝐴 ∩ 𝐵) ∈ Fin ∧ ((𝐵 ∖ 𝐴) ∩ (𝐴 ∩ 𝐵)) = ∅) → (♯‘((𝐵 ∖ 𝐴) ∪ (𝐴 ∩ 𝐵))) = ((♯‘(𝐵 ∖ 𝐴)) + (♯‘(𝐴 ∩ 𝐵)))) |
14 | 2, 6, 12, 13 | syl3anc 1370 |
. . . . 5
⊢ ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) →
(♯‘((𝐵 ∖
𝐴) ∪ (𝐴 ∩ 𝐵))) = ((♯‘(𝐵 ∖ 𝐴)) + (♯‘(𝐴 ∩ 𝐵)))) |
15 | | incom 4135 |
. . . . . . . . 9
⊢ (𝐴 ∩ 𝐵) = (𝐵 ∩ 𝐴) |
16 | 15 | uneq2i 4094 |
. . . . . . . 8
⊢ ((𝐵 ∖ 𝐴) ∪ (𝐴 ∩ 𝐵)) = ((𝐵 ∖ 𝐴) ∪ (𝐵 ∩ 𝐴)) |
17 | | uncom 4087 |
. . . . . . . 8
⊢ ((𝐵 ∖ 𝐴) ∪ (𝐵 ∩ 𝐴)) = ((𝐵 ∩ 𝐴) ∪ (𝐵 ∖ 𝐴)) |
18 | | inundif 4412 |
. . . . . . . 8
⊢ ((𝐵 ∩ 𝐴) ∪ (𝐵 ∖ 𝐴)) = 𝐵 |
19 | 16, 17, 18 | 3eqtri 2770 |
. . . . . . 7
⊢ ((𝐵 ∖ 𝐴) ∪ (𝐴 ∩ 𝐵)) = 𝐵 |
20 | 19 | a1i 11 |
. . . . . 6
⊢ ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → ((𝐵 ∖ 𝐴) ∪ (𝐴 ∩ 𝐵)) = 𝐵) |
21 | 20 | fveq2d 6778 |
. . . . 5
⊢ ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) →
(♯‘((𝐵 ∖
𝐴) ∪ (𝐴 ∩ 𝐵))) = (♯‘𝐵)) |
22 | 14, 21 | eqtr3d 2780 |
. . . 4
⊢ ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) →
((♯‘(𝐵 ∖
𝐴)) + (♯‘(𝐴 ∩ 𝐵))) = (♯‘𝐵)) |
23 | | hashcl 14071 |
. . . . . . 7
⊢ (𝐵 ∈ Fin →
(♯‘𝐵) ∈
ℕ0) |
24 | 23 | adantl 482 |
. . . . . 6
⊢ ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) →
(♯‘𝐵) ∈
ℕ0) |
25 | 24 | nn0cnd 12295 |
. . . . 5
⊢ ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) →
(♯‘𝐵) ∈
ℂ) |
26 | | hashcl 14071 |
. . . . . . 7
⊢ ((𝐴 ∩ 𝐵) ∈ Fin → (♯‘(𝐴 ∩ 𝐵)) ∈
ℕ0) |
27 | 6, 26 | syl 17 |
. . . . . 6
⊢ ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) →
(♯‘(𝐴 ∩
𝐵)) ∈
ℕ0) |
28 | 27 | nn0cnd 12295 |
. . . . 5
⊢ ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) →
(♯‘(𝐴 ∩
𝐵)) ∈
ℂ) |
29 | | hashcl 14071 |
. . . . . . 7
⊢ ((𝐵 ∖ 𝐴) ∈ Fin → (♯‘(𝐵 ∖ 𝐴)) ∈
ℕ0) |
30 | 2, 29 | syl 17 |
. . . . . 6
⊢ ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) →
(♯‘(𝐵 ∖
𝐴)) ∈
ℕ0) |
31 | 30 | nn0cnd 12295 |
. . . . 5
⊢ ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) →
(♯‘(𝐵 ∖
𝐴)) ∈
ℂ) |
32 | 25, 28, 31 | subadd2d 11351 |
. . . 4
⊢ ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) →
(((♯‘𝐵) −
(♯‘(𝐴 ∩
𝐵))) =
(♯‘(𝐵 ∖
𝐴)) ↔
((♯‘(𝐵 ∖
𝐴)) + (♯‘(𝐴 ∩ 𝐵))) = (♯‘𝐵))) |
33 | 22, 32 | mpbird 256 |
. . 3
⊢ ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) →
((♯‘𝐵) −
(♯‘(𝐴 ∩
𝐵))) =
(♯‘(𝐵 ∖
𝐴))) |
34 | 33 | oveq2d 7291 |
. 2
⊢ ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) →
((♯‘𝐴) +
((♯‘𝐵) −
(♯‘(𝐴 ∩
𝐵)))) =
((♯‘𝐴) +
(♯‘(𝐵 ∖
𝐴)))) |
35 | | hashcl 14071 |
. . . . 5
⊢ (𝐴 ∈ Fin →
(♯‘𝐴) ∈
ℕ0) |
36 | 35 | adantr 481 |
. . . 4
⊢ ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) →
(♯‘𝐴) ∈
ℕ0) |
37 | 36 | nn0cnd 12295 |
. . 3
⊢ ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) →
(♯‘𝐴) ∈
ℂ) |
38 | 37, 25, 28 | addsubassd 11352 |
. 2
⊢ ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) →
(((♯‘𝐴) +
(♯‘𝐵)) −
(♯‘(𝐴 ∩
𝐵))) =
((♯‘𝐴) +
((♯‘𝐵) −
(♯‘(𝐴 ∩
𝐵))))) |
39 | | undif2 4410 |
. . . 4
⊢ (𝐴 ∪ (𝐵 ∖ 𝐴)) = (𝐴 ∪ 𝐵) |
40 | 39 | fveq2i 6777 |
. . 3
⊢
(♯‘(𝐴
∪ (𝐵 ∖ 𝐴))) = (♯‘(𝐴 ∪ 𝐵)) |
41 | | disjdif 4405 |
. . . . 5
⊢ (𝐴 ∩ (𝐵 ∖ 𝐴)) = ∅ |
42 | 41 | a1i 11 |
. . . 4
⊢ ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (𝐴 ∩ (𝐵 ∖ 𝐴)) = ∅) |
43 | | hashun 14097 |
. . . 4
⊢ ((𝐴 ∈ Fin ∧ (𝐵 ∖ 𝐴) ∈ Fin ∧ (𝐴 ∩ (𝐵 ∖ 𝐴)) = ∅) → (♯‘(𝐴 ∪ (𝐵 ∖ 𝐴))) = ((♯‘𝐴) + (♯‘(𝐵 ∖ 𝐴)))) |
44 | 3, 2, 42, 43 | syl3anc 1370 |
. . 3
⊢ ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) →
(♯‘(𝐴 ∪
(𝐵 ∖ 𝐴))) = ((♯‘𝐴) + (♯‘(𝐵 ∖ 𝐴)))) |
45 | 40, 44 | eqtr3id 2792 |
. 2
⊢ ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) →
(♯‘(𝐴 ∪
𝐵)) = ((♯‘𝐴) + (♯‘(𝐵 ∖ 𝐴)))) |
46 | 34, 38, 45 | 3eqtr4rd 2789 |
1
⊢ ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) →
(♯‘(𝐴 ∪
𝐵)) =
(((♯‘𝐴) +
(♯‘𝐵)) −
(♯‘(𝐴 ∩
𝐵)))) |