#### DMCA

## HiLog: A foundation for higher-order logic programming (1993)

Venue: | JOURNAL OF LOGIC PROGRAMMING |

Citations: | 252 - 42 self |

### Citations

995 |
A Formulation of the Simple Theory of Types
- Church
- 1940
(Show Context)
Citation Context ...s higher-order logic programming. From the outset, even the terminology of "higher-orderness" seems ill-defined. A number of works have proposed various higher-order constructs in the logic =-=framework [1, 5, 13, 7, 23, 24, 30, 31, 42, 45]-=- but with such a diversity of syntax and semantics, it is not always clear what kind of higher-orderness is being claimed. In our opinion, there are at least two different facets to the issue: a highe... |

875 | Logical foundations of object-oriented and frame-based languages
- KIFER, LAUSEN, et al.
- 1995
(Show Context)
Citation Context ...ct of data inconsistency. Translation of O-logic into predicate calculus is just a shade more complex; it additionally requires axiomatization of functional attributes and data inconsistency. F-logic =-=[24, 25]-=- takes object-oriented logics to a new dimension by introducing higher-orderness with a first-order semantics, in the same spirit as HiLog. Although it can be encoded in predicate calculus, this encod... |

808 | The semantics of predicate logic as a programming language.
- Emden, Kowalski
- 1976
(Show Context)
Citation Context ...lauses are called definite Horn clauses, and a logic program consisting of only definite clauses is called a definite logic program. For definite logic programs, standard logic programming techniques =-=[54, 4, 35]-=- can be used to define the declarative and procedural semantics. The only difference is the form of atomic formulas and unification (unification is discussed in Section 6.3). For instance, for definit... |

747 |
A mathematical introduction to logic
- Enderton
- 1972
(Show Context)
Citation Context ...in [35]. Although Herbrand interpretations suffice for many of the needs of logic programming, there are at least two important reasons to be interested in a more general notion of semantic structure =-=[16]-=-: programs with equality and the semantics of negation by failure. Recall that, in first-order predicate calculus, a semantic structure M for a language L is a pair ! U; I ?, where U is called the dom... |

682 | Towards a theory of declarative knowledge. In - Apt, Blair, et al. - 1988 |

392 | Definite clause grammars for language analysisâ€”a survey of the formalism and a comparison with augmented transition networks. In - Pereira, Shieber, et al. - 1986 |

371 | An efficient unification algorithm.
- Martelli, Montanari
- 1982
(Show Context)
Citation Context ...a unifier. Definition 6.4 A unifier oe for a set fe 1 ; : : : ; e k g of expressions is most general if and only if for each unifier ` for this set there is a substitutionssuch that ` = oe. Following =-=[39]-=-, we can derive an efficient unification algorithm by solving equations. An equation is of the form t 1 = t 2 , where t 1 ; t 2 are terms. An equation set (possibly empty) is solved if it has the form... |

244 | The alternating fixpoint of logic programs with negation.
- Gelder
- 1989
(Show Context)
Citation Context ... with the use of Theorem 3.3. For logic programs with negation, semantics is defined by choosing one or several of the minimal Herbrand models. For instance, the definitions of well founded semantics =-=[50, 52, 55, 56]-=- and stable model semantics [20] are independent of the notions of atomic formulas and Herbrand bases and thus the same definitions can be applied to HiLog. Some results on negation in HiLog can be fo... |

240 | Unification Revisited", - Lassez, Maher, et al. - 1986 |

231 |
Completeness in the theory of types.
- Henkin
- 1950
(Show Context)
Citation Context ...s higher-order logic programming. From the outset, even the terminology of "higher-orderness" seems ill-defined. A number of works have proposed various higher-order constructs in the logic =-=framework [1, 5, 13, 7, 23, 24, 30, 31, 42, 45]-=- but with such a diversity of syntax and semantics, it is not always clear what kind of higher-orderness is being claimed. In our opinion, there are at least two different facets to the issue: a highe... |

226 |
Private Communication.
- Smith, Jennions
- 1988
(Show Context)
Citation Context ...in functors of all those heads are apply/n. Thus the only filtering would come from the arity of "apply". One approach would be to use partial evaluation techniques to optimize the direct tr=-=anslation [22]. A proble-=-m with this approach is how to treat nonlogical constructs, such as "assert". Another way to improve clause access would be to improve the indexing strategy used by the underlying Prolog sys... |

223 | Proving termination with multiset orderings, - Dershowitz, Manna - 1979 |

211 | Theory of generalized annotated logic programming and its applications.
- KIFER, SUBRAHMANIAN
- 1992
(Show Context)
Citation Context ...hough. For instance, type theory under Henkin's semantics has a proof theory despite the fact that Henkin's semantics is higher-order. In contrast, for certain strains of first-order annotated logics =-=[26, 27]-=- complete proof procedures may not exist, in general. languages is discussed in Section 5. A resolution-based proof theory of HiLog is described in Section 6. 2 Syntax and Semantics of HiLog 2.1 Motiv... |

194 | F-Logic: A Higher-Order language for Reasoning about Objects, Inheritance, and Scheme
- Kifer, Lausen
- 1989
(Show Context)
Citation Context ...as values [7]. Another well-known useful feature is the "call" meta-predicate of Prolog. Applications of higher-order constructs in the database context have been pointed out in many works, =-=including [24, 29, 41]-=-. Although predicate calculus provides the basis for Prolog, it does not have the wherewithal to support any of these features, which consequently have an ad hoc status in logic programming. In this p... |

165 | Higher-order logic programming.
- Miller, Nadathur
- 1986
(Show Context)
Citation Context ...s higher-order logic programming. From the outset, even the terminology of "higher-orderness" seems ill-defined. A number of works have proposed various higher-order constructs in the logic =-=framework [1, 5, 13, 7, 23, 24, 30, 31, 42, 45]-=- but with such a diversity of syntax and semantics, it is not always clear what kind of higher-orderness is being claimed. In our opinion, there are at least two different facets to the issue: a highe... |

156 | Every logic program has a natural stratification and an iterated least fixed point model.
- Przymusinski
- 1989
(Show Context)
Citation Context ... with the use of Theorem 3.3. For logic programs with negation, semantics is defined by choosing one or several of the minimal Herbrand models. For instance, the definitions of well founded semantics =-=[50, 52, 55, 56]-=- and stable model semantics [20] are independent of the notions of atomic formulas and Herbrand bases and thus the same definitions can be applied to HiLog. Some results on negation in HiLog can be fo... |

150 |
The undecidability of the second-order unification problem.
- Goldfarb
- 1981
(Show Context)
Citation Context .... A direct proof can be also obtained as a simple adaptation of the proof in [39]. 2 According to the above theorem, HiLog unification is decidable. The reader may wonder about the result reported in =-=[21]-=- where it is shown that unification becomes undecidable once variables are allowed in places where normally only function symbols are permitted to appear. There is no contradiction, however, with our ... |

110 | A Logic for Reasoning with Inconsistency,
- Kifer, Lozinski
- 1992
(Show Context)
Citation Context ...hough. For instance, type theory under Henkin's semantics has a proof theory despite the fact that Henkin's semantics is higher-order. In contrast, for certain strains of first-order annotated logics =-=[26, 27]-=- complete proof procedures may not exist, in general. languages is discussed in Section 5. A resolution-based proof theory of HiLog is described in Section 6. 2 Syntax and Semantics of HiLog 2.1 Motiv... |

98 |
Foundations of Logic Programming second edition
- Lloyd
- 1987
(Show Context)
Citation Context ...Log language, L, is the set of all ground (i.e., variable-free) HiLog terms in T . Since, terms in HiLog are also atomic formulas, it follows that Herbrand universe is identical to Herbrand base (cf. =-=[35]-=-). This is not a coincidence: if we want to manipulate atomic formulas as terms, the former must be elements of the universe. Now, a Herbrand interpretation is simply a subset of the Herbrand base (j ... |

97 | A Logic for Objects - Maier - 1986 |

96 | Higher-order extensions to PROLOG: Are they needed?, in - Warren - 1982 |

87 |
COL: A logic-based language for complex objects.
- Abiteboul, Grumbach
- 1988
(Show Context)
Citation Context |

74 | Logic Programming with Sets
- Kuper
- 1987
(Show Context)
Citation Context |

60 |
A Logic for Object-Oriented Logic Programming (Maier's 0logic Revisited
- Kifer, Wu
(Show Context)
Citation Context ...g programs. To conclude this comparison, we mention that the alternative semantics for sets in LDL and COL described above is in the same spirit as the semantics described in C-logic [12] and O-logic =-=[28]-=-, although the latter are first-order (object-oriented) languages. It appears thus, that higher-orderness of the syntax of HiLog is inessential in order to simulate sets. However, it is essential for ... |

58 | On the Declarative Semantics of Logic Programs with Negation - Lifschitz - 1988 |

57 |
C-logic for Complex Objects
- Chen, Warren
- 1989
(Show Context)
Citation Context ...ather benign HiLog programs. To conclude this comparison, we mention that the alternative semantics for sets in LDL and COL described above is in the same spirit as the semantics described in C-logic =-=[12]-=- and O-logic [28], although the latter are first-order (object-oriented) languages. It appears thus, that higher-orderness of the syntax of HiLog is inessential in order to simulate sets. However, it ... |

54 | A New Approach to Database Logic - Kuper, Vardi - 1988 |

53 |
What is a model of the lambda calculus?
- Meyer
- 1982
(Show Context)
Citation Context ...edicates or functions of different arities and even as atomic formulas. Thus the same intension can be associated with different extensions in different contexts. For instance, in the Lambda Calculus =-=[40]-=-, a -term is considered a function or an object depending on its syntactic position. In HiLog, the same symbol may denote a predicate, a function, or an atomic formula. Semantics of a type-free logic ... |

39 |
V.: The Stable Model Semantics for Logic
- Gelfond, Lifschitz
- 1988
(Show Context)
Citation Context ...rams with negation, semantics is defined by choosing one or several of the minimal Herbrand models. For instance, the definitions of well founded semantics [50, 52, 55, 56] and stable model semantics =-=[20]-=- are independent of the notions of atomic formulas and Herbrand bases and thus the same definitions can be applied to HiLog. Some results on negation in HiLog can be found in [53]. 4.2 Higher-Order an... |

38 |
HiLog: A First-Order Semantics for Higher-Order Logic Programming Constructs
- Chen, Kifer, et al.
- 1989
(Show Context)
Citation Context ...at kind of higher-orderness is being claimed. In our opinion, there are at least two different facets to the issue: a higher-order This paper is an expanded version of the work previously reported in =-=[10, 11]-=-. y Present address: Computer Science and Engineering, Southern Methodist University, Dallas, TX 75275. z Work of M. Kifer was partially supported by the NSF grant IRI-8903507. syntax and a higher-ord... |

37 |
A Higher-Order Logic as the Basis for Logic Programming
- Nadathur
- 1987
(Show Context)
Citation Context |

34 |
A technique for establishing completeness results in theorem proving with equaility
- Peterson
- 1983
(Show Context)
Citation Context ...og clauses. Note that, unlike [6], we do not include functional reflexivity axioms f(x 1 ; : : : ; x n ) = f(x 1 ; : : : ; x n ) in the formulation of Theorem 6.3. This is possible due to a result in =-=[48] that shows that the-=-se axioms are not needed for completeness of paramodulation. 13 We also note that if S contains no equality atoms then "E-unsatisfiability" can be replaced by "unsatisfiability" an... |

32 | Polym Commun
- Wignall, Wu
- 1983
(Show Context)
Citation Context ...is is why Prolog has the additional constructs it is notorious for. More discussion of this issue appears in Section 8. The following encoding of HiLog in predicate calculus was suggested by James Wu =-=[59]-=-. Given a HiLog language LH with a set of variables V and parameters S, we define L encode P to be a language of predicate calculus with the set of variables V , constant symbols S, a unique predicate... |

25 | The Proper Treatment of Quantification - Montague - 1973 |

24 | Towards a Real Horn Clause Language
- Krishnamurthy, Naqvi
- 1989
(Show Context)
Citation Context ...as values [7]. Another well-known useful feature is the "call" meta-predicate of Prolog. Applications of higher-order constructs in the database context have been pointed out in many works, =-=including [24, 29, 41]-=-. Although predicate calculus provides the basis for Prolog, it does not have the wherewithal to support any of these features, which consequently have an ad hoc status in logic programming. In this p... |

23 | BAROQUE: A Browser for Relational Databases.
- Motro
- 1986
(Show Context)
Citation Context ...as values [7]. Another well-known useful feature is the "call" meta-predicate of Prolog. Applications of higher-order constructs in the database context have been pointed out in many works, =-=including [24, 29, 41]-=-. Although predicate calculus provides the basis for Prolog, it does not have the wherewithal to support any of these features, which consequently have an ad hoc status in logic programming. In this p... |

23 |
Automata-driven indexing of prolog clauses.
- Ramesh, Ramakrishnan, et al.
- 1990
(Show Context)
Citation Context ...ch is how to treat nonlogical constructs, such as "assert". Another way to improve clause access would be to improve the indexing strategy used by the underlying Prolog system, perhaps as pr=-=oposed in [51]-=-. An alternative is to constrain the HiLog programs in such a way as to allow simple compile-time optimizations. One way we are exploring is to restrict the clauses to those whose heads have a nonvari... |

17 | On Negation in HiLog
- Ross
- 1994
(Show Context)
Citation Context ...able model semantics [20] are independent of the notions of atomic formulas and Herbrand bases and thus the same definitions can be applied to HiLog. Some results on negation in HiLog can be found in =-=[53]-=-. 4.2 Higher-Order and Modular Logic Programming Higher-order constructs have been found very useful in programming practice. An example is the maplist of Lisp. It can be defined in HiLog either as a ... |

16 |
A Logical Language for
- Naqvi, Tsur
- 1989
(Show Context)
Citation Context ...is category. Examples of logics with higher-order syntax and semantics include COL [1] and Church's simple theory of types (under the standard and Henkin's semantics) [13, 23]. On the other hand, LDL =-=[5, 46]-=- is a language with a first-order syntax and a higher-order semantics. Let us examine the equational theories underlying various logics more closely. Under a higher-order semantics, an equation betwee... |

13 | A theory of modules based on second-order logic - Chen - 1987 |

12 |
On semantics of stratified deductive databases
- Przymusinski
- 1988
(Show Context)
Citation Context ...ll be rejected: ?- X 2 hobby(thom). ?- person(thom, f chess, tennis g). To cope with this problem, [1] proposes to use an analogue of the notion of local stratification adapted from logic programming =-=[49]-=-. For simplicity, we restrict our attention to COL programs without tuple constructs and such that their finite set-constructs have no variables. Thus, the forms such as f a, b g are allowed, but f a,... |

6 |
HiLog as a Platform for Database Languages (or Why Predicate Calculus Is Not Enough
- Chen, Kifer, et al.
- 1989
(Show Context)
Citation Context ...at kind of higher-orderness is being claimed. In our opinion, there are at least two different facets to the issue: a higher-order This paper is an expanded version of the work previously reported in =-=[10, 11]-=-. y Present address: Computer Science and Engineering, Southern Methodist University, Dallas, TX 75275. z Work of M. Kifer was partially supported by the NSF grant IRI-8903507. syntax and a higher-ord... |

5 |
Type inference by program transformation and partial evaluation
- Fruehwirth
- 1988
(Show Context)
Citation Context ...functor and arg. Still, this program would be much more elegant in HiLog than in Prolog. 4.5 Type Checking Recently, Thom Fruehwirth has pointed out to us that the monomorphic type checking system of =-=[17]-=- can be naturally extended to a polymorphic type checking system for HiLog [18], while expressing general polymorphism in predicate calculus is usually quite cumbersome. The use of HiLog as a language... |

4 | Metarules and an Approach to Conjunction in Definite Clause Translation Grammars - Abramson - 1988 |

3 |
A Procedural Semantics for Well-Founded Negation
- Ross
- 1989
(Show Context)
Citation Context ... with the use of Theorem 3.3. For logic programs with negation, semantics is defined by choosing one or several of the minimal Herbrand models. For instance, the definitions of well founded semantics =-=[50, 52, 55, 56]-=- and stable model semantics [20] are independent of the notions of atomic formulas and Herbrand bases and thus the same definitions can be applied to HiLog. Some results on negation in HiLog can be fo... |

2 |
1982] Contributions to the Theory of
- Apt, Emden
(Show Context)
Citation Context ...lauses are called definite Horn clauses, and a logic program consisting of only definite clauses is called a definite logic program. For definite logic programs, standard logic programming techniques =-=[54, 4, 35]-=- can be used to define the declarative and procedural semantics. The only difference is the form of atomic formulas and unification (unification is discussed in Section 6.3). For instance, for definit... |

1 |
1989] Modules for Logic Programming
- Chen
(Show Context)
Citation Context ...using HiLog, and argue that the latter is computationally more tractable and practically more convenient. Modular logic programming is another application where higher-order logic can be employed. In =-=[7, 8]-=-, a theory of modules is developed based upon standard second-order logic. The semantics of a module is a second-order relation over first-order predicates interpreted as first-order relations. The re... |

1 |
1992] Sorts, Types and Polymorphism in Higher-Order Logic Programming
- Chen, Kifer
- 1992
(Show Context)
Citation Context ...e checking system for HiLog [18], while expressing general polymorphism in predicate calculus is usually quite cumbersome. The use of HiLog as a language for type specification is further explored in =-=[9]-=-. 5 HiLog as a Database Programming Language In this section, we show that HiLog provides an alternative (first-order) semantics to some of the wellknown database languages with higher-order semantics... |

1 |
1989] Polymorphic Type Checking for Prolog
- Fruehwirth
- 1989
(Show Context)
Citation Context ...n Prolog. 4.5 Type Checking Recently, Thom Fruehwirth has pointed out to us that the monomorphic type checking system of [17] can be naturally extended to a polymorphic type checking system for HiLog =-=[18]-=-, while expressing general polymorphism in predicate calculus is usually quite cumbersome. The use of HiLog as a language for type specification is further explored in [9]. 5 HiLog as a Database Progr... |

1 |
1990] Putting HiLog
- Fruehwirth, Warren
(Show Context)
Citation Context ...or the current predicate. Since in HiLog different calls can access various subsets of clauses, the notion of "predicate" is not so well-defined. These and other issues are explored in more =-=detail in [19]-=-. 8 Conclusion: Do We Need Yet Another Logic? Whenever a new logic is proposed, the question is (and should be) raised as to whether yet another logic is needed. Why not just stay with the logics we k... |

1 |
An Extension of LPS to Arbitrary
- Kuper
- 1987
(Show Context)
Citation Context |

1 |
1983] Knowing Intensional Individuals, and Reasoning about Knowing
- Maida
- 1983
(Show Context)
Citation Context ...ntensions can be thought of as names of abstract or concrete entities, while extensions correspond to various roles these entities play in the real world. It has also been argued by Maida and Shapiro =-=[36, 37]-=- that knowledge representation is part of the conceptual structure of cognitive agents, and therefore should not (and even cannot) contain extensions. The reason is that cognitive agents do not have d... |

1 |
1983] An Abstract Prolog Instruction Set, Report 309
- Warren
- 1983
(Show Context)
Citation Context ...of object-oriented databases, the advantage of HiLog as an implementation platform is that it can be relatively easily implemented using one of the already available technologies developed for Prolog =-=[58, 43]-=- or LDL. 6 Proof Theory of HiLog Because of the encoding in Section 3, one can use a proof theory for predicate calculus in order to prove theorems for HiLog. However, a proof theory stated in terms o... |