Results 1  10
of
19
The Nuprl Open Logical Environment
, 2000
"... The Nuprl system is a framework for reasoning about mathematics and programming. Over the years its design has been substantially improved to meet the demands of largescale applications. Nuprl LPE, the newest release, features an open, distributed architecture centered around a flexible knowled ..."
Abstract

Cited by 44 (16 self)
 Add to MetaCart
The Nuprl system is a framework for reasoning about mathematics and programming. Over the years its design has been substantially improved to meet the demands of largescale applications. Nuprl LPE, the newest release, features an open, distributed architecture centered around a flexible knowledge base and supports the cooperation of independent formal tools. This paper gives a brief overview of the system and the objectives that are addressed by its new architecture.
TypeTheoretic Methodology For Practical Programming Languages
 DEPARTMENT OF COMPUTER SCIENCE, CORNELL UNIVERSITY
, 1998
"... The significance of type theory to the theory of programming languages has long been recognized. Advances in programming languages have often derived from understanding that stems from type theory. However, these applications of type theory to practical programming languages have been indirect; the ..."
Abstract

Cited by 22 (3 self)
 Add to MetaCart
The significance of type theory to the theory of programming languages has long been recognized. Advances in programming languages have often derived from understanding that stems from type theory. However, these applications of type theory to practical programming languages have been indirect; the differences between practical languages and type theory have prevented direct connections between the two. This dissertation presents systematic techniques directly relating practical programming languages to type theory. These techniques allow programming languages to be interpreted in the rich mathematical domain of type theory. Such interpretations lead to semantics that are at once denotational and operational, combining the advantages of each, and they also lay the foundation for formal verification of computer programs in type theory. Previous type theories either have not provided adequate expressiveness to interpret practical languages, or have provided such expressiveness at the expense of essential features of the type theory. In particular, no previous type theory has supported a notion of partial functions (needed to interpret recursion in practical languages), and a notion of total functions and objects (needed to reason about data values), and an intrinsic notion of equality (needed for most interesting results). This dissertation presents the first type theory incorporating all three, and discusses issues arising in the design of that type theory. This type theory is used as the target of a typetheoretic semantics for a expressive programming calculus. This calculus may serve as an internal language for a variety of functional programming languages. The semantics is stated as a syntaxdirected embedding of the programming calculus into type theory. A critical point arising in both the type theory and the typetheoretic semantics is the issue of admissibility. Admissibility governs what types it is legal to form recursive functions over. To build a useful type theory for partial functions it is necessary to have a wide class of admissible types. In particular, it is necessary for all the types arising in the typetheoretic semantics to be admissible. In this dissertation I present a class of admissible types that is considerably wider than any previously known class.
A MultiLevel Approach to program Synthesis
, 1998
"... We present an approach to a coherent program synthesis system which integrates a variety of interactively controlled and automated techniques from theorem proving and algorithm design at different levels of abstraction. Besides providing an overall view we summarize the individual research results ..."
Abstract

Cited by 13 (9 self)
 Add to MetaCart
We present an approach to a coherent program synthesis system which integrates a variety of interactively controlled and automated techniques from theorem proving and algorithm design at different levels of abstraction. Besides providing an overall view we summarize the individual research results achieved in the course of this development.
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.
Formal reasoning about communication systems I: Embedding ML into type theory
, 1997
"... Abstract. We present a semantically correct embedding of a subset of the Ocaml programming language into the type theory of NuPRL. The subset is that needed to build the Ensemble group communication system. We describe the essential methodologies for representing language constructs by typetheoreti ..."
Abstract

Cited by 12 (9 self)
 Add to MetaCart
Abstract. We present a semantically correct embedding of a subset of the Ocaml programming language into the type theory of NuPRL. The subset is that needed to build the Ensemble group communication system. We describe the essential methodologies for representing language constructs by typetheoretical expressions. Tactics representing derived inference rules and a programming logic for these constructs will be discussed as well as algorithms for translating an Ocamlprogram into NuPRLobjects and vice versa. The formal representations and the translation algorithms will serve as the foundation for the development of automated reasoning tools for the
Complete integer decision procedures as derived rules in HOL
 Theorem Proving in Higher Order Logics, TPHOLs 2003, volume 2758 of Lect. Notes in Comp. Sci
, 2003
"... Abstract. I describe the implementation of two complete decision procedures for integer Presburger arithmetic in the HOL theoremproving system. The first procedure is Cooper’s algorithm, the second, the Omega Test. Between them, the algorithms illustrate three different implementation techniques in ..."
Abstract

Cited by 9 (0 self)
 Add to MetaCart
Abstract. I describe the implementation of two complete decision procedures for integer Presburger arithmetic in the HOL theoremproving system. The first procedure is Cooper’s algorithm, the second, the Omega Test. Between them, the algorithms illustrate three different implementation techniques in a fully expansive system. 1
The Nuprl Proof Development System, Version 5: Reference Manual and User’s Guide
, 2002
"... This manual is a reference manual for version 5 of the Nuprl proof development system. As the Nuprl system is constantly under development, this manual will always be incomplete. In particular, it is missing information about recent advanced features of the system and about certain extensions of Nup ..."
Abstract

Cited by 8 (3 self)
 Add to MetaCart
This manual is a reference manual for version 5 of the Nuprl proof development system. As the Nuprl system is constantly under development, this manual will always be incomplete. In particular, it is missing information about recent advanced features of the system and about certain extensions of Nuprl’s type theory that are currently being added to the system. More recent information and the system itself can be found at the Nuprl web pages
From dy/dx to [ ]P: A matter of notation
 In Proceedings of the Conference on User Interfaces for Theorem Provers
, 1998
"... An analysis is given of the conventional dy notation for derivatives that explains it dx as a notational abbreviation for expressions using the simpler binding structure standard in modern formalizations. The Nuprl display system was used to implement examples of such notation. It turns out that the ..."
Abstract

Cited by 5 (1 self)
 Add to MetaCart
An analysis is given of the conventional dy notation for derivatives that explains it dx as a notational abbreviation for expressions using the simpler binding structure standard in modern formalizations. The Nuprl display system was used to implement examples of such notation. It turns out that the same methods can be used to explain conventional modal logic notations. We construe necessity as a firstorder quantifier, in a well known way, then explain standard modal notation as a way simply to display these formulas of a nonmodal logic. We contrast the method with the interpretation of necessity as a sentential operator, and also with higherorder interpretations that have been used to interpret temporal logic in HOL. The methods are then applied to a simple firstorder temporal logic. The intention is that the user can work in this notation interactively, not just produce it for printing. The methods to be discussed here for formalizing a few mathematical and logical concepts are already well known, or are small variations on well known methods, and are not the true subject of this paper. This paper is about notational enhancements for exploiting those methods, and may also serve as an explanation for some notations that are conventional, but do not obviously conform to the simpler syntax and semantics of currentday computerized formal mathematics. We apply a particular combination of notational devices to a few examples, revealing their notational similarity. We start with Leibniz’s notation for derivatives, dy dx, and end with firstorder temporal logic for programs. These notational methods have been made precise, and implemented in the Nuprl proof development system, 1 where they are meant for use as working notation. These examples were developed within it, although almost none of the mathematics for which these notations were implemented has been carried out in Nuprl. The basic idea: How dy dx works. Suppose Deriv(x. e(x) ; a) is a binding operator used to stand for the derivative, at a, of the function denoted by e(x) in variable x. 2 So, for example,
The Synthesis of a Java Card Tokenisation Algorithm
 In Proc. of 16th Int. Conf. on Automated Software Engineering (ASE 2001
, 2001
"... We describe the development of a Java bytecode optimisation algorithm by the methodology of program extraction. We develop the algorithm as a collection of proofs and definitions in the Coq proof assistant, and then use Coq's extraction mechanism to automatically generate a program in OCaml. The ext ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
We describe the development of a Java bytecode optimisation algorithm by the methodology of program extraction. We develop the algorithm as a collection of proofs and definitions in the Coq proof assistant, and then use Coq's extraction mechanism to automatically generate a program in OCaml. The extraction methodology guarantees that this program is correct. We discuss the feasibility of the methodology and suggest some improvements that could be made.
Proof Representations in Theorem Provers
, 1998
"... s and compressed postscript files are available via http://svrc.it.uq.edu.au Proof Representations in Theorem Provers Geoffrey Norman Watson Abstract This is a survey of some of the proof representations used by current theorem provers. The aim of the survey is to ascertain the range of mechani ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
s and compressed postscript files are available via http://svrc.it.uq.edu.au Proof Representations in Theorem Provers Geoffrey Norman Watson Abstract This is a survey of some of the proof representations used by current theorem provers. The aim of the survey is to ascertain the range of mechanisms used to represent proofs and the purposes to which these representations are put. This is done within a simple framework. It examines both internal and external representations, although the focus is on representations that could be exported to an external proof checker. A number of examples from various provers are given in a series of appendices. 1 Contents 1 Introduction 3 2 Aim of the Survey 3 2.1 Why Construct Proofs . . . . . . . . . 3 2.2 Levels of Representation . . . . . . . . 4 3 Scope of the Survey 5 3.1 Ergo . . . . . . . . . . . . . . . . . . . 5 3.2 HOL . . . . . . . . . . . . . . . . . . 6 3.3 Isabelle . . . . . . . . . . . . . . . . . 7 3.4 Nuprl . . . . . . . . . . . ...