src/HOL/Real/Hyperreal/SEQ.thy
changeset 10648 a8c647cfa31f
parent 10045 c76b73e16711
equal deleted inserted replaced
10647:a4529a251b6f 10648:a8c647cfa31f
     7 SEQ = NatStar + HyperPow + 
     7 SEQ = NatStar + HyperPow + 
     8 
     8 
     9 constdefs
     9 constdefs
    10 
    10 
    11   (* Standard definition of convergence of sequence *)           
    11   (* Standard definition of convergence of sequence *)           
    12   LIMSEQ :: [nat=>real,real] => bool    ("((_)/ ----> (_))" 60)
    12   LIMSEQ :: [nat=>real,real] => bool    ("((_)/ ----> (_))" [60, 60] 60)
    13   "X ----> L == (ALL r. #0 < r --> (EX no. ALL n. no <= n --> abs (X n + -L) < r))"
    13   "X ----> L == (ALL r. #0 < r --> (EX no. ALL n. no <= n --> abs (X n + -L) < r))"
    14   
    14   
    15   (* Nonstandard definition of convergence of sequence *)
    15   (* Nonstandard definition of convergence of sequence *)
    16   NSLIMSEQ :: [nat=>real,real] => bool    ("((_)/ ----NS> (_))" 60)
    16   NSLIMSEQ :: [nat=>real,real] => bool    ("((_)/ ----NS> (_))" [60, 60] 60)
    17   "X ----NS> L == (ALL N: HNatInfinite. (*fNat* X) N @= hypreal_of_real L)"
    17   "X ----NS> L == (ALL N: HNatInfinite. (*fNat* X) N @= hypreal_of_real L)"
    18 
    18 
    19   (* define value of limit using choice operator*)
    19   (* define value of limit using choice operator*)
    20   lim :: (nat => real) => real
    20   lim :: (nat => real) => real
    21   "lim X == (@L. (X ----> L))"
    21   "lim X == (@L. (X ----> L))"