Results 1 -
7 of
7
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 27 (0 self)
- Add to MetaCart
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 well-developed 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. Zermelo-Fraenkel (zf) set theory and other traditional set theories are not an adequate foundation for mechanized mathematics. stmm is a version of von-Neumann-Berna ..."
Abstract
-
Cited by 11 (6 self)
- Add to MetaCart
. Although set theory is the most popular foundation for mathematics, not many mechanized mathematics systems are based on set theory. Zermelo-Fraenkel (zf) set theory and other traditional set theories are not an adequate foundation for mechanized mathematics. stmm is a version of von-Neumann-Bernays-Godel (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. Keywords: Set theory, nbg, higher-order logic, mechanized mathematics, theorem proving systems, partial functions, undenedness, sorts. 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)
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 8 (6 self)
- Add to MetaCart
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 well-known 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 7 (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 lambda-notation and sorts or types as in type theory. This paper introduces a version of von-Neumann-Bernays-Gö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 first-order logic, so classvalued terms may be nondenoting. Functions can be specified using lambda-notation, 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 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 Martin-Lof theories. eb raises a th ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
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 Martin-Lof 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 twenty-eight 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 Church-Turing-Chomsky 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 Church-Turing-Chomsky 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...

