Results 1 
9 of
9
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 124 (13 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 preunifiers described by Huet is easily extended to the mixed prefix setting, although solving flexibleflexible 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.
Pattern matching with dependent types
 In Proceedings of the Workshop on Types for Proofs and Programs
, 1992
"... ..."
Extensions and Applications of Higherorder Unification
, 1990
"... ... unification problems. Then, in this framework, we develop a new unification algorithm for acalculus with dependent function (II) types. This algorithm is especially useful as it provides for mechanization in the very expressive Logical Framework (LF). The development (objectlanguages). The ric ..."
Abstract

Cited by 25 (1 self)
 Add to MetaCart
... unification problems. Then, in this framework, we develop a new unification algorithm for acalculus with dependent function (II) types. This algorithm is especially useful as it provides for mechanization in the very expressive Logical Framework (LF). The development (objectlanguages). The rich structure of a typedcalculus,asopposedtotraditional,rst generalideaistouseacalculusasametalanguageforrepresentingvariousotherlanguages thelattercase,thealgorithmisincomplete,thoughstillquiteusefulinpractice. Thelastpartofthedissertationprovidesexamplesoftheusefulnessofthealgorithms.The algorithmrstfordependentproduct()types,andsecondforimplicitpolymorphism.In involvessignicantcomplicationsnotarisingHuet'scorrespondingalgorithmforthesimply orderabstractsyntaxtrees,allowsustoexpressrules,e.g.,programtransformationand typedcalculus,primarilybecauseitmustdealwithilltypedterms.Wethenextendthis Wecanthenuseunicationinthemetalanguagetomechanizeapplicationoftheserules.
Structured theory presentations and logic representations
 ANNALS OF PURE AND APPLIED LOGIC
, 1994
"... The purpose of a logical framework such as LF is to provide a language for defining logical systems suitable for use in a logicindependent proof development environment. All inferential activity in an object logic (in particular, proof search) is to be conducted in the logical framework via the ..."
Abstract

Cited by 14 (2 self)
 Add to MetaCart
The purpose of a logical framework such as LF is to provide a language for defining logical systems suitable for use in a logicindependent proof development environment. All inferential activity in an object logic (in particular, proof search) is to be conducted in the logical framework via the representation of that logic in the framework. An important tool for controlling search in an object logic, the need for which is motivated by the difficulty of reasoning about large and complex systems, is the use of structured theory presentations. In this paper a rudimentary language of structured theory presentations is presented, and the use of this structure in proof search for an arbitrary object logic is explored. The behaviour of structured theory presentations under representation in a logical framework is studied, focusing on the problem of "lifting" presentations from the object logic to the metalogic of the framework. The topic of imposing structure on logic presentations...
Using MiddleOut Reasoning to Control the Synthesis of TailRecursive Programs
 IN PROC. CADE11, LNAI 607
, 1992
"... We describe a novel technique for the automatic synthesis of tailrecursive programs. The technique is to specify the required program using the standard equations and then synthesise the tailrecursive program using the proofs as programs technique. This requires the specification to be proved r ..."
Abstract

Cited by 12 (5 self)
 Add to MetaCart
We describe a novel technique for the automatic synthesis of tailrecursive programs. The technique is to specify the required program using the standard equations and then synthesise the tailrecursive program using the proofs as programs technique. This requires the specification to be proved realisable in a constructive logic. Restrictions on the form of the proof ensure that the synthesised program is tailrecursive. The
Cut Formulae and Logic Programming
"... . In this paper we present a mechanism to define names for proofwitnesses of formulae and thus to use Gentzen's cutrule in logic programming. We consider a program to be a set of logical formulae together with a list of such definitions. Occurrences of the defined names guide the proofsearch by i ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
. In this paper we present a mechanism to define names for proofwitnesses of formulae and thus to use Gentzen's cutrule in logic programming. We consider a program to be a set of logical formulae together with a list of such definitions. Occurrences of the defined names guide the proofsearch by indicating when an instance of the cutrule should be attempted. By using the cutrule there are proofs that can be made dramatically shorter. We explain how this idea of using the cutrule can be applied to the logic of hereditary Harrop formulae. 1 Introduction The computation mechanisms both for logic and for functional programming are searches for cutfree proofs. First, in pure logic programming the achievement of a goal G w.r.t. a program P can be seen 1 as the search for a proof in Gentzen's intuitionistic sequent calculus LJ [Gen69], of the sequent P ) G, that by Gentzen's cutelimination theorem can be cutfree [Bee89], [Mil90]; a term found as a witness to a proof contains among...
HigherOrder Constraint Simplification In Dependent Type Theory
"... Abstract. Higherorder unification is undecidable, but has fragments which admit practical algorithms, which are used extensively in logical frameworks. For example, it is decidable whether unification problems in the pattern fragment identified by Dale Miller are solvable, and they enjoy unique mos ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
Abstract. Higherorder unification is undecidable, but has fragments which admit practical algorithms, which are used extensively in logical frameworks. For example, it is decidable whether unification problems in the pattern fragment identified by Dale Miller are solvable, and they enjoy unique most general unifiers when they are. However, the restrictions that the pattern fragment imposes exclude many useful applications and encodings. One way to proceed is to use instead a more general constraint simplification algorithm that works on the parts of a unification problem that are in the pattern fragment, postponing problematic parts in the hope that later substitutions will bring them back into the pattern fragment. Such an algorithm either finds a most general solution, determines that the problem does not have a solution, or else reports a set of remaining constraints on which no further work can be done. While some constraint simplification algorithms have been proposed, their theory turns out to be surprisingly subtle — especially in the presence of dependent types, which complicate otherwise simple invariants that all equations in a unification problem are welltyped — and has, to our knowledge, not been investigated, leading to some problems with termination and completeness of implementations. This paper describes and proves correct a new, terminating constraint simplification algorithm for the dynamic pattern fragment of higherorder unification in a dependent type system. 1
A Constructive Type System to Integrate Logic and Functional Programming
 CADE Workshop on Proofsearch in Typetheoretic Languages
, 1994
"... In this work we present a type system called HH def that extends the theory of simply typed hereditary Harrop formulae [Mil90] with definitions and strong \Sigmatypes. The use of definitions permits the construction of clearer programs and of shorter proofs by using a rule (the def rule) similar ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
In this work we present a type system called HH def that extends the theory of simply typed hereditary Harrop formulae [Mil90] with definitions and strong \Sigmatypes. The use of definitions permits the construction of clearer programs and of shorter proofs by using a rule (the def rule) similar to Gentzen's cut rule. Proofsearch for HH def is performed in a goaldirected manner with occurrences of defined constants in a goal triggering instances of the def rule. Such a search procedure is shown to be complete for HH def . 1 Introduction The motivation for development of the calculus HH def is to provide a logical foundation on which to develop a programming language that integrates logic and functional programming. This work develops the ideas outlined in [Pin94], which are intended to be a first step towards a prooftheoretic characterisation of such programming. The central idea is that the execution mechanisms both for logic and for functional programming can be seen as ...
Sequent Calculi for the Normal Terms of the \lambda\Pi and \lambda\Pi\SigmaCalculi
 CADE Workshop on Proofsearch in Typetheoretic Languages
, 1998
"... . This paper presents two sequent calculi, requiring no clausal form for types, whose typable terms are in 11 correspondence with the normal terms of the \Pi and \Pi\Sigmacalculi. Such sequent calculi allow no permutations in the order in which inference rules occur on derivations of typable ..."
Abstract
 Add to MetaCart
. This paper presents two sequent calculi, requiring no clausal form for types, whose typable terms are in 11 correspondence with the normal terms of the \Pi and \Pi\Sigmacalculi. Such sequent calculi allow no permutations in the order in which inference rules occur on derivations of typable terms and are thus appropriate for proof search. In these calculi proof search can be performed in a rootfirst fashion and type conversions are solely required in axiom formation. 1 The \Picalculus The \Picalculus [6, 9] is a theory extending the simply typed calculus [1] with firstorder \Pitypes, i.e. with dependent types. It is the type system of the Edinburgh Logical Framework (LF) [6], a logic for presenting logics, and it is the basis of Elf [7, 8], a language giving to types an operational interpretation similar to that given to formulae in logic programming. The \Picalculus essentially corresponds to the P system of the cube [1] and it is also closely related to the \Pifr...