Results 1  10
of
10
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 52 (20 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 34 (1 self)
 Add to MetaCart
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 30 (12 self)
 Add to MetaCart
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 22 (14 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 17 (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.
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
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.
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 5 (0 self)
 Add to MetaCart
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.
Effective Metaprogramming in Declarative Languages
, 1998
"... Declarative metaprogramming is vital, since it is the most promising means by which programs can be made to reason about other programs. A metaprogram is a program that takes another program, called the object program, as data. A declarative programming language is a programming language based on a ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
Declarative metaprogramming is vital, since it is the most promising means by which programs can be made to reason about other programs. A metaprogram is a program that takes another program, called the object program, as data. A declarative programming language is a programming language based on a logic that has a model theory. A metaprogram operates on a representation of an object...
The Logic in Computer Science Column
 In Bulletin of the European Association for Theoretical Computer Science
, 1988
"... The famous Herbrand's theorem of mathematical logic plays an important role in automated theorem proving. In the first part of this article, we recall the theorem and formulate a number of natural decision problems related to it. Somewhat surprisingly, these problems happen to be equivalent. One ..."
Abstract
 Add to MetaCart
The famous Herbrand's theorem of mathematical logic plays an important role in automated theorem proving. In the first part of this article, we recall the theorem and formulate a number of natural decision problems related to it. Somewhat surprisingly, these problems happen to be equivalent. One of these problems is the socalled simultaneous rigid Eunification problem. In the second part, we survey recent result on the simultaneous rigid problem.