Users' Mathboxes Mathbox for Glauco Siliprandi < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  founiiun0 Structured version   Visualization version   GIF version

Theorem founiiun0 45195
Description: Union expressed as an indexed union, when a map onto is given. (Contributed by Glauco Siliprandi, 17-Aug-2020.)
Assertion
Ref Expression
founiiun0 (𝐹:𝐴onto→(𝐵 ∪ {∅}) → 𝐵 = 𝑥𝐴 (𝐹𝑥))
Distinct variable groups:   𝑥,𝐴   𝑥,𝐵   𝑥,𝐹

Proof of Theorem founiiun0
Dummy variable 𝑦 is distinct from all other variables.
StepHypRef Expression
1 uniiun 5058 . 2 𝐵 = 𝑦𝐵 𝑦
2 elun1 4182 . . . . . . 7 (𝑦𝐵𝑦 ∈ (𝐵 ∪ {∅}))
3 foelcdmi 6970 . . . . . . 7 ((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ 𝑦 ∈ (𝐵 ∪ {∅})) → ∃𝑥𝐴 (𝐹𝑥) = 𝑦)
42, 3sylan2 593 . . . . . 6 ((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ 𝑦𝐵) → ∃𝑥𝐴 (𝐹𝑥) = 𝑦)
5 eqimss2 4043 . . . . . . 7 ((𝐹𝑥) = 𝑦𝑦 ⊆ (𝐹𝑥))
65reximi 3084 . . . . . 6 (∃𝑥𝐴 (𝐹𝑥) = 𝑦 → ∃𝑥𝐴 𝑦 ⊆ (𝐹𝑥))
74, 6syl 17 . . . . 5 ((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ 𝑦𝐵) → ∃𝑥𝐴 𝑦 ⊆ (𝐹𝑥))
87ralrimiva 3146 . . . 4 (𝐹:𝐴onto→(𝐵 ∪ {∅}) → ∀𝑦𝐵𝑥𝐴 𝑦 ⊆ (𝐹𝑥))
9 iunss2 5049 . . . 4 (∀𝑦𝐵𝑥𝐴 𝑦 ⊆ (𝐹𝑥) → 𝑦𝐵 𝑦 𝑥𝐴 (𝐹𝑥))
108, 9syl 17 . . 3 (𝐹:𝐴onto→(𝐵 ∪ {∅}) → 𝑦𝐵 𝑦 𝑥𝐴 (𝐹𝑥))
11 simpl 482 . . . . . 6 ((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ 𝐵 = ∅) → 𝐹:𝐴onto→(𝐵 ∪ {∅}))
12 uneq1 4161 . . . . . . . . 9 (𝐵 = ∅ → (𝐵 ∪ {∅}) = (∅ ∪ {∅}))
13 0un 4396 . . . . . . . . 9 (∅ ∪ {∅}) = {∅}
1412, 13eqtrdi 2793 . . . . . . . 8 (𝐵 = ∅ → (𝐵 ∪ {∅}) = {∅})
1514adantl 481 . . . . . . 7 ((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ 𝐵 = ∅) → (𝐵 ∪ {∅}) = {∅})
16 foeq3 6818 . . . . . . 7 ((𝐵 ∪ {∅}) = {∅} → (𝐹:𝐴onto→(𝐵 ∪ {∅}) ↔ 𝐹:𝐴onto→{∅}))
1715, 16syl 17 . . . . . 6 ((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ 𝐵 = ∅) → (𝐹:𝐴onto→(𝐵 ∪ {∅}) ↔ 𝐹:𝐴onto→{∅}))
1811, 17mpbid 232 . . . . 5 ((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ 𝐵 = ∅) → 𝐹:𝐴onto→{∅})
19 founiiun 45184 . . . . . . 7 (𝐹:𝐴onto→{∅} → {∅} = 𝑥𝐴 (𝐹𝑥))
20 unisn0 45059 . . . . . . 7 {∅} = ∅
2119, 20eqtr3di 2792 . . . . . 6 (𝐹:𝐴onto→{∅} → 𝑥𝐴 (𝐹𝑥) = ∅)
22 0ss 4400 . . . . . 6 ∅ ⊆ 𝑦𝐵 𝑦
2321, 22eqsstrdi 4028 . . . . 5 (𝐹:𝐴onto→{∅} → 𝑥𝐴 (𝐹𝑥) ⊆ 𝑦𝐵 𝑦)
2418, 23syl 17 . . . 4 ((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ 𝐵 = ∅) → 𝑥𝐴 (𝐹𝑥) ⊆ 𝑦𝐵 𝑦)
25 ssid 4006 . . . . . . . . 9 (𝐹𝑥) ⊆ (𝐹𝑥)
26 sseq2 4010 . . . . . . . . . 10 (𝑦 = (𝐹𝑥) → ((𝐹𝑥) ⊆ 𝑦 ↔ (𝐹𝑥) ⊆ (𝐹𝑥)))
2726rspcev 3622 . . . . . . . . 9 (((𝐹𝑥) ∈ 𝐵 ∧ (𝐹𝑥) ⊆ (𝐹𝑥)) → ∃𝑦𝐵 (𝐹𝑥) ⊆ 𝑦)
2825, 27mpan2 691 . . . . . . . 8 ((𝐹𝑥) ∈ 𝐵 → ∃𝑦𝐵 (𝐹𝑥) ⊆ 𝑦)
2928adantl 481 . . . . . . 7 ((((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ ¬ 𝐵 = ∅) ∧ 𝑥𝐴) ∧ (𝐹𝑥) ∈ 𝐵) → ∃𝑦𝐵 (𝐹𝑥) ⊆ 𝑦)
30 fof 6820 . . . . . . . . . . . 12 (𝐹:𝐴onto→(𝐵 ∪ {∅}) → 𝐹:𝐴⟶(𝐵 ∪ {∅}))
3130ffvelcdmda 7104 . . . . . . . . . . 11 ((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ 𝑥𝐴) → (𝐹𝑥) ∈ (𝐵 ∪ {∅}))
32 elunnel1 4154 . . . . . . . . . . 11 (((𝐹𝑥) ∈ (𝐵 ∪ {∅}) ∧ ¬ (𝐹𝑥) ∈ 𝐵) → (𝐹𝑥) ∈ {∅})
3331, 32sylan 580 . . . . . . . . . 10 (((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ 𝑥𝐴) ∧ ¬ (𝐹𝑥) ∈ 𝐵) → (𝐹𝑥) ∈ {∅})
34 elsni 4643 . . . . . . . . . 10 ((𝐹𝑥) ∈ {∅} → (𝐹𝑥) = ∅)
3533, 34syl 17 . . . . . . . . 9 (((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ 𝑥𝐴) ∧ ¬ (𝐹𝑥) ∈ 𝐵) → (𝐹𝑥) = ∅)
3635adantllr 719 . . . . . . . 8 ((((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ ¬ 𝐵 = ∅) ∧ 𝑥𝐴) ∧ ¬ (𝐹𝑥) ∈ 𝐵) → (𝐹𝑥) = ∅)
37 neq0 4352 . . . . . . . . . . . . 13 𝐵 = ∅ ↔ ∃𝑦 𝑦𝐵)
3837biimpi 216 . . . . . . . . . . . 12 𝐵 = ∅ → ∃𝑦 𝑦𝐵)
3938adantr 480 . . . . . . . . . . 11 ((¬ 𝐵 = ∅ ∧ (𝐹𝑥) = ∅) → ∃𝑦 𝑦𝐵)
40 id 22 . . . . . . . . . . . . . . . 16 ((𝐹𝑥) = ∅ → (𝐹𝑥) = ∅)
41 0ss 4400 . . . . . . . . . . . . . . . 16 ∅ ⊆ 𝑦
4240, 41eqsstrdi 4028 . . . . . . . . . . . . . . 15 ((𝐹𝑥) = ∅ → (𝐹𝑥) ⊆ 𝑦)
4342anim1ci 616 . . . . . . . . . . . . . 14 (((𝐹𝑥) = ∅ ∧ 𝑦𝐵) → (𝑦𝐵 ∧ (𝐹𝑥) ⊆ 𝑦))
4443ex 412 . . . . . . . . . . . . 13 ((𝐹𝑥) = ∅ → (𝑦𝐵 → (𝑦𝐵 ∧ (𝐹𝑥) ⊆ 𝑦)))
4544adantl 481 . . . . . . . . . . . 12 ((¬ 𝐵 = ∅ ∧ (𝐹𝑥) = ∅) → (𝑦𝐵 → (𝑦𝐵 ∧ (𝐹𝑥) ⊆ 𝑦)))
4645eximdv 1917 . . . . . . . . . . 11 ((¬ 𝐵 = ∅ ∧ (𝐹𝑥) = ∅) → (∃𝑦 𝑦𝐵 → ∃𝑦(𝑦𝐵 ∧ (𝐹𝑥) ⊆ 𝑦)))
4739, 46mpd 15 . . . . . . . . . 10 ((¬ 𝐵 = ∅ ∧ (𝐹𝑥) = ∅) → ∃𝑦(𝑦𝐵 ∧ (𝐹𝑥) ⊆ 𝑦))
48 df-rex 3071 . . . . . . . . . 10 (∃𝑦𝐵 (𝐹𝑥) ⊆ 𝑦 ↔ ∃𝑦(𝑦𝐵 ∧ (𝐹𝑥) ⊆ 𝑦))
4947, 48sylibr 234 . . . . . . . . 9 ((¬ 𝐵 = ∅ ∧ (𝐹𝑥) = ∅) → ∃𝑦𝐵 (𝐹𝑥) ⊆ 𝑦)
5049ad4ant24 754 . . . . . . . 8 ((((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ ¬ 𝐵 = ∅) ∧ 𝑥𝐴) ∧ (𝐹𝑥) = ∅) → ∃𝑦𝐵 (𝐹𝑥) ⊆ 𝑦)
5136, 50syldan 591 . . . . . . 7 ((((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ ¬ 𝐵 = ∅) ∧ 𝑥𝐴) ∧ ¬ (𝐹𝑥) ∈ 𝐵) → ∃𝑦𝐵 (𝐹𝑥) ⊆ 𝑦)
5229, 51pm2.61dan 813 . . . . . 6 (((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ ¬ 𝐵 = ∅) ∧ 𝑥𝐴) → ∃𝑦𝐵 (𝐹𝑥) ⊆ 𝑦)
5352ralrimiva 3146 . . . . 5 ((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ ¬ 𝐵 = ∅) → ∀𝑥𝐴𝑦𝐵 (𝐹𝑥) ⊆ 𝑦)
54 iunss2 5049 . . . . 5 (∀𝑥𝐴𝑦𝐵 (𝐹𝑥) ⊆ 𝑦 𝑥𝐴 (𝐹𝑥) ⊆ 𝑦𝐵 𝑦)
5553, 54syl 17 . . . 4 ((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ ¬ 𝐵 = ∅) → 𝑥𝐴 (𝐹𝑥) ⊆ 𝑦𝐵 𝑦)
5624, 55pm2.61dan 813 . . 3 (𝐹:𝐴onto→(𝐵 ∪ {∅}) → 𝑥𝐴 (𝐹𝑥) ⊆ 𝑦𝐵 𝑦)
5710, 56eqssd 4001 . 2 (𝐹:𝐴onto→(𝐵 ∪ {∅}) → 𝑦𝐵 𝑦 = 𝑥𝐴 (𝐹𝑥))
581, 57eqtrid 2789 1 (𝐹:𝐴onto→(𝐵 ∪ {∅}) → 𝐵 = 𝑥𝐴 (𝐹𝑥))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 206  wa 395   = wceq 1540  wex 1779  wcel 2108  wral 3061  wrex 3070  cun 3949  wss 3951  c0 4333  {csn 4626   cuni 4907   ciun 4991  ontowfo 6559  cfv 6561
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1795  ax-4 1809  ax-5 1910  ax-6 1967  ax-7 2007  ax-8 2110  ax-9 2118  ax-10 2141  ax-11 2157  ax-12 2177  ax-ext 2708  ax-sep 5296  ax-nul 5306  ax-pr 5432
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 849  df-3an 1089  df-tru 1543  df-fal 1553  df-ex 1780  df-nf 1784  df-sb 2065  df-mo 2540  df-eu 2569  df-clab 2715  df-cleq 2729  df-clel 2816  df-nfc 2892  df-ne 2941  df-ral 3062  df-rex 3071  df-rab 3437  df-v 3482  df-dif 3954  df-un 3956  df-ss 3968  df-nul 4334  df-if 4526  df-sn 4627  df-pr 4629  df-op 4633  df-uni 4908  df-iun 4993  df-br 5144  df-opab 5206  df-mpt 5226  df-id 5578  df-xp 5691  df-rel 5692  df-cnv 5693  df-co 5694  df-dm 5695  df-rn 5696  df-iota 6514  df-fun 6563  df-fn 6564  df-f 6565  df-fo 6567  df-fv 6569
This theorem is referenced by:  ismeannd  46482
  Copyright terms: Public domain W3C validator