Logical Step-Indexed Logical Relations

We show how to reason about "step-indexed" logical relations in an abstract way, avoiding the tedious, error-prone, and proof-obscuring step-index arithmetic that seems superficially to be an essential element of the method. Specifically, we define a logic LSLR, which is inspired by Plotkin and Abadi's logic for parametricity, but also supports recursively defined relations by means of the modal"later" operator from Appel et al.'s "very modal model" paper. We encode in LSLR a logical relation for reasoning(in-)equationally about programs in call-by-value System F extended with recursive types. Using this logical relation, we derive a useful set of rules with which we can prove contextual (in-)equivalences without mentioning step indices.

[1]  Rasmus Ejlers Møgelberg,et al.  Linear Abadi & Plotkin Logic , 2006 .

[2]  Andrew W. Appel,et al.  An indexed model of recursive types for foundational proof-carrying code , 2001, TOPL.

[3]  Chung-Kil Hur,et al.  Biorthogonality, step-indexing and compiler correctness , 2009, ICFP.

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

[5]  Søren B. Lassen,et al.  A complete, co-inductive syntactic theory of sequential control and state , 2007, POPL '07.

[6]  Eijiro Sumii A Complete Characterization of Observational Equivalence in Polymorphic lambda-Calculus with General References , 2009, CSL.

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

[8]  Martín Abadi,et al.  Formal parametric polymorphism , 1993, POPL '93.

[9]  Martin Grohe The complexity of homomorphism and constraint satisfaction problems seen from the other side , 2007, JACM.

[10]  Davide Sangiorgi,et al.  Environmental Bisimulations for Higher-Order Languages , 2007, LICS.

[11]  Martín Abadi,et al.  Syntactic considerations on recursive types , 1996, Proceedings 11th Annual IEEE Symposium on Logic in Computer Science.

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

[13]  Mitchell Wand,et al.  Small bisimulations for reasoning about higher-order imperative programs , 2006, POPL '06.

[14]  A. Pitts Parametric polymorphism and operational equivalence , 2000, Mathematical Structures in Computer Science.

[15]  Rasmus Ejlers Møgelberg,et al.  Linear Abadi and Plotkin Logic , 2006, Log. Methods Comput. Sci..

[16]  Philip Wadler,et al.  Theorems for free! , 1989, FPCA.

[17]  Derek Dreyer,et al.  State-dependent representation independence , 2009, POPL '09.

[18]  Lars Birkedal,et al.  A relational modal logic for higher-order stateful ADTs , 2010, POPL '10.

[19]  Martín Abadi,et al.  A Logic for Parametric Polymorphism , 1993, TLCA.

[20]  Claudio V. Russo,et al.  Operational Properties of Lily, a Polymorphic Linear Lambda Calculus with Recursion , 2001, HOOTS.

[21]  Lars Birkedal,et al.  The impact of higher-order state and control effects on local relational reasoning , 2010, ICFP '10.

[22]  Lars Birkedal,et al.  Relational Interpretations of Recursive Types in an Operational Setting , 1999, Inf. Comput..

[23]  Carolyn L. Talcott,et al.  1 Equivalence in Functional Languages with E ectsIan , 2007 .

[24]  Hiroshi Nakano,et al.  A modality for recursion , 2000, Proceedings Fifteenth Annual IEEE Symposium on Logic in Computer Science (Cat. No.99CB36332).

[25]  Patricia Johann,et al.  The Impact of seq on Free Theorems-Based Program Transformations , 2006, Fundam. Informaticae.

[26]  Chung-Kil Hur,et al.  A kripke logical relation between ML and assembly , 2011, POPL '11.

[27]  Umut A. Acar,et al.  Imperative self-adjusting computation , 2008, POPL '08.

[28]  Karl Crary,et al.  Syntactic Logical Relations for Polymorphic and Recursive Types , 2007, Computation, Meaning, and Logic.

[29]  Paul Blain Levy,et al.  Typed Normal Form Bisimulation for Parametric Polymorphism , 2008, 2008 23rd Annual IEEE Symposium on Logic in Computer Science.

[30]  Amal Ahmed,et al.  Step-Indexed Syntactic Logical Relations for Recursive and Quantified Types , 2006, ESOP.

[31]  Jérôme Vouillon,et al.  Recursive polymorphic types and parametricity in an operational framework , 2005, 20th Annual IEEE Symposium on Logic in Computer Science (LICS' 05).

[32]  Fritz Henglein,et al.  Coinductive Axiomatization of Recursive Type Equality and Subtyping , 1998, Fundam. Informaticae.