Results 1  10
of
29
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 69 (10 self)
 Add to MetaCart
(Show Context)
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 57 (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.
Proofassistants using Dependent Type Systems
, 2001
"... this article we will not attempt to describe all the dierent possible choices of type theories. Instead we want to discuss the main underlying ideas, with a special focus on the use of type theory as the formalism for the description of theories including proofs ..."
Abstract

Cited by 55 (4 self)
 Add to MetaCart
this article we will not attempt to describe all the dierent possible choices of type theories. Instead we want to discuss the main underlying ideas, with a special focus on the use of type theory as the formalism for the description of theories including proofs
Pure type systems formalized
 Proceedings of the International Conference on Typed Lambda Calculi and Applications
, 1993
"... ..."
The Rho Cube
 In Proc. of FOSSACS, volume 2030 of LNCS
, 2001
"... www.loria.fr/{~cirstea,~ckirchne,~lliquori} Abstract. The rewriting calculus, or Rho Calculus (ρCal), is a simple calculus that uniformly integrates abstraction on patterns and nondeterminism. Therefore, it fully integrates rewriting and λcalculus. The original presentation of the calculus was unty ..."
Abstract

Cited by 32 (16 self)
 Add to MetaCart
www.loria.fr/{~cirstea,~ckirchne,~lliquori} Abstract. The rewriting calculus, or Rho Calculus (ρCal), is a simple calculus that uniformly integrates abstraction on patterns and nondeterminism. Therefore, it fully integrates rewriting and λcalculus. The original presentation of the calculus was untyped. In this paper we present a uniform way to decorate the terms of the calculus with types. This gives raise to a new presentation à la Church, together with nine (8+1) type systems which can be placed in a ρcube that extends the λcube of Barendregt. Due to the matching capabilities of the calculus, the type systems use only one abstraction mechanism and therefore gives an original answer to the identification of the standard “λ ” and “Π” abstractors. As a consequence, this brings matching and rewriting as the first class concepts of the Rhoversions of the Logical Framework (LF) of Harper
Modularity of Strong Normalization and Confluence in the algebraiclambdacube
, 1994
"... In this paper we present the algebraiccube, an extension of Barendregt's cube with first and higherorder algebraic rewriting. We show that strong normalization is a modular property of all systems in the algebraiccube, provided that the firstorder rewrite rules are nonduplicating and th ..."
Abstract

Cited by 26 (7 self)
 Add to MetaCart
In this paper we present the algebraiccube, an extension of Barendregt's cube with first and higherorder algebraic rewriting. We show that strong normalization is a modular property of all systems in the algebraiccube, provided that the firstorder rewrite rules are nonduplicating and the higherorder rules satisfy the general schema of Jouannaud and Okada. This result is proven for the algebraic extension of the Calculus of Constructions, which contains all the systems of the algebraiccube. We also prove that local confluence is a modular property of all the systems in the algebraiccube, provided that the higherorder rules do not introduce critical pairs. This property and the strong normalization result imply the modularity of confluence. 1 Introduction Many different computational models have been developed and studied by theoretical computer scientists. One of the main motivations for the development This research was partially supported by ESPRIT Basic Research Act...
A CategoryTheoretic Account of Program Modules
 Mathematical Structures in Computer Science
, 1994
"... The typetheoretic explanation of modules proposed to date (for programming languages like ML) is unsatisfactory, because it does not capture that evaluation of typeexpressions is independent from evaluation of programexpressions. We propose a new explanation based on \programming languages as inde ..."
Abstract

Cited by 23 (6 self)
 Add to MetaCart
The typetheoretic explanation of modules proposed to date (for programming languages like ML) is unsatisfactory, because it does not capture that evaluation of typeexpressions is independent from evaluation of programexpressions. We propose a new explanation based on \programming languages as indexed categories" and illustrates how ML can be extended to support higher order modules, by developing a categorytheoretic semantics for a calculus of modules with dependent types. The paper outlines also a methodology, which may lead to a modular approach in the study of programming languages. Introduction The addition of module facilities to programming languages is motivated by the need to provide a better environment for the development and maintenance of large programs. Nowadays many programming languages include such facilities. Throughout the paper Standard ML (see [Mac85, HMM86, MTH90]) is taken as representative for these languages. The implementation of module facilities has been ...
Implicit Syntax
 Informal Proceedings of First Workshop on Logical Frameworks
, 1992
"... A proof checking system may support syntax that is more convenient for users than its `official' language. For example LEGO (a typechecker for several systems related to the Calculus of Constructions) has algorithms to infer some polymorphic instantiations (e.g. pair 2 true instead of pair n ..."
Abstract

Cited by 22 (2 self)
 Add to MetaCart
A proof checking system may support syntax that is more convenient for users than its `official' language. For example LEGO (a typechecker for several systems related to the Calculus of Constructions) has algorithms to infer some polymorphic instantiations (e.g. pair 2 true instead of pair nat bool 2 true) and universe levels (e.g. Type instead of Type(4)). Users need to understand such features, but do not want to know the algorithms for computing them. In this note I explain these two features by nondeterministic operational semantics for "translating" implicit syntax to the fully explicit underlying formal system. The translations are sound and complete for the underlying type theory, and the algorithms (which I will not talk about) are sound (not necessarily complete) for the translations. This note is phrased in terms of a general class of type theories. The technique described has more general application. 1 Introduction Consider the usual formal system, !, for simp...
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 ..."
Abstract

Cited by 22 (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:ø )