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

Theorem enumct 7305
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 527 . . . . . . . . 9 (((𝑓:𝑛onto𝐴𝑛 ∈ ω) ∧ 𝑛 = ∅) → 𝑓:𝑛onto𝐴)
2 foeq2 5553 . . . . . . . . . 10 (𝑛 = ∅ → (𝑓:𝑛onto𝐴𝑓:∅–onto𝐴))
32adantl 277 . . . . . . . . 9 (((𝑓:𝑛onto𝐴𝑛 ∈ ω) ∧ 𝑛 = ∅) → (𝑓:𝑛onto𝐴𝑓:∅–onto𝐴))
41, 3mpbid 147 . . . . . . . 8 (((𝑓:𝑛onto𝐴𝑛 ∈ ω) ∧ 𝑛 = ∅) → 𝑓:∅–onto𝐴)
5 fo00 5617 . . . . . . . 8 (𝑓:∅–onto𝐴 ↔ (𝑓 = ∅ ∧ 𝐴 = ∅))
64, 5sylib 122 . . . . . . 7 (((𝑓:𝑛onto𝐴𝑛 ∈ ω) ∧ 𝑛 = ∅) → (𝑓 = ∅ ∧ 𝐴 = ∅))
7 0ct 7297 . . . . . . . 8 𝑔 𝑔:ω–onto→(∅ ⊔ 1o)
8 djueq1 7230 . . . . . . . . . 10 (𝐴 = ∅ → (𝐴 ⊔ 1o) = (∅ ⊔ 1o))
9 foeq3 5554 . . . . . . . . . 10 ((𝐴 ⊔ 1o) = (∅ ⊔ 1o) → (𝑔:ω–onto→(𝐴 ⊔ 1o) ↔ 𝑔:ω–onto→(∅ ⊔ 1o)))
108, 9syl 14 . . . . . . . . 9 (𝐴 = ∅ → (𝑔:ω–onto→(𝐴 ⊔ 1o) ↔ 𝑔:ω–onto→(∅ ⊔ 1o)))
1110exbidv 1871 . . . . . . . 8 (𝐴 = ∅ → (∃𝑔 𝑔:ω–onto→(𝐴 ⊔ 1o) ↔ ∃𝑔 𝑔:ω–onto→(∅ ⊔ 1o)))
127, 11mpbiri 168 . . . . . . 7 (𝐴 = ∅ → ∃𝑔 𝑔:ω–onto→(𝐴 ⊔ 1o))
136, 12simpl2im 386 . . . . . 6 (((𝑓:𝑛onto𝐴𝑛 ∈ ω) ∧ 𝑛 = ∅) → ∃𝑔 𝑔:ω–onto→(𝐴 ⊔ 1o))
14 omex 4689 . . . . . . . . 9 ω ∈ V
1514mptex 5875 . . . . . . . 8 (𝑘 ∈ ω ↦ if(𝑘𝑛, (𝑓𝑘), (𝑓‘∅))) ∈ V
16 simpll 527 . . . . . . . . 9 (((𝑓:𝑛onto𝐴𝑛 ∈ ω) ∧ ∅ ∈ 𝑛) → 𝑓:𝑛onto𝐴)
17 simplr 528 . . . . . . . . 9 (((𝑓:𝑛onto𝐴𝑛 ∈ ω) ∧ ∅ ∈ 𝑛) → 𝑛 ∈ ω)
18 simpr 110 . . . . . . . . 9 (((𝑓:𝑛onto𝐴𝑛 ∈ ω) ∧ ∅ ∈ 𝑛) → ∅ ∈ 𝑛)
19 eqid 2229 . . . . . . . . 9 (𝑘 ∈ ω ↦ if(𝑘𝑛, (𝑓𝑘), (𝑓‘∅))) = (𝑘 ∈ ω ↦ if(𝑘𝑛, (𝑓𝑘), (𝑓‘∅)))
2016, 17, 18, 19enumctlemm 7304 . . . . . . . 8 (((𝑓:𝑛onto𝐴𝑛 ∈ ω) ∧ ∅ ∈ 𝑛) → (𝑘 ∈ ω ↦ if(𝑘𝑛, (𝑓𝑘), (𝑓‘∅))):ω–onto𝐴)
21 foeq1 5552 . . . . . . . . 9 (𝑔 = (𝑘 ∈ ω ↦ if(𝑘𝑛, (𝑓𝑘), (𝑓‘∅))) → (𝑔:ω–onto𝐴 ↔ (𝑘 ∈ ω ↦ if(𝑘𝑛, (𝑓𝑘), (𝑓‘∅))):ω–onto𝐴))
2221spcegv 2892 . . . . . . . 8 ((𝑘 ∈ ω ↦ if(𝑘𝑛, (𝑓𝑘), (𝑓‘∅))) ∈ V → ((𝑘 ∈ ω ↦ if(𝑘𝑛, (𝑓𝑘), (𝑓‘∅))):ω–onto𝐴 → ∃𝑔 𝑔:ω–onto𝐴))
2315, 20, 22mpsyl 65 . . . . . . 7 (((𝑓:𝑛onto𝐴𝑛 ∈ ω) ∧ ∅ ∈ 𝑛) → ∃𝑔 𝑔:ω–onto𝐴)
24 fof 5556 . . . . . . . . . . 11 (𝑓:𝑛onto𝐴𝑓:𝑛𝐴)
2524ad2antrr 488 . . . . . . . . . 10 (((𝑓:𝑛onto𝐴𝑛 ∈ ω) ∧ ∅ ∈ 𝑛) → 𝑓:𝑛𝐴)
2625, 18ffvelcdmd 5779 . . . . . . . . 9 (((𝑓:𝑛onto𝐴𝑛 ∈ ω) ∧ ∅ ∈ 𝑛) → (𝑓‘∅) ∈ 𝐴)
27 eleq1 2292 . . . . . . . . . 10 (𝑥 = (𝑓‘∅) → (𝑥𝐴 ↔ (𝑓‘∅) ∈ 𝐴))
2827spcegv 2892 . . . . . . . . 9 ((𝑓‘∅) ∈ 𝐴 → ((𝑓‘∅) ∈ 𝐴 → ∃𝑥 𝑥𝐴))
2926, 26, 28sylc 62 . . . . . . . 8 (((𝑓:𝑛onto𝐴𝑛 ∈ ω) ∧ ∅ ∈ 𝑛) → ∃𝑥 𝑥𝐴)
30 ctm 7299 . . . . . . . 8 (∃𝑥 𝑥𝐴 → (∃𝑔 𝑔:ω–onto→(𝐴 ⊔ 1o) ↔ ∃𝑔 𝑔:ω–onto𝐴))
3129, 30syl 14 . . . . . . 7 (((𝑓:𝑛onto𝐴𝑛 ∈ ω) ∧ ∅ ∈ 𝑛) → (∃𝑔 𝑔:ω–onto→(𝐴 ⊔ 1o) ↔ ∃𝑔 𝑔:ω–onto𝐴))
3223, 31mpbird 167 . . . . . 6 (((𝑓:𝑛onto𝐴𝑛 ∈ ω) ∧ ∅ ∈ 𝑛) → ∃𝑔 𝑔:ω–onto→(𝐴 ⊔ 1o))
33 0elnn 4715 . . . . . . 7 (𝑛 ∈ ω → (𝑛 = ∅ ∨ ∅ ∈ 𝑛))
3433adantl 277 . . . . . 6 ((𝑓:𝑛onto𝐴𝑛 ∈ ω) → (𝑛 = ∅ ∨ ∅ ∈ 𝑛))
3513, 32, 34mpjaodan 803 . . . . 5 ((𝑓:𝑛onto𝐴𝑛 ∈ ω) → ∃𝑔 𝑔:ω–onto→(𝐴 ⊔ 1o))
3635ex 115 . . . 4 (𝑓:𝑛onto𝐴 → (𝑛 ∈ ω → ∃𝑔 𝑔:ω–onto→(𝐴 ⊔ 1o)))
3736exlimiv 1644 . . 3 (∃𝑓 𝑓:𝑛onto𝐴 → (𝑛 ∈ ω → ∃𝑔 𝑔:ω–onto→(𝐴 ⊔ 1o)))
3837impcom 125 . 2 ((𝑛 ∈ ω ∧ ∃𝑓 𝑓:𝑛onto𝐴) → ∃𝑔 𝑔:ω–onto→(𝐴 ⊔ 1o))
3938rexlimiva 2643 1 (∃𝑛 ∈ ω ∃𝑓 𝑓:𝑛onto𝐴 → ∃𝑔 𝑔:ω–onto→(𝐴 ⊔ 1o))
Colors of variables: wff set class
Syntax hints:  wi 4  wa 104  wb 105  wo 713   = wceq 1395  wex 1538  wcel 2200  wrex 2509  Vcvv 2800  c0 3492  ifcif 3603  cmpt 4148  ωcom 4686  wf 5320  ontowfo 5322  cfv 5324  1oc1o 6570  cdju 7227
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 106  ax-ia2 107  ax-ia3 108  ax-in1 617  ax-in2 618  ax-io 714  ax-5 1493  ax-7 1494  ax-gen 1495  ax-ie1 1539  ax-ie2 1540  ax-8 1550  ax-10 1551  ax-11 1552  ax-i12 1553  ax-bndl 1555  ax-4 1556  ax-17 1572  ax-i9 1576  ax-ial 1580  ax-i5r 1581  ax-13 2202  ax-14 2203  ax-ext 2211  ax-coll 4202  ax-sep 4205  ax-nul 4213  ax-pow 4262  ax-pr 4297  ax-un 4528  ax-setind 4633  ax-iinf 4684
This theorem depends on definitions:  df-bi 117  df-dc 840  df-3or 1003  df-3an 1004  df-tru 1398  df-fal 1401  df-nf 1507  df-sb 1809  df-eu 2080  df-mo 2081  df-clab 2216  df-cleq 2222  df-clel 2225  df-nfc 2361  df-ne 2401  df-ral 2513  df-rex 2514  df-reu 2515  df-rab 2517  df-v 2802  df-sbc 3030  df-csb 3126  df-dif 3200  df-un 3202  df-in 3204  df-ss 3211  df-nul 3493  df-if 3604  df-pw 3652  df-sn 3673  df-pr 3674  df-op 3676  df-uni 3892  df-int 3927  df-iun 3970  df-br 4087  df-opab 4149  df-mpt 4150  df-tr 4186  df-id 4388  df-iord 4461  df-on 4463  df-suc 4466  df-iom 4687  df-xp 4729  df-rel 4730  df-cnv 4731  df-co 4732  df-dm 4733  df-rn 4734  df-res 4735  df-ima 4736  df-iota 5284  df-fun 5326  df-fn 5327  df-f 5328  df-f1 5329  df-fo 5330  df-f1o 5331  df-fv 5332  df-1st 6298  df-2nd 6299  df-1o 6577  df-dju 7228  df-inl 7237  df-inr 7238  df-case 7274
This theorem is referenced by:  finct  7306
  Copyright terms: Public domain W3C validator