Results 1  10
of
26
Cayenne  a Language With Dependent Types
 IN INTERNATIONAL CONFERENCE ON FUNCTIONAL PROGRAMMING
, 1998
"... Cayenne is a Haskelllike language. The main difference between Haskell and Cayenne is that Cayenne has dependent types, i.e., the result type of a function may depend on the argument value, and types of record components (which can be types or values) may depend on other components. Cayenne also co ..."
Abstract

Cited by 219 (0 self)
 Add to MetaCart
Cayenne is a Haskelllike language. The main difference between Haskell and Cayenne is that Cayenne has dependent types, i.e., the result type of a function may depend on the argument value, and types of record components (which can be types or values) may depend on other components. Cayenne also combines the syntactic categories for value expressions and type expressions; thus reducing the number of language concepts. Having dependent types and combined type and value expressions makes the language very powerful. It is powerful enough that a special module concept is unnecessary; ordinary records suffice. It is also powerful enough to encode predicate logic at the type level, allowing types to be used as specifications of programs. However, this power comes at a cost: type checking of Cayenne is undecidable. While this may appear to be a steep price to pay, it seems to work well in practice.
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...
Enhancing the Nuprl Proof Development System and Applying it to Computational Abstract Algebra
, 1995
"... This thesis describes substantial enhancements that were made to the software tools in the Nuprl system that are used to interactively guide the production of formal proofs. Over 20,000 lines of code were written for these tools. Also, a corpus of formal mathematics was created that consists of rou ..."
Abstract

Cited by 44 (4 self)
 Add to MetaCart
This thesis describes substantial enhancements that were made to the software tools in the Nuprl system that are used to interactively guide the production of formal proofs. Over 20,000 lines of code were written for these tools. Also, a corpus of formal mathematics was created that consists of roughly 500 definitions and 1300 theorems. Much of this material is of a foundational nature and supports all current work in Nuprl. This thesis concentrates on describing the half of this corpus that is concerned with abstract algebra and that covers topics central to the mathematics of the co...
Type Theory and Programming
, 1994
"... This paper gives an introduction to type theory, focusing on its recent use as a logical framework for proofs and programs. The first two sections give a background to type theory intended for the reader who is new to the subject. The following presents MartinLof's monomorphic type theory and an im ..."
Abstract

Cited by 21 (2 self)
 Add to MetaCart
This paper gives an introduction to type theory, focusing on its recent use as a logical framework for proofs and programs. The first two sections give a background to type theory intended for the reader who is new to the subject. The following presents MartinLof's monomorphic type theory and an implementation, ALF, of this theory. Finally, a few small tutorial examples in ALF are given.
Axiomatic Domain Theory
 in Categories of Partial Maps. Distinguished Dissertation Series
, 1995
"... The denotational semantics approach to the semantics of programming languages interprets the language constructions by assigning elements of mathematical structures to them. The structures form socalled categories of domains and the study of their closure properties is the subject of domain theory ..."
Abstract

Cited by 16 (2 self)
 Add to MetaCart
The denotational semantics approach to the semantics of programming languages interprets the language constructions by assigning elements of mathematical structures to them. The structures form socalled categories of domains and the study of their closure properties is the subject of domain theory [Sco70, Sco82, Plo83, GS90, AJ94]. Typically, categories of domains consist of suitably complete partially ordered sets together with continuous maps. But, what is a category of domains? The main aim of axiomatic domain theory is to answer this question by axiomatising the structure needed on a mathematical universe so that it can be considered a category of domains. Criteria required from categories of domains can be of the most varied sort. For example, we could ask them to * have a rich collection of type constructors: sums, products, exponentials, powerdomains, dependent types, polymorphic types, etc; * have fixedpoint operators for programs and type constructors; * have only computable maps [Sco76, Smy77, Mul81, McC84, Ros86, Pho90, Lon95]; * have a Stone dual providing a logic of observable properties [Abr87, Vic89, Zha91]. An additional aim of the axiomatic approach is to relate these mathematical criteria with computational criteria. As we indicate below an axiomatic treatment of various of the above aspects is now available but much research remains to be done.
Implementing a Model Checker for LEGO
 Proc. of the 4th Inter Symp. of Formal Methods Europe, FME'97: Industrial Applications and Strengthened Foundations of Formal Methods
, 1997
"... . Interactive theorem proving gives a general approach for modelling and verification of both hardware and software systems but requires significant human efforts to deal with many tedious proofs. To be used in practical, we need some automatic tools such as model checkers to deal with those tedious ..."
Abstract

Cited by 14 (3 self)
 Add to MetaCart
. Interactive theorem proving gives a general approach for modelling and verification of both hardware and software systems but requires significant human efforts to deal with many tedious proofs. To be used in practical, we need some automatic tools such as model checkers to deal with those tedious proofs. In this paper, we formalise a verification system of both CCS and an imperative language in LEGO which can be used to verify both finite and infinite problems. Then a model checker, LegoMC, is implemented to generate the LEGO proof terms of finite models automatically. Therefore people can use LEGO to verify a general problem and throw some finite subproblems to be verified by LegoMC. On the other hand, this integration extends the power of model checking to verify more complicated and infinite models as well. 1 Introduction Interactive theorem proving gives a general approach for modelling and verification of both hardware and software systems but requires significant human effor...
A survey of automated deduction
 EDINBURGH ARTI INTELLIGENCE RESEARCH PAPER 950
, 1999
"... We survey research in the automation of deductive inference, from its beginnings in the early history of computing to the present day. We identify and describe the major areas of research interest and their applications. The area is characterised by its wide variety of proof methods, forms of autom ..."
Abstract

Cited by 12 (0 self)
 Add to MetaCart
We survey research in the automation of deductive inference, from its beginnings in the early history of computing to the present day. We identify and describe the major areas of research interest and their applications. The area is characterised by its wide variety of proof methods, forms of automated deduction and applications.
A coherence theorem for MartinLöf's type theory
 J. Functional Programming
, 1998
"... In type theory a proposition is represented by a type, the type of its proofs. As a consequence the equality relation on a certain type is represented by a binary family of types. Equality on a type may be conventional or inductive. Conventional equality means that one particular equivalence rel ..."
Abstract

Cited by 11 (0 self)
 Add to MetaCart
In type theory a proposition is represented by a type, the type of its proofs. As a consequence the equality relation on a certain type is represented by a binary family of types. Equality on a type may be conventional or inductive. Conventional equality means that one particular equivalence relation is singled out as the equality, while inductive equality, which we also call identity, is inductively defined as the "smallest reflexive relation". It is sometimes convenient to know that the type representing a proposition is collapsed in the sense that all its inhabitants are identical. Although uniqueness of identity proofs for an arbitrary type is not derivable inside type theory, there is a large class of types for which it may be proved. Our main result is a proof that any type with decidable identity has unique identity proofs. This result is convenient for proving that the class of types with decidable identities is closed under indexed sum. Our proof of the main result...