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

Theorem enumct 7008
Description: A finitely enumerable set is countable. Lemma 8.1.14 of [AczelRathjen], p. 73 (except that our definition of countable does not require the set to be inhabited). "Finitely enumerable" is defined as 𝑛 ∈ ω∃𝑓𝑓:𝑛onto𝐴 per Definition 8.1.4 of [AczelRathjen], p. 71 and "countable" is defined as 𝑔𝑔:ω–onto→(𝐴 ⊔ 1o) per [BauerSwan], p. 14:3. (Contributed by Jim Kingdon, 13-Mar-2023.)
Assertion
Ref Expression
enumct (∃𝑛 ∈ ω ∃𝑓 𝑓:𝑛onto𝐴 → ∃𝑔 𝑔:ω–onto→(𝐴 ⊔ 1o))
Distinct variable group:   𝐴,𝑓,𝑔,𝑛

Proof of Theorem enumct
Dummy variables 𝑥 𝑘 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 simpll 519 . . . . . . . . 9 (((𝑓:𝑛onto𝐴𝑛 ∈ ω) ∧ 𝑛 = ∅) → 𝑓:𝑛onto𝐴)
2 foeq2 5350 . . . . . . . . . 10 (𝑛 = ∅ → (𝑓:𝑛onto𝐴𝑓:∅–onto𝐴))
32adantl 275 . . . . . . . . 9 (((𝑓:𝑛onto𝐴𝑛 ∈ ω) ∧ 𝑛 = ∅) → (𝑓:𝑛onto𝐴𝑓:∅–onto𝐴))
41, 3mpbid 146 . . . . . . . 8 (((𝑓:𝑛onto𝐴𝑛 ∈ ω) ∧ 𝑛 = ∅) → 𝑓:∅–onto𝐴)
5 fo00 5411 . . . . . . . 8 (𝑓:∅–onto𝐴 ↔ (𝑓 = ∅ ∧ 𝐴 = ∅))
64, 5sylib 121 . . . . . . 7 (((𝑓:𝑛onto𝐴𝑛 ∈ ω) ∧ 𝑛 = ∅) → (𝑓 = ∅ ∧ 𝐴 = ∅))
7 0ct 7000 . . . . . . . 8 𝑔 𝑔:ω–onto→(∅ ⊔ 1o)
8 djueq1 6933 . . . . . . . . . 10 (𝐴 = ∅ → (𝐴 ⊔ 1o) = (∅ ⊔ 1o))
9 foeq3 5351 . . . . . . . . . 10 ((𝐴 ⊔ 1o) = (∅ ⊔ 1o) → (𝑔:ω–onto→(𝐴 ⊔ 1o) ↔ 𝑔:ω–onto→(∅ ⊔ 1o)))
108, 9syl 14 . . . . . . . . 9 (𝐴 = ∅ → (𝑔:ω–onto→(𝐴 ⊔ 1o) ↔ 𝑔:ω–onto→(∅ ⊔ 1o)))
1110exbidv 1798 . . . . . . . 8 (𝐴 = ∅ → (∃𝑔 𝑔:ω–onto→(𝐴 ⊔ 1o) ↔ ∃𝑔 𝑔:ω–onto→(∅ ⊔ 1o)))
127, 11mpbiri 167 . . . . . . 7 (𝐴 = ∅ → ∃𝑔 𝑔:ω–onto→(𝐴 ⊔ 1o))
136, 12simpl2im 384 . . . . . 6 (((𝑓:𝑛onto𝐴𝑛 ∈ ω) ∧ 𝑛 = ∅) → ∃𝑔 𝑔:ω–onto→(𝐴 ⊔ 1o))
14 omex 4515 . . . . . . . . 9 ω ∈ V
1514mptex 5654 . . . . . . . 8 (𝑘 ∈ ω ↦ if(𝑘𝑛, (𝑓𝑘), (𝑓‘∅))) ∈ V
16 simpll 519 . . . . . . . . 9 (((𝑓:𝑛onto𝐴𝑛 ∈ ω) ∧ ∅ ∈ 𝑛) → 𝑓:𝑛onto𝐴)
17 simplr 520 . . . . . . . . 9 (((𝑓:𝑛onto𝐴𝑛 ∈ ω) ∧ ∅ ∈ 𝑛) → 𝑛 ∈ ω)
18 simpr 109 . . . . . . . . 9 (((𝑓:𝑛onto𝐴𝑛 ∈ ω) ∧ ∅ ∈ 𝑛) → ∅ ∈ 𝑛)
19 eqid 2140 . . . . . . . . 9 (𝑘 ∈ ω ↦ if(𝑘𝑛, (𝑓𝑘), (𝑓‘∅))) = (𝑘 ∈ ω ↦ if(𝑘𝑛, (𝑓𝑘), (𝑓‘∅)))
2016, 17, 18, 19enumctlemm 7007 . . . . . . . 8 (((𝑓:𝑛onto𝐴𝑛 ∈ ω) ∧ ∅ ∈ 𝑛) → (𝑘 ∈ ω ↦ if(𝑘𝑛, (𝑓𝑘), (𝑓‘∅))):ω–onto𝐴)
21 foeq1 5349 . . . . . . . . 9 (𝑔 = (𝑘 ∈ ω ↦ if(𝑘𝑛, (𝑓𝑘), (𝑓‘∅))) → (𝑔:ω–onto𝐴 ↔ (𝑘 ∈ ω ↦ if(𝑘𝑛, (𝑓𝑘), (𝑓‘∅))):ω–onto𝐴))
2221spcegv 2777 . . . . . . . 8 ((𝑘 ∈ ω ↦ if(𝑘𝑛, (𝑓𝑘), (𝑓‘∅))) ∈ V → ((𝑘 ∈ ω ↦ if(𝑘𝑛, (𝑓𝑘), (𝑓‘∅))):ω–onto𝐴 → ∃𝑔 𝑔:ω–onto𝐴))
2315, 20, 22mpsyl 65 . . . . . . 7 (((𝑓:𝑛onto𝐴𝑛 ∈ ω) ∧ ∅ ∈ 𝑛) → ∃𝑔 𝑔:ω–onto𝐴)
24 fof 5353 . . . . . . . . . . 11 (𝑓:𝑛onto𝐴𝑓:𝑛𝐴)
2524ad2antrr 480 . . . . . . . . . 10 (((𝑓:𝑛onto𝐴𝑛 ∈ ω) ∧ ∅ ∈ 𝑛) → 𝑓:𝑛𝐴)
2625, 18ffvelrnd 5564 . . . . . . . . 9 (((𝑓:𝑛onto𝐴𝑛 ∈ ω) ∧ ∅ ∈ 𝑛) → (𝑓‘∅) ∈ 𝐴)
27 eleq1 2203 . . . . . . . . . 10 (𝑥 = (𝑓‘∅) → (𝑥𝐴 ↔ (𝑓‘∅) ∈ 𝐴))
2827spcegv 2777 . . . . . . . . 9 ((𝑓‘∅) ∈ 𝐴 → ((𝑓‘∅) ∈ 𝐴 → ∃𝑥 𝑥𝐴))
2926, 26, 28sylc 62 . . . . . . . 8 (((𝑓:𝑛onto𝐴𝑛 ∈ ω) ∧ ∅ ∈ 𝑛) → ∃𝑥 𝑥𝐴)
30 ctm 7002 . . . . . . . 8 (∃𝑥 𝑥𝐴 → (∃𝑔 𝑔:ω–onto→(𝐴 ⊔ 1o) ↔ ∃𝑔 𝑔:ω–onto𝐴))
3129, 30syl 14 . . . . . . 7 (((𝑓:𝑛onto𝐴𝑛 ∈ ω) ∧ ∅ ∈ 𝑛) → (∃𝑔 𝑔:ω–onto→(𝐴 ⊔ 1o) ↔ ∃𝑔 𝑔:ω–onto𝐴))
3223, 31mpbird 166 . . . . . 6 (((𝑓:𝑛onto𝐴𝑛 ∈ ω) ∧ ∅ ∈ 𝑛) → ∃𝑔 𝑔:ω–onto→(𝐴 ⊔ 1o))
33 0elnn 4540 . . . . . . 7 (𝑛 ∈ ω → (𝑛 = ∅ ∨ ∅ ∈ 𝑛))
3433adantl 275 . . . . . 6 ((𝑓:𝑛onto𝐴𝑛 ∈ ω) → (𝑛 = ∅ ∨ ∅ ∈ 𝑛))
3513, 32, 34mpjaodan 788 . . . . 5 ((𝑓:𝑛onto𝐴𝑛 ∈ ω) → ∃𝑔 𝑔:ω–onto→(𝐴 ⊔ 1o))
3635ex 114 . . . 4 (𝑓:𝑛onto𝐴 → (𝑛 ∈ ω → ∃𝑔 𝑔:ω–onto→(𝐴 ⊔ 1o)))
3736exlimiv 1578 . . 3 (∃𝑓 𝑓:𝑛onto𝐴 → (𝑛 ∈ ω → ∃𝑔 𝑔:ω–onto→(𝐴 ⊔ 1o)))
3837impcom 124 . 2 ((𝑛 ∈ ω ∧ ∃𝑓 𝑓:𝑛onto𝐴) → ∃𝑔 𝑔:ω–onto→(𝐴 ⊔ 1o))
3938rexlimiva 2547 1 (∃𝑛 ∈ ω ∃𝑓 𝑓:𝑛onto𝐴 → ∃𝑔 𝑔:ω–onto→(𝐴 ⊔ 1o))
Colors of variables: wff set class
Syntax hints:  wi 4  wa 103  wb 104  wo 698   = wceq 1332  wex 1469  wcel 1481  wrex 2418  Vcvv 2689  c0 3368  ifcif 3479  cmpt 3997  ωcom 4512  wf 5127  ontowfo 5129  cfv 5131  1oc1o 6314  cdju 6930
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 105  ax-ia2 106  ax-ia3 107  ax-in1 604  ax-in2 605  ax-io 699  ax-5 1424  ax-7 1425  ax-gen 1426  ax-ie1 1470  ax-ie2 1471  ax-8 1483  ax-10 1484  ax-11 1485  ax-i12 1486  ax-bndl 1487  ax-4 1488  ax-13 1492  ax-14 1493  ax-17 1507  ax-i9 1511  ax-ial 1515  ax-i5r 1516  ax-ext 2122  ax-coll 4051  ax-sep 4054  ax-nul 4062  ax-pow 4106  ax-pr 4139  ax-un 4363  ax-setind 4460  ax-iinf 4510
This theorem depends on definitions:  df-bi 116  df-dc 821  df-3or 964  df-3an 965  df-tru 1335  df-fal 1338  df-nf 1438  df-sb 1737  df-eu 2003  df-mo 2004  df-clab 2127  df-cleq 2133  df-clel 2136  df-nfc 2271  df-ne 2310  df-ral 2422  df-rex 2423  df-reu 2424  df-rab 2426  df-v 2691  df-sbc 2914  df-csb 3008  df-dif 3078  df-un 3080  df-in 3082  df-ss 3089  df-nul 3369  df-if 3480  df-pw 3517  df-sn 3538  df-pr 3539  df-op 3541  df-uni 3745  df-int 3780  df-iun 3823  df-br 3938  df-opab 3998  df-mpt 3999  df-tr 4035  df-id 4223  df-iord 4296  df-on 4298  df-suc 4301  df-iom 4513  df-xp 4553  df-rel 4554  df-cnv 4555  df-co 4556  df-dm 4557  df-rn 4558  df-res 4559  df-ima 4560  df-iota 5096  df-fun 5133  df-fn 5134  df-f 5135  df-f1 5136  df-fo 5137  df-f1o 5138  df-fv 5139  df-1st 6046  df-2nd 6047  df-1o 6321  df-dju 6931  df-inl 6940  df-inr 6941  df-case 6977
This theorem is referenced by:  finct  7009
  Copyright terms: Public domain W3C validator