5078
|
1 |
(* Title : PReal.thy
|
|
2 |
Author : Jacques D. Fleuriot
|
|
3 |
Copyright : 1998 University of Cambridge
|
|
4 |
Description : The positive reals as Dedekind sections of positive
|
|
5 |
rationals. Fundamentals of Abstract Analysis [Gleason- p. 121]
|
|
6 |
provides some of the definitions.
|
|
7 |
*)
|
|
8 |
|
|
9 |
PReal = PRat +
|
|
10 |
|
|
11 |
typedef preal = "{A::prat set. {} < A & A < {q::prat. True} &
|
|
12 |
(!y: A. ((!z. z < y --> z: A) &
|
|
13 |
(? u: A. y < u)))}" (preal_1)
|
|
14 |
instance
|
|
15 |
preal :: {ord, plus, times}
|
|
16 |
|
|
17 |
constdefs
|
|
18 |
preal_prat :: prat => preal ("@#_" [80] 80)
|
|
19 |
"@# q == Abs_preal({x::prat. x < q})"
|
|
20 |
|
|
21 |
pinv :: preal => preal
|
|
22 |
"pinv(R) == Abs_preal({w. ? y. w < y & qinv y ~: Rep_preal(R)})"
|
|
23 |
|
|
24 |
psup :: preal set => preal
|
|
25 |
"psup(P) == Abs_preal({w. ? X: P. w: Rep_preal(X)})"
|
|
26 |
|
|
27 |
defs
|
|
28 |
|
|
29 |
preal_add_def
|
|
30 |
"R + S == Abs_preal({w. ? x: Rep_preal(R). ? y: Rep_preal(S). w = x + y})"
|
|
31 |
|
|
32 |
preal_mult_def
|
|
33 |
"R * S == Abs_preal({w. ? x: Rep_preal(R). ? y: Rep_preal(S). w = x * y})"
|
|
34 |
|
|
35 |
preal_less_def
|
|
36 |
"R < (S::preal) == Rep_preal(R) < Rep_preal(S)"
|
|
37 |
|
|
38 |
preal_le_def
|
|
39 |
"R <= (S::preal) == Rep_preal(R) <= Rep_preal(S)"
|
|
40 |
|
|
41 |
end
|
|
42 |
|