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

Theorem nninfisol 7144
Description: Finite elements of ℕ are isolated. That is, given a natural number and any element of ℕ, it is decidable whether the natural number (when converted to an element of ℕ) is equal to the given element of ℕ. Stated in an online post by Martin Escardo. One way to understand this theorem is that you do not need to look at an unbounded number of elements of the sequence  X to decide whether it is equal to  N (in fact, you only need to look at two elements and  N tells you where to look). (Contributed by BJ and Jim Kingdon, 12-Sep-2024.)
Assertion
Ref Expression
nninfisol  |-  ( ( N  e.  om  /\  X  e. )  -> DECID  ( i  e.  om  |->  if ( i  e.  N ,  1o ,  (/) ) )  =  X )
Distinct variable groups:    i, N    i, X

Proof of Theorem nninfisol
StepHypRef Expression
1 simpllr 534 . . . 4  |-  ( ( ( ( N  e. 
om  /\  X  e. )  /\  ( X `  N )  =  (/) )  /\  N  =  (/) )  ->  X  e. )
2 simplr 528 . . . 4  |-  ( ( ( ( N  e. 
om  /\  X  e. )  /\  ( X `  N )  =  (/) )  /\  N  =  (/) )  ->  ( X `  N )  =  (/) )
3 simplll 533 . . . 4  |-  ( ( ( ( N  e. 
om  /\  X  e. )  /\  ( X `  N )  =  (/) )  /\  N  =  (/) )  ->  N  e.  om )
4 simpr 110 . . . 4  |-  ( ( ( ( N  e. 
om  /\  X  e. )  /\  ( X `  N )  =  (/) )  /\  N  =  (/) )  ->  N  =  (/) )
51, 2, 3, 4nninfisollem0 7141 . . 3  |-  ( ( ( ( N  e. 
om  /\  X  e. )  /\  ( X `  N )  =  (/) )  /\  N  =  (/) )  -> DECID  ( i  e.  om  |->  if ( i  e.  N ,  1o ,  (/) ) )  =  X )
6 simp-4r 542 . . . . 5  |-  ( ( ( ( ( N  e.  om  /\  X  e. )  /\  ( X `  N )  =  (/) )  /\  -.  N  =  (/) )  /\  ( X `  U. N )  =  (/) )  ->  X  e. )
7 simpllr 534 . . . . 5  |-  ( ( ( ( ( N  e.  om  /\  X  e. )  /\  ( X `  N )  =  (/) )  /\  -.  N  =  (/) )  /\  ( X `  U. N )  =  (/) )  ->  ( X `  N )  =  (/) )
8 simp-4l 541 . . . . 5  |-  ( ( ( ( ( N  e.  om  /\  X  e. )  /\  ( X `  N )  =  (/) )  /\  -.  N  =  (/) )  /\  ( X `  U. N )  =  (/) )  ->  N  e.  om )
9 simpr 110 . . . . . . 7  |-  ( ( ( ( N  e. 
om  /\  X  e. )  /\  ( X `  N )  =  (/) )  /\  -.  N  =  (/) )  ->  -.  N  =  (/) )
109neqned 2364 . . . . . 6  |-  ( ( ( ( N  e. 
om  /\  X  e. )  /\  ( X `  N )  =  (/) )  /\  -.  N  =  (/) )  ->  N  =/=  (/) )
1110adantr 276 . . . . 5  |-  ( ( ( ( ( N  e.  om  /\  X  e. )  /\  ( X `  N )  =  (/) )  /\  -.  N  =  (/) )  /\  ( X `  U. N )  =  (/) )  ->  N  =/=  (/) )
12 simpr 110 . . . . 5  |-  ( ( ( ( ( N  e.  om  /\  X  e. )  /\  ( X `  N )  =  (/) )  /\  -.  N  =  (/) )  /\  ( X `  U. N )  =  (/) )  ->  ( X `  U. N )  =  (/) )
136, 7, 8, 11, 12nninfisollemne 7142 . . . 4  |-  ( ( ( ( ( N  e.  om  /\  X  e. )  /\  ( X `  N )  =  (/) )  /\  -.  N  =  (/) )  /\  ( X `  U. N )  =  (/) )  -> DECID  ( i  e.  om  |->  if ( i  e.  N ,  1o ,  (/) ) )  =  X )
14 simp-4r 542 . . . . 5  |-  ( ( ( ( ( N  e.  om  /\  X  e. )  /\  ( X `  N )  =  (/) )  /\  -.  N  =  (/) )  /\  ( X `  U. N )  =  1o )  ->  X  e. )
15 simpllr 534 . . . . 5  |-  ( ( ( ( ( N  e.  om  /\  X  e. )  /\  ( X `  N )  =  (/) )  /\  -.  N  =  (/) )  /\  ( X `  U. N )  =  1o )  -> 
( X `  N
)  =  (/) )
16 simp-4l 541 . . . . 5  |-  ( ( ( ( ( N  e.  om  /\  X  e. )  /\  ( X `  N )  =  (/) )  /\  -.  N  =  (/) )  /\  ( X `  U. N )  =  1o )  ->  N  e.  om )
1710adantr 276 . . . . 5  |-  ( ( ( ( ( N  e.  om  /\  X  e. )  /\  ( X `  N )  =  (/) )  /\  -.  N  =  (/) )  /\  ( X `  U. N )  =  1o )  ->  N  =/=  (/) )
18 simpr 110 . . . . 5  |-  ( ( ( ( ( N  e.  om  /\  X  e. )  /\  ( X `  N )  =  (/) )  /\  -.  N  =  (/) )  /\  ( X `  U. N )  =  1o )  -> 
( X `  U. N )  =  1o )
1914, 15, 16, 17, 18nninfisollemeq 7143 . . . 4  |-  ( ( ( ( ( N  e.  om  /\  X  e. )  /\  ( X `  N )  =  (/) )  /\  -.  N  =  (/) )  /\  ( X `  U. N )  =  1o )  -> DECID  (
i  e.  om  |->  if ( i  e.  N ,  1o ,  (/) ) )  =  X )
20 nninff 7134 . . . . . . . . 9  |-  ( X  e.  ->  X : om --> 2o )
2120adantl 277 . . . . . . . 8  |-  ( ( N  e.  om  /\  X  e. )  ->  X : om
--> 2o )
22 nnpredcl 4634 . . . . . . . . 9  |-  ( N  e.  om  ->  U. N  e.  om )
2322adantr 276 . . . . . . . 8  |-  ( ( N  e.  om  /\  X  e. )  ->  U. N  e. 
om )
2421, 23ffvelcdmd 5665 . . . . . . 7  |-  ( ( N  e.  om  /\  X  e. )  ->  ( X `  U. N )  e.  2o )
25 df2o3 6444 . . . . . . 7  |-  2o  =  { (/) ,  1o }
2624, 25eleqtrdi 2280 . . . . . 6  |-  ( ( N  e.  om  /\  X  e. )  ->  ( X `  U. N )  e. 
{ (/) ,  1o }
)
27 elpri 3627 . . . . . 6  |-  ( ( X `  U. N
)  e.  { (/) ,  1o }  ->  (
( X `  U. N )  =  (/)  \/  ( X `  U. N )  =  1o ) )
2826, 27syl 14 . . . . 5  |-  ( ( N  e.  om  /\  X  e. )  ->  ( ( X `  U. N )  =  (/)  \/  ( X `  U. N )  =  1o ) )
2928ad2antrr 488 . . . 4  |-  ( ( ( ( N  e. 
om  /\  X  e. )  /\  ( X `  N )  =  (/) )  /\  -.  N  =  (/) )  -> 
( ( X `  U. N )  =  (/)  \/  ( X `  U. N )  =  1o ) )
3013, 19, 29mpjaodan 799 . . 3  |-  ( ( ( ( N  e. 
om  /\  X  e. )  /\  ( X `  N )  =  (/) )  /\  -.  N  =  (/) )  -> DECID  (
i  e.  om  |->  if ( i  e.  N ,  1o ,  (/) ) )  =  X )
31 nndceq0 4629 . . . . 5  |-  ( N  e.  om  -> DECID  N  =  (/) )
32 exmiddc 837 . . . . 5  |-  (DECID  N  =  (/)  ->  ( N  =  (/)  \/  -.  N  =  (/) ) )
3331, 32syl 14 . . . 4  |-  ( N  e.  om  ->  ( N  =  (/)  \/  -.  N  =  (/) ) )
3433ad2antrr 488 . . 3  |-  ( ( ( N  e.  om  /\  X  e. )  /\  ( X `
 N )  =  (/) )  ->  ( N  =  (/)  \/  -.  N  =  (/) ) )
355, 30, 34mpjaodan 799 . 2  |-  ( ( ( N  e.  om  /\  X  e. )  /\  ( X `
 N )  =  (/) )  -> DECID  ( i  e.  om  |->  if ( i  e.  N ,  1o ,  (/) ) )  =  X )
36 1n0 6446 . . . . . 6  |-  1o  =/=  (/)
3736neii 2359 . . . . 5  |-  -.  1o  =  (/)
38 simpr 110 . . . . . . . 8  |-  ( ( ( ( N  e. 
om  /\  X  e. )  /\  ( X `  N )  =  1o )  /\  ( i  e.  om  |->  if ( i  e.  N ,  1o ,  (/) ) )  =  X )  -> 
( i  e.  om  |->  if ( i  e.  N ,  1o ,  (/) ) )  =  X )
3938fveq1d 5529 . . . . . . 7  |-  ( ( ( ( N  e. 
om  /\  X  e. )  /\  ( X `  N )  =  1o )  /\  ( i  e.  om  |->  if ( i  e.  N ,  1o ,  (/) ) )  =  X )  -> 
( ( i  e. 
om  |->  if ( i  e.  N ,  1o ,  (/) ) ) `  N )  =  ( X `  N ) )
40 eqid 2187 . . . . . . . . . 10  |-  ( i  e.  om  |->  if ( i  e.  N ,  1o ,  (/) ) )  =  ( i  e. 
om  |->  if ( i  e.  N ,  1o ,  (/) ) )
41 eleq1 2250 . . . . . . . . . . 11  |-  ( i  =  N  ->  (
i  e.  N  <->  N  e.  N ) )
4241ifbid 3567 . . . . . . . . . 10  |-  ( i  =  N  ->  if ( i  e.  N ,  1o ,  (/) )  =  if ( N  e.  N ,  1o ,  (/) ) )
43 id 19 . . . . . . . . . 10  |-  ( N  e.  om  ->  N  e.  om )
44 nnord 4623 . . . . . . . . . . . . 13  |-  ( N  e.  om  ->  Ord  N )
45 ordirr 4553 . . . . . . . . . . . . 13  |-  ( Ord 
N  ->  -.  N  e.  N )
4644, 45syl 14 . . . . . . . . . . . 12  |-  ( N  e.  om  ->  -.  N  e.  N )
4746iffalsed 3556 . . . . . . . . . . 11  |-  ( N  e.  om  ->  if ( N  e.  N ,  1o ,  (/) )  =  (/) )
48 peano1 4605 . . . . . . . . . . 11  |-  (/)  e.  om
4947, 48eqeltrdi 2278 . . . . . . . . . 10  |-  ( N  e.  om  ->  if ( N  e.  N ,  1o ,  (/) )  e. 
om )
5040, 42, 43, 49fvmptd3 5622 . . . . . . . . 9  |-  ( N  e.  om  ->  (
( i  e.  om  |->  if ( i  e.  N ,  1o ,  (/) ) ) `
 N )  =  if ( N  e.  N ,  1o ,  (/) ) )
5150, 47eqtrd 2220 . . . . . . . 8  |-  ( N  e.  om  ->  (
( i  e.  om  |->  if ( i  e.  N ,  1o ,  (/) ) ) `
 N )  =  (/) )
5251ad3antrrr 492 . . . . . . 7  |-  ( ( ( ( N  e. 
om  /\  X  e. )  /\  ( X `  N )  =  1o )  /\  ( i  e.  om  |->  if ( i  e.  N ,  1o ,  (/) ) )  =  X )  -> 
( ( i  e. 
om  |->  if ( i  e.  N ,  1o ,  (/) ) ) `  N )  =  (/) )
53 simplr 528 . . . . . . 7  |-  ( ( ( ( N  e. 
om  /\  X  e. )  /\  ( X `  N )  =  1o )  /\  ( i  e.  om  |->  if ( i  e.  N ,  1o ,  (/) ) )  =  X )  -> 
( X `  N
)  =  1o )
5439, 52, 533eqtr3rd 2229 . . . . . 6  |-  ( ( ( ( N  e. 
om  /\  X  e. )  /\  ( X `  N )  =  1o )  /\  ( i  e.  om  |->  if ( i  e.  N ,  1o ,  (/) ) )  =  X )  ->  1o  =  (/) )
5554ex 115 . . . . 5  |-  ( ( ( N  e.  om  /\  X  e. )  /\  ( X `
 N )  =  1o )  ->  (
( i  e.  om  |->  if ( i  e.  N ,  1o ,  (/) ) )  =  X  ->  1o  =  (/) ) )
5637, 55mtoi 665 . . . 4  |-  ( ( ( N  e.  om  /\  X  e. )  /\  ( X `
 N )  =  1o )  ->  -.  ( i  e.  om  |->  if ( i  e.  N ,  1o ,  (/) ) )  =  X )
5756olcd 735 . . 3  |-  ( ( ( N  e.  om  /\  X  e. )  /\  ( X `
 N )  =  1o )  ->  (
( i  e.  om  |->  if ( i  e.  N ,  1o ,  (/) ) )  =  X  \/  -.  ( i  e.  om  |->  if ( i  e.  N ,  1o ,  (/) ) )  =  X ) )
58 df-dc 836 . . 3  |-  (DECID  ( i  e.  om  |->  if ( i  e.  N ,  1o ,  (/) ) )  =  X  <->  ( (
i  e.  om  |->  if ( i  e.  N ,  1o ,  (/) ) )  =  X  \/  -.  ( i  e.  om  |->  if ( i  e.  N ,  1o ,  (/) ) )  =  X ) )
5957, 58sylibr 134 . 2  |-  ( ( ( N  e.  om  /\  X  e. )  /\  ( X `
 N )  =  1o )  -> DECID  ( i  e.  om  |->  if ( i  e.  N ,  1o ,  (/) ) )  =  X )
60 simpl 109 . . . . 5  |-  ( ( N  e.  om  /\  X  e. )  ->  N  e.  om )
6121, 60ffvelcdmd 5665 . . . 4  |-  ( ( N  e.  om  /\  X  e. )  ->  ( X `  N )  e.  2o )
6261, 25eleqtrdi 2280 . . 3  |-  ( ( N  e.  om  /\  X  e. )  ->  ( X `  N )  e.  { (/)
,  1o } )
63 elpri 3627 . . 3  |-  ( ( X `  N )  e.  { (/) ,  1o }  ->  ( ( X `
 N )  =  (/)  \/  ( X `  N )  =  1o ) )
6462, 63syl 14 . 2  |-  ( ( N  e.  om  /\  X  e. )  ->  ( ( X `  N )  =  (/)  \/  ( X `
 N )  =  1o ) )
6535, 59, 64mpjaodan 799 1  |-  ( ( N  e.  om  /\  X  e. )  -> DECID  ( i  e.  om  |->  if ( i  e.  N ,  1o ,  (/) ) )  =  X )
Colors of variables: wff set class
Syntax hints:   -. wn 3    -> wi 4    /\ wa 104    \/ wo 709  DECID wdc 835    = wceq 1363    e. wcel 2158    =/= wne 2357   (/)c0 3434   ifcif 3546   {cpr 3605   U.cuni 3821    |-> cmpt 4076   Ord word 4374   omcom 4601   -->wf 5224   ` cfv 5228   1oc1o 6423   2oc2o 6424  ℕxnninf 7131
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 615  ax-in2 616  ax-io 710  ax-5 1457  ax-7 1458  ax-gen 1459  ax-ie1 1503  ax-ie2 1504  ax-8 1514  ax-10 1515  ax-11 1516  ax-i12 1517  ax-bndl 1519  ax-4 1520  ax-17 1536  ax-i9 1540  ax-ial 1544  ax-i5r 1545  ax-13 2160  ax-14 2161  ax-ext 2169  ax-sep 4133  ax-nul 4141  ax-pow 4186  ax-pr 4221  ax-un 4445  ax-setind 4548  ax-iinf 4599
This theorem depends on definitions:  df-bi 117  df-dc 836  df-3or 980  df-3an 981  df-tru 1366  df-fal 1369  df-nf 1471  df-sb 1773  df-eu 2039  df-mo 2040  df-clab 2174  df-cleq 2180  df-clel 2183  df-nfc 2318  df-ne 2358  df-ral 2470  df-rex 2471  df-rab 2474  df-v 2751  df-sbc 2975  df-csb 3070  df-dif 3143  df-un 3145  df-in 3147  df-ss 3154  df-nul 3435  df-if 3547  df-pw 3589  df-sn 3610  df-pr 3611  df-op 3613  df-uni 3822  df-int 3857  df-br 4016  df-opab 4077  df-mpt 4078  df-tr 4114  df-id 4305  df-iord 4378  df-on 4380  df-suc 4383  df-iom 4602  df-xp 4644  df-rel 4645  df-cnv 4646  df-co 4647  df-dm 4648  df-rn 4649  df-iota 5190  df-fun 5230  df-fn 5231  df-f 5232  df-fv 5236  df-ov 5891  df-oprab 5892  df-mpo 5893  df-1o 6430  df-2o 6431  df-map 6663  df-nninf 7132
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator