| author | paulson | 
| Tue, 06 May 2003 10:40:43 +0200 | |
| changeset 13963 | ba7aa8c426ad | 
| parent 12114 | a8e860c86252 | 
| child 14370 | b0064703967b | 
| permissions | -rw-r--r-- | 
| 10751 | 1 | (* Title : NSA.thy | 
| 2 | Author : Jacques D. Fleuriot | |
| 3 | Copyright : 1998 University of Cambridge | |
| 4 | Description : Infinite numbers, Infinitesimals, | |
| 5 | infinitely close relation etc. | |
| 6 | *) | |
| 7 | ||
| 8 | NSA = HRealAbs + RComplete + | |
| 9 | ||
| 10 | constdefs | |
| 11 | ||
| 12 | Infinitesimal :: "hypreal set" | |
| 10919 
144ede948e58
renamings: real_of_nat, real_of_int -> (overloaded) real
 paulson parents: 
10751diff
changeset | 13 |    "Infinitesimal == {x. ALL r: Reals. 0 < r --> abs x < r}"
 | 
| 10751 | 14 | |
| 15 | HFinite :: "hypreal set" | |
| 10919 
144ede948e58
renamings: real_of_nat, real_of_int -> (overloaded) real
 paulson parents: 
10751diff
changeset | 16 |    "HFinite == {x. EX r: Reals. abs x < r}"
 | 
| 10751 | 17 | |
| 18 | HInfinite :: "hypreal set" | |
| 10919 
144ede948e58
renamings: real_of_nat, real_of_int -> (overloaded) real
 paulson parents: 
10751diff
changeset | 19 |    "HInfinite == {x. ALL r: Reals. r < abs x}"
 | 
| 10751 | 20 | |
| 21 | (* standard part map *) | |
| 22 | st :: hypreal => hypreal | |
| 10919 
144ede948e58
renamings: real_of_nat, real_of_int -> (overloaded) real
 paulson parents: 
10751diff
changeset | 23 | "st == (%x. @r. x : HFinite & r:Reals & r @= x)" | 
| 10751 | 24 | |
| 25 | monad :: hypreal => hypreal set | |
| 26 |    "monad x      == {y. x @= y}"
 | |
| 27 | ||
| 28 | galaxy :: hypreal => hypreal set | |
| 29 |    "galaxy x     == {y. (x + -y) : HFinite}"
 | |
| 30 | ||
| 31 | (* infinitely close *) | |
| 10919 
144ede948e58
renamings: real_of_nat, real_of_int -> (overloaded) real
 paulson parents: 
10751diff
changeset | 32 | approx :: "[hypreal, hypreal] => bool" (infixl "@=" 50) | 
| 10751 | 33 | "x @= y == (x + -y) : Infinitesimal" | 
| 34 | ||
| 35 | ||
| 36 | defs | |
| 37 | ||
| 38 | (*standard real numbers as a subset of the hyperreals*) | |
| 10919 
144ede948e58
renamings: real_of_nat, real_of_int -> (overloaded) real
 paulson parents: 
10751diff
changeset | 39 |    SReal_def      "Reals == {x. EX r. x = hypreal_of_real r}"
 | 
| 10751 | 40 | |
| 12114 
a8e860c86252
eliminated old "symbols" syntax, use "xsymbols" instead;
 wenzelm parents: 
10919diff
changeset | 41 | syntax (xsymbols) | 
| 10919 
144ede948e58
renamings: real_of_nat, real_of_int -> (overloaded) real
 paulson parents: 
10751diff
changeset | 42 | approx :: "[hypreal, hypreal] => bool" (infixl "\\<approx>" 50) | 
| 10751 | 43 | |
| 44 | end | |
| 45 | ||
| 46 | ||
| 47 | ||
| 48 |