Results 1 
8 of
8
Correctness of a logic program transformation system
 IBM Research Report RC13496, T.J. Watson Research
, 1987
"... This paper discusses correctness of a simple transformation system for logic programs. The transformation system is based on Unfold/Fold transformations, but differs in the form of folding from Tamaki and Sato’s system. We present three progressively stronger forms of this system and prove progressi ..."
Abstract

Cited by 25 (1 self)
 Add to MetaCart
This paper discusses correctness of a simple transformation system for logic programs. The transformation system is based on Unfold/Fold transformations, but differs in the form of folding from Tamaki and Sato’s system. We present three progressively stronger forms of this system and prove progressively weaker forms of correctness. We give attention to the effects of transformation on finite failure as well as on successful computations. 1
Making Exhaustive Search Programs Deterministic, Part II
 New Generation Computing
"... This paper complements the previous paper \Making Exhaustive Search Programs Deterministic" which showed a systematic method for compiling a Hornclause program for exhaustive search into a GHC program or a Prolog program with no backtracking. This time we present a systematic method for derivi ..."
Abstract

Cited by 20 (4 self)
 Add to MetaCart
(Show Context)
This paper complements the previous paper \Making Exhaustive Search Programs Deterministic" which showed a systematic method for compiling a Hornclause program for exhaustive search into a GHC program or a Prolog program with no backtracking. This time we present a systematic method for deriving a deterministic logic program that simulates coroutining execution of a generateandtest logic program. The class of compilable programs is suciently general, and compiled programs proved to be ecient. The method can also be viewed as suggesting a method of compiling a naive logic program into (very) lowlevel languages.
Egeneralization using grammars
 Artificial intelligence
"... We extend the notion of antiunification to cover equational theories and present a method based on regular tree grammars to compute a finite representation of Egeneralization sets. We present a framework to combine Inductive Logic Programming and Egeneralization that includes an extension of Plo ..."
Abstract

Cited by 9 (0 self)
 Add to MetaCart
(Show Context)
We extend the notion of antiunification to cover equational theories and present a method based on regular tree grammars to compute a finite representation of Egeneralization sets. We present a framework to combine Inductive Logic Programming and Egeneralization that includes an extension of Plotkin’s lgg theorem to the equational case. We demonstrate the potential power of Egeneralization by three example applications: computation of suggestions for auxiliary lemmas in equational inductive proofs, computation of construction laws for given term sequences, and learning of screen editor command sequences. Key words: equational theory, generalization, inductive logic programming 1
Mixing List Recursion and Arithmetic
 Proc. 7th IEEE Symp. on Logic in Computer Science
, 1991
"... We consider in this paper a special class of predicates. Every class predicate, say p, has one argument denoted Y of type list. All the other arguments are integers and form a vector denoted X. The predicates are primitive recursively defined over the structure of Y, and the auxiliary predicates are ..."
Abstract

Cited by 5 (3 self)
 Add to MetaCart
(Show Context)
We consider in this paper a special class of predicates. Every class predicate, say p, has one argument denoted Y of type list. All the other arguments are integers and form a vector denoted X. The predicates are primitive recursively defined over the structure of Y, and the auxiliary predicates are arithmetic relations over the integer arguments. When two atoms of this class, say p 1 (Y, X 1 ) and p 2 (Y, X 2 ), share the same list argument Y, it induces an implicit relation between the integers of X 1 and X 2 . We describe a method for generating under certain conditions an arithmetic expression that characterizes this relation. The method is useful for proving or synthesizing inductive assertions about programs with arrays. 1 Introduction When proving assertions about programs with arrays, one often meets boundary conditions which can be encoded under the following form (~) p 1 (Y, X 1 ):::p n (Y, Xn ) ) a(X 1 [ :::[ Xn ) where Y is a list variable, X 1 ,...,X n are vectors of natu...
Hoare Logic, Executable Specifications, and Logic Programs
, 1992
"... this paper, I present a new method that is based on nonexecutable logic specifications derived from Hoare correctness formulae for logic programs. Logic specifications specify the same programs, they are equivalent to correctness formulae. 2 ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
this paper, I present a new method that is based on nonexecutable logic specifications derived from Hoare correctness formulae for logic programs. Logic specifications specify the same programs, they are equivalent to correctness formulae. 2
Generalizing the QSQR evaluation method for Horn knowledge bases
 New Challenges in Applied Intelligence Technologies, volume 134 of Studies in Computational Intelligence
, 2008
"... Abstract. We generalize the QSQR evaluation method to give a setoriented depthfirst evaluation method for Horn knowledge bases. The resulting procedure closely simulates SLDresolution (to take advantages of the goaldirected approach) and highly exploits setatatime tabling. Our generalized QSQR ..."
Abstract

Cited by 3 (3 self)
 Add to MetaCart
(Show Context)
Abstract. We generalize the QSQR evaluation method to give a setoriented depthfirst evaluation method for Horn knowledge bases. The resulting procedure closely simulates SLDresolution (to take advantages of the goaldirected approach) and highly exploits setatatime tabling. Our generalized QSQR evaluation procedure is sound, complete, and tight. It does not use adornments and annotations. To deal with function symbols, our procedure uses iterative deepening search which iteratively increases termdepth bound for atoms occurring in the computation. When the termdepth bound is fixed, our evaluation procedure runs in polynomial time in the size of extensional relations. 1
Correctness of a Logic Program Transformation
"... This paper discusses correctness of a simple transformation system for logic programs. The transformation system is based on Unfold/Fold transformations, but differs in the form of folding from Tamaki and Sato's system. We present three progressively stronger forms of this system and prove ..."
Abstract
 Add to MetaCart
This paper discusses correctness of a simple transformation system for logic programs. The transformation system is based on Unfold/Fold transformations, but differs in the form of folding from Tamaki and Sato's system. We present three progressively stronger forms of this system and prove progressively weaker forms of correctness. We give attention to the effects of transformation on finite failure as well as on successful computations.
A Unifying View of Structural Induction and Computation Induction for Logic Programs
"... In the framework of Extended Prolog Execution [K&S 86] a rule of Structural Induction is presented. For the induction step the new rule takes advantage of a Prolog program synthesized through ProofExtraction techniques, and rests on extensive use of Negation as Failure Inference for exploiting ..."
Abstract
 Add to MetaCart
In the framework of Extended Prolog Execution [K&S 86] a rule of Structural Induction is presented. For the induction step the new rule takes advantage of a Prolog program synthesized through ProofExtraction techniques, and rests on extensive use of Negation as Failure Inference for exploiting the information contained in the extracted program. We describe how to synthesize Prolog procedures when applying the inference rule and show that they are guaranteed to preserve partial correctness and termination. A comparison is made between the new rule and the rules of Restricted Structural Induction [Fri 90] and Computation Induction [Cla 79], and we note that by an uncomplicated preprocessing of the goal formula and the program the new rule subsumes the two latter rules. 1 Introduction Consider the predicate p(X) defined by the Prolog program P , where X is a vector of variables. Suppose we want to prove that some relation Q(X) holds between the values of the computation. This is express...