13957
|
1 |
(* Title : CLim.thy
|
|
2 |
Author : Jacques D. Fleuriot
|
|
3 |
Copyright : 2001 University of Edinburgh
|
|
4 |
Description : A first theory of limits, continuity and
|
|
5 |
differentiation for complex functions
|
|
6 |
*)
|
|
7 |
|
|
8 |
CLim = CSeries +
|
|
9 |
|
|
10 |
constdefs
|
|
11 |
|
|
12 |
CLIM :: [complex=>complex,complex,complex] => bool
|
|
13 |
("((_)/ -- (_)/ --C> (_))" [60, 0, 60] 60)
|
|
14 |
"f -- a --C> L ==
|
|
15 |
ALL r. 0 < r -->
|
|
16 |
(EX s. 0 < s & (ALL x. (x ~= a & (cmod(x - a) < s)
|
|
17 |
--> cmod(f x - L) < r)))"
|
|
18 |
|
|
19 |
NSCLIM :: [complex=>complex,complex,complex] => bool
|
|
20 |
("((_)/ -- (_)/ --NSC> (_))" [60, 0, 60] 60)
|
|
21 |
"f -- a --NSC> L == (ALL x. (x ~= hcomplex_of_complex a &
|
|
22 |
x @c= hcomplex_of_complex a
|
|
23 |
--> ( *fc* f) x @c= hcomplex_of_complex L))"
|
|
24 |
|
|
25 |
(* f: C --> R *)
|
|
26 |
CRLIM :: [complex=>real,complex,real] => bool
|
|
27 |
("((_)/ -- (_)/ --CR> (_))" [60, 0, 60] 60)
|
|
28 |
"f -- a --CR> L ==
|
|
29 |
ALL r. 0 < r -->
|
|
30 |
(EX s. 0 < s & (ALL x. (x ~= a & (cmod(x - a) < s)
|
|
31 |
--> abs(f x - L) < r)))"
|
|
32 |
|
|
33 |
NSCRLIM :: [complex=>real,complex,real] => bool
|
|
34 |
("((_)/ -- (_)/ --NSCR> (_))" [60, 0, 60] 60)
|
|
35 |
"f -- a --NSCR> L == (ALL x. (x ~= hcomplex_of_complex a &
|
|
36 |
x @c= hcomplex_of_complex a
|
|
37 |
--> ( *fcR* f) x @= hypreal_of_real L))"
|
|
38 |
|
|
39 |
|
|
40 |
isContc :: [complex=>complex,complex] => bool
|
|
41 |
"isContc f a == (f -- a --C> (f a))"
|
|
42 |
|
|
43 |
(* NS definition dispenses with limit notions *)
|
|
44 |
isNSContc :: [complex=>complex,complex] => bool
|
|
45 |
"isNSContc f a == (ALL y. y @c= hcomplex_of_complex a -->
|
|
46 |
( *fc* f) y @c= hcomplex_of_complex (f a))"
|
|
47 |
|
|
48 |
isContCR :: [complex=>real,complex] => bool
|
|
49 |
"isContCR f a == (f -- a --CR> (f a))"
|
|
50 |
|
|
51 |
(* NS definition dispenses with limit notions *)
|
|
52 |
isNSContCR :: [complex=>real,complex] => bool
|
|
53 |
"isNSContCR f a == (ALL y. y @c= hcomplex_of_complex a -->
|
|
54 |
( *fcR* f) y @= hypreal_of_real (f a))"
|
|
55 |
|
|
56 |
(* differentiation: D is derivative of function f at x *)
|
|
57 |
cderiv:: [complex=>complex,complex,complex] => bool
|
|
58 |
("(CDERIV (_)/ (_)/ :> (_))" [60, 0, 60] 60)
|
|
59 |
"CDERIV f x :> D == ((%h. (f(x + h) - f(x))/h) -- 0 --C> D)"
|
|
60 |
|
|
61 |
nscderiv :: [complex=>complex,complex,complex] => bool
|
|
62 |
("(NSCDERIV (_)/ (_)/ :> (_))" [60, 0, 60] 60)
|
|
63 |
"NSCDERIV f x :> D == (ALL h: CInfinitesimal - {0}.
|
|
64 |
(( *fc* f)(hcomplex_of_complex x + h)
|
|
65 |
- hcomplex_of_complex (f x))/h @c= hcomplex_of_complex D)"
|
|
66 |
|
|
67 |
cdifferentiable :: [complex=>complex,complex] => bool (infixl 60)
|
|
68 |
"f cdifferentiable x == (EX D. CDERIV f x :> D)"
|
|
69 |
|
|
70 |
NSCdifferentiable :: [complex=>complex,complex] => bool (infixl 60)
|
|
71 |
"f NSCdifferentiable x == (EX D. NSCDERIV f x :> D)"
|
|
72 |
|
|
73 |
|
|
74 |
isUContc :: (complex=>complex) => bool
|
|
75 |
"isUContc f == (ALL r. 0 < r -->
|
|
76 |
(EX s. 0 < s & (ALL x y. cmod(x - y) < s
|
|
77 |
--> cmod(f x - f y) < r)))"
|
|
78 |
|
|
79 |
isNSUContc :: (complex=>complex) => bool
|
|
80 |
"isNSUContc f == (ALL x y. x @c= y --> ( *fc* f) x @c= ( *fc* f) y)"
|
|
81 |
|
|
82 |
end
|