Open Access
January 1997 Definitions in nonstrict positive free logic
Raymond D. Gumb, Karel Lambert
Mod. Log. 7(1): 25-55 (January 1997).


Every "practical" programming language supplies the programmer with at least one nonstrict construct, such as the ALGOL60 arithmetic 'if-then-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 call-by-name devices of ALGOL60 and SIMULA67 and the call-by-need 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 standard logic.

Before embarking on details, here is one general piece of advice. One often hears that... some. .. logic is pointless because it can be translated into some simpler language in a first-order way. Take no notice of such arguments. There is no weight to the claim that the original system must therefore be replaced by the new one. What is essential is to single out important concepts and to investigate their properties. -- Dana Scott


Download Citation

Raymond D. Gumb. Karel Lambert. "Definitions in nonstrict positive free logic." Mod. Log. 7 (1) 25 - 55, January 1997.


Published: January 1997
First available in Project Euclid: 7 March 2008

zbMATH: 0876.03013
MathSciNet: MR1438673

Primary: 03B70
Secondary: 03B60 , 68N15

Rights: Copyright © 1997 The Review of Modern Logic

Vol.7 • No. 1 • January 1997
Back to Top