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

Theorem fodomr 9140
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 8972 . . . 4 Rel ≼
21brrelex2i 5708 . . 3 (𝐵 ≼ 𝐴 → 𝐴 ∈ V)
32adantl 487 . 2 ((∅ ≺ 𝐵 ∧ 𝐵 ≼ 𝐴) → 𝐴 ∈ V)
41brrelex1i 5707 . . . 4 (𝐵 ≼ 𝐴 → 𝐵 ∈ V)
5 0sdomg 9118 . . . . 5 (𝐵 ∈ V → (∅ ≺ 𝐵 ↔ 𝐵 ≠ ∅))
6 n0 4300 . . . . 5 (𝐵 ≠ ∅ ↔ ∃𝑧 𝑧 ∈ 𝐵)
75, 6bitrdi 290 . . . 4 (𝐵 ∈ V → (∅ ≺ 𝐵 ↔ ∃𝑧 𝑧 ∈ 𝐵))
84, 7syl 18 . . 3 (𝐵 ≼ 𝐴 → (∅ ≺ 𝐵 ↔ ∃𝑧 𝑧 ∈ 𝐵))
98biimpac 484 . 2 ((∅ ≺ 𝐵 ∧ 𝐵 ≼ 𝐴) → ∃𝑧 𝑧 ∈ 𝐵)
10 brdomi 8979 . . 3 (𝐵 ≼ 𝐴 → ∃𝑔 𝑔:𝐵–1-1→𝐴)
1110adantl 487 . 2 ((∅ ≺ 𝐵 ∧ 𝐵 ≼ 𝐴) → ∃𝑔 𝑔:𝐵–1-1→𝐴)
12 difexg 5291 . . . . . . . . . 10 (𝐴 ∈ V → (𝐴 ∖ ran 𝑔) ∈ V)
13 vsnex 5393 . . . . . . . . . 10 {𝑧} ∈ V
14 xpexg 7762 . . . . . . . . . 10 (((𝐴 ∖ ran 𝑔) ∈ V ∧ {𝑧} ∈ V) → ((𝐴 ∖ ran 𝑔) × {𝑧}) ∈ V)
1512, 13, 14sylancl 598 . . . . . . . . 9 (𝐴 ∈ V → ((𝐴 ∖ ran 𝑔) × {𝑧}) ∈ V)
16 vex 3455 . . . . . . . . . 10 𝑔 ∈ V
1716cnvex 7935 . . . . . . . . 9 ◡𝑔 ∈ V
1815, 17jctil 529 . . . . . . . 8 (𝐴 ∈ V → (◡𝑔 ∈ V ∧ ((𝐴 ∖ ran 𝑔) × {𝑧}) ∈ V))
19 unexb 7761 . . . . . . . 8 ((◡𝑔 ∈ V ∧ ((𝐴 ∖ ran 𝑔) × {𝑧}) ∈ V) ↔ (◡𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) ∈ V)
2018, 19sylib 221 . . . . . . 7 (𝐴 ∈ V → (◡𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) ∈ V)
21 df-f1 6542 . . . . . . . . . . . . 13 (𝑔:𝐵–1-1→𝐴 ↔ (𝑔:𝐵⟶𝐴 ∧ Fun ◡𝑔))
2221simprbi 503 . . . . . . . . . . . 12 (𝑔:𝐵–1-1→𝐴 → Fun ◡𝑔)
23 vex 3455 . . . . . . . . . . . . . 14 𝑧 ∈ V
2423fconst 6766 . . . . . . . . . . . . 13 ((𝐴 ∖ ran 𝑔) × {𝑧}):(𝐴 ∖ ran 𝑔)⟶{𝑧}
25 ffun 6710 . . . . . . . . . . . . 13 (((𝐴 ∖ ran 𝑔) × {𝑧}):(𝐴 ∖ ran 𝑔)⟶{𝑧} → Fun ((𝐴 ∖ ran 𝑔) × {𝑧}))
2624, 25ax-mp 5 . . . . . . . . . . . 12 Fun ((𝐴 ∖ ran 𝑔) × {𝑧})
2722, 26jctir 530 . . . . . . . . . . 11 (𝑔:𝐵–1-1→𝐴 → (Fun ◡𝑔 ∧ Fun ((𝐴 ∖ ran 𝑔) × {𝑧})))
28 df-rn 5662 . . . . . . . . . . . . . 14 ran 𝑔 = dom ◡𝑔
2928eqcomi 2770 . . . . . . . . . . . . 13 dom ◡𝑔 = ran 𝑔
3023snnz 4737 . . . . . . . . . . . . . 14 {𝑧} ≠ ∅
31 dmxp 5911 . . . . . . . . . . . . . 14 ({𝑧} ≠ ∅ → dom ((𝐴 ∖ ran 𝑔) × {𝑧}) = (𝐴 ∖ ran 𝑔))
3230, 31ax-mp 5 . . . . . . . . . . . . 13 dom ((𝐴 ∖ ran 𝑔) × {𝑧}) = (𝐴 ∖ ran 𝑔)
3329, 32ineq12i 4164 . . . . . . . . . . . 12 (dom ◡𝑔 ∩ dom ((𝐴 ∖ ran 𝑔) × {𝑧})) = (ran 𝑔 ∩ (𝐴 ∖ ran 𝑔))
34 disjdif 4426 . . . . . . . . . . . 12 (ran 𝑔 ∩ (𝐴 ∖ ran 𝑔)) = ∅
3533, 34eqtri 2784 . . . . . . . . . . 11 (dom ◡𝑔 ∩ dom ((𝐴 ∖ ran 𝑔) × {𝑧})) = ∅
36 funun 6584 . . . . . . . . . . 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 5892 . . . . . . . . . . . 12 dom (◡𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) = (dom ◡𝑔 ∪ dom ((𝐴 ∖ ran 𝑔) × {𝑧}))
4028uneq1i 4111 . . . . . . . . . . . 12 (ran 𝑔 ∪ dom ((𝐴 ∖ ran 𝑔) × {𝑧})) = (dom ◡𝑔 ∪ dom ((𝐴 ∖ ran 𝑔) × {𝑧}))
4132uneq2i 4112 . . . . . . . . . . . 12 (ran 𝑔 ∪ dom ((𝐴 ∖ ran 𝑔) × {𝑧})) = (ran 𝑔 ∪ (𝐴 ∖ ran 𝑔))
4239, 40, 413eqtr2i 2790 . . . . . . . . . . 11 dom (◡𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) = (ran 𝑔 ∪ (𝐴 ∖ ran 𝑔))
43 f1f 6776 . . . . . . . . . . . . 13 (𝑔:𝐵–1-1→𝐴 → 𝑔:𝐵⟶𝐴)
4443frnd 6716 . . . . . . . . . . . 12 (𝑔:𝐵–1-1→𝐴 → ran 𝑔 ⊆ 𝐴)
45 undif 4438 . . . . . . . . . . . 12 (ran 𝑔 ⊆ 𝐴 ↔ (ran 𝑔 ∪ (𝐴 ∖ ran 𝑔)) = 𝐴)
4644, 45sylib 221 . . . . . . . . . . 11 (𝑔:𝐵–1-1→𝐴 → (ran 𝑔 ∪ (𝐴 ∖ ran 𝑔)) = 𝐴)
4742, 46eqtrid 2808 . . . . . . . . . 10 (𝑔:𝐵–1-1→𝐴 → dom (◡𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) = 𝐴)
4847adantl 487 . . . . . . . . 9 ((𝑧 ∈ 𝐵 ∧ 𝑔:𝐵–1-1→𝐴) → dom (◡𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) = 𝐴)
49 df-fn 6540 . . . . . . . . 9 ((◡𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) Fn 𝐴 ↔ (Fun (◡𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) ∧ dom (◡𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) = 𝐴))
5038, 48, 49sylanbrc 595 . . . . . . . 8 ((𝑧 ∈ 𝐵 ∧ 𝑔:𝐵–1-1→𝐴) → (◡𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) Fn 𝐴)
51 rnun 6136 . . . . . . . . 9 ran (◡𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) = (ran ◡𝑔 ∪ ran ((𝐴 ∖ ran 𝑔) × {𝑧}))
52 dfdm4 5877 . . . . . . . . . . . 12 dom 𝑔 = ran ◡𝑔
53 f1dm 6782 . . . . . . . . . . . 12 (𝑔:𝐵–1-1→𝐴 → dom 𝑔 = 𝐵)
5452, 53eqtr3id 2810 . . . . . . . . . . 11 (𝑔:𝐵–1-1→𝐴 → ran ◡𝑔 = 𝐵)
5554uneq1d 4114 . . . . . . . . . 10 (𝑔:𝐵–1-1→𝐴 → (ran ◡𝑔 ∪ ran ((𝐴 ∖ ran 𝑔) × {𝑧})) = (𝐵 ∪ ran ((𝐴 ∖ ran 𝑔) × {𝑧})))
56 xpeq1 5665 . . . . . . . . . . . . . . . . 17 ((𝐴 ∖ ran 𝑔) = ∅ → ((𝐴 ∖ ran 𝑔) × {𝑧}) = (∅ × {𝑧}))
57 0xp 5750 . . . . . . . . . . . . . . . . 17 (∅ × {𝑧}) = ∅
5856, 57eqtrdi 2812 . . . . . . . . . . . . . . . 16 ((𝐴 ∖ ran 𝑔) = ∅ → ((𝐴 ∖ ran 𝑔) × {𝑧}) = ∅)
5958rneqd 5920 . . . . . . . . . . . . . . 15 ((𝐴 ∖ ran 𝑔) = ∅ → ran ((𝐴 ∖ ran 𝑔) × {𝑧}) = ran ∅)
60 rn0 5908 . . . . . . . . . . . . . . 15 ran ∅ = ∅
6159, 60eqtrdi 2812 . . . . . . . . . . . . . 14 ((𝐴 ∖ ran 𝑔) = ∅ → ran ((𝐴 ∖ ran 𝑔) × {𝑧}) = ∅)
62 0ss 4350 . . . . . . . . . . . . . 14 ∅ ⊆ 𝐵
6361, 62eqsstrdi 3975 . . . . . . . . . . . . 13 ((𝐴 ∖ ran 𝑔) = ∅ → ran ((𝐴 ∖ ran 𝑔) × {𝑧}) ⊆ 𝐵)
6463a1d 26 . . . . . . . . . . . 12 ((𝐴 ∖ ran 𝑔) = ∅ → (𝑧 ∈ 𝐵 → ran ((𝐴 ∖ ran 𝑔) × {𝑧}) ⊆ 𝐵))
65 rnxp 6162 . . . . . . . . . . . . . . 15 ((𝐴 ∖ ran 𝑔) ≠ ∅ → ran ((𝐴 ∖ ran 𝑔) × {𝑧}) = {𝑧})
6665adantr 486 . . . . . . . . . . . . . 14 (((𝐴 ∖ ran 𝑔) ≠ ∅ ∧ 𝑧 ∈ 𝐵) → ran ((𝐴 ∖ ran 𝑔) × {𝑧}) = {𝑧})
67 snssi 4746 . . . . . . . . . . . . . . 15 (𝑧 ∈ 𝐵 → {𝑧} ⊆ 𝐵)
6867adantl 487 . . . . . . . . . . . . . 14 (((𝐴 ∖ ran 𝑔) ≠ ∅ ∧ 𝑧 ∈ 𝐵) → {𝑧} ⊆ 𝐵)
6966, 68eqsstrd 3965 . . . . . . . . . . . . 13 (((𝐴 ∖ ran 𝑔) ≠ ∅ ∧ 𝑧 ∈ 𝐵) → ran ((𝐴 ∖ ran 𝑔) × {𝑧}) ⊆ 𝐵)
7069ex 418 . . . . . . . . . . . 12 ((𝐴 ∖ ran 𝑔) ≠ ∅ → (𝑧 ∈ 𝐵 → ran ((𝐴 ∖ ran 𝑔) × {𝑧}) ⊆ 𝐵))
7164, 70pm2.61ine 3039 . . . . . . . . . . 11 (𝑧 ∈ 𝐵 → ran ((𝐴 ∖ ran 𝑔) × {𝑧}) ⊆ 𝐵)
72 ssequn2 4135 . . . . . . . . . . 11 (ran ((𝐴 ∖ ran 𝑔) × {𝑧}) ⊆ 𝐵 ↔ (𝐵 ∪ ran ((𝐴 ∖ ran 𝑔) × {𝑧})) = 𝐵)
7371, 72sylib 221 . . . . . . . . . 10 (𝑧 ∈ 𝐵 → (𝐵 ∪ ran ((𝐴 ∖ ran 𝑔) × {𝑧})) = 𝐵)
7455, 73sylan9eqr 2818 . . . . . . . . 9 ((𝑧 ∈ 𝐵 ∧ 𝑔:𝐵–1-1→𝐴) → (ran ◡𝑔 ∪ ran ((𝐴 ∖ ran 𝑔) × {𝑧})) = 𝐵)
7551, 74eqtrid 2808 . . . . . . . 8 ((𝑧 ∈ 𝐵 ∧ 𝑔:𝐵–1-1→𝐴) → ran (◡𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) = 𝐵)
76 df-fo 6543 . . . . . . . 8 ((◡𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})):𝐴–onto→𝐵 ↔ ((◡𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) Fn 𝐴 ∧ ran (◡𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) = 𝐵))
7750, 75, 76sylanbrc 595 . . . . . . 7 ((𝑧 ∈ 𝐵 ∧ 𝑔:𝐵–1-1→𝐴) → (◡𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})):𝐴–onto→𝐵)
78 foeq1 6790 . . . . . . . 8 (𝑓 = (◡𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) → (𝑓:𝐴–onto→𝐵 ↔ (◡𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})):𝐴–onto→𝐵))
7978spcegv 3552 . . . . . . 7 ((◡𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})) ∈ V → ((◡𝑔 ∪ ((𝐴 ∖ ran 𝑔) × {𝑧})):𝐴–onto→𝐵 → ∃𝑓 𝑓:𝐴–onto→𝐵))
8020, 77, 79syl2im 41 . . . . . 6 (𝐴 ∈ V → ((𝑧 ∈ 𝐵 ∧ 𝑔:𝐵–1-1→𝐴) → ∃𝑓 𝑓:𝐴–onto→𝐵))
8180expdimp 458 . . . . 5 ((𝐴 ∈ V ∧ 𝑧 ∈ 𝐵) → (𝑔:𝐵–1-1→𝐴 → ∃𝑓 𝑓:𝐴–onto→𝐵))
8281exlimdv 1966 . . . 4 ((𝐴 ∈ V ∧ 𝑧 ∈ 𝐵) → (∃𝑔 𝑔:𝐵–1-1→𝐴 → ∃𝑓 𝑓:𝐴–onto→𝐵))
8382ex 418 . . 3 (𝐴 ∈ V → (𝑧 ∈ 𝐵 → (∃𝑔 𝑔:𝐵–1-1→𝐴 → ∃𝑓 𝑓:𝐴–onto→𝐵)))
8483exlimdv 1966 . 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 2145   ≠ wne 2956  Vcvv 3451   ∖ cdif 3896   ∪ cun 3897   ∩ cin 3898   ⊆ wss 3899  ∅c0 4279  {csn 4584   class class class wbr 5103   × cxp 5649  ◡ccnv 5650  dom cdm 5651  ran crn 5652  Fun wfun 6531   Fn wfn 6532  ⟶wf 6533  –1-1→wf1 6534  –onto→wfo 6535   ≼ cdom 8964   ≺ csdm 8965
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 1943  ax-6 2000  ax-7 2041  ax-8 2147  ax-9 2155  ax-10 2178  ax-11 2194  ax-12 2213  ax-ext 2733  ax-sep 5249  ax-nul 5260  ax-pow 5327  ax-pr 5391  ax-un 7749
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 2100  df-mo 2565  df-eu 2595  df-clab 2740  df-cleq 2753  df-clel 2836  df-nfc 2910  df-ne 2957  df-ral 3078  df-rex 3088  df-rab 3414  df-v 3453  df-dif 3902  df-un 3904  df-in 3906  df-ss 3916  df-nul 4280  df-if 4483  df-pw 4559  df-sn 4585  df-pr 4587  df-op 4591  df-uni 4868  df-br 5104  df-opab 5168  df-mpt 5187  df-id 5546  df-xp 5657  df-rel 5658  df-cnv 5659  df-co 5660  df-dm 5661  df-rn 5662  df-fun 6539  df-fn 6540  df-f 6541  df-f1 6542  df-fo 6543  df-f1o 6544  df-en 8967  df-dom 8968  df-sdom 8969
This theorem is used by:  pwdom  9141  domwdom  9561  iunfictbso  10186  fodomb  10598  brdom3  10600  konigthlem  10646  1stcfb  23756  ovoliunnul  25821  sigapildsys  34788  carsgclctunlem3  34945  ovoliunnfl  38560  voliunnfl  38562  volsupnfl  38563  modelaxreplem1  45946  nnfoctb  46034  caragenunicl  47503
  Copyright terms: Public domain W3C validator