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

Theorem rp-isfinite6 36208
Description: A set is said to be finite if it is either empty or it can be put in one-to-one correspondence with all the natural numbers between 1 and some  n  e.  NN. (Contributed by Richard Penner, 10-Mar-2020.)
Assertion
Ref Expression
rp-isfinite6  |-  ( A  e.  Fin  <->  ( A  =  (/)  \/  E. n  e.  NN  ( 1 ... n )  ~~  A
) )
Distinct variable group:    A, n

Proof of Theorem rp-isfinite6
StepHypRef Expression
1 exmid 421 . . . 4  |-  ( A  =  (/)  \/  -.  A  =  (/) )
21biantrur 513 . . 3  |-  ( A  e.  Fin  <->  ( ( A  =  (/)  \/  -.  A  =  (/) )  /\  A  e.  Fin )
)
3 andir 884 . . 3  |-  ( ( ( A  =  (/)  \/ 
-.  A  =  (/) )  /\  A  e.  Fin ) 
<->  ( ( A  =  (/)  /\  A  e.  Fin )  \/  ( -.  A  =  (/)  /\  A  e.  Fin ) ) )
42, 3bitri 257 . 2  |-  ( A  e.  Fin  <->  ( ( A  =  (/)  /\  A  e.  Fin )  \/  ( -.  A  =  (/)  /\  A  e.  Fin ) ) )
5 simpl 463 . . . 4  |-  ( ( A  =  (/)  /\  A  e.  Fin )  ->  A  =  (/) )
6 0fin 7825 . . . . . 6  |-  (/)  e.  Fin
7 eleq1a 2535 . . . . . 6  |-  ( (/)  e.  Fin  ->  ( A  =  (/)  ->  A  e.  Fin ) )
86, 7ax-mp 5 . . . . 5  |-  ( A  =  (/)  ->  A  e. 
Fin )
98ancli 558 . . . 4  |-  ( A  =  (/)  ->  ( A  =  (/)  /\  A  e. 
Fin ) )
105, 9impbii 192 . . 3  |-  ( ( A  =  (/)  /\  A  e.  Fin )  <->  A  =  (/) )
11 rp-isfinite5 36207 . . . . . 6  |-  ( A  e.  Fin  <->  E. n  e.  NN0  ( 1 ... n )  ~~  A
)
12 df-rex 2755 . . . . . 6  |-  ( E. n  e.  NN0  (
1 ... n )  ~~  A 
<->  E. n ( n  e.  NN0  /\  (
1 ... n )  ~~  A ) )
1311, 12bitri 257 . . . . 5  |-  ( A  e.  Fin  <->  E. n
( n  e.  NN0  /\  ( 1 ... n
)  ~~  A )
)
1413anbi2i 705 . . . 4  |-  ( ( -.  A  =  (/)  /\  A  e.  Fin )  <->  ( -.  A  =  (/)  /\ 
E. n ( n  e.  NN0  /\  (
1 ... n )  ~~  A ) ) )
15 df-rex 2755 . . . . 5  |-  ( E. n  e.  NN  (
1 ... n )  ~~  A 
<->  E. n ( n  e.  NN  /\  (
1 ... n )  ~~  A ) )
16 en0 7658 . . . . . . . . . . . . . . 15  |-  ( A 
~~  (/)  <->  A  =  (/) )
1716bicomi 207 . . . . . . . . . . . . . 14  |-  ( A  =  (/)  <->  A  ~~  (/) )
18 ensymb 7643 . . . . . . . . . . . . . 14  |-  ( A 
~~  (/)  <->  (/)  ~~  A )
1917, 18bitri 257 . . . . . . . . . . . . 13  |-  ( A  =  (/)  <->  (/)  ~~  A )
2019notbii 302 . . . . . . . . . . . 12  |-  ( -.  A  =  (/)  <->  -.  (/)  ~~  A
)
21 elnn0 10900 . . . . . . . . . . . . . 14  |-  ( n  e.  NN0  <->  ( n  e.  NN  \/  n  =  0 ) )
2221anbi1i 706 . . . . . . . . . . . . 13  |-  ( ( n  e.  NN0  /\  ( 1 ... n
)  ~~  A )  <->  ( ( n  e.  NN  \/  n  =  0
)  /\  ( 1 ... n )  ~~  A ) )
23 andir 884 . . . . . . . . . . . . 13  |-  ( ( ( n  e.  NN  \/  n  =  0
)  /\  ( 1 ... n )  ~~  A )  <->  ( (
n  e.  NN  /\  ( 1 ... n
)  ~~  A )  \/  ( n  =  0  /\  ( 1 ... n )  ~~  A
) ) )
2422, 23bitri 257 . . . . . . . . . . . 12  |-  ( ( n  e.  NN0  /\  ( 1 ... n
)  ~~  A )  <->  ( ( n  e.  NN  /\  ( 1 ... n
)  ~~  A )  \/  ( n  =  0  /\  ( 1 ... n )  ~~  A
) ) )
2520, 24anbi12i 708 . . . . . . . . . . 11  |-  ( ( -.  A  =  (/)  /\  ( n  e.  NN0  /\  ( 1 ... n
)  ~~  A )
)  <->  ( -.  (/)  ~~  A  /\  ( ( n  e.  NN  /\  ( 1 ... n )  ~~  A )  \/  (
n  =  0  /\  ( 1 ... n
)  ~~  A )
) ) )
26 andi 883 . . . . . . . . . . 11  |-  ( ( -.  (/)  ~~  A  /\  ( ( n  e.  NN  /\  ( 1 ... n )  ~~  A )  \/  (
n  =  0  /\  ( 1 ... n
)  ~~  A )
) )  <->  ( ( -.  (/)  ~~  A  /\  ( n  e.  NN  /\  ( 1 ... n
)  ~~  A )
)  \/  ( -.  (/)  ~~  A  /\  (
n  =  0  /\  ( 1 ... n
)  ~~  A )
) ) )
2725, 26bitri 257 . . . . . . . . . 10  |-  ( ( -.  A  =  (/)  /\  ( n  e.  NN0  /\  ( 1 ... n
)  ~~  A )
)  <->  ( ( -.  (/)  ~~  A  /\  (
n  e.  NN  /\  ( 1 ... n
)  ~~  A )
)  \/  ( -.  (/)  ~~  A  /\  (
n  =  0  /\  ( 1 ... n
)  ~~  A )
) ) )
28 3anass 995 . . . . . . . . . . . 12  |-  ( ( -.  (/)  ~~  A  /\  n  e.  NN  /\  (
1 ... n )  ~~  A )  <->  ( -.  (/)  ~~  A  /\  (
n  e.  NN  /\  ( 1 ... n
)  ~~  A )
) )
29 3anass 995 . . . . . . . . . . . 12  |-  ( ( -.  (/)  ~~  A  /\  n  =  0  /\  ( 1 ... n
)  ~~  A )  <->  ( -.  (/)  ~~  A  /\  ( n  =  0  /\  ( 1 ... n
)  ~~  A )
) )
3028, 29orbi12i 528 . . . . . . . . . . 11  |-  ( ( ( -.  (/)  ~~  A  /\  n  e.  NN  /\  ( 1 ... n
)  ~~  A )  \/  ( -.  (/)  ~~  A  /\  n  =  0  /\  ( 1 ... n
)  ~~  A )
)  <->  ( ( -.  (/)  ~~  A  /\  (
n  e.  NN  /\  ( 1 ... n
)  ~~  A )
)  \/  ( -.  (/)  ~~  A  /\  (
n  =  0  /\  ( 1 ... n
)  ~~  A )
) ) )
3130bicomi 207 . . . . . . . . . 10  |-  ( ( ( -.  (/)  ~~  A  /\  ( n  e.  NN  /\  ( 1 ... n
)  ~~  A )
)  \/  ( -.  (/)  ~~  A  /\  (
n  =  0  /\  ( 1 ... n
)  ~~  A )
) )  <->  ( ( -.  (/)  ~~  A  /\  n  e.  NN  /\  (
1 ... n )  ~~  A )  \/  ( -.  (/)  ~~  A  /\  n  =  0  /\  ( 1 ... n
)  ~~  A )
) )
3227, 31sylbb 202 . . . . . . . . 9  |-  ( ( -.  A  =  (/)  /\  ( n  e.  NN0  /\  ( 1 ... n
)  ~~  A )
)  ->  ( ( -.  (/)  ~~  A  /\  n  e.  NN  /\  (
1 ... n )  ~~  A )  \/  ( -.  (/)  ~~  A  /\  n  =  0  /\  ( 1 ... n
)  ~~  A )
) )
33 simp2 1015 . . . . . . . . . 10  |-  ( ( -.  (/)  ~~  A  /\  n  e.  NN  /\  (
1 ... n )  ~~  A )  ->  n  e.  NN )
34 oveq2 6323 . . . . . . . . . . . 12  |-  ( n  =  0  ->  (
1 ... n )  =  ( 1 ... 0
) )
35 fz10 11849 . . . . . . . . . . . 12  |-  ( 1 ... 0 )  =  (/)
3634, 35syl6eq 2512 . . . . . . . . . . 11  |-  ( n  =  0  ->  (
1 ... n )  =  (/) )
37 simp2 1015 . . . . . . . . . . . . 13  |-  ( ( -.  (/)  ~~  A  /\  ( 1 ... n
)  =  (/)  /\  (
1 ... n )  ~~  A )  ->  (
1 ... n )  =  (/) )
38 simp3 1016 . . . . . . . . . . . . 13  |-  ( ( -.  (/)  ~~  A  /\  ( 1 ... n
)  =  (/)  /\  (
1 ... n )  ~~  A )  ->  (
1 ... n )  ~~  A )
3937, 38eqbrtrrd 4439 . . . . . . . . . . . 12  |-  ( ( -.  (/)  ~~  A  /\  ( 1 ... n
)  =  (/)  /\  (
1 ... n )  ~~  A )  ->  (/)  ~~  A
)
40 simp1 1014 . . . . . . . . . . . 12  |-  ( ( -.  (/)  ~~  A  /\  ( 1 ... n
)  =  (/)  /\  (
1 ... n )  ~~  A )  ->  -.  (/)  ~~  A )
4139, 40pm2.21dd 179 . . . . . . . . . . 11  |-  ( ( -.  (/)  ~~  A  /\  ( 1 ... n
)  =  (/)  /\  (
1 ... n )  ~~  A )  ->  n  e.  NN )
4236, 41syl3an2 1310 . . . . . . . . . 10  |-  ( ( -.  (/)  ~~  A  /\  n  =  0  /\  ( 1 ... n
)  ~~  A )  ->  n  e.  NN )
4333, 42jaoi 385 . . . . . . . . 9  |-  ( ( ( -.  (/)  ~~  A  /\  n  e.  NN  /\  ( 1 ... n
)  ~~  A )  \/  ( -.  (/)  ~~  A  /\  n  =  0  /\  ( 1 ... n
)  ~~  A )
)  ->  n  e.  NN )
4432, 43syl 17 . . . . . . . 8  |-  ( ( -.  A  =  (/)  /\  ( n  e.  NN0  /\  ( 1 ... n
)  ~~  A )
)  ->  n  e.  NN )
45 simprr 771 . . . . . . . 8  |-  ( ( -.  A  =  (/)  /\  ( n  e.  NN0  /\  ( 1 ... n
)  ~~  A )
)  ->  ( 1 ... n )  ~~  A )
4644, 45jca 539 . . . . . . 7  |-  ( ( -.  A  =  (/)  /\  ( n  e.  NN0  /\  ( 1 ... n
)  ~~  A )
)  ->  ( n  e.  NN  /\  ( 1 ... n )  ~~  A ) )
47 nngt0 10666 . . . . . . . . . . . 12  |-  ( n  e.  NN  ->  0  <  n )
48 hash0 12580 . . . . . . . . . . . . 13  |-  ( # `  (/) )  =  0
4948a1i 11 . . . . . . . . . . . 12  |-  ( n  e.  NN  ->  ( # `
 (/) )  =  0 )
50 nnnn0 10905 . . . . . . . . . . . . 13  |-  ( n  e.  NN  ->  n  e.  NN0 )
51 hashfz1 12561 . . . . . . . . . . . . 13  |-  ( n  e.  NN0  ->  ( # `  ( 1 ... n
) )  =  n )
5250, 51syl 17 . . . . . . . . . . . 12  |-  ( n  e.  NN  ->  ( # `
 ( 1 ... n ) )  =  n )
5347, 49, 523brtr4d 4447 . . . . . . . . . . 11  |-  ( n  e.  NN  ->  ( # `
 (/) )  <  ( # `
 ( 1 ... n ) ) )
54 fzfi 12217 . . . . . . . . . . . 12  |-  ( 1 ... n )  e. 
Fin
55 hashsdom 12592 . . . . . . . . . . . 12  |-  ( (
(/)  e.  Fin  /\  (
1 ... n )  e. 
Fin )  ->  (
( # `  (/) )  < 
( # `  ( 1 ... n ) )  <->  (/) 
~<  ( 1 ... n
) ) )
566, 54, 55mp2an 683 . . . . . . . . . . 11  |-  ( (
# `  (/) )  < 
( # `  ( 1 ... n ) )  <->  (/) 
~<  ( 1 ... n
) )
5753, 56sylib 201 . . . . . . . . . 10  |-  ( n  e.  NN  ->  (/)  ~<  (
1 ... n ) )
5857anim1i 576 . . . . . . . . 9  |-  ( ( n  e.  NN  /\  ( 1 ... n
)  ~~  A )  ->  ( (/)  ~<  ( 1 ... n )  /\  ( 1 ... n
)  ~~  A )
)
59 sdomentr 7732 . . . . . . . . . . 11  |-  ( (
(/)  ~<  ( 1 ... n )  /\  (
1 ... n )  ~~  A )  ->  (/)  ~<  A )
60 sdomnen 7624 . . . . . . . . . . 11  |-  ( (/)  ~<  A  ->  -.  (/)  ~~  A
)
6159, 60syl 17 . . . . . . . . . 10  |-  ( (
(/)  ~<  ( 1 ... n )  /\  (
1 ... n )  ~~  A )  ->  -.  (/)  ~~  A )
62 ensymb 7643 . . . . . . . . . . . 12  |-  ( (/)  ~~  A  <->  A  ~~  (/) )
6362, 16bitri 257 . . . . . . . . . . 11  |-  ( (/)  ~~  A  <->  A  =  (/) )
6463notbii 302 . . . . . . . . . 10  |-  ( -.  (/)  ~~  A  <->  -.  A  =  (/) )
6561, 64sylib 201 . . . . . . . . 9  |-  ( (
(/)  ~<  ( 1 ... n )  /\  (
1 ... n )  ~~  A )  ->  -.  A  =  (/) )
6658, 65syl 17 . . . . . . . 8  |-  ( ( n  e.  NN  /\  ( 1 ... n
)  ~~  A )  ->  -.  A  =  (/) )
6750anim1i 576 . . . . . . . 8  |-  ( ( n  e.  NN  /\  ( 1 ... n
)  ~~  A )  ->  ( n  e.  NN0  /\  ( 1 ... n
)  ~~  A )
)
6866, 67jca 539 . . . . . . 7  |-  ( ( n  e.  NN  /\  ( 1 ... n
)  ~~  A )  ->  ( -.  A  =  (/)  /\  ( n  e. 
NN0  /\  ( 1 ... n )  ~~  A ) ) )
6946, 68impbii 192 . . . . . 6  |-  ( ( -.  A  =  (/)  /\  ( n  e.  NN0  /\  ( 1 ... n
)  ~~  A )
)  <->  ( n  e.  NN  /\  ( 1 ... n )  ~~  A ) )
7069exbii 1729 . . . . 5  |-  ( E. n ( -.  A  =  (/)  /\  ( n  e.  NN0  /\  (
1 ... n )  ~~  A ) )  <->  E. n
( n  e.  NN  /\  ( 1 ... n
)  ~~  A )
)
71 19.42v 1845 . . . . 5  |-  ( E. n ( -.  A  =  (/)  /\  ( n  e.  NN0  /\  (
1 ... n )  ~~  A ) )  <->  ( -.  A  =  (/)  /\  E. n ( n  e. 
NN0  /\  ( 1 ... n )  ~~  A ) ) )
7215, 70, 713bitr2ri 282 . . . 4  |-  ( ( -.  A  =  (/)  /\ 
E. n ( n  e.  NN0  /\  (
1 ... n )  ~~  A ) )  <->  E. n  e.  NN  ( 1 ... n )  ~~  A
)
7314, 72bitri 257 . . 3  |-  ( ( -.  A  =  (/)  /\  A  e.  Fin )  <->  E. n  e.  NN  (
1 ... n )  ~~  A )
7410, 73orbi12i 528 . 2  |-  ( ( ( A  =  (/)  /\  A  e.  Fin )  \/  ( -.  A  =  (/)  /\  A  e.  Fin ) )  <->  ( A  =  (/)  \/  E. n  e.  NN  ( 1 ... n )  ~~  A
) )
754, 74bitri 257 1  |-  ( A  e.  Fin  <->  ( A  =  (/)  \/  E. n  e.  NN  ( 1 ... n )  ~~  A
) )
Colors of variables: wff setvar class
Syntax hints:   -. wn 3    -> wi 4    <-> wb 189    \/ wo 374    /\ wa 375    /\ w3a 991    = wceq 1455   E.wex 1674    e. wcel 1898   E.wrex 2750   (/)c0 3743   class class class wbr 4416   ` cfv 5601  (class class class)co 6315    ~~ cen 7592    ~< csdm 7594   Fincfn 7595   0cc0 9565   1c1 9566    < clt 9701   NNcn 10637   NN0cn0 10898   ...cfz 11813   #chash 12547
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1680  ax-4 1693  ax-5 1769  ax-6 1816  ax-7 1862  ax-8 1900  ax-9 1907  ax-10 1926  ax-11 1931  ax-12 1944  ax-13 2102  ax-ext 2442  ax-sep 4539  ax-nul 4548  ax-pow 4595  ax-pr 4653  ax-un 6610  ax-cnex 9621  ax-resscn 9622  ax-1cn 9623  ax-icn 9624  ax-addcl 9625  ax-addrcl 9626  ax-mulcl 9627  ax-mulrcl 9628  ax-mulcom 9629  ax-addass 9630  ax-mulass 9631  ax-distr 9632  ax-i2m1 9633  ax-1ne0 9634  ax-1rid 9635  ax-rnegex 9636  ax-rrecex 9637  ax-cnre 9638  ax-pre-lttri 9639  ax-pre-lttrn 9640  ax-pre-ltadd 9641  ax-pre-mulgt0 9642
This theorem depends on definitions:  df-bi 190  df-or 376  df-an 377  df-3or 992  df-3an 993  df-tru 1458  df-ex 1675  df-nf 1679  df-sb 1809  df-eu 2314  df-mo 2315  df-clab 2449  df-cleq 2455  df-clel 2458  df-nfc 2592  df-ne 2635  df-nel 2636  df-ral 2754  df-rex 2755  df-reu 2756  df-rab 2758  df-v 3059  df-sbc 3280  df-csb 3376  df-dif 3419  df-un 3421  df-in 3423  df-ss 3430  df-pss 3432  df-nul 3744  df-if 3894  df-pw 3965  df-sn 3981  df-pr 3983  df-tp 3985  df-op 3987  df-uni 4213  df-int 4249  df-iun 4294  df-br 4417  df-opab 4476  df-mpt 4477  df-tr 4512  df-eprel 4764  df-id 4768  df-po 4774  df-so 4775  df-fr 4812  df-we 4814  df-xp 4859  df-rel 4860  df-cnv 4861  df-co 4862  df-dm 4863  df-rn 4864  df-res 4865  df-ima 4866  df-pred 5399  df-ord 5445  df-on 5446  df-lim 5447  df-suc 5448  df-iota 5565  df-fun 5603  df-fn 5604  df-f 5605  df-f1 5606  df-fo 5607  df-f1o 5608  df-fv 5609  df-riota 6277  df-ov 6318  df-oprab 6319  df-mpt2 6320  df-om 6720  df-1st 6820  df-2nd 6821  df-wrecs 7054  df-recs 7116  df-rdg 7154  df-1o 7208  df-oadd 7212  df-er 7389  df-en 7596  df-dom 7597  df-sdom 7598  df-fin 7599  df-card 8399  df-pnf 9703  df-mnf 9704  df-xr 9705  df-ltxr 9706  df-le 9707  df-sub 9888  df-neg 9889  df-nn 10638  df-n0 10899  df-z 10967  df-uz 11189  df-fz 11814  df-hash 12548
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator