Relational Reasoning in a Nominal Semantics for Storage

We give a monadic semantics in the category of FM-cpos to a higher-order CBV language with recursion and dynamically allocated mutable references that may store both ground data and the addresses of other references, but not functions. This model is adequate, though far from fully abstract. We then develop a relational reasoning principle over the denotational model, and show how it may be used to establish various contextual equivalences involving allocation and encapsulation of store.

[1]  Alan Bundy,et al.  Constructing Induction Rules for Deductive Synthesis Proofs , 2006, CLASE.

[2]  James Ee The fresh approach. , 1953 .

[3]  Hongseok Yang,et al.  Correctness of data representations involving heap data structures , 2004, Sci. Comput. Program..

[4]  Andrew M. Pitts,et al.  On a monadic semantics for freshness , 2005, Theor. Comput. Sci..

[5]  Peter W. O'Hearn,et al.  Introduction to ALGOL-like languages , 1997 .

[6]  Benjamin C. Pierce,et al.  Logical relations for encryption , 2001, Proceedings. 14th IEEE Computer Security Foundations Workshop, 2001..

[7]  Peter W. O'Hearn,et al.  Algol-like Languages , 1997, Progress in Theoretical Computer Science.

[8]  Ian David Bede Stark,et al.  Names and higher-order functions , 1994 .

[9]  Robin Milner Action Calculi, or Syntactic Action Structures , 1993, MFCS.

[10]  Albert R. Meyer,et al.  Towards a fully abstract semantics for local variables: Preliminary report , 1988 .

[11]  Andrew M. Pitts,et al.  Higher order operational techniques in semantics , 1999 .

[12]  Benjamin C. Pierce,et al.  Logical relation for encryption , 2003 .

[13]  Andrew M. Pitts Reasoning about local variables with operationally-based logical relations , 1996, Proceedings 11th Annual IEEE Symposium on Logic in Computer Science.

[14]  Albert R. Meyer,et al.  Towards fully abstract semantics for local variables , 1988, POPL '88.

[15]  Peter W. O'Hearn,et al.  From Algol to polymorphic linear lambda-calculus , 2000, JACM.

[16]  Andrew M. Pitts,et al.  Relational Properties of Domains , 1996, Inf. Comput..

[17]  Peter W. O'Hearn,et al.  Parametricity and local variables , 1995, JACM.

[18]  Dan R. Ghica,et al.  Abstract Models of Storage , 2000, High. Order Symb. Comput..

[19]  Alex K. Simpson,et al.  Computational Adequacy in an Elementary Topos , 1998, CSL.

[20]  Peter W. O'Hearn,et al.  Local Reasoning about Programs that Alter Data Structures , 2001, CSL.

[21]  John C. Reynolds,et al.  The essence of ALGOL , 1997 .

[22]  Nick Benton,et al.  Monads, Effects and Transformations , 1999, Electron. Notes Theor. Comput. Sci..

[23]  Frank J. Oles,et al.  A category-theoretic approach to the semantics of programming languages , 1982 .

[24]  Paul Blain Levy,et al.  Possible World Semantics for General Storage in Call-By-Value , 2002, CSL.

[25]  Mark R. Shinwell The fresh approach: functional programming with names and binders , 2005 .

[26]  Andrew M. Pitts,et al.  Observable Properties of Higher Order Functions that Dynamically Create Local Names, or What's new? , 1993, MFCS.

[27]  I. Stark,et al.  Operational reasoning for functions with local state , 1999 .