Results 1 - 10
of
12
Higher-order logic programming
- HANDBOOK OF LOGIC IN AI AND LOGIC PROGRAMMING, VOLUME 5: LOGIC PROGRAMMING. OXFORD (1998
"... ..."
Unification under a mixed prefix
- Journal of Symbolic Computation
, 1992
"... Unification problems are identified with conjunctions of equations between simply typed λ-terms where free variables in the equations can be universally or existentially quantified. Two schemes for simplifying quantifier alternation, called Skolemization and raising (a dual of Skolemization), are pr ..."
Abstract
-
Cited by 109 (12 self)
- Add to MetaCart
Unification problems are identified with conjunctions of equations between simply typed λ-terms where free variables in the equations can be universally or existentially quantified. Two schemes for simplifying quantifier alternation, called Skolemization and raising (a dual of Skolemization), are presented. In this setting where variables of functional type can be quantified and not all types contain closed terms, the naive generalization of firstorder Skolemization has several technical problems that are addressed. The method of searching for pre-unifiers described by Huet is easily extended to the mixed prefix setting, although solving flexible-flexible unification problems is undecidable since types may be empty. Unification problems may have numerous incomparable unifiers. Occasionally, unifiers share common factors and several of these are presented. Various optimizations on the general unification search problem are as discussed. 1.
Higher-order Unification via Explicit Substitutions (Extended Abstract)
- Proceedings of LICS'95
, 1995
"... Higher-order unification is equational unification for βη-conversion. But it is not first-order equational unification, as substitution has to avoid capture. In this paper higher-order unification is reduced to first-order equational unification in a suitable theory: the λσ-cal ..."
Abstract
-
Cited by 95 (11 self)
- Add to MetaCart
Higher-order unification is equational unification for βη-conversion. But it is not first-order equational unification, as substitution has to avoid capture. In this paper higher-order unification is reduced to first-order equational unification in a suitable theory: the λσ-calculus of explicit substitutions.
Unification of simply typed lambda-terms as logic programming
- In Eighth International Logic Programming Conference
, 1991
"... The unification of simply typed λ-terms modulo the rules of β- and η-conversions is often called “higher-order ” unification because of the possible presence of variables of functional type. This kind of unification is undecidable in general and if unifiers exist, most general unifiers may not exist ..."
Abstract
-
Cited by 52 (3 self)
- Add to MetaCart
The unification of simply typed λ-terms modulo the rules of β- and η-conversions is often called “higher-order ” unification because of the possible presence of variables of functional type. This kind of unification is undecidable in general and if unifiers exist, most general unifiers may not exist. In this paper, we show that such unification problems can be coded as a query of the logic programming language Lλ in a natural and clear fashion. In a sense, the translation only involves explicitly axiomatizing in Lλ the notions of equality and substitution of the simply typed λ-calculus: the rest of the unification process can be viewed as simply an interpreter of Lλ searching for proofs using those axioms. 1
Higher-Order Positive Set Constraints
- In 16th Int. Workshop Computer Science Logic (CSL
, 2002
"... We introduce a natural notion of positive set constraints on simplytyped -terms. We show that satisfiability of these so-called positive higher-order set constraints is decidable in 2-NEXPTIME. We explore a number of subcases solvable in 2-DEXPTIME, among which higher-order definite set constrai ..."
Abstract
-
Cited by 7 (2 self)
- Add to MetaCart
We introduce a natural notion of positive set constraints on simplytyped -terms. We show that satisfiability of these so-called positive higher-order set constraints is decidable in 2-NEXPTIME. We explore a number of subcases solvable in 2-DEXPTIME, among which higher-order definite set constraints, a.k.a., emptiness of higher-order pushdown processes. This uses a first-order clause format on so-called shallow higher-order patterns, and automated deduction techniques based on ordered resolution with splitting. This technique is then applied to the task of approximating success sets for a restricted subset of - Prolog, a la Fr uhwirth et al.
A Transformation System Combining Partial Evaluation with Term Rewriting
- In Higher Order Algebra, Logic and Term Rewriting (HOA '93), volume 816 of LNCS
, 1993
"... . This paper presents a new approach to optimizing functional programs based on combining partial evaluation and rewriting. Programs are composed of higher-order primitives. Partial evaluation is used to eliminate higher-order functions. First-order rewriting is used to process the transformation. L ..."
Abstract
-
Cited by 6 (5 self)
- Add to MetaCart
. This paper presents a new approach to optimizing functional programs based on combining partial evaluation and rewriting. Programs are composed of higher-order primitives. Partial evaluation is used to eliminate higher-order functions. First-order rewriting is used to process the transformation. Laws about the higher-order primitives that are relevant for the optimizations are automatically extracted from a library and transformed into first-order terms using partial evaluation. Such a combination of a partial evaluation system and an intrinsically first-order rewriting tool allows a form of higher-order rewriting at a first-order level. This way, it is possible to automate deforestation of higher-order programs. Introduction The so-called Squiggol [10] style for program construction is a high-level programming technique that consists of building a program by composing primitives or other functions while taking into account well-known laws on the primitives. Functions are usually de...
Type Inference and Reconstruction for First Order Dependent Types
, 1995
"... x 1 Introduction 1 1.1 Dependent Types : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 1.2 Dependent Type Inference and Reconstruction : : : : : : : : : : : : : : : : 8 2 Primitive Recursive Functionals with Dependent Types 17 2.1 A Dependent Type System for T : : : : : : : : : ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
x 1 Introduction 1 1.1 Dependent Types : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 1.2 Dependent Type Inference and Reconstruction : : : : : : : : : : : : : : : : 8 2 Primitive Recursive Functionals with Dependent Types 17 2.1 A Dependent Type System for T : : : : : : : : : : : : : : : : : : : : : : : 17 2.1.1 Terms : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 17 2.1.2 Types : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 19 2.1.3 Typing Rules : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 24 2.1.4 Strong Normalization of T Terms : : : : : : : : : : : : : : : : : : : 28 2.2 Dependent Typing Examples : : : : : : : : : : : : : : : : : : : : : : : : : : 29 2.3 A Term Model Semantics for T : : : : : : : : : : : : : : : : : : : : : : : : 34 3 Principal Types and Dependent Type Reconstruction 58 3.1 Type Subsumption and Unification : : : : : : : : : : : : : : : : : : : : : : : 58 3.2 Matching : : : : : :...
Object-Level Substitution, Unification And Generalization In Meta-Logic
, 1995
"... Meta-programming in logic has had difficulty with a class of problems, which includes polymorphic type inferencing and Knuth-Bendix completion. At the core of this difficulty is that logic programming, in particular higher-order logic programming, is often too dependent on its inherent unification ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
Meta-programming in logic has had difficulty with a class of problems, which includes polymorphic type inferencing and Knuth-Bendix completion. At the core of this difficulty is that logic programming, in particular higher-order logic programming, is often too dependent on its inherent unification and resolution algorithms in providing declarative formulations of object-level theories. To free meta-programming in logic from this dependency, we provide logic programming formulations of substitution and unification on object-level expressions. This will provide a set of basic tools for meta-programming in a higher-order logic programming language, which supports the use of higher-order abstract syntax. In particular, the techniques presented here can be used in a very simple meta-language, the L restriction of Prolog.
Higher-Order Automata, Pushdown systems, and Set Constraints
- Research Report LSV-01-9, LSV
, 2001
"... We introduce a natural notion of automata, pushdown systems, and set constraints in increasing order of expressiveness, on simply-typed -terms. ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
We introduce a natural notion of automata, pushdown systems, and set constraints in increasing order of expressiveness, on simply-typed -terms.
Conditional Equational Theories and Complete Sets of Transformations
- In Proceedings of the International Conference on Fifth Generation Computer Systems
"... The idea to combine the advantages of function and logic programming has attracted many researches. Their work ranges from the integration of existing languages over higher-order logic to equational logic languages, where logic programs are augmented with equational theories. Recently, it has been p ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
The idea to combine the advantages of function and logic programming has attracted many researches. Their work ranges from the integration of existing languages over higher-order logic to equational logic languages, where logic programs are augmented with equational theories. Recently, it has been proposed to handle those equational theories by complete sets of transformations. These transformations are extensions of the rules introduced by Herbrand and later used by Martelli and Montanari to compute the most general unifier of two expressions. We generalize this idea to complete sets of transformations for arbitrary conditional equational theories, the largest class of equational theories that admit a least Herbrand model.

