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

Theorem fodomr 9112
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 8945 . . . 4 Rel ≼
21brrelex2i 5716 . . 3 (𝐵𝐴𝐴 ∈ V)
32adantl 486 . 2 ((∅ ≺ 𝐵𝐵𝐴) → 𝐴 ∈ V)
41brrelex1i 5715 . . . 4 (𝐵𝐴𝐵 ∈ V)
5 0sdomg 9090 . . . . 5 (𝐵 ∈ V → (∅ ≺ 𝐵𝐵 ≠ ∅))
6 n0 4314 . . . . 5 (𝐵 ≠ ∅ ↔ ∃𝑧 𝑧𝐵)
75, 6bitrdi 290 . . . 4 (𝐵 ∈ V → (∅ ≺ 𝐵 ↔ ∃𝑧 𝑧𝐵))
84, 7syl 18 . . 3 (𝐵𝐴 → (∅ ≺ 𝐵 ↔ ∃𝑧 𝑧𝐵))
98biimpac 483 . 2 ((∅ ≺ 𝐵𝐵𝐴) → ∃𝑧 𝑧𝐵)
10 brdomi 8952 . . 3 (𝐵𝐴 → ∃𝑔 𝑔:𝐵1-1𝐴)
1110adantl 486 . 2 ((∅ ≺ 𝐵𝐵𝐴) → ∃𝑔 𝑔:𝐵1-1𝐴)
12 difexg 5297 . . . . . . . . . 10 (𝐴 ∈ V → (𝐴 ∖ ran 𝑔) ∈ V)
13 vsnex 5404 . . . . . . . . . 10 {𝑧} ∈ V
14 xpexg 7745 . . . . . . . . . 10 (((𝐴 ∖ ran 𝑔) ∈ V ∧ {𝑧} ∈ V) → ((𝐴 ∖ ran 𝑔) × {𝑧}) ∈ V)
1512, 13, 14sylancl 597 . . . . . . . . 9 (𝐴 ∈ V → ((𝐴 ∖ ran 𝑔) × {𝑧}) ∈ V)
16 vex 3467 . . . . . . . . . 10 𝑔 ∈ V
1716cnvex 7918 . . . . . . . . 9 𝑔 ∈ V
1815, 17jctil 528 . . . . . . . 8 (𝐴 ∈ V → (𝑔 ∈ V ∧ ((𝐴 ∖ ran 𝑔) × {𝑧}) ∈ V))
19 unexb 7742 . . . . . . . 8 ((𝑔 ∈ V ∧ ((𝐴 ∖ ran 𝑔) × {𝑧}) ∈ V) ↔ (𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) ∈ V)
2018, 19sylib 221 . . . . . . 7 (𝐴 ∈ V → (𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) ∈ V)
21 df-f1 6539 . . . . . . . . . . . . 13 (𝑔:𝐵1-1𝐴 ↔ (𝑔:𝐵𝐴 ∧ Fun 𝑔))
2221simprbi 502 . . . . . . . . . . . 12 (𝑔:𝐵1-1𝐴 → Fun 𝑔)
23 vex 3467 . . . . . . . . . . . . . 14 𝑧 ∈ V
2423fconst 6762 . . . . . . . . . . . . 13 ((𝐴 ∖ ran 𝑔) × {𝑧}):(𝐴 ∖ ran 𝑔)⟶{𝑧}
25 ffun 6706 . . . . . . . . . . . . 13 (((𝐴 ∖ ran 𝑔) × {𝑧}):(𝐴 ∖ ran 𝑔)⟶{𝑧} → Fun ((𝐴 ∖ ran 𝑔) × {𝑧}))
2624, 25ax-mp 5 . . . . . . . . . . . 12 Fun ((𝐴 ∖ ran 𝑔) × {𝑧})
2722, 26jctir 529 . . . . . . . . . . 11 (𝑔:𝐵1-1𝐴 → (Fun 𝑔 ∧ Fun ((𝐴 ∖ ran 𝑔) × {𝑧})))
28 df-rn 5670 . . . . . . . . . . . . . 14 ran 𝑔 = dom 𝑔
2928eqcomi 2778 . . . . . . . . . . . . 13 dom 𝑔 = ran 𝑔
3023snnz 4744 . . . . . . . . . . . . . 14 {𝑧} ≠ ∅
31 dmxp 5917 . . . . . . . . . . . . . 14 ({𝑧} ≠ ∅ → dom ((𝐴 ∖ ran 𝑔) × {𝑧}) = (𝐴 ∖ ran 𝑔))
3230, 31ax-mp 5 . . . . . . . . . . . . 13 dom ((𝐴 ∖ ran 𝑔) × {𝑧}) = (𝐴 ∖ ran 𝑔)
3329, 32ineq12i 4179 . . . . . . . . . . . 12 (dom 𝑔 ∩ dom ((𝐴 ∖ ran 𝑔) × {𝑧})) = (ran 𝑔 ∩ (𝐴 ∖ ran 𝑔))
34 disjdif 4435 . . . . . . . . . . . 12 (ran 𝑔 ∩ (𝐴 ∖ ran 𝑔)) = ∅
3533, 34eqtri 2792 . . . . . . . . . . 11 (dom 𝑔 ∩ dom ((𝐴 ∖ ran 𝑔) × {𝑧})) = ∅
36 funun 6580 . . . . . . . . . . 11 (((Fun 𝑔 ∧ Fun ((𝐴 ∖ ran 𝑔) × {𝑧})) ∧ (dom 𝑔 ∩ dom ((𝐴 ∖ ran 𝑔) × {𝑧})) = ∅) → Fun (𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})))
3727, 35, 36sylancl 597 . . . . . . . . . 10 (𝑔:𝐵1-1𝐴 → Fun (𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})))
3837adantl 486 . . . . . . . . 9 ((𝑧𝐵𝑔:𝐵1-1𝐴) → Fun (𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})))
39 dmun 5898 . . . . . . . . . . . 12 dom (𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) = (dom 𝑔 ∪ dom ((𝐴 ∖ ran 𝑔) × {𝑧}))
4028uneq1i 4126 . . . . . . . . . . . 12 (ran 𝑔 ∪ dom ((𝐴 ∖ ran 𝑔) × {𝑧})) = (dom 𝑔 ∪ dom ((𝐴 ∖ ran 𝑔) × {𝑧}))
4132uneq2i 4127 . . . . . . . . . . . 12 (ran 𝑔 ∪ dom ((𝐴 ∖ ran 𝑔) × {𝑧})) = (ran 𝑔 ∪ (𝐴 ∖ ran 𝑔))
4239, 40, 413eqtr2i 2798 . . . . . . . . . . 11 dom (𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) = (ran 𝑔 ∪ (𝐴 ∖ ran 𝑔))
43 f1f 6772 . . . . . . . . . . . . 13 (𝑔:𝐵1-1𝐴𝑔:𝐵𝐴)
4443frnd 6712 . . . . . . . . . . . 12 (𝑔:𝐵1-1𝐴 → ran 𝑔𝐴)
45 undif 4445 . . . . . . . . . . . 12 (ran 𝑔𝐴 ↔ (ran 𝑔 ∪ (𝐴 ∖ ran 𝑔)) = 𝐴)
4644, 45sylib 221 . . . . . . . . . . 11 (𝑔:𝐵1-1𝐴 → (ran 𝑔 ∪ (𝐴 ∖ ran 𝑔)) = 𝐴)
4742, 46eqtrid 2816 . . . . . . . . . 10 (𝑔:𝐵1-1𝐴 → dom (𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) = 𝐴)
4847adantl 486 . . . . . . . . 9 ((𝑧𝐵𝑔:𝐵1-1𝐴) → dom (𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) = 𝐴)
49 df-fn 6537 . . . . . . . . 9 ((𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) Fn 𝐴 ↔ (Fun (𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) ∧ dom (𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) = 𝐴))
5038, 48, 49sylanbrc 594 . . . . . . . 8 ((𝑧𝐵𝑔:𝐵1-1𝐴) → (𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) Fn 𝐴)
51 rnun 6140 . . . . . . . . 9 ran (𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) = (ran 𝑔 ∪ ran ((𝐴 ∖ ran 𝑔) × {𝑧}))
52 dfdm4 5883 . . . . . . . . . . . 12 dom 𝑔 = ran 𝑔
53 f1dm 6778 . . . . . . . . . . . 12 (𝑔:𝐵1-1𝐴 → dom 𝑔 = 𝐵)
5452, 53eqtr3id 2818 . . . . . . . . . . 11 (𝑔:𝐵1-1𝐴 → ran 𝑔 = 𝐵)
5554uneq1d 4129 . . . . . . . . . 10 (𝑔:𝐵1-1𝐴 → (ran 𝑔 ∪ ran ((𝐴 ∖ ran 𝑔) × {𝑧})) = (𝐵 ∪ ran ((𝐴 ∖ ran 𝑔) × {𝑧})))
56 xpeq1 5673 . . . . . . . . . . . . . . . . 17 ((𝐴 ∖ ran 𝑔) = ∅ → ((𝐴 ∖ ran 𝑔) × {𝑧}) = (∅ × {𝑧}))
57 0xp 5758 . . . . . . . . . . . . . . . . 17 (∅ × {𝑧}) = ∅
5856, 57eqtrdi 2820 . . . . . . . . . . . . . . . 16 ((𝐴 ∖ ran 𝑔) = ∅ → ((𝐴 ∖ ran 𝑔) × {𝑧}) = ∅)
5958rneqd 5926 . . . . . . . . . . . . . . 15 ((𝐴 ∖ ran 𝑔) = ∅ → ran ((𝐴 ∖ ran 𝑔) × {𝑧}) = ran ∅)
60 rn0 5914 . . . . . . . . . . . . . . 15 ran ∅ = ∅
6159, 60eqtrdi 2820 . . . . . . . . . . . . . 14 ((𝐴 ∖ ran 𝑔) = ∅ → ran ((𝐴 ∖ ran 𝑔) × {𝑧}) = ∅)
62 0ss 4363 . . . . . . . . . . . . . 14 ∅ ⊆ 𝐵
6361, 62eqsstrdi 3989 . . . . . . . . . . . . 13 ((𝐴 ∖ ran 𝑔) = ∅ → ran ((𝐴 ∖ ran 𝑔) × {𝑧}) ⊆ 𝐵)
6463a1d 26 . . . . . . . . . . . 12 ((𝐴 ∖ ran 𝑔) = ∅ → (𝑧𝐵 → ran ((𝐴 ∖ ran 𝑔) × {𝑧}) ⊆ 𝐵))
65 rnxp 6166 . . . . . . . . . . . . . . 15 ((𝐴 ∖ ran 𝑔) ≠ ∅ → ran ((𝐴 ∖ ran 𝑔) × {𝑧}) = {𝑧})
6665adantr 485 . . . . . . . . . . . . . 14 (((𝐴 ∖ ran 𝑔) ≠ ∅ ∧ 𝑧𝐵) → ran ((𝐴 ∖ ran 𝑔) × {𝑧}) = {𝑧})
67 snssi 4753 . . . . . . . . . . . . . . 15 (𝑧𝐵 → {𝑧} ⊆ 𝐵)
6867adantl 486 . . . . . . . . . . . . . 14 (((𝐴 ∖ ran 𝑔) ≠ ∅ ∧ 𝑧𝐵) → {𝑧} ⊆ 𝐵)
6966, 68eqsstrd 3979 . . . . . . . . . . . . 13 (((𝐴 ∖ ran 𝑔) ≠ ∅ ∧ 𝑧𝐵) → ran ((𝐴 ∖ ran 𝑔) × {𝑧}) ⊆ 𝐵)
7069ex 417 . . . . . . . . . . . 12 ((𝐴 ∖ ran 𝑔) ≠ ∅ → (𝑧𝐵 → ran ((𝐴 ∖ ran 𝑔) × {𝑧}) ⊆ 𝐵))
7164, 70pm2.61ine 3047 . . . . . . . . . . 11 (𝑧𝐵 → ran ((𝐴 ∖ ran 𝑔) × {𝑧}) ⊆ 𝐵)
72 ssequn2 4150 . . . . . . . . . . 11 (ran ((𝐴 ∖ ran 𝑔) × {𝑧}) ⊆ 𝐵 ↔ (𝐵 ∪ ran ((𝐴 ∖ ran 𝑔) × {𝑧})) = 𝐵)
7371, 72sylib 221 . . . . . . . . . 10 (𝑧𝐵 → (𝐵 ∪ ran ((𝐴 ∖ ran 𝑔) × {𝑧})) = 𝐵)
7455, 73sylan9eqr 2826 . . . . . . . . 9 ((𝑧𝐵𝑔:𝐵1-1𝐴) → (ran 𝑔 ∪ ran ((𝐴 ∖ ran 𝑔) × {𝑧})) = 𝐵)
7551, 74eqtrid 2816 . . . . . . . 8 ((𝑧𝐵𝑔:𝐵1-1𝐴) → ran (𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) = 𝐵)
76 df-fo 6540 . . . . . . . 8 ((𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})):𝐴onto𝐵 ↔ ((𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) Fn 𝐴 ∧ ran (𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) = 𝐵))
7750, 75, 76sylanbrc 594 . . . . . . 7 ((𝑧𝐵𝑔:𝐵1-1𝐴) → (𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})):𝐴onto𝐵)
78 foeq1 6786 . . . . . . . 8 (𝑓 = (𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) → (𝑓:𝐴onto𝐵 ↔ (𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})):𝐴onto𝐵))
7978spcegv 3565 . . . . . . 7 ((𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) ∈ V → ((𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})):𝐴onto𝐵 → ∃𝑓 𝑓:𝐴onto𝐵))
8020, 77, 79syl2im 41 . . . . . 6 (𝐴 ∈ V → ((𝑧𝐵𝑔:𝐵1-1𝐴) → ∃𝑓 𝑓:𝐴onto𝐵))
8180expdimp 457 . . . . 5 ((𝐴 ∈ V ∧ 𝑧𝐵) → (𝑔:𝐵1-1𝐴 → ∃𝑓 𝑓:𝐴onto𝐵))
8281exlimdv 1960 . . . 4 ((𝐴 ∈ V ∧ 𝑧𝐵) → (∃𝑔 𝑔:𝐵1-1𝐴 → ∃𝑓 𝑓:𝐴onto𝐵))
8382ex 417 . . 3 (𝐴 ∈ V → (𝑧𝐵 → (∃𝑔 𝑔:𝐵1-1𝐴 → ∃𝑓 𝑓:𝐴onto𝐵)))
8483exlimdv 1960 . 2 (𝐴 ∈ V → (∃𝑧 𝑧𝐵 → (∃𝑔 𝑔:𝐵1-1𝐴 → ∃𝑓 𝑓:𝐴onto𝐵)))
853, 9, 11, 84syl3c 67 1 ((∅ ≺ 𝐵𝐵𝐴) → ∃𝑓 𝑓:𝐴onto𝐵)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 209  wa 400   = wceq 1567  wex 1806  wcel 2149  wne 2964  Vcvv 3463  cdif 3910  cun 3911  cin 3912  wss 3913  c0 4294  {csn 4591   class class class wbr 5110   × cxp 5657  ccnv 5658  dom cdm 5659  ran crn 5660  Fun wfun 6528   Fn wfn 6529  wf 6530  1-1wf1 6531  ontowfo 6532  cdom 8937  csdm 8938
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1822  ax-4 1836  ax-5 1937  ax-6 1994  ax-7 2035  ax-8 2151  ax-9 2159  ax-10 2182  ax-11 2198  ax-12 2219  ax-ext 2741  ax-sep 5258  ax-nul 5268  ax-pow 5334  ax-pr 5402  ax-un 7730
This theorem depends on definitions:  df-bi 210  df-an 401  df-or 861  df-3an 1103  df-tru 1570  df-fal 1580  df-ex 1807  df-nf 1811  df-sb 2098  df-mo 2573  df-eu 2603  df-clab 2748  df-cleq 2761  df-clel 2844  df-nfc 2918  df-ne 2965  df-ral 3086  df-rex 3096  df-rab 3424  df-v 3465  df-dif 3916  df-un 3918  df-in 3920  df-ss 3930  df-nul 4295  df-if 4490  df-pw 4566  df-sn 4592  df-pr 4594  df-op 4598  df-uni 4874  df-br 5111  df-opab 5175  df-mpt 5194  df-id 5554  df-xp 5665  df-rel 5666  df-cnv 5667  df-co 5668  df-dm 5669  df-rn 5670  df-fun 6536  df-fn 6537  df-f 6538  df-f1 6539  df-fo 6540  df-f1o 6541  df-en 8940  df-dom 8941  df-sdom 8942
This theorem is referenced by:  pwdom  9113  domwdom  9532  iunfictbso  10094  fodomb  10506  brdom3  10508  konigthlem  10549  1stcfb  23567  ovoliunnul  25631  sigapildsys  34493  carsgclctunlem3  34651  ovoliunnfl  38196  voliunnfl  38198  volsupnfl  38199  modelaxreplem1  45574  nnfoctb  45655  caragenunicl  47125
  Copyright terms: Public domain W3C validator