Metamath Proof Explorer < Previous   Next > Nearby theorems Mirrors  >  Home  >  MPE Home  >  Th. List  >  hashun3 Structured version   Visualization version   GIF version

Theorem hashun3 13744
 Description: The size of the union of finite sets is the sum of their sizes minus the size of the intersection. (Contributed by Mario Carneiro, 6-Aug-2017.)
Assertion
Ref Expression
hashun3 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (♯‘(𝐴𝐵)) = (((♯‘𝐴) + (♯‘𝐵)) − (♯‘(𝐴𝐵))))

Proof of Theorem hashun3
StepHypRef Expression
1 diffi 8737 . . . . . . 7 (𝐵 ∈ Fin → (𝐵𝐴) ∈ Fin)
21adantl 485 . . . . . 6 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (𝐵𝐴) ∈ Fin)
3 simpl 486 . . . . . . 7 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → 𝐴 ∈ Fin)
4 inss1 4155 . . . . . . 7 (𝐴𝐵) ⊆ 𝐴
5 ssfi 8725 . . . . . . 7 ((𝐴 ∈ Fin ∧ (𝐴𝐵) ⊆ 𝐴) → (𝐴𝐵) ∈ Fin)
63, 4, 5sylancl 589 . . . . . 6 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (𝐴𝐵) ∈ Fin)
7 sslin 4161 . . . . . . . . 9 ((𝐴𝐵) ⊆ 𝐴 → ((𝐵𝐴) ∩ (𝐴𝐵)) ⊆ ((𝐵𝐴) ∩ 𝐴))
84, 7ax-mp 5 . . . . . . . 8 ((𝐵𝐴) ∩ (𝐴𝐵)) ⊆ ((𝐵𝐴) ∩ 𝐴)
9 incom 4128 . . . . . . . . 9 ((𝐵𝐴) ∩ 𝐴) = (𝐴 ∩ (𝐵𝐴))
10 disjdif 4379 . . . . . . . . 9 (𝐴 ∩ (𝐵𝐴)) = ∅
119, 10eqtri 2821 . . . . . . . 8 ((𝐵𝐴) ∩ 𝐴) = ∅
12 sseq0 4307 . . . . . . . 8 ((((𝐵𝐴) ∩ (𝐴𝐵)) ⊆ ((𝐵𝐴) ∩ 𝐴) ∧ ((𝐵𝐴) ∩ 𝐴) = ∅) → ((𝐵𝐴) ∩ (𝐴𝐵)) = ∅)
138, 11, 12mp2an 691 . . . . . . 7 ((𝐵𝐴) ∩ (𝐴𝐵)) = ∅
1413a1i 11 . . . . . 6 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → ((𝐵𝐴) ∩ (𝐴𝐵)) = ∅)
15 hashun 13742 . . . . . 6 (((𝐵𝐴) ∈ Fin ∧ (𝐴𝐵) ∈ Fin ∧ ((𝐵𝐴) ∩ (𝐴𝐵)) = ∅) → (♯‘((𝐵𝐴) ∪ (𝐴𝐵))) = ((♯‘(𝐵𝐴)) + (♯‘(𝐴𝐵))))
162, 6, 14, 15syl3anc 1368 . . . . 5 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (♯‘((𝐵𝐴) ∪ (𝐴𝐵))) = ((♯‘(𝐵𝐴)) + (♯‘(𝐴𝐵))))
17 incom 4128 . . . . . . . . 9 (𝐴𝐵) = (𝐵𝐴)
1817uneq2i 4087 . . . . . . . 8 ((𝐵𝐴) ∪ (𝐴𝐵)) = ((𝐵𝐴) ∪ (𝐵𝐴))
19 uncom 4080 . . . . . . . 8 ((𝐵𝐴) ∪ (𝐵𝐴)) = ((𝐵𝐴) ∪ (𝐵𝐴))
20 inundif 4385 . . . . . . . 8 ((𝐵𝐴) ∪ (𝐵𝐴)) = 𝐵
2118, 19, 203eqtri 2825 . . . . . . 7 ((𝐵𝐴) ∪ (𝐴𝐵)) = 𝐵
2221a1i 11 . . . . . 6 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → ((𝐵𝐴) ∪ (𝐴𝐵)) = 𝐵)
2322fveq2d 6650 . . . . 5 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (♯‘((𝐵𝐴) ∪ (𝐴𝐵))) = (♯‘𝐵))
2416, 23eqtr3d 2835 . . . 4 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → ((♯‘(𝐵𝐴)) + (♯‘(𝐴𝐵))) = (♯‘𝐵))
25 hashcl 13716 . . . . . . 7 (𝐵 ∈ Fin → (♯‘𝐵) ∈ ℕ0)
2625adantl 485 . . . . . 6 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (♯‘𝐵) ∈ ℕ0)
2726nn0cnd 11948 . . . . 5 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (♯‘𝐵) ∈ ℂ)
28 hashcl 13716 . . . . . . 7 ((𝐴𝐵) ∈ Fin → (♯‘(𝐴𝐵)) ∈ ℕ0)
296, 28syl 17 . . . . . 6 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (♯‘(𝐴𝐵)) ∈ ℕ0)
3029nn0cnd 11948 . . . . 5 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (♯‘(𝐴𝐵)) ∈ ℂ)
31 hashcl 13716 . . . . . . 7 ((𝐵𝐴) ∈ Fin → (♯‘(𝐵𝐴)) ∈ ℕ0)
322, 31syl 17 . . . . . 6 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (♯‘(𝐵𝐴)) ∈ ℕ0)
3332nn0cnd 11948 . . . . 5 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (♯‘(𝐵𝐴)) ∈ ℂ)
3427, 30, 33subadd2d 11008 . . . 4 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (((♯‘𝐵) − (♯‘(𝐴𝐵))) = (♯‘(𝐵𝐴)) ↔ ((♯‘(𝐵𝐴)) + (♯‘(𝐴𝐵))) = (♯‘𝐵)))
3524, 34mpbird 260 . . 3 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → ((♯‘𝐵) − (♯‘(𝐴𝐵))) = (♯‘(𝐵𝐴)))
3635oveq2d 7152 . 2 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → ((♯‘𝐴) + ((♯‘𝐵) − (♯‘(𝐴𝐵)))) = ((♯‘𝐴) + (♯‘(𝐵𝐴))))
37 hashcl 13716 . . . . 5 (𝐴 ∈ Fin → (♯‘𝐴) ∈ ℕ0)
3837adantr 484 . . . 4 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (♯‘𝐴) ∈ ℕ0)
3938nn0cnd 11948 . . 3 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (♯‘𝐴) ∈ ℂ)
4039, 27, 30addsubassd 11009 . 2 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (((♯‘𝐴) + (♯‘𝐵)) − (♯‘(𝐴𝐵))) = ((♯‘𝐴) + ((♯‘𝐵) − (♯‘(𝐴𝐵)))))
41 undif2 4383 . . . 4 (𝐴 ∪ (𝐵𝐴)) = (𝐴𝐵)
4241fveq2i 6649 . . 3 (♯‘(𝐴 ∪ (𝐵𝐴))) = (♯‘(𝐴𝐵))
4310a1i 11 . . . 4 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (𝐴 ∩ (𝐵𝐴)) = ∅)
44 hashun 13742 . . . 4 ((𝐴 ∈ Fin ∧ (𝐵𝐴) ∈ Fin ∧ (𝐴 ∩ (𝐵𝐴)) = ∅) → (♯‘(𝐴 ∪ (𝐵𝐴))) = ((♯‘𝐴) + (♯‘(𝐵𝐴))))
453, 2, 43, 44syl3anc 1368 . . 3 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (♯‘(𝐴 ∪ (𝐵𝐴))) = ((♯‘𝐴) + (♯‘(𝐵𝐴))))
4642, 45syl5eqr 2847 . 2 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (♯‘(𝐴𝐵)) = ((♯‘𝐴) + (♯‘(𝐵𝐴))))
4736, 40, 463eqtr4rd 2844 1 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (♯‘(𝐴𝐵)) = (((♯‘𝐴) + (♯‘𝐵)) − (♯‘(𝐴𝐵))))
 Colors of variables: wff setvar class Syntax hints:   → wi 4   ∧ wa 399   = wceq 1538   ∈ wcel 2111   ∖ cdif 3878   ∪ cun 3879   ∩ cin 3880   ⊆ wss 3881  ∅c0 4243  ‘cfv 6325  (class class class)co 7136  Fincfn 8495   + caddc 10532   − cmin 10862  ℕ0cn0 11888  ♯chash 13689 This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1911  ax-6 1970  ax-7 2015  ax-8 2113  ax-9 2121  ax-10 2142  ax-11 2158  ax-12 2175  ax-ext 2770  ax-sep 5168  ax-nul 5175  ax-pow 5232  ax-pr 5296  ax-un 7444  ax-cnex 10585  ax-resscn 10586  ax-1cn 10587  ax-icn 10588  ax-addcl 10589  ax-addrcl 10590  ax-mulcl 10591  ax-mulrcl 10592  ax-mulcom 10593  ax-addass 10594  ax-mulass 10595  ax-distr 10596  ax-i2m1 10597  ax-1ne0 10598  ax-1rid 10599  ax-rnegex 10600  ax-rrecex 10601  ax-cnre 10602  ax-pre-lttri 10603  ax-pre-lttrn 10604  ax-pre-ltadd 10605  ax-pre-mulgt0 10606 This theorem depends on definitions:  df-bi 210  df-an 400  df-or 845  df-3or 1085  df-3an 1086  df-tru 1541  df-ex 1782  df-nf 1786  df-sb 2070  df-mo 2598  df-eu 2629  df-clab 2777  df-cleq 2791  df-clel 2870  df-nfc 2938  df-ne 2988  df-nel 3092  df-ral 3111  df-rex 3112  df-reu 3113  df-rab 3115  df-v 3443  df-sbc 3721  df-csb 3829  df-dif 3884  df-un 3886  df-in 3888  df-ss 3898  df-pss 3900  df-nul 4244  df-if 4426  df-pw 4499  df-sn 4526  df-pr 4528  df-tp 4530  df-op 4532  df-uni 4802  df-int 4840  df-iun 4884  df-br 5032  df-opab 5094  df-mpt 5112  df-tr 5138  df-id 5426  df-eprel 5431  df-po 5439  df-so 5440  df-fr 5479  df-we 5481  df-xp 5526  df-rel 5527  df-cnv 5528  df-co 5529  df-dm 5530  df-rn 5531  df-res 5532  df-ima 5533  df-pred 6117  df-ord 6163  df-on 6164  df-lim 6165  df-suc 6166  df-iota 6284  df-fun 6327  df-fn 6328  df-f 6329  df-f1 6330  df-fo 6331  df-f1o 6332  df-fv 6333  df-riota 7094  df-ov 7139  df-oprab 7140  df-mpo 7141  df-om 7564  df-1st 7674  df-2nd 7675  df-wrecs 7933  df-recs 7994  df-rdg 8032  df-1o 8088  df-oadd 8092  df-er 8275  df-en 8496  df-dom 8497  df-sdom 8498  df-fin 8499  df-dju 9317  df-card 9355  df-pnf 10669  df-mnf 10670  df-xr 10671  df-ltxr 10672  df-le 10673  df-sub 10864  df-neg 10865  df-nn 11629  df-n0 11889  df-z 11973  df-uz 12235  df-hash 13690 This theorem is referenced by:  incexclem  15186
 Copyright terms: Public domain W3C validator