Prolog is a well known declarative programming language based on propositional Horn formulas. It is useful in various areas, including artificial intelligence, automated theorem proving, mathematical logic and so on. An active research area for many years is to extend Prolog to larger classes of logic. Some important extensions of it includes the constraint logic programming, and the object oriented logic programming. However, it cannot solve problems having arbitrary quantified Horn formulas. To be precise, the facts, rules and queries in Prolog are not allowed to have arbitrary quantified variables. The paper overcomes this major limitations of Prolog by extending it for the quantified Boolean Horn formulas. We achieved this by extending the SLD-resolution proof system for quantified Boolean Horn formulas, followed by proposing an efficient model for implementation. The paper shows that the proposed implementation also supports the first-order predicate Horn logic with arbitrary quantified variables. The paper also introduces for the first time, a declarative programming for the quantified Boolean Horn formulas.
翻译:Prolog是一种众所周知的宣言性编程语言,它基于推论合角公式。 它在各个领域非常有用, 包括人工智能、 自动理论验证、 数学逻辑等等。 多年来一个积极的研究领域是将Prolog扩展至更大的逻辑类别。 它的一些重要扩展包括约束逻辑编程和以目标为导向的逻辑编程。 但是, 它不能解决任意量化的Horn公式的问题。 确切地说, Prolog中的事实、 规则和查询不允许有任意量化的变量。 该文件通过扩展量化的Boolean Horn公式来克服Prolog的这一重大局限性。 我们通过扩展量化的Boolean Horn公式的SLD分辨率验证系统来实现这一目标, 并随后提出了一个高效的实施模式。 该文件表明,拟议的实施还支持了第一级Horn逻辑, 以及任意量化的变量。 该文件还首次介绍了量化的Boolean Horn公式的宣言性编程。