src/HOL/Complex/NSCA.thy
changeset 13957 10dbf16be15f
child 14320 fb7a114826be
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/HOL/Complex/NSCA.thy	Mon May 05 18:22:31 2003 +0200
@@ -0,0 +1,44 @@
+(*  Title       : NSCA.thy
+    Author      : Jacques D. Fleuriot
+    Copyright   : 2001,2002 University of Edinburgh
+    Description : Infinite, infinitesimal complex number etc! 
+*)
+
+NSCA = NSComplexArith0 + 
+
+consts   
+
+    (* infinitely close *)
+    "@c="     :: [hcomplex,hcomplex] => bool  (infixl 50)  
+
+  
+constdefs
+   (* standard complex numbers reagarded as an embedded subset of NS complex *)
+   SComplex  :: "hcomplex set"
+   "SComplex == {x. EX r. x = hcomplex_of_complex r}"
+
+   CInfinitesimal  :: "hcomplex set"
+   "CInfinitesimal == {x. ALL r: Reals. 0 < r --> hcmod x < r}"
+
+   CFinite :: "hcomplex set"
+   "CFinite == {x. EX r: Reals. hcmod x < r}"
+
+   CInfinite :: "hcomplex set"
+   "CInfinite == {x. ALL r: Reals. r < hcmod x}"
+
+   (* standard part map *)  
+   stc :: hcomplex => hcomplex
+   "stc x == (@r. x : CFinite & r:SComplex & r @c= x)"
+
+   cmonad    :: hcomplex => hcomplex set
+   "cmonad x  == {y. x @c= y}"
+
+   cgalaxy   :: hcomplex => hcomplex set
+   "cgalaxy x == {y. (x - y) : CFinite}"
+
+
+defs  
+
+   capprox_def  "x @c= y == (x - y) : CInfinitesimal"     
+ 
+end