Results 1  10
of
125
InductiveDataType Systems
, 2002
"... In a previous work ("Abstract Data Type Systems", TCS 173(2), 1997), the leI two authors presented a combined lmbined made of a (strongl normal3zG9 alrmal rewrite system and a typed #calA#Ik enriched by patternmatching definitions folnitio a certain format,calat the "General Schem ..."
Abstract

Cited by 817 (24 self)
 Add to MetaCart
In a previous work ("Abstract Data Type Systems", TCS 173(2), 1997), the leI two authors presented a combined lmbined made of a (strongl normal3zG9 alrmal rewrite system and a typed #calA#Ik enriched by patternmatching definitions folnitio a certain format,calat the "General Schema", whichgeneral39I theusual recursor definitions fornatural numbers and simil9 "basic inductive types". This combined lmbined was shown to bestrongl normalIk39f The purpose of this paper is toreformul33 and extend theGeneral Schema in order to make it easil extensibl3 to capture a more general cler of inductive types, cals, "strictly positive", and to ease the strong normalgAg9Ik proof of theresulGGg system. Thisresul provides a computation model for the combination of anal"DAfGI specification language based on abstract data types and of astrongl typed functional language with strictly positive inductive types.
Stable models and an alternative logic programming paradigm
 In The Logic Programming Paradigm: a 25Year Perspective
, 1999
"... In this paper we reexamine the place and role of stable model semantics in logic programming and contrast it with a least Herbrand model approach to Horn programs. We demonstrate that inherent features of stable model semantics naturally lead to a logic programming system that offers an interesting ..."
Abstract

Cited by 303 (20 self)
 Add to MetaCart
In this paper we reexamine the place and role of stable model semantics in logic programming and contrast it with a least Herbrand model approach to Horn programs. We demonstrate that inherent features of stable model semantics naturally lead to a logic programming system that offers an interesting alternative to more traditional logic programming styles of Horn logic programming, stratified logic programming and logic programming with wellfounded semantics. The proposed approach is based on the interpretation of program clauses as constraints. In this setting programs do not describe a single intended model, but a family of stable models. These stable models encode solutions to the constraint satisfaction problem described by the program. Our approach imposes restrictions on the syntax of logic programs. In particular, function symbols are eliminated from the language. We argue that the resulting logic programming system is wellattuned to problems in the class NP, has a welldefined domain of applications, and an emerging methodology of programming. We point out that what makes the whole approach viable is recent progress in implementations of algorithms to compute stable models of propositional logic programs. 1
Type Inference with Polymorphic Recursion
 Transactions on Programming Languages and Systems
, 1991
"... The DamasMilner Calculus is the typed Acalculus underlying the type system for ML and several other strongly typed polymorphic functional languages such as Mirandal and Haskell. Mycroft has extended its problematic monomorphic typing rule for recursive definitions with a polymorphic typing rule. H ..."
Abstract

Cited by 142 (2 self)
 Add to MetaCart
(Show Context)
The DamasMilner Calculus is the typed Acalculus underlying the type system for ML and several other strongly typed polymorphic functional languages such as Mirandal and Haskell. Mycroft has extended its problematic monomorphic typing rule for recursive definitions with a polymorphic typing rule. He proved the resulting type system, which we call the MilnerMycroft Calculus, sound with respect to Milner’s semantics, and showed that it preserves the principal typing property of the DamasMilner Calculus. The extension is of practical significance in typed logic programming languages and, more generally, in any language with (mutually) recursive definitions. In this paper we show that the type inference problem for the MilnerMycroft Calculus is logspace equivalent to semiunification, the problem of solving subsumption inequations between firstorder terms. This result has been proved independently by Kfoury et al. In connection with the recently established undecidability of semiunification this implies that typability in the MilnerMycroft Calculus is undecidable. We present some reasons why type inference with polymorphic recursion appears to be practical despite its undecidability. This also sheds some light on the observed practicality of ML
Unification: A multidisciplinary survey
 ACM Computing Surveys
, 1989
"... The unification problem and several variants are presented. Various algorithms and data structures are discussed. Research on unification arising in several areas of computer science is surveyed, these areas include theorem proving, logic programming, and natural language processing. Sections of the ..."
Abstract

Cited by 120 (1 self)
 Add to MetaCart
The unification problem and several variants are presented. Various algorithms and data structures are discussed. Research on unification arising in several areas of computer science is surveyed, these areas include theorem proving, logic programming, and natural language processing. Sections of the paper include examples that highlight particular uses
Higherorder Unification via Explicit Substitutions (Extended Abstract)
 Proceedings of LICS'95
, 1995
"... Higherorder unification is equational unification for βηconversion. But it is not firstorder equational unification, as substitution has to avoid capture. In this paper higherorder unification is reduced to firstorder equational unification in a suitable theory: the &lambda ..."
Abstract

Cited by 105 (13 self)
 Add to MetaCart
Higherorder unification is equational unification for &beta;&eta;conversion. But it is not firstorder equational unification, as substitution has to avoid capture. In this paper higherorder unification is reduced to firstorder equational unification in a suitable theory: the &lambda;&sigma;calculus of explicit substitutions.
PartitionBased Logical Reasoning for FirstOrder and Propositional Theories
 Artificial Intelligence
, 2000
"... In this paper we provide algorithms for reasoning with partitions of related logical axioms in propositional and firstorder logic (FOL). We also provide a greedy algorithm that automatically decomposes a set of logical axioms into partitions. Our motivation is twofold. First, we are concerned with ..."
Abstract

Cited by 60 (9 self)
 Add to MetaCart
(Show Context)
In this paper we provide algorithms for reasoning with partitions of related logical axioms in propositional and firstorder logic (FOL). We also provide a greedy algorithm that automatically decomposes a set of logical axioms into partitions. Our motivation is twofold. First, we are concerned with how to reason e#ectively with multiple knowledge bases that have overlap in content. Second, we are concerned with improving the e#ciency of reasoning over a set of logical axioms by partitioning the set with respect to some detectable structure, and reasoning over individual partitions. Many of the reasoning procedures we present are based on the idea of passing messages between partitions. We present algorithms for reasoning using forward messagepassing and using backward messagepassing with partitions of logical axioms. Associated with each partition is a reasoning procedure. We characterize a class of reasoning procedures that ensures completeness and soundness of our messagepassing ...
Explaining Type Inference
 Science of Computer Programming
, 1995
"... Type inference is the compiletime process of reconstructing missing type information in a program based on the usage of its variables. ML and Haskell are two languages where this aspect of compilation has enjoyed some popularity, allowing type information to be omitted while static type checking is ..."
Abstract

Cited by 60 (0 self)
 Add to MetaCart
(Show Context)
Type inference is the compiletime process of reconstructing missing type information in a program based on the usage of its variables. ML and Haskell are two languages where this aspect of compilation has enjoyed some popularity, allowing type information to be omitted while static type checking is still performed. Type inference may be expected to have some application in the prototyping and scripting languages which are becoming increasingly popular. A difficulty with type inference is the confusing and sometimes counterintuitive diagnostics produced by the type checker as a result of type errors. A modification of the HindleyMilner type inference algorithm is presented, which allows the specific reasoning which led to a program variable having a particular type to be recorded for type explanation. This approach is close to the intuitive process used in practice for debugging type errors. 1 Introduction Type inference refers to the compiletime process of reconstructing missing t...
SemanticsBased Translation Methods for Modal Logics
, 1991
"... A general framework for translating logical formulae from one logic into another logic is presented. The framework is instantiated with two different approaches to translating modal logic formulae into predicate logic. The first one, the well known ‘relational’ translation makes the modal logic’s po ..."
Abstract

Cited by 44 (1 self)
 Add to MetaCart
(Show Context)
A general framework for translating logical formulae from one logic into another logic is presented. The framework is instantiated with two different approaches to translating modal logic formulae into predicate logic. The first one, the well known ‘relational’ translation makes the modal logic’s possible worlds structure explicit by introducing a distinguished predicate symbol to represent the accessibility relation. In the second approach, the ‘functional ’ translation method, paths in the possible worlds structure are represented by compositions of functions which map worlds to accessible worlds. On the syntactic level this means that every flexible symbol is parametrized with particular terms denoting whole paths from the initial world to the actual world. The ‘target logic’ for the translation is a firstorder manysorted logic with built in equality. Therefore the ‘source logic’ may also be firstorder manysorted with built in equality. Furthermore flexible function symbols are allowed. The modal operators may be parametrized with arbitrary terms and particular properties of the accessibility relation may be specified within the
A NonReified Temporal Logic
, 1989
"... A temporal logic is presented for reasoning about propositions whose truth values might change as a function of time. The temporal propositions consist of formulae in a sorted firstorder logic, with each atomic predicate taking some set of temporal arguments as well as a set of nontemporal argument ..."
Abstract

Cited by 36 (1 self)
 Add to MetaCart
A temporal logic is presented for reasoning about propositions whose truth values might change as a function of time. The temporal propositions consist of formulae in a sorted firstorder logic, with each atomic predicate taking some set of temporal arguments as well as a set of nontemporal arguments. The temporal arguments serve to specify the predicate's dependence on time. By partitioning the terms of the language into two sorts, temporal and nontemporal, time is given a special syntactic and semantic status without having to resort to reification. The benefits of this logic are that it has a clear semantics and a well studied prooftheory. Unlike the firstorder logic presented by Shoham, propositions can be expressed and interpreted with respect to any number of temporal arguments, not just with respect to a pair of time points (an interval). We demonstrate the advantages of this flexibility. In addition, nothing is lost by this added flexibility and more standard and useable syn...