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 42728
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 4988 . 2 𝐵 = 𝑦𝐵 𝑦
2 elun1 4110 . . . . . . 7 (𝑦𝐵𝑦 ∈ (𝐵 ∪ {∅}))
3 foelrni 6831 . . . . . . 7 ((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ 𝑦 ∈ (𝐵 ∪ {∅})) → ∃𝑥𝐴 (𝐹𝑥) = 𝑦)
42, 3sylan2 593 . . . . . 6 ((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ 𝑦𝐵) → ∃𝑥𝐴 (𝐹𝑥) = 𝑦)
5 eqimss2 3978 . . . . . . 7 ((𝐹𝑥) = 𝑦𝑦 ⊆ (𝐹𝑥))
65reximi 3178 . . . . . 6 (∃𝑥𝐴 (𝐹𝑥) = 𝑦 → ∃𝑥𝐴 𝑦 ⊆ (𝐹𝑥))
74, 6syl 17 . . . . 5 ((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ 𝑦𝐵) → ∃𝑥𝐴 𝑦 ⊆ (𝐹𝑥))
87ralrimiva 3103 . . . 4 (𝐹:𝐴onto→(𝐵 ∪ {∅}) → ∀𝑦𝐵𝑥𝐴 𝑦 ⊆ (𝐹𝑥))
9 iunss2 4979 . . . 4 (∀𝑦𝐵𝑥𝐴 𝑦 ⊆ (𝐹𝑥) → 𝑦𝐵 𝑦 𝑥𝐴 (𝐹𝑥))
108, 9syl 17 . . 3 (𝐹:𝐴onto→(𝐵 ∪ {∅}) → 𝑦𝐵 𝑦 𝑥𝐴 (𝐹𝑥))
11 simpl 483 . . . . . 6 ((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ 𝐵 = ∅) → 𝐹:𝐴onto→(𝐵 ∪ {∅}))
12 uneq1 4090 . . . . . . . . 9 (𝐵 = ∅ → (𝐵 ∪ {∅}) = (∅ ∪ {∅}))
13 0un 4326 . . . . . . . . 9 (∅ ∪ {∅}) = {∅}
1412, 13eqtrdi 2794 . . . . . . . 8 (𝐵 = ∅ → (𝐵 ∪ {∅}) = {∅})
1514adantl 482 . . . . . . 7 ((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ 𝐵 = ∅) → (𝐵 ∪ {∅}) = {∅})
16 foeq3 6686 . . . . . . 7 ((𝐵 ∪ {∅}) = {∅} → (𝐹:𝐴onto→(𝐵 ∪ {∅}) ↔ 𝐹:𝐴onto→{∅}))
1715, 16syl 17 . . . . . 6 ((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ 𝐵 = ∅) → (𝐹:𝐴onto→(𝐵 ∪ {∅}) ↔ 𝐹:𝐴onto→{∅}))
1811, 17mpbid 231 . . . . 5 ((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ 𝐵 = ∅) → 𝐹:𝐴onto→{∅})
19 founiiun 42715 . . . . . . 7 (𝐹:𝐴onto→{∅} → {∅} = 𝑥𝐴 (𝐹𝑥))
20 unisn0 42602 . . . . . . 7 {∅} = ∅
2119, 20eqtr3di 2793 . . . . . 6 (𝐹:𝐴onto→{∅} → 𝑥𝐴 (𝐹𝑥) = ∅)
22 0ss 4330 . . . . . 6 ∅ ⊆ 𝑦𝐵 𝑦
2321, 22eqsstrdi 3975 . . . . 5 (𝐹:𝐴onto→{∅} → 𝑥𝐴 (𝐹𝑥) ⊆ 𝑦𝐵 𝑦)
2418, 23syl 17 . . . 4 ((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ 𝐵 = ∅) → 𝑥𝐴 (𝐹𝑥) ⊆ 𝑦𝐵 𝑦)
25 ssid 3943 . . . . . . . . 9 (𝐹𝑥) ⊆ (𝐹𝑥)
26 sseq2 3947 . . . . . . . . . 10 (𝑦 = (𝐹𝑥) → ((𝐹𝑥) ⊆ 𝑦 ↔ (𝐹𝑥) ⊆ (𝐹𝑥)))
2726rspcev 3561 . . . . . . . . 9 (((𝐹𝑥) ∈ 𝐵 ∧ (𝐹𝑥) ⊆ (𝐹𝑥)) → ∃𝑦𝐵 (𝐹𝑥) ⊆ 𝑦)
2825, 27mpan2 688 . . . . . . . 8 ((𝐹𝑥) ∈ 𝐵 → ∃𝑦𝐵 (𝐹𝑥) ⊆ 𝑦)
2928adantl 482 . . . . . . 7 ((((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ ¬ 𝐵 = ∅) ∧ 𝑥𝐴) ∧ (𝐹𝑥) ∈ 𝐵) → ∃𝑦𝐵 (𝐹𝑥) ⊆ 𝑦)
30 fof 6688 . . . . . . . . . . . 12 (𝐹:𝐴onto→(𝐵 ∪ {∅}) → 𝐹:𝐴⟶(𝐵 ∪ {∅}))
3130ffvelrnda 6961 . . . . . . . . . . 11 ((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ 𝑥𝐴) → (𝐹𝑥) ∈ (𝐵 ∪ {∅}))
32 elunnel1 4084 . . . . . . . . . . 11 (((𝐹𝑥) ∈ (𝐵 ∪ {∅}) ∧ ¬ (𝐹𝑥) ∈ 𝐵) → (𝐹𝑥) ∈ {∅})
3331, 32sylan 580 . . . . . . . . . 10 (((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ 𝑥𝐴) ∧ ¬ (𝐹𝑥) ∈ 𝐵) → (𝐹𝑥) ∈ {∅})
34 elsni 4578 . . . . . . . . . 10 ((𝐹𝑥) ∈ {∅} → (𝐹𝑥) = ∅)
3533, 34syl 17 . . . . . . . . 9 (((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ 𝑥𝐴) ∧ ¬ (𝐹𝑥) ∈ 𝐵) → (𝐹𝑥) = ∅)
3635adantllr 716 . . . . . . . 8 ((((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ ¬ 𝐵 = ∅) ∧ 𝑥𝐴) ∧ ¬ (𝐹𝑥) ∈ 𝐵) → (𝐹𝑥) = ∅)
37 neq0 4279 . . . . . . . . . . . . 13 𝐵 = ∅ ↔ ∃𝑦 𝑦𝐵)
3837biimpi 215 . . . . . . . . . . . 12 𝐵 = ∅ → ∃𝑦 𝑦𝐵)
3938adantr 481 . . . . . . . . . . 11 ((¬ 𝐵 = ∅ ∧ (𝐹𝑥) = ∅) → ∃𝑦 𝑦𝐵)
40 id 22 . . . . . . . . . . . . . . . 16 ((𝐹𝑥) = ∅ → (𝐹𝑥) = ∅)
41 0ss 4330 . . . . . . . . . . . . . . . 16 ∅ ⊆ 𝑦
4240, 41eqsstrdi 3975 . . . . . . . . . . . . . . 15 ((𝐹𝑥) = ∅ → (𝐹𝑥) ⊆ 𝑦)
4342anim1ci 616 . . . . . . . . . . . . . 14 (((𝐹𝑥) = ∅ ∧ 𝑦𝐵) → (𝑦𝐵 ∧ (𝐹𝑥) ⊆ 𝑦))
4443ex 413 . . . . . . . . . . . . 13 ((𝐹𝑥) = ∅ → (𝑦𝐵 → (𝑦𝐵 ∧ (𝐹𝑥) ⊆ 𝑦)))
4544adantl 482 . . . . . . . . . . . 12 ((¬ 𝐵 = ∅ ∧ (𝐹𝑥) = ∅) → (𝑦𝐵 → (𝑦𝐵 ∧ (𝐹𝑥) ⊆ 𝑦)))
4645eximdv 1920 . . . . . . . . . . 11 ((¬ 𝐵 = ∅ ∧ (𝐹𝑥) = ∅) → (∃𝑦 𝑦𝐵 → ∃𝑦(𝑦𝐵 ∧ (𝐹𝑥) ⊆ 𝑦)))
4739, 46mpd 15 . . . . . . . . . 10 ((¬ 𝐵 = ∅ ∧ (𝐹𝑥) = ∅) → ∃𝑦(𝑦𝐵 ∧ (𝐹𝑥) ⊆ 𝑦))
48 df-rex 3070 . . . . . . . . . 10 (∃𝑦𝐵 (𝐹𝑥) ⊆ 𝑦 ↔ ∃𝑦(𝑦𝐵 ∧ (𝐹𝑥) ⊆ 𝑦))
4947, 48sylibr 233 . . . . . . . . 9 ((¬ 𝐵 = ∅ ∧ (𝐹𝑥) = ∅) → ∃𝑦𝐵 (𝐹𝑥) ⊆ 𝑦)
5049ad4ant24 751 . . . . . . . 8 ((((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ ¬ 𝐵 = ∅) ∧ 𝑥𝐴) ∧ (𝐹𝑥) = ∅) → ∃𝑦𝐵 (𝐹𝑥) ⊆ 𝑦)
5136, 50syldan 591 . . . . . . 7 ((((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ ¬ 𝐵 = ∅) ∧ 𝑥𝐴) ∧ ¬ (𝐹𝑥) ∈ 𝐵) → ∃𝑦𝐵 (𝐹𝑥) ⊆ 𝑦)
5229, 51pm2.61dan 810 . . . . . 6 (((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ ¬ 𝐵 = ∅) ∧ 𝑥𝐴) → ∃𝑦𝐵 (𝐹𝑥) ⊆ 𝑦)
5352ralrimiva 3103 . . . . 5 ((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ ¬ 𝐵 = ∅) → ∀𝑥𝐴𝑦𝐵 (𝐹𝑥) ⊆ 𝑦)
54 iunss2 4979 . . . . 5 (∀𝑥𝐴𝑦𝐵 (𝐹𝑥) ⊆ 𝑦 𝑥𝐴 (𝐹𝑥) ⊆ 𝑦𝐵 𝑦)
5553, 54syl 17 . . . 4 ((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ ¬ 𝐵 = ∅) → 𝑥𝐴 (𝐹𝑥) ⊆ 𝑦𝐵 𝑦)
5624, 55pm2.61dan 810 . . 3 (𝐹:𝐴onto→(𝐵 ∪ {∅}) → 𝑥𝐴 (𝐹𝑥) ⊆ 𝑦𝐵 𝑦)
5710, 56eqssd 3938 . 2 (𝐹:𝐴onto→(𝐵 ∪ {∅}) → 𝑦𝐵 𝑦 = 𝑥𝐴 (𝐹𝑥))
581, 57eqtrid 2790 1 (𝐹:𝐴onto→(𝐵 ∪ {∅}) → 𝐵 = 𝑥𝐴 (𝐹𝑥))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 205  wa 396   = wceq 1539  wex 1782  wcel 2106  wral 3064  wrex 3065  cun 3885  wss 3887  c0 4256  {csn 4561   cuni 4839   ciun 4924  ontowfo 6431  cfv 6433
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1798  ax-4 1812  ax-5 1913  ax-6 1971  ax-7 2011  ax-8 2108  ax-9 2116  ax-10 2137  ax-11 2154  ax-12 2171  ax-ext 2709  ax-sep 5223  ax-nul 5230  ax-pr 5352
This theorem depends on definitions:  df-bi 206  df-an 397  df-or 845  df-3an 1088  df-tru 1542  df-fal 1552  df-ex 1783  df-nf 1787  df-sb 2068  df-mo 2540  df-eu 2569  df-clab 2716  df-cleq 2730  df-clel 2816  df-nfc 2889  df-ral 3069  df-rex 3070  df-rab 3073  df-v 3434  df-dif 3890  df-un 3892  df-in 3894  df-ss 3904  df-nul 4257  df-if 4460  df-sn 4562  df-pr 4564  df-op 4568  df-uni 4840  df-iun 4926  df-br 5075  df-opab 5137  df-mpt 5158  df-id 5489  df-xp 5595  df-rel 5596  df-cnv 5597  df-co 5598  df-dm 5599  df-rn 5600  df-iota 6391  df-fun 6435  df-fn 6436  df-f 6437  df-fo 6439  df-fv 6441
This theorem is referenced by:  ismeannd  44005
  Copyright terms: Public domain W3C validator