## From SOS Rules to Proof Principles: An Operational Metatheory for Functional Languages (1997)

Venue: | In Proc. POPL'97, the 24 th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages |

Citations: | 17 - 1 self |

### BibTeX

@INPROCEEDINGS{Sands97fromsos,

author = {David Sands},

title = {From SOS Rules to Proof Principles: An Operational Metatheory for Functional Languages},

booktitle = {In Proc. POPL'97, the 24 th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages},

year = {1997},

pages = {428--441},

publisher = {ACM Press}

}

### Years of Citing Articles

### OpenURL

### Abstract

Structural Operational Semantics (SOS) is a widely used formalism for specifying the computational meaning of programs, and is commonly used in specifying the semantics of functional languages. Despite this widespread use there has been relatively little work on the imetatheoryj for such semantics. As a consequence the operational approach to reasoning is considered ad hoc since the same basic proof techniques and reasoning tools are reestablished over and over, once for each operational semantics speciøcation. This paper develops some metatheory for a certain class of SOS language speciøcations for functional languages. We deøne a rule format, Globally Deterministic SOS (gdsos), and establish some proof principles for reasoning about equivalence which are sound for all languages which can be expressed in this format. More speciøcally, if the SOS rules for the operators of a language conform to the syntax of the gdsos format, then ffl a syntactic analogy of continuity holds, which rel...

### Citations

1286 | A structural approach to operational semantics
- Plotkin
- 1981
(Show Context)
Citation Context ...are dened in terms of a ner one-step evaluation relation,s7! ; we dene M+V for some value V if M 7! V . The mechanism we consider for dening 7! is the wellknownsStructural Operational Semantics (SOS) =-=[Plo81]-=-. SOS is a syntactic style for presenting an inductively dened transition relation between imachine congurationsj, given by cases according to their syntactic structure. In our setting, the machine co... |

397 |
LCF considered as a programming language
- Plotkin
- 1977
(Show Context)
Citation Context ...le format. Curried operators cannot be directly represented, but can be encoded in terms of lambda abstractions. An example of an operator that cannot be represented by gdsos operators is parallel-or =-=[Plo77]-=-, which returns true if either of its operands can be evaluated to true, and diverges ioe both operands diverge. For more on the operational representability of parallel-or for iPCFlikej languages, se... |

302 | Higher-order abstract syntax - Pfenning, Elliot - 1988 |

239 | The lazy lambda calculus
- Abramsky
- 1990
(Show Context)
Citation Context ... equivalence. The operational approximation we use is the standard Morrisstyle contextual ordering. The notion of iobservationj we take is just the fact of convergence, as in the lazy lambda calculus =-=[Abr90]-=-. This particular choice is not central to the development, and could be generalised by a denition parameterised by a suitable notion of an iobservablej value. Operational equivalence equates two expr... |

194 |
Bisimulation can’t be traced
- Bloom, Istrail, et al.
- 1995
(Show Context)
Citation Context ...t; the rules of [MST96] (a call-by-value functional language) t the rule format, as do the call-by-name rules of [Smi92] and [Pit99]. Rule formats are well-known in process algebra (e.g., see [GV92], =-=[BIM95]-=-) where the typical theorem established is that bisimulation is a congruence. Aceto, Bloom, and Vaandrager [ABV94] study axiomatisations of strong bisimulation for the GSOS format of [BIM95]; to handl... |

189 |
Structured operational semantics and bisimulation as a congruence
- Groote, Vaandrager
- 1992
(Show Context)
Citation Context ...le format; the rules of [MST96] (a call-by-value functional language) t the rule format, as do the call-by-name rules of [Smi92] and [Pit99]. Rule formats are well-known in process algebra (e.g., see =-=[GV92]-=-, [BIM95]) where the typical theorem established is that bisimulation is a congruence. Aceto, Bloom, and Vaandrager [ABV94] study axiomatisations of strong bisimulation for the GSOS format of [BIM95];... |

181 | A Natural Semantics for Lazy Evaluation - Launchbury - 1993 |

120 | Bisimilarity as a theory of functional programming - Gordon - 1995 |

116 | A syntactic theory of sequential control - Felleisen, Friedman, et al. - 1987 |

106 | Proving congruence of bisimulation in functional programming languages
- Howe
- 1996
(Show Context)
Citation Context ...s are somewhat diOEcult to establish, although for the special case of operational approximation completeness amounts to showing that there are suOEciently many idestructorsj for each constructorssee =-=[How96]-=- for a precise formulation. Bisimulation upto Improvement and Context In [San97] we described a bisimulation-like proof technique for equivalence based on the Improvement Theorem of [San96b], with som... |

95 | Equality in lazy computation systems - Howe - 1989 |

87 | Turning SOS rules into equations
- Aceto, Bloom, et al.
- 1994
(Show Context)
Citation Context ...Smi92] and [Pit99]. Rule formats are well-known in process algebra (e.g., see [GV92], [BIM95]) where the typical theorem established is that bisimulation is a congruence. Aceto, Bloom, and Vaandrager =-=[ABV94]-=- study axiomatisations of strong bisimulation for the GSOS format of [BIM95]; to handle potential recursion include an induction principle known as approximation induction. The use of rule formats in ... |

75 | Operationally-based theories of program equivalence
- Pitts
- 1997
(Show Context)
Citation Context ... of istandardj xed-point properties based on operational semantics, for specic languages, can be found in [Tal85, Smi92, Dam94, MT91, MST96, Pit99]. We have taken the term isyntactic continuityj from =-=[Pit99]-=- although our proof is somewhat more direct, and much more in the spirit of proofs found in [Smi92, MST96, MT91]. 1 The main contribution of this paper for this kind of theorem is to lift these proofs... |

61 | Total correctness by local improvement in the transformation of functional programs
- Sands
- 1996
(Show Context)
Citation Context ...tional approximation, called improvement, which also take into account resource use. A fairly immediate corollary of the improvement induction principle is a generalisation of the Improvement Theorem =-=[San96b]-=-. The Improvement Theorem for a specic higher-order functional language has been used to develop a correctness preserving variant of unfoldfold transformations (in loc. cit.), as well as to give the r... |

36 | From operational semantics to domain theory
- Mason, Smith, et al.
- 1996
(Show Context)
Citation Context ... paper for this kind of theorem is to lift these proofs from a particular (functional) language to any functional language whose structural operational semantics t a certain rule format; the rules of =-=[MST96]-=- (a call-by-value functional language) t the rule format, as do the call-by-name rules of [Smi92] and [Pit99]. Rule formats are well-known in process algebra (e.g., see [GV92], [BIM95]) where the typi... |

34 | Software Composition: Towards an Integration of Functional and Object-Oriented Approaches - Dami - 1994 |

31 | Proving the correctness of recursion-based automatic program transformations
- Sands
- 1996
(Show Context)
Citation Context ...nguage has been used to develop a correctness preserving variant of unfoldfold transformations (in loc. cit.), as well as to give the rst correctness proofs for some well known transformation methods =-=[San96a]-=-. Functional (bi)simulations and Coinduction Operationally-based proof principles of a more standard nature are also established for gdsos languages. We show that coinductive reasoning techniques base... |

26 | Natural-semantics-based abstract interpretation (preliminary version), Static Analysis - Schmidt - 1995 |

23 | Locality and non-interleaving semantics in calculi for mobile processes - Sangiorgi - 1996 |

21 |
Infinite trees in normal form and recursive equations having a unique solution
- Courcelle
- 1979
(Show Context)
Citation Context ...hold; this technique is used extensively in process algebra (e.g., see [BW90]) but is rarely used in the functional settingsalthough a few related techniques have been describedssee e.g., [Car84] and =-=[Cou79]-=-. 8 Example 7.2 Consider an instrumented version of the lazy lambda calculus over the well-founded resource structureshIN; +; 0; i, in which each axiom is labelled with 1 (i.e., each reduction step co... |

21 | Combinatory Reduction Systems, volume 127 - Klop - 1980 |

21 | Operational theories of improvement in functional languages
- Sands
- 1991
(Show Context)
Citation Context ...result to Howe's for gdsos (using the same methods), but also for instrumented variations of the semantics. This is a fairly easy adaptation of our earlier work on operational theories of improvement =-=[San91]-=-, which gave more abstract conditions (not based on SOS rules per se) which guarantee that a certain coinductively dened class of improvement relations are congruences. We give some consideration to t... |

18 | From operational to denotational semantics
- Smith
- 1992
(Show Context)
Citation Context ...o any functional language whose structural operational semantics t a certain rule format; the rules of [MST96] (a call-by-value functional language) t the rule format, as do the call-by-name rules of =-=[Smi92]-=- and [Pit99]. Rule formats are well-known in process algebra (e.g., see [GV92], [BIM95]) where the typical theorem established is that bisimulation is a congruence. Aceto, Bloom, and Vaandrager [ABV94... |

14 | Programming in Martin-Lf's Type Theory: An Introduction - Nordstrm, Petersson, et al. - 1990 |

13 |
Semantic frameworks for complexity
- Gurr
- 1991
(Show Context)
Citation Context ... will form the basis of the improvement induction proof technique given in Section 7. The use of a monotonic resource to instrumenting semantic denitions is fairly natural, and is anticipated by Gurr =-=[Gur91]-=- (there called a commutative ordered monoid) in the context of monadic semantics. 7 Definition 6.2 For a given resource structure, an instrumentedsgdsos is dened by labelling each axiom with some reso... |

11 | Lazy functions and mobile processes. Rapport de Recherche 2515 - Sangiorgi - 1995 |

10 | Improvement theory and its applications
- Sands
- 1998
(Show Context)
Citation Context ...al approximation completeness amounts to showing that there are suOEciently many idestructorsj for each constructorssee [How96] for a precise formulation. Bisimulation upto Improvement and Context In =-=[San97]-=- we described a bisimulation-like proof technique for equivalence based on the Improvement Theorem of [San96b], with something of the AEavour of Sangiorgi 's ibisimulation up to context and up to expa... |

8 | Higher-Order Expression Procedures
- Sands
- 1995
(Show Context)
Citation Context ...e it is established for any gdsos language. A minor variation allows n to be dioeerent for each recursive constant; if n gsnh ? 0 then the Improvement Theorem still holds. This veries a conjecture in =-=[San95a]-=- about socalledsweighted improvement relations, which are used to establish the correctness of a higher-order variant of Scherlis' expression procedure transformation framework. The Improvement Theore... |

7 | Derivation of static analysers of functional programs from path properties of a natural semantics - Gouranton, LeM'etayer - 1995 |

6 |
Can LCF be topped? Flat lattice models of typed -calculus
- Bloom
- 1990
(Show Context)
Citation Context ... [BIM95]; to handle potential recursion include an induction principle known as approximation induction. The use of rule formats in the setting of functional programs is rather less well-known. Bloom =-=[Blo90]-=- denes a rule format for operators extending the LCF language, and establishes that all such extensions satisfy a certain operational extensionality property. The rule format is rather restrictive, do... |

2 | Inductive denitions, Semantics and Abstract Interpretation - Cousot, Cousot - 1992 |

2 |
Full Abstraction and the Context Lemma (Preliminary Report
- Jim, Meyer
- 1991
(Show Context)
Citation Context ...which returns true if either of its operands can be evaluated to true, and diverges ioe both operands diverge. For more on the operational representability of parallel-or for iPCFlikej languages, see =-=[JM91]-=-. Parallel-or is interesting (only) because its addition to the language makes the usual denotational semantics fully-abstract. Since we work directly with the operational orderings, full abstraction ... |

1 |
Recursive programs as denitions in rst order logic
- Cartwright
- 1984
(Show Context)
Citation Context ...h this does hold; this technique is used extensively in process algebra (e.g., see [BW90]) but is rarely used in the functional settingsalthough a few related techniques have been describedssee e.g., =-=[Car84]-=- and [Cou79]. 8 Example 7.2 Consider an instrumented version of the lazy lambda calculus over the well-founded resource structureshIN; +; 0; i, in which each axiom is labelled with 1 (i.e., each reduc... |

1 |
A conservative look at term deductionsystems with variable bindings
- Fokkink, Verhoef
- 1995
(Show Context)
Citation Context ...s and explicit abstraction over values as part of the ordinary syntax. A yet more elaborate term-syntax (much more elaborate than needed in our setting) in which variables are sorted, is described in =-=[FV95]-=-. They study very basic conservativity properties of SOS rules, but covering a very general class of languages. Independently, Kristian Nielsen [Nie96] has recently introduced a kind of rule format (e... |

1 |
On computational open-endedness in Martin-L#f's type theory
- Howe
- 1991
(Show Context)
Citation Context ... 7! N if M then N 1 else N 2 7! if N then N 1 else N 2 if true then N 1 else N 2 7! N 1 if false then N 1 else N 2 7! N 2 Figure 1: Example SOS Rules mat given in the next section. Our syntax follows =-=[How91]-=- very closely, but is fairly standard from the point of view of formal specication of syntax which includes variable binding operators such as lambda abstraction (e.g., see [NPS90, Klo80, PE88]). Firs... |

1 | Equivalence in functional languages with eoeects - Mason, Talcott - 1991 |

1 |
A unied approach to partial evaluation and deforestation
- Nielsen
- 1996
(Show Context)
Citation Context ...g) in which variables are sorted, is described in [FV95]. They study very basic conservativity properties of SOS rules, but covering a very general class of languages. Independently, Kristian Nielsen =-=[Nie96]-=- has recently introduced a kind of rule format (expressing what he calls isimple functional languagesj) in both ilarge-stepj and equivalent ismall-stepj forms. The aims are to develop some generalised... |