Results 11 - 20
of
41
A Proof of the Church-Rosser Theorem and its Representation in a Logical Framework
, 1992
"... We give a detailed, informal proof of the Church-Rosser property for the untyped lambda-calculus and show its representation in LF. The proof is due to Tait and Martin-Löf and is based on the notion of parallel reduction. The representation employs higher-order abstract syntax and the judgments-as-t ..."
Abstract
-
Cited by 33 (8 self)
- Add to MetaCart
We give a detailed, informal proof of the Church-Rosser property for the untyped lambda-calculus and show its representation in LF. The proof is due to Tait and Martin-Löf and is based on the notion of parallel reduction. The representation employs higher-order abstract syntax and the judgments-as-types principle and takes advantage of term reconstruction as it is provided in the Elf implementation of LF. Proofs of meta-theorems are represented as higher-level judgments which relate sequences of reductions and conversions.
Isabelle Tutorial and User's Manual
, 1990
"... This manual describes how to use the theorem prover Isabelle. For beginners, it explains how to perform simple single-step proofs in the built-in logics. These include first-order logic, a classical sequent calculus, zf set theory, Constructive Type Theory, and higher-order logic. Each of these logi ..."
Abstract
-
Cited by 25 (1 self)
- Add to MetaCart
This manual describes how to use the theorem prover Isabelle. For beginners, it explains how to perform simple single-step proofs in the built-in logics. These include first-order logic, a classical sequent calculus, zf set theory, Constructive Type Theory, and higher-order logic. Each of these logics is described. The manual then explains how to develop advanced tactics and tacticals and how to derive rules. Finally, it describes how to define new logics within Isabelle. Acknowledgements. Isabelle uses Dave Matthews's Standard ml compiler, Poly/ml. Philippe de Groote wrote the first version of the logic lk. Funding and equipment were provided by SERC/Alvey grant GR/E0355.7 and ESPRIT BRA grant 3245. Thanks also to Philippe Noel, Brian Monahan, Martin Coen, and Annette Schumann. Contents 1 Basic Features of Isabelle 5 1.1 Overview of Isabelle : : : : : : : : : : : : : : : : : : : : : : : : : : : 6 1.1.1 The representation of logics : : : : : : : : : : : : : : : : : : : 6 1.1.2 The...
Tabled Higher-Order Logic Programming
- In 20th International Conference on Automated Deduction
, 2003
"... Elf is a general meta-language 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 25 (11 self)
- Add to MetaCart
Elf is a general meta-language 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 first-order terms with dependently typed -terms and allowing implication and universal quantification in the bodies of clauses. These higher-order 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 higher-order logic programming interpretation for Elf. Some redundant computation is eliminated by memoizing sub-computation and re-using 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 proof-theoretical characterization for tabled higher-order 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...
Extensions and Applications of Higher-order Unification
, 1990
"... ... unification problems. Then, in this framework, we develop a new unification algorithm for a-calculus with dependent function (II) types. This algorithm is especially useful as it provides for mechanization in the very expressive Logical Framework (LF). The development (object-languages). The ric ..."
Abstract
-
Cited by 24 (1 self)
- Add to MetaCart
... unification problems. Then, in this framework, we develop a new unification algorithm for a-calculus with dependent function (II) types. This algorithm is especially useful as it provides for mechanization in the very expressive Logical Framework (LF). The development (object-languages). The rich structure of a typed-calculus,asopposedtotraditional,rst- generalideaistousea-calculusasameta-languageforrepresentingvariousotherlanguages thelattercase,thealgorithmisincomplete,thoughstillquiteusefulinpractice. Thelastpartofthedissertationprovidesexamplesoftheusefulnessofthealgorithms.The algorithmrstfordependentproduct()types,andsecondforimplicitpolymorphism.In involvessignicantcomplicationsnotarisingHuet'scorrespondingalgorithmforthesimply orderabstractsyntaxtrees,allowsustoexpressrules,e.g.,programtransformationand typed-calculus,primarilybecauseitmustdealwithill-typedterms.Wethenextendthis Wecanthenuseunicationinthemeta-languagetomechanizeapplicationoftheserules.
Higher-Order Substitution Tree Indexing
- 19th International Conference on Logic Programming
, 2003
"... We present a higher-order term indexing strategy based on substitution trees. The strategy is based in linear higher-order patterns where computationally expensive parts are delayed. Insertion of terms into the index is based on computing the most specific linear generalization of two linear hig ..."
Abstract
-
Cited by 15 (5 self)
- Add to MetaCart
We present a higher-order term indexing strategy based on substitution trees. The strategy is based in linear higher-order patterns where computationally expensive parts are delayed. Insertion of terms into the index is based on computing the most specific linear generalization of two linear higher-order patterns. Retrieving terms is based on matching two linear higher-order patterns. This indexing structure is implemented as part of the Twelf system to speed-up the execution of the tabled higher-logic programming interpreter. Experimental results show substantial performance improvements, between 100% and over 800%.
A Tool for Developing Correct Programs By Refinement
- PROC. BCS 7TH REFINEMENT WORKSHOP
, 1996
"... The refinement calculus for the development of programs from specifications is well suited to mechanised support. We review the requirements for tool support of refinement as gleaned from our experience with a number of existing refinement tools, and report on the design and implementation of a ..."
Abstract
-
Cited by 13 (4 self)
- Add to MetaCart
The refinement calculus for the development of programs from specifications is well suited to mechanised support. We review the requirements for tool support of refinement as gleaned from our experience with a number of existing refinement tools, and report on the design and implementation of a new tool to support refinement based on these requirements. The main features of the new tool are close integration of refinement and proof in a single tool (the same mechanism is used for both), good management of the refinement context, an extensible theory base that allows the tool to be adapted to new application domains, and a flexible user interface.
Isabelle/Isar -- a generic framework for human-readable proof documents
- UNIVERSITY OF BIA̷LYSTOK
, 2007
"... ..."
The Compilation of Prolog and its Execution with MALI
, 1993
"... We present a compiled implementation of Prolog that uses the abstract memory MALI for representing the execution state. Prolog is a logic programming language allowing a more general clause form than Standard Prolog 's (namely hereditary Harrop formulas instead of Horn formulas) and using simply ty ..."
Abstract
-
Cited by 11 (8 self)
- Add to MetaCart
We present a compiled implementation of Prolog that uses the abstract memory MALI for representing the execution state. Prolog is a logic programming language allowing a more general clause form than Standard Prolog 's (namely hereditary Harrop formulas instead of Horn formulas) and using simply typed -terms as a term domain instead of first order terms. The augmented clause form causes the program (a set of clauses) and the signature (a set of constants) to be changeable in a very disciplined way. The new term domain has a semi-decidable and infinitary unification theory, and it introduces the need for a fi-reduction operation at run-time. MALI is an abstract memory that is suitable for storing the search-state of depth-first search processes. Its main feature is its efficient memory management. We have used an original Prolog-to-C translation along which predicates are transformed into functions operating on continuations for handling failure and success in unifications, and change...

