## Relational Reasoning about Contexts (1998)

Venue: | HIGHER ORDER OPERATIONAL TECHNIQUES IN SEMANTICS, PUBLICATIONS OF THE NEWTON INSTITUTE |

Citations: | 20 - 2 self |

### BibTeX

@INPROCEEDINGS{Lassen98relationalreasoning,

author = {Søren B. Lassen},

title = {Relational Reasoning about Contexts},

booktitle = {HIGHER ORDER OPERATIONAL TECHNIQUES IN SEMANTICS, PUBLICATIONS OF THE NEWTON INSTITUTE},

year = {1998},

pages = {91--135},

publisher = {Cambridge University Press}

}

### OpenURL

### Abstract

### Citations

3204 |
Communication and Concurrency
- Milner
- 1989
(Show Context)
Citation Context ...licit reasoning about contexts. Related work Applicative bisimulation (Abramsky 1990) is an operational theory for higherorder languages, inspired by bisimulation theories for concurrency (Park 1981; =-=Milner 1989-=-). It excels in reasoning about infinite data structures. These exist in every higher-order language but are particularly relevant in lazy functional languages (Gordon 1995; Pitts 1997) and functional... |

1562 | The Definition of Standard ML - Miller, Tofte, et al. - 1990 |

1309 | Monads for Functional Programming
- Wadler
- 1995
(Show Context)
Citation Context ...cott (1996), syntactic projections are used to address domain-theoretic notions of finite elements and !-algebraicity syntactically. Viewed as a proof rule, (7.2) is a sort of generalised Take Lemma (=-=Bird and Wadler 1987-=-) or higher-order structural induction principle; see Smith (1997). Pitts (1996b, 1994a) has also developed this idea and its domain-theoretic background and he has studied various applications. 7.2 E... |

655 |
Concurrency and automata on infinite sequences
- Park
- 1981
(Show Context)
Citation Context ...omplex, explicit reasoning about contexts. Related work Applicative bisimulation (Abramsky 1990) is an operational theory for higherorder languages, inspired by bisimulation theories for concurrency (=-=Park 1981-=-; Milner 1989). It excels in reasoning about infinite data structures. These exist in every higher-order language but are particularly relevant in lazy functional languages (Gordon 1995; Pitts 1997) a... |

440 | Computational lambda-calculus and monads
- Moggi
- 1989
(Show Context)
Citation Context ...ef v =xg: Combined with the extensionality laws we get: fn x => esfn x => e 0 iff 8v: (fn x => e) vs(fn x => e 0 ) v: Let We have laws corresponding to those of Moggi's computational lambda calculus (=-=Moggi 1989-=-), here presented as in Talcott (1997). let val x = v in e endsef v =xg: let val x = p in E[x] endsE[p]; where E is any closed evaluation context. Actually, these laws follow from the laws for case be... |

239 | The lazy lambda calculus
- Abramsky
- 1990
(Show Context)
Citation Context ...ion, the improvement theorem, and syntactic minimal invariance. Previous operational proofs of these results involve complex, explicit reasoning about contexts. Related work Applicative bisimulation (=-=Abramsky 1990-=-) is an operational theory for higherorder languages, inspired by bisimulation theories for concurrency (Park 1981; Milner 1989). It excels in reasoning about infinite data structures. These exist in ... |

239 | The Formal Semantics of Programming Languages - Winskel - 1993 |

120 |
Bisimilarity as a theory of functional programming
- Gordon
- 1995
(Show Context)
Citation Context ...for concurrency (Park 1981; Milner 1989). It excels in reasoning about infinite data structures. These exist in every higher-order language but are particularly relevant in lazy functional languages (=-=Gordon 1995-=-; Pitts 1997) and functional object-oriented languages (Gordon and Rees 1996). But applicative bisimulation is not very helpful for reasoning about recursive control structures. There are more `intens... |

109 |
Fully abstract models of the typed lambda calculus
- Milner
- 1977
(Show Context)
Citation Context ...uivalences. 5 Similarity The primary operational relation we study is Abramsky's applicative bisimulation (Abramsky 1990). It is the basis for a co-inductive generalisation of Milner's context lemma (=-=Milner 1977-=-) to untyped functional languages. The basic idea is that higher-order functions are infinite data structures, built from the `lazy' function abstraction data constructor, and are related co-inductive... |

106 | Proving congruence of bisimulation in functional programming languages - Howe - 1996 |

105 |
Functional Programming and Input/Output
- Gordon
- 1993
(Show Context)
Citation Context ...on also satisfies weakening and closure under substitutions. Each of these properties is preserved by relation composition. Compatible refinement For every open relation R, its compatible refinement (=-=Gordon 1994-=-) b R ` Rel ffi relates expressions with identical outermost syntactic constructor and immediate subterms pairwise related by R. Table 2 makes this definition precise for our language. Compatible refi... |

95 | Equality in lazy computation systems
- Howe
- 1989
(Show Context)
Citation Context ...rch Foundation. 1 2 Lassen to work with, both technically and notationally. For this reason, Howe deals only indirectly with contexts in his influential congruence proof for applicative bisimilarity (=-=Howe 1989-=-; Howe 1996). Instead the proof is `relational': a larger relation which is closed under contexts is constructed and is shown to coincide with applicative bisimilarity by bisimulation and induction on... |

83 |
Control operators, the SECD machine and the -calculus
- Felleisen, Friedman
- 1986
(Show Context)
Citation Context ... => e(g g)x), so that Yv = fn f => f 1 . Then Yv u + 2 fn x => u u 1 x because u 1 + 1 fn x => u u 1 x; for u 2 Val ; . Let an evaluation context, E, be a term with a hole, \Gamma, at redex position (=-=Felleisen and Friedman 1987-=-). They are given by the grammar: (Ev. ctx.) E ::= \Gamma j E :: e j e :: E j E e j e E j let val x = E in e end j (case E of nil => e 1 | x 1 :: x 2 => e 2 | f => e 3 ): We write E[e] for the term ob... |

75 | Operationally-based theories of program equivalence
- Pitts
- 1997
(Show Context)
Citation Context ...cy (Park 1981; Milner 1989). It excels in reasoning about infinite data structures. These exist in every higher-order language but are particularly relevant in lazy functional languages (Gordon 1995; =-=Pitts 1997-=-) and functional object-oriented languages (Gordon and Rees 1996). But applicative bisimulation is not very helpful for reasoning about recursive control structures. There are more `intensional' opera... |

72 | On the bisimulation proof method
- Sangiorgi
- 1994
(Show Context)
Citation Context ...results we present in this paper stem from the study of this work. Sangiorgi's bisimulation up to context is a powerful refined bisimulation proof rule for process calculi (Sangiorgi and Milner 1992; =-=Sangiorgi 1994-=-). Bisimulation up to context allows you to disregard a common term context when relating terms in bisimulation proofs. Unfortunately, his correctness proofs do not carry over to applicative bisimulat... |

43 | Bisimilarity for first-order calculus of objects with subtyping
- Gordon, Rees
- 1996
(Show Context)
Citation Context ...out infinite data structures. These exist in every higher-order language but are particularly relevant in lazy functional languages (Gordon 1995; Pitts 1997) and functional object-oriented languages (=-=Gordon and Rees 1996-=-). But applicative bisimulation is not very helpful for reasoning about recursive control structures. There are more `intensional' operational theories (Talcott 1997; Sands 1997b) which address recurs... |

39 | A theory of weak bisimulation for core CML - Ferreira, Hennessy, et al. - 1998 |

36 | From operational semantics to domain theory - Mason, Smith, et al. - 1996 |

27 | Substitution revisited - Stoughton - 1988 |

26 | An Axiomatic Approach to Adequacy
- Bräuner
- 1996
(Show Context)
Citation Context ...se p of nil => E[nil] | x 1 :: x 2 => E[x 1 :: x 2 ] | f => E[f ] 1 AsE[p]: Fixed point rec is a fixed point operator: rec f x => dsfn x => df (rec f x => d) =fg: Furthermore, rec is rationally open (=-=Brauner 1996-=-): C[rec f x => d] \Omega iff 8ns0: C[rec (n) f x => d] \Omega : This rule is useful for equational reasoning about divergence, without direct reference to the evaluation relation. Rational openness a... |

26 | How to Believe a Machine-Checked Proof - Pollack - 1998 |

24 | Lazy functions and mobile processes - Sangiorgi - 1995 |

23 | Operational equivalences for untyped and polymorphic object calculi - Gordon - 1998 |

21 | Operational theories of improvement in functional languages - Sands - 1991 |

18 | Optimality and inefficiency: What isn’t a cost model of the lambda calculus
- Lawall, Mairson
- 1996
(Show Context)
Citation Context ...s tailored to support reasoning about applicative similarity and it is not meant as a contribution to the discussion of what constitutes a good measure of program effeciency for functional languages (=-=Lawall and Mairson 1996-=-). We define an improvement preorder, , and a cost equivalence relation, /. , co-inductively like similarity and bisimilarity but with the additional requirement that p q implies that q evaluates in l... |

17 | From SOS rules to proof principles: An operational metatheory for functional languages
- Sands
- 1997
(Show Context)
Citation Context ...d languages (Gordon and Rees 1996). But applicative bisimulation is not very helpful for reasoning about recursive control structures. There are more `intensional' operational theories (Talcott 1997; =-=Sands 1997-=-b) which address recursion effectively by counting computation steps. But even they are of limited use for proving results such as the validity of the fundamental induction rules for recursion: recurs... |

17 |
The problem of "weak bisimulation up to
- Sangiorgi, Milner
- 1992
(Show Context)
Citation Context ...proof in Section 5.2.) The results we present in this paper stem from the study of this work. Sangiorgi's bisimulation up to context is a powerful refined bisimulation proof rule for process calculi (=-=Sangiorgi and Milner 1992-=-; Sangiorgi 1994). Bisimulation up to context allows you to disregard a common term context when relating terms in bisimulation proofs. Unfortunately, his correctness proofs do not carry over to appli... |

17 | Error correcting codes, perfect hashing circuits, and deterministic dynamic dictionaries - Miltersen - 1998 |

12 | Some notes on inductive and coinductive techniques in the semantics of functional programs
- Pitts
- 1994
(Show Context)
Citation Context ... for reasoning about open expressions. 7.1 Syntactic minimal invariance As a non-trivial example, we consider a syntactic version of the domain-theoretic minimal invariance property for our language (=-=Pitts 1994-=-a). Letsbe the recursive function def = rec f x => case x of nil => nil | x 1 :: x 2 => f x 1 :: f x 2 | g => fn y => f(g(f y)): (This would not be well-typed in ML where one would define a correspond... |

11 | Concurrent Lambda Calculus and a General Precongruence Theorem for Applicative Bisimulations - Ong - 1992 |

9 | A note on logical relations between semantics and syntax - Pitts - 1997 |

9 | On the arithmetical content of restricted forms of comprehension, choice and general uniform boundedness. Ann. Pure and Applied Logic 95 - Kohlenbach - 1998 |

8 |
Locality and interleaving semantics in calculi for mobile processes
- Sangiorgi
- 1996
(Show Context)
Citation Context ...fn x => \Omega\Gamma nilsffi\Omega : (5.19) This failure corresponds to the situation for process calculi, where a symmetric rule for weak bisimulation up to context and weak bisimulation also fails (=-=Sangiorgi 1996-=-). There the rule is repaired by introducing a more fine-grained efficiency preorder, called expansion. In Section 6 we develop a corresponding improvement relation for our language. Then we repair (5... |

7 | Classifying Toposes for First Order Theories - Butz, Johnstone - 1997 |

5 | Action semantics reasoning about functional programs - Lassen - 1997 |

4 | Raamsdonk - Klop, Oostrom, et al. - 1993 |

4 |
Inductive and co-inductive techniques in the semantics of functional programs. Course held at BRICS
- Pitts
- 1994
(Show Context)
Citation Context ... for reasoning about open expressions. 7.1 Syntactic minimal invariance As a non-trivial example, we consider a syntactic version of the domain-theoretic minimal invariance property for our language (=-=Pitts 1994-=-a). Letsbe the recursive function def = rec f x => case x of nil => nil | x 1 :: x 2 => f x 1 :: f x 2 | g => fn y => f(g(f y)): (This would not be well-typed in ML where one would define a correspond... |

4 |
An extension of Howe’s construction to yield simulation-up-to-context results. Unpublished Manuscript
- Pitts
- 1995
(Show Context)
Citation Context ...rivial results. Acknowledgements After some time of fruitless investigations into applicative bisimulation up to context, this work got under way when Andrew Pitts showed me his notes on the subject (=-=Pitts 1995-=-). I am grateful for his encouragement and valuable guidance in this project. I wish to thank David Sands for discussions; his work has been influential in every aspect of this research. Finally, I am... |

4 | Syntax and semantics of the logic L - Butz - 1997 |

3 |
Improvement theory and its applications. See Gordon and Pitts
- Sands
- 1997
(Show Context)
Citation Context ...d languages (Gordon and Rees 1996). But applicative bisimulation is not very helpful for reasoning about recursive control structures. There are more `intensional' operational theories (Talcott 1997; =-=Sands 1997-=-b) which address recursion effectively by counting computation steps. But even they are of limited use for proving results such as the validity of the fundamental induction rules for recursion: recurs... |

3 | Appears also as - pp - 1997 |

2 | The coverage of operational semantics. See Gordon and Pitts - Smith - 1997 |

2 |
Reasoning about functions with effects. See Gordon and Pitts
- Talcott
- 1997
(Show Context)
Citation Context ...object-oriented languages (Gordon and Rees 1996). But applicative bisimulation is not very helpful for reasoning about recursive control structures. There are more `intensional' operational theories (=-=Talcott 1997-=-; Sands 1997b) which address recursion effectively by counting computation steps. But even they are of limited use for proving results such as the validity of the fundamental induction rules for recur... |

2 | Awodey and Carsten Butz. Topological Completeness for Higher-Order Logic - Steve - 1997 |

2 | Bro Miltersen, Erez Petrank, and G abor Tardos. Linear Hashing - Alon, Dietzfelbinger, et al. - 1997 |

1 | Submitted to the Journal of the Interest Group in Pure and Applied Logics, Special Issue for 3rd Workshop on - Pitts - 1996 |