A broader interpretation of logic in logic programming

作者: Alan Bundy

DOI:

关键词:

摘要: We argue that the restriction of logic programs to sets Horn clauses, even with negation as failure, is an unacceptable inhibition programmers' expressiveness and forces them make premature procedural commitments. Programmers should be permitted use cull power when specifying programs. In particular, we give examples need for functions, quantification, disjunction predicate variables. Unfortunately, direct interpretation written in such broader logics presents severe difficulties. One route solving this problem treat specifications refine into before executing them. clauses might target programming language. Some refinement techniques can borrowed from formal methods software engineering. This suggests a modification Kowaiski's famous slogan eAl gorithm = Refined(Logic) + Control". illustrate these ideas by describing Nuprl system program synthesis work are doing guide process proof plans.

参考文章(13)
John Wylie Lloyd, Foundations of logic programming ,(1984)
Sharon Sickel, Keith Clark, Predicate logic: a calculus for deriving programs international joint conference on artificial intelligence. pp. 419- 420 ,(1977)
Robert S. Boyer, A computational logic ,(1979)
J.W. Lloyd, R.W. Topor, Making prolog more expressive Journal of Logic Programming. ,vol. 1, pp. 225- 240 ,(1984) , 10.1016/0743-1066(84)90011-6
Robert Kowalski, Algorithm = logic + control Communications of the ACM. ,vol. 22, pp. 424- 436 ,(1979) , 10.1145/359131.359136
John Darlington, A synthesis of several sorting algorithms Acta Informatica. ,vol. 11, pp. 1- 30 ,(1978) , 10.1007/BF00264597
C. A. Goad, Proofs as descriptions of computation 5th Conference on Automated Deduction Les Arcs, France, July 8–11, 1980. pp. 39- 52 ,(1980) , 10.1007/3-540-10009-1_4
C. J. Hogger, Derivation of Logic Programs Journal of the ACM. ,vol. 28, pp. 372- 392 ,(1981) , 10.1145/322248.322258