Multivalued Mappings, Fixed-Point Theorems and Disjunctive Multivalued Mappings, Fixed-Point Theorems and Disjunctive Databases Databases

In this paper, we discuss the semantics of disjunctive programs and databases and show how multivalued mappings and their ﬁxed points arise naturally within this context. A number of ﬁxed-point theorems for multivalued mappings are considered, some of which are already known and some of which are new. The notion of a normal derivative of a disjunctive program is introduced. Normal derivatives are normal logic programs which are determined by the disjunctive program. Thus, the well-known single-step operator associated with a normal derivative is single-valued, and its ﬁxed points can be found by well-established means. It is shown how ﬁxed points of the multivalued mapping determined by a disjunctive program relate to the ﬁxed points of the single-step operators coming from its normal derivatives. This procedure has potential for simplifying the construction of models of disjunctive databases, and this point is discussed. Most of the results for multivalued mappings rest on corresponding, known results concerning ﬁxed points of single-valued mappings. Since the latter results are frequently referred to, they have been collected together for convenience in a survey which should be of independent interest as well as being preparatory for the later results. Finally, a number of problems and issues raised by this work are discussed.


Introduction
Let f : X !X be a (single-valued) function or mapping defined on the set X. A fixed point of f is an element x of X such that f(x) = x.This simple, but important, notion is to be found in many places in mathematics ranging from proofs of existence of solutions of differential equations to proofs of existence of invariant measures to methods, in logic, for handling self-reference.Indeed, it is this latter use of "fixed point" that makes the concept so fundamental in programming language semantics and in program correctness: the meaning of recursive definitions of functions and of inductive definitions of sets is the least fixed point of an operator naturally associated with the definition.This last comment applies equally well, of course, whether one is taking the point of view of imperative programming or the point of view of declarative programming.In theoretical studies in either paradigm, fixed points of functions and operators are basic.
The first named author acknowledges financial support under grant SC/98/621 from Enterprise Ireland.3rd Irish Workshop on Formal Methods (IWFM-99), EWIC, British Computer Society, 1999. 1 It follows naturally from what has just been said that techniques for finding fixed points, i.e. fixed-point theorems, are also basic in theoretical studies.In the imperative case, the functions and operators which arise are nearly always monotonic, and therefore the only fixed-point theorem one needs is "the fixedpoint theorem" of Knaster and Tarski.However, in logic programming matters are not so simple due to the presence of negation.Negation has the effect of introducing non-monotonicity and of complicating the process of finding fixed points.Thus, within this paradigm, one finds quite a variety of different methods and techniques in use for finding fixed points of the operators arising from questions concerned with semantics.
The purpose of this paper is three-fold.First, in Section 3, we want to report on recent work undertaken by the authors in the context of the semantics of disjunctive programs and databases.In this setting, the operators T which arise are multivalued i.e.T : X ! 2 X so that T(x) is a set of points of X, rather than a single point.The usual meaning of "fixed point" is then an element x 2 X such that x 2 T(x), and this clearly generalizes the case of single-valued mappings.However, not only is this mathematically an obvious generalization of the case of single-valued mappings, it is also a correct one in that issues concerned with the semantics of disjunctive programs naturally relate to fixed points in this new sense.Thus, there is a need for fixed-point theorems which apply to multivalued mappings.However, one strategy which we introduce here is to extract from the database a family of associated conventional normal logic programs (which we call normal derivatives) whose corresponding operators are single-valued.In this way, it is possible to relate the fixed points of multivalued mappings to the fixed points of single-valued mappings.We demonstrate the success of this method by showing how the stable model semantics (or answer set semantics) of Gelfond and Lifschitz can be treated in this way.In fact, there is a whole range of semantics which have been proposed for disjunctive databases, of which that of Gelfond and Lifschitz is just one of the more important, and all of which provide different, canonical models of a given database (perfect model, weakly perfect model etc.).Each of these models turns out to be a fixed point of a certain multivalued mapping we introduce here (the single-step operator of Definition 3.3) and hence, as we show, is a fixed point of some normal derivative.This, of course, raises the problem of characterizing those normal derivatives which correspond to any particular canonical model, and is a problem under investigation by the authors.
The alternative approach to finding fixed points, already noted, is the full-frontal attack by means of fixed-point theorems for multivalued mappings.However, there does not appear to be very many such theorems available, and it is ongoing work of the authors to try and rectify this situation either by extending results known for single-valued mappings to the multivalued case or by establishing new methods and techniques.Thus, in Section 4, we collect together, as our second objective, the main results we know and which we know to have applications to semantics.In addition, we present some new technical results of our own, and discuss the problems and difficulties in the way to further progress.
Needless to say, much of the work undertaken in Section 4 rests on well-established results and ideas developed specifically for the single-valued case.It will facilitate the discussion to have available the statements of the more important of these, and we collect them together in a survey in Section 2 for convenience and for reference, relating them as we proceed to applications of our own, and of others, to semantics; this is our third main objective in the paper.Therefore, in stucture, we see Section 3 as the heart of the paper, but that the material presented there immediately raises the issues taken up in Section 4 and, in turn, this latter section depends on the discussion of Section 2. The order of presentation of the material is chosen, of course, to enable us to proceed from the known to the unknown.

Partial Orders
Perhaps the original theorem in the subject is Kleene's first recursion theorem, encountered in recursive function theory.This states the following, where F n denotes the collection of all partial functions from N n to N ordered by graph inclusion.Suppose that : F n !F n is a recursive operator.Then has a least fixed point h which is a computable function.Thus, there is a computable function h satisfying the following conditions.
(a) (h) = h.(b) If (g) = g, then h g.Hence, if h is total, it is the only fixed point of .
The term recursive used here means, essentially, that whenever (f)(x) is defined, its value depends only on finitely many values of f.Of course, as stated, this theorem is of limited applicability but has a direct generalization to partially ordered sets and continuous functions, as follows.

Definition
A subset S of a partially ordered set (D ) is called directed if, for any a b 2 S, there is c 2 S such that a c and b c.

Definition
A partially ordered set (D ) is said to be complete, and hence a complete partial order (cpo), if there is a least element of D and every directed subset S D has a least upper bound sup S in D.

Thus:
(1) There is an element ? of D (the bottom element of D) such that ?d for all d 2 D.
(2) If S D is directed, then there is an element sup S in D such that (i) s sup S for all s 2 S, and (ii) if s d for all s 2 S, where d is some element of D, then sup S d. 2.3 Definition Let D and E be cpos and let f : D !E be a function.
(1) f is called monotonic if a b implies f(a) f(b) for all a b 2 D.
(2) f is called continuous if f is monotonic and, for every directed subset S of D, we have f(sup S) = sup f(S).
We are now in a position to state the main fixed-point theorem applicable to partially ordered sets, see [22] for a proof; it is the promised generalization of Kleene's theorem 1 .In fact, it can be established in the context of the slightly more general !-cpos, which are defined as above except that one only requires the existence of the suprema of increasing sequences a 0 a 1 a 2 : : : in D, rather than of directed sets.

Theorem (Knaster-Tarski)
Let D be a cpo and let f : D !D be a continuous function.Then f has a least fixed point a.Furthermore, a = sup n2N f n (?).
This theorem has so many applications to computing that it must be a contender for the title of fundamental theorem of computer science.In addition, there are numerous refinements and variants of it scattered throughout the literature.One such is the following theorem, which was applied by Fitting in the context of logic programming semantics over Kleene's 3-valued logic.
2.5 Definition Let (D ) be a partial order.Then D is called a complete semilattice if the following conditions hold.
1. Every non-empty subset of D has an infimum.2. Every non-empty directed subset of D has a supremum.

Theorem
(See [3, Proposition 6.2]) Let (D ) be a complete semilattice, let be monotonic on D and let a 2 D be such that a (a).Then has a least fixed point above a.
The least fixed point in the previous theorem can, in fact, be obtained as an ordinal power " (a) for some ordinal .
Although we know of no actual application of the next result, see [2, Theorem 1.4.1], it is possible that it has some role, since greatest fixed points are important in computational logic in connection with implementation issues such as negation as failure.In any case, we give a generalization of it to multivalued mappings in Section 4, where we consider generalizations of the Knaster-Tarski theorem as well.

Theorem
Let (D ) be a partially ordered set such that every chain in D has a supremum, let f : D !D be monotonic and let a 2 D be such that a f(a).Then f has a maximal fixed point.

Metric-Like Spaces
The other great fixed-point theorem in mathematics is the well-known Banach contraction mapping theorem.Apart from its applications to the semantics of concurrency and communicating systems, it does not seem to be much used in studying imperative languages.By contrast, it and its generalizations have found quite a lot of interest in logic programming, due to the non-monotonicity introduced by negation, and we consider these next.

Theorem (Banach Contraction Mapping Theorem)
Let (X d) be a complete metric space, let 0 < < 1 and let f : X !X be a function satisfying d(f(x) f (y)) d(x y) for all x y 2 X.Then f has a unique fixed point which can be obtained as the limit of the sequence f n (x) for any x 2 X.
Note that the proof is constructive, i.e. the fixed point is in fact the limit of any sequence of iterates of f.
The Banach theorem has found application to logic programming in [4,19,20], and a multivalued version was considered in [10] and will be discussed in Section 4. In fact, quite a lot of work has been done, some of it by the present authors, in applying generalizations of the Banach theorem in which the axioms in the definition of a metric are relaxed, see [14,19,20], and we briefly consider this next.

Generalized Ultrametric Spaces
The first generalization we consider, and it is a significant one, is obtained by allowing a metric to take values in an arbitrary partially ordered set, rather than just in the real numbers.

Definition
Let X be a set and let ; be a partially ordered set with least element 0. We call (X d) a generalized ultrametric space if d : X X ! ; is a function such that for all x y z 2 X and 2 ; 3rd Irish Workshop on Formal Methods (IWFM-99), EWIC, British Computer Society, 1999.
(1) d(x y) = 0 if and only if x = y, For 0 6 = 2 ; and x 2 X, the set B (x) = fy 2 X j d(x y) g is called a ( -)ball in X.A generalized ultrametric space is called spherically complete if, for any chain (C ) of balls in X, we have x ) for every x 2 X with x 6 = f(x), and (3) strictly contracting if d(f(x) f (y)) < d (x y) for all x y 2 X with x 6 = y.

Theorem (Prieß-Crampe and Ribenboim)
Let (X d) be a spherically complete generalized ultrametric space and let f : X !X be non-expanding and strictly contracting on orbits.Then f has a fixed point.Moreover, if f is strictly contracting on X, then f has a unique fixed point.
This result has been applied to logic programming semantics in [14,19,20], and we next sketch the application we made of it in [19,20].
For a countable ordinal , let ; be the set f2 ; j < g of symbols 2 ; with ordering 2 ; < 2 ; if and only if < .

Definition
Let D be a domain (i.e. a Scott domain with set D c of compact elements, see [22]), let r : D c ! be a function, called a rank function, and denote 2 ; by 0. Define d r : D D ! ; +1 by d r (x y) = i n f f2 ; j c x if and only if c y for every c 2 D c with r(c) < g: Then (D d r ) is called the generalized ultrametric space induced by r.
It is straightforward to see that (D d r ) is indeed a generalized ultrametric space.Indeed, (D d r ) is spherically complete under the additional condition that for each x 2 D and for each ordinal < , the set fc 2 approx(x) j r(c) < g is directed whenever it is non-empty, where approx(x) denotes the set of compact elements c such that c x.
2.12 Theorem (See [19]) Under the condition just stated, (D d r ) is spherically complete.
Using this theorem in conjunction with Theorem 2.10, we showed that a subclass of the locally stratified programs is both computationally adequate (i.e. can compute all partial recursive functions) and has a unique supported model.This subclass we called the strictly level-decreasing programs, and it is rather rare for a class of programs to satisfy both the properties just mentioned simultaneously.

Quasi-Metric Spaces
The next thing one can do to generalize the Banach theorem is to vary the axioms describing the notion of "metric", as already mentioned.There are numerous ways of doing this, but perhaps the most successful is the notion of quasi-metric when taken in conjunction with the associated theorem of Rutten and Smyth, see [16,21].

Definition
A set X together with a function d : X X !R f +1g is called a quasi-pseudo-metric space if for all x y z 2 X (1) d(x x) = 0 , and (2) d(x z) d(x y) + d(y z): A quasi-pseudo-metric space in which the strong triangle inequality d(x y) maxfd(x z) d (z y)g holds for all x y z 2 X, is called a quasi-pseudo-ultrametric space.Consequently, a quasi-pseudoultrametric space which is a quasi-metric space is called a quasi-ultrametric space.
A sequence (x n ) in X is a (forward-) Cauchy-sequence (CS) if, for all " > 0, there exists n 0 2 N such that for all n m n 0 , d(x m x n ) < " : A CS (x n ) converges to x 2 X (written x n !x, or lim x n = x) if, for all y 2 X, d(x y) = lim d(x n y ): Finally, X is called CS-complete if every CS in X converges.
Note that limits of CSs need not be unique.If X is a quasi-metric space, however, it is a standard fact that uniqueness of limits does hold.

Definition
Let X be a quasi-pseudo-metric space.A function f : X !X is called (1) CS-continuous if, for all CSs (x n ) in X with lim x n = x, (f(x n )) is a CS and lim f(x n ) = f(x), (2) non-expanding if d(f(x) f (y)) d(x y) for all x y 2 X, and (3) contractive if there exists some 0 c < 1 such that d(f(x) f (y)) c d(x y) for all x y 2 X.
We are now in a position to state the main fixed-point theorem in the context of quasi-metric spaces.
In this statement, d is the partial order induced on X by the quasi-metric d, where x d y if and only if d(x y) = 0 .

Theorem (Rutten-Smyth)
Let X 6 = be a CS-complete quasi-metric space and let f : X !X be non-expanding.
(1) If f is CS-continuous and there exists x 2 X with x d f(x), then f has a fixed point, and this fixed point is least above x with respect to d .
(2) If f is CS-continuous and contractive, then f has a unique fixed point.
Moreover, in both cases the fixed point can be obtained as the limit of the CS (f n (x)), where in (1) x is the given point, and in (2) x can be chosen arbitrarily.
3rd Irish Workshop on Formal Methods (IWFM-99), EWIC, British Computer Society, 1999.This theorem is important for several reasons, but we will take up just one of them.Let (X ) be a partial order.Define a function d : X X !R by Then it is easily checked that (X d ) is a quasi-ultrametric space, and d is called the discrete quasi-metric on X.Note that d and coincide for a given partial order .
By virtue of these definitions, Part (1) of Theorem 2.15 generalizes the Knaster-Tarski Theorem 2.4.Part (2) generalizes the Banach Contraction Mapping Theorem 2.8.Using this and related results, it was shown in [16,21] that one can combine the two main approaches to the semantics of imperative programs i.e. the partial order approach and the metric approach.The same thing was done in [18] for logic programs, again using Theorem 2.15.

Multivalued Mappings and Disjunctive Programs
We now turn our attention to multivalued mappings.We will see how these naturally arise in questions of semantics in logic programming and database theory, by describing the answer set semantics for disjunctive programs and databases due to Gelfond and Lifschitz [6], see also [11] which we follow closely in giving the definition.In fact, our main results here, and indeed the main new results of this paper, relate the construction of the answer set semantics for a restricted class of disjunctive programs to the supported models of certain normal logic programs which are naturally associated with the disjunctive program.These associated programs we call "normal derivatives", and their supported models can be found by well-established means.Therefore, the process we put forward results in a considerable simplification of the construction of the answer set semantics for the class of disjunctive programs we consider.

The Answer Set Semantics of Gelfond and Lifschitz
Let Lit denote the set of ground literals in some first order language L. In its most general form, a rule r is an expression of the following type l 1 _ _ l n l n+1 ^: : : l m ^notl m+1 ^ notl k where each l i 2 Lit.Given such a rule r, we define Head(r) = fl 1 : : : l n g, Pos(r) = fl n+1 : : : l m g and Neg(r) = fl m+1 : : : l k g.The keyword not may be interpreted either as negation as failure (in which case Pos(r) may contain negative literals) or as classical negation (in which case Pos(r) will contain only positive literals), although later on we restrict it to its latter meaning of classical negation.A rule r is called disjunctive if n 1, so that Head(r) may contain more than one element, and non-disjunctive otherwise.A (disjunctive) program is a set of (disjunctive) rules.Of course, a non-disjunctive program is simply a conventional ground normal logic program.It is usual to allow the presence of function symbols in disjunctive programs, and to reserve the term disjunctive database for those disjunctive programs which do not contain function symbols, and we will observe this convention.Also, one may allow variable symbols to be present in the general definition of a rule.However, as implied by the definition we have adopted, we are in effect going to work with the set of ground instances of each rule, rather than with the rules themselves.Thus, the only difference between a disjunctive program and a disjunctive database is that in the former 3rd Irish Workshop on Formal Methods (IWFM-99), EWIC, British Computer Society, 1999.case we will be handling an infinite set of rules and in the latter case a finite set, and the distinction will not matter.
In order to describe the answer set semantics for disjunctive programs, we first consider programs without negation, not.Thus, let denote a disjunctive program in which Neg(r) is empty for each rule r 2 .A subset X of Lit, i.e.X 2 2 Lit , is said to be closed by rules in if, for every r 2 such that Pos(r) X, we have that Head(r) \X 6 = .The set X 2 2 Lit is called an answer set for if it is closed by rules in and satisfies: 1.If X contains complementary literals, then X = Lit. 2. X is minimal i.e. if A X and A is closed by rules of , then A = X.
We denote the set of answer sets of by ( ).If is not disjunctive, then ( ) is a singleton set.However, if is disjunctive, then ( ) may contain more than one element, and we give an example below to illustrate this phenomenon.Now suppose that is a disjunctive program that may contain not.For a set X 2 2 Lit , consider the program X defined by 1.If r 2 is such that Neg(r) \ X is not empty, then we remove r i.e. r 6 2 X .2. If r 2 is such that Neg(r) \ X is empty, then the rule r 0 belongs to X , where r 0 is defined by Head(r 0 ) = Head(r), Pos(r 0 ) = Pos(r) and Neg(r 0 ) = .It is clear that the program X does not contain not and therefore ( X ) is defined.Following Gelfond and Lifschitz [6], we define the operator GL : 2 Lit ! 2 2 Lit by GL(X) = ( X ).Finally, we say that X is an answer set of if X 2 ( X ) i.e. if X 2 GL(X).In other words, X is an answer set of if it is a fixed point of the multivalued mapping GL.Notice that if is not disjunctive, then ( X ) is a singleton set, as already observed, and so X is an answer set of if and only if X = GL(X).The more general requirement that X 2 GL(X) is the natural, and standard, extension of the notion of fixed point to the case of multivalued functions and operators.Again, we use the notation ( ) for the set of answer sets of in the general case.
It will help to consider an example which illustrates these ideas.
On the other hand, suppose that X is any set of literals which does contain p(0).In this case, the program X is as follows: p(0) _ q(0) : 3rd Irish Workshop on Formal Methods (IWFM-99), EWIC, British Computer Society, 1999.
Again, the only answer sets of X are fp(0)g and fq(0)g.Since X = fp(0)g is an allowable value of X at the moment, we see that fp(0)g is an answer set for , and indeed is the only one other than fq(0)g.Thus, ( ) = ffp(0)g fq(0)gg.
In this example, GL(X) contains the two elements fp(0)g and fq(0)g for any set X of literals, and hence is multivalued.Moreover, both fp(0)g and fq(0)g are fixed points of GL.

Normal Derivatives of Disjunctive Logic Programs
In order to proceed, it will be necessary to restrict attention to a subclass of the disjunctive programs in which we allow only positive ground literals in the rules.Moreover, not will be taken to mean classical negation, :.One immediate effect of this imposition that Head(r) can only contain positive literals (whether or not the restriction on not is imposed) is to restrict the elements of an answer set to be positive literals also, as shown by the following lemma.

Lemma
Suppose that the head of each clause in a disjunctive program contains only positive literals.Then any answer set for contains only positive literals.
Proof: Suppose that X is a set of literals which is closed by rules of .Let Y denote the set which results by removing from X all the negative literals in X.Then Y is closed by rules of .To see this, suppose that r 2 and that Pos(r) Y is true.Then Pos(r) X is also true, and so Head(r)\Y = Head(r)\X 6 = .
Therefore, by minimality, an answer set of can only contain positive literals.
Notice that this lemma makes redundant the condition 1. concerning complementary literals in the first part of the definition of an answer set.
Thus, for the rest of Section 3, the most general form of rule r that we shall consider is the following A 1 _ _ A n B n+1 ^ Bm : B m+1 ^ : B k where all A i B j are atoms.Therefore, we have Head(r) = fA 1 : : : A n g, Pos(r) = fB n+1 : : : B m g and Neg(r) = fB m+1 : : : B k g.
In fact, the members of the class of disjunctive programs thus defined are precisely the disjunctive databases considered in [15].We will continue to use the notation for a typical disjunctive program even with this restriction in place.Hence, denotes a possibly infinite set of rules of the sort just described.The Lemma 3.2 focusses attention on the sets of positive ground literals in the first order language L underlying i.e. on the power set I of the Herbrand base B of .We intend to relate answer sets to supported models of normal logic programs associated with , and Lemma 3.2 will assist us in doing this.Therefore, typical elements of I will be denoted either by I or by X, depending on the context.The first step in the direction we want to go is provided by the following definition, and it will be convenient to write a typical rule r in in the form H r body r .

Definition
Suppose that is a disjunctive logic program.The single-step operator T associated with is the multivalued mapping from I to the power set P(I ) of I defined by: J 2 T (I) if and only if the following conditions are satisfied.
(i) For each rule H r body r in such that I j = body r (i.e.body r is true with respect to I), there exists an A in H r such that A 2 J.
(ii) For all A 2 J, there exists a rule H r body r in such that I j = body r and A belongs to H r .
Notice that this definition reduces to the usual definition of the single-step operator T P in case that is a normal logic program P.

Theorem
Suppose that is a disjunctive logic program.Then we have I 2 T (I), i.e.I is a fixed point of T , if and only if the following conditions are satisfied.
(a) I is a model for , i.e. for every rule H r body r in such that body r is true with respect to I, we have that H r is also true with respect to I.
(b) For every A 2 I, there is a rule H r body r in such that body r is true with respect to I and A 2 H r .
By analogy with the non-disjunctive case, we call an interpretation I (i.e. an element of I ) which fulfills Condition (b) above a supported interpretation.Thus, I 2 T (I) if and only if I is a supported model for .
Proof: Suppose that I 2 T (I) and let H r body r be a rule in such that body r is true with respect to I.For (a), it remains to show that there is an atom A in H r such that A 2 I, which is the case by Condition We now come to one of our main definitions.

Definition
Suppose that is a disjunctive logic program.A normal derivative P of is defined to be a (ground) normal logic program P consisting of possibly infinitely many clauses which satisfies the following conditions.
(a) For every rule H r body r in there exists a clause A body r in P such that A belongs to H r .(b) For every clause A body r in P there is a rule H r body r in such that A belongs H r .Note that Condition (b) simply states that all clauses in P have to be derived from rules in by Condition (a).

Theorem
Let be a disjunctive logic program and let I 2 I .Then J 2 T (I) iff J = T P (I) for some normal derivative P of .
Proof: Let P be a normal derivative of and suppose that J = T P (I).We have to show that J 2 T (I) i.e. that J satisfies Conditions (i) and (ii) of Definition 3.3.
For (i), let H r body r be a rule in such that body r is true with respect to I. By Condition (a) of the previous definition, there exists a clause A body r in P such that A belongs to H r .By definition of T P , we have A 2 J as required.
For (ii), let A be in J. Then there exists a clause A body in P such that body is true with respect to I. By Condition (b) of the previous definition, there exists a rule H body in such that A belongs to H as required.
Conversely, suppose that J 2 T (I) i.e. that J satisfies Conditions (i) and (ii) of Definition 3.3.We have to show that there exists a normal derivative P of such that J = T P (I).To do this, we define the ground normal program P as follows.
(1) Let H r body r be a rule in such that body r is true with respect to I. Then by Condition (i) there is an atom A in H r such that A 2 J. Let P contain all clauses A body r for such A.
(2) For every rule H r body r in such that body r is not true with respect to I, we choose an atom A in H r arbitrarily.Let P contain all clauses A body r thus defined.
Obviously, P is a normal derivative of .Now let A 2 J. Then by (1) there exists a clause A body in P such that body is true with respect to I. Consequently, A 2 T P (I).Conversely, let A 2 T P (I).Then there is a clause A body in P such that body is true with respect to I. By ( 1) and ( 3) there exists a rule H body in such that A belongs to H, and by (1) again, we obtain A 2 J as required.

Important Remark
The previous theorem allows us to conclude the existence of supported models for any given disjunctive program provided any normal derivative of has such a model.In particular, if any normal derivative of is acceptable, see [1,4,8], or strictly level-decreasing, see [20], or locally stratified, see [15,19] or definite, then has at least one supported model.Conversely, if a given disjunctive program has a supported model, there exists a normal derivative of which has a supported model.This fact is important from our point of view since we are focussing on normal derivatives of in the belief that they simplify the study of .
Recall that a disjunctive database is a disjunctive logic program without any function symbols.Thus, consists of only finitely many rules in this case, and we denote their number by n and call it the order of .

Proposition
Let be a disjunctive database of order n = n consisting of the rules r 1 r 2 : : : r n .For every k 2 f 1 : : : n g, let d k denote the number of disjunctions occurring in the head of r k .Then has at most Q n k=1 (2 d k ; 1) normal derivatives.Therefore, for any I 2 I we have jT (I)j Q n k=1 (2 d k ; 1).

Remark
For any disjunctive database which happens to be a normal logic program, the bound in the previous proposition turns out to be 1, so that this bound is sharp.

Normal Derivatives and the Answer Set Semantics
We now return to answer set semantics, and the final results of this section bring together the ideas developed thus far by relating answer sets of and supported models of normal derivatives of .
Proof: Let r 0 2 X be an arbitrary rule.Then there is a rule r in of the form H r body r such that Neg(r) \ X = , Head(r 0 ) = Head(r) and Pos(r 0 ) = Pos(r).Suppose that Pos(r 0 ) X. Then Pos(r) X and therefore X j = body r , since Neg(r) \ X = .But P is a normal derivative of and therefore there must be a clause in P of the form A body r , where A 2 Head(r).By definition of the single-step operator T P , we have A 2 T P (X) and hence we have A 2 X since T P (X) = X.Therefore, Head(r 0 ) \ X = Head(r) \ X 6 = .Thus, X is closed by rules of X as stated.
Thus, in the circumstances of the proposition just established, X will be an answer set for if and only if it is minimal with the property that it is a supported model of some normal derivative of .As already noted in the Introduction, this raises the problem of characterizing those normal derivatives whose fixed points are answer sets for .Indeed, the same problem can be put for all the other semantics which have been proposed for disjunctive programs and databases, and these questions will be pursued elsewhere.

Fixed-Point Theorems for Multivalued Mappings
Despite the possibilities presented by considering normal derivatives, the more obvious approach to finding fixed points of multivalued mappings is to employ fixed-point theorems applicable to them.Thus, in this section we discuss precisely this topic, building on the results we surveyed in Section 2. However, the treatment will necessarily be less complete than that in Section 2 because far fewer results appear to be known for multivalued mappings than for single-valued mappings, and thus we can ask more questions than we can answer.We shall follow the same order of presentation as in Section 2, beginning with theorems that depend on partial orders, and moving progressively through the use of metrics, generalized ultrametrics and, finally, quasi-metric spaces.

Partial Orders
The first result we consider is as follows.It is a generalization of the Knaster-Tarski theorem, Theorem 2.4, and was proved in [11].

Definition
Let (L ) be a complete lattice.Define the preorder r in 2 L by A r B iff for all y 2 B there exists x 2 A such that x y: A multivalued mapping T : L ! 2 L is r -increasing if x y implies T(x) r T(y) for all x y.Let L be an ordered set and let T : L ! 2 L .We say that the family (x ) is a decreasing T-orbit if x +1 2 T(x ) and x +1 x .

Theorem
Let L be a complete lattice and let T be a r -increasing multivalued mapping from L into 2 L satisfying the following two conditions.
For f : X ! 2 X , let x = fd(x y) j y 2 f(x)g and, for a subset ;, denote by Min the set of all minimal elements of .
The following theorem was proved in [14].Although we know of no specific application of it, we believe it will prove to be useful by virtue of the general nature of the set ;.

Theorem
Let (X d ;) be a spherically complete ultrametric space.Let f : X ! 2 X be a non-empty contraction which is strictly contracting on orbits.Moreover, assume that for every x 2 X, Min x is finite and that every element of x has a lower bound in Min x .Then f has a fixed point.

Quasi-Metric Spaces
Just as in the case of single-valued mappings, one can establish fixed-point theorems for multivalued mappings using quasi-metrics.In fact, we present several such in this section, all of which are new and all of which are under investigation in relation to applications to the semantics of disjunctive programs and databases.

Definition
Let (X d) be a quasi-metric space.A multivalued mapping f : X ! 2 X is called a contraction if there exists some 0 k < 1 such that, for all x y 2 X and for all a 2 f(x), there exists b 2 f(y) satisfying d(a b) kd(x y).
A multivalued mapping f on X is called non-expanding if, for all x y 2 X and for all a 2 f(x), there exists b 2 f(y) satisfying d(a b) d(x y).
A multivalued mapping f on X is called CS-continuous if, for every (forward) Cauchy sequence (x n ) in X with limit x and for every choice of y n 2 f(x n ), we have that (y n ) is a (forward) Cauchy sequence and lim y n 2 f(x).4.9 Theorem Let (X d) be a CS-complete quasi-metric space and let f : X ! 2 X be a multivalued contraction which is CS-continuous and non-empty (i.e. for all x 2 X, f(x) 6 = ).Then f has a fixed point.

Proof:
The point x ! is obtained exactly as in the proof of Theorem 4.5.By CS-continuity of f, it follows that x ! is a fixed point of f. 4.10 Theorem Let (X d) be a CS-complete quasi-metric space and let f : X ! 2 X be a non-expanding multivalued mapping which is CS-continuous and non-empty.Suppose that there exists x 0 2 X and y 2 f(x 0 ) with x 0 d y, i.e. such that d(x 0 y ) = 0 .Then f has a fixed point.
Proof: Choose x 1 2 f(x 0 ) such that d(x 0 x 1 ) = 0. Since f is non-expanding, there is some x 2 2 f(x 1 ) with d(x 1 x 2 ) d(x 0 x 1 ) = 0. Inductively, we obtain a sequence (x n ) with d(x n x n+k ) P k;1 i=0 d(x n+i x n+i+1 ) = 0 .Hence, (x n ) is a Cauchy sequence and has a limit x ! .By CS-continuity of f, x ! is a fixed point of f.
We can weaken the assumptions of the previous results and introduce the following notions.

Definition
Let f be a multivalued mapping.A sequence (x n ) in X such that x n+1 2 f(x n ) for all n 2 N is called an !-orbit of f.For a multivalued mapping f defined on a quasi-metric space, we call f orbitally CS-continuous if, for every orbit (x n ) of f which is a Cauchy sequence, we have lim x n 2 f(lim x n ).
is the question of which of our theorems can be given constructive proofs.Other questions can be posed, and indeed all are under investigation and will be considered elsewhere.Thus, we regard this paper as a continuation of a programme of work, begun in [17,18], in which semantical questions within declarative programming are investigated using the tools of domain theory.
(i) of Definition 3.3.Condition (b) follows directly from (ii) of Definition 3.3.Conversely, suppose that Conditions (a) and (b) are satisfied by I. We have to show that I 2 T (I), i.e. that Conditions (i) and (ii) of Definition 3.3 are satisfied for I = J.Both however follow directly from Conditions (a) and (b), respectively.

Proof:
Let r k be a rule in .Every normal derivative P of contains at least one and at most d k clauses generated by r k .Consequently, there are P d 2 d k ; 1 possibilities for clauses in P derived from r k , and the first statement in the conclusion follows immediately from this.The second part of the conclusion now follows from Theorem 3.6.