# Step-indexed kripke models over recursive worlds

@inproceedings{Birkedal2011StepindexedKM, title={Step-indexed kripke models over recursive worlds}, author={Lars Birkedal and Bernhard Reus and Jan Schwinghammer and Kristian St{\o}vring and Jacob Thamsborg and Hongseok Yang}, booktitle={POPL '11}, year={2011} }

Over the last decade, there has been extensive research on modelling challenging features in programming languages and program logics, such as higher-order store and storable resource invariants. A recent line of work has identified a common solution to some of these challenges: Kripke models over worlds that are recursively defined in a category of metric spaces. In this paper, we broaden the scope of this technique from the original domain-theoretic setting to an elementary, operational one… Expand

#### 87 Citations

Decomposing Logical Relations with Forcing Guilhem Jaber

- 2019

Logical relations have now the maturity to deal with program equivalence for realistic programming languages with features likes recursive types, higher-order references and first-class… Expand

Decomposing Logical Relations with Forcing

- Mathematics
- 2011

Logical relations have now the maturity to deal with program equivalence for realistic programming languages with features likes recursive types, higher-order references and first-class… Expand

First Steps in Synthetic Guarded Domain Theory: Step-Indexing in the Topos of Trees

- Mathematics, Computer Science
- 2011 IEEE 26th Annual Symposium on Logic in Computer Science
- 2011

It is proposed that the internal logic of S provides the right setting for the synthetic construction of abstract versions of step-indexed models of programming languages and program logics. Expand

First Steps in Synthetic Guarded Domain Theory: Step-Indexing in the Topos of Trees

- Mathematics, Computer Science
- LICS
- 2011

It is proposed that the internal logic of S provides the right setting for the synthetic construction of abstract versions of step-indexed models of programming languages and program logics. Expand

A Step-Indexed Kripke Model of Hidden State via Recursive Properties on Recursively Defined Metric Spaces

- Mathematics, Computer Science
- FICS
- 2010

The first sound model for Chargueraud and Pottier's type and capability system including both frame and anti-frame rules is given, which enables reasoning about some well-bracketed as well as (locally) monotonic uses of local state. Expand

Transfinite Step-Indexing: Decoupling Concrete and Logical Steps

- Computer Science
- ESOP
- 2016

This paper presents a logical relation that supports an arbitrary but finite number of logical steps for each concrete step and demonstrates that this tight coupling between logical and concrete steps is artificial and shows how to loosen it using transfinite step-indexing. Expand

A step-indexed Kripke model of hidden state

- Computer Science, Mathematics
- Mathematical Structures in Computer Science
- 2012

The semantic foundations of frame and anti-frame rules are discussed, the first sound model for Charguéraud and Pottier's type and capability system including both of these rules is presented, and invariants are generalised to families of invariants indexed over preorders. Expand

A kripke logical relation for effect-based program transformations

- Computer Science
- ICFP '11
- 2011

We present a Kripke logical relation for showing the correctness of program transformations based on a type-and-effect system for an ML-like programming language with higher-order store and dynamic… Expand

Step-indexed models of call-byname : a tutorial example

- 2014

In this tutorial paper we show how to construct a step-indexed logical relation for a call-by-name programming language with recursive types and show that it is complete with respect to contextual… Expand

Scala Step-by-Step

- 2020

The metatheory of Scala’s core type system— the Dependent Object Types (DOT) calculus— is hard to extend, like the metatheory of other type systems combining subtyping and dependent types. Soundness… Expand

#### References

SHOWING 1-10 OF 61 REFERENCES

A relational modal logic for higher-order stateful ADTs

- Computer Science
- POPL '10
- 2010

The proposed model of LADR is based on Ahmed, Dreyer, and Rossberg's state-of-the-art step-indexed Kripke logical relation, which was designed to facilitate proofs of representation independence for "state-dependent" ADTs. Expand

A Step-Indexed Kripke Model of Hidden State via Recursive Properties on Recursively Defined Metric Spaces

- Mathematics, Computer Science
- FICS
- 2010

The first sound model for Chargueraud and Pottier's type and capability system including both frame and anti-frame rules is given, which enables reasoning about some well-bracketed as well as (locally) monotonic uses of local state. Expand

L3: A Linear Language with Locations

- Mathematics, Computer Science
- Fundam. Informaticae
- 2005

We present a simple, but expressive type system that supports strong updates - updating a memory cell to hold values of unrelated types at different points in time. Our formulation is based upon a… Expand

A very modal model of a modern, major, general type system

- Computer Science
- POPL '07
- 2007

A model of recursive and impredicatively quantified types with mutable references is presented, interpreting all of the type constructors needed for typed intermediate languages and typed assembly languages used for object-oriented and functional languages and establishing a soundness proof of the typing systems underlying these TILs and TALs---ensuring that every well-typed program is safe. Expand

Formalizing Domains, Ultrametric Spaces and Semantics of Programming Languages

- Computer Science
- 2010

This work gives operational and denotational semantics for both a simply-typed CBV language with recursion and an untypedCBV language, establishing soundness and adequacy results in each case. Expand

Possible World Semantics for General Storage in Call-By-Value

- Computer Science
- CSL
- 2002

We describe a simple denotational semantics, using possible worlds, for a call-by-value language with ML-like storage facilities, allowing the storage of values of any type, and the generation of new… Expand

A theory of indirection via approximation

- Computer Science
- POPL '10
- 2010

A general method to construct models containing indirect reference by presenting a "theory of indirection", which is easy to apply to new settings and has a simple axiomatization, which is complete in the sense that all models of it are isomorphic. Expand

Categorical models for local names

- Computer Science
- LISP Symb. Comput.
- 1996

This paper describes the construction of categorical models for thenu-calculus, a language that combines higher-order functions with dynamically creatednames, and how these provide a sound denotational semantics for the nu-Calculus and can be used to reason about observable equivalence in the language. Expand

Step-Indexed Syntactic Logical Relations for Recursive and Quantified Types

- Computer Science
- ESOP
- 2006

We present a sound and complete proof technique, based on syntactic logical relations, for showing contextual equivalence of expressions in a λ-calculus with recursive types and impredicative… Expand

A family of syntactic logical relations for the semantics of Haskell-like languages

- Computer Science, Mathematics
- Inf. Comput.
- 2009

This paper works with an abstract notion of relating observational behavior of computations which has among its specializations both observational equivalence and observational approximation, and builds an entire family of logical relations, parameterized over a definedness order on failure causes. Expand