ILE Home Intuitionistic Logic Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  ILE Home  >  Th. List  >  exmidfodomrlemim GIF version

Theorem exmidfodomrlemim 7553
Description: Excluded middle implies the existence of a mapping from any set onto any inhabited set that it dominates. Proposition 1.1 of [PradicBrown2022], p. 2. (Contributed by Jim Kingdon, 1-Jul-2022.)
Assertion
Ref Expression
exmidfodomrlemim (EXMID → ∀𝑥𝑦((∃𝑧 𝑧𝑦𝑦𝑥) → ∃𝑓 𝑓:𝑥onto𝑦))
Distinct variable groups:   𝑥,𝑓,𝑧   𝑦,𝑓,𝑧

Proof of Theorem exmidfodomrlemim
Dummy variables 𝑔 𝑢 𝑣 𝑤 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 brdomi 7033 . . . . 5 (𝑦𝑥 → ∃𝑔 𝑔:𝑦1-1𝑥)
21ad2antll 495 . . . 4 ((EXMID ∧ (∃𝑧 𝑧𝑦𝑦𝑥)) → ∃𝑔 𝑔:𝑦1-1𝑥)
3 df-f1 5382 . . . . . . . . . . . . . . . . 17 (𝑔:𝑦1-1𝑥 ↔ (𝑔:𝑦𝑥 ∧ Fun 𝑔))
43simprbi 275 . . . . . . . . . . . . . . . 16 (𝑔:𝑦1-1𝑥 → Fun 𝑔)
5 vex 2824 . . . . . . . . . . . . . . . . . 18 𝑧 ∈ V
65fconst 5588 . . . . . . . . . . . . . . . . 17 ((𝑥 ∖ ran 𝑔) × {𝑧}):(𝑥 ∖ ran 𝑔)⟶{𝑧}
7 ffun 5536 . . . . . . . . . . . . . . . . 17 (((𝑥 ∖ ran 𝑔) × {𝑧}):(𝑥 ∖ ran 𝑔)⟶{𝑧} → Fun ((𝑥 ∖ ran 𝑔) × {𝑧}))
86, 7ax-mp 5 . . . . . . . . . . . . . . . 16 Fun ((𝑥 ∖ ran 𝑔) × {𝑧})
94, 8jctir 313 . . . . . . . . . . . . . . 15 (𝑔:𝑦1-1𝑥 → (Fun 𝑔 ∧ Fun ((𝑥 ∖ ran 𝑔) × {𝑧})))
10 df-rn 4785 . . . . . . . . . . . . . . . . . 18 ran 𝑔 = dom 𝑔
1110eqcomi 2242 . . . . . . . . . . . . . . . . 17 dom 𝑔 = ran 𝑔
125snm 3833 . . . . . . . . . . . . . . . . . 18 𝑤 𝑤 ∈ {𝑧}
13 dmxpm 5002 . . . . . . . . . . . . . . . . . 18 (∃𝑤 𝑤 ∈ {𝑧} → dom ((𝑥 ∖ ran 𝑔) × {𝑧}) = (𝑥 ∖ ran 𝑔))
1412, 13ax-mp 5 . . . . . . . . . . . . . . . . 17 dom ((𝑥 ∖ ran 𝑔) × {𝑧}) = (𝑥 ∖ ran 𝑔)
1511, 14ineq12i 3430 . . . . . . . . . . . . . . . 16 (dom 𝑔 ∩ dom ((𝑥 ∖ ran 𝑔) × {𝑧})) = (ran 𝑔 ∩ (𝑥 ∖ ran 𝑔))
16 disjdif 3599 . . . . . . . . . . . . . . . 16 (ran 𝑔 ∩ (𝑥 ∖ ran 𝑔)) = ∅
1715, 16eqtri 2259 . . . . . . . . . . . . . . 15 (dom 𝑔 ∩ dom ((𝑥 ∖ ran 𝑔) × {𝑧})) = ∅
18 funun 5422 . . . . . . . . . . . . . . 15 (((Fun 𝑔 ∧ Fun ((𝑥 ∖ ran 𝑔) × {𝑧})) ∧ (dom 𝑔 ∩ dom ((𝑥 ∖ ran 𝑔) × {𝑧})) = ∅) → Fun (𝑔 ∪ ((𝑥 ∖ ran 𝑔) × {𝑧})))
199, 17, 18sylancl 417 . . . . . . . . . . . . . 14 (𝑔:𝑦1-1𝑥 → Fun (𝑔 ∪ ((𝑥 ∖ ran 𝑔) × {𝑧})))
2019adantl 277 . . . . . . . . . . . . 13 (((EXMID𝑧𝑦) ∧ 𝑔:𝑦1-1𝑥) → Fun (𝑔 ∪ ((𝑥 ∖ ran 𝑔) × {𝑧})))
21 dmun 4988 . . . . . . . . . . . . . . 15 dom (𝑔 ∪ ((𝑥 ∖ ran 𝑔) × {𝑧})) = (dom 𝑔 ∪ dom ((𝑥 ∖ ran 𝑔) × {𝑧}))
2210uneq1i 3379 . . . . . . . . . . . . . . 15 (ran 𝑔 ∪ dom ((𝑥 ∖ ran 𝑔) × {𝑧})) = (dom 𝑔 ∪ dom ((𝑥 ∖ ran 𝑔) × {𝑧}))
2314uneq2i 3380 . . . . . . . . . . . . . . 15 (ran 𝑔 ∪ dom ((𝑥 ∖ ran 𝑔) × {𝑧})) = (ran 𝑔 ∪ (𝑥 ∖ ran 𝑔))
2421, 22, 233eqtr2i 2265 . . . . . . . . . . . . . 14 dom (𝑔 ∪ ((𝑥 ∖ ran 𝑔) × {𝑧})) = (ran 𝑔 ∪ (𝑥 ∖ ran 𝑔))
25 f1rn 5599 . . . . . . . . . . . . . . . 16 (𝑔:𝑦1-1𝑥 → ran 𝑔𝑥)
2625adantl 277 . . . . . . . . . . . . . . 15 (((EXMID𝑧𝑦) ∧ 𝑔:𝑦1-1𝑥) → ran 𝑔𝑥)
27 exmidexmid 4333 . . . . . . . . . . . . . . . . 17 (EXMIDDECID 𝑢 ∈ ran 𝑔)
2827ralrimivw 2624 . . . . . . . . . . . . . . . 16 (EXMID → ∀𝑢𝑥 DECID 𝑢 ∈ ran 𝑔)
2928ad2antrr 492 . . . . . . . . . . . . . . 15 (((EXMID𝑧𝑦) ∧ 𝑔:𝑦1-1𝑥) → ∀𝑢𝑥 DECID 𝑢 ∈ ran 𝑔)
30 undifdcss 7230 . . . . . . . . . . . . . . 15 (𝑥 = (ran 𝑔 ∪ (𝑥 ∖ ran 𝑔)) ↔ (ran 𝑔𝑥 ∧ ∀𝑢𝑥 DECID 𝑢 ∈ ran 𝑔))
3126, 29, 30sylanbrc 421 . . . . . . . . . . . . . 14 (((EXMID𝑧𝑦) ∧ 𝑔:𝑦1-1𝑥) → 𝑥 = (ran 𝑔 ∪ (𝑥 ∖ ran 𝑔)))
3224, 31eqtr4id 2290 . . . . . . . . . . . . 13 (((EXMID𝑧𝑦) ∧ 𝑔:𝑦1-1𝑥) → dom (𝑔 ∪ ((𝑥 ∖ ran 𝑔) × {𝑧})) = 𝑥)
33 df-fn 5380 . . . . . . . . . . . . 13 ((𝑔 ∪ ((𝑥 ∖ ran 𝑔) × {𝑧})) Fn 𝑥 ↔ (Fun (𝑔 ∪ ((𝑥 ∖ ran 𝑔) × {𝑧})) ∧ dom (𝑔 ∪ ((𝑥 ∖ ran 𝑔) × {𝑧})) = 𝑥))
3420, 32, 33sylanbrc 421 . . . . . . . . . . . 12 (((EXMID𝑧𝑦) ∧ 𝑔:𝑦1-1𝑥) → (𝑔 ∪ ((𝑥 ∖ ran 𝑔) × {𝑧})) Fn 𝑥)
35 rnun 5196 . . . . . . . . . . . . 13 ran (𝑔 ∪ ((𝑥 ∖ ran 𝑔) × {𝑧})) = (ran 𝑔 ∪ ran ((𝑥 ∖ ran 𝑔) × {𝑧}))
36 dfdm4 4973 . . . . . . . . . . . . . . . 16 dom 𝑔 = ran 𝑔
37 f1dm 5603 . . . . . . . . . . . . . . . 16 (𝑔:𝑦1-1𝑥 → dom 𝑔 = 𝑦)
3836, 37eqtr3id 2285 . . . . . . . . . . . . . . 15 (𝑔:𝑦1-1𝑥 → ran 𝑔 = 𝑦)
3938uneq1d 3382 . . . . . . . . . . . . . 14 (𝑔:𝑦1-1𝑥 → (ran 𝑔 ∪ ran ((𝑥 ∖ ran 𝑔) × {𝑧})) = (𝑦 ∪ ran ((𝑥 ∖ ran 𝑔) × {𝑧})))
40 exmidexmid 4333 . . . . . . . . . . . . . . . . . 18 (EXMIDDECID𝑣 𝑣 ∈ (𝑥 ∖ ran 𝑔))
41 exmiddc 848 . . . . . . . . . . . . . . . . . 18 (DECID𝑣 𝑣 ∈ (𝑥 ∖ ran 𝑔) → (∃𝑣 𝑣 ∈ (𝑥 ∖ ran 𝑔) ∨ ¬ ∃𝑣 𝑣 ∈ (𝑥 ∖ ran 𝑔)))
4240, 41syl 14 . . . . . . . . . . . . . . . . 17 (EXMID → (∃𝑣 𝑣 ∈ (𝑥 ∖ ran 𝑔) ∨ ¬ ∃𝑣 𝑣 ∈ (𝑥 ∖ ran 𝑔)))
43 rnxpm 5217 . . . . . . . . . . . . . . . . . . . . 21 (∃𝑣 𝑣 ∈ (𝑥 ∖ ran 𝑔) → ran ((𝑥 ∖ ran 𝑔) × {𝑧}) = {𝑧})
4443adantr 276 . . . . . . . . . . . . . . . . . . . 20 ((∃𝑣 𝑣 ∈ (𝑥 ∖ ran 𝑔) ∧ 𝑧𝑦) → ran ((𝑥 ∖ ran 𝑔) × {𝑧}) = {𝑧})
45 snssi 3859 . . . . . . . . . . . . . . . . . . . . 21 (𝑧𝑦 → {𝑧} ⊆ 𝑦)
4645adantl 277 . . . . . . . . . . . . . . . . . . . 20 ((∃𝑣 𝑣 ∈ (𝑥 ∖ ran 𝑔) ∧ 𝑧𝑦) → {𝑧} ⊆ 𝑦)
4744, 46eqsstrd 3284 . . . . . . . . . . . . . . . . . . 19 ((∃𝑣 𝑣 ∈ (𝑥 ∖ ran 𝑔) ∧ 𝑧𝑦) → ran ((𝑥 ∖ ran 𝑔) × {𝑧}) ⊆ 𝑦)
4847ex 115 . . . . . . . . . . . . . . . . . 18 (∃𝑣 𝑣 ∈ (𝑥 ∖ ran 𝑔) → (𝑧𝑦 → ran ((𝑥 ∖ ran 𝑔) × {𝑧}) ⊆ 𝑦))
49 notm0 3542 . . . . . . . . . . . . . . . . . . 19 (¬ ∃𝑣 𝑣 ∈ (𝑥 ∖ ran 𝑔) ↔ (𝑥 ∖ ran 𝑔) = ∅)
50 xpeq1 4788 . . . . . . . . . . . . . . . . . . . . . . . 24 ((𝑥 ∖ ran 𝑔) = ∅ → ((𝑥 ∖ ran 𝑔) × {𝑧}) = (∅ × {𝑧}))
51 0xp 4855 . . . . . . . . . . . . . . . . . . . . . . . 24 (∅ × {𝑧}) = ∅
5250, 51eqtrdi 2287 . . . . . . . . . . . . . . . . . . . . . . 23 ((𝑥 ∖ ran 𝑔) = ∅ → ((𝑥 ∖ ran 𝑔) × {𝑧}) = ∅)
5352rneqd 5011 . . . . . . . . . . . . . . . . . . . . . 22 ((𝑥 ∖ ran 𝑔) = ∅ → ran ((𝑥 ∖ ran 𝑔) × {𝑧}) = ran ∅)
54 rn0 5038 . . . . . . . . . . . . . . . . . . . . . 22 ran ∅ = ∅
5553, 54eqtrdi 2287 . . . . . . . . . . . . . . . . . . . . 21 ((𝑥 ∖ ran 𝑔) = ∅ → ran ((𝑥 ∖ ran 𝑔) × {𝑧}) = ∅)
56 0ss 3561 . . . . . . . . . . . . . . . . . . . . 21 ∅ ⊆ 𝑦
5755, 56eqsstrdi 3300 . . . . . . . . . . . . . . . . . . . 20 ((𝑥 ∖ ran 𝑔) = ∅ → ran ((𝑥 ∖ ran 𝑔) × {𝑧}) ⊆ 𝑦)
5857a1d 22 . . . . . . . . . . . . . . . . . . 19 ((𝑥 ∖ ran 𝑔) = ∅ → (𝑧𝑦 → ran ((𝑥 ∖ ran 𝑔) × {𝑧}) ⊆ 𝑦))
5949, 58sylbi 121 . . . . . . . . . . . . . . . . . 18 (¬ ∃𝑣 𝑣 ∈ (𝑥 ∖ ran 𝑔) → (𝑧𝑦 → ran ((𝑥 ∖ ran 𝑔) × {𝑧}) ⊆ 𝑦))
6048, 59jaoi 728 . . . . . . . . . . . . . . . . 17 ((∃𝑣 𝑣 ∈ (𝑥 ∖ ran 𝑔) ∨ ¬ ∃𝑣 𝑣 ∈ (𝑥 ∖ ran 𝑔)) → (𝑧𝑦 → ran ((𝑥 ∖ ran 𝑔) × {𝑧}) ⊆ 𝑦))
6142, 60syl 14 . . . . . . . . . . . . . . . 16 (EXMID → (𝑧𝑦 → ran ((𝑥 ∖ ran 𝑔) × {𝑧}) ⊆ 𝑦))
6261imp 124 . . . . . . . . . . . . . . 15 ((EXMID𝑧𝑦) → ran ((𝑥 ∖ ran 𝑔) × {𝑧}) ⊆ 𝑦)
63 ssequn2 3402 . . . . . . . . . . . . . . 15 (ran ((𝑥 ∖ ran 𝑔) × {𝑧}) ⊆ 𝑦 ↔ (𝑦 ∪ ran ((𝑥 ∖ ran 𝑔) × {𝑧})) = 𝑦)
6462, 63sylib 122 . . . . . . . . . . . . . 14 ((EXMID𝑧𝑦) → (𝑦 ∪ ran ((𝑥 ∖ ran 𝑔) × {𝑧})) = 𝑦)
6539, 64sylan9eqr 2293 . . . . . . . . . . . . 13 (((EXMID𝑧𝑦) ∧ 𝑔:𝑦1-1𝑥) → (ran 𝑔 ∪ ran ((𝑥 ∖ ran 𝑔) × {𝑧})) = 𝑦)
6635, 65eqtrid 2283 . . . . . . . . . . . 12 (((EXMID𝑧𝑦) ∧ 𝑔:𝑦1-1𝑥) → ran (𝑔 ∪ ((𝑥 ∖ ran 𝑔) × {𝑧})) = 𝑦)
67 df-fo 5383 . . . . . . . . . . . 12 ((𝑔 ∪ ((𝑥 ∖ ran 𝑔) × {𝑧})):𝑥onto𝑦 ↔ ((𝑔 ∪ ((𝑥 ∖ ran 𝑔) × {𝑧})) Fn 𝑥 ∧ ran (𝑔 ∪ ((𝑥 ∖ ran 𝑔) × {𝑧})) = 𝑦))
6834, 66, 67sylanbrc 421 . . . . . . . . . . 11 (((EXMID𝑧𝑦) ∧ 𝑔:𝑦1-1𝑥) → (𝑔 ∪ ((𝑥 ∖ ran 𝑔) × {𝑧})):𝑥onto𝑦)
69 vex 2824 . . . . . . . . . . . . . 14 𝑔 ∈ V
7069cnvex 5326 . . . . . . . . . . . . 13 𝑔 ∈ V
71 vex 2824 . . . . . . . . . . . . . . 15 𝑥 ∈ V
72 difexg 4275 . . . . . . . . . . . . . . 15 (𝑥 ∈ V → (𝑥 ∖ ran 𝑔) ∈ V)
7371, 72ax-mp 5 . . . . . . . . . . . . . 14 (𝑥 ∖ ran 𝑔) ∈ V
745snex 4322 . . . . . . . . . . . . . 14 {𝑧} ∈ V
7573, 74xpex 4891 . . . . . . . . . . . . 13 ((𝑥 ∖ ran 𝑔) × {𝑧}) ∈ V
7670, 75unex 4587 . . . . . . . . . . . 12 (𝑔 ∪ ((𝑥 ∖ ran 𝑔) × {𝑧})) ∈ V
77 foeq1 5611 . . . . . . . . . . . 12 (𝑓 = (𝑔 ∪ ((𝑥 ∖ ran 𝑔) × {𝑧})) → (𝑓:𝑥onto𝑦 ↔ (𝑔 ∪ ((𝑥 ∖ ran 𝑔) × {𝑧})):𝑥onto𝑦))
7876, 77spcev 2920 . . . . . . . . . . 11 ((𝑔 ∪ ((𝑥 ∖ ran 𝑔) × {𝑧})):𝑥onto𝑦 → ∃𝑓 𝑓:𝑥onto𝑦)
7968, 78syl 14 . . . . . . . . . 10 (((EXMID𝑧𝑦) ∧ 𝑔:𝑦1-1𝑥) → ∃𝑓 𝑓:𝑥onto𝑦)
8079an32s 574 . . . . . . . . 9 (((EXMID𝑔:𝑦1-1𝑥) ∧ 𝑧𝑦) → ∃𝑓 𝑓:𝑥onto𝑦)
8180ex 115 . . . . . . . 8 ((EXMID𝑔:𝑦1-1𝑥) → (𝑧𝑦 → ∃𝑓 𝑓:𝑥onto𝑦))
8281exlimdv 1872 . . . . . . 7 ((EXMID𝑔:𝑦1-1𝑥) → (∃𝑧 𝑧𝑦 → ∃𝑓 𝑓:𝑥onto𝑦))
8382imp 124 . . . . . 6 (((EXMID𝑔:𝑦1-1𝑥) ∧ ∃𝑧 𝑧𝑦) → ∃𝑓 𝑓:𝑥onto𝑦)
8483an32s 574 . . . . 5 (((EXMID ∧ ∃𝑧 𝑧𝑦) ∧ 𝑔:𝑦1-1𝑥) → ∃𝑓 𝑓:𝑥onto𝑦)
8584adantlrr 487 . . . 4 (((EXMID ∧ (∃𝑧 𝑧𝑦𝑦𝑥)) ∧ 𝑔:𝑦1-1𝑥) → ∃𝑓 𝑓:𝑥onto𝑦)
862, 85exlimddv 1954 . . 3 ((EXMID ∧ (∃𝑧 𝑧𝑦𝑦𝑥)) → ∃𝑓 𝑓:𝑥onto𝑦)
8786ex 115 . 2 (EXMID → ((∃𝑧 𝑧𝑦𝑦𝑥) → ∃𝑓 𝑓:𝑥onto𝑦))
8887alrimivv 1928 1 (EXMID → ∀𝑥𝑦((∃𝑧 𝑧𝑦𝑦𝑥) → ∃𝑓 𝑓:𝑥onto𝑦))
Colors of variables:    wff set class
This proof depends on syntax axioms:  ¬ wn 3  wi 4  wa 104  wo 720  DECID wdc 846  wal 1400   = wceq 1402  wex 1545  wcel 2209  wral 2528  Vcvv 2821  cdif 3217  cun 3218  cin 3219  wss 3220  c0 3520  {csn 3709   class class class wbr 4130  EXMIDwem 4331   × cxp 4772  ccnv 4773  dom cdm 4774  ran crn 4775  Fun wfun 5371   Fn wfn 5372  wf 5373  1-1wf1 5374  ontowfo 5375  cdom 7021
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 106  ax-ia2 107  ax-ia3 108  ax-in1 623  ax-in2 624  ax-io 721  ax-5 1500  ax-7 1501  ax-gen 1502  ax-ie1 1546  ax-ie2 1547  ax-8 1557  ax-10 1558  ax-11 1559  ax-i12 1560  ax-bndl 1562  ax-4 1563  ax-17 1579  ax-i9 1583  ax-ial 1587  ax-i5r 1588  ax-14 2212  ax-ext 2220  ax-sep 4249  ax-nul 4259  ax-pow 4311  ax-pr 4346  ax-un 4578
This proof depends on definitions:  df-bi 117  df-dc 847  df-3an 1011  df-tru 1405  df-fal 1408  df-nf 1514  df-sb 1816  df-eu 2089  df-mo 2090  df-clab 2225  df-cleq 2231  df-clel 2234  df-nfc 2381  df-ral 2533  df-rex 2534  df-rab 2537  df-v 2823  df-dif 3222  df-un 3224  df-in 3226  df-ss 3233  df-nul 3521  df-pw 3690  df-sn 3715  df-pr 3716  df-op 3718  df-uni 3936  df-br 4131  df-opab 4193  df-mpt 4194  df-exmid 4332  df-id 4438  df-xp 4780  df-rel 4781  df-cnv 4782  df-co 4783  df-dm 4784  df-rn 4785  df-fun 5379  df-fn 5380  df-f 5381  df-f1 5382  df-fo 5383  df-dom 7024
This theorem is used by:  exmidfodomr  7556
  Copyright terms: Public domain W3C validator