A Realizability Model for Impredicative Hoare Type Theory

We present a denotational model of impredicative Hoare Type Theory, a very expressive dependent type theory in which one can specify and reason about mutable abstract data types. The model ensures soundness of the extension of Hoare Type Theory with impredicative polymorphism; makes the connections to separation logic clear, and provides a basis for investigation of further sound extensions of the theory, in particular equations between computations and types.

[1]  Hongseok Yang,et al.  Relational Parametricity and Separation Logic , 2007, FoSSaCS.

[2]  EvansDavid,et al.  Improving Security Using Extensible Lightweight Static Analysis , 2002 .

[3]  K. Rustan M. Leino,et al.  The Spec# Programming System: An Overview , 2004, CASSIS.

[4]  Ian Stark,et al.  Free-Algebra Models for the pi-Calculus , 2005, FoSSaCS.

[5]  David Evans,et al.  Improving Security Using Extensible Lightweight Static Analysis , 2002, IEEE Softw..

[6]  Brian Campbell,et al.  Amortised Memory Analysis Using the Depth of Data Structures , 2009, ESOP.

[7]  Jan Schwinghammer,et al.  Separation Logic for Higher-Order Store , 2006, CSL.

[8]  Andrew W. Appel,et al.  A very modal model of a modern, major, general type system , 2007, POPL '07.

[9]  Maribel Fernández,et al.  Curry-Style Types for Nominal Terms , 2006, TYPES.

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

[11]  Louis-Julien Guillemette A type-preserving compiler from system f to typed assembly language , 2009 .

[12]  Hongseok Yang,et al.  Semantics of separation-logic typing and higher-order frame rules , 2005, 20th Annual IEEE Symposium on Logic in Computer Science (LICS' 05).

[13]  David J. Pym,et al.  The semantics and proof theory of the logic of bunched implications , 2002, Applied logic series.

[14]  David Walker,et al.  A Concurrent Logical Framework: The Propositional Fragment , 2003, TYPES.

[15]  Rasmus Ejlers Møgelberg,et al.  Domain-theoretical models of parametric polymorphism , 2007, Theor. Comput. Sci..

[16]  Nick Benton,et al.  Relational Reasoning in a Nominal Semantics for Storage , 2005, TLCA.

[17]  K. Rustan M. Leino,et al.  Extended static checking , 1998, PROCOMET.

[18]  Bart Jacobs,et al.  Categorical Logic and Type Theory , 2001, Studies in logic and the foundations of mathematics.

[19]  Roberto M. Amadio,et al.  Domains and Lambda-Calculi (Cambridge Tracts in Theoretical Computer Science) , 2008 .

[20]  Lars Birkedal,et al.  Abstract Predicates and Mutable ADTs in Hoare Type Theory , 2007, ESOP.

[21]  John C. Reynolds,et al.  Separation Logic for a Higher-Order Typed Language , 2005 .

[22]  Nobuko Yoshida,et al.  A logical analysis of aliasing in imperative higher-order functions , 2007, J. Funct. Program..

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

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

[25]  Stephen Gilmore,et al.  Mobile Resource Guarantees for Smart Devices , 2004, CASSIS.

[26]  Michael D. Ernst,et al.  An overview of JML tools and applications , 2003, International Journal on Software Tools for Technology Transfer.

[27]  Viktor Schuppan,et al.  Linear Encodings of Bounded LTL Model Checking , 2006, Log. Methods Comput. Sci..

[28]  Frank Pfenning,et al.  Dependent types in practical programming , 1999, POPL '99.

[29]  Lars Birkedal,et al.  BI-hyperdoctrines, higher-order separation logic, and abstraction , 2007, TOPL.

[30]  Lars Birkedal,et al.  Polymorphism and separation in hoare type theory , 2006, ICFP '06.

[31]  Karl Crary Type-Theoretic Methodology for Practical Programming Languages , 1998 .

[32]  Hongseok Yang,et al.  Relational Parametricity and Separation Logic , 2008, Log. Methods Comput. Sci..

[33]  Nobuko Yoshida,et al.  Logical Reasoning for Higher-Order Functions with Local State , 2007, Log. Methods Comput. Sci..

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

[35]  Nobuko Yoshida,et al.  Local State in Hoare Logic for Imperative Higher-Order Functions , 2005 .

[36]  John C. Reynolds,et al.  Separation logic: a logic for shared mutable data structures , 2002, Proceedings 17th Annual IEEE Symposium on Logic in Computer Science.

[37]  Sam Lindley,et al.  Extensional Rewriting with Sums , 2007, TLCA.

[38]  Lars Birkedal,et al.  BI Hyperdoctrines and Higher-Order Separation Logic , 2005, ESOP.