Results 1  10
of
10
From Total Equational to Partial First Order Logic
, 1998
"... The focus of this chapter is the incremental presentation of partial firstorder logic, seen as a powerful framework where the specification of most data types can be directly represented in the most natural way. Both model theory and logical deduction are described in full detail. Alternatives to pa ..."
Abstract

Cited by 19 (8 self)
 Add to MetaCart
The focus of this chapter is the incremental presentation of partial firstorder logic, seen as a powerful framework where the specification of most data types can be directly represented in the most natural way. Both model theory and logical deduction are described in full detail. Alternatives to partiality, like (variants of) error algebras and ordersortedness are also discussed, showing their uses and limitations. Moreover, both the total and the partial (positive) conditional fragment are investigated in detail, and in particular the existence of initial (free) models for such restricted logical paradigms is proved. Some more powerful algebraic frameworks are sketched at the end. Equational specifications introduced in last chapter, are a powerful tool to represent the most common data types used in programming languages and their semantics. Indeed, Bergstra and Tucker have shown in a series of papers (see [BT87] for a complete exposition of results) that a data type is semicompu...
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.
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.
Definitions in Nonstrict Positive Free Logic
 Modern Logic
, 1997
"... Every "practical" programming language supplies the programmer with at least one nonstrict construct, such as the ALGOL60 arithmetic `ifthen else' and the LISP `cond'. Many programming languages also enable the user to define nonstrict functions. In some languages, this is accom ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
Every "practical" programming language supplies the programmer with at least one nonstrict construct, such as the ALGOL60 arithmetic `ifthen else' and the LISP `cond'. Many programming languages also enable the user to define nonstrict functions. In some languages, this is accomplished through the lazy evaluation of procedure parameters, as realized, for example, by the callbyname devices of ALGOL60 and SIMULA67 and the callbyneed mechanism of Haskell. In other languages, such as Common LISP, a macro definition facility can serve a similar purpose. Programming languages that provide a mechanism for the user to define nonstrict functions are nonstrict languages, and we call the natural underlying logic of these languages nonstrict positive free logic. In this paper, we present the definition theory of nonstrict positive free logic. Suitable transformations of sentences in standard logic into sentences in nonstrict positive free logic preserve many properties of definitions in stand...
Model Sets in a Nonconstructive Logic of Partial Terms with Definite Descriptions
 Springer LNAI
, 2000
"... The logic of partial terms (LPT) is a variety of negative free logic. In LPT, functions, as well as predicates, are strict, and free variables are given the generality interpretation. Both nonconstructive (classical) and intuitionist brands of negative free logic have served in foundational investig ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
(Show Context)
The logic of partial terms (LPT) is a variety of negative free logic. In LPT, functions, as well as predicates, are strict, and free variables are given the generality interpretation. Both nonconstructive (classical) and intuitionist brands of negative free logic have served in foundational investigations, and Hilbertstyle axiomatizations, natural deduction systems, and Gentzenstyle sequents have been developed for them. This paper focuses on nonconstructive LPT with denite descriptions, called LPD, lays the foundation for tableaux systems by dening the concept of an LPD model system and establishing Hintikka's Lemma, and summarizes the corresponding tableaux proof rules. Philosophical Roots of Negative Free Logics ... not even with these (contraries `Socrates is well' and `Socrates is sick') is it necessary always for one to be true and the other false. For if Socrates exists one will be true and the other false, but if he does not both will be false.... (Aristotle, Categories, x, 13b12) A robust sense of reality is necessary in framing a correct analysis of propositions about ... round squares and other such pseudoobjects....we shall insist that in the analysis of propositions, nothing \unreal" is to be admitted. (Bertrand Russell,
A Free Logical Foundation for Nonstrict Functions
"... this paper, we sketch the definition theory for a nonstrict positive free logic in which there is exactly one error object err to which all terms without existential import can refer. Having exactly one error object identifies nontermination and all runtime errors. This is most natural in languages ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
this paper, we sketch the definition theory for a nonstrict positive free logic in which there is exactly one error object err to which all terms without existential import can refer. Having exactly one error object identifies nontermination and all runtime errors. This is most natural in languages such as Miranda and haskell in which execution is aborted immediately when an error is raised [16]. By using a free logic, we are able to state the axioms of a mathematical theory without cluttering the axiomatization with error conditions, as would be required using restricted quantification in standard logic. For example, Peano's axiom:
A Scheme for Defining Partial HigherOrder Functions by Recursion
"... This paper describes a scheme for defining partial higherorder functions as the least fixed points of monotone functionals. The scheme can be used to define both single functions by recursion and systems of functions by mutual recursion. The scheme is implemented in the IMPS Interactive Mathematica ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
(Show Context)
This paper describes a scheme for defining partial higherorder functions as the least fixed points of monotone functionals. The scheme can be used to define both single functions by recursion and systems of functions by mutual recursion. The scheme is implemented in the IMPS Interactive Mathematical Proof System. The IMPS implementation includes an automatic syntactic check for monotonicity that succeeds for many common recursive definitions. 1
Session F1C Simple Type Theory: Simple Steps Towards a Formal Specification
"... Abstract Engineers, particularly software engineers, need to know how to read and write precise specifications. Specifications are made precise by expressing them in a formal mathematical language. Simple type theory, also as known as higherorder logic, is an excellent educational and practical to ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract Engineers, particularly software engineers, need to know how to read and write precise specifications. Specifications are made precise by expressing them in a formal mathematical language. Simple type theory, also as known as higherorder logic, is an excellent educational and practical tool for creating and understanding formal specifications. It provides a better logical foundation for specification than firstorder logic and is a better introductory specification language than industrial specification languages like VDMSL and Z. For these reasons, we recommend that simple type theory be incorporated into the undergraduate engineering curriculum.
Preventing Arithmetic Overflows in Alloy
"... Abstract. In a bounded analysis, arithmetic operators become partial, and a different semantics becomes necessary. One approach, mimicking programming languages, is for overflow to result in wraparound. Although easy to implement, wraparound produces unexpected counterexamples that do not correspo ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract. In a bounded analysis, arithmetic operators become partial, and a different semantics becomes necessary. One approach, mimicking programming languages, is for overflow to result in wraparound. Although easy to implement, wraparound produces unexpected counterexamples that do not correspond to cases that would arise in the unbounded setting. This paper describes a new approach, implemented in the latest version of the Alloy Analyzer, in which instances that would involve overflow are suppressed, and consequently, spurious counterexamples are eliminated. The key idea is to interpret quantifiers so that bound variables range only over values that do not cause overflow. 1
A Free Logical Foundation for Nonstrict Functions
"... . Every "practical" programming language supplies the programmer with at least one nonstrict construct, such as the ALGOL60 arithmetic `ifthenelse' and the LISP `cond'. Many programming languages also enable the user to define nonstrict functions. In some languages, this is ..."
Abstract
 Add to MetaCart
. Every "practical" programming language supplies the programmer with at least one nonstrict construct, such as the ALGOL60 arithmetic `ifthenelse' and the LISP `cond'. Many programming languages also enable the user to define nonstrict functions. In some languages, this is accomplished through the lazy evaluation of procedure parameters, as realized, for example, by the callbyname devices of ALGOL60 and SIMULA67 and the callbyneed mechanism of haskell. In other languages, such as Common LISP, a macro definition facility can serve a similar purpose. Programming languages that provide a mechanism for the user to define nonstrict functions are nonstrict languages, and we call the natural, twovalued, firstorder logic underlying these languages nonstrict positive free logic. Definitions are essential in the specification of software, and many useful properties of definitions in standard logic carry over into nonstrict positive free logic. Before embarking on details, ...