Results 1  10
of
16
The Theory of LEGO  A Proof Checker for the Extended Calculus of Constructions
, 1994
"... LEGO is a computer program for interactive typechecking in the Extended Calculus of Constructions and two of its subsystems. LEGO also supports the extension of these three systems with inductive types. These type systems can be viewed as logics, and as meta languages for expressing logics, and LEGO ..."
Abstract

Cited by 68 (10 self)
 Add to MetaCart
LEGO is a computer program for interactive typechecking in the Extended Calculus of Constructions and two of its subsystems. LEGO also supports the extension of these three systems with inductive types. These type systems can be viewed as logics, and as meta languages for expressing logics, and LEGO is intended to be used for interactively constructing proofs in mathematical theories presented in these logics. I have developed LEGO over six years, starting from an implementation of the Calculus of Constructions by G erard Huet. LEGO has been used for problems at the limits of our abilities to do formal mathematics. In this thesis I explain some aspects of the metatheory of LEGO's type systems leading to a machinechecked proof that typechecking is decidable for all three type theories supported by LEGO, and to a verified algorithm for deciding their typing judgements, assuming only that they are normalizing. In order to do this, the theory of Pure Type Systems (PTS) is extended and f...
Some lambda calculus and type theory formalized
 Journal of Automated Reasoning
, 1999
"... Abstract. We survey a substantial body of knowledge about lambda calculus and Pure Type Systems, formally developed in a constructive type theory using the LEGO proof system. On lambda calculus, we work up to an abstract, simplified, proof of standardization for beta reduction, that does not mention ..."
Abstract

Cited by 53 (7 self)
 Add to MetaCart
Abstract. We survey a substantial body of knowledge about lambda calculus and Pure Type Systems, formally developed in a constructive type theory using the LEGO proof system. On lambda calculus, we work up to an abstract, simplified, proof of standardization for beta reduction, that does not mention redex positions or residuals. Then we outline the meta theory of Pure Type Systems, leading to the strengthening lemma. One novelty is our use of named variables for the formalization. Along the way we point out what we feel has been learned about general issues of formalizing mathematics, emphasizing the search for formal definitions that are convenient for formal proof and convincingly represent the intended informal concepts.
From semantics to rules: A machine assisted analysis
 Proceedings of CSL '93, LNCS 832
, 1999
"... this paper is similar to the one in [2]. In this paper they define a normalization function for simply typed ..."
Abstract

Cited by 29 (0 self)
 Add to MetaCart
this paper is similar to the one in [2]. In this paper they define a normalization function for simply typed
Closure Under AlphaConversion
 In The Informal Proceeding of the 1993 Workshop on Types for Proofs and Programs
, 1993
"... this paper appears in Types for Proofs and Programs: International Workshop TYPES'93, Nijmegen, May 1993, Selected Papers, LNCS 806. abstraction, compute a type for its body in an extended context; to compute a type for an application, compute types for its left and right components, and check that ..."
Abstract

Cited by 24 (3 self)
 Add to MetaCart
this paper appears in Types for Proofs and Programs: International Workshop TYPES'93, Nijmegen, May 1993, Selected Papers, LNCS 806. abstraction, compute a type for its body in an extended context; to compute a type for an application, compute types for its left and right components, and check that they match appropriately. Lets use the algorithm to compute a type for a = [x:ø ][x:oe]x. FAILURE: no rule applies because x 2 Dom (x:ø )
A Calculus of Substitutions for IncompleteProof Representation in Type Theory
, 1997
"... : In the framework of intuitionnistic logic and type theory, the concepts of "propositions" and "types" are identified. This principle is known as the CurryHoward isomorphism, and it is at the base of mathematical formalisms where proofs are represented as typed lambdaterms. In order to see the pr ..."
Abstract

Cited by 16 (1 self)
 Add to MetaCart
: In the framework of intuitionnistic logic and type theory, the concepts of "propositions" and "types" are identified. This principle is known as the CurryHoward isomorphism, and it is at the base of mathematical formalisms where proofs are represented as typed lambdaterms. In order to see the process of proof construction as an incremental process of term construction, it is necessary to extend the lambdacalculus with new operators. First, we consider typed metavariables to represent the parts of a proof that are under construction, and second, we make explicit the substitution mechanism in order to deal with capture of variables that are bound in terms containing metavariables. Unfortunately, the theory of explicit substitution calculi with typed metavariables is more complex than that of lambdacalculus. And worse, in general they do not share the same properties, notably with respect to confluence and strong normalization. A contribution of this thesis is to show that the pr...
On Explicit Substitutions and Names (Extended Abstract)
 IN PROC. OF ICALP'97, LNCS 1256
, 1997
"... Calculi with explicit substitutions have found widespread acceptance as a basis for abstract machines for functional languages. In this paper we investigate the relations between variants with de Bruijnnumbers, with variable names, with reduction based on raw expressions and calculi with equational ..."
Abstract

Cited by 6 (5 self)
 Add to MetaCart
Calculi with explicit substitutions have found widespread acceptance as a basis for abstract machines for functional languages. In this paper we investigate the relations between variants with de Bruijnnumbers, with variable names, with reduction based on raw expressions and calculi with equational judgements. We show the equivalence between these variants, which is crucial in establishing the correspondence between the semantics of the calculus and its implementations.
A case study in machineassisted proofs: The Integers form an Integral Domain
, 1993
"... We present a formalization of the set Z of integers using MartinLof's type theory. In particular we focus on the task of proving that this set with the operations + and form an Integral Domain. The proofs are developed for an inductive definition of Z, but we also discuss what kind of proofs coul ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
We present a formalization of the set Z of integers using MartinLof's type theory. In particular we focus on the task of proving that this set with the operations + and form an Integral Domain. The proofs are developed for an inductive definition of Z, but we also discuss what kind of proofs could be obtained for a formulation where the set is defined as a quotient. The differences between both approaches when one is interested in regarding the computational meaning of proofs are pointed out. In order to better reason about the proofs of the properties following from the postulates of an integral domain, an abstract formalization of this algebraic system is also proposed. With this, we aimed at not just being able to formally reflect the derivation of the properties independently of the concrete representation we were interested in, but also to translate these results to every algebraic structure satisfying those postulates. Keywords and phrases: integers, type theory, integral dom...
Dependent Record Types, Subtyping and Proof Reutilization
"... . We present an example of formalization of systems of algebras using an extension of MartinLof'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 MartinLof'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 MartinLof'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 MartinLof'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...
Dependent Types and Explicit Substitutions
, 1999
"... We present a dependenttype system for a #calculus with explicit substitutions. In this system, metavariables, as well as substitutions, are firstclass objects. We show that the system enjoys properties like type uniqueness, subject reduction, soundness, confluence and weak normalization. ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
We present a dependenttype system for a #calculus with explicit substitutions. In this system, metavariables, as well as substitutions, are firstclass objects. We show that the system enjoys properties like type uniqueness, subject reduction, soundness, confluence and weak normalization.
On Explicit Substitutions and Names
 In Proc. ICALP
, 1997
"... Calculi with explicit substitutions have found widespread acceptance as a basis for abstract machines for functional languages. In this paper we investigate the relations between variants with de Bruijnnumbers, with variable names, with reduction based on raw expressions and calculi with equational ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
Calculi with explicit substitutions have found widespread acceptance as a basis for abstract machines for functional languages. In this paper we investigate the relations between variants with de Bruijnnumbers, with variable names, with reduction based on raw expressions and calculi with equational judgements. We show the equivalence between these variants, which is crucial in establishing the correspondence between the semantics of the calculus and its implementations. 1 Introduction Explicit substitution calculi (or oecalculi for short) first appeared in a seminal paper by Abadi et al. [1]. The basic idea is that instead of having substitutions as a metalevel operation, as in traditional calculus, we should make them part of the objectlevel calculus. The advantages of this approach are twofold. Firstly, it makes it possible to design much more efficient abstract machines as we are allowed to delay substitutions, and secondly it makes it much easier to prove them correct since...