2012
DOI: 10.1017/s095679681200024x
|View full text |Cite
|
Sign up to set email alerts
|

The impact of higher-order state and control effects on local relational reasoning

Abstract: Reasoning about program equivalence is one of the oldest problems in semantics. In recent years, useful techniques have been developed, based on bisimulations and logical relations, for reasoning about equivalence in the setting of increasingly realistic languages-languages nearly as complex as ML or Haskell. Much of the recent work in this direction has considered the interesting representation independence principles enabled by the use of local state, but it is also important to understand the principles tha… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

1
81
0

Year Published

2016
2016
2023
2023

Publication Types

Select...
6
1
1

Relationship

1
7

Authors

Journals

citations
Cited by 71 publications
(86 citation statements)
references
References 49 publications
1
81
0
Order By: Relevance
“…The technique of step-indexed logical relations [2] supports reasoning about programs that have recursive types, higher-order state, or other features that introduce aspects of circularity into a language's semantics [1,12]. The soundness of these relations is usually proved with respect to a small-step semantics, because the length of a small-step trace can be used to make the relation well-founded when following the structure of the language's cyclic constructs (e.g., when following a pointer cycle in the heap or unfolding a recursive type).…”
Section: Logical Relationsmentioning
confidence: 99%
“…The technique of step-indexed logical relations [2] supports reasoning about programs that have recursive types, higher-order state, or other features that introduce aspects of circularity into a language's semantics [1,12]. The soundness of these relations is usually proved with respect to a small-step semantics, because the length of a small-step trace can be used to make the relation well-founded when following the structure of the language's cyclic constructs (e.g., when following a pointer cycle in the heap or unfolding a recursive type).…”
Section: Logical Relationsmentioning
confidence: 99%
“…We construct a relatively rich type of Kripke worlds to model arbitrary invariants and protocols on shared state [13], [16]. Our notations loosely follow Birkedal et al [15] and we use their recipe for constructing recursive worlds (see below).…”
Section: The Logical Relationmentioning
confidence: 99%
“…We have generally followed the notations used by Birkedal et al [15] and we used their recipe for defining recursive worlds using ultrametric space theory. Our worlds are inspired by Dreyer et al's [16]. The region-based effect interpretation used in Section 6 produces a logical relation related to one used by Thamsborg et al for proving relational results about a region-based type-and-effect system [17].…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…This is now a wellexplored technique for establishing a semantic correspondence between a lower-level and a higherlevel language via a typing discipline [Benton and Hur 2009;Hur and Dreyer 2011;Perconti and Ahmed 2014], or for establishing contextual equivalences between diferent implementation of ADTs that encapsulate signiicant representation changes behind type abstractions [Dreyer et al 2012]. In contrast to those approaches, we are not trying to establish a type discipline on ClosLang, nor do our optimisations afect the global state.…”
Section: A Step-indexed Logical Relationmentioning
confidence: 99%