# Joint work with Andre Lieutier Dassault Systemes Domain Theoretic Models of Geometry and Differential Calculus Abbas Edalat Imperial College

## Presentation on theme: "Joint work with Andre Lieutier Dassault Systemes Domain Theoretic Models of Geometry and Differential Calculus Abbas Edalat Imperial College"— Presentation transcript:

Joint work with Andre Lieutier Dassault Systemes Domain Theoretic Models of Geometry and Differential Calculus Abbas Edalat Imperial College http://www.doc.ic.ac.uk/~ae With contributions from Ali Khanban, Marko Krznaric ISDT 2001 Chengdu, China

2 Computational Model for Classical Spaces A research project since 1993: Reconstruct basic mathematics! Embed classical spaces into the set of maximal elements of suitable domains X Classical Space x DX Domain {x}

3 Computational Model for Classical Spaces Previous Applications: Fractal Geometry New algorithms for computing fractal objects Measure & Integration Theory The Generalized Riemann Integral Exact Real Arithmetic C-library based on linear fractional transformations for Computation of Elementary Functions

Part 1: A Domain-Theoretic Model of Geometry To develop a Computable model for Geometry and Solid Modelling, so that: the model is mathematically sound, realistic; the basic building blocks are computable; it bridges theory and practice.

5 Why do we need a data type for solids? Answer: To develop robust algorithms! Lack of a proper data type and use of real RAM in which comparison of real numbers is decidable give unreliable programs in practice!

6 The Intersection of two lines With floating point arithmetic, find the point P of the intersection L 1  L 2. Then: min_dist(P, L 1 ) > 0, min_dist(P, L 2 ) > 0.

7 The Convex Hull Algorithm A, B & C nearly collinear With floating point we can get:

8 A, B & C nearly collinear The Convex Hull Algorithm With floating point we can get: (i) AC, or

9 A, B & C nearly collinear The Convex Hull Algorithm With floating point we can get: (i) AC, or (ii) just AB, or

10 A, B & C nearly collinear The Convex Hull Algorithm With floating point we can get: (i) AC, or (ii) just AB, or (iii) just BC, or

11 A, B & C nearly collinear With floating point we can get: (i) AC, or (ii) just AB, or (iii) just BC, or (iv) none of them. The quest for robust algorithms is the most fundamental unresolved problem in solid modelling and computational geometry. The Convex Hull Algorithm

12 Subset A  X topological space. Membership predicate  A : X  {tt, ff } is continuous iff A is both open and closed. A Fundamental Problem in Topology and Geometry In particular, for A  R n, A  , A  R n  A : R n  {tt, ff } is not continuous. Most engineering is done, however, in R n.

13 There is discontinuity at the boundary of the set. Non-computability of the Membership Predicate This predicate is not computable: If x is on the boundary, we cannot in general determine if it is in or out at any finite stage of computation. FalseTrue

14 Non-computable Operations in Classical CG & SM  A : R n  {tt, ff} not continuous means it is not computable, even for simple objects like A=[0,1] n. x  A is not decidable even for simple objects: for A = [0,  )  R, we just have the undecidability of x  0. The Boolean operation  is not continuous, hence noncomputable, wrt the natural notion of topology on subsets:  : C(R n )  C(R n )  C(R n ), where C(R n ) is compact subsets with the Hausdorff metric.

15 Intersection of two 3D cubes

16 Intersection of two 3D cubes

17 Intersection of two 3D cubes

18 This is Really Ironical! Topology and geometry have been developed to study continuous functions and transformations on spaces. The membership predicate and the binary operation for  are the fundamental building blocks of topology and geometry. Yet, these fundamental functions are not continuous in classical topology and geometry.

19 Elements of a Computable Topology/Geometry The membership predicate  A : X  {tt, ff} fails to be continuous on  A, the boundary of A. For any open or closed set A, the predicate x   A is non-observable, like x = 0. Redefine:  A : X  {tt, ff}  with the Scott topology on {tt, ff} . ttff open  observable Non-observable  A is now a continuous function.

20 Elements of a Computable Topology/Geometry Note that  A =  B iff int A=int B & int A c =int B c, i.e. sets with the same interior and exterior have the same membership predicate. We now change our view: In analogy with classical set theory where every set is completely determined by its membership predicate, we define a (partial) solid object to be given by any continuous map: f : X  { tt, ff }  Then: f –1 {tt} is open; it’s called the interior of the object. f –1 {ff} is open; it’s called the exterior of the object.

21 Partial Solid Objects We have now introduced partial solid objects, since X \ (f –1 {tt}  f –1 {ff}) may have non-empty interior. We partially order the continuous functions: f, g : X  {tt, ff }  f ⊑ g   x  X. f(x) ⊑ g(x) f ⊑ g  f –1 {tt}  g –1 {tt} & f –1 {ff}  g –1 {ff} Therefore, f ⊑ g means g has more information about an idealized real solid object.

22 The Geometric (Solid) Domain of X The geometric (solid) domain S (X) of X is the poset (X  {tt, ff } , ⊑ ) S(X) is isomorphic to the poset S O (X) of pairs of disjoint open sets (O 1,O 2 ) ordered componentwise by inclusion:

23 Theorem For a second countable locally compact Hausdorff space X (e.g. R n ), S(X) is bounded complete and  –continuous with (U 1, U 2 ) << (V 1, V 2 ) iff the closures of U 1 and U 2 are compact subsets of V 1 and V 2 respectively. Theorem If X is Hausdorff, then: (O 1, O 2 )  Maximal (S X, ⊑ ) iff O 1 = int O 2 c & O 2 = int O 1 c. This is a regular solid object: O 1 =int O 1 & O 2 =int O 2 Properties of the Geometric (Solid) Domain Definition (O 1, O 2 ), O 1 ≠ ∅ ≠ O 2, is a classical object if O 1 ∪ O 2 = X.

24Examples A = {x  R 2 ⃒ |x| ≤ 1}  [1, 2] represented in the model by (int A, int A c ) = ( {x ⃒ |x| < 1}, R 2 \ A ) is a classical (but non-regular) solid object. B = {x  R 2 ⃒ |x| ≤ 1} represented by ({x ⃒ |x| 1})  Maximal (SR 2, ⊑ ) is a regular solid object.

25 Boolean operations and predicates Theorem All these operations are Scott continuous and preserve classical solid objects.

26 Subset Inclusion Subset inclusion is Scott continuous. Let

27 General Minkowski operator For smoothing out sharp corners of objects. S b R n = { (A, B)  SR n | B c is bounded} ∪ {( ∅, ∅ )}. All real solids are represented in S b R n. Define: _  _ : SR n  S b R n  SR n ((A,B), (C,D)) ↦ (A ⊕ C, (B c ⊕ D c ) c ) where A ⊕ C = { a+c | a  A, c  C } Theorem _  _ is Scott continuous.

28 (A, B) is a computable partial solid object if there exists a total recursive function ß:N  N such that: An effectively given solid domain The geometric domain SX can be given effective structure for any locally compact second countable Hausdorff space, e.g. R n, S n, T n, [0,1] n. Consider X=R n. The set of pairs of disjoint open rational polyhedra of the form K = (L 1, L 2 ), with L 1  L 2 = , gives a basis for SX. Let K n = (π 1 ( K n ), π 2 ( K n ) ) be an enumeration of this basis. (A, B) = ( ∪ n π 1 ( K ß(n) ), ∪ n π 2 ( K ß(n) ) )

29 Computing a Solid Object In this model, a solid object is represented by its interior and exterior. The interior and the exterior are approximated by two nested sequence of rational polyhedra.

30 Computable Operations on the Solid Domain F: (SX) n  SX or F: (SX) n  { tt, ff }  is computable if it takes computable sequences of partial solid objects to computable sequences. Theorem All the basic Boolean operations and predicates are computable wrt any effective enumeration of either the partial rational polyhedra or the partial dyadic voxel sets.

31 Quantative Measure of Convergence In our present model for computable solids, there is no quantitative measure for the convergence of the basis elements to a computable solid. Example: The minimum distance from say a rational point to a computable solid is semi- computable, but not computable. We will enrich the notion of domain-theoretic computability to include a quantitative measure of convergence.

32 We strengthen the notion of a computable solid by using the Hausdorff distance d between compact sets in R n. d(C,D) = min{ r | C  D r & D  C r } where D r = { x |  y  D. |x-y|  r } (A, B)  S [–k, k] n is Hausdorff computable if there exists an effective chain K ß(n) of basis elements with ß :N  N a total recursive function such that: (A, B) = ( ∪ n π 1 ( K ß(n) ), ∪ n π 2 ( K ß(n) ) ) with d (π 1 ( K ß(n) ), A ) < 1/2 n, d (π 2 ( K ß(n) ), B) < 1/2 n Hausdorff Computability

33 Hausdorff computability Two solid objects which have a small Hausdorff distance from each other are visually close. The Hausdorff distance gives a natural quantitative measure for approximation of solid objects. However, the intersection or union of two Hausdorff computable solid objects may fail to be Hausdorff computable. Examples of such failure are nontrivial to construct.

34 Boolean Intersection is not Hausdorff computable However: Q  ([0,1]  {0}) = [r,1]  {0}  R 2 is not Hausdorff computable. is Hausdorff computable.

35 Lebesgue Computability (A, B)  S [–k, k] d is Lebesgue computable iff there exists an effective chain K ß(n) of basis elements with ß :N  N a total recursive functions such that: (A, B) = ( ∪ n π 1 ( K ß(n) ), ∪ n π 2 ( K ß(n) ) ) µ(A) - µ(π 1 ( K ß(n) ) ) < 1/2 n & µ(B) - µ(π 2 ( K ß(n) ) ) < 1/2 n A function is Lebesgue computable if it preserves Lebesgue computable sequences. Theorem Boolean operations are Lebesgue computable.

36 Hausdorff computable ⇏ Lebesgue computable Complement of a Cantor set with Lebesgue measure 1– r with r =lim r n : left computable but non-computable real. Hausdorff and Lebesgue computability 01 s0s0 At stage n remove 2 n open mid-intervals of length s n /2 n. s tart with stage 1 stage 2

37 Hausdorff and Lebesgue computability Lebesgue computable ⇏ Hausdorff computable Let 0 < r n  Q with r n ↗ r, left computable, non- computable 0 < r < 1. Then [r,1]  {0}  R 2 is Lebesgue computable but not Hausdorff computable.

38 Hausdorff computable ⇏ Lebesgue computable Lebesgue computable ⇏ Hausdorff computable Theorem: A regular solid object is computable iff it is Hausdorff computable. However: A computable regular solid object may not be Lebesgue computable. Hausdorff and Lebesgue Computable Objects

39Conclusion Our model satisfies:  A well-defined notion of computability  Reflects the observable properties of geometric objects  Is closed under basic operations  Captures regular and non-regular sets  Supports a methodology for designing robust algorithms

40 Part 2: Data-types for Computational Geometry and Systems of Linear Equations The Convex Hull Voronoi Diagram or the Post Office problem The Partial Circle through three partial points Partial Lines and Projective Geometry: the intersection of hyper-planes, the solution of systems of linear equations

41 The Outer Convex Hull Algorithm

42 The Inner Convex Hull Algorithm Top right corners Top left corners bottom right cornersbottom left corners

43 The Convex Hull Algorithm

44 The Convex Hull Algorithm

45 Let H m : (R 2 ) m  C (R 2 ) be the classical convex Hull map, with C (R 2 ) the set of compact subsets of R 2, with the Hausdorff metric. Let (IR 2,  ) be the domain of rectangles in R 2. The Convex Hull map For x=(T 1,T 2,…,T m )  (IR 2 ) m, define: C m : (IR 2 ) m  SR 2, C m (x)=(I m (x),E m (x)) with: E m (x):=  {H m (y) | y  (R 2 ) m, y i  T i, 1  I  m} I m (x):=  {H m (y) | y  (R 2 ) m, y i  T i, 1  I  m} T1T1 T2T2 T3T3 T4T4 Each rectangle T  IR 2 has vertices T 1,T 2,T 3,T 4, going anti-clockwise from the right bottom corner.

46 The Convex Hull is Computable! Proposition: E m (x)=(H 4m ((T i 1,T i 2,T i 3,T i 4 )) 1  i  m ) c I m (x)=Int(  {H m ((T i n )) 1  i  m ) | n=1,2,3,4}). Theorem: The map C m : (IR 2 ) m  SR 2 is Scott continuous, Hausdorff and Lebesgue computable. Complexity: 1. E m (x) is O(m log m). 2. I m (x) is also O(m log m). We have precisely the complexity of the classical convex hull algorithm in R 2 and R 3.

47 Voronoi Diagrams We are given a finite number of points in the plane. Divide the plane into components closest to these points. This problem is equivalent to the Delaunay triangulation of the points: (1) Triangulate the set of given points so that the interior of the circumference circles do not contain any of the given points. (2) Draw the perpendicular bisectors of the edges of the triangles.

48 Recall that the Voronoi diagram is dual to the Delaunay triangulation: Given a finite number of points of the plane find the triples of points so that the interior of the circle through any triple does not contain any other points....... Voronoi Diagram & Partial Circles The centre of the circle through the three vertices of a triangle is the intersection of the perpendicular bisectors of the three edges of the triangle. The partial circle of three partial points in the plane is obtained by considering the Partial Perpendicular Bisector of two partial points in the plane.

49 Partial Perpendicular Bisector of Two Partial Points

50 PPBs for Three Partial Points Partial Centre

51 Partial Circles The Interior is the intersection of the interiors of the three blue circles. The exterior is the union of the interiors of the three red circles. Each partial circle is defined by its interior and exterior. The exterior (interior) consists of all those points of the plane which are outside (inside) all circles passing through any three points in the three rectangles.

52 Partial Circles With more exact partial points, the boundaries of the interior and exterior of the partial circle get closer to each other.

53 Partial Circles The limit of the area between the interior and exterior of the partial circle, and the Hausdorff distance between their boundaries, is zero. We get a Scott continuous map C : (IR 2 ) 3  SR 2 We obtain a robust Voronoi algorithm which is m log m on average.

54 Lines and hyperplanes One can define a Scott continuous function which, given any two partial points, gives the partial line through them as a partial solid object: x y A A However, if x and y intersect then A= , i.e. no information is provided. Moreover, the intersection of two partial lines will not be a partial point as one would desire. We would like to model a partial line as a set of lines rather than a set of points. L: (IR 2 ) 2  SR 2 (x,y)  ( ,A)

55 Projective Lines and hyperplanes By going to the projective real space we can take lines and hyper-planes as primitives on an equal footing with points. By going further to a domain model of the projective real space we get a computational model for projective geometry and also a data-type for systems of linear equation. The d-dimensional real projective space P d is: 1. the set of one dimensional linear subspaces of R d+1, or equivalently, 2. the quotient of R d+1 -{0} under the colinearity relation: X ∼ Y if . X = Y, or equivalently, 3. the quotient of the sphere S d by identifying anti-podal points: X ∼ Y iff X=Y or X = -Y. The one dimensional linear subspaces of R d+1 intersect the hyperplane X d+1 =1 at an affine subspace or, when the intersection is empty, at a “point at infinity”.

The Real Projective Space P1P1 o X -X ∞ -∞-∞ X

57 The Orthogonality Relation: Projective Duality The orthogonality of vectors in R d+1 induces an orthogonality relation on P d : we write p  q O(p)={ q  P d | p  q } is a d-1 dimensional projective subspace of P d. Conversely, for any d-1 dimensional projective subspace S, there exists p  P d with S=O(p). Therefore the set of points and the set of d-1 dimensional projective subspace of P d are in one-to-one correspondence with each other. We have the projective duality : q  O(p) iff p  q iff p  O(q)

58 p O(p) But O(p) is, by duality, also the set of hyper-planes containing p: Therefore,  { O(p i ) | i=1,2,…,d } is, by duality, also the non- empty set of hyper-planes containing all p i (i=1,2,…,d ). The set  { O(p i ) | i=1,2,…,d } is the intersection of d hyper-planes: It can be a single point or a hyper-plane, but, in contrast to classical geometry, it cannot be the empty.

59 A Domain-theoretic Model for Projective Geometry Proposition. For any comact subset A  P d the set O(A):={ q  P d |  p  A. p  q }  P d is compact. Let UP d be the upper space of P d, i.e.the set of non-empty subsets of P d ordered by reverse inclusion. Proposition. The map O: UP d  Up d is Scott continuous. Theorem. (Data Type for Linear Systems) L: (UP d ) d  UP d defined by L(A 1,A 2,….,A d ) =  { O(A k ) | k=1,…,d } is Scott continuous and computable. L computes the intersection of d hyper-planes. L also computes, by duality, the hyper-plane through d points. Remark. The corresponding classical operation is not continuous: 1.The intersection of two lines in R 2 can be a single point, a line or the empty set. 2.The intersection of two projective lines P 2 can be a projective point or a projective line.

Part 3: A Domain-Theoretic Model for Differential Calculus Interval derivative of a function Fundamental Theorem of Calculus Domain of C 1 functions Higher interval derivatives; Domains for C k and C ∞ Picard’s Theorem: A data-type for differential equations

61 Non-smooth Mathematics Set Theory Logic Algebra Point-set Topology Graph Theory Model Theory.. Geometry Differential Topology Manifolds Dynamical Systems Mathematical Physics.. All based on differential calculus Smooth Mathematics

62 (I[0,1],  ) is a bounded complete dcpo: ⊔ i  I a i =  i  I a i a ≪ b  a o  b (I[0,1], ⊑ ) is  -continuous : Basis {[q, q] | q < q & q, q  Q} Scott topology has basis: ↟ a = {b  I[0,1] | a ≪ b}, a  I[0,1] x  {x} : [0,1]  I[0,1] Topological embedding The Domain of Intervals x{x} [0,1] I [0,1] 

63 Continuous Functions f : [0,1]  R, f  C o [0,1], has continuous extension: If : I[0,1]  IR a  f(a) = {f(x) | x  a} Scott continuous maps I[0,1]  IR with: f ⊑ g   x  I[0,1]. f(x) ⊑ g(x) is another bounded complete  -continuous dcpo.  : C o [0,1] ↪ (I[0,1]  IR), with f  If is a topological embedding. Image (  ) ⊊ Max(I[0,1]  IR) a proper subset.

64 Step Functions a ↘ b : I[0,1]  IR, with a  I[0,1], b  IR: b a ≪ x x   otherwise We will write a ↘ b as (a, b) on this page. Finite lubs of consistent step functions (simple functions) ⊔ 1  i  n (a i,b i ), with a i, b i rational intervals, give a basis for I[0,1]  IR The finite family A  I[0,1]  IR is consistent iff  B  A. Con ≪ (  1 B)  Con ⊑ (  2 B)

65 Step Functions-An Example 01 R b1b1 a3a3 a2a2 a1a1 b3b3 b2b2

66 Refining the Step Functions 01 R b1b1 a3a3 a2a2 a1a1 b3b3 b2b2

67 Operations in Interval Arithmetic For a = [a, a]  IR, b = [b, b]  IR, c  R, *  { +, –,  } we have: c a = {c} a c + a = {c} + a a * b = { x*y | x  a, y  b } a + b = [ a + b, a + b] a – b = [ a – b, a – b] a  b = [min(ab, ab, ab, ab), max(ab, ab, ab, ab)]

68 Interval Derivative Assume f  C 1 [0,1], a  I[0,1], b  IR. Suppose  x  a o. b  f (x)  b. We think of b = [b, b] as an interval derivative for f in a. Note that  x  a o. b  f (x)  b iff  x 1, x 2  a o & x 1 >x 2, b(x 1 – x 2 )  f(x 1 ) – f(x 2 )  b(x 1 – x 2 ), i.e. b({x 1 } – {x 2 }) ⊑ {f(x 1 )} – {f(x 2 )} iff  x 1,x 2 ≫ a. b(x 1 – x 2 ) ⊑ If (x 1 ) – If (x 2 ) iff  x 1,x 2 ≫ a.  y 1,y 2  IR, x 1 ↘ y 1 ⊑ If x 2 ↘ y 2 ⊑ If & b(x 1 – x 2 ) ⊑ y 1 – y 2

69 Interval Derivative 01 a y1y1 y2y2 If(x 1 ) x2x2 x1x1 If(x 2 )

70 Definition of Interval Derivative f : I[0,1]  IR has an interval derivative b  IR in a  I[0,1] if  x 1, x 2 ≫ a,  y 1,y 2  IR x 1 ↘ y 1, x 2 ↘ y 2 ⊑ f & b(x 1 – x 2 ) ⊑ y 1 – y 2. The collection of all such f is called the tie of a with b, denoted  (a,b). For a classical function f : [0,1]  R Graph(f) is within lines of slope b & b at each point (x, f(x)), x  a o. (x, f(x)) b b a Graph(f).

71 Proposition. For f  C 1 [0,1], the following are equivalent: If   (a,b)  x  a o. b  f (x)  b  x 1,x 2 ≫ a. b(x 1 – x 2 ) ⊑ If (x 1 ) – If (x 2 ) a ↘ b ⊑ If Note that: f ⊑ g  (f   (a,b)  g   (a,b)) i.e.  (a,b)  upper I[0,1]  IR If f = g + {c}, c  R, then f   (a,b)  g   (a,b)

72 Proposition.  (a 1,b 1 )   (a 2,b 2 ) iff a 2 ⊑ a 1 & b 1 ⊑ b 2  n i=1  (a i,b i )   iff  a i ↘ b i  n i=1 is consistent.  i  I  (a i,b i )   iff  J  f I.  i  J  (a i,b i )   (non – trivial) In fact  (a,b) behaves exactly like a ↘ b.

73 The Interval Derivative Definition. Given f : I[0,1]  IR the derivative of f is: : I[0,1]  IR = ⊔ f   (a,b) a ↘ b Theorem. is well–defined & Scott continuous. If f  C 1 [0,1], then: f   (a,b) iff a ↘ b ⊑

74 Examples

75 The Interval Derivative Operator : (I[0,1]  IR)  (I[0,1]  IR) is monotone but not continuous. Note that the classical operator is not continuous either. (a ↘ b)= x.  is not linear! For f : x  x : I[0,1]  IR g : x  –x : I[0,1]  IR (f+g)  + = x. (1 – 1) = x. 0

76 The Differential and Integral Operators We construct a domain for C 1 functions. Let L 1  P (I[0,1]  IR), ( P the power set functor) with x  L 1 iff x is the non-empty intersection of a family of ties: x=  i  I  (a i,b i )   i.e. x is the collection of functions satisfying a given set of differential properties. Theorem. (L 1,  ) is a dcpo and the differential operator D : (L 1,  )  (I[0,1]  IR) x  ⊔  (a,b)  x a ↘ b is an isomorphism with the integral operator as its inverse:  : (I[0,1]  IR)  (L 1,  ) f   a ↘ b ⊑ f  (a,b)

77 Fundamental Theorem of Calculus For f, g  C 1 [0,1], define f~g if f = g + c, for some c  R. There is a unique map which makes the following two diagrams commute:

78 Fundamental Theorem of Calculus In L 1 [0,1] ≅ I[0,1]  IR we approximate C 1 functions f with || f || 0, i.e. the sup norm on their derivatives. How about approximation with: || f || 1 = || f || 0 + || f || 0 ?

79 Approximating function: f = ⊔ i a i ↘ b i Define the consistency relation: Con  (I[0,1]  IR)  (I[0,1]  IR) with (f,g)  Con if (  f)  (  g)   ( ⊔ i a i ↘ b i, ⊔ j c j ↘ d j )  Con iff we have an open channel : The Domain of C 1 Functions with C 1 Norm L = least function G = greatest function (f,g)  Con iff L  G. It is decidable on the basis. The Update is: Up(f,g) = (f g, g) where f g = ⊓ (  f)  (  g) f g ({x}) {x} Approximating derivative: g = ⊔ j c j ↘ d j

80 Lemma. Con  (I[0,1]  IR) 2 is Scott closed. Theorem. D 1 := { (f,g)  (I[0,1]  IR) 2 | (f,g)  Con} is a bounded complete  –continuous dcpo. The Domain of C 1 Functions with C 1 Norm D 1 c := {(f 0,f 1 )  C 1  C 0 | f 0 = f 1 } Theorem.  : C 1 [0,1]  C 0 [0,1]  (I[0,1]  IR) 2 restricts to give a topological embedding D 1 c ↪ D 1 (with C 1 norm) (with Scott topology)

81 Consistency Test for (f,g) Also define: L(x) := sup y  O  Dom(f) (f – (y) + d –+ (x,y)) and G(x) := inf y  O  Dom(f) (f + (y) + d +– (x,y)) For x  Dom(g), let g({x})=[g (x),g + (x)] where g,g + : Dom(g)  R are semi-continuous functions. Similarly we define f, f + : Dom(f)  R. Let O be a connected component of Dom(g) with O  Dom(f)  . For x, y  O define:

82 Theorem. (f, g)  Con iff  x  O. L(x)  G(x). For (f, g) = ( ⊔ 1  i  n a i ↘ b i, ⊔ 1  j  m c j ↘ d j ) the rational end–points of a i and c j induce a partition X = {x 0 < x 1 < x 2 < … < x k } of O. Proposition. For arbitrary x  O, there is p, where 0  p  k, with: L(x) = f – (x p ) + d –+ (x,x p ). Similarly for G(x). Consistency Test

83 Higher Interval Derivative Proposition. For f  C 2 [0,1], the following are equivalent: If   2 (a,b)  x  a 0. b  f (x)  b  x 1,x 2 ≫ a. b (x 1 – x 2 ) ⊑ If (x 1 ) – If (x 2 ) a ↘ b ⊑ If Let  1 (a,b) =  (a,b) Definition. (the second tie) f   2 (a,b)  P (I[0,1]  IR) if   1 (a,b) Note the recursive definition, which can be extended to higher derivatives.

84 Higher Interval Derivative For f : I[0,1]  IR we define: : I[0,1]  IR by Then = ⊔ f   2 (a,b) a ↘ b Define L 2 [0,1]  P (I[0,1]  IR) by x  L 2 [0,1] iff x =   2 (a i,b i )   Then L 2 [0,1]  L 1 [0,1] is an isomorphism.  i  I  2 (a i,b i )   i  I  1 (a i,b i ) D

85 Domains of C 2 and C k functions D 2 := { (f 0,f 1,f 2 )  (I[0,1]  IR) 3 |  f 0   f 1   f 2   } D 2 c := {(f 0,f 1,f 2 )  C 2  C 1  C 0 | f 0 = f 1, f 1 = f 2 } Theorem.  restricts to give a topological embedding D 2 c ↪ D 2 D k := { (f i ) 0  i  k  (I[0,1]  IR) k+1 |  0  i  k  f i   } (i) D := { (f k ) k  0  ( I[0,1]  IR) |  k  0. f k  D k } ∞

86 Theorem. There exists a neighbourhood of t 0 in which (*) has a unique solution, the fixed point of: f  t. (x 0 +  F(t, f(t) ) dt): C 0 [t 0 -k,t 0 +k]  C 0 [t 0 -k,t 0 +k] for some k>0. t0t0 t Picard’s Theorem dx/dt = F(t,x) F:R 2  R 2 x(t 0 ) = x 0 (t 0,x 0 )  R 2 Assume F is Lipschitz in x uniformly in t for some neighbourhood of (t 0,x 0 ). (*)

87 Picard’s Solution Reformulated (f,g)  ( t. (x 0 +  g(t) dt), g ) t t0t0 Up (f,g)  ( t. (x 0 +  g dt, t. F(t,f(t))) has a fixed point (f,g) with f = g = t. F(t,f(t)) t t0t0  F oUp f  t. (x 0 +  F(t, f(t)) dt) can be considered as upgrading the information about the function f and the information about its derivative g. t t0t0 FF (f,g)  (f, t. F(t,f(t)))

88 Define (f,g) to be strongly consistent, (f,g)  SCon, if  h ⊒ g. (f,g)  Con We define: s(x) := sup y  O  Dom(f) (f – (y) + d +– (x,y)) and t(x) := inf y  O  Dom(f) (f + (y) + d –+ (x,y)) Theorem. (f,g) is strongly consistent iff  x  O. s(x), t(x)  f({x}) If (f, g) = ( ⊔ 1  i  n a i ↘ b i, ⊔ 1  j  m c j ↘ d j ), then there exists z in the partition X with: s(x) = f – (x z ) + d –+ (x,x p ). Similarly for t(x). On basis elements, strong consistency is decidable. Strong Consistency

89 A Data Type for Differential Equations Let F : I[0,1]  IR  IR and  F : (I[0,1]  IR) 2  (I[0,1]  IR) 2 (f,g)  ( f, T. F(T,f(T)) ) Let Up : D 1  D 1, with Up(f, g)  ( f g, g ) where f g = ⊓ (  f   g ) D F :={ (f,g)  D 1 | (f,g)  SCon, (f,g) ⊑  F (f,g) } is a dcpo. For any initial (f 0,g 0 )  D F, the continuous map P = Up o  F : D F   (f 0,g 0 )  D F   (f 0,g 0 ) has a least fixed point. If F=If for a map f:[0,1]  R which satisfies the Lipschitz property of Picard’s theorem, then in the limit the domain-theoretic solution tends to the classical solution.

90 Picard’s Theorem (Example) 1 f g 1 1 1 F F is approximated by a sequence of step functions, F 1, F 2, … We want to solve: = F(t,x), x(t 0 ) =x 0 for t  [0,1] with F(t,x) = t and t 0 =1/2, x 0 =9/8. a3a3 b3b3 a2a2 b2b2 a1a1 b1b1 F3F3 F2F2 F1F1 such that (f 0i,g 0i ) is strongly consistent, where: f i0 = ⊔ 1  j  i (a j ↘ b j ) ⊔ ([0,1] ↘ [0,4]) We take: g i0 = F i and a sequence of rectangles a i  b i, representing initial condition (1/2,9/8) =  i a i  b i, t t.

91 Picard’s Theorem (Example) 1 f g 1 1 1 At each stage we find L and G with h i ({x})=[L(x),G(x)]. h i – fixed point of P wrt F i with initial condition (f i0,g i0 )

92 Picard’s Theorem (Example) 1 f g 1 1 1. h i – fixed point of P wrt F i with initial condition (f i0,g i0 ) At each stage we find L and G with h i ({x})=[L(x),G(x)]

93 Picard’s Theorem (Example) 1 f g 1 1 1 h i – fixed point of P wrt F i with initial condition (f i0,g i0 ) L and G tend to the exact solution: x  x 2 /2 + 1. At each stage we find L and G with h i ({x})=[L(x),G(x)]

94 Further Work Differential Calculus with Several Variables Analytic Functions Implicit and Inverse function Theorems Reconstruct Geometry and Smooth Mathematics with Domain Theory

95 THE END http://www.doc.ic.ac.uk/~ae http://www.doc.ic.ac.uk/~ae

Similar presentations