Results 1 
8 of
8
Syntactic considerations on recursive types
 In Proceedings of the 11th Annual Symposium on Logic in Computer Science
, 1996
"... Abstract We study recursive types from a syntactic perspective. In particular, we compare the formulations of recursive types that are used in programming languages and formal systems. Our main tool is a new syntactic explanation of type expressions as functors. We also introduce a simple logic for ..."
Abstract

Cited by 33 (0 self)
 Add to MetaCart
(Show Context)
Abstract We study recursive types from a syntactic perspective. In particular, we compare the formulations of recursive types that are used in programming languages and formal systems. Our main tool is a new syntactic explanation of type expressions as functors. We also introduce a simple logic for programs with recursive types in which we carry out our proofs. 1 Introduction Recursive types are common in both programming languages and formal systems. By now, there is a deep and welldeveloped semantic theory of recursive types. The syntactic aspects of recursive types are also well understood in some special cases. In particular, there is an important body of knowledge about covariant recursive types, which include datatypes like natural numbers, lists, and trees. Beyond the covariant case, however, the syntactic understanding of recursive types becomes rather spotty. Consequently, the relations between various alternative formulations of recursive types are generally unclear. Furthermore, the syntactic counterparts to some of the most basic semantic results are unknown.
STMM: A Set Theory for Mechanized Mathematics
 JOURNAL OF AUTOMATED REASONING
, 2000
"... Although set theory is the most popular foundation for mathematics, not many mechanized mathematics systems are based on set theory. ZermeloFraenkel (zf) set theory and other traditional set theories are not an adequate foundation for mechanized mathematics. stmm is a version of vonNeumannBerna ..."
Abstract

Cited by 12 (6 self)
 Add to MetaCart
(Show Context)
Although set theory is the most popular foundation for mathematics, not many mechanized mathematics systems are based on set theory. ZermeloFraenkel (zf) set theory and other traditional set theories are not an adequate foundation for mechanized mathematics. stmm is a version of vonNeumannBernaysGödel (nbg) set theory that is intended to be a Set Theory for Mechanized Mathematics. stmm allows terms to denote proper classes and to be undened, has a denite description operator, provides a sort system for classifying terms by value, and includes lambdanotation with term constructors for function application and function abstraction. This paper describes stmm and discusses why it is a good foundation for mechanized mathematics.
Formalizing undefinedness arising in calculus
 Automated Reasoning—IJCAR 2004
, 2004
"... Abstract. Undefined terms are commonplace in mathematics, particularly in calculus. The traditional approach to undefinedness in mathematical practice is to treat undefined terms as legitimate, nondenoting terms that can be components of meaningful statements. The traditional approach enables statem ..."
Abstract

Cited by 11 (7 self)
 Add to MetaCart
(Show Context)
Abstract. Undefined terms are commonplace in mathematics, particularly in calculus. The traditional approach to undefinedness in mathematical practice is to treat undefined terms as legitimate, nondenoting terms that can be components of meaningful statements. The traditional approach enables statements about partial functions and undefined terms to be stated very concisely. Unfortunately, the traditional approach cannot be easily employed in a standard logic in which all functions are total and all terms are defined, but it can be directly formalized in a standard logic if the logic is modified slightly to admit undefined terms and statements about definedness. This paper demonstrates this by defining a version of simple type theory called Simple Type Theory with Undefinedness (sttwu) and then formalizing in sttwu examples of undefinedness arising in calculus. The examples are taken from M. Spivak’s wellknown textbook Calculus. 1
A Set Theory with Support for Partial Functions
 STUDIA LOGICA
, 2000
"... Partial functions can be easily represented in set theory as certain sets of ordered pairs. However, classical set theory provides no special machinery for reasoning about partial functions. For instance, there is no direct way of handling the application of a function to an argument outside its dom ..."
Abstract

Cited by 10 (2 self)
 Add to MetaCart
Partial functions can be easily represented in set theory as certain sets of ordered pairs. However, classical set theory provides no special machinery for reasoning about partial functions. For instance, there is no direct way of handling the application of a function to an argument outside its domain as in partial logic. There is also no utilization of lambdanotation and sorts or types as in type theory. This paper introduces a version of vonNeumannBernaysGödel set theory for reasoning about sets, proper classes, and partial functions represented as classes of ordered pairs. The underlying logic of the system is a partial firstorder logic, so classvalued terms may be nondenoting. Functions can be specified using lambdanotation, and reasoning about the application of functions to arguments is facilitated using sorts similar to those employed in the logic of the imps Interactive Mathematical Proof System. The set theory is intended to serve as a foundation for mechanized mathematics systems.
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
(Show Context)
on the World Wide Web (\the Web") (www.cs.cornell.edu/Info/NuPrl/nuprl.html)
The Constructive Foundations of the System eb
, 1996
"... We report on the programming system eb that supports computational science and engineering. eb has the constructive philosophy begun by Bishop. This philosophy is explained in enough detail to show how this view is acceptable to, but different from, calculus and MartinLof theories. eb raises a th ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
(Show Context)
We report on the programming system eb that supports computational science and engineering. eb has the constructive philosophy begun by Bishop. This philosophy is explained in enough detail to show how this view is acceptable to, but different from, calculus and MartinLof theories. eb raises a theoretical question of semantics: how to guarantee that the language as implemented works as intended by the constructive reals model? The eb system is currently in "bootstrap" mode. We discuss the implementation of this bootstrap as well as plans for the future. This implementation is a source to source translator to C. Primitive types in eb are multiprecision integers and floating point. As innovations, eb supports both functional and relational models, is nondeterministic, and uses failure as a control mechanism. Keywords Numerical programming (computational science and engineering), functional logic programming. Word Count 4999. 1 Introduction "The life which is unexamined is not wo...
A Constructive Theory of Euclidean Geometry: The first twentyeight theorems
, 1995
"... We report on our efforts to explore geometry using constructive mathematics and intuitionistic logic. Such an approach differs greatly from from classical Greek[13] and modern geometry[23]. This change impinges on the theory of computability that uses classical logic and the ChurchTuringChomsky fo ..."
Abstract
 Add to MetaCart
We report on our efforts to explore geometry using constructive mathematics and intuitionistic logic. Such an approach differs greatly from from classical Greek[13] and modern geometry[23]. This change impinges on the theory of computability that uses classical logic and the ChurchTuringChomsky foundations. We follow the constructive philosophy begun by Bishop[5]. This philosophy is explained in some detail. We hold that these ideas are more natural for computing than classical theories. It is difficult to see how constructive theories are meant to work. We present new ideas based onconstructive proofs of Euclid's Elements. Such work sets a new foundation for geometry and, hence, for graphics and visualization. CR Categories J.2 Computational Science and Engineering, F.4.1 Mathematical Logic, F.1.1 Models of Computation, F.3.1 Reasoning about Programs. 1 Introduction "The life which is unexamined is not worth living." Plato, Apology. "It appears to me that if one wants to make pro...
STMM and Partial Functions
, 1998
"... . Partial functions can be directly represented in set theory as, for example, certain sets of ordered pairs. Unfortunately, traditional set theories provide no special machinery, such as operators for application and abstraction, for working with either partial or total functions. stmm is a ver ..."
Abstract
 Add to MetaCart
(Show Context)
. Partial functions can be directly represented in set theory as, for example, certain sets of ordered pairs. Unfortunately, traditional set theories provide no special machinery, such as operators for application and abstraction, for working with either partial or total functions. stmm is a version of vonNeumannBernaysGodel set theory that is intended to be a Set Theory for Mechanized Mathematics. It admits undefined terms, allows functions to be applied and defined using lambdanotation, and provides a sort system for classifying terms by value. This paper describes stmm and then discusses the facilities in stmm that support reasoning with partial functions. 1 Introduction Set theory has been the most popular foundation for mathematics for the better part of this century. Consequently, mathematicians understand set theory quite well, and all serious mathematics practitioners are familiar with it to some degree. Although it is based on the two simple notions of set and m...