Relation Level Semantics

It is common to consider a program as a relation on the set of its possible states. The relational equations describing the behavior of programs can be object level, i.e., they refer to states and values of variables, or they can be relation level, i.e., the constants and variables in the equations range over relations. Relation level work using binary relations has been mostly limited to the study of statements. This is partly because the calculus of binary relations has no operator for accessing the cartesian components of the space of the program, so that it is difficult to discuss expressions and declarations. This paper introduces an algebra that combines features of Codd's relational algebra and of the algebra of binary relations. Using this hybrid algebra, we give a relation level semantics of a language with types, procedures, and variable declarations.

[1]  Andrzej Blikle,et al.  A Comparative Review of Some Program Verification Methods , 1977, MFCS.

[2]  C. A. R. Hoare,et al.  An axiomatic basis for computer programming , 1969, CACM.

[3]  Dana S. Scott,et al.  Data Types as Lattices , 1976, SIAM J. Comput..

[4]  E. F. Codd,et al.  A relational model of data for large shared data banks , 1970, CACM.

[5]  Joseph E. Stoy,et al.  Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory , 1981 .

[6]  Willem P. de Roever,et al.  A Calculus for Recursive Program Schemes , 1972, ICALP.

[7]  Alfred Tarski,et al.  Relational selves as self-affirmational resources , 2008 .

[8]  C. A. R. Hoare,et al.  Laws of programming , 1987, CACM.

[9]  Tony Hoare,et al.  The Weakest Prespecification II , 1986 .

[10]  John W. Backus From Function Level Semantics to Program Transformation and Optimization , 1985, TAPSOFT, Vol.1.

[11]  A. Tarski A LATTICE-THEORETICAL FIXPOINT THEOREM AND ITS APPLICATIONS , 1955 .

[12]  Gunther Schmidt,et al.  Programs as Partial Graphs I: Flow Equivalence and Correctness , 1981, Theor. Comput. Sci..

[13]  David Maier,et al.  The Theory of Relational Databases , 1983 .

[14]  Hartmut Ehrig,et al.  Mathematical Foundations of Software Development , 1985, Lecture Notes in Computer Science.

[15]  Robin Milner,et al.  On Observing Nondeterminism and Concurrency , 1980, ICALP.

[16]  Rudolf Berghammer,et al.  Relational Algebraic Semantics of Deterministic and Nondeterministic Programs , 1986, Theor. Comput. Sci..

[17]  C. A. R. Hoare,et al.  The Weakest Prespecification , 1987, Information Processing Letters.