Using definite clauses and integrity constraints as the basis for a theory formation approach to diagnostic reasoning

  • Randy Goebel
  • Koichi Furukawa
  • David Poole
Session 2b: Inductive Inference And Debugging
Part of the Lecture Notes in Computer Science book series (LNCS, volume 225)


If one desires that an automatic theory formation program detect inconsistency in a set of hypotheses, the Horn clause logic of Prolog is unsuitable as no contradiction is derivable. Full first order logic provides a suitably expressive alternative, but then requires a full first order theorem-prover as the basic theory construction mechanism. Here we present an alternative for augmenting definite clauses with the power to express potentially inconsistent scientific theories. The alternative is based on a partitioning of definite clauses into two categories: ordinary assertions, and integrity constraints. This classification provides the basis for a simple theory formation program. We here describe such a theory formation system based on Prolog, and show how it provides an interesting reformulation of rule-based diagnosis systems like MYCIN.


Logic Program Logic Programming Integrity Constraint Proof Procedure Definite Clause 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [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
  2. [Brown82]
    J.S. Brown, R.R. Burton, and J. de Kleer (1982), Pedagogical, natural language and knowledge engineering techniques in SOPHIE I, II and III, Intelligent Tutoring Systems, J.S. Brown (eds.), Academic Press, New York, 227–282.Google Scholar
  3. [Buchanan84]
    B.G. Buchanan and E.H. Shortliffe (1984, eds.), Rule-Based Expert Systems The MYCIN Experiments of the Stanford Heuristic Programming Project, Addison-Wesley, Reading, Massachusetts.Google Scholar
  4. [Clark78]
    K.L. Clark (1978), Negation as failure, Logic and Data Bases, H. Gallaire and J. Minker (eds.), Plenum Press, New York, 293–322.Google Scholar
  5. [Finger85]
    J.J. Finger and M.R. Genesereth (1985), Residue: a deductive approach to design synthesis, STAN-CS-85-1035, Computer Science Department, Stanford University, Stanford, California, January.Google Scholar
  6. [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
  7. [Goebel85a]
    R.G. Goebel (1985), DLOG: an experimental PROLOG-based database management system, Proceedings of the IFIP Working Conference on Data Bases in the Humanities and Social Sciences, R.F. Allen (ed.), Paradigm Press, New York, 293–306.Google Scholar
  8. [Goebel85b]
    R.G. Goebel (1985), A logic-based data model for the machine representation of knowledge, Ph.D. dissertation, Computer Science Department, The University of British Columbia, Vancouver, British Columbia, October, 253 pages.Google Scholar
  9. [Hammond82]
    P. Hammond (1982), Logic programming for expert systems, DOC 82/4, Department of Computing, Imperial College of Science and Technology, University of London, March.Google Scholar
  10. [Kahn84]
    K.M. Kahn and M. Carlsson (1984), The compilation of Prolog programs without the use of a Prolog compiler, Proceedings of the International Conference on Fifth Generation Computer Systems, November 6–9, Tokyo, Japan, 348–355.Google Scholar
  11. [Kohli83]
    M. Kohli and J. Minker (1983), Intelligent control using integrity constraints, Proceedings of the National Conference on Artificial Intelligence (AAAI-83), August 22–26, University of Maryland/George Washington University, Washinton, D.C., 202–205.Google Scholar
  12. [Lloyd84]
    J.W. Lloyd (1984), Foundations of logic programming, Springer-Verlag, New York.Google Scholar
  13. [Loveland78]
    D.W. Loveland (1978), Automated theorem proving: a logical basis, North-Holland, Amsterdam, The Netherlands.Google Scholar
  14. [Meltzer73]
    B. Meltzer (1973), The programming of deduction and induction, Artificial and Human Thinking, A. Elithorn and D. Jones (eds.), Jossey-Bass, London, England, 19–33.Google Scholar
  15. [Miyachi84]
    T. Miyachi, S. Kunifuji, H. Kitakami, K. Furukawa, A. Takeuchi, and H. Yokota (1984), A knowledge assimiliation method for logic databases, Proceedings of the IEEE International Symposium on Logic Programming, February 6–9, Atlantic City, New Jersey, 118–125.Google Scholar
  16. [Nilsson84]
    N.J. Nilsson (1984), Probabilistic logic, Technical Note 321, Artificial Intelligence Center, SRI International, Menlo Park, California, February.Google Scholar
  17. [Poole86a]
    D.L. Poole (1986), Default reasoning and diagnosis as theory formation, Technical Report CS-86-08, Department of Computer Science, University of Waterloo, Waterloo, Ontario, March.Google Scholar
  18. [Poole86b]
    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
  19. [Pople77]
    H.E. Pople (1977), The formation of composite hypotheses in diagnostic problem solving: an exercise in synthetic reasoning, Proceedings of the Fifth International Joint Conference on Artificial Intelligence, August 22–25, Cambridge, Massachusetts, 1030–1037.Google Scholar
  20. [Popper58]
    K.R. Popper (1958), The Logic of Scientific Discovery, Harper & Row, New York.Google Scholar
  21. [Shapiro83]
    E. Shapiro (1983), Logic programs with uncertainties: a tool for implementing rule-based systems, Proceedings of IJCAI-83, August 8–12, Karlsruhe, Germany, 529–532.Google Scholar
  22. [Shapiro81]
    E.Y. Shapiro (1981), An algorithm that infers theories from facts, Proceedings of the Seventh International Joint Conference on Artificial Intelligence, August 24–28, The University of British Columbia, Vancouver, British Columbia, 446–451.Google Scholar
  23. [Shapiro82]
    E. Y. Shapiro (1982), Algorithmic program debugging, MIT Press, Cambridge, Massachusetts.Google Scholar
  24. [Sterling84]
    L. Sterling (1984), Logical levels of problem solving, Proceedings of the Second International Logic Programming Conference, July 2–6, Uppsala University, Uppsala, Sweden, 231–242.Google Scholar
  25. [Takeuchi85]
    A. Takeuchi and Koichi Furukawa (1985), Partial evaluation of Prolog programs and its application to meta programming, Technical report TR-126, Institute for New Generation Computer Technology, Tokyo, Japan, September [to appear in Lecture Notes in Computer Science, Springer].Google Scholar
  26. [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

Copyright information

© Springer-Verlag Berlin Heidelberg 1986

Authors and Affiliations

  • Randy Goebel
    • 1
  • Koichi Furukawa
    • 2
  • David Poole
    • 1
  1. 1.Logic Programming and AI Group Department of Computer ScienceUniversity of WaterlooWaterlooCanada
  2. 2.First Research LaboratoryInst. for New Generation Computer TechnologyTokyoJapan

Personalised recommendations