src/HOL/Complex/CLim.thy
changeset 21404 eb85850d3eb7
parent 20752 09cf0e407a45
child 21792 266a1056a2a3
equal deleted inserted replaced
21403:dd58f13a8eb4 21404:eb85850d3eb7
    32 apply auto
    32 apply auto
    33 apply (drule sym [THEN diff_eq_eq [THEN iffD2]], auto)
    33 apply (drule sym [THEN diff_eq_eq [THEN iffD2]], auto)
    34 done
    34 done
    35 
    35 
    36 abbreviation
    36 abbreviation
    37 
       
    38   CLIM :: "[complex=>complex,complex,complex] => bool"
    37   CLIM :: "[complex=>complex,complex,complex] => bool"
    39 				("((_)/ -- (_)/ --C> (_))" [60, 0, 60] 60)
    38 				("((_)/ -- (_)/ --C> (_))" [60, 0, 60] 60) where
    40   "CLIM == LIM"
    39   "CLIM == LIM"
    41 
    40 
       
    41 abbreviation
    42   NSCLIM :: "[complex=>complex,complex,complex] => bool"
    42   NSCLIM :: "[complex=>complex,complex,complex] => bool"
    43 			      ("((_)/ -- (_)/ --NSC> (_))" [60, 0, 60] 60)
    43 			      ("((_)/ -- (_)/ --NSC> (_))" [60, 0, 60] 60) where
    44   "NSCLIM == NSLIM"
    44   "NSCLIM == NSLIM"
    45 
    45 
       
    46 abbreviation
    46   (* f: C --> R *)
    47   (* f: C --> R *)
    47   CRLIM :: "[complex=>real,complex,real] => bool"
    48   CRLIM :: "[complex=>real,complex,real] => bool"
    48 				("((_)/ -- (_)/ --CR> (_))" [60, 0, 60] 60)
    49 				("((_)/ -- (_)/ --CR> (_))" [60, 0, 60] 60) where
    49   "CRLIM == LIM"
    50   "CRLIM == LIM"
    50 
    51 
       
    52 abbreviation
    51   NSCRLIM :: "[complex=>real,complex,real] => bool"
    53   NSCRLIM :: "[complex=>real,complex,real] => bool"
    52 			      ("((_)/ -- (_)/ --NSCR> (_))" [60, 0, 60] 60)
    54 			      ("((_)/ -- (_)/ --NSCR> (_))" [60, 0, 60] 60) where
    53   "NSCRLIM == NSLIM"
    55   "NSCRLIM == NSLIM"
    54 
    56 
    55 
    57 abbreviation
    56   isContc :: "[complex=>complex,complex] => bool"
    58   isContc :: "[complex=>complex,complex] => bool" where
    57   "isContc == isCont"
    59   "isContc == isCont"
    58 
    60 
       
    61 abbreviation
    59   (* NS definition dispenses with limit notions *)
    62   (* NS definition dispenses with limit notions *)
    60   isNSContc :: "[complex=>complex,complex] => bool"
    63   isNSContc :: "[complex=>complex,complex] => bool" where
    61   "isNSContc == isNSCont"
    64   "isNSContc == isNSCont"
    62 
    65 
    63   isContCR :: "[complex=>real,complex] => bool"
    66 abbreviation
       
    67   isContCR :: "[complex=>real,complex] => bool" where
    64   "isContCR == isCont"
    68   "isContCR == isCont"
    65 
    69 
       
    70 abbreviation
    66   (* NS definition dispenses with limit notions *)
    71   (* NS definition dispenses with limit notions *)
    67   isNSContCR :: "[complex=>real,complex] => bool"
    72   isNSContCR :: "[complex=>real,complex] => bool" where
    68   "isNSContCR == isNSCont"
    73   "isNSContCR == isNSCont"
    69 
    74 
    70   isUContc :: "(complex=>complex) => bool"
    75 abbreviation
       
    76   isUContc :: "(complex=>complex) => bool" where
    71   "isUContc == isUCont"
    77   "isUContc == isUCont"
    72 
    78 
    73   isNSUContc :: "(complex=>complex) => bool"
    79 abbreviation
       
    80   isNSUContc :: "(complex=>complex) => bool" where
    74   "isNSUContc == isNSUCont"
    81   "isNSUContc == isNSUCont"
    75 
    82 
    76 
    83 
    77 lemma CLIM_def:
    84 lemma CLIM_def:
    78   "f -- a --C> L =
    85   "f -- a --C> L =
   127 lemma isNSUContc_def:
   134 lemma isNSUContc_def:
   128   "isNSUContc f = (\<forall>x y. x @= y --> ( *f* f) x @= ( *f* f) y)"
   135   "isNSUContc f = (\<forall>x y. x @= y --> ( *f* f) x @= ( *f* f) y)"
   129 by (rule isNSUCont_def)
   136 by (rule isNSUCont_def)
   130 
   137 
   131 
   138 
       
   139   (* differentiation: D is derivative of function f at x *)
   132 definition
   140 definition
   133 
       
   134   (* differentiation: D is derivative of function f at x *)
       
   135   cderiv:: "[complex=>complex,complex,complex] => bool"
   141   cderiv:: "[complex=>complex,complex,complex] => bool"
   136 			    ("(CDERIV (_)/ (_)/ :> (_))" [60, 0, 60] 60)
   142 			    ("(CDERIV (_)/ (_)/ :> (_))" [60, 0, 60] 60) where
   137   "CDERIV f x :> D = ((%h. (f(x + h) - f(x))/h) -- 0 --C> D)"
   143   "CDERIV f x :> D = ((%h. (f(x + h) - f(x))/h) -- 0 --C> D)"
   138 
   144 
       
   145 definition
   139   nscderiv :: "[complex=>complex,complex,complex] => bool"
   146   nscderiv :: "[complex=>complex,complex,complex] => bool"
   140 			    ("(NSCDERIV (_)/ (_)/ :> (_))" [60, 0, 60] 60)
   147 			    ("(NSCDERIV (_)/ (_)/ :> (_))" [60, 0, 60] 60) where
   141   "NSCDERIV f x :> D = (\<forall>h \<in> Infinitesimal - {0}.
   148   "NSCDERIV f x :> D = (\<forall>h \<in> Infinitesimal - {0}.
   142 			      (( *f* f)(hcomplex_of_complex x + h)
   149 			      (( *f* f)(hcomplex_of_complex x + h)
   143         			 - hcomplex_of_complex (f x))/h @= hcomplex_of_complex D)"
   150         			 - hcomplex_of_complex (f x))/h @= hcomplex_of_complex D)"
   144 
   151 
       
   152 definition
   145   cdifferentiable :: "[complex=>complex,complex] => bool"
   153   cdifferentiable :: "[complex=>complex,complex] => bool"
   146                      (infixl "cdifferentiable" 60)
   154                      (infixl "cdifferentiable" 60) where
   147   "f cdifferentiable x = (\<exists>D. CDERIV f x :> D)"
   155   "f cdifferentiable x = (\<exists>D. CDERIV f x :> D)"
   148 
   156 
       
   157 definition
   149   NSCdifferentiable :: "[complex=>complex,complex] => bool"
   158   NSCdifferentiable :: "[complex=>complex,complex] => bool"
   150                         (infixl "NSCdifferentiable" 60)
   159                         (infixl "NSCdifferentiable" 60) where
   151   "f NSCdifferentiable x = (\<exists>D. NSCDERIV f x :> D)"
   160   "f NSCdifferentiable x = (\<exists>D. NSCDERIV f x :> D)"
   152 
   161 
   153 
   162 
   154 subsection{*Limit of Complex to Complex Function*}
   163 subsection{*Limit of Complex to Complex Function*}
   155 
   164