Results 1  10
of
16
Termination Checking with Types
, 1999
"... The paradigm of typebased termination is explored for functional programming with recursive data types. The article introduces , a lambdacalculus with recursion, inductive types, subtyping and bounded quanti cation. Decorated type variables representing approximations of inductive types ..."
Abstract

Cited by 36 (6 self)
 Add to MetaCart
The paradigm of typebased termination is explored for functional programming with recursive data types. The article introduces , a lambdacalculus with recursion, inductive types, subtyping and bounded quanti cation. Decorated type variables representing approximations of inductive types are used to track the size of function arguments and return values. The system is shown to be type safe and strongly normalizing. The main novelty is a bidirectional type checking algorithm whose soundness is established formally.
A PVS Prover Strategy Package for Common Manipulations Version 0.9
 Technical Memorandum NASA/TM2002211647, NASA Langley Research
, 2001
"... Lowlevel sequent manipulations are sometimes needed when using the PVS prover. A preliminary package of strategies and Emacs functions is provided to make such manipulations less tedious. Included are strategies aimed at real number theorem proving as well as techniques applicable in a more gene ..."
Abstract

Cited by 11 (1 self)
 Add to MetaCart
Lowlevel sequent manipulations are sometimes needed when using the PVS prover. A preliminary package of strategies and Emacs functions is provided to make such manipulations less tedious. Included are strategies aimed at real number theorem proving as well as techniques applicable in a more general setting.
Trace matching in a concurrent logical framework
 In Proceedings of the International Workshop on Logical Frameworks and MetaLanguages: Theory and Practice (LFMTP’12
, 2012
"... Matching and unification play an important role in implementations of proof assistants, logical frameworks, and logic programming languages. In particular, matching is at the heart of many reasoning tasks and underlies the operational semantic for wellmoded logic programs. In this paper, we study t ..."
Abstract

Cited by 4 (4 self)
 Add to MetaCart
(Show Context)
Matching and unification play an important role in implementations of proof assistants, logical frameworks, and logic programming languages. In particular, matching is at the heart of many reasoning tasks and underlies the operational semantic for wellmoded logic programs. In this paper, we study the problem of matching on concurrent traces in the CLF logical framework, an extension of LF that supports the specification of concurrent and distributed systems. A concurrent trace is a sequence of computations where independent steps can be permuted. We give a sound and complete algorithm for matching traces with one variable standing for an unknown subtrace. Extending the result to general traces and to unification is left to future work. Categories and Subject Descriptors F.4.4 [Mathematical Logic
A Lambda Term Representation Inspired by Linear Ordered Logic
"... We introduce a new nameless representation of lambda terms inspired by ordered logic. At a lambda abstraction, number and relative position of all occurrences of the bound variable are stored, and application carries the additional information where to cut the variable context into function and argu ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
(Show Context)
We introduce a new nameless representation of lambda terms inspired by ordered logic. At a lambda abstraction, number and relative position of all occurrences of the bound variable are stored, and application carries the additional information where to cut the variable context into function and argument part. This way, complete information about free variable occurrence is available at each subterm without requiring a traversal, and environments can be kept exact such that they only assign values to variables that actually occur in the associated term. Our approach avoids space leaks in interpreters that build function closures. In this article, we prove correctness of the new representation and present an experimental evaluation of its performance in a proof checker for the Edinburgh Logical Framework.
On Matching in CLF
, 2012
"... Matching is an important component of a logical framework. It is at the heart of many reasoning tasks and is sufficient to support the operational semantic of wellmoded logic programs. Matching is poorly understood for logical frameworks such as CLF, designed to effectively capture the specificatio ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
Matching is an important component of a logical framework. It is at the heart of many reasoning tasks and is sufficient to support the operational semantic of wellmoded logic programs. Matching is poorly understood for logical frameworks such as CLF, designed to effectively capture the specifications of parallel, concurrent and distributed systems. The witnesses of their computations, and therefore their term language, are concurrent traces. A concurrent trace is a sequence of computations where independent steps can be permuted. We study the problems of matching concurrent traces on large fragments of CLF. Specifically, we give a sound and complete algorithm for matching traces with a single variable standing for an unknown subtrace. We also examine the unification problem for some simple fragments of CLF and give an algorithm for solving unification
Termination and Productivity Checking with Continuous Types
"... Abstract. We analyze the interpretation of inductive and coinductive types as sets of strongly normalizing terms and isolate classes of types with certain continuity properties. Our result enables us to relax some side conditions on the shape of recursive definitions which are accepted by the typeb ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
(Show Context)
Abstract. We analyze the interpretation of inductive and coinductive types as sets of strongly normalizing terms and isolate classes of types with certain continuity properties. Our result enables us to relax some side conditions on the shape of recursive definitions which are accepted by the typebased termination calculus of Barthe, Frade, Giménez, Pinto and Uustalu, thus enlarging its expressivity. 1 Introduction and Related Work Interactive theorem provers like Coq [13], LEGO [20] and Twelf [18] support proofs by induction on finitedepth (inductive) structures (like natural numbers, lists, infinitely branching trees) and infinitedepth (coinductive) structures (like streams, processes, trees with infinite paths) in the form of recursive programs.
(ULTRA group, HeriotWatt University)
"... Abstract. In only few decades, computers have changed the way we approach documents. Throughout history, mathematicians and philosophers had clarified the relationship between mathematical thoughts and their textual and symbolic representations. We discuss here the consequences of computerbased for ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract. In only few decades, computers have changed the way we approach documents. Throughout history, mathematicians and philosophers had clarified the relationship between mathematical thoughts and their textual and symbolic representations. We discuss here the consequences of computerbased formalisation for mathematical authoring habits and we present an overview of our approach for computerising mathematical texts. 1.
Project funded by the European Community under the ‘Information Society Technologies’
"... this paper we show how they can be recast into algorithmic inference rules by applying a combination of standard techniques, among which constraint handling plays a central role. We then analyse the generated constraint sets and show that they share a common structure which can be simplified with a ..."
Abstract
 Add to MetaCart
this paper we show how they can be recast into algorithmic inference rules by applying a combination of standard techniques, among which constraint handling plays a central role. We then analyse the generated constraint sets and show that they share a common structure which can be simplified with a specialised algorithm we present. As the constraint simplification procedure is mainly based on unification, we implemented the whole inference algorithm in a Prolog program which we will comment upon