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

Theorem fodomr 9059
Description: There exists a mapping from a set onto any (nonempty) set that it dominates. (Contributed by NM, 23-Mar-2006.)
Assertion
Ref Expression
fodomr ((∅ ≺ 𝐵𝐵𝐴) → ∃𝑓 𝑓:𝐴onto𝐵)
Distinct variable groups:   𝐴,𝑓   𝐵,𝑓

Proof of Theorem fodomr
Dummy variables 𝑔 𝑧 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 reldom 8892 . . . 4 Rel ≼
21brrelex2i 5681 . . 3 (𝐵𝐴𝐴 ∈ V)
32adantl 481 . 2 ((∅ ≺ 𝐵𝐵𝐴) → 𝐴 ∈ V)
41brrelex1i 5680 . . . 4 (𝐵𝐴𝐵 ∈ V)
5 0sdomg 9037 . . . . 5 (𝐵 ∈ V → (∅ ≺ 𝐵𝐵 ≠ ∅))
6 n0 4294 . . . . 5 (𝐵 ≠ ∅ ↔ ∃𝑧 𝑧𝐵)
75, 6bitrdi 287 . . . 4 (𝐵 ∈ V → (∅ ≺ 𝐵 ↔ ∃𝑧 𝑧𝐵))
84, 7syl 17 . . 3 (𝐵𝐴 → (∅ ≺ 𝐵 ↔ ∃𝑧 𝑧𝐵))
98biimpac 478 . 2 ((∅ ≺ 𝐵𝐵𝐴) → ∃𝑧 𝑧𝐵)
10 brdomi 8899 . . 3 (𝐵𝐴 → ∃𝑔 𝑔:𝐵1-1𝐴)
1110adantl 481 . 2 ((∅ ≺ 𝐵𝐵𝐴) → ∃𝑔 𝑔:𝐵1-1𝐴)
12 difexg 5266 . . . . . . . . . 10 (𝐴 ∈ V → (𝐴 ∖ ran 𝑔) ∈ V)
13 vsnex 5372 . . . . . . . . . 10 {𝑧} ∈ V
14 xpexg 7697 . . . . . . . . . 10 (((𝐴 ∖ ran 𝑔) ∈ V ∧ {𝑧} ∈ V) → ((𝐴 ∖ ran 𝑔) × {𝑧}) ∈ V)
1512, 13, 14sylancl 587 . . . . . . . . 9 (𝐴 ∈ V → ((𝐴 ∖ ran 𝑔) × {𝑧}) ∈ V)
16 vex 3434 . . . . . . . . . 10 𝑔 ∈ V
1716cnvex 7869 . . . . . . . . 9 𝑔 ∈ V
1815, 17jctil 519 . . . . . . . 8 (𝐴 ∈ V → (𝑔 ∈ V ∧ ((𝐴 ∖ ran 𝑔) × {𝑧}) ∈ V))
19 unexb 7694 . . . . . . . 8 ((𝑔 ∈ V ∧ ((𝐴 ∖ ran 𝑔) × {𝑧}) ∈ V) ↔ (𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) ∈ V)
2018, 19sylib 218 . . . . . . 7 (𝐴 ∈ V → (𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) ∈ V)
21 df-f1 6497 . . . . . . . . . . . . 13 (𝑔:𝐵1-1𝐴 ↔ (𝑔:𝐵𝐴 ∧ Fun 𝑔))
2221simprbi 497 . . . . . . . . . . . 12 (𝑔:𝐵1-1𝐴 → Fun 𝑔)
23 vex 3434 . . . . . . . . . . . . . 14 𝑧 ∈ V
2423fconst 6720 . . . . . . . . . . . . 13 ((𝐴 ∖ ran 𝑔) × {𝑧}):(𝐴 ∖ ran 𝑔)⟶{𝑧}
25 ffun 6665 . . . . . . . . . . . . 13 (((𝐴 ∖ ran 𝑔) × {𝑧}):(𝐴 ∖ ran 𝑔)⟶{𝑧} → Fun ((𝐴 ∖ ran 𝑔) × {𝑧}))
2624, 25ax-mp 5 . . . . . . . . . . . 12 Fun ((𝐴 ∖ ran 𝑔) × {𝑧})
2722, 26jctir 520 . . . . . . . . . . 11 (𝑔:𝐵1-1𝐴 → (Fun 𝑔 ∧ Fun ((𝐴 ∖ ran 𝑔) × {𝑧})))
28 df-rn 5635 . . . . . . . . . . . . . 14 ran 𝑔 = dom 𝑔
2928eqcomi 2746 . . . . . . . . . . . . 13 dom 𝑔 = ran 𝑔
3023snnz 4721 . . . . . . . . . . . . . 14 {𝑧} ≠ ∅
31 dmxp 5878 . . . . . . . . . . . . . 14 ({𝑧} ≠ ∅ → dom ((𝐴 ∖ ran 𝑔) × {𝑧}) = (𝐴 ∖ ran 𝑔))
3230, 31ax-mp 5 . . . . . . . . . . . . 13 dom ((𝐴 ∖ ran 𝑔) × {𝑧}) = (𝐴 ∖ ran 𝑔)
3329, 32ineq12i 4159 . . . . . . . . . . . 12 (dom 𝑔 ∩ dom ((𝐴 ∖ ran 𝑔) × {𝑧})) = (ran 𝑔 ∩ (𝐴 ∖ ran 𝑔))
34 disjdif 4413 . . . . . . . . . . . 12 (ran 𝑔 ∩ (𝐴 ∖ ran 𝑔)) = ∅
3533, 34eqtri 2760 . . . . . . . . . . 11 (dom 𝑔 ∩ dom ((𝐴 ∖ ran 𝑔) × {𝑧})) = ∅
36 funun 6538 . . . . . . . . . . 11 (((Fun 𝑔 ∧ Fun ((𝐴 ∖ ran 𝑔) × {𝑧})) ∧ (dom 𝑔 ∩ dom ((𝐴 ∖ ran 𝑔) × {𝑧})) = ∅) → Fun (𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})))
3727, 35, 36sylancl 587 . . . . . . . . . 10 (𝑔:𝐵1-1𝐴 → Fun (𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})))
3837adantl 481 . . . . . . . . 9 ((𝑧𝐵𝑔:𝐵1-1𝐴) → Fun (𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})))
39 dmun 5859 . . . . . . . . . . . 12 dom (𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) = (dom 𝑔 ∪ dom ((𝐴 ∖ ran 𝑔) × {𝑧}))
4028uneq1i 4105 . . . . . . . . . . . 12 (ran 𝑔 ∪ dom ((𝐴 ∖ ran 𝑔) × {𝑧})) = (dom 𝑔 ∪ dom ((𝐴 ∖ ran 𝑔) × {𝑧}))
4132uneq2i 4106 . . . . . . . . . . . 12 (ran 𝑔 ∪ dom ((𝐴 ∖ ran 𝑔) × {𝑧})) = (ran 𝑔 ∪ (𝐴 ∖ ran 𝑔))
4239, 40, 413eqtr2i 2766 . . . . . . . . . . 11 dom (𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) = (ran 𝑔 ∪ (𝐴 ∖ ran 𝑔))
43 f1f 6730 . . . . . . . . . . . . 13 (𝑔:𝐵1-1𝐴𝑔:𝐵𝐴)
4443frnd 6670 . . . . . . . . . . . 12 (𝑔:𝐵1-1𝐴 → ran 𝑔𝐴)
45 undif 4423 . . . . . . . . . . . 12 (ran 𝑔𝐴 ↔ (ran 𝑔 ∪ (𝐴 ∖ ran 𝑔)) = 𝐴)
4644, 45sylib 218 . . . . . . . . . . 11 (𝑔:𝐵1-1𝐴 → (ran 𝑔 ∪ (𝐴 ∖ ran 𝑔)) = 𝐴)
4742, 46eqtrid 2784 . . . . . . . . . 10 (𝑔:𝐵1-1𝐴 → dom (𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) = 𝐴)
4847adantl 481 . . . . . . . . 9 ((𝑧𝐵𝑔:𝐵1-1𝐴) → dom (𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) = 𝐴)
49 df-fn 6495 . . . . . . . . 9 ((𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) Fn 𝐴 ↔ (Fun (𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) ∧ dom (𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) = 𝐴))
5038, 48, 49sylanbrc 584 . . . . . . . 8 ((𝑧𝐵𝑔:𝐵1-1𝐴) → (𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) Fn 𝐴)
51 rnun 6103 . . . . . . . . 9 ran (𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) = (ran 𝑔 ∪ ran ((𝐴 ∖ ran 𝑔) × {𝑧}))
52 dfdm4 5844 . . . . . . . . . . . 12 dom 𝑔 = ran 𝑔
53 f1dm 6734 . . . . . . . . . . . 12 (𝑔:𝐵1-1𝐴 → dom 𝑔 = 𝐵)
5452, 53eqtr3id 2786 . . . . . . . . . . 11 (𝑔:𝐵1-1𝐴 → ran 𝑔 = 𝐵)
5554uneq1d 4108 . . . . . . . . . 10 (𝑔:𝐵1-1𝐴 → (ran 𝑔 ∪ ran ((𝐴 ∖ ran 𝑔) × {𝑧})) = (𝐵 ∪ ran ((𝐴 ∖ ran 𝑔) × {𝑧})))
56 xpeq1 5638 . . . . . . . . . . . . . . . . 17 ((𝐴 ∖ ran 𝑔) = ∅ → ((𝐴 ∖ ran 𝑔) × {𝑧}) = (∅ × {𝑧}))
57 0xp 5723 . . . . . . . . . . . . . . . . 17 (∅ × {𝑧}) = ∅
5856, 57eqtrdi 2788 . . . . . . . . . . . . . . . 16 ((𝐴 ∖ ran 𝑔) = ∅ → ((𝐴 ∖ ran 𝑔) × {𝑧}) = ∅)
5958rneqd 5887 . . . . . . . . . . . . . . 15 ((𝐴 ∖ ran 𝑔) = ∅ → ran ((𝐴 ∖ ran 𝑔) × {𝑧}) = ran ∅)
60 rn0 5875 . . . . . . . . . . . . . . 15 ran ∅ = ∅
6159, 60eqtrdi 2788 . . . . . . . . . . . . . 14 ((𝐴 ∖ ran 𝑔) = ∅ → ran ((𝐴 ∖ ran 𝑔) × {𝑧}) = ∅)
62 0ss 4341 . . . . . . . . . . . . . 14 ∅ ⊆ 𝐵
6361, 62eqsstrdi 3967 . . . . . . . . . . . . 13 ((𝐴 ∖ ran 𝑔) = ∅ → ran ((𝐴 ∖ ran 𝑔) × {𝑧}) ⊆ 𝐵)
6463a1d 25 . . . . . . . . . . . 12 ((𝐴 ∖ ran 𝑔) = ∅ → (𝑧𝐵 → ran ((𝐴 ∖ ran 𝑔) × {𝑧}) ⊆ 𝐵))
65 rnxp 6128 . . . . . . . . . . . . . . 15 ((𝐴 ∖ ran 𝑔) ≠ ∅ → ran ((𝐴 ∖ ran 𝑔) × {𝑧}) = {𝑧})
6665adantr 480 . . . . . . . . . . . . . 14 (((𝐴 ∖ ran 𝑔) ≠ ∅ ∧ 𝑧𝐵) → ran ((𝐴 ∖ ran 𝑔) × {𝑧}) = {𝑧})
67 snssi 4752 . . . . . . . . . . . . . . 15 (𝑧𝐵 → {𝑧} ⊆ 𝐵)
6867adantl 481 . . . . . . . . . . . . . 14 (((𝐴 ∖ ran 𝑔) ≠ ∅ ∧ 𝑧𝐵) → {𝑧} ⊆ 𝐵)
6966, 68eqsstrd 3957 . . . . . . . . . . . . 13 (((𝐴 ∖ ran 𝑔) ≠ ∅ ∧ 𝑧𝐵) → ran ((𝐴 ∖ ran 𝑔) × {𝑧}) ⊆ 𝐵)
7069ex 412 . . . . . . . . . . . 12 ((𝐴 ∖ ran 𝑔) ≠ ∅ → (𝑧𝐵 → ran ((𝐴 ∖ ran 𝑔) × {𝑧}) ⊆ 𝐵))
7164, 70pm2.61ine 3016 . . . . . . . . . . 11 (𝑧𝐵 → ran ((𝐴 ∖ ran 𝑔) × {𝑧}) ⊆ 𝐵)
72 ssequn2 4130 . . . . . . . . . . 11 (ran ((𝐴 ∖ ran 𝑔) × {𝑧}) ⊆ 𝐵 ↔ (𝐵 ∪ ran ((𝐴 ∖ ran 𝑔) × {𝑧})) = 𝐵)
7371, 72sylib 218 . . . . . . . . . 10 (𝑧𝐵 → (𝐵 ∪ ran ((𝐴 ∖ ran 𝑔) × {𝑧})) = 𝐵)
7455, 73sylan9eqr 2794 . . . . . . . . 9 ((𝑧𝐵𝑔:𝐵1-1𝐴) → (ran 𝑔 ∪ ran ((𝐴 ∖ ran 𝑔) × {𝑧})) = 𝐵)
7551, 74eqtrid 2784 . . . . . . . 8 ((𝑧𝐵𝑔:𝐵1-1𝐴) → ran (𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) = 𝐵)
76 df-fo 6498 . . . . . . . 8 ((𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})):𝐴onto𝐵 ↔ ((𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) Fn 𝐴 ∧ ran (𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) = 𝐵))
7750, 75, 76sylanbrc 584 . . . . . . 7 ((𝑧𝐵𝑔:𝐵1-1𝐴) → (𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})):𝐴onto𝐵)
78 foeq1 6742 . . . . . . . 8 (𝑓 = (𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) → (𝑓:𝐴onto𝐵 ↔ (𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})):𝐴onto𝐵))
7978spcegv 3540 . . . . . . 7 ((𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) ∈ V → ((𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})):𝐴onto𝐵 → ∃𝑓 𝑓:𝐴onto𝐵))
8020, 77, 79syl2im 40 . . . . . 6 (𝐴 ∈ V → ((𝑧𝐵𝑔:𝐵1-1𝐴) → ∃𝑓 𝑓:𝐴onto𝐵))
8180expdimp 452 . . . . 5 ((𝐴 ∈ V ∧ 𝑧𝐵) → (𝑔:𝐵1-1𝐴 → ∃𝑓 𝑓:𝐴onto𝐵))
8281exlimdv 1935 . . . 4 ((𝐴 ∈ V ∧ 𝑧𝐵) → (∃𝑔 𝑔:𝐵1-1𝐴 → ∃𝑓 𝑓:𝐴onto𝐵))
8382ex 412 . . 3 (𝐴 ∈ V → (𝑧𝐵 → (∃𝑔 𝑔:𝐵1-1𝐴 → ∃𝑓 𝑓:𝐴onto𝐵)))
8483exlimdv 1935 . 2 (𝐴 ∈ V → (∃𝑧 𝑧𝐵 → (∃𝑔 𝑔:𝐵1-1𝐴 → ∃𝑓 𝑓:𝐴onto𝐵)))
853, 9, 11, 84syl3c 66 1 ((∅ ≺ 𝐵𝐵𝐴) → ∃𝑓 𝑓:𝐴onto𝐵)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 206  wa 395   = wceq 1542  wex 1781  wcel 2114  wne 2933  Vcvv 3430  cdif 3887  cun 3888  cin 3889  wss 3890  c0 4274  {csn 4568   class class class wbr 5086   × cxp 5622  ccnv 5623  dom cdm 5624  ran crn 5625  Fun wfun 6486   Fn wfn 6487  wf 6488  1-1wf1 6489  ontowfo 6490  cdom 8884  csdm 8885
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 1912  ax-6 1969  ax-7 2010  ax-8 2116  ax-9 2124  ax-10 2147  ax-11 2163  ax-12 2185  ax-ext 2709  ax-sep 5231  ax-nul 5241  ax-pow 5302  ax-pr 5370  ax-un 7682
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 849  df-3an 1089  df-tru 1545  df-fal 1555  df-ex 1782  df-nf 1786  df-sb 2069  df-mo 2540  df-eu 2570  df-clab 2716  df-cleq 2729  df-clel 2812  df-nfc 2886  df-ne 2934  df-ral 3053  df-rex 3063  df-rab 3391  df-v 3432  df-dif 3893  df-un 3895  df-in 3897  df-ss 3907  df-nul 4275  df-if 4468  df-pw 4544  df-sn 4569  df-pr 4571  df-op 4575  df-uni 4852  df-br 5087  df-opab 5149  df-mpt 5168  df-id 5519  df-xp 5630  df-rel 5631  df-cnv 5632  df-co 5633  df-dm 5634  df-rn 5635  df-fun 6494  df-fn 6495  df-f 6496  df-f1 6497  df-fo 6498  df-f1o 6499  df-en 8887  df-dom 8888  df-sdom 8889
This theorem is referenced by:  pwdom  9060  fodomfibOLD  9234  domwdom  9482  iunfictbso  10027  fodomb  10439  brdom3  10441  konigthlem  10482  1stcfb  23420  ovoliunnul  25484  sigapildsys  34322  carsgclctunlem3  34480  ovoliunnfl  37997  voliunnfl  37999  volsupnfl  38000  modelaxreplem1  45423  nnfoctb  45497  caragenunicl  46970
  Copyright terms: Public domain W3C validator