Gracefully adding negation and disjunction to Prolog
We show how one can add negation and disjunction to Prolog, with the property that there is no overhead in run time if we do not use the negation, and we only pay for the negation when we actually use it. The extension is based on Loveland's MESON proof procedure, which requires that a negative ancestor search and availability of contrapostive forms of formulae be added to Prolog. We identify a property of literals that can be statically determined, in order to avoid using the full generality of the full clausal proof procedure when not required.
KeywordsLogic Program Predicate Symbol Horn Clause Proof Tree Proof Procedure
Unable to display preview. Download preview PDF.
- [Bowen82]K. Bowen and R.A. Kowalski (1982), Amalgamating language and metalanguage in logic programming, btLogic Programming, A.P.I.C. Studies in Data Processing 16, K.L. Clark and S.-A. Tarnlund (eds.), Academic Press, New York, 153–172.Google Scholar
- [Bowen85]K.A. Bowen and T. Weinberg (1985), A meta-level extension of Prolog, IEEE 1985 Symposium on Logic Programming, July 15–18, Boston, Massachusetts, 48–53.Google Scholar
- [Chang73]C.L. Chang and R.C.T. Lee (1973), Symbolic Logic and Mechanical Theorem Proving, Academic Press, New York.Google Scholar
- [Genesereth85]M.R. Genesereth (1985), The use of design descriptions in automated diagnosis, Qualitative Reasoning about Physical Systems, D.G. Bobrow (eds.), MIT Press, Cambridge, Massachusetts, 411–436.Google Scholar
- [Loveland78]D.W. Loveland (1978), Automated theorem proving: a logical basis, North-Holland, Amsterdam, The Netherlands.Google Scholar
- [Poole84]D. Poole (1984), Making “clausal” theorem provers “non-clausal”, Proceedings of the Fifth Biennal Conference of the Canadian Society for the Computational Studies of Intelligence, May 15–17, University of Western Ontario, London, Ontario, 124–126.Google Scholar
- [Poole86]D.L. Poole, R.G. Goebel, and R. Aleliunas (1986), Theorist: a logical reasoning system for defaults and diagnosis, Knowledge Representation, N.J. Cercone and G. McCalla (eds.), Springer-Verlag, New York [invited chapter, submitted September 10, 1985].Google Scholar
- [Robinson65]J.A. Robinson (1965), A machine-oriented logic based on the resolution principle, ACM Journal 12(1), 23–41.Google Scholar
- [Robinson79]J.A. Robinson (1979), Logic: Form and Function, Artificial Intelligence Series 6, Elsevier North Holland, New York.Google Scholar
- [Umrigar85]Z.D. Umrigar and V. Pitchumani (1985), An experiment in programming with full first-order logic, IEEE 1985 Symposium on Logic Programming, July 15–18, Boston, Massachusetts, 40–47.Google Scholar