Results 1 - 10
of
34
Logical foundations of object-oriented and frame-based languages
- JOURNAL OF THE ACM
, 1995
"... We propose a novel formalism, called Frame Logic (abbr., F-logic), that accounts in a clean and declarative fashion for most of the structural aspects of object-oriented and frame-based languages. These features include object identity, complex objects, inheritance, polymorphic types, query methods, ..."
Abstract
-
Cited by 708 (56 self)
- Add to MetaCart
We propose a novel formalism, called Frame Logic (abbr., F-logic), that accounts in a clean and declarative fashion for most of the structural aspects of object-oriented and frame-based languages. These features include object identity, complex objects, inheritance, polymorphic types, query methods, encapsulation, and others. In a sense, F-logic stands in the same relationship to the objectoriented paradigm as classical predicate calculus stands to relational programming. F-logic has a model-theoretic semantics and a sound and complete resolution-based proof theory. A small number of fundamental concepts that come from object-oriented programming have direct representation in F-logic; other, secondary aspects of this paradigm are easily modeled as well. The paper also discusses semantic issues pertaining to programming with a deductive object-oriented language based on a subset of F-logic.
On the Declarative and Procedural Semantics of Deductive Object-Oriented Systems
- Journal of Intelligent Information Systems
, 1995
"... . We present declarative and procedural semantics for a deductive object-oriented language, Gulog. The declarative semantics is based on preferred minimal models. We describe both bottom-up and top-down query evaluation procedures and show that they are sound with respect to the declarative semantic ..."
Abstract
-
Cited by 31 (1 self)
- Add to MetaCart
. We present declarative and procedural semantics for a deductive object-oriented language, Gulog. The declarative semantics is based on preferred minimal models. We describe both bottom-up and top-down query evaluation procedures and show that they are sound with respect to the declarative semantics. The results contribute to our understanding of the interaction of inheritance, overriding and deduction in the presence of both functional and set-valued methods, and multiple inheritance. Keywords: complex objects, deductive databases, fixpoint semantics, procedural semantics, knowledge bases, object-oriented databases, rule based 1. Introduction The aim of this paper is to propose a simple mathematical foundation for objectoriented systems with deduction. In particular, we present a declarative and procedural semantics for a simple language that includes classes, objects, functional and set-valued methods, (multiple) inheritance, overriding, and derived methods and predicates with the...
Polymorphically Typed Logic Programs
- Types in Logic Programming
, 1991
"... We introduce polymorphically typed logic programs, an integration of a polymorphic type system with logic programs. The first-order notion of predicates is extended to parametric predicates, which are parameterized by types. The type system accommodates both subtypes and parametric polymorphism. It ..."
Abstract
-
Cited by 25 (2 self)
- Add to MetaCart
We introduce polymorphically typed logic programs, an integration of a polymorphic type system with logic programs. The first-order notion of predicates is extended to parametric predicates, which are parameterized by types. The type system accommodates both subtypes and parametric polymorphism. It unifies features of value-based and name-based approaches. The denotation of a typed logic program is given by its type completion, a transformation that incorporates explicit type conditions into a parametric logic program. The result of the transformation is a restricted form of a HiLog program. We give fixpoint semantics to our language (actually to full HiLog). We define a notion of well-typing, which relates type declarations for predicates in the program to an approximation of the denotation of the type completed program. We present a type-checking algorithm for verifying that a program is indeed well-typed. Finally we discuss some extensions to the type system.
Type Inferencing for Polymorphic Order-Sorted Logic Programs
- PROCEEDINGS OF THE TWELFTH INTERNATIONAL CONFERENCE ON LOGIC PROGRAMMING
, 1995
"... The purpose of this paper is to study the problem of complete type inferencing for polymorphic order-sorted logic programs. We show that previous approaches are incomplete even if one does not employ the full power of the used type systems. We present a complete type inferencing algorithm that cover ..."
Abstract
-
Cited by 23 (0 self)
- Add to MetaCart
The purpose of this paper is to study the problem of complete type inferencing for polymorphic order-sorted logic programs. We show that previous approaches are incomplete even if one does not employ the full power of the used type systems. We present a complete type inferencing algorithm that covers the polymorphic order-sorted types in PROTOS-L, a logic programming language that allows for polymorphism as in ML and for hierarchically structured monomorphic types.
A First-Order Theory of Types and Polymorphism in Logic Programming
- Department of Computer Science, University at Stony Brook
, 1990
"... We describe a new logic called typed predicate calculus (T PC) that gives declarative meaning to logic programs with type declarations and type inference. T PC supports all popular types of polymorphism, such as parametric, inclusion, and ad hoc polymorphism. The proper interaction between parametri ..."
Abstract
-
Cited by 11 (5 self)
- Add to MetaCart
We describe a new logic called typed predicate calculus (T PC) that gives declarative meaning to logic programs with type declarations and type inference. T PC supports all popular types of polymorphism, such as parametric, inclusion, and ad hoc polymorphism. The proper interaction between parametric and inclusion varieties of polymorphism is achieved through a new construct, called type dependency, which is reminiscent of implication types of [PR89] but yields more natural and succinct specifications. Unlike other proposals where typing has extra-logical status, in T PC the notion of type-correctness has precise model-theoretic meaning that is independent of any specific type-checking or type-inference procedure. Moreover, many different approaches to typing that were proposed in the past can be studied and compared within the framework of our logic. As an illustration, we apply T PC to interpret and compare the results reported in [MO84, Smo88, HT90, Mis84, XW88]. Another novel featu...
Inference of Well-typings for Logic Programs with Application to Termination Analysis
, 2005
"... This paper develops a method to infer a polymorphic well-typing for a logic program. One of the main motivations is to contribute to a better automation of termination analysis in logic programs, by deriving types from which norms can automatically be constructed. Previous work on type-based termina ..."
Abstract
-
Cited by 11 (6 self)
- Add to MetaCart
This paper develops a method to infer a polymorphic well-typing for a logic program. One of the main motivations is to contribute to a better automation of termination analysis in logic programs, by deriving types from which norms can automatically be constructed. Previous work on type-based termination analysis used either types declared by the user, or automatically generated monomorphic types describing the success set of predicates. Declared types are typically more precise and result in stronger termination conditions than those obtained with inferred types. Our type inference procedure involves solving set constraints generated from the program and derives a well-typing in contrast to a success-set approximation. Experiments show that our automatically inferred well-typings are close to the declared types and thus result in termination conditions that are as good as those obtained with declared types for all our experiments to date. We describe the method, its implementation and experiments with termination analysis based on the inferred types.
Knowledge Representation, Computation, and Learning in Higher-order Logic
- In preparation
, 2001
"... This paper contains a systematic study of the foundations of knowledge representation, computation, and learning in higher-order logic. First, a polymorphically-typed higher-order logic, whose origins can be traced back to Church's simple theory of types, is presented. A model theory and proof theor ..."
Abstract
-
Cited by 10 (7 self)
- Add to MetaCart
This paper contains a systematic study of the foundations of knowledge representation, computation, and learning in higher-order logic. First, a polymorphically-typed higher-order logic, whose origins can be traced back to Church's simple theory of types, is presented. A model theory and proof theory for this logic are developed and basic theorems relating these two are given. A metric space of certain closed terms, which provides a rich language for representing individuals, is then studied. Also a method of systematically constructing predicates on such individuals is given. The technique of programming with abstractions is illustrated. Major applications of the logic to declarative programming languages and machine learning are indicated. 1
Type Checking and Type Inferencing for Logic Programs with Subtypes and Parametric Polymorphism
- Subtypes and Parametric Polymorphism, Informatik Berichte 200, Fern Universitat
, 1996
"... We analyze basic shortcomings of existing proposals for type checking and type inferencing in logic programming languages. A new type system is presented using simple and declarative type annotations. It includes parametric polymorphism and subtyping. Static type checking and inferencing within the ..."
Abstract
-
Cited by 9 (2 self)
- Add to MetaCart
We analyze basic shortcomings of existing proposals for type checking and type inferencing in logic programming languages. A new type system is presented using simple and declarative type annotations. It includes parametric polymorphism and subtyping. Static type checking and inferencing within the new type system is able to detect more programming errors than in other comparable systems. Our approach is independent of a specific resolution calculus and therefore applicable to a wide range of logic languages. A type inferencing algorithm is presented for reconstructing variable typings. As a concrete instance, the results were applied to unrestricted standard Prolog with type annotations, for which a type checking and type inferencing tool is available. This report is part of the documentation for a type checking tool available at !URL:http://www.fernuni-hagen.de/pi8/typical/?. It is complemented by a report "On the Use of Types in Logic Programming" [Mey96]. Research supported by ...
Using Modes to Ensure Subject Reduction for Typed Logic Programs with Subtyping
, 2000
"... We consider a general prescriptive type system with parametric polymorphism and subtyping for logic programs. The property of subject reduction expresses the consistency of the type system w.r.t. the execution model: if a program is well-typed, then all derivations starting in a well-typed goal are ..."
Abstract
-
Cited by 8 (7 self)
- Add to MetaCart
We consider a general prescriptive type system with parametric polymorphism and subtyping for logic programs. The property of subject reduction expresses the consistency of the type system w.r.t. the execution model: if a program is well-typed, then all derivations starting in a well-typed goal are again well-typed. It is well-established that without subtyping, this property is readily obtained for logic programs w.r.t. their standard (untyped) execution model. Here we give syntactic conditions that ensure subject reduction also in the presence of general subtyping relations between type constructors. The idea is to consider logic programs with a xed dataow, given by modes.
A model for inheritance and overriding in deductive object-oriented systems (Extended Abstract)
, 1993
"... We present a simple model for deductive objectoriented systems with inheritance and overriding. In this model we define a declarative semantics based on preferred minimal models, we present bottom-up and top-down procedures for query evaluation, and we note that these procedures are sound with respe ..."
Abstract
-
Cited by 8 (2 self)
- Add to MetaCart
We present a simple model for deductive objectoriented systems with inheritance and overriding. In this model we define a declarative semantics based on preferred minimal models, we present bottom-up and top-down procedures for query evaluation, and we note that these procedures are sound with respect to the declarative semantics. 1 Introduction The object-oriented approach to systems analysis and design, software development, and data modelling has recently attracted considerable interest. Although many object-oriented CASE tools, programming languages, and database systems have been implemented and usefully applied, theoreticians remain concerned that object-oriented systems lack the kind of simple mathematical foundation possessed by functional programming languages or relational database systems. In addition, those object-oriented database systems that have been implemented lack the kind of deductive component that has proved so useful for views in relational database systems and ...

