Meta-level Representations in the IDP Knowledge Base System: Bootstrapping Inference Engine Development
Authors: Bart Bogaerts, Joachim Jansen, Broes De Cat, Gerda Janssens, Maurice Bruynooghe and Marc Denecker
Paper Information
| Title: | Meta-level Representations in the IDP Knowledge Base System: Bootstrapping Inference Engine Development |
| Authors: | Bart Bogaerts, Joachim Jansen, Broes De Cat, Gerda Janssens, Maurice Bruynooghe and Marc Denecker |
| Proceedings: | LaSh 2014 Proceedings |
| Editors: | Emilia Oikarinen, Marc Denecker and David Mitchell |
| Keywords: | FO(.), Meta, Bootstrapping, IDP, Declarative systems |
| Abstract: | ABSTRACT. Declarative systems aim at solving tasks by running inference engines on a specification, to free its 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, in many cases a meta-level representation of those specifications is 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 implemented using the inference it performs itself. One such declarative system is the IDP knowledge base system, based on the language FO(.)IDP, a rich extension of first-order logic. In this paper, we discuss how FO(.)IDP can support meta-level representations in general and which language constructs make those representations even more natural. Afterwards, we show how meta-FO(.)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. |
| Pages: | 14 |
| Talk: | Jul 18 10:45 |
| Paper: | ![]() |
