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 & |
25 x @= hypreal_of_real a --> |
25 x @= hypreal_of_real a --> |
26 (*f* f) x @= hypreal_of_real L))" |
26 ( *f* f) x @= hypreal_of_real L))" |
27 |
27 |
28 isCont :: [real=>real,real] => bool |
28 isCont :: [real=>real,real] => bool |
29 "isCont f a == (f -- a --> (f a))" |
29 "isCont f a == (f -- a --> (f a))" |
30 |
30 |
31 (* NS definition dispenses with limit notions *) |
31 (* NS definition dispenses with limit notions *) |
32 isNSCont :: [real=>real,real] => bool |
32 isNSCont :: [real=>real,real] => bool |
33 "isNSCont f a == (ALL y. y @= hypreal_of_real a --> |
33 "isNSCont f a == (ALL y. y @= 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) -- 0 --> 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) + |
45 - hypreal_of_real (f x))/h @= hypreal_of_real D)" |
45 - hypreal_of_real (f x))/h @= hypreal_of_real D)" |
46 |
46 |
47 differentiable :: [real=>real,real] => bool (infixl 60) |
47 differentiable :: [real=>real,real] => bool (infixl 60) |
48 "f differentiable x == (EX D. DERIV f x :> D)" |
48 "f differentiable x == (EX D. DERIV f x :> D)" |
49 |
49 |
50 NSdifferentiable :: [real=>real,real] => bool (infixl 60) |
50 NSdifferentiable :: [real=>real,real] => bool (infixl 60) |
51 "f NSdifferentiable x == (EX D. NSDERIV f x :> D)" |
51 "f NSdifferentiable x == (EX D. NSDERIV f x :> D)" |
52 |
52 |
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. 0 < r --> |
58 "isUCont f == (ALL r. 0 < r --> |
59 (EX s. 0 < 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 |
65 |
65 |
66 (*Used in the proof of the Bolzano theorem*) |
66 (*Used in the proof of the Bolzano theorem*) |
67 consts |
67 consts |
68 Bolzano_bisect :: "[real*real=>bool, real, real, nat] => (real*real)" |
68 Bolzano_bisect :: "[real*real=>bool, real, real, nat] => (real*real)" |