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

Theorem hashun3 13593
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 8596 . . . . . . 7 (𝐵 ∈ Fin → (𝐵𝐴) ∈ Fin)
21adantl 482 . . . . . 6 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (𝐵𝐴) ∈ Fin)
3 simpl 483 . . . . . . 7 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → 𝐴 ∈ Fin)
4 inss1 4125 . . . . . . 7 (𝐴𝐵) ⊆ 𝐴
5 ssfi 8584 . . . . . . 7 ((𝐴 ∈ Fin ∧ (𝐴𝐵) ⊆ 𝐴) → (𝐴𝐵) ∈ Fin)
63, 4, 5sylancl 586 . . . . . 6 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (𝐴𝐵) ∈ Fin)
7 sslin 4131 . . . . . . . . 9 ((𝐴𝐵) ⊆ 𝐴 → ((𝐵𝐴) ∩ (𝐴𝐵)) ⊆ ((𝐵𝐴) ∩ 𝐴))
84, 7ax-mp 5 . . . . . . . 8 ((𝐵𝐴) ∩ (𝐴𝐵)) ⊆ ((𝐵𝐴) ∩ 𝐴)
9 incom 4099 . . . . . . . . 9 ((𝐵𝐴) ∩ 𝐴) = (𝐴 ∩ (𝐵𝐴))
10 disjdif 4335 . . . . . . . . 9 (𝐴 ∩ (𝐵𝐴)) = ∅
119, 10eqtri 2819 . . . . . . . 8 ((𝐵𝐴) ∩ 𝐴) = ∅
12 sseq0 4273 . . . . . . . 8 ((((𝐵𝐴) ∩ (𝐴𝐵)) ⊆ ((𝐵𝐴) ∩ 𝐴) ∧ ((𝐵𝐴) ∩ 𝐴) = ∅) → ((𝐵𝐴) ∩ (𝐴𝐵)) = ∅)
138, 11, 12mp2an 688 . . . . . . 7 ((𝐵𝐴) ∩ (𝐴𝐵)) = ∅
1413a1i 11 . . . . . 6 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → ((𝐵𝐴) ∩ (𝐴𝐵)) = ∅)
15 hashun 13591 . . . . . 6 (((𝐵𝐴) ∈ Fin ∧ (𝐴𝐵) ∈ Fin ∧ ((𝐵𝐴) ∩ (𝐴𝐵)) = ∅) → (♯‘((𝐵𝐴) ∪ (𝐴𝐵))) = ((♯‘(𝐵𝐴)) + (♯‘(𝐴𝐵))))
162, 6, 14, 15syl3anc 1364 . . . . 5 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (♯‘((𝐵𝐴) ∪ (𝐴𝐵))) = ((♯‘(𝐵𝐴)) + (♯‘(𝐴𝐵))))
17 incom 4099 . . . . . . . . 9 (𝐴𝐵) = (𝐵𝐴)
1817uneq2i 4057 . . . . . . . 8 ((𝐵𝐴) ∪ (𝐴𝐵)) = ((𝐵𝐴) ∪ (𝐵𝐴))
19 uncom 4050 . . . . . . . 8 ((𝐵𝐴) ∪ (𝐵𝐴)) = ((𝐵𝐴) ∪ (𝐵𝐴))
20 inundif 4341 . . . . . . . 8 ((𝐵𝐴) ∪ (𝐵𝐴)) = 𝐵
2118, 19, 203eqtri 2823 . . . . . . 7 ((𝐵𝐴) ∪ (𝐴𝐵)) = 𝐵
2221a1i 11 . . . . . 6 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → ((𝐵𝐴) ∪ (𝐴𝐵)) = 𝐵)
2322fveq2d 6542 . . . . 5 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (♯‘((𝐵𝐴) ∪ (𝐴𝐵))) = (♯‘𝐵))
2416, 23eqtr3d 2833 . . . 4 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → ((♯‘(𝐵𝐴)) + (♯‘(𝐴𝐵))) = (♯‘𝐵))
25 hashcl 13567 . . . . . . 7 (𝐵 ∈ Fin → (♯‘𝐵) ∈ ℕ0)
2625adantl 482 . . . . . 6 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (♯‘𝐵) ∈ ℕ0)
2726nn0cnd 11805 . . . . 5 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (♯‘𝐵) ∈ ℂ)
28 hashcl 13567 . . . . . . 7 ((𝐴𝐵) ∈ Fin → (♯‘(𝐴𝐵)) ∈ ℕ0)
296, 28syl 17 . . . . . 6 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (♯‘(𝐴𝐵)) ∈ ℕ0)
3029nn0cnd 11805 . . . . 5 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (♯‘(𝐴𝐵)) ∈ ℂ)
31 hashcl 13567 . . . . . . 7 ((𝐵𝐴) ∈ Fin → (♯‘(𝐵𝐴)) ∈ ℕ0)
322, 31syl 17 . . . . . 6 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (♯‘(𝐵𝐴)) ∈ ℕ0)
3332nn0cnd 11805 . . . . 5 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (♯‘(𝐵𝐴)) ∈ ℂ)
3427, 30, 33subadd2d 10864 . . . 4 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (((♯‘𝐵) − (♯‘(𝐴𝐵))) = (♯‘(𝐵𝐴)) ↔ ((♯‘(𝐵𝐴)) + (♯‘(𝐴𝐵))) = (♯‘𝐵)))
3524, 34mpbird 258 . . 3 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → ((♯‘𝐵) − (♯‘(𝐴𝐵))) = (♯‘(𝐵𝐴)))
3635oveq2d 7032 . 2 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → ((♯‘𝐴) + ((♯‘𝐵) − (♯‘(𝐴𝐵)))) = ((♯‘𝐴) + (♯‘(𝐵𝐴))))
37 hashcl 13567 . . . . 5 (𝐴 ∈ Fin → (♯‘𝐴) ∈ ℕ0)
3837adantr 481 . . . 4 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (♯‘𝐴) ∈ ℕ0)
3938nn0cnd 11805 . . 3 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (♯‘𝐴) ∈ ℂ)
4039, 27, 30addsubassd 10865 . 2 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (((♯‘𝐴) + (♯‘𝐵)) − (♯‘(𝐴𝐵))) = ((♯‘𝐴) + ((♯‘𝐵) − (♯‘(𝐴𝐵)))))
41 undif2 4339 . . . 4 (𝐴 ∪ (𝐵𝐴)) = (𝐴𝐵)
4241fveq2i 6541 . . 3 (♯‘(𝐴 ∪ (𝐵𝐴))) = (♯‘(𝐴𝐵))
4310a1i 11 . . . 4 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (𝐴 ∩ (𝐵𝐴)) = ∅)
44 hashun 13591 . . . 4 ((𝐴 ∈ Fin ∧ (𝐵𝐴) ∈ Fin ∧ (𝐴 ∩ (𝐵𝐴)) = ∅) → (♯‘(𝐴 ∪ (𝐵𝐴))) = ((♯‘𝐴) + (♯‘(𝐵𝐴))))
453, 2, 43, 44syl3anc 1364 . . 3 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (♯‘(𝐴 ∪ (𝐵𝐴))) = ((♯‘𝐴) + (♯‘(𝐵𝐴))))
4642, 45syl5eqr 2845 . 2 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (♯‘(𝐴𝐵)) = ((♯‘𝐴) + (♯‘(𝐵𝐴))))
4736, 40, 463eqtr4rd 2842 1 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (♯‘(𝐴𝐵)) = (((♯‘𝐴) + (♯‘𝐵)) − (♯‘(𝐴𝐵))))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 396   = wceq 1522  wcel 2081  cdif 3856  cun 3857  cin 3858  wss 3859  c0 4211  cfv 6225  (class class class)co 7016  Fincfn 8357   + caddc 10386  cmin 10717  0cn0 11745  chash 13540
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1777  ax-4 1791  ax-5 1888  ax-6 1947  ax-7 1992  ax-8 2083  ax-9 2091  ax-10 2112  ax-11 2126  ax-12 2141  ax-13 2344  ax-ext 2769  ax-rep 5081  ax-sep 5094  ax-nul 5101  ax-pow 5157  ax-pr 5221  ax-un 7319  ax-cnex 10439  ax-resscn 10440  ax-1cn 10441  ax-icn 10442  ax-addcl 10443  ax-addrcl 10444  ax-mulcl 10445  ax-mulrcl 10446  ax-mulcom 10447  ax-addass 10448  ax-mulass 10449  ax-distr 10450  ax-i2m1 10451  ax-1ne0 10452  ax-1rid 10453  ax-rnegex 10454  ax-rrecex 10455  ax-cnre 10456  ax-pre-lttri 10457  ax-pre-lttrn 10458  ax-pre-ltadd 10459  ax-pre-mulgt0 10460
This theorem depends on definitions:  df-bi 208  df-an 397  df-or 843  df-3or 1081  df-3an 1082  df-tru 1525  df-ex 1762  df-nf 1766  df-sb 2043  df-mo 2576  df-eu 2612  df-clab 2776  df-cleq 2788  df-clel 2863  df-nfc 2935  df-ne 2985  df-nel 3091  df-ral 3110  df-rex 3111  df-reu 3112  df-rmo 3113  df-rab 3114  df-v 3439  df-sbc 3707  df-csb 3812  df-dif 3862  df-un 3864  df-in 3866  df-ss 3874  df-pss 3876  df-nul 4212  df-if 4382  df-pw 4455  df-sn 4473  df-pr 4475  df-tp 4477  df-op 4479  df-uni 4746  df-int 4783  df-iun 4827  df-br 4963  df-opab 5025  df-mpt 5042  df-tr 5064  df-id 5348  df-eprel 5353  df-po 5362  df-so 5363  df-fr 5402  df-we 5404  df-xp 5449  df-rel 5450  df-cnv 5451  df-co 5452  df-dm 5453  df-rn 5454  df-res 5455  df-ima 5456  df-pred 6023  df-ord 6069  df-on 6070  df-lim 6071  df-suc 6072  df-iota 6189  df-fun 6227  df-fn 6228  df-f 6229  df-f1 6230  df-fo 6231  df-f1o 6232  df-fv 6233  df-riota 6977  df-ov 7019  df-oprab 7020  df-mpo 7021  df-om 7437  df-1st 7545  df-2nd 7546  df-wrecs 7798  df-recs 7860  df-rdg 7898  df-1o 7953  df-oadd 7957  df-er 8139  df-en 8358  df-dom 8359  df-sdom 8360  df-fin 8361  df-dju 9176  df-card 9214  df-pnf 10523  df-mnf 10524  df-xr 10525  df-ltxr 10526  df-le 10527  df-sub 10719  df-neg 10720  df-nn 11487  df-n0 11746  df-z 11830  df-uz 12094  df-hash 13541
This theorem is referenced by:  incexclem  15024
  Copyright terms: Public domain W3C validator