Results 1  10
of
16
Nominal Unification
 Theoretical Computer Science
, 2003
"... We present a generalisation of firstorder unification to the practically important case of equations between terms involving binding operations. A substitution of terms for variables solves such an equation if it makes the equated terms #equivalent, i.e. equal up to renaming bound names. For the a ..."
Abstract

Cited by 68 (28 self)
 Add to MetaCart
We present a generalisation of firstorder unification to the practically important case of equations between terms involving binding operations. A substitution of terms for variables solves such an equation if it makes the equated terms #equivalent, i.e. equal up to renaming bound names. For the applications we have in mind, we must consider the simple, textual form of substitution in which names occurring in terms may be captured within the scope of binders upon substitution. We are able to take a `nominal' approach to binding in which bound entities are explicitly named (rather than using nameless, de Bruijnstyle representations) and yet get a version of this form of substitution that respects #equivalence and possesses good algorithmic properties. We achieve this by adapting an existing idea and introducing a key new idea. The existing idea is terms involving explicit substitutions of names for names, except that here we only use explicit permutations (bijective substitutions). The key new idea is that the unification algorithm should solve not only equational problems, but also problems about the freshness of names for terms. There is a simple generalisation of the classical firstorder unification algorithm to this setting which retains the latter's pleasant properties: unification problems involving #equivalence and freshness are decidable; and solvable problems possess most general solutions.
The Recursive Record Semantics of Objects Revisited
 Journal of Functional Programming
, 2001
"... In a callbyvalue language, representing objects as recursive records requires using an unsafe fixpoint. We design, for a core language including extensible records, a type system which rules out unsafe recursion and still supports the reconstruction of a principal type. We illustrate the expressiv ..."
Abstract

Cited by 37 (1 self)
 Add to MetaCart
(Show Context)
In a callbyvalue language, representing objects as recursive records requires using an unsafe fixpoint. We design, for a core language including extensible records, a type system which rules out unsafe recursion and still supports the reconstruction of a principal type. We illustrate the expressive power of this language with respect to objectoriented programming by introducing a sublanguage for "mixinbased" programming.
A Proof Procedure for the Logic of Hereditary Harrop Formulas
 JOURNAL OF AUTOMATED REASONING
, 1993
"... A proof procedure is presented for a class of formulas in intuitionistic logic. These formulas are the socalled goal formulas in the theory of hereditary Harrop formulas. Proof search inintuitionistic logic is complicated by the nonexistence of a Herbrandlike theorem for this logic: formulas cann ..."
Abstract

Cited by 35 (12 self)
 Add to MetaCart
(Show Context)
A proof procedure is presented for a class of formulas in intuitionistic logic. These formulas are the socalled goal formulas in the theory of hereditary Harrop formulas. Proof search inintuitionistic logic is complicated by the nonexistence of a Herbrandlike theorem for this logic: formulas cannot in general be preprocessed into a form such as the clausal form and the construction of a proof is often sensitive to the order in which the connectives and quantifiers are analyzed. An interesting aspect of the formulas we consider here is that this analysis can be carried out in a relatively controlled manner in their context. In particular, the task of finding a proof can be reduced to one of demonstrating that a formula follows from a set of assumptions with the next step in this process being determined by the structure of the conclusion formula. An acceptable implementation of this observation must utilize unification. However, since our formulas may contain universal and existential quantifiers in mixed order, care must be exercised to ensure the correctness of unification. One way of realizing this requirement involves labelling constants and variables and then using these labels to constrain unification. This form of unification is presented and used in a proof procedure for goal formulas in a firstorder version of hereditary Harrop formulas. Modifications to this procedure for the relevant formulas in a higherorder logic are also described. The proof procedure that we present has a practical value in that it provides the basis for an implementation of the logic programming language lambdaProlog.
Connectionbased Theorem Proving in Classical and Nonclassical Logics
 Journal of Universal Computer Science
, 1999
"... Abstract: We present a uniform procedure for proof search in classical logic, intuitionistic logic, various modal logics, and fragments of linear logic. It is based on matrix characterizations of validity in these logics and extends Bibel’s connection method, originally developed for classical logic ..."
Abstract

Cited by 23 (15 self)
 Add to MetaCart
Abstract: We present a uniform procedure for proof search in classical logic, intuitionistic logic, various modal logics, and fragments of linear logic. It is based on matrix characterizations of validity in these logics and extends Bibel’s connection method, originally developed for classical logic, accordingly. Besides combining a variety of different logics it can also be used to guide the development of proofs in interactive proof assistants and shows how to integrate automated and interactive theorem proving. 1
Recursive abstract state machines
 J. of Universal Computer Science
, 1997
"... Abstract: As introduced in the Lipari guide, Abstract State Machines (abbreviated as ASMs) are untyped. This is useful for many purposes. However, typed languages have their own advantages. Types structure the data, type checking uncovers errors. Here we propose a typed version of ASMs. ..."
Abstract

Cited by 19 (3 self)
 Add to MetaCart
Abstract: As introduced in the Lipari guide, Abstract State Machines (abbreviated as ASMs) are untyped. This is useful for many purposes. However, typed languages have their own advantages. Types structure the data, type checking uncovers errors. Here we propose a typed version of ASMs.
On the Design of a Correct Freeness Analysis for Logic Programs
, 1996
"... Several proposals for computing freeness information for logic programs have been put forward in recent literature. The availability of such information has proven useful in a variety of applications, including parallelization of Prolog programs, optimizations in Prolog compilers, as well as for imp ..."
Abstract

Cited by 8 (1 self)
 Add to MetaCart
Several proposals for computing freeness information for logic programs have been put forward in recent literature. The availability of such information has proven useful in a variety of applications, including parallelization of Prolog programs, optimizations in Prolog compilers, as well as for improving the precision of other analyses. While these proposals have illustrated the importance of such analyses, they lack formal justification. Moreover, several have been found incorrect. This paper introduces a novel domain of abstract equation systems describing possible sharing and definite freeness of terms in a system of equations. A simple and intuitive abstract unification algorithm is presented, providing the core of a correct and precise sharing and freeness analysis for logic programs. Our contribution is not only a correct algorithm, but perhaps primarily, the application of a systematic approach in which it is derived by mimicking each step in a suitable concrete unification al...
Binary decision diagrams for first order predicate logic
 JOURNAL OF LOGIC AND ALGEBRAIC PROGRAMMING 57:1–22
, 2003
"... We present an extension of Binary Decision Diagrams (BDDs) such that they can be used for predicate logic. We present a sound and complete proof search method which we apply to a number of examples. ..."
Abstract

Cited by 8 (0 self)
 Add to MetaCart
(Show Context)
We present an extension of Binary Decision Diagrams (BDDs) such that they can be used for predicate logic. We present a sound and complete proof search method which we apply to a number of examples.
An abstract machine for reasoning about situations, actions, and causality
 PROCEEDINGS OF THE INTERNATIONAL WORKSHOP ON EXTENSIONS OF LOGIC PROGRAMMING, VOLUME 1050 OF LECTURE NOTES IN ARTIFICIAL INTELLIGENCE
, 1996
"... Over the last years several new approaches for modeling situations, actions, and causality within a deductive framework were proposed. These new approaches treat the facts about a situation as resources, which are consumed and produced by actions. In this paper we extend one of these approaches, v ..."
Abstract

Cited by 5 (3 self)
 Add to MetaCart
(Show Context)
Over the last years several new approaches for modeling situations, actions, and causality within a deductive framework were proposed. These new approaches treat the facts about a situation as resources, which are consumed and produced by actions. In this paper we extend one of these approaches, viz. an equational logic approach, by reifying actions to become resources as well. Using the concept of a membrane we show how abstractions and hierarchical planning can be modeled in such an equational logic. Moreover, we rigorously prove that the extended equational logic program can be mapped onto the socalled chemical abstract machine [1]. As this machine is a model for parallel processes this may lead to a parallel computational model for reasoning about situations, actions, and causality.
A decision procedure for Direct Predicate Calculus Study and implementation in the system Coq
, 1995
"... The paper of J. Ketonen and R. Weyhrauch[6] defines a decidable fragment of firstorder predicate logic  Direct Predicate Calculus  as the subset which is provable in Gentzen sequent calculus without the contraction rule, and gives an effective decision procedure for it. This report is a detaile ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
The paper of J. Ketonen and R. Weyhrauch[6] defines a decidable fragment of firstorder predicate logic  Direct Predicate Calculus  as the subset which is provable in Gentzen sequent calculus without the contraction rule, and gives an effective decision procedure for it. This report is a detailed study of this procedure. We extend the decidability to nonprenex formulas. We prove that the intuitionnistic fragment is still decidable, with a refinement of the same procedure. An intuitionnistic version has been implemented in the system Coq [2] using a translation into natural deduction.