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

Theorem fodomr 9185
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 9017 . . . 4 Rel ≼
21brrelex2i 5715 . . 3 (𝐵 ≼ 𝐴 → 𝐴 ∈ V)
32adantl 487 . 2 ((∅ ≺ 𝐵 ∧ 𝐵 ≼ 𝐴) → 𝐴 ∈ V)
41brrelex1i 5714 . . . 4 (𝐵 ≼ 𝐴 → 𝐵 ∈ V)
5 0sdomg 9163 . . . . 5 (𝐵 ∈ V → (∅ ≺ 𝐵 ↔ 𝐵 ≠ ∅))
6 n0 4303 . . . . 5 (𝐵 ≠ ∅ ↔ ∃𝑧 𝑧 ∈ 𝐵)
75, 6bitrdi 290 . . . 4 (𝐵 ∈ V → (∅ ≺ 𝐵 ↔ ∃𝑧 𝑧 ∈ 𝐵))
84, 7syl 18 . . 3 (𝐵 ≼ 𝐴 → (∅ ≺ 𝐵 ↔ ∃𝑧 𝑧 ∈ 𝐵))
98biimpac 484 . 2 ((∅ ≺ 𝐵 ∧ 𝐵 ≼ 𝐴) → ∃𝑧 𝑧 ∈ 𝐵)
10 brdomi 9024 . . 3 (𝐵 ≼ 𝐴 → ∃𝑔 𝑔:𝐵⟶1-1𝐴)
1110adantl 487 . 2 ((∅ ≺ 𝐵 ∧ 𝐵 ≼ 𝐴) → ∃𝑔 𝑔:𝐵⟶1-1𝐴)
12 difexg 5298 . . . . . . . . . 10 (𝐴 ∈ V → (𝐴 ∖ ran 𝑔) ∈ V)
13 vsnex 5400 . . . . . . . . . 10 {𝑧} ∈ V
14 xpexg 7796 . . . . . . . . . 10 (((𝐴 ∖ ran 𝑔) ∈ V ∧ {𝑧} ∈ V) → ((𝐴 ∖ ran 𝑔) × {𝑧}) ∈ V)
1512, 13, 14sylancl 598 . . . . . . . . 9 (𝐴 ∈ V → ((𝐴 ∖ ran 𝑔) × {𝑧}) ∈ V)
16 vex 3458 . . . . . . . . . 10 𝑔 ∈ V
1716cnvex 7971 . . . . . . . . 9 ◡𝑔 ∈ V
1815, 17jctil 529 . . . . . . . 8 (𝐴 ∈ V → (◡𝑔 ∈ V ∧ ((𝐴 ∖ ran 𝑔) × {𝑧}) ∈ V))
19 unexb 7795 . . . . . . . 8 ((◡𝑔 ∈ V ∧ ((𝐴 ∖ ran 𝑔) × {𝑧}) ∈ V) ↔ (◡𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) ∈ V)
2018, 19sylib 221 . . . . . . 7 (𝐴 ∈ V → (◡𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) ∈ V)
21 df-f1 6571 . . . . . . . . . . . . 13 (𝑔:𝐵⟶1-1𝐴 ↔ (𝑔:𝐵⟶𝐴 ∧ Fun ◡𝑔))
2221simprbi 503 . . . . . . . . . . . 12 (𝑔:𝐵⟶1-1𝐴 → Fun ◡𝑔)
23 vex 3458 . . . . . . . . . . . . . 14 𝑧 ∈ V
2423fconst 6798 . . . . . . . . . . . . 13 ((𝐴 ∖ ran 𝑔) × {𝑧}):(𝐴 ∖ ran 𝑔)⟶{𝑧}
25 ffun 6742 . . . . . . . . . . . . 13 (((𝐴 ∖ ran 𝑔) × {𝑧}):(𝐴 ∖ ran 𝑔)⟶{𝑧} → Fun ((𝐴 ∖ ran 𝑔) × {𝑧}))
2624, 25ax-mp 5 . . . . . . . . . . . 12 Fun ((𝐴 ∖ ran 𝑔) × {𝑧})
2722, 26jctir 530 . . . . . . . . . . 11 (𝑔:𝐵⟶1-1𝐴 → (Fun ◡𝑔 ∧ Fun ((𝐴 ∖ ran 𝑔) × {𝑧})))
28 df-rn 5669 . . . . . . . . . . . . . 14 ran 𝑔 = dom ◡𝑔
2928eqcomi 2772 . . . . . . . . . . . . 13 dom ◡𝑔 = ran 𝑔
3023snnz 4739 . . . . . . . . . . . . . 14 {𝑧} ≠ ∅
31 dmxp 5923 . . . . . . . . . . . . . 14 ({𝑧} ≠ ∅ → dom ((𝐴 ∖ ran 𝑔) × {𝑧}) = (𝐴 ∖ ran 𝑔))
3230, 31ax-mp 5 . . . . . . . . . . . . 13 dom ((𝐴 ∖ ran 𝑔) × {𝑧}) = (𝐴 ∖ ran 𝑔)
3329, 32ineq12i 4118 . . . . . . . . . . . 12 (dom ◡𝑔 ∩ dom ((𝐴 ∖ ran 𝑔) × {𝑧})) = (ran 𝑔 ∩ (𝐴 ∖ ran 𝑔))
34 disjdif 4429 . . . . . . . . . . . 12 (ran 𝑔 ∩ (𝐴 ∖ ran 𝑔)) = ∅
3533, 34eqtri 2786 . . . . . . . . . . 11 (dom ◡𝑔 ∩ dom ((𝐴 ∖ ran 𝑔) × {𝑧})) = ∅
36 funun 6614 . . . . . . . . . . 11 (((Fun ◡𝑔 ∧ Fun ((𝐴 ∖ ran 𝑔) × {𝑧})) ∧ (dom ◡𝑔 ∩ dom ((𝐴 ∖ ran 𝑔) × {𝑧})) = ∅) → Fun (◡𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})))
3727, 35, 36sylancl 598 . . . . . . . . . 10 (𝑔:𝐵⟶1-1𝐴 → Fun (◡𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})))
3837adantl 487 . . . . . . . . 9 ((𝑧 ∈ 𝐵 ∧ 𝑔:𝐵⟶1-1𝐴) → Fun (◡𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})))
39 dmun 5904 . . . . . . . . . . . 12 dom (◡𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) = (dom ◡𝑔 ∪ dom ((𝐴 ∖ ran 𝑔) × {𝑧}))
4028uneq1i 4166 . . . . . . . . . . . 12 (ran 𝑔 ∪ dom ((𝐴 ∖ ran 𝑔) × {𝑧})) = (dom ◡𝑔 ∪ dom ((𝐴 ∖ ran 𝑔) × {𝑧}))
4132uneq2i 4167 . . . . . . . . . . . 12 (ran 𝑔 ∪ dom ((𝐴 ∖ ran 𝑔) × {𝑧})) = (ran 𝑔 ∪ (𝐴 ∖ ran 𝑔))
4239, 40, 413eqtr2i 2792 . . . . . . . . . . 11 dom (◡𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) = (ran 𝑔 ∪ (𝐴 ∖ ran 𝑔))
43 f1f 6808 . . . . . . . . . . . . 13 (𝑔:𝐵⟶1-1𝐴 → 𝑔:𝐵⟶𝐴)
4443frnd 6748 . . . . . . . . . . . 12 (𝑔:𝐵⟶1-1𝐴 → ran 𝑔 ⊆ 𝐴)
45 undif 4441 . . . . . . . . . . . 12 (ran 𝑔 ⊆ 𝐴 ↔ (ran 𝑔 ∪ (𝐴 ∖ ran 𝑔)) = 𝐴)
4644, 45sylib 221 . . . . . . . . . . 11 (𝑔:𝐵⟶1-1𝐴 → (ran 𝑔 ∪ (𝐴 ∖ ran 𝑔)) = 𝐴)
4742, 46eqtrid 2810 . . . . . . . . . 10 (𝑔:𝐵⟶1-1𝐴 → dom (◡𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) = 𝐴)
4847adantl 487 . . . . . . . . 9 ((𝑧 ∈ 𝐵 ∧ 𝑔:𝐵⟶1-1𝐴) → dom (◡𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) = 𝐴)
49 df-fn 6569 . . . . . . . . 9 ((◡𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) Fn 𝐴 ↔ (Fun (◡𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) ∧ dom (◡𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) = 𝐴))
5038, 48, 49sylanbrc 595 . . . . . . . 8 ((𝑧 ∈ 𝐵 ∧ 𝑔:𝐵⟶1-1𝐴) → (◡𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) Fn 𝐴)
51 rnun 6154 . . . . . . . . 9 ran (◡𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) = (ran ◡𝑔 ∪ ran ((𝐴 ∖ ran 𝑔) × {𝑧}))
52 dfdm4 5889 . . . . . . . . . . . 12 dom 𝑔 = ran ◡𝑔
53 f1dm 6814 . . . . . . . . . . . 12 (𝑔:𝐵⟶1-1𝐴 → dom 𝑔 = 𝐵)
5452, 53eqtr3id 2812 . . . . . . . . . . 11 (𝑔:𝐵⟶1-1𝐴 → ran ◡𝑔 = 𝐵)
5554uneq1d 4169 . . . . . . . . . 10 (𝑔:𝐵⟶1-1𝐴 → (ran ◡𝑔 ∪ ran ((𝐴 ∖ ran 𝑔) × {𝑧})) = (𝐵 ∪ ran ((𝐴 ∖ ran 𝑔) × {𝑧})))
56 xpeq1 5672 . . . . . . . . . . . . . . . . 17 ((𝐴 ∖ ran 𝑔) = ∅ → ((𝐴 ∖ ran 𝑔) × {𝑧}) = (∅ × {𝑧}))
57 0xp 5758 . . . . . . . . . . . . . . . . 17 (∅ × {𝑧}) = ∅
5856, 57eqtrdi 2814 . . . . . . . . . . . . . . . 16 ((𝐴 ∖ ran 𝑔) = ∅ → ((𝐴 ∖ ran 𝑔) × {𝑧}) = ∅)
5958rneqd 5932 . . . . . . . . . . . . . . 15 ((𝐴 ∖ ran 𝑔) = ∅ → ran ((𝐴 ∖ ran 𝑔) × {𝑧}) = ran ∅)
60 rn0 5920 . . . . . . . . . . . . . . 15 ran ∅ = ∅
6159, 60eqtrdi 2814 . . . . . . . . . . . . . 14 ((𝐴 ∖ ran 𝑔) = ∅ → ran ((𝐴 ∖ ran 𝑔) × {𝑧}) = ∅)
62 0ss 4353 . . . . . . . . . . . . . 14 ∅ ⊆ 𝐵
6361, 62eqsstrdi 3957 . . . . . . . . . . . . 13 ((𝐴 ∖ ran 𝑔) = ∅ → ran ((𝐴 ∖ ran 𝑔) × {𝑧}) ⊆ 𝐵)
6463a1d 26 . . . . . . . . . . . 12 ((𝐴 ∖ ran 𝑔) = ∅ → (𝑧 ∈ 𝐵 → ran ((𝐴 ∖ ran 𝑔) × {𝑧}) ⊆ 𝐵))
65 rnxp 6180 . . . . . . . . . . . . . . 15 ((𝐴 ∖ ran 𝑔) ≠ ∅ → ran ((𝐴 ∖ ran 𝑔) × {𝑧}) = {𝑧})
6665adantr 486 . . . . . . . . . . . . . 14 (((𝐴 ∖ ran 𝑔) ≠ ∅ ∧ 𝑧 ∈ 𝐵) → ran ((𝐴 ∖ ran 𝑔) × {𝑧}) = {𝑧})
67 snssi 4748 . . . . . . . . . . . . . . 15 (𝑧 ∈ 𝐵 → {𝑧} ⊆ 𝐵)
6867adantl 487 . . . . . . . . . . . . . 14 (((𝐴 ∖ ran 𝑔) ≠ ∅ ∧ 𝑧 ∈ 𝐵) → {𝑧} ⊆ 𝐵)
6966, 68eqsstrd 3947 . . . . . . . . . . . . 13 (((𝐴 ∖ ran 𝑔) ≠ ∅ ∧ 𝑧 ∈ 𝐵) → ran ((𝐴 ∖ ran 𝑔) × {𝑧}) ⊆ 𝐵)
7069ex 418 . . . . . . . . . . . 12 ((𝐴 ∖ ran 𝑔) ≠ ∅ → (𝑧 ∈ 𝐵 → ran ((𝐴 ∖ ran 𝑔) × {𝑧}) ⊆ 𝐵))
7164, 70pm2.61ine 3042 . . . . . . . . . . 11 (𝑧 ∈ 𝐵 → ran ((𝐴 ∖ ran 𝑔) × {𝑧}) ⊆ 𝐵)
72 ssequn2 4190 . . . . . . . . . . 11 (ran ((𝐴 ∖ ran 𝑔) × {𝑧}) ⊆ 𝐵 ↔ (𝐵 ∪ ran ((𝐴 ∖ ran 𝑔) × {𝑧})) = 𝐵)
7371, 72sylib 221 . . . . . . . . . 10 (𝑧 ∈ 𝐵 → (𝐵 ∪ ran ((𝐴 ∖ ran 𝑔) × {𝑧})) = 𝐵)
7455, 73sylan9eqr 2820 . . . . . . . . 9 ((𝑧 ∈ 𝐵 ∧ 𝑔:𝐵⟶1-1𝐴) → (ran ◡𝑔 ∪ ran ((𝐴 ∖ ran 𝑔) × {𝑧})) = 𝐵)
7551, 74eqtrid 2810 . . . . . . . 8 ((𝑧 ∈ 𝐵 ∧ 𝑔:𝐵⟶1-1𝐴) → ran (◡𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) = 𝐵)
76 df-fo 6572 . . . . . . . 8 ((◡𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})):𝐴⟶onto𝐵 ↔ ((◡𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) Fn 𝐴 ∧ ran (◡𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) = 𝐵))
7750, 75, 76sylanbrc 595 . . . . . . 7 ((𝑧 ∈ 𝐵 ∧ 𝑔:𝐵⟶1-1𝐴) → (◡𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})):𝐴⟶onto𝐵)
78 foeq1 6822 . . . . . . . 8 (𝑓 = (◡𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) → (𝑓:𝐴⟶onto𝐵 ↔ (◡𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})):𝐴⟶onto𝐵))
7978spcegv 3555 . . . . . . 7 ((◡𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) ∈ V → ((◡𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})):𝐴⟶onto𝐵 → ∃𝑓 𝑓:𝐴⟶onto𝐵))
8020, 77, 79syl2im 41 . . . . . 6 (𝐴 ∈ V → ((𝑧 ∈ 𝐵 ∧ 𝑔:𝐵⟶1-1𝐴) → ∃𝑓 𝑓:𝐴⟶onto𝐵))
8180expdimp 458 . . . . 5 ((𝐴 ∈ V ∧ 𝑧 ∈ 𝐵) → (𝑔:𝐵⟶1-1𝐴 → ∃𝑓 𝑓:𝐴⟶onto𝐵))
8281exlimdv 1968 . . . 4 ((𝐴 ∈ V ∧ 𝑧 ∈ 𝐵) → (∃𝑔 𝑔:𝐵⟶1-1𝐴 → ∃𝑓 𝑓:𝐴⟶onto𝐵))
8382ex 418 . . 3 (𝐴 ∈ V → (𝑧 ∈ 𝐵 → (∃𝑔 𝑔:𝐵⟶1-1𝐴 → ∃𝑓 𝑓:𝐴⟶onto𝐵)))
8483exlimdv 1968 . 2 (𝐴 ∈ V → (∃𝑧 𝑧 ∈ 𝐵 → (∃𝑔 𝑔:𝐵⟶1-1𝐴 → ∃𝑓 𝑓:𝐴⟶onto𝐵)))
853, 9, 11, 84syl3c 67 1 ((∅ ≺ 𝐵 ∧ 𝐵 ≼ 𝐴) → ∃𝑓 𝑓:𝐴⟶onto𝐵)
Colors of variables:    wff setvar class
This proof depends on syntax axioms:   → wi 4   ↔ wb 209   ∧ wa 401   = wceq 1570  ∃wex 1812   ∈ wcel 2147   ≠ wne 2959  Vcvv 3454   ⊆ wss 3900   ∖ cdif 4048   ∩ cin 4092   ∪ cun 4152  ∅c0 4281  {csn 4588   class class class wbr 5108   × cxp 5656  ◡ccnv 5657  dom cdm 5658  ran crn 5659  Fun wfun 6560   Fn wfn 6561  ⟶wf 6562  ⟶1-1wf1 6563  ⟶ontowfo 6564   ≼ cdom 9009   ≺ csdm 9010
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1945  ax-6 2002  ax-7 2043  ax-8 2149  ax-9 2157  ax-10 2180  ax-11 2197  ax-12 2216  ax-ext 2735  ax-sep 5255  ax-nul 5266  ax-pow 5334  ax-pr 5398  ax-un 7783
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2102  df-mo 2567  df-eu 2597  df-clab 2742  df-cleq 2755  df-clel 2839  df-nfc 2913  df-ne 2960  df-ral 3081  df-rex 3091  df-rab 3417  df-v 3456  df-ss 3901  df-dif 4050  df-in 4094  df-un 4154  df-nul 4282  df-if 4486  df-pw 4562  df-sn 4589  df-pr 4591  df-op 4841  df-uni 4873  df-br 5109  df-opab 5174  df-mpt 5193  df-id 5553  df-xp 5664  df-rel 5665  df-cnv 5666  df-co 5667  df-dm 5668  df-rn 5669  df-fun 6568  df-fn 6569  df-f 6570  df-f1 6571  df-fo 6572  df-f1o 6573  df-en 9012  df-dom 9013  df-sdom 9014
This theorem is used by:  pwdom  9186  domwdom  9605  iunfictbso  10232  fodomb  10644  brdom3  10646  konigthlem  10692  1stcfb  23818  ovoliunnul  25883  sigapildsys  34906  carsgclctunlem3  35063  ovoliunnfl  38848  voliunnfl  38850  volsupnfl  38851  modelaxreplem1  46232  nnfoctb  46339  caragenunicl  47807
  Copyright terms: Public domain W3C validator