Users' Mathboxes Mathbox for Thierry Arnoux < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  f1ocnt Structured version   Visualization version   GIF version

Theorem f1ocnt 32880
Description: Given a countable set 𝐴, number its elements by providing a one-to-one mapping either with or an integer range starting from 1. The domain of the function can then be used with iundisjcnt 32878 or iundisj2cnt 32879. (Contributed by Thierry Arnoux, 25-Jul-2020.)
Assertion
Ref Expression
f1ocnt (𝐴 ≼ ω → ∃𝑓(𝑓:dom 𝑓1-1-onto𝐴 ∧ (dom 𝑓 = ℕ ∨ dom 𝑓 = (1..^((♯‘𝐴) + 1)))))
Distinct variable group:   𝐴,𝑓

Proof of Theorem f1ocnt
Dummy variable 𝑔 is distinct from all other variables.
StepHypRef Expression
1 f1o0 6811 . . . . . . 7 ∅:∅–1-1-onto→∅
2 eqidd 2737 . . . . . . . 8 (𝐴 = ∅ → ∅ = ∅)
3 dm0 5869 . . . . . . . . 9 dom ∅ = ∅
43a1i 11 . . . . . . . 8 (𝐴 = ∅ → dom ∅ = ∅)
5 id 22 . . . . . . . 8 (𝐴 = ∅ → 𝐴 = ∅)
62, 4, 5f1oeq123d 6768 . . . . . . 7 (𝐴 = ∅ → (∅:dom ∅–1-1-onto𝐴 ↔ ∅:∅–1-1-onto→∅))
71, 6mpbiri 258 . . . . . 6 (𝐴 = ∅ → ∅:dom ∅–1-1-onto𝐴)
8 fveq2 6834 . . . . . . . . . . . . 13 (𝐴 = ∅ → (♯‘𝐴) = (♯‘∅))
9 hash0 14290 . . . . . . . . . . . . 13 (♯‘∅) = 0
108, 9eqtrdi 2787 . . . . . . . . . . . 12 (𝐴 = ∅ → (♯‘𝐴) = 0)
1110oveq1d 7373 . . . . . . . . . . 11 (𝐴 = ∅ → ((♯‘𝐴) + 1) = (0 + 1))
12 0p1e1 12262 . . . . . . . . . . 11 (0 + 1) = 1
1311, 12eqtrdi 2787 . . . . . . . . . 10 (𝐴 = ∅ → ((♯‘𝐴) + 1) = 1)
1413oveq2d 7374 . . . . . . . . 9 (𝐴 = ∅ → (1..^((♯‘𝐴) + 1)) = (1..^1))
15 fzo0 13599 . . . . . . . . 9 (1..^1) = ∅
1614, 15eqtrdi 2787 . . . . . . . 8 (𝐴 = ∅ → (1..^((♯‘𝐴) + 1)) = ∅)
174, 16eqtr4d 2774 . . . . . . 7 (𝐴 = ∅ → dom ∅ = (1..^((♯‘𝐴) + 1)))
1817olcd 874 . . . . . 6 (𝐴 = ∅ → (dom ∅ = ℕ ∨ dom ∅ = (1..^((♯‘𝐴) + 1))))
197, 18jca 511 . . . . 5 (𝐴 = ∅ → (∅:dom ∅–1-1-onto𝐴 ∧ (dom ∅ = ℕ ∨ dom ∅ = (1..^((♯‘𝐴) + 1)))))
20 0ex 5252 . . . . . 6 ∅ ∈ V
21 id 22 . . . . . . . 8 (𝑓 = ∅ → 𝑓 = ∅)
22 dmeq 5852 . . . . . . . 8 (𝑓 = ∅ → dom 𝑓 = dom ∅)
23 eqidd 2737 . . . . . . . 8 (𝑓 = ∅ → 𝐴 = 𝐴)
2421, 22, 23f1oeq123d 6768 . . . . . . 7 (𝑓 = ∅ → (𝑓:dom 𝑓1-1-onto𝐴 ↔ ∅:dom ∅–1-1-onto𝐴))
2522eqeq1d 2738 . . . . . . . 8 (𝑓 = ∅ → (dom 𝑓 = ℕ ↔ dom ∅ = ℕ))
2622eqeq1d 2738 . . . . . . . 8 (𝑓 = ∅ → (dom 𝑓 = (1..^((♯‘𝐴) + 1)) ↔ dom ∅ = (1..^((♯‘𝐴) + 1))))
2725, 26orbi12d 918 . . . . . . 7 (𝑓 = ∅ → ((dom 𝑓 = ℕ ∨ dom 𝑓 = (1..^((♯‘𝐴) + 1))) ↔ (dom ∅ = ℕ ∨ dom ∅ = (1..^((♯‘𝐴) + 1)))))
2824, 27anbi12d 632 . . . . . 6 (𝑓 = ∅ → ((𝑓:dom 𝑓1-1-onto𝐴 ∧ (dom 𝑓 = ℕ ∨ dom 𝑓 = (1..^((♯‘𝐴) + 1)))) ↔ (∅:dom ∅–1-1-onto𝐴 ∧ (dom ∅ = ℕ ∨ dom ∅ = (1..^((♯‘𝐴) + 1))))))
2920, 28spcev 3560 . . . . 5 ((∅:dom ∅–1-1-onto𝐴 ∧ (dom ∅ = ℕ ∨ dom ∅ = (1..^((♯‘𝐴) + 1)))) → ∃𝑓(𝑓:dom 𝑓1-1-onto𝐴 ∧ (dom 𝑓 = ℕ ∨ dom 𝑓 = (1..^((♯‘𝐴) + 1)))))
3019, 29syl 17 . . . 4 (𝐴 = ∅ → ∃𝑓(𝑓:dom 𝑓1-1-onto𝐴 ∧ (dom 𝑓 = ℕ ∨ dom 𝑓 = (1..^((♯‘𝐴) + 1)))))
3130adantl 481 . . 3 (((𝐴 ≼ ω ∧ 𝐴 ∈ Fin) ∧ 𝐴 = ∅) → ∃𝑓(𝑓:dom 𝑓1-1-onto𝐴 ∧ (dom 𝑓 = ℕ ∨ dom 𝑓 = (1..^((♯‘𝐴) + 1)))))
32 f1odm 6778 . . . . . . . . . . 11 (𝑓:(1...(♯‘𝐴))–1-1-onto𝐴 → dom 𝑓 = (1...(♯‘𝐴)))
3332f1oeq2d 6770 . . . . . . . . . 10 (𝑓:(1...(♯‘𝐴))–1-1-onto𝐴 → (𝑓:dom 𝑓1-1-onto𝐴𝑓:(1...(♯‘𝐴))–1-1-onto𝐴))
3433ibir 268 . . . . . . . . 9 (𝑓:(1...(♯‘𝐴))–1-1-onto𝐴𝑓:dom 𝑓1-1-onto𝐴)
3534adantl 481 . . . . . . . 8 (((♯‘𝐴) ∈ ℕ ∧ 𝑓:(1...(♯‘𝐴))–1-1-onto𝐴) → 𝑓:dom 𝑓1-1-onto𝐴)
3632adantl 481 . . . . . . . . . 10 (((♯‘𝐴) ∈ ℕ ∧ 𝑓:(1...(♯‘𝐴))–1-1-onto𝐴) → dom 𝑓 = (1...(♯‘𝐴)))
37 simpl 482 . . . . . . . . . . . 12 (((♯‘𝐴) ∈ ℕ ∧ 𝑓:(1...(♯‘𝐴))–1-1-onto𝐴) → (♯‘𝐴) ∈ ℕ)
3837nnzd 12514 . . . . . . . . . . 11 (((♯‘𝐴) ∈ ℕ ∧ 𝑓:(1...(♯‘𝐴))–1-1-onto𝐴) → (♯‘𝐴) ∈ ℤ)
39 fzval3 13650 . . . . . . . . . . 11 ((♯‘𝐴) ∈ ℤ → (1...(♯‘𝐴)) = (1..^((♯‘𝐴) + 1)))
4038, 39syl 17 . . . . . . . . . 10 (((♯‘𝐴) ∈ ℕ ∧ 𝑓:(1...(♯‘𝐴))–1-1-onto𝐴) → (1...(♯‘𝐴)) = (1..^((♯‘𝐴) + 1)))
4136, 40eqtrd 2771 . . . . . . . . 9 (((♯‘𝐴) ∈ ℕ ∧ 𝑓:(1...(♯‘𝐴))–1-1-onto𝐴) → dom 𝑓 = (1..^((♯‘𝐴) + 1)))
4241olcd 874 . . . . . . . 8 (((♯‘𝐴) ∈ ℕ ∧ 𝑓:(1...(♯‘𝐴))–1-1-onto𝐴) → (dom 𝑓 = ℕ ∨ dom 𝑓 = (1..^((♯‘𝐴) + 1))))
4335, 42jca 511 . . . . . . 7 (((♯‘𝐴) ∈ ℕ ∧ 𝑓:(1...(♯‘𝐴))–1-1-onto𝐴) → (𝑓:dom 𝑓1-1-onto𝐴 ∧ (dom 𝑓 = ℕ ∨ dom 𝑓 = (1..^((♯‘𝐴) + 1)))))
4443ex 412 . . . . . 6 ((♯‘𝐴) ∈ ℕ → (𝑓:(1...(♯‘𝐴))–1-1-onto𝐴 → (𝑓:dom 𝑓1-1-onto𝐴 ∧ (dom 𝑓 = ℕ ∨ dom 𝑓 = (1..^((♯‘𝐴) + 1))))))
4544eximdv 1918 . . . . 5 ((♯‘𝐴) ∈ ℕ → (∃𝑓 𝑓:(1...(♯‘𝐴))–1-1-onto𝐴 → ∃𝑓(𝑓:dom 𝑓1-1-onto𝐴 ∧ (dom 𝑓 = ℕ ∨ dom 𝑓 = (1..^((♯‘𝐴) + 1))))))
4645imp 406 . . . 4 (((♯‘𝐴) ∈ ℕ ∧ ∃𝑓 𝑓:(1...(♯‘𝐴))–1-1-onto𝐴) → ∃𝑓(𝑓:dom 𝑓1-1-onto𝐴 ∧ (dom 𝑓 = ℕ ∨ dom 𝑓 = (1..^((♯‘𝐴) + 1)))))
4746adantl 481 . . 3 (((𝐴 ≼ ω ∧ 𝐴 ∈ Fin) ∧ ((♯‘𝐴) ∈ ℕ ∧ ∃𝑓 𝑓:(1...(♯‘𝐴))–1-1-onto𝐴)) → ∃𝑓(𝑓:dom 𝑓1-1-onto𝐴 ∧ (dom 𝑓 = ℕ ∨ dom 𝑓 = (1..^((♯‘𝐴) + 1)))))
48 fz1f1o 15633 . . . 4 (𝐴 ∈ Fin → (𝐴 = ∅ ∨ ((♯‘𝐴) ∈ ℕ ∧ ∃𝑓 𝑓:(1...(♯‘𝐴))–1-1-onto𝐴)))
4948adantl 481 . . 3 ((𝐴 ≼ ω ∧ 𝐴 ∈ Fin) → (𝐴 = ∅ ∨ ((♯‘𝐴) ∈ ℕ ∧ ∃𝑓 𝑓:(1...(♯‘𝐴))–1-1-onto𝐴)))
5031, 47, 49mpjaodan 960 . 2 ((𝐴 ≼ ω ∧ 𝐴 ∈ Fin) → ∃𝑓(𝑓:dom 𝑓1-1-onto𝐴 ∧ (dom 𝑓 = ℕ ∨ dom 𝑓 = (1..^((♯‘𝐴) + 1)))))
51 isfinite 9561 . . . . . . . . . 10 (𝐴 ∈ Fin ↔ 𝐴 ≺ ω)
5251notbii 320 . . . . . . . . 9 𝐴 ∈ Fin ↔ ¬ 𝐴 ≺ ω)
5352biimpi 216 . . . . . . . 8 𝐴 ∈ Fin → ¬ 𝐴 ≺ ω)
5453anim2i 617 . . . . . . 7 ((𝐴 ≼ ω ∧ ¬ 𝐴 ∈ Fin) → (𝐴 ≼ ω ∧ ¬ 𝐴 ≺ ω))
55 bren2 8920 . . . . . . 7 (𝐴 ≈ ω ↔ (𝐴 ≼ ω ∧ ¬ 𝐴 ≺ ω))
5654, 55sylibr 234 . . . . . 6 ((𝐴 ≼ ω ∧ ¬ 𝐴 ∈ Fin) → 𝐴 ≈ ω)
57 nnenom 13903 . . . . . . 7 ℕ ≈ ω
5857ensymi 8941 . . . . . 6 ω ≈ ℕ
59 entr 8943 . . . . . 6 ((𝐴 ≈ ω ∧ ω ≈ ℕ) → 𝐴 ≈ ℕ)
6056, 58, 59sylancl 586 . . . . 5 ((𝐴 ≼ ω ∧ ¬ 𝐴 ∈ Fin) → 𝐴 ≈ ℕ)
61 bren 8893 . . . . 5 (𝐴 ≈ ℕ ↔ ∃𝑔 𝑔:𝐴1-1-onto→ℕ)
6260, 61sylib 218 . . . 4 ((𝐴 ≼ ω ∧ ¬ 𝐴 ∈ Fin) → ∃𝑔 𝑔:𝐴1-1-onto→ℕ)
63 f1oexbi 7870 . . . 4 (∃𝑔 𝑔:𝐴1-1-onto→ℕ ↔ ∃𝑓 𝑓:ℕ–1-1-onto𝐴)
6462, 63sylib 218 . . 3 ((𝐴 ≼ ω ∧ ¬ 𝐴 ∈ Fin) → ∃𝑓 𝑓:ℕ–1-1-onto𝐴)
65 f1odm 6778 . . . . . . 7 (𝑓:ℕ–1-1-onto𝐴 → dom 𝑓 = ℕ)
6665f1oeq2d 6770 . . . . . 6 (𝑓:ℕ–1-1-onto𝐴 → (𝑓:dom 𝑓1-1-onto𝐴𝑓:ℕ–1-1-onto𝐴))
6766ibir 268 . . . . 5 (𝑓:ℕ–1-1-onto𝐴𝑓:dom 𝑓1-1-onto𝐴)
6865orcd 873 . . . . 5 (𝑓:ℕ–1-1-onto𝐴 → (dom 𝑓 = ℕ ∨ dom 𝑓 = (1..^((♯‘𝐴) + 1))))
6967, 68jca 511 . . . 4 (𝑓:ℕ–1-1-onto𝐴 → (𝑓:dom 𝑓1-1-onto𝐴 ∧ (dom 𝑓 = ℕ ∨ dom 𝑓 = (1..^((♯‘𝐴) + 1)))))
7069eximi 1836 . . 3 (∃𝑓 𝑓:ℕ–1-1-onto𝐴 → ∃𝑓(𝑓:dom 𝑓1-1-onto𝐴 ∧ (dom 𝑓 = ℕ ∨ dom 𝑓 = (1..^((♯‘𝐴) + 1)))))
7164, 70syl 17 . 2 ((𝐴 ≼ ω ∧ ¬ 𝐴 ∈ Fin) → ∃𝑓(𝑓:dom 𝑓1-1-onto𝐴 ∧ (dom 𝑓 = ℕ ∨ dom 𝑓 = (1..^((♯‘𝐴) + 1)))))
7250, 71pm2.61dan 812 1 (𝐴 ≼ ω → ∃𝑓(𝑓:dom 𝑓1-1-onto𝐴 ∧ (dom 𝑓 = ℕ ∨ dom 𝑓 = (1..^((♯‘𝐴) + 1)))))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wa 395  wo 847   = wceq 1541  wex 1780  wcel 2113  c0 4285   class class class wbr 5098  dom cdm 5624  1-1-ontowf1o 6491  cfv 6492  (class class class)co 7358  ωcom 7808  cen 8880  cdom 8881  csdm 8882  Fincfn 8883  0cc0 11026  1c1 11027   + caddc 11029  cn 12145  cz 12488  ...cfz 13423  ..^cfzo 13570  chash 14253
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1796  ax-4 1810  ax-5 1911  ax-6 1968  ax-7 2009  ax-8 2115  ax-9 2123  ax-10 2146  ax-11 2162  ax-12 2184  ax-ext 2708  ax-sep 5241  ax-nul 5251  ax-pow 5310  ax-pr 5377  ax-un 7680  ax-inf2 9550  ax-cnex 11082  ax-resscn 11083  ax-1cn 11084  ax-icn 11085  ax-addcl 11086  ax-addrcl 11087  ax-mulcl 11088  ax-mulrcl 11089  ax-mulcom 11090  ax-addass 11091  ax-mulass 11092  ax-distr 11093  ax-i2m1 11094  ax-1ne0 11095  ax-1rid 11096  ax-rnegex 11097  ax-rrecex 11098  ax-cnre 11099  ax-pre-lttri 11100  ax-pre-lttrn 11101  ax-pre-ltadd 11102  ax-pre-mulgt0 11103
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3or 1087  df-3an 1088  df-tru 1544  df-fal 1554  df-ex 1781  df-nf 1785  df-sb 2068  df-mo 2539  df-eu 2569  df-clab 2715  df-cleq 2728  df-clel 2811  df-nfc 2885  df-ne 2933  df-nel 3037  df-ral 3052  df-rex 3061  df-reu 3351  df-rab 3400  df-v 3442  df-sbc 3741  df-csb 3850  df-dif 3904  df-un 3906  df-in 3908  df-ss 3918  df-pss 3921  df-nul 4286  df-if 4480  df-pw 4556  df-sn 4581  df-pr 4583  df-op 4587  df-uni 4864  df-int 4903  df-iun 4948  df-br 5099  df-opab 5161  df-mpt 5180  df-tr 5206  df-id 5519  df-eprel 5524  df-po 5532  df-so 5533  df-fr 5577  df-we 5579  df-xp 5630  df-rel 5631  df-cnv 5632  df-co 5633  df-dm 5634  df-rn 5635  df-res 5636  df-ima 5637  df-pred 6259  df-ord 6320  df-on 6321  df-lim 6322  df-suc 6323  df-iota 6448  df-fun 6494  df-fn 6495  df-f 6496  df-f1 6497  df-fo 6498  df-f1o 6499  df-fv 6500  df-riota 7315  df-ov 7361  df-oprab 7362  df-mpo 7363  df-om 7809  df-1st 7933  df-2nd 7934  df-frecs 8223  df-wrecs 8254  df-recs 8303  df-rdg 8341  df-1o 8397  df-er 8635  df-en 8884  df-dom 8885  df-sdom 8886  df-fin 8887  df-card 9851  df-pnf 11168  df-mnf 11169  df-xr 11170  df-ltxr 11171  df-le 11172  df-sub 11366  df-neg 11367  df-nn 12146  df-n0 12402  df-z 12489  df-uz 12752  df-fz 13424  df-fzo 13571  df-hash 14254
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator