Results 1 
4 of
4
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...
The Implicit Calculus of Constructions  Extending Pure Type Systems with an Intersection Type Binder and Subtyping
 Proc. of 5th Int. Conf. on Typed Lambda Calculi and Applications, TLCA'01, Krakow
, 2001
"... In this paper, we introduce a new type system, the Implicit Calculus of Constructions, which is a Currystyle variant of the Calculus of Constructions that we extend by adding an intersection type binder called the implicit dependent product. Unlike the usual approach of Type Assignment Systems ..."
Abstract

Cited by 13 (0 self)
 Add to MetaCart
In this paper, we introduce a new type system, the Implicit Calculus of Constructions, which is a Currystyle variant of the Calculus of Constructions that we extend by adding an intersection type binder called the implicit dependent product. Unlike the usual approach of Type Assignment Systems, the implicit product can be used at every place in the universe hierarchy. We study syntactical properties of this calculus such as the subject reduction property, and we show that the implicit product induces a rich subtyping relation over the type system in a natural way. We also illustrate the specicities of this calculus by revisitting the impredicative encodings of the Calculus of Constructions, and we show that their translation into the implicit calculus helps to reect the computational meaning of the underlying terms in a more accurate way.
More On Implicit Syntax
 In Automated Reasoning. First International Joint Conference (IJCAR'01
"... Proof assistants based on type theories, such as Coq and Lego, allow users to omit subterms on input that can be inferred automatically. While those mechanisms are well known, adhoc algorithms are used to suppress subterms on output. As a result, terms might be printed identically although they di ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
Proof assistants based on type theories, such as Coq and Lego, allow users to omit subterms on input that can be inferred automatically. While those mechanisms are well known, adhoc algorithms are used to suppress subterms on output. As a result, terms might be printed identically although they di#er in hidden parts. Such ambiguous representations may confuse users. Additionally, terms might be rejected by the type checker because the printer has erased too much type information. This paper addresses these problems by proposing e#ective erasure methods that guarantee successful term reconstruction, similar to the ones developed for the compression of proofterms in ProofCarrying Code environments. Experiences with the implementation in Typelab proved them both e#cient and practical. 1 Implicit Syntax Type theories are powerful formal systems that capture both the notion of computation and deduction. Particularly the expressive theories, such as the Calculus of Constructions (CC) [CH88] which is investigated in this paper, are used for the development of mathematical and algorithmic theories since proofs and specifications are representable in a very direct way using one uniform language. There is a price to pay for this expressiveness: abstractions have to be decorated with annotations, and type applications have to be written explicitly, because type abstraction and type application are just special cases of #abstraction and application. For example, to form a list one has to provide the element type as an additional argument to instantiate the polymorphic constructors cons and nil as in (cons IN1(nil IN))). Also, one has to annotate the abstraction of n in #n:IN .n+1 with its type IN although this type is determined by the abstraction body. These excessive ...
BoomborgPC: A ProofChecker of Calculus of Constructions Running on a Buffer of GNU Emacs
, 1995
"... Introduction BoomborgPC is a proofchecker of Calculus of Constructions that runs on a buffer of GNU Emacs. Calculus of Constructions, proposed by Thierry Coquand and G'erard Huet [2], is one of the socalled higherorder typed calculi [1]. A typed calculus is a formal system for writing typed  ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Introduction BoomborgPC is a proofchecker of Calculus of Constructions that runs on a buffer of GNU Emacs. Calculus of Constructions, proposed by Thierry Coquand and G'erard Huet [2], is one of the socalled higherorder typed calculi [1]. A typed calculus is a formal system for writing typed terms, and BoomborgPC is a program that typechecks terms written by the rules of Calculus of Constructions. A typed calculus is called higherorder, if it has variables ranging over types. Higherorder typed calculi, including Calculus of Constructions, are also called general logic or logical framework, because they can be used as a general framework to implement various kinds of logical system such as firstorder predicate calculus. This means that representing a proposition of a l