src/HOL/Hyperreal/Lim.thy
changeset 12018 ec054019c910
parent 11704 3c50a2cd6f00
child 13810 c3fbfd472365
equal deleted inserted replaced
12017:78b8f9e13300 12018:ec054019c910
    13 
    13 
    14 constdefs
    14 constdefs
    15   LIM :: [real=>real,real,real] => bool
    15   LIM :: [real=>real,real,real] => bool
    16 				("((_)/ -- (_)/ --> (_))" [60, 0, 60] 60)
    16 				("((_)/ -- (_)/ --> (_))" [60, 0, 60] 60)
    17   "f -- a --> L ==
    17   "f -- a --> L ==
    18      ALL r. Numeral0 < r --> 
    18      ALL r. 0 < r --> 
    19 	     (EX s. Numeral0 < s & (ALL x. (x ~= a & (abs(x + -a) < s)
    19 	     (EX s. 0 < s & (ALL x. (x ~= a & (abs(x + -a) < s)
    20 			  --> abs(f x + -L) < r)))"
    20 			  --> abs(f x + -L) < r)))"
    21 
    21 
    22   NSLIM :: [real=>real,real,real] => bool
    22   NSLIM :: [real=>real,real,real] => bool
    23 			      ("((_)/ -- (_)/ --NS> (_))" [60, 0, 60] 60)
    23 			      ("((_)/ -- (_)/ --NS> (_))" [60, 0, 60] 60)
    24   "f -- a --NS> L == (ALL x. (x ~= hypreal_of_real a & 
    24   "f -- a --NS> L == (ALL x. (x ~= hypreal_of_real a & 
    34 			   (*f* f) y @= hypreal_of_real (f a))"
    34 			   (*f* f) y @= hypreal_of_real (f a))"
    35 
    35 
    36   (* differentiation: D is derivative of function f at x *)
    36   (* differentiation: D is derivative of function f at x *)
    37   deriv:: [real=>real,real,real] => bool
    37   deriv:: [real=>real,real,real] => bool
    38 			    ("(DERIV (_)/ (_)/ :> (_))" [60, 0, 60] 60)
    38 			    ("(DERIV (_)/ (_)/ :> (_))" [60, 0, 60] 60)
    39   "DERIV f x :> D == ((%h. (f(x + h) + -f(x))/h) -- Numeral0 --> D)"
    39   "DERIV f x :> D == ((%h. (f(x + h) + -f(x))/h) -- 0 --> D)"
    40 
    40 
    41   nsderiv :: [real=>real,real,real] => bool
    41   nsderiv :: [real=>real,real,real] => bool
    42 			    ("(NSDERIV (_)/ (_)/ :> (_))" [60, 0, 60] 60)
    42 			    ("(NSDERIV (_)/ (_)/ :> (_))" [60, 0, 60] 60)
    43   "NSDERIV f x :> D == (ALL h: Infinitesimal - {0}. 
    43   "NSDERIV f x :> D == (ALL h: Infinitesimal - {0}. 
    44 			((*f* f)(hypreal_of_real x + h) + 
    44 			((*f* f)(hypreal_of_real x + h) + 
    53   increment :: [real=>real,real,hypreal] => hypreal
    53   increment :: [real=>real,real,hypreal] => hypreal
    54   "increment f x h == (@inc. f NSdifferentiable x & 
    54   "increment f x h == (@inc. f NSdifferentiable x & 
    55 		       inc = (*f* f)(hypreal_of_real x + h) + -hypreal_of_real (f x))"
    55 		       inc = (*f* f)(hypreal_of_real x + h) + -hypreal_of_real (f x))"
    56 
    56 
    57   isUCont :: (real=>real) => bool
    57   isUCont :: (real=>real) => bool
    58   "isUCont f ==  (ALL r. Numeral0 < r --> 
    58   "isUCont f ==  (ALL r. 0 < r --> 
    59 		      (EX s. Numeral0 < s & (ALL x y. abs(x + -y) < s
    59 		      (EX s. 0 < s & (ALL x y. abs(x + -y) < s
    60 			    --> abs(f x + -f y) < r)))"
    60 			    --> abs(f x + -f y) < r)))"
    61 
    61 
    62   isNSUCont :: (real=>real) => bool
    62   isNSUCont :: (real=>real) => bool
    63   "isNSUCont f == (ALL x y. x @= y --> (*f* f) x @= (*f* f) y)"
    63   "isNSUCont f == (ALL x y. x @= y --> (*f* f) x @= (*f* f) y)"
    64 
    64