Metamath Proof Explorer


Theorem rp-isfinite5

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 n e. NN0 . (Contributed by RP, 3-Mar-2020)

Ref Expression
Assertion rp-isfinite5 ( 𝐴 ∈ Fin ↔ ∃ 𝑛 ∈ ℕ0 ( 1 ... 𝑛 ) ≈ 𝐴 )

Proof

Step Hyp Ref Expression
1 hashcl ( 𝐴 ∈ Fin → ( ♯ ‘ 𝐴 ) ∈ ℕ0 )
2 isfinite4 ( 𝐴 ∈ Fin ↔ ( 1 ... ( ♯ ‘ 𝐴 ) ) ≈ 𝐴 )
3 2 biimpi ( 𝐴 ∈ Fin → ( 1 ... ( ♯ ‘ 𝐴 ) ) ≈ 𝐴 )
4 1 3 jca ( 𝐴 ∈ Fin → ( ( ♯ ‘ 𝐴 ) ∈ ℕ0 ∧ ( 1 ... ( ♯ ‘ 𝐴 ) ) ≈ 𝐴 ) )
5 eleq1 ( 𝑛 = ( ♯ ‘ 𝐴 ) → ( 𝑛 ∈ ℕ0 ↔ ( ♯ ‘ 𝐴 ) ∈ ℕ0 ) )
6 oveq2 ( 𝑛 = ( ♯ ‘ 𝐴 ) → ( 1 ... 𝑛 ) = ( 1 ... ( ♯ ‘ 𝐴 ) ) )
7 6 breq1d ( 𝑛 = ( ♯ ‘ 𝐴 ) → ( ( 1 ... 𝑛 ) ≈ 𝐴 ↔ ( 1 ... ( ♯ ‘ 𝐴 ) ) ≈ 𝐴 ) )
8 5 7 anbi12d ( 𝑛 = ( ♯ ‘ 𝐴 ) → ( ( 𝑛 ∈ ℕ0 ∧ ( 1 ... 𝑛 ) ≈ 𝐴 ) ↔ ( ( ♯ ‘ 𝐴 ) ∈ ℕ0 ∧ ( 1 ... ( ♯ ‘ 𝐴 ) ) ≈ 𝐴 ) ) )
9 1 4 8 spcedv ( 𝐴 ∈ Fin → ∃ 𝑛 ( 𝑛 ∈ ℕ0 ∧ ( 1 ... 𝑛 ) ≈ 𝐴 ) )
10 df-rex ( ∃ 𝑛 ∈ ℕ0 ( 1 ... 𝑛 ) ≈ 𝐴 ↔ ∃ 𝑛 ( 𝑛 ∈ ℕ0 ∧ ( 1 ... 𝑛 ) ≈ 𝐴 ) )
11 9 10 sylibr ( 𝐴 ∈ Fin → ∃ 𝑛 ∈ ℕ0 ( 1 ... 𝑛 ) ≈ 𝐴 )
12 hasheni ( ( 1 ... 𝑛 ) ≈ 𝐴 → ( ♯ ‘ ( 1 ... 𝑛 ) ) = ( ♯ ‘ 𝐴 ) )
13 12 eqcomd ( ( 1 ... 𝑛 ) ≈ 𝐴 → ( ♯ ‘ 𝐴 ) = ( ♯ ‘ ( 1 ... 𝑛 ) ) )
14 hashfz1 ( 𝑛 ∈ ℕ0 → ( ♯ ‘ ( 1 ... 𝑛 ) ) = 𝑛 )
15 ovex ( 1 ... ( ♯ ‘ 𝐴 ) ) ∈ V
16 eqtr ( ( ( ♯ ‘ 𝐴 ) = ( ♯ ‘ ( 1 ... 𝑛 ) ) ∧ ( ♯ ‘ ( 1 ... 𝑛 ) ) = 𝑛 ) → ( ♯ ‘ 𝐴 ) = 𝑛 )
17 oveq2 ( ( ♯ ‘ 𝐴 ) = 𝑛 → ( 1 ... ( ♯ ‘ 𝐴 ) ) = ( 1 ... 𝑛 ) )
18 eqeng ( ( 1 ... ( ♯ ‘ 𝐴 ) ) ∈ V → ( ( 1 ... ( ♯ ‘ 𝐴 ) ) = ( 1 ... 𝑛 ) → ( 1 ... ( ♯ ‘ 𝐴 ) ) ≈ ( 1 ... 𝑛 ) ) )
19 17 18 syl5 ( ( 1 ... ( ♯ ‘ 𝐴 ) ) ∈ V → ( ( ♯ ‘ 𝐴 ) = 𝑛 → ( 1 ... ( ♯ ‘ 𝐴 ) ) ≈ ( 1 ... 𝑛 ) ) )
20 15 16 19 mpsyl ( ( ( ♯ ‘ 𝐴 ) = ( ♯ ‘ ( 1 ... 𝑛 ) ) ∧ ( ♯ ‘ ( 1 ... 𝑛 ) ) = 𝑛 ) → ( 1 ... ( ♯ ‘ 𝐴 ) ) ≈ ( 1 ... 𝑛 ) )
21 13 14 20 syl2anr ( ( 𝑛 ∈ ℕ0 ∧ ( 1 ... 𝑛 ) ≈ 𝐴 ) → ( 1 ... ( ♯ ‘ 𝐴 ) ) ≈ ( 1 ... 𝑛 ) )
22 entr ( ( ( 1 ... ( ♯ ‘ 𝐴 ) ) ≈ ( 1 ... 𝑛 ) ∧ ( 1 ... 𝑛 ) ≈ 𝐴 ) → ( 1 ... ( ♯ ‘ 𝐴 ) ) ≈ 𝐴 )
23 21 22 sylancom ( ( 𝑛 ∈ ℕ0 ∧ ( 1 ... 𝑛 ) ≈ 𝐴 ) → ( 1 ... ( ♯ ‘ 𝐴 ) ) ≈ 𝐴 )
24 23 2 sylibr ( ( 𝑛 ∈ ℕ0 ∧ ( 1 ... 𝑛 ) ≈ 𝐴 ) → 𝐴 ∈ Fin )
25 24 rexlimiva ( ∃ 𝑛 ∈ ℕ0 ( 1 ... 𝑛 ) ≈ 𝐴𝐴 ∈ Fin )
26 11 25 impbii ( 𝐴 ∈ Fin ↔ ∃ 𝑛 ∈ ℕ0 ( 1 ... 𝑛 ) ≈ 𝐴 )