Users' Mathboxes Mathbox for Richard Penner < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  rp-isfinite5 Structured version   Visualization version   GIF version

Theorem rp-isfinite5 36775
Description: A set is said to be finite if it can be put in one-to-one correspondence with all the natural numbers between 1 and some 𝑛 ∈ ℕ0. (Contributed by Richard Penner, 3-Mar-2020.)
Assertion
Ref Expression
rp-isfinite5 (𝐴 ∈ Fin ↔ ∃𝑛 ∈ ℕ0 (1...𝑛) ≈ 𝐴)
Distinct variable group:   𝐴,𝑛

Proof of Theorem rp-isfinite5
StepHypRef Expression
1 fvex 5996 . . . 4 (#‘𝐴) ∈ V
2 hashcl 12871 . . . . 5 (𝐴 ∈ Fin → (#‘𝐴) ∈ ℕ0)
3 isfinite4 12876 . . . . . 6 (𝐴 ∈ Fin ↔ (1...(#‘𝐴)) ≈ 𝐴)
43biimpi 204 . . . . 5 (𝐴 ∈ Fin → (1...(#‘𝐴)) ≈ 𝐴)
52, 4jca 552 . . . 4 (𝐴 ∈ Fin → ((#‘𝐴) ∈ ℕ0 ∧ (1...(#‘𝐴)) ≈ 𝐴))
6 eleq1 2580 . . . . . 6 (𝑛 = (#‘𝐴) → (𝑛 ∈ ℕ0 ↔ (#‘𝐴) ∈ ℕ0))
7 oveq2 6433 . . . . . . 7 (𝑛 = (#‘𝐴) → (1...𝑛) = (1...(#‘𝐴)))
87breq1d 4491 . . . . . 6 (𝑛 = (#‘𝐴) → ((1...𝑛) ≈ 𝐴 ↔ (1...(#‘𝐴)) ≈ 𝐴))
96, 8anbi12d 742 . . . . 5 (𝑛 = (#‘𝐴) → ((𝑛 ∈ ℕ0 ∧ (1...𝑛) ≈ 𝐴) ↔ ((#‘𝐴) ∈ ℕ0 ∧ (1...(#‘𝐴)) ≈ 𝐴)))
109spcegv 3171 . . . 4 ((#‘𝐴) ∈ V → (((#‘𝐴) ∈ ℕ0 ∧ (1...(#‘𝐴)) ≈ 𝐴) → ∃𝑛(𝑛 ∈ ℕ0 ∧ (1...𝑛) ≈ 𝐴)))
111, 5, 10mpsyl 65 . . 3 (𝐴 ∈ Fin → ∃𝑛(𝑛 ∈ ℕ0 ∧ (1...𝑛) ≈ 𝐴))
12 df-rex 2806 . . 3 (∃𝑛 ∈ ℕ0 (1...𝑛) ≈ 𝐴 ↔ ∃𝑛(𝑛 ∈ ℕ0 ∧ (1...𝑛) ≈ 𝐴))
1311, 12sylibr 222 . 2 (𝐴 ∈ Fin → ∃𝑛 ∈ ℕ0 (1...𝑛) ≈ 𝐴)
14 hasheni 12860 . . . . . . 7 ((1...𝑛) ≈ 𝐴 → (#‘(1...𝑛)) = (#‘𝐴))
1514eqcomd 2520 . . . . . 6 ((1...𝑛) ≈ 𝐴 → (#‘𝐴) = (#‘(1...𝑛)))
16 hashfz1 12858 . . . . . 6 (𝑛 ∈ ℕ0 → (#‘(1...𝑛)) = 𝑛)
17 ovex 6453 . . . . . . 7 (1...(#‘𝐴)) ∈ V
18 eqtr 2533 . . . . . . 7 (((#‘𝐴) = (#‘(1...𝑛)) ∧ (#‘(1...𝑛)) = 𝑛) → (#‘𝐴) = 𝑛)
19 oveq2 6433 . . . . . . . 8 ((#‘𝐴) = 𝑛 → (1...(#‘𝐴)) = (1...𝑛))
20 eqeng 7749 . . . . . . . 8 ((1...(#‘𝐴)) ∈ V → ((1...(#‘𝐴)) = (1...𝑛) → (1...(#‘𝐴)) ≈ (1...𝑛)))
2119, 20syl5 33 . . . . . . 7 ((1...(#‘𝐴)) ∈ V → ((#‘𝐴) = 𝑛 → (1...(#‘𝐴)) ≈ (1...𝑛)))
2217, 18, 21mpsyl 65 . . . . . 6 (((#‘𝐴) = (#‘(1...𝑛)) ∧ (#‘(1...𝑛)) = 𝑛) → (1...(#‘𝐴)) ≈ (1...𝑛))
2315, 16, 22syl2anr 493 . . . . 5 ((𝑛 ∈ ℕ0 ∧ (1...𝑛) ≈ 𝐴) → (1...(#‘𝐴)) ≈ (1...𝑛))
24 entr 7768 . . . . 5 (((1...(#‘𝐴)) ≈ (1...𝑛) ∧ (1...𝑛) ≈ 𝐴) → (1...(#‘𝐴)) ≈ 𝐴)
2523, 24sylancom 697 . . . 4 ((𝑛 ∈ ℕ0 ∧ (1...𝑛) ≈ 𝐴) → (1...(#‘𝐴)) ≈ 𝐴)
2625, 3sylibr 222 . . 3 ((𝑛 ∈ ℕ0 ∧ (1...𝑛) ≈ 𝐴) → 𝐴 ∈ Fin)
2726rexlimiva 2914 . 2 (∃𝑛 ∈ ℕ0 (1...𝑛) ≈ 𝐴𝐴 ∈ Fin)
2813, 27impbii 197 1 (𝐴 ∈ Fin ↔ ∃𝑛 ∈ ℕ0 (1...𝑛) ≈ 𝐴)
Colors of variables: wff setvar class
Syntax hints:  wb 194  wa 382   = wceq 1474  wex 1694  wcel 1938  wrex 2801  Vcvv 3077   class class class wbr 4481  cfv 5689  (class class class)co 6425  cen 7712  Fincfn 7715  1c1 9690  0cn0 11045  ...cfz 12062  #chash 12844
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1700  ax-4 1713  ax-5 1793  ax-6 1838  ax-7 1885  ax-8 1940  ax-9 1947  ax-10 1966  ax-11 1971  ax-12 1983  ax-13 2137  ax-ext 2494  ax-sep 4607  ax-nul 4616  ax-pow 4668  ax-pr 4732  ax-un 6721  ax-cnex 9745  ax-resscn 9746  ax-1cn 9747  ax-icn 9748  ax-addcl 9749  ax-addrcl 9750  ax-mulcl 9751  ax-mulrcl 9752  ax-mulcom 9753  ax-addass 9754  ax-mulass 9755  ax-distr 9756  ax-i2m1 9757  ax-1ne0 9758  ax-1rid 9759  ax-rnegex 9760  ax-rrecex 9761  ax-cnre 9762  ax-pre-lttri 9763  ax-pre-lttrn 9764  ax-pre-ltadd 9765  ax-pre-mulgt0 9766
This theorem depends on definitions:  df-bi 195  df-or 383  df-an 384  df-3or 1031  df-3an 1032  df-tru 1477  df-ex 1695  df-nf 1699  df-sb 1831  df-eu 2366  df-mo 2367  df-clab 2501  df-cleq 2507  df-clel 2510  df-nfc 2644  df-ne 2686  df-nel 2687  df-ral 2805  df-rex 2806  df-reu 2807  df-rab 2809  df-v 3079  df-sbc 3307  df-csb 3404  df-dif 3447  df-un 3449  df-in 3451  df-ss 3458  df-pss 3460  df-nul 3778  df-if 3940  df-pw 4013  df-sn 4029  df-pr 4031  df-tp 4033  df-op 4035  df-uni 4271  df-int 4309  df-iun 4355  df-br 4482  df-opab 4542  df-mpt 4543  df-tr 4579  df-eprel 4843  df-id 4847  df-po 4853  df-so 4854  df-fr 4891  df-we 4893  df-xp 4938  df-rel 4939  df-cnv 4940  df-co 4941  df-dm 4942  df-rn 4943  df-res 4944  df-ima 4945  df-pred 5487  df-ord 5533  df-on 5534  df-lim 5535  df-suc 5536  df-iota 5653  df-fun 5691  df-fn 5692  df-f 5693  df-f1 5694  df-fo 5695  df-f1o 5696  df-fv 5697  df-riota 6387  df-ov 6428  df-oprab 6429  df-mpt2 6430  df-om 6832  df-1st 6932  df-2nd 6933  df-wrecs 7167  df-recs 7229  df-rdg 7267  df-1o 7321  df-er 7503  df-en 7716  df-dom 7717  df-sdom 7718  df-fin 7719  df-card 8522  df-pnf 9829  df-mnf 9830  df-xr 9831  df-ltxr 9832  df-le 9833  df-sub 10017  df-neg 10018  df-nn 10774  df-n0 11046  df-z 11117  df-uz 11424  df-fz 12063  df-hash 12845
This theorem is referenced by:  rp-isfinite6  36776
  Copyright terms: Public domain W3C validator