Results 1 - 10
of
17
A Linear Logical Framework
, 1996
"... We present the linear type theory LLF as the forAppeared in the proceedings of the Eleventh Annual IEEE Symposium on Logic in Computer Science --- LICS'96 (E. Clarke editor), pp. 264--275, New Brunswick, NJ, July 27--30 1996. mal basis for a conservative extension of the LF logical framework. LLF c ..."
Abstract
-
Cited by 203 (44 self)
- Add to MetaCart
We present the linear type theory LLF as the forAppeared in the proceedings of the Eleventh Annual IEEE Symposium on Logic in Computer Science --- LICS'96 (E. Clarke editor), pp. 264--275, New Brunswick, NJ, July 27--30 1996. mal basis for a conservative extension of the LF logical framework. LLF combines the expressive power of dependent types with linear logic to permit the natural and concise representation of a whole new class of deductive systems, namely those dealing with state. As an example we encode a version of Mini-ML with references including its type system, its operational semantics, and a proof of type preservation. Another example is the encoding of a sequent calculus for classical linear logic and its cut elimination theorem. LLF can also be given an operational interpretation as a logic programming language under which the representations above can be used for type inference, evaluation and cut-elimination. 1 Introduction A logical framework is a formal system desig...
The Higher-Order Recursive Path Ordering
- FOURTEENTH ANNUAL IEEE SYMPOSIUM ON LOGIC IN COMPUTER SCIENCE
, 1999
"... This paper extends the termination proof techniques based on reduction orderings to a higher-order setting, by adapting the recursive path ordering definition to terms of a typed lambda-calculus generated by a signature of polymorphic higher-order function symbols. The obtained ordering is well-foun ..."
Abstract
-
Cited by 40 (10 self)
- Add to MetaCart
This paper extends the termination proof techniques based on reduction orderings to a higher-order setting, by adapting the recursive path ordering definition to terms of a typed lambda-calculus generated by a signature of polymorphic higher-order function symbols. The obtained ordering is well-founded, compatible with fi-reductions and with polymorphic typing, monotonic with respect to the function symbols, and stable under substitution. It can therefore be used to prove the strong normalizationproperty of higher-order calculi in which constants can be defined by higher-order rewrite rules. For example, the polymorphic version of Gödel's recursor for the natural numbers is easily oriented. And indeed, our ordering is polymorphic, in the sense that a single comparison allows to prove the termination property of all monomorphic instances of a polymorphic rewrite rule. Several other non-trivial examples are given which examplify the expressive power of the ordering.
A user's guide to ALF
, 1994
"... Contents 1 Introduction 2 2 A first example 3 3 Description of the system 10 3.1 The two main windows : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 10 3.2 The mouse : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 11 3.3 The scratch area : : : : : : : : : : : : ..."
Abstract
-
Cited by 36 (2 self)
- Add to MetaCart
Contents 1 Introduction 2 2 A first example 3 3 Description of the system 10 3.1 The two main windows : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 10 3.2 The mouse : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 11 3.3 The scratch area : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 11 3.3.1 The File-menu : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 11 3.3.2 The Define-menu : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 12 3.3.3 The Construct-menu : : : : : : : : : : : : : : : : : : : : : : : : : : : 12 3.3.4 The Edit-menu : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 13 3.3.5 The Goal-menu : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 14 3.3.6 The Context-menu : : : : : : : : : : : : : : : : : : : : : : : : : : : : 14 3.3.7 The View-menu
Modelling General Recursion in Type Theory
- Mathematical Structures in Computer Science
, 2002
"... Constructive type theory is an expressive programming language where both algorithms and proofs can be represented. However, general recursive algorithms have no direct formalisation in type theory since they contain recursive calls that satisfy no syntactic condition guaranteeing termination. ..."
Abstract
-
Cited by 30 (5 self)
- Add to MetaCart
Constructive type theory is an expressive programming language where both algorithms and proofs can be represented. However, general recursive algorithms have no direct formalisation in type theory since they contain recursive calls that satisfy no syntactic condition guaranteeing termination.
Interactive Theorem Proving: An Empirical Study of User Activity
- Journal of Symbolic Computation
, 1995
"... In this paper the interaction between users and the interactive theorem prover HOL is investigated from a human-computer interaction perspective. First, we outline three possible views of interaction, and give a brief survey of some current interfaces and how they may be described in terms of the ..."
Abstract
-
Cited by 12 (3 self)
- Add to MetaCart
In this paper the interaction between users and the interactive theorem prover HOL is investigated from a human-computer interaction perspective. First, we outline three possible views of interaction, and give a brief survey of some current interfaces and how they may be described in terms of these views. Second, we describe and present the results of an empirical study of intermediate and expert HOL users. The results are analysed for evidence in support of the proposed view of proof activity in HOL. We believe that this approach provides a principled basis for the assessment and design of interfaces to theorem provers.
Optimized Encodings of Fragments of Type Theory in First Order Logic
- JLC: Journal of Logic and Computation
, 1994
"... The paper presents sound and complete translations of several fragments of Martin-Lof's monomorphic type theory to first order predicate calculus. The translations are optimised for the purpose of automated theorem proving in the mentioned fragments. The implementation of the theorem prover Gand ..."
Abstract
-
Cited by 7 (4 self)
- Add to MetaCart
The paper presents sound and complete translations of several fragments of Martin-Lof's monomorphic type theory to first order predicate calculus. The translations are optimised for the purpose of automated theorem proving in the mentioned fragments. The implementation of the theorem prover Gandalf and several experimental results are described. 1 Introduction The subject of this paper is the problem of automated theorem proving in Martin-Lof's monomorphic type theory [19, 8], which is the underlying logic of the interactive proof development system ALF [2, 14]. In the scope of our paper the task of automated theorem proving in type theory is understood as demonstrating that a certain type is inhabited by constructing a term of that type. The problem of inhabitedness of a type A is understood in the following way: given a set of judgements \Gamma (these may be constant declarations, explicit definitions and defining equalities), find a term a such that a2A is derivable from \Gam...
Dependent Record Types, Subtyping and Proof Reutilization
"... . We present an example of formalization of systems of algebras using an extension of Martin-Lof's theory of types with record types and subtyping. This extension has been presented in [5]. In this paper we intend to illustrate all the features of the extended theory that we consider relevant for th ..."
Abstract
-
Cited by 4 (1 self)
- Add to MetaCart
. We present an example of formalization of systems of algebras using an extension of Martin-Lof's theory of types with record types and subtyping. This extension has been presented in [5]. In this paper we intend to illustrate all the features of the extended theory that we consider relevant for the task of formalizing algebraic constructions. We also provide code of the formalization as accepted by a type checker that has been implemented. 1. Introduction We shall use an extension of Martin-Lof's theory of logical types [14] with dependent record types and subtyping as the formal language in which constructions concerning systems of algebras are going to be represented. The original formulation of Martin-Lof's theory of types, from now on referred to as the logical framework, has been presented in [15, 7]. The system of types that this calculus embodies are the type Set (the type of inductively defined sets), dependent function types and for each set A, the type of the elements of A...
A Machine-assisted Proof that Well Typed Expressions Cannot Go Wrong
, 1998
"... This paper deals with the application of constructive type theory to the theory of programming languages. The main aim of this work is to investigate constructive formalisations of the mathematics of programs. Here, we consider a small typed functional language and prove some properties about it, ar ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
This paper deals with the application of constructive type theory to the theory of programming languages. The main aim of this work is to investigate constructive formalisations of the mathematics of programs. Here, we consider a small typed functional language and prove some properties about it, arriving at the property that establishes that well typed expressions cannot go wrong. First, we give the definitions and proofs in an informal style, and then we present and explain the formalisation of these definitions and proofs. For the formalisation, we use the proof editor ALF and its pattern matching facility.
Proof Reutilization in Martin-Löf's Logical Framework Extended with Record Types and Subtyping
, 2000
"... The extension of Martin-Löf's theory of types with record types and subtyping has elsewhere been presented. We give a concise description of that theory and motivate its use for the formalization of systems of algebras. We also give a short account of a proof checker that has been implemented on mac ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
The extension of Martin-Löf's theory of types with record types and subtyping has elsewhere been presented. We give a concise description of that theory and motivate its use for the formalization of systems of algebras. We also give a short account of a proof checker that has been implemented on machine. The logical heart of the checker is constituted by the procedures for the mechanical verification of the forms of judgement of a particular formulation of the extension. The case study that we put forward in this work has been developed and mechanically verified using the implemented system. We illustrate all the features of the extended theory that we consider relevant for the task of formalizing algebraic constructions.
Towards A Theory Of Specifications, Programs And Proofs
- In Proceedings of the 7th. Nordic Workshop on Programming Theory, PMG report 86, Goteborg
, 1995
"... this paper we investigate a theory in which the notion of program as method of computation is singled out. As a first step towards a theory of specifications, we separate the notions of datatype and proposition and define a calculus for program verification, where programs can be written and then pr ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
this paper we investigate a theory in which the notion of program as method of computation is singled out. As a first step towards a theory of specifications, we separate the notions of datatype and proposition and define a calculus for program verification, where programs can be written and then proved correct. On top of this calculus, the theory of specifications is built. A specification of a problem consists of a pair: a type for a program (datatype) and a predicate on the program. Such a specification is implemented by constructing a program of the given datatype and proving that the predicate holds for that program. We are interested in a calculus of program derivation, i.e. a calculus with rules that allow the simultaneous construction of the components of implementations, rather than the separate construction of programs and proofs. The theory of specifications is built in such a way that the "program extraction" process is immediate. We present the main ideas of the theory of specifications, and show how rules for constructing implementations to specifications can be formulated and used. We do this by showing a programming example: we solve the problem of dividing a natural number by two. As a motivation to the theory of specifications, we present three versions of the same solution, each one expressed using a different logic. The first solution is developed in Martin-Lof's set theory. For the second solution, we introduce the calculus for program verification, where sets and propositions are no longer identified, and the notion of set is split into two: the datatypes and the propositions. We write a program performing the desired task using the datatypes (as in an ordinary functional programming language), and then we use the logic of propositions as an extern...

