*This preview shows
page 1. Sign up
to
view the full content.*

**Unformatted text preview: **the least canonical model of P. 2 From Theorem 3.2, it follows that every i-consistent program P has a least canonical model MP . We call MP the intended model of P and say that the declarative semantics of a program is given by its intended model. It can be veri ed that the canonical model MP1 in Example 3.3 is the intended model of P1.
> 59 De nition 3.12 (Logical Entailment) Let P be an ORLog program and A any ground atom. We say that P logically implies A, denoted P j= A, provided A is true in every canonical model of A. We say that two ORLog programs P1 and P2 are
equivalent provided they have the same class of canonical models. 2 3.6 Proof Theory
In this section, we develop a proof theory for ORLog and establish that it is sound and complete with respect to the intended model semantics developed in Section 3.5. Intuitively, our approach to proof theory is summarized by saying that we pre-compute the \closure" (see De nition 3.6.1 for a formal de nition) of an ORLog program P with respect to the set of all is-a, l-, w-, id- and i-atoms that are entailed by P in the sense of De nition 3.12. The rationale for this approach is as follows. (1) We can show that a program is equivalent to its closure. (2) Because of the separation between the , and components of a program, and the static nature of the is-a hierarchy, the closure of an ORLog program can be e ectively pre-computed. (3) This approach makes the determination of inheritability simpler, and helps keep the proof theory modular and cleaner. Besides, we are able to ensure that the inheritability is deterministic. 3.6.1 Closure of a Program
Let P = h i be a de nite ORLog program. We rst de ne a pre-closure of P =h i as follows. Recall that the locality of clauses is not usually supplied by the programmers. By taking the pre-closure, we account for the locality of clauses in P. The pre-closure of a program P is the smallest set of clauses P satisfying P P , and the conditions below. 1. = = . , where
7! 2. Whenever a p-clause p m(a1 : : : ak ) 7! a] r1]q1 : : : rn]qn G 2 G is \is-a free", we have p mk ] r1]q1 : : : rn]qn 2 . 3. p mk > q]
7!s 7!s G 2 =) p mk > q] G 2 . 4. p mk < q] G 2 =) p mk < q] G 2 .
7!d 7!d 60 5. P :: P 6. P :: P 7. P :: P 8. P :: Q P mk ] 2 .
7! P :Q2 . Q:P 2 . P : R R :: Q 2 . For a set of clauses , we let ] denote its ground closure, which is the set of ground atoms derivable in the classical sense from its Herbrand instantiation. Let P =h i be the closure of a program P and let Pg = h ] ] i. It is important to note here that we do not require a ground closure of the component of P , which presumably is the largest component of P . We refer to Pg as the partial ground closure of P . Finally, the closure Pc of a program P is obtained from Pg by applying the operator r as follows. 1.
c = c
7! and
c c = .
c 2. for every o mk ] 2 and p :: o 2 c, r( mk p) = o =) p o@mk ] 2 c .
7! 7! 3. Nothing else is in c. Theorem 3.3 below establishes that a program is equivalent to its closure. equivalent. Proof: We show that an Herbrand structure is a proper model of P i it is a proper model of Pc by showing that there is a one-one relationship between the conditions that an Herbrand structure must satisfy to be proper and the axioms in the set (Pc ; P). Conditions (1) through (4) in de nition 3.8 are satis ed by an Herbrand model M of a program P i M satis es the rules (1) through (8) that are added to the preclosure of P. Rules (9) and (10) added to the closure of P exactly capture condition (6) of de nition 3.8. Since and are logically equivalent, in the sense that considered as programs by themselves, their classes of (classical) Herbrand models are the same, the operator r behaves identically on and . From this, it follows that P and Pc have the same classes of proper models, which implies the theorem. 2 61 Theorem 3.3 Let P be a program, Pc be its closure. Then P and Pc are logically 3.6.2 Proof Rules
In this section we develop a goal directed sequent style proof system for ORLog programs. We adopt this style along the lines of 59, 60]. In Figure 8 below, we present four inference rules which de ne the properties of the proof predicate `. We use the notation Pc ` G to represent the fact that the goal G is derivable from the closed program Pc with a substitution14 , i.e., Pc ` G . Following 60], the structure of the proof rules are as shown below where we read them from bottom up. Note that the application of a proof rule is contingent upon the satisfaction of the conditions speci ed at the right hand side of each rule. The inference gures or proof rules for ORLog are shown in Figures 8 and 9. We use , , etc. to represent most general uni ers, and to represent the empty substitution. 2 denotes the empty goal, which is always true. Our proof theory consists of four inference rules { empty, and, deduction and inheritance. For the sake of clarity, we present the rst three inference rules rst and explain their intuition and our conventions. Then, we present the last inference rule.
(empty) Pc ` 2 ! (and) Pc ` P...

View
Full
Document