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 45706
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 5006 . 2 𝐵 = 𝑦𝐵 𝑦
2 elun1 4125 . . . . . . 7 (𝑦𝐵𝑦 ∈ (𝐵 ∪ {∅}))
3 foelcdmi 6913 . . . . . . 7 ((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ 𝑦 ∈ (𝐵 ∪ {∅})) → ∃𝑥𝐴 (𝐹𝑥) = 𝑦)
42, 3sylan2 601 . . . . . 6 ((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ 𝑦𝐵) → ∃𝑥𝐴 (𝐹𝑥) = 𝑦)
5 eqimss2 3986 . . . . . . 7 ((𝐹𝑥) = 𝑦𝑦 ⊆ (𝐹𝑥))
65reximi 3090 . . . . . 6 (∃𝑥𝐴 (𝐹𝑥) = 𝑦 → ∃𝑥𝐴 𝑦 ⊆ (𝐹𝑥))
74, 6syl 17 . . . . 5 ((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ 𝑦𝐵) → ∃𝑥𝐴 𝑦 ⊆ (𝐹𝑥))
87ralrimiva 3144 . . . 4 (𝐹:𝐴onto→(𝐵 ∪ {∅}) → ∀𝑦𝐵𝑥𝐴 𝑦 ⊆ (𝐹𝑥))
9 iunss2 4997 . . . 4 (∀𝑦𝐵𝑥𝐴 𝑦 ⊆ (𝐹𝑥) → 𝑦𝐵 𝑦 𝑥𝐴 (𝐹𝑥))
108, 9syl 17 . . 3 (𝐹:𝐴onto→(𝐵 ∪ {∅}) → 𝑦𝐵 𝑦 𝑥𝐴 (𝐹𝑥))
11 simpl 485 . . . . . 6 ((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ 𝐵 = ∅) → 𝐹:𝐴onto→(𝐵 ∪ {∅}))
12 uneq1 4105 . . . . . . . . 9 (𝐵 = ∅ → (𝐵 ∪ {∅}) = (∅ ∪ {∅}))
13 0un 4340 . . . . . . . . 9 (∅ ∪ {∅}) = {∅}
1412, 13eqtrdi 2803 . . . . . . . 8 (𝐵 = ∅ → (𝐵 ∪ {∅}) = {∅})
1514adantl 484 . . . . . . 7 ((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ 𝐵 = ∅) → (𝐵 ∪ {∅}) = {∅})
16 foeq3 6761 . . . . . . 7 ((𝐵 ∪ {∅}) = {∅} → (𝐹:𝐴onto→(𝐵 ∪ {∅}) ↔ 𝐹:𝐴onto→{∅}))
1715, 16syl 17 . . . . . 6 ((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ 𝐵 = ∅) → (𝐹:𝐴onto→(𝐵 ∪ {∅}) ↔ 𝐹:𝐴onto→{∅}))
1811, 17mpbid 234 . . . . 5 ((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ 𝐵 = ∅) → 𝐹:𝐴onto→{∅})
19 founiiun 45695 . . . . . . 7 (𝐹:𝐴onto→{∅} → {∅} = 𝑥𝐴 (𝐹𝑥))
20 unisn0 45572 . . . . . . 7 {∅} = ∅
2119, 20eqtr3di 2802 . . . . . 6 (𝐹:𝐴onto→{∅} → 𝑥𝐴 (𝐹𝑥) = ∅)
22 0ss 4344 . . . . . 6 ∅ ⊆ 𝑦𝐵 𝑦
2321, 22eqsstrdi 3971 . . . . 5 (𝐹:𝐴onto→{∅} → 𝑥𝐴 (𝐹𝑥) ⊆ 𝑦𝐵 𝑦)
2418, 23syl 17 . . . 4 ((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ 𝐵 = ∅) → 𝑥𝐴 (𝐹𝑥) ⊆ 𝑦𝐵 𝑦)
25 ssid 3949 . . . . . . . . 9 (𝐹𝑥) ⊆ (𝐹𝑥)
26 sseq2 3953 . . . . . . . . . 10 (𝑦 = (𝐹𝑥) → ((𝐹𝑥) ⊆ 𝑦 ↔ (𝐹𝑥) ⊆ (𝐹𝑥)))
2726rspcev 3572 . . . . . . . . 9 (((𝐹𝑥) ∈ 𝐵 ∧ (𝐹𝑥) ⊆ (𝐹𝑥)) → ∃𝑦𝐵 (𝐹𝑥) ⊆ 𝑦)
2825, 27mpan2 699 . . . . . . . 8 ((𝐹𝑥) ∈ 𝐵 → ∃𝑦𝐵 (𝐹𝑥) ⊆ 𝑦)
2928adantl 484 . . . . . . 7 ((((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ ¬ 𝐵 = ∅) ∧ 𝑥𝐴) ∧ (𝐹𝑥) ∈ 𝐵) → ∃𝑦𝐵 (𝐹𝑥) ⊆ 𝑦)
30 fof 6763 . . . . . . . . . . . 12 (𝐹:𝐴onto→(𝐵 ∪ {∅}) → 𝐹:𝐴⟶(𝐵 ∪ {∅}))
3130ffvelcdmda 7050 . . . . . . . . . . 11 ((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ 𝑥𝐴) → (𝐹𝑥) ∈ (𝐵 ∪ {∅}))
32 elunnel1 4098 . . . . . . . . . . 11 (((𝐹𝑥) ∈ (𝐵 ∪ {∅}) ∧ ¬ (𝐹𝑥) ∈ 𝐵) → (𝐹𝑥) ∈ {∅})
3331, 32sylan 588 . . . . . . . . . 10 (((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ 𝑥𝐴) ∧ ¬ (𝐹𝑥) ∈ 𝐵) → (𝐹𝑥) ∈ {∅})
34 elsni 4589 . . . . . . . . . 10 ((𝐹𝑥) ∈ {∅} → (𝐹𝑥) = ∅)
3533, 34syl 17 . . . . . . . . 9 (((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ 𝑥𝐴) ∧ ¬ (𝐹𝑥) ∈ 𝐵) → (𝐹𝑥) = ∅)
3635adantllr 727 . . . . . . . 8 ((((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ ¬ 𝐵 = ∅) ∧ 𝑥𝐴) ∧ ¬ (𝐹𝑥) ∈ 𝐵) → (𝐹𝑥) = ∅)
37 neq0 4295 . . . . . . . . . . . 12 𝐵 = ∅ ↔ ∃𝑦 𝑦𝐵)
3837birani 506 . . . . . . . . . . 11 ((¬ 𝐵 = ∅ ∧ (𝐹𝑥) = ∅) → ∃𝑦 𝑦𝐵)
39 id 22 . . . . . . . . . . . . . . . 16 ((𝐹𝑥) = ∅ → (𝐹𝑥) = ∅)
40 0ss 4344 . . . . . . . . . . . . . . . 16 ∅ ⊆ 𝑦
4139, 40eqsstrdi 3971 . . . . . . . . . . . . . . 15 ((𝐹𝑥) = ∅ → (𝐹𝑥) ⊆ 𝑦)
4241anim1ci 624 . . . . . . . . . . . . . 14 (((𝐹𝑥) = ∅ ∧ 𝑦𝐵) → (𝑦𝐵 ∧ (𝐹𝑥) ⊆ 𝑦))
4342ex 415 . . . . . . . . . . . . 13 ((𝐹𝑥) = ∅ → (𝑦𝐵 → (𝑦𝐵 ∧ (𝐹𝑥) ⊆ 𝑦)))
4443adantl 484 . . . . . . . . . . . 12 ((¬ 𝐵 = ∅ ∧ (𝐹𝑥) = ∅) → (𝑦𝐵 → (𝑦𝐵 ∧ (𝐹𝑥) ⊆ 𝑦)))
4544eximdv 1927 . . . . . . . . . . 11 ((¬ 𝐵 = ∅ ∧ (𝐹𝑥) = ∅) → (∃𝑦 𝑦𝐵 → ∃𝑦(𝑦𝐵 ∧ (𝐹𝑥) ⊆ 𝑦)))
4638, 45mpd 15 . . . . . . . . . 10 ((¬ 𝐵 = ∅ ∧ (𝐹𝑥) = ∅) → ∃𝑦(𝑦𝐵 ∧ (𝐹𝑥) ⊆ 𝑦))
47 df-rex 3077 . . . . . . . . . 10 (∃𝑦𝐵 (𝐹𝑥) ⊆ 𝑦 ↔ ∃𝑦(𝑦𝐵 ∧ (𝐹𝑥) ⊆ 𝑦))
4846, 47sylibr 236 . . . . . . . . 9 ((¬ 𝐵 = ∅ ∧ (𝐹𝑥) = ∅) → ∃𝑦𝐵 (𝐹𝑥) ⊆ 𝑦)
4948ad4ant24 762 . . . . . . . 8 ((((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ ¬ 𝐵 = ∅) ∧ 𝑥𝐴) ∧ (𝐹𝑥) = ∅) → ∃𝑦𝐵 (𝐹𝑥) ⊆ 𝑦)
5036, 49syldan 599 . . . . . . 7 ((((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ ¬ 𝐵 = ∅) ∧ 𝑥𝐴) ∧ ¬ (𝐹𝑥) ∈ 𝐵) → ∃𝑦𝐵 (𝐹𝑥) ⊆ 𝑦)
5129, 50pm2.61dan 820 . . . . . 6 (((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ ¬ 𝐵 = ∅) ∧ 𝑥𝐴) → ∃𝑦𝐵 (𝐹𝑥) ⊆ 𝑦)
5251ralrimiva 3144 . . . . 5 ((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ ¬ 𝐵 = ∅) → ∀𝑥𝐴𝑦𝐵 (𝐹𝑥) ⊆ 𝑦)
53 iunss2 4997 . . . . 5 (∀𝑥𝐴𝑦𝐵 (𝐹𝑥) ⊆ 𝑦 𝑥𝐴 (𝐹𝑥) ⊆ 𝑦𝐵 𝑦)
5452, 53syl 17 . . . 4 ((𝐹:𝐴onto→(𝐵 ∪ {∅}) ∧ ¬ 𝐵 = ∅) → 𝑥𝐴 (𝐹𝑥) ⊆ 𝑦𝐵 𝑦)
5524, 54pm2.61dan 820 . . 3 (𝐹:𝐴onto→(𝐵 ∪ {∅}) → 𝑥𝐴 (𝐹𝑥) ⊆ 𝑦𝐵 𝑦)
5610, 55eqssd 3944 . 2 (𝐹:𝐴onto→(𝐵 ∪ {∅}) → 𝑦𝐵 𝑦 = 𝑥𝐴 (𝐹𝑥))
571, 56eqtrid 2799 1 (𝐹:𝐴onto→(𝐵 ∪ {∅}) → 𝐵 = 𝑥𝐴 (𝐹𝑥))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 208  wa 398   = wceq 1550  wex 1789  wcel 2132  wral 3066  wrex 3076  cun 3893  wss 3895  c0 4276  {csn 4572   cuni 4855   ciun 4939  ontowfo 6504  cfv 6506
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1805  ax-4 1819  ax-5 1920  ax-6 1977  ax-7 2018  ax-8 2134  ax-9 2142  ax-10 2165  ax-11 2181  ax-12 2202  ax-ext 2724  ax-sep 5236  ax-nul 5246  ax-pr 5380
This theorem depends on definitions:  df-bi 209  df-an 399  df-or 857  df-3an 1097  df-tru 1553  df-fal 1563  df-ex 1790  df-nf 1794  df-sb 2081  df-mo 2556  df-eu 2586  df-clab 2731  df-cleq 2744  df-clel 2827  df-nfc 2901  df-ne 2948  df-ral 3067  df-rex 3077  df-rab 3405  df-v 3446  df-dif 3898  df-un 3900  df-in 3902  df-ss 3912  df-nul 4277  df-if 4471  df-sn 4573  df-pr 4575  df-op 4579  df-uni 4856  df-iun 4941  df-br 5091  df-opab 5153  df-mpt 5172  df-id 5531  df-xp 5642  df-rel 5643  df-cnv 5644  df-co 5645  df-dm 5646  df-rn 5647  df-iota 6462  df-fun 6508  df-fn 6509  df-f 6510  df-fo 6512  df-fv 6514
This theorem is referenced by:  ismeannd  46979
  Copyright terms: Public domain W3C validator