New Generation Computing

, Volume 34, Issue 3, pp 193–220 | Cite as

Bootstrapping Inference in the IDP Knowledge Base System

  • Bart Bogaerts
  • Joachim Jansen
  • Broes de Cat
  • Gerda Janssens
  • Maurice Bruynooghe
  • Marc Denecker


Declarative systems aim at solving tasks by running inference engines on a specification, to free their users from having to specify how a task should be tackled. In order to provide such functionality, declarative systems themselves apply complex reasoning techniques, and, as a consequence, the development of such systems can be laborious work. In this paper, we demonstrate that the declarative approach can be applied to develop such systems, by tackling the tasks solved inside a declarative system declaratively. In order to do this, a meta-level representation of those specifications is often required. Furthermore, by using the language of the system for the meta-level representation, it opens the door to bootstrapping: an inference engine can be improved using the inference it performs itself.

One such declarative system is the IDP knowledge base system, based on the language \(\rm FO(\cdot)^{\rm IDP}\), a rich extension of first-order logic. In this paper, we discuss how \(\rm FO(\cdot)^{\rm IDP}\) can support meta-level representations in general and which language constructs make those representations even more natural. Afterwards, we show how meta-\(\rm FO(\cdot)^{\rm IDP}\) can be applied to bootstrap its model expansion inference engine. We discuss the advantages of this approach: the resulting program is easier to understand, easier to maintain, and more flexible.


IDP Bootstrapping Declarative Systems Meta \(\rm FO(\cdot)\) 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abramson, H., Rogers, M. H., Meta-programming in logic programming, MIT Press, 1989Google Scholar
  2. 2.
    Apt, K.R., Principles of Constraint Programming, Cambridge University Press, 2003Google Scholar
  3. 3.
    Baral, C.: Knowledge Representation, Reasoning, and Declarative Problem Solving. Cambridge University Press, New York, NY, USA (2003)CrossRefzbMATHGoogle Scholar
  4. 4.
    Bogaerts, B., Jansen, J., De Cat, B., Janssens, G., Bruynooghe, M., Denecker, M., “Meta-level representations in the IDP knowledge base system: Towards bootstrapping inference engine development,” Workshop on Logic and Search 2014 (Mitchell, D., Denecker, M., eds.), pp. 1–14, 2014Google Scholar
  5. 5.
    Bruynooghe, M., Blockeel, H., Bogaerts, B., De Cat, B., De Pooter, S., Jansen, J., Labarre, A., Ramon, J., Denecker, M., Verwer, S., “Predicate logic as a modeling language: modeling and solving some machine learning and data mining problems with IDP3,” TPLP, 15, pp. 783–817, November 2015.Google Scholar
  6. 6.
    Chu, G., Stuckey, P. J., “Structure based extended resolution for constraint programming,” CoRR abs/1306.4418, 2013
  7. 7.
    De Cat, B., Bogaerts, B., Bruynooghe, M., Denecker, M., “Predicate logic as a modelling language: The IDP system,” CoRR abs/1401.6312, 2014
  8. 8.
    De Cat, B., Bruynooghe, M.: “Detection and exploitation of functional dependencies for model generation”. TPLP 13(4–5), 471–485 (2013)MathSciNetzbMATHGoogle Scholar
  9. 9.
    De Cat, B., Denecker, M., Bruynooghe, M., Stuckey, P.J.: “Lazy model expansion: Interleaving grounding with search,” J. Artif. Intell. Res. (JAIR) 52, 235–286 (2015)MathSciNetzbMATHGoogle Scholar
  10. 10.
    De Cat, B., Jansen, J., Janssens, G., “IDP3: Combining symbolic and ground reasoning for model generation,'' in 2nd Workshop on Grounding and Transformations for Theories With Variables, pp. 17–24, 2013Google Scholar
  11. 11.
    Denecker, M., Lierler, Y., Truszczynski, M., Vennekens, J., “A Tarskian informal semantics for answer set programming,'' ICLP (Technical Communications), 17 of LIPIcs., Schloss Dagstuhl - Leibniz- Zentrum fuer Informatik (Dovier, A., Costa, V. S., eds.), pp. 277–289, 2012Google Scholar
  12. 12.
    Denecker, M., Ternovska, E., “A logic of nonmonotone inductive definitions,'' ACM Trans. Comput. Log., 9, 2, 14, April 2008Google Scholar
  13. 13.
    Denecker, M., Vennekens, J., “Building a knowledge base system for an integration of logic programming and classical logic,” ICLP, 5366 of LNCS (García de la Banda, M., Pontelli, E., eds.), Springer, pp. 71–76, 2008Google Scholar
  14. 14.
    Denecker, M., Vennekens, J., “The well-founded semantics is the principle of inductive definition, revisited,” KR (Baral, C., De Giacomo, G., Eiter, T., eds.), AAAI Press, pp. 1–10, 2014Google Scholar
  15. 15.
    Devriendt, J., Bogaerts, B., Bruynooghe, M., Denecker, M., “Improved static symmetry breaking for SAT,” in Theory and Applications of Satisfiability Testing - SAT 2016 - 19th International Conference, Bordeaux, France, July 5-8, 2016, Proceedings, LNCS 9710, (Creignou, N., Le Berre, D., eds.), Springer. (to appear)Google Scholar
  16. 16.
    Devriendt, J., Bogaerts, B., De Cat, B., Denecker, M., Mears, C., “Symmetry propagation: Improved dynamic symmetry breaking in SAT,” in IEEE 24th International Conference on Tools with Artificial Intelligence, ICTAI 2012, Athens, Greece, November 7-9, 2012, IEEE Computer Society, pp. 49–56, 2012Google Scholar
  17. 17.
    Gebser, M., Kaminski, R., Kaufmann, B., Schaub, T.: Answer Set Solving in Practice. Morgan & Claypool Publishers, Synthesis Lectures on Artificial Intelligence and Machine Learning (2012)zbMATHGoogle Scholar
  18. 18.
    Gebser, M., Kaminski, R., Schaub, T.: “Complex optimization in Answer Set Programming”. TPLP 11(4–5), 821–839 (2011)MathSciNetzbMATHGoogle Scholar
  19. 19.
    Gebser, M., Pührer, J., Schaub, T., Tompits, H., “A meta-programming technique for debugging answer-set programs,” in AAAI (Fox, D., Gomes, C.P., eds.), AAAI Press, pp. 448–453, 2008Google Scholar
  20. 20.
    Hill, P. M., Lloyd, J. W., The Gödel programming language, MIT Press, 1994Google Scholar
  21. 21.
    Hudak, P.: “Conception, evolution, and application of functional programming languages,” ACM Comput. Surv. 21(3), 359–411 (1989)CrossRefGoogle Scholar
  22. 22.
    Janhunen, T., Luukkala, V., “Meta programming with answer sets for smart spaces,” in Web Reasoning and Rule Systems, RR 2012, LNCS, 7497, (Krötzsch, M., Straccia, U., eds.), Springer, pp. 106–121, 2012Google Scholar
  23. 23.
    Jansen, J., Jorissen, A., Janssens, G.: “Compiling input * \(\rm FO(\cdot)\) inductive definitions into tabled Prolog rules for IDP3,” TPLP 13(4–5), 691–704 (2013)MathSciNetzbMATHGoogle Scholar
  24. 24.
    Järvisalo, M., Oikarinen, E.: “Extended ASP tableaux and rule redundancy in normal logic programs,” TPLP 8(5–6), 691–716 (2008)MathSciNetzbMATHGoogle Scholar
  25. 25.
    Kowalski, R.: Logic for Problem Solving. The Computer Science Library, vol. 7. Artificial Intelligence Series, North Holland, New York, Oxford (1979)Google Scholar
  26. 26.
    Lloyd, J. W., Foundations of Logic Programming, second edition, Springer, 1987.Google Scholar
  27. 27.
    Syrjänen, T., Lparse 1.0 user's manual.
  28. 28.
    Vandevoorde, D., Josuttis, N., C \(++\) Templates: The Complete Guide, Pearson Education, 2002Google Scholar

Copyright information

© Ohmsha and Springer Japan 2016

Authors and Affiliations

  • Bart Bogaerts
    • 1
  • Joachim Jansen
    • 1
  • Broes de Cat
    • 1
  • Gerda Janssens
    • 1
  • Maurice Bruynooghe
    • 1
  • Marc Denecker
    • 1
  1. 1.Department of Computer ScienceKU LeuvenHeverleeBelgium

Personalised recommendations