David Bourget (Western Ontario)
David Chalmers (ANU, NYU)
Rafael De Clercq
Ezio Di Nucci
Jack Alan Reynolds
Learn more about PhilPapers
Journal of Symbolic Logic 67 (3):1065-1077 (2002)
The Logic of Partial Terms LPT is a strict negative free logic that provides an economical framework for developing many traditional mathematical theories having partial functions. In these traditional theories, all functions and predicates are strict. For example, if a unary function (predicate) is applied to an undefined argument, the result is undefined (respectively, false). On the other hand, every practical programming language incorporates at least one nonstrict or lazy construct, such as the if-then-else, but nonstrict functions cannot be either primitive or introduced in definitional extensions in LPT. Consequently, lazy programming language constructs do not fit the traditional mathematical mold inherent in LPT. A nonstrict (positive free) logic is required to handle nonstrict functions and predicates. Previously developed nonstrict logics are not fully satisfactory because they are verbose in describing strict functions (which predominate in many programming languages), and some logicians find their semantics philosophically unpalatable. The newly developed Lazy Logic of Partial Terms LL is as concise as LPT in describing strict functions and predicates, and strict and nonstrict functions and predicates can be introduced in definitional extensions of traditional mathematical theories. LL is "built on top of" LPT, and, like LPT, admits only one domain in the semantics. In the semantics, for the case of a nonstrict unary function h in an LL theory T, we have $\models_T h(\perp) = y \longleftrightarrow \forall x(h(x) = y)$ , where $\perp$ is a canonical undefined term. Correspondingly, in the axiomatization, the "indifference" (to the value of the argument) axiom $h(\perp) = y \longleftrightarrow \forall x(h(x) = y)$ guarantees a proper fit with the semantics. The price paid for LL's naturalness is that it is tailored for describing a specific area of computer science, program specification and verification, possibly limiting its role in explicating classical mathematical and philosophical subjects
|Keywords||No keywords specified (fix it)|
|Categories||categorize this paper)|
Setup an account with your affiliations in order to access resources via your University's proxy server
Configure custom proxy (use this if your affiliation does not provide a proxy)
|Through your library|
References found in this work BETA
No references found.
Citations of this work BETA
No citations found.
Similar books and articles
William M. Farmer (1995). Reasoning About Partial Functions with the Aid of a Computer. Erkenntnis 43 (3):279 - 294.
Gerard R. Renardel De Lavalette (1984). Descriptions in Mathematical Logic. Studia Logica 43 (3):281 - 294.
Gerard R. Renardel de Lavalette (1984). Descriptions in Mathematical Logic. Studia Logica 43 (3):281-294.
Karel Lambert (2001). From Predication to Programming. Minds and Machines 11 (2):257-265.
William M. Farmer (1990). A Partial Functions Version of Church's Simple Theory of Types. Journal of Symbolic Logic 55 (3):1269-1291.
William M. Farmer & Joshua D. Guttman (2000). A Set Theory with Support for Partial Functions. Studia Logica 66 (1):59-78.
David Lorge Parnas (1995). A Logic for Describing, Not Verifying, Software. Erkenntnis 43 (3):321 - 338.
Added to index2009-01-28
Total downloads10 ( #270,929 of 1,781,157 )
Recent downloads (6 months)1 ( #291,797 of 1,781,157 )
How can I increase my downloads?