<<

Inverse and Implicit Functions in Domain Theory

Abbas Edalat, Dirk Pattinson Department of Computing Imperial College, London UK [email protected], [email protected]

Abstract

We construct a domain-theoretic calculus for Lipschitz and differentiable functions, which includes addition, sub- traction and composition. We then develop a domain- theoretic version of the inverse function theorem for a Lip- schitz function, in which the inverse function is obtained as a fixed point of a Scott continuous functional and is ap- Figure 1. Approximations of the unit proximated by step functions. In the case of a C1 function, the inverse and its derivative are obtained as the least fixed point of a single Scott continuous functional on the domain x2 + y2 − 1=0. This well-known and ancient technique of differentiable functions and are approximated by two se- describes the essence of our work in a simple and accessi- quences of step functions, which are effectively computed ble way. The present paper aims to develop a systematic from two increasing sequences of step functions respectively and recursive method of approximating an implicitly given converging to the original function and its derivative. In surface with two sequences of piecewise linear or piecewise this case, we also effectively obtain an increasing sequence polynomialsurfaces, which convergelocally in the C1 norm of polynomial step functions whose lower and upper bounds from inside and outside to the implicit surface. A main ap- converge in the C1 norm to the inverse function. A similar plication of this method is in geometric modelling and com- result holds for implicit functions, which combined with the puter aided design, where and surfaces are usually domain-theoretic model for computational geometry, pro- defined implicitly [2]. Currently, there are no robust meth- vides a robust technique for construction of curves and sur- ods to approximate an implicit surface and the most reliable faces. technique provided by interval analysis [12] is only able to approximate the implicit surface without approximating its derivative. The paper thus presents a framework for a robust 1. Introduction CAD system, where implicitly given surfaces can be effec- tively obtained up to the C1 precision required by the user. The earliest systematic method of computing increas- In more mathematical language, we will use domain the- ingly better lower and upper bounds to π is credited to ory to provide a recursion-theoretic account of the inverse Archimedes, who obtained his approximation by circum- function and the theorems, which are the scribing and inscribing the circle with regular polygons main fundamental tools in multi-variable differential calcu- having 96 sides. In the 15th century, Jamshid Kashani, lus and the theory of manifolds. In [7], a domain-theoretic the Iranian mathematician, further developed this recursive framework for differential calculus of one variable was de- method by using regular polygons with 805306368 sides, veloped which in particular provides an effectively given obtaining 16 decimal digits of π with a correct estima- domain for Lipschitz or differentiable functions. Later on, tion of the error [1]. In today’s mathematical language, domain-theoretic techniques for solving initial value prob- we say that the two sequences of refining n-sided regu- lems were obtained in [5, 9], which enable us to approxi- lar polygons circumscribing and inscribing the unit circle mate the unique solution of an initial value problem given for n = 3, 4, 5,..., as in Figure 1, converge in the C1 by a Lipschitz vector field up to the precision required by norm respectively from outside and inside to the circle, a the user. In [8], the domain-theoretic model was extended 1-dimensional closed manifold given by the implicit to multi-variable differential calculus, resulting in the no- tion of a domain-theoretic derivative, which for Lipschitz holds for all x1, x2 ∈ Br. Then, for all x1, x2 ∈ Br functions gives the smallest hyper-rectangle containing the Clark gradient [3], as well as a domain for multi-variable 1 − ρ kx2 − x1k≤kf(x2) − f(x1)k differentiable functions. In this paper, we will illustrate the kL−1k first main application of the domain of multi-variable dif- ferentiable functions, by using it to obtain the inverse and ≤kLk(1 + ρ)kx2 − x1k, implicit functions of classical analysis as the fixed point ofa i.e. f is injective on B . The restriction f| : B → Rn functional that we construct on the domain of Lipschitz and r Br r of f to the open ball Br is an open map so that V := f[Br] differentiable functions. We first obtain, as a fixed point, the Rn is open. Thus f|Br : Br → is Lipschitz with Lipschitz inverse of a function which differs from the identity map by ρ(1−ρ) inverse and contains the open ball where −1 . a contraction. Then, based on the domain-theoretic deriva- V Bs s = kL k tive, we introduce the notion of mean differential and use it to solve the problem of inverse function for Lipschitz in a Note that the theorem requires the existence of a linear map more general setting. The domain-theoretic inverse and im- satisfying the above inequalities. We will actually see in the plicit function theorems for C1 functions have the following domain-theoretic Inverse Function Theorem 5.2 that, using distinguished features compared to other approaches: the mean differential of the domain-theoretic derivative, we are able to compute a linear map L with the above prop- (i) The inverseand implicit functionsare obtainedas fixed erty. A more general, but still non-constructive result, for points of Scott continuous functionals. the existence of an inverse of a Lipschitz function follows by using the Clarke gradient [3, p. 253], which is non- (ii) From two increasing sequences of linear step functions elementary. In Bishop’s framework of constructive analysis, convergingto the function and its derivative, we can ef- a constructive proof of the existence of the inverse function fectively obtain two increasing sequences of linear and (or the implicit function) for a C1 function is obtained by polynomial step functions converging to the inverse of approximation but no approximations to the derivative of the function and its derivative. Similarly for the im- the inverse in provided [4]. In none of these approaches, the plicit function. inverse or the implicit function is obtained as a fixed point of a functional. (iii) From two increasing sequences of linear step functions convergingto the function and its derivative, we can ef- 2. Preliminaries fectively obtain an increasing sequences of polynomial step functions converging in the C1 norm to the inverse of the function. Similarly, for the implicit function. We briefly recall the essential notions of the domain- theoretic framework for multi-variable calculus from [8]. We write IR for the interval domain {[a, a] | a ≤ a,a, a ∈ 1.1 Related work R}∪{R}, ordered by reverse inclusion; we write ⊥= R for the least element of IR. The n-fold product of IR with IRn IRn We have already mentioned the work on interval analy- itself is denoted by , and we write s for the n-fold sis regarding implicit surfaces; it gives approximations to smash product of IR. The same convention applies to n × k the surface by voxel sets but there is no approximation of interval matrices. For A ∈ IRn, we have the sub-domain the derivative of the surface [12]. We here state the classi- IA = {a ∈ IRn | A ⊑ a} with inherited ordering. We de- cal theorem on inverse functions for Lipschitz maps of Eu- I IRn note by (A → B) (resp. (A → s )) the set of Scott con- I IRn clidean spaces [11, p. 108], which has an elementary but tinuous functions of type A → B (resp. A → s ), where non-constructiveproof, in the version of [10, Theorem 3.1]. A, B ∈ IRn. For brevity, we put D0(A) = (A → IR) and n n 0 0 n For x ∈ R and any norm k·k on R , we write Br = D = D ([0, 1] ). {y ∈ Rn | kyk < r} for the open ball around the origin We identify a real number x ∈ R with the maximal el- with radius r and denote the closed ball by Br = {y ∈ ement {x} ∈ IR and a classical function f : A → R with Rn |kyk≤ r}. the function x 7→ {f(x)} : A → IR, for A ∈ IRn. The Scott continuous function f : [0, 1]n → IR has an IR 1×n I n Theorem 1.1 Inverse Function Theorem for Lipschitz interval Lipschitz constant b ∈ ( )s in a ∈ ( [0, 1]) ◦ maps [10] Let Br be a closed ball containing the origin if for all x, y ∈ a we have: b(x − y) ⊑ f(x) − f(y), n n in R and let f : Br → R with f(0) = 0, so that for some where we use the canonical extension of basic arithmetic invertible linear map L : Rn → Rn and some ρ< 1 operations from real numbers to real intervals. The single- step tie δ(a,b) ⊆ D0([0, 1]n) of a with b is the collec- −1 −1 0 n kL f(x2) − L f(x1) − (x2 − x1)k≤ ρkx2 − x1k tion of all functions in D ([0, 1] ) which have an interval Lipschitz constant b in a. If b 6= ⊥, then δ(a,b) con- number of polynomials) satisfying p(x) ≤ q(x) for x ∈ r◦. sists only of functions which in the interior a◦ are clas- Note that p and q can be discontinuous in r◦. The piecewise sical Lipschitz functions. The Scott continuous primitive polynomial single-step functions r ց [p, q]: [0, 1]n → IR n IR 1×n 0 I n IR map : ([0, 1] → ( )s ) → (P(D ), ⊇) is given by and r ցi [p, q] : [0, 1] → are, respectively, given by ( iR∈I ai ց bi) = i∈I δ(ai,bi), where P is the power set functor. The domain-theoretic derivative of a continuous [p, q](x) if x ∈ r◦ R F T (r ց [p, q])(x)= function f : [0, 1]n → IR is the well-defined and Scott con-  ⊥ otherwise. df n IR 1×n tinuous map dx = f∈δ(a,b) a ց b : [0, 1] → ( )s . 1 F df ′ For a classical C function f, we have dx = f , where ′ I[p, q](x) if r ≪ x f is the classical derivative of f, a notation which is used (r ցi [p, q])(x)= throughout the paper. For a classical Lipschitz map f,  ⊥ otherwise. the domain-theoretic derivative df (x ) at x is the small- dx 0 0 A piecewise polynomial step function is the lub est hyper-rectangle containing the Clarke gradient [3] at x0, (or i ) of a con- which is a non-empty compact and convex set. The domain i∈I ri ց [pi, qi] i∈I ri ց [pi, qi] sistent finite set of piecewise polynomial single-step for Lipschitz functions is the continuous Scott subdomain F F functions. If ri, pi and qi are defined over rationals, then 1 n IR n IR n IRn D ([0, 1] → ) ⊂ ([0, 1] → ) × ([0, 1] → s ) we say that the polynomial step function is rational. From now on we will be dealing with step functions of type 1 n IR of consistent pairs defined by (f,g) ∈ D ([0, 1] → ) A → IB or IA → IB where A, B ∈ IRn. A polynomial iff ↑f ∩ g 6= ∅, which is equivalent to the existence of step function, say, of type [0, 1]n → IRn will be given by a R a classicalR continuous function h : dom(g) → with vector polynomial step function of type: dh 0 df g ⊑ dx and f ⊑ h. For f ∈ D , we have (f, dx ) ∈ D1([0, 1]n → IR), where df is, as always in this paper, [p, q](x) if x ∈ r◦ dx (r ց [p, q])(x)= , the domain-theoretic derivative of f. In [8], it is shown that  ⊥ otherwise. consistency is decidable on the rational step functions of n IR n IRn 1 n ([0, 1] → ) × ([0, 1] → s ) and thus D ([0, 1] → where [p, q] is now a vector of n interval-valued functions IR) can be given an effective structure. given by polynomials pj ≤ qj for j = 1, · · · ,n. The The same results hold, if we replace [0, 1]n with an ar- composition f ◦ g of two piecewise linear step functions IRn IRn IRn×n IRn IRn n IRn bitrary A ∈ . Given B ∈ and C ∈ s , we f ∈ → and g ∈ [0, 1] → is a piecewise write D1(A → IB, A → IC) (resp. D1(A → IB, A → linear step function of type [0, 1]n → IRn. The collection IRn×n s )) for the sub-domain of consistent pairs in (A → of rational piecewise linear (or polynomial) step functions I I I IRn×n 0 n 0 n B) × (A → C) (resp. (A → B) × (A → s ). gives a basis of (D )s and (Di )s . For brevity, we write D1(A → IB) = D1(A → IB, A → The following gives an algorithm to evaluate E on a IRn×n 1 1 n 1 s ) and D = D ([0, 1] ). The space of classical C piecewise polynomial step function, which extends the al- functions of type A → B is denoted by C1(A → B). gorithm in [7, Section 2]: The framework can be extended in a straightforward way I n IR I n to functions of type [0, 1] → and of type [0, 1] → E( r ց [p , q ]) = IRm I n IRn i i i : for a ∈ [0, 1] and b ∈ s , we say that f : iG∈I I n IR [0, 1] → has interval Lipschitz constant b in a, if ◦ {(⊓ r ) ցi [p , q ] | J ⊆ I, r connected}, (1) b(x − y) ⊑ f(x) − f(y) for all x, y <

Proof Similar to [7, Proposition 7.7]. ⊒ fi((hj (x) ⊓ hj (y))j ) · gi1(x ⊓ y)(x − y) Corollary 2.7 Let h ∈ ([0, 1]n → IR) and g ∈ ([0, 1]n → Xi=1 IRn I I n s ). Then h ∈ g iff h ∈ g. ⊒ fi((hj (x ⊓ y))j )) · gi1(x ⊓ y)(x − y) R R Proof The “only if” part is trivial. For the “if part”, let Xi=1 X, Y ∈ I[0, 1]n, For x ∈ X and y ∈ Y we have by as- n sumption: ⊒ fi(gj0(x ⊓ y)j) · gi1(x ⊓ y)(x − y), Xi=1 Ig(x ⊓ y)(x − y) ⊑ Ih(x) − Ih(y). which completes the proof. By taking glb over x ∈ X, we get: Ig(X ⊓ y)(X − y) ⊑ Ih(X) − Ih(y). As the basic arithmetic operations are differentiable, we can use their canonical extensions, together with composi- The result follows by taking glb over y ∈ Y .  tion, to obtain versions of the arithmetical operations in D1. Rn dg Composition (· ◦ ·): Proof Fix x0 ∈ . Let b1 ≪ dx (x0) and b2 ≪ ( df (g(x )). Then for some a ,a ∈ IRn with x ∈ a D1(Rn → IRn) × D1([0, 1]n → IRn) → D1([0, 1]n → IRn) dx 0 1 2 0 1 and g(x0) ∈ a2 we have: f ∈ δ(a1,b1) and g ∈ δ(a2,b2). Since g is Scott continuous, g−1(↑a ) is open in Rn. Let where, f ◦ g = ((hi0)i, (hij )ij ) with 2 n −1 ◦ a ∈ IR , with a ⊆ a1 ∩ g (↑a2) and g(x0) ∈ a . Then, n for all x, y ∈ a◦: hi0 = Ifi0((gm0)m) hij = Ifik((gm0)m) · gkj Xk=1 f(g(x)) − f(g(y)) ⊒ b1(g(x) − g(y)) ⊒ b1b2(x − y). for 1 ≤ i, j ≤ n. d(f◦g) Therefore f ◦ g ∈ δ(a,b1b2) and thus dx (x0) ⊒ b1b2. Addition (· + ·): Note that equality may fail in the chain rule. For example let f : R → R be the absolute value function x 7→ |x| 1 Rn IRm 1 Rn IRm 1 Rn IRm D ( → ) × D ( → ) → D ( → ) and g : R → R defined by x 7→ x if x ≤ 0 and 0 if df◦g df dg x> 0. Then dx (0) = [−1, 0] whereas dx (g(0))· dx (0) = where(f + g)j = (fj0 + gj0,fj1 + gj1, · · · fjn + gjn). df dg dx (0) · dx (0) = [−1, 1][0, 1]=[−1, 1]. Negation (−·): 1 n Lemma 3.4 Let (g0,g1, · · · ,gn) ∈ D ([0, 1] → IR) 1 Rn IRn 1 Rn IRn with g0 real valued. If gi(x) is a real number for all D ( → ) → D ( → ) n ′ i = 1, · · · ,n for some x ∈ [0, 1] , then g0(x) exists and ′ where (−f)j = (−fj0, −fj1,..., −fjn). g0(x) = (g1(x), · · · ,gn(x)).

Proof By assumption, there exists t ∈↑g ∩ (g , · · · ,gn), Multiplication (·): 0 1 but then t = g0 as g0 is maximal.R Hence dg0 dg0 1 n 1 n 1 D (R → IR) × D (R → IR) → D (R → IR) dx ⊒ (g1, · · · ,gn), which implies dx (x) = (g1(x), · · · ,gn(x))). By [7, Proposition 4.3(ii)], the result where f · g = (f0 · g0, (fi)i · g0 + (gi)i · f0). follows.

1 Inversion ( · ): 4. Inverse constructing functional D1(Rn → IR) → D1(Rn → IR) In many areas of mathematics a construction is first ob-

1 1 −f1 −fn tained for functions close to the identity map and then ex- where = ( , 2 ,..., 2 ) and, as usual, for intervals f f0 f0 f0 tended to more general maps. In this section, we show first a and b, we put a/b =⊥ if 0 ∈ b. that the inverse of a function close to the identity can be ob- tained as the fixed point of a functional that we introduce Corollary 3.2 The arithmetic operations are well-defined: here. Later in the paper, we show how this functional can be used to obtain the inverse of a Lipschitz function. For (i) If f ∈ D1(Rn → IRn) and g ∈ D1([0, 1]n → IRn), a> 0 and 0

defined by Proof Note that any bounded complete dcpo is a dcpo with respect to its opposite order. It is routine to check the Scott S(h,g0,g1)= −Ih ◦ (I + g0) · (λx.Id + g1) continuity of addition and multiplication.

dI IR where Id = dx . Thus, Lemma 4.3 For x, y ∈ , we have w(xy) ≤ w(x)kyk + kxkw(y). T (f,g) = (R((fi0)i, (gi0)i),S((fij )ij , (gi0)i, (gij )ij ) Proposition 4.4 Suppose f : A → B satisfies k df k≤ c< 1 I dx if f = ((fi0)i, (fij )ij ) ∈ D (A → B) and g = 1 on A and f(0) = 0. If H = [− c , c ]n×n, we have: 1 I 1−c 1−c ((gi0)i, (gij )ij ) ∈ D (C → B). We also put S(h,g0) = S(h,g0, ·). (i) The functional

1 1 Proposition 4.1 Suppose f : A → B. Then Rf : (C → T df : D (X0,X1) → D (X0,X1), (f, dx ) IB) → (C → IB) is well defined. If moreover f has Lip- schitz constant c < 1 with respect to the max norm and where X0 = (C → IB) and X1 = (C → IH) f(0) = 0, we have: is well-defined and has a unique fixed point g = ((gi0)i, (gij )ij ), such that (gi0)i is the unique fixed (i) The functional has a unique fixed point with Rf (gi0)i point of Rf and (gij )ij is the unique fixed point w((g ) )=0 which is thus a classical C0 function. i0 i of S df : X1 → X1; moreover (gij )ij = ( dx ,(gi0)i) n Rn l d(gi0)i d(gi0)i (ii) I + f : [−a,a] → has inverse I + (gi0)i : Im(I + ⊓l≥0S df ( ) ⊑ . ( ,(gi0)i) dx dx f) → [−a,a]n. dx (ii) The fixed point g of T df will satisfy (f, dx ) (iii) (gi0)i(0) = 0. n(1+d) df w((gij (x))ij ) ≤ 1−c w( dx (xk + gk0(x))k) Proof It is easily checked that R is well-defined. As f, n(1+d) df f for any x ∈ C and thus, w((gij )ij ) ≤ 1−c w( dx ). and hence every fi, has Lipschitz constant c < 1, it fol- I I df lows from Proposition 2.4, that f, and hence every fi, is (iii) If w( dx ((xk + gk0(x))k)) = 0 for some x ∈ C, interval contracting with contractivity factor c. then w(gij (x)) = 0, for i, j = 1, · · · ,n, and ′ Let x ∈ C. Then we have (gi1(x), · · · ,gin(x)) = gi0(x) for i =1, · · · ,n. df w(gi0(x)) = w(Ifi((xk + gk0(x)))k) (iv) If w( dx )=0, then w(gi0)=0 for i = 1, · · · n, and ′ (gi1, · · · ,gin)= gi for i =1, · · · n. ≤ c max w(xi + gi0(x))) 0 1≤i≤n df (v) If dx (0) = 0 then gij (0) = 0 for i, j =1, · · · ,n. = c max w(gi0(x)). 1≤i≤n 1 Proof Suppose g = ((gi0)i, (gij )ij ) ∈ D (X0,X1). Then hence max1≤i≤n w(gi0(x))=0. Thus, the least fixed point by Proposition 4.1 we have Rf ((gi0)i) ∈ (C → IB)= X0, g is maximal and hence the unique fixed point. hence it suffices to show that S df ((g ) ) ∈ X . ( ,(gi0)i) ij ij 1 (ii) We have (I + f) ◦ (I + g)= I + g + f ◦ (I + g)= I dx As f satisfies k df k ≤ c on A, we have, by definition of and thus I + g is a right inverse of I + f. Since I + f is dx matrix norm, that the row sum n df for all Lipschitz with kf(x)−f(y)k≤ ckx−yk it follows by [10, j=1 k( dx )ij k ≤ c i = 1,...,n. Let d = c . Then, for any x ∈ C, we Theorem 3.1] that has an inverse. Thus, , being 1−c P I + f I + g I a right inverse, is the inverse of I + f. have gij (x) ∈ [−d, d], hence (gij )ij (x) + Id ∈ [−d + n×n df 1, d + 1] . Letting (hij )ij = −I (I + (gi0)i(x)) · (iii) We have (I + f)(0) = 0 and (I + f)(g(0)) = (I + dx (Id + (gij )ij (x)), we obtain for the ij-entry hij of (hij )ij f)(0 + g(0)) = (I + f) ◦ (I + g)(0) = I(0) = 0, as I + g n that h ⊒ (( df ) · [−d +1, d + 1] ⊒ [−d, d], as is the inverse of I + f. It follows from injectivity of I + f ij k=1 dx ik k df P . Therefore also the derivative part of that g(0) = 0. i=1 k( dx )ikk ≤ c PT df is well defined. Consistency of function and deriva- (f, dx ) Now we can obtain a fixed point of T df and examine tive part follow from Corollary 3.2. By continuity, T f, df (f, dx ) ( dx ) its properties. therefore has a least fixpoint (gi0)i,gmin). For any fixed point ((gi0)i, (gij )ij ) we have (gij )ij ⊑ know that this linear system has at least one solution since d(gi0)i S f, g 0 : X1 → X1 has at least one fixed point. Sup- dx since ((gi0)i, (gij )ij ) is consistent and (gi0)i has ( ( i )i) d(gi0)i pose, for a contradiction, that the fixed point is not unique. zero width. Now for any h ∈ X1 with gmin ⊑ h ⊑ dx , we have, by the Chain rule 3.3: Then (gmin)i0 j0 (x0) 6= (gmax)i0 j0 (x0) for some x0 ∈ C and some i0, j0 with 1 ≤ i0, j0 ≤ n. And thus, for x = x0, d(gi0)i d(gi0)i the linear system (5) will have infinitely many solutions of df df gmin ⊑ S( ,(g 0) )(h) ⊑ S( ,(g 0) )( ) ⊑ . dx i i dx i i dx dx the form: p It follows by Lemma 4.2 that, in the lattice of functions in − t u0ij (k) = (gmin) (x0)+ ktθ0ij X1 with ⊒ as the ordering, gmin as the top element and ij d(gi0)i Xt=1 dx as the least element, the Scott continuous function p S(f,(g 0) ) : X1 → X1 has a least fixed point + t i i u1ij (k) = (gmin)ij (x0)+ ktθ1ij , Xt=1 l d(gi0)i g = l S df ( ), 2 max ⊓ ≥0 ( ,(g 0) ) t 2n dx i i dx where θ ∈ R (t = 1, · · · p) is a basis for the null-set p of A(x0), k ∈ R and p is the dimension of the null-set which is the greatest fixed point of S(f,(gi0)i) : X1 → X1 of A(x0). But (gmin)ij (x0) ⊇ (gmax)ij (x0) and for some and thus induces the greatest fixed point ((gi0)i,gmax) of k ∈ Rp, we have: T df . It remainsto show the uniquenessof the fixed point (f, dx ) − + of S(f,(gi0)i) : X1 → X1. The fixed point equation u0i0j0 (k) = (gmax)i0j0 (x0), u1i0j0 (k) = (gmax)i0j0 (x0). n df Now, using this value of k, we define h : C → IH by g = −I( ) ((π + g ) ) · (λx.δ + g ) (2) ij dx im k k0 k mj mj mX=1 p t t (g )i0j0 (x ) − kt[θ ,θ ] evaluated at x ∈ C yields: min 0 t=1 0i0j0 1i0j0 hij (x)=  if i = i0, j = jP0, x = x0 n  otherwise. df (gmin)ij (x) g (x)= −I( ) (x + g (x)) · (δ + g (x)), ij dx im k k0 k mj mj  mX=1 Then, h is Scott continuous and is a fixed point of

S(f,(gi0)i) : X1 → X1 with h ⊑ gmin and h 6= gmin, which or equivalently, is the required contradiction. (ii) We let d = c . Using Lemma 4.3, we have n 1−c − + [g (x),g (x)] = ([cim(x), dim(x)]· ij ij w(gij (x)) mX=1 n − + df [δmj + gmj(x),δmj + gmj(x)]), (3) =w( (−I( ) (x + g (x)) ) · (δ + g (x))) dx im k k0 k mj mj m − + X=1 where gkl = [g ,g ] and n kl kl df ≤ w( ) ((x + g (x)) )(1 + d)+ df dx im k k0 k [cim(x), dim(x)] := −I( )im(xk + gk0(x))k , mX=1 dx df k( ) k · w(g (x)) for 1 ≤ i,m ≤ n. For any fixed x ∈ C, consider the system dx im mj of 2n2 equations represented by: df ≤n(1 + d)w( ) ((x + g (x)) )+ dx i k k0 k n n df k( )imk · w((gmj )j (x)) [yij ,zij ]= [cim(x), dim(x)] · [δmj + yij ,δmj + zij ], dx mX=1 mX=1 (4) df ≤n(1 + d)w( ((xk + gk0(x))k)) + cw((gmj )mj (x)) for the unknown values yij and zij (i, j = 1, · · · ,n). This dx is a linear system, which can be written in the form: df df as k dx k≤ c. Thus, w((gij )ij (x)) ≤ n(1 + d)w( dx ((xk + A(x)u = b(x) (5) gk0(x))k ))+cw((gij )ij (x)), which gives: w((gij )ij (x)) ≤ n(1+d) df w( ((xk + gk (x))k)). 2 2 2 1−c dx 0 2n ×2n 2n where A(x) ∈ R and u,b(x) ∈ R , with u0ij = (iii) From (ii), w(gij ) = 0 for i, j = 1, · · · ,n. ′ yij and u1ij = zij , in which the subscripts of u are num- Lemma 3.4, gives (gi1(x), · · · ,gin(x)) = gi0(x) for i = bers written in base n, i.e., kij = kn2 + in + j. We already 1, · · · ,n. (iv) Follows from (iii). (iv) With the assumptions in (iii), we can also effectively I df (iv) Since dx (0) = 0, from Equation (2) we get: obtain an increasing sequence of polynomial step func- gij (0) = 0 for i, j =1, · · · ,n. tions, whose lower and upper parts are continuous and piecewise polynomial, such that the two sequences of Corollary 4.5 Suppose f ∈ C1([−a,a]n → [−ca,ca]n) lower and upper parts converge in the C1 norm, re- with kf ′(x)k < 1 for all x ∈ [−a,a]n and assume spectively from below and above, to the inverse of u. f(0) = f ′(0) = 0. Then, there is a unique fixed du du ′ −1 point ((gi0)i), (gij )ij ) of T(f,f ). It will satisfy w(gi0) = Proof (i) Suppose N ∈ dx is invertible with kN dx − −1 w(gij )=0 and gi0(0) = gij (0) = 0 for 1 ≤ i ≤ n, 0 ≤ Ik < 1, e.g. this holds for N = M. Let f = N u − ′ df −1 du dI j ≤ n, and (gij )ij = (gi0)i. I. Then dx = N dx − Id, where Id = dx . Since −1 du df kN dx (0) − Ik < 1, we have: k dx (0)k < 1. It follows In particular, this shows that the least fixpoint g is the −1 du that for any c satisfying kN dx (0) − Ik 0 such that: k dx (x0)k≤ c for all x0 ∈ [−a,a] . It follows from Lemma 2.5 that f has Lipschitz constant 5. Inverse functions c< 1. Thus, by Proposition 4.1, if (gi0)i is the unique fixed n point of Rf , then I + (gi0)i : Im(I + f) → [−a,a] is −1 In this section we prove the following theorem, which the local inverse of I + f. Hence, (I + (gi0)i) ◦ N : gives a constructive version of the classical result on the Im(u) → [−a,a]n is the local inverse of u in [−a,a]n. It inverse of Lipschitz functions as in Theorem 1.1. follows from Proposition 4.4 that the local inverse of u is locally Lipschitz. Definition 5.1 For an interval matrix b = ([b , bij ])ij ∈ (ii) Suppose where ij u = i≥0 si si = j∈Ji rj ց b b IRn×n ij + ij [pj , qj ] is a piecewise linearF step function for disjointF finite the mid-point matrix of b is given by ( 2 )ij . du n n indexing sets J (i ≥ 0) and = β for an increasing If f : [−1, 1] → R is locally Lipschitz, then the mean i dx i≥0 i differential of at n is the midpoint matrix of sequence (βi) of linear rational stepF functions. We denote f x0 ∈ [−1, 1] −1 du df the midpoint matrix of βi by Mi. As kM −Ik < 1,we (x0). dx dx can find, by Scott continuity, the smallest k > 0 such that −1 Note that for a locally Lipschitz function, every compo- Mk is invertible and kMk βk(0) − Ik < 1, from which −1 du nent of the domain theoretic derivative is 6=⊥. With this we obtain kMk dx (0) − Ik < 1. We write N := Mk in terminology, we can replace the linear map in the statement accordance with item (i) above. −1 −1 −1 of Theorem 1.1 by the mean differential and obtain the fol- We obtain N u = i≥0 N si where N si = −1 and lowing result. j∈Ji rj ց N [pj , qj ] F F −1 −1 Theorem 5.2 Inverse Function Theorem. Let u : f = N u − I = N (si − I)= ti, n Rn [−1, 1] → be locally Lipschitz with u(0) = 0. Sup- iG≥0 iG≥0 pose the mean differential at the point 0 (i.e., the linear map represented by the mid-point matrix of du ), denoted by where −1 −1 dx (0) ti := N si − I = j∈Ji rj ց (N [pj , qj ] − M, is invertible. Let kM −1 du (0) − Ik < 1. Then we have: λx.x) is a piecewise linear stepF function for each i ≥ 0. dx I From f = i≥0 E(ti) we obtain for ⊥0 = λx.B, that (i) The map u has a Lipschitz inverse in a neighbourhood F of the origin. Rf (⊥0)= −If ◦ (I + ⊥0)= − E(ti) ◦ (I + ⊥0) (ii) If two increasing sequences of linear rational step iG≥0 n IRn functions, respectively of type [−1, 1] → and = Rti (⊥0), n IRn×n [−1, 1] → s , converging respectively to u and iG≥0 du dx are given, then we can effectively obtain an increas- ing sequence of piecewise linear step functions con- and hence,

verging to the inverse of u. n n (gi0)i = Rf (⊥0)= Rti (⊥0) (iii) If u is C1 and two increasing sequences of linear ra- nG≥0 nG≥0 iG≥0 n tional step functions, respectively of type [−1, 1] → = Rn (⊥ ). IRn n IRn×n tn 0 and [−1, 1] → s , converging respectively nG≥0 to u and u′ are given, then we can also effectively ob- tain an increasing sequence of polynomial step func- For each piecewise linear step functions t ∈ A → IB and tions converging to the derivative of the inverse of u. s ∈ C → IB, the map Rt(s) = −It ◦ (I + s) is the composition of two piecewise linear step functions and is (iv) Consider the two sequences Al and Bl converging thus a piecewise linear step function. It follows by a simple to u−1 and (u−1)′ respectively as constructed in (ii) and n 1 induction that for each n ≥ 0, the map αn := Rtn (⊥0) is a (iii). For each l ≥ 0, we have (Al,Bl) ∈ D (Im(u) → n piecewise linear step function. Finally, we have [−a,a] ) and the update [7, 8] Up(Al,Bl) is a polynomial step function whose lower and upper parts are respectively −1 −1 −1 u = (I + g0) ◦ N = (I + αn) ◦ N , the least and the greatest functions consistent with both Al nG≥0 −1 and Bl. It follows that u = i≥0 Up(Al,Bl) and that the lower and upper parts give an increasing and a decreasing where each A := (I + α ) ◦ N −1 is a piecewise linear step F l l sequence of continuous piecewise polynomials converging function, made up of single-step functions with parallelo- in the C1 norm to u−1 from below and above respectively. grams as their domains. (iii) With N as above, by Proposition 4.1, (gi0)i is 1 −1 −1 C and thus from u = (I + (gi0)i) ◦ N we ob- 6. Implicit functions −1 ′ ′ −1 ′ tain: (u ) = (I + (gi0)i) ◦ N , where (gi0)i is the unique fixed point of S df . Hence, it is sufficient to As in classical theory, the implicit function theorem in ( dx ,(gi0)i) show that an increasing sequence of polynomial step func- the domain-theoretic setting can be deduced from the in- ′ tions with lub (gi0)i can be effectively obtained. Let αl verse function theorem. (l ≥ 0) be the piecewise linear step function as in (ii) with Theorem 6.1 Implicit Function Theorem. (gi0)i = l≥0 αl. Let βl (l ≥ 0) be an increasing sequence ′ Let f : O → Rn, where O ⊆ Rn+k, be C1 with of piecewiseF linear step functions with u = βl. From l≥0 Rn Rk −1 df ′ F −1 ′ f(0, 0)=0 where (0, 0) ∈ × . Assume f = I − N u we obtain: dx = f = I − N u . Thus, ′ −1 −1 f = (I −N βl), where γl := I −N βl is a piece- l≥0 ∂(f1,...,fn) wiseF linear step function for each l ≥ 0. It follows that det( )(0, 0) 6=0. I ′ ∂(x1,...,xn) f = l≥0 E(γl), where E(γl) is a piecewise linear step functionF for each l ≥ 0. From the Scott continuity of the Then, there exists a k-dimensional open set W ⊆ Rk with dI n functional S we get for any h ∈ X1 → X1, where Id = dx : 0 ∈ W , and a unique g : W → R with

(i) g ∈ C1 on W , (ii) g(0) = 0, (iii) f(g(t),t)=0 ′ ′ S(f ,(gi0)i)(h)= S(f , (gi0)i,h) for t ∈ W . ′ = −If ◦ (I + (gi0)i) · (Id + h) Moreover, we have: = −E(γl) ◦ (I + αl) · (Id + h) lG≥0 (iv) Given two increasing sequences of linear rational step functions, of type O → IRn and O → IRn×(n+k), = S(γ , α ,h) s l l converging to f and f ′ respectively, we can effectively lG≥0 obtain two increasing sequences of, respectively linear ′ = S(γl,αl)(h). and polynomial, step functions converging to g and g lG≥0 respectively.

j j Hence, S ′ = S for any j ≥ 0. (f ,(gi0)i) l≥0 (γl,αl) (v) With the assumption in (iv), we can also effectively ob- If ⊥1 = λx.H, thenF the uniqueness of the fixed point tain an increasing sequence of polynomial step func- ′ S(f ,(gi0)i) gives: tions, whose lower and upper parts are continuous and piecewise polynomial, such that the two sequences of ′ j 1 (g ) = g = S ′ (⊥ ) lower and upper parts converge in the C norm, re- i0 i min (f ,(gi0)i) 1 jG≥0 spectively from below and above, to g. j = S γ ,α (⊥1) n+k ( l l) Proof Let u : O → R with ui(x, t) = fi(x, t) for jG≥0 lG≥0 1 ≤ i ≤ n and ui(x, t)= ti for n +1 ≤ i ≤ n + k. Then, l = S(γl,αl)(⊥1). u(0, 0) = (0, 0) and lG≥0 ′ ∂(f1,...,fn) Since, for each l ≥ 0, αl and γl are piecewise linear step det u (0, 0) = det( )(0, 0) 6=0. ∂(x ,...,xn) functions, it follows from a simple induction that, for each 1 j l, j ≥ 0, S (⊥ ) is a polynomial step function. In par- n+k (γl,αl) 1 By Theorem 5.2, there exists a > 0 with [−a,a] ⊆ O ticular, B := Sl (⊥ ) is a polynomial step function. such that the restriction u : [−a,a]n+k → Rn+k has a C1 l (γl,αl) 1 −1 n+k inverse u : Im(u) → R . Put W = π1(Im(u)) where The results in the paper is a step toward a theoretical foun- n+k k k n π1 : R → R is the projection to R . Let g : W → R dation for a robust CAD system. Having obtained domain- with g = λt.u−1(0,t). Then, as in the classical theory, theoretic versions of the inverse and implicit function theo- W ⊆ Rk is open and g is the unique function that satisfies rems, which in particular provide local C1 approximations (i), (ii) and (iii). It remains to show (iv) and (v): to an implicit surface, the next step would be to be able to (iv) Since [−a,a]n+k ⊆ O, we can restrict the domainof patch the local pieces of an implicit surface together to ob- the step functions, given in the assumption, to [−a,a]n+k. tain, in particular, a closed connected orientable manifold Suppose, therefore, we are given an increasing sequence of given by implicit equations such as f(x,y,z)=0 when 0 n+k n linear step functions θj : [−a,a] → IR , for j ≥ 0, is a regular value of f. Furthermore, the domain-theoretic with f = j≥0 θj . The functional framework for geometric modelling developed in [6] com- F bined with the results in this work lead to a domain of ori- s : ([−a,a]n+k → IRn) → ([−a,a]n+k → IRn+k), entable closed Lipschitz manifolds. This will synthesize the domain-theoretic framework for geometry and that for dif- with s(h)j = hj for 1 ≤ j ≤ n and s(h)j = λx.x for ferential calculus. n +1 ≤ j ≤ n + k is Scott continuous and preserves lin- Acknowledgement. We would like to thank Ralph n+k ear step functions since the inclusion map [−a,a] → Howard for pointing out the work of F. Nevanlinna and R. IRn+k is clearly a linear step function. It follows that Nevanlinna to us. u = j≥0 s(θj ) is the lub of an increasing sequence of linearF step functions. Suppose we also have an increasing sequence of linear References n+k n×(n+k) step functions ψl : [−a,a] → IRs , for l ≥ 0, ′ ′ ′ [1] J. L. Berggren. Episodes in the Mathematics of Medieval with f = ψl. Note that u = f for 1 ≤ i ≤ n and l≥0 i i Islam. Springer, 1986. (u′ ) = δ for n +1 ≤ i ≤ n + k. Consider the functional i j ijF [2] J. Bloomenthal, editor. Introduction to implicit surfaces. n+k IRn×(n+k) n+k v : ([−a,a] → ( )s) → ([−a,a] → Morgan Kaufmann, 1997. IR(n+k)×(n+k) ( )s), with (v(ψ))i = ψi for 1 ≤ i ≤ n and [3] F. H. Clarke. Optimization and Nonsmooth Analysis. Wiley, (v(ψ))ij = δij for n +1 ≤ i ≤ n + k and 1 ≤ j ≤ n + k. 1983. Then, v is Scott continuous and preserves linear step func- [4] B. Pavlov, D. Bridges, C. Calude and D. Stefanescu. The tions. It follows that we can effectively obtain an increas- constructive implicit function theorem and applications in ing sequence of piecewise linear step functions v(ψl) with physics. Chaos, Solitons and Fractals, 10:927–934, 1999. ′ [5] A. Edalat, M. Krznari´c, and A. Lieutier. Domain-theoretic u = v(ψl). l≥0 solution of differential equations (scalar fields). In Pro- ByF Theorem 5.2, we can effectively obtain two increas- ceedings of MFPS XIX, volume 73 of Electronic Notes ing sequence of linear step functions (C ) with u−1 = j j≥0 in Theoretical Computer Science, 2003. Full paper in and with −1 ′ . The func- j≥0 Cj (Dj )j≥0 (u ) = l≥0 Dl www.doc.ic.ac.uk/˜ae/papers/scalar.ps. tionalF F [6] A. Edalat and A. Lieutier. Foundation of a computable solid IRn+k IRn modelling. Theoretical Computer Science, 284(2):319–345, t : (Im(u) → ) → (W → ), 2002. [7] A. Edalat and A. Lieutier. Domain theory and differential with t(h) = λx.h(0, x) is Scott continuous and preserves calculus (Functions of one variable). Mathematical Struc- linear step functions, since partial evaluation of a linear step tures in Computer Science, 14(6):771–802, December 2004. function, on a subset of its arguments, results in a linear step [8] A. Edalat, A. Lieutier, and D. Pattinson. A computational −1 function. Thus, g = t(u ) = j≥0 t(Cj ) is obtained ef- model for multi-variable differential calculus. In V. Sassone, fectively as the lub of an increasingF sequence of step func- editor, Proc. FoSSaCS 2005, LNCS, 2005. to appear. tion. [9] A. Edalat and D. Pattinson. A domain-theoretic account of ′ For the derivative, we obtain that (g )i = Picard’s theorem. In Proceedings of ICALP’04, 2004. Full −1 ′ paper in www.doc.ic.ac.uk/˜ae/. λx.(u )n+i(0, x) and thus effectively obtain ′ [10] R. Howard. The inverse function theo- (g )i = l≥0 λx.(Dl)n+i(0, x), where λx.(Dl)n+i(0, x) is a polynomial step function. rem for Lipschitz functions (unpublished). F math.sc.edu/˜howard/Notes/inverse.pdf, (v) As in the proof of Theorem 5.2(iv). 1997. [11] F. Nevanlinna and R. Nevanlinna. Absolute analysis. 7 Further work Springer-Verlag, 1973. [12] J. M. Snyder. Generative Modeling for Computer Graphics We will investigate if the domain-theoretic results on the and CAD. Academic Press, 1992. inverse of a Lipschitz function can providea precise witness for the linear map stipulated in the classical theorem 1.1.