Higher-Order Logic ProgrammingObject orientated programming languages such as Java and C allow the programmer to create a class which is a set of objects. These classes contain access procedures which can be used to carry out operations on the instances of that class. Object orientated programming is one type of high level programming language; it is popular because of the functionality and capability the language provides so there have been numerous attempts to develop similar functionality and capability into declarative programming languages. Higher-Order Logic Programming languages such as Prolog and Twelf improve the notion of first order logic programming in two ways:
When the code is executed, the result returned is not just True or False, it also produces a proof term as a certificate which can be checked independently. The additional capabilities make higher-order logic programming an ideal tool for implementing and executing formal proof systems which are now in demand for further research in the AI field. The logic programming paradigm also provides the foundation for higher-order notations and principals. One of these is the use of The disadvantages of the improvements of higher-order logic programming are non-trivial implementation problems. In particular, the machine representation and implementation of To overcome the limitations, several features have been embedded into the traditional implementation of Prolog enabling it to support branching in unification as well as forwarding unification problems over their computation steps. The valid representation of The improved computation model handles higher-order unification as well as dynamic terms. One of the most recent developments in higher-order logic programming is Teyjus, which is an improved version of the The new capabilities of higher-order logic programming languages have improved existing theorem proving systems and expanded the horizons for further research in this field. |