Program Semantics and Classical Logic



Program Semantics and Classical Logic

Reinhard Muskens

Abstract

In the tradition of Denotational Semantics one usually lets program
constructs take their denotations in reflexive domains, i.e. in domains
where self-application is possible. For the bulk of programming con-
structs, however, working with reflexive domains is an unnecessary
complication. In this paper we shall use the domains of ordinary clas-
sical type logic to provide the semantics of a simple programming
language containing choice and recursion. We prove that the rule of
Scott Induction holds in this new setting, prove soundness of a Hoare
calculus relative to our semantics, give a direct calculus C on programs,
and prove that the denotation of any program P in our semantics is
equal to the union of the denotations of all those programs L such that
P follows from L in our calculus and L does not contain recursion or
choice.

1 Introduction

In this paper we translate a simple but non-trivial imperative programming
language into an axiomatic extension of classical second order logic. Since
classical logic comes with a modeltheoretic interpretation, we get an interpre-
tation for our programming language too, as we may identify the denotation
of any programming construct in a given model with the denotation of its
translation in that model. The resulting semantics thus assigns a mathemat-
ical object to each programming construct in each model.

This last aspect makes the paper fall within the tradition of Denotational
Semantics [21, 20, 3, 19, 13, 22]. But we shall deviate considerably from
the usual denotational approach by not making any use of the Scott domains
which are ubiquitous in that tradition. A characteristic property of such
domains is that they can be reflexive, i.e. a domain D can be isomorphic

1



More intriguing information

1. Sex differences in the structure and stability of children’s playground social networks and their overlap with friendship relations
2. Feature type effects in semantic memory: An event related potentials study
3. Sustainability of economic development and governance patterns in water management - an overview on the reorganisation of public utilities in Campania, Italy, under EU Framework Directive in the field of water policy (2000/60/CE)
4. Infrastructure Investment in Network Industries: The Role of Incentive Regulation and Regulatory Independence
5. Types of Cost in Inductive Concept Learning
6. Neighborhood Effects, Public Housing and Unemployment in France
7. Education and Development: The Issues and the Evidence
8. El Mercosur y la integración económica global
9. BUSINESS SUCCESS: WHAT FACTORS REALLY MATTER?
10. Perfect Regular Equilibrium
11. The Role of area-yield crop insurance program face to the Mid-term Review of Common Agricultural Policy
12. Industrial Employment Growth in Spanish Regions - the Role Played by Size, Innovation, and Spatial Aspects
13. The name is absent
14. Sectoral Energy- and Labour-Productivity Convergence
15. The name is absent
16. Voluntary Teaming and Effort
17. Fiscal Policy Rules in Practice
18. The name is absent
19. The name is absent
20. Citizenship