Results 1  10
of
27
Automating the Meta Theory of Deductive Systems
, 2000
"... not be interpreted as representing the o cial policies, either expressed or implied, of NSF or the U.S. Government. This thesis describes the design of a metalogical framework that supports the representation and veri cation of deductive systems, its implementation as an automated theorem prover, a ..."
Abstract

Cited by 81 (17 self)
 Add to MetaCart
not be interpreted as representing the o cial policies, either expressed or implied, of NSF or the U.S. Government. This thesis describes the design of a metalogical framework that supports the representation and veri cation of deductive systems, its implementation as an automated theorem prover, and experimental results related to the areas of programming languages, type theory, and logics. Design: The metalogical framework extends the logical framework LF [HHP93] by a metalogic M + 2. This design is novel and unique since it allows higherorder encodings of deductive systems and induction principles to coexist. On the one hand, higherorder representation techniques lead to concise and direct encodings of programming languages and logic calculi. Inductive de nitions on the other hand allow the formalization of properties about deductive systems, such as the proof that an operational semantics preserves types or the proof that a logic is is a proof calculus whose proof terms are recursive functions that may be consistent.M +
Tabled HigherOrder Logic Programming
 In 20th International Conference on Automated Deduction
, 2003
"... Elf is a general metalanguage for the specification and implementation of logical systems in the style of the logical framework LF. Based on a logic programming interpretation, it supports executing logical systems and reasoning with and about them, thereby reducing the effort required for each ..."
Abstract

Cited by 26 (11 self)
 Add to MetaCart
Elf is a general metalanguage for the specification and implementation of logical systems in the style of the logical framework LF. Based on a logic programming interpretation, it supports executing logical systems and reasoning with and about them, thereby reducing the effort required for each particular logical system. The traditional logic programming paradigm is extended by replacing firstorder terms with dependently typed terms and allowing implication and universal quantification in the bodies of clauses. These higherorder features allow us to model concisely and elegantly conditions on variables and the discharge of assumptions which are prevalent in many logical systems. However, many specifications are not executable under the traditional logic programming semantics and performance may be hampered by redundant computation. To address these problems, I propose a tabled higherorder logic programming interpretation for Elf. Some redundant computation is eliminated by memoizing subcomputation and reusing its result later. If we do not distinguish different proofs for a property, then search based on tabled logic programming is complete and terminates for programs with bounded recursion. In this proposal, I present a prooftheoretical characterization for tabled higherorder logic programming. It is the basis of the implemented prototype for tabled logic programming interpreter for Elf. Preliminary experiments indicate that many more logical specifications are executable under the tabled semantics. In addition, tabled computation leads to more efficient execution of programs. The goal of the thesis is to demonstrate that tabled logic programming allows us to efficiently automate reasoning with and about logical systems in the logical f...
Algorithms for Equality and Unification in the Presence of Notational Definitions
 Types for Proofs and Programs
, 1998
"... this paper we investigate the interaction of notational definitions with algorithms for testing equality and unification. We propose a syntactic criterion on definitions which avoids their expansion in many cases without losing soundness or completeness with respect to fi fficonversion. Our setting ..."
Abstract

Cited by 19 (11 self)
 Add to MetaCart
this paper we investigate the interaction of notational definitions with algorithms for testing equality and unification. We propose a syntactic criterion on definitions which avoids their expansion in many cases without losing soundness or completeness with respect to fi fficonversion. Our setting is the dependently typed calculus [HHP93], but, with minor modifications, our results should apply to richer type theories and logics. The question when definitions need to be expanded is surprisingly subtle and of great practical importance. Most algorithms for equality and unification rely on decomposing a problem
ProofTheoretic Foundation of Compilation in Logic Programming Languages
 Proceedings of the Joint International Conference and Symposium on Logic Programming (JICSLP’98
"... Commercial implementations of logic programming languages are engineered Appeared in the Proceedings of the 1998 Joint International Conference and Symposium on Logic Programming  JICSLP'98 (J. Jaffar editor), pp ????, MIT Press, Manchester, UK, 1619 June 1998. around a compiler based on War ..."
Abstract

Cited by 11 (1 self)
 Add to MetaCart
Commercial implementations of logic programming languages are engineered Appeared in the Proceedings of the 1998 Joint International Conference and Symposium on Logic Programming  JICSLP'98 (J. Jaffar editor), pp ????, MIT Press, Manchester, UK, 1619 June 1998. around a compiler based on Warren's Abstract Machine (WAM) or a variant of it. In spite of various correctness proofs, the logical machinery relating the prooftheoretic specification of a logic programming language and its compiled form is still poorly understood. In this paper, we propose a logicindependent definition of compilation for logic programming languages. We apply this methodology to derive the first cut of a compiler and the corresponding abstract machine for the language of hereditary Harrop formulas and then for its linear refinement. 1 Introduction Compiled logic programs run over an order of magnitude faster than their interpreted source and constitute therefore a key step to combining the advantages of...
An isomorphism between a fragment of sequent calculus and an extension of natural deduction
"... ..."
Completing Herbelin’s programme
"... In 1994 Herbelin started and partially achieved the programme of showing that, for intuitionistic implicational logic, there is a CurryHoward interpretation of sequent calculus into a variant of the λcalculus, specifically a variant which manipulates formally “applicative contexts” and inverts t ..."
Abstract

Cited by 8 (4 self)
 Add to MetaCart
In 1994 Herbelin started and partially achieved the programme of showing that, for intuitionistic implicational logic, there is a CurryHoward interpretation of sequent calculus into a variant of the λcalculus, specifically a variant which manipulates formally “applicative contexts” and inverts the associativity of “applicative terms”. Herbelin worked with a fragment of sequent calculus with constraints on left introduction. In this paper we complete Herbelin’s programme for full sequent calculus, that is, sequent calculus without the mentioned constraints, but where permutative conversions necessarily show up. This requires the introduction of a lambdalike calculus for full sequent calculus and an extension of natural deduction that gives meaning to “applicative contexts” and “applicative terms”. Such extension is a calculus with modus ponens and primitive substitution that refines von Plato’s natural deduction; it is also a “coercion calculus”, in the sense of Cervesato and Pfenning. The prooftheoretical outcome is noteworthy: the puzzling relationship between cut and substitution is settled; and cutelimination in sequent calculus is proven isomorphic to normalisation in the proposed natural deduction system. The isomorphism is the mapping that inverts the associativity of applicative terms.
A prooftheoretic foundation for tabled higherorder logic programming
 18th International Conference on Logic Programming
, 2002
"... logic programming ..."
Strong normalisation of Herbelin's explicit substitution calculus with substitution propagation
"... . Herbelin presented (at CSL'94) a simple sequent calculus for minimal implicational logic, extensible to full rstorder intuitionistic logic, with a complete system of cutreduction rules which is both conuent and strongly normalising. Some of the cut rules may be regarded as rules to construct exp ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
. Herbelin presented (at CSL'94) a simple sequent calculus for minimal implicational logic, extensible to full rstorder intuitionistic logic, with a complete system of cutreduction rules which is both conuent and strongly normalising. Some of the cut rules may be regarded as rules to construct explicit substitutions. He observed that the addition of a cut permutation rule, for propagation of such substitutions, breaks the proof of strong normalisation; the implicit conjecture is that the rule may be added without breaking strong normalisation. We prove this conjecture, thus showing how to model betareduction in his calculus (extended with rules to allow cut permutations). 1 Introduction Herbelin gave in [5] a calculus for minimal implicational logic, using a notation for proof terms that, in contrast to the usual lambdacalculus notation for natural deduction, brings head variables to the surface. It is thus a sequent calculus, with the nice feature that its cutfree terms are in ...
Small proof witnesses for lf
 In Maurizio Gabbrielli and Gopal Gupta, editors, 21th International Conference on Logic Programming
"... Abstract. We instrument a higherorder logic programming search procedure to generate and check small proof witnesses for the Twelf system, an implementation of the logical framework LF. In particular, we extend and generalize ideas from Necula and Rahul [16] in two main ways: 1) We consider the ful ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
Abstract. We instrument a higherorder logic programming search procedure to generate and check small proof witnesses for the Twelf system, an implementation of the logical framework LF. In particular, we extend and generalize ideas from Necula and Rahul [16] in two main ways: 1) We consider the full fragment of LF including dependent types and higherorder terms and 2) We study the use of caching of subproofs to further compact proof representations. Our experimental results demonstrate that many of the restrictions in previous work can be overcome and generating and checking small witnesses within Twelf provides valuable addition to its general safety infrastructure. 1
HigherOrder Dynamic Pattern Unification for Dependent Types and Records
"... Abstract. While higherorder pattern unification for λ Πcalculus is decidable and unique unifiers exists, we face several challenges in practice: 1) the pattern fragment itself is too restrictive for many applications; this is typically addressed by solving subproblems which satisfy the pattern re ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
Abstract. While higherorder pattern unification for λ Πcalculus is decidable and unique unifiers exists, we face several challenges in practice: 1) the pattern fragment itself is too restrictive for many applications; this is typically addressed by solving subproblems which satisfy the pattern restriction eagerly but delay solving subproblems which are nonpatterns until we have accumulated more information. This leads to a dynamic pattern unification. 2) Many systems implement λ ΠΣ calculus and hence the known pattern unification algorithms for λ Π are too restrictive. In this paper, we present a constraintbased unification algorithm for λ ΠΣcalculus which solves a richer class of patterns than currently possible; in particular it takes into account type isomorphisms to translate unification problems containing Σtypes into problems only involving Πtypes. We prove correctness of our algorithm and discuss its application. 1