Results 1  10
of
29
MBase: Representing Knowledge and Context for the Integration of Mathematical Software Systems
, 2000
"... In this article we describe the data model of the MBase system, a webbased, ..."
Abstract

Cited by 41 (11 self)
 Add to MetaCart
In this article we describe the data model of the MBase system, a webbased,
Importing mathematics from hol into Nuprl
 Theorem Proving in Higher Order Logics (TPHOLs 1996), volume 1125 of LNCS
, 1996
"... Abstract. Nuprl and HOL are both tacticbased interactive theorem provers for higherorder logic, and both have been used in many substantial applications over the last decade. However, the HOL community has accumulated a much larger collection of formalized mathematics of the kind useful for hardwa ..."
Abstract

Cited by 27 (2 self)
 Add to MetaCart
Abstract. Nuprl and HOL are both tacticbased interactive theorem provers for higherorder logic, and both have been used in many substantial applications over the last decade. However, the HOL community has accumulated a much larger collection of formalized mathematics of the kind useful for hardware and software veri cation. This collection would be of great bene t in applying Nuprl to veri cation problems of real practical interest. This paper describes a connection we have implemented between HOL and Nuprl that gives Nuprl e ective access to mathematics formalized in HOL. In designing this connection, we had to overcome a number of problems related to di erences in the logics, logical infrastructures and stylistic conventions of Nuprl and HOL. 1
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.
NuPRL’s class theory and its applications
 Foundations of Secure Computation, NATO ASI Series, Series F: Computer & System Sciences
, 2000
"... This article presents a theory of classes and inheritance built on top of constructive type theory. Classes are defined using dependent and very dependent function types that are found in the Nuprl constructive type theory. Inheritance is defined in terms of a general subtyping relation over the und ..."
Abstract

Cited by 15 (7 self)
 Add to MetaCart
This article presents a theory of classes and inheritance built on top of constructive type theory. Classes are defined using dependent and very dependent function types that are found in the Nuprl constructive type theory. Inheritance is defined in terms of a general subtyping relation over the underlying types. Among the basic types is the intersection type which plays a critical role in the applications because it provides a method of composing program components. The class theory is applied to defining algebraic structures such as monoids, groups, rings, etc. and relating them. It is also used to define communications protocols as infinite state automata. The article illustrates the role of these formal automata in defining the services of a distributed group communications system. In both applications the inheritance mechanisms allow reuse of proofs and the statement of general properties of system composition. 1
Hybrid Interactive Theorem Proving using Nuprl and HOL
 IN MCCUNE [1997
, 1997
"... In this paper we give the first example of a significant piece of formal mathematics conducted in a hybrid of two different interactive systems. We constructively prove a theorem in Nuprl, from which a program can be extracted, but we use classical mathematics imported from HOL, and a connectio ..."
Abstract

Cited by 14 (1 self)
 Add to MetaCart
In this paper we give the first example of a significant piece of formal mathematics conducted in a hybrid of two different interactive systems. We constructively prove a theorem in Nuprl, from which a program can be extracted, but we use classical mathematics imported from HOL, and a connection to some of HOL's definitional packages, for parts of the proof that do not contribute to the program.
Constructively Formalizing Automata Theory
 Proof, Language and Interaction: Essays in Honour of Robert Milner
, 1997
"... We present a constructive formalization of the MyhillNerode theorem on the minimization of finite automata that follows the account in Hopcroft and Ullman's book Formal Languages and Their Relation to Automata. We chose to formalize this theorem because it illustrates many points critical to f ..."
Abstract

Cited by 11 (0 self)
 Add to MetaCart
We present a constructive formalization of the MyhillNerode theorem on the minimization of finite automata that follows the account in Hopcroft and Ullman's book Formal Languages and Their Relation to Automata. We chose to formalize this theorem because it illustrates many points critical to formalization of computational mathematics, especially the extraction of an important algorithm from a proof as a method of knowing that the algorithm is correct. It also gave us an opportunity to experiment with a constructive implementation of quotient sets. We carried out the formalization in Nuprl, an interactive theorem prover based on constructive type theory. Nuprl borrows an implementation of the ML language from the LCF system of Milner, Gordon, and Wadsworth, and makes heavy use of the notion of tactic pioneered by Milner in LCF. We are interested in the pedagogical value of electronic formal mathematical texts and have put our formalization on the World Wide Web. Readers are invited to ...
A logic of events
, 2003
"... There is a wellestablished theory and practice for creating correctbyconstruction functional programs by extracting them from constructive proofs of assertions of the form ∀x: A.∃y: B.R(x, y). There have been several efforts to extend this methodology to concurrent programs, say by using linear l ..."
Abstract

Cited by 10 (7 self)
 Add to MetaCart
There is a wellestablished theory and practice for creating correctbyconstruction functional programs by extracting them from constructive proofs of assertions of the form ∀x: A.∃y: B.R(x, y). There have been several efforts to extend this methodology to concurrent programs, say by using linear logic, but there is no practice and the results are limited. In this paper we define a logic of events that justifies the extraction of correct distributed processes from constructive proofs that system specifications are achievable, and we describe an implementation of an extraction process in the context of constructive type theory. We show that a class of message automata, similar to IO automata and to active objects, are realizers for this logic. We provide a relative consistency result for the logic. We show an example of protocol derivation in this logic, and show how to embed temporal logics such as T LA+ in the event logic. 1
The structure of nuprl’s type theory
, 1997
"... on the World Wide Web (\the Web") (www.cs.cornell.edu/Info/NuPrl/nuprl.html) ..."
Abstract

Cited by 9 (3 self)
 Add to MetaCart
on the World Wide Web (\the Web") (www.cs.cornell.edu/Info/NuPrl/nuprl.html)
Importing Isabelle Formal Mathematics into NuPRL
, 1999
"... Isabelle and NuPRL are two theorem proving environments that are written in different dialects of ML using different formula syntaxes and different logical foundations. In spite of this, they have similar sets of basic theories, representing the same mathematical concepts. ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
Isabelle and NuPRL are two theorem proving environments that are written in different dialects of ML using different formula syntaxes and different logical foundations. In spite of this, they have similar sets of basic theories, representing the same mathematical concepts.
Quotient Types: A Modular Approach
 ITUT Recommendation H.324
, 2002
"... In this paper we introduce a new approach to axiomatizing quotient types in type theory. We suggest replacing the existing monolithic rule set by a modular set of rules for a specially chosen set of primitive operations. This modular formalization of quotient types turns out to be much easier to use ..."
Abstract

Cited by 6 (3 self)
 Add to MetaCart
In this paper we introduce a new approach to axiomatizing quotient types in type theory. We suggest replacing the existing monolithic rule set by a modular set of rules for a specially chosen set of primitive operations. This modular formalization of quotient types turns out to be much easier to use and free of many limitations of the traditional monolithic formalization. To illustrate the advantages of the new approach, we show how the type of collections (that is known to be very hard to formalize using traditional quotient types) can be naturally formalized using the new primitives. We also show how modularity allows us to reuse one of the new primitives to simplify and enhance the rules for the set types.