Deriving Pretty-Big-Step Semantics from Small-Step Semantics

  • Casper Bach Poulsen
  • Peter D. Mosses
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8410)

Abstract

Big-step semantics for languages with abrupt termination and/or divergence suffer from a serious duplication problem, addressed by the novel ‘pretty-big-step’ style presented by Charguéraud at ESOP’13. Such rules are less concise than corresponding small-step rules, but they have the same advantages as big-step rules for program correctness proofs. Here, we show how to automatically derive pretty-big-step rules directly from small-step rules by ‘refocusing’. This gives the best of both worlds: we only need to write the relatively concise small-step specifications, but our reasoning can be big-step as well as small-step. The use of strictness annotations to derive small-step congruence rules gives further conciseness.

Keywords

structural operational semantics SOS Modular SOS pretty-big-step semantics small-step semantics big-step semantics natural semantics refocusing 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bach Poulsen, C., Mosses, P.D.: Generating specialized interpreters for modular structural operational semantics. In: LOPSTR 2013. LNCS, Springer, Heidelberg (to appear, 2014)Google Scholar
  2. Charguéraud, A.: Pretty-big-step semantics. In: Felleisen, M., Gardner, P. (eds.) ESOP 2013. LNCS, vol. 7792, pp. 41–60. Springer, Heidelberg (2013)Google Scholar
  3. Ciobâcă, Ş.: From small-step semantics to big-step semantics, automatically. In: Johnsen, E.B., Petre, L. (eds.) IFM 2013. LNCS, vol. 7940, pp. 347–361. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  4. Cousot, P., Cousot, R.: Inductive definitions, semantics and abstract interpretations. In: POPL 1992, pp. 83–94. ACM (1992)Google Scholar
  5. Danvy, O.: Defunctionalized interpreters for programming languages. In: Hook, J., Thiemann, P. (eds.) ICFP 2008, pp. 131–142. ACM (2008a)Google Scholar
  6. Danvy, O.: From reduction-based to reduction-free normalization. In: Koopman, P., Plasmeijer, R., Swierstra, D. (eds.) AFP 2008. LNCS, vol. 5832, pp. 66–164. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  7. Danvy, O., Nielsen, L.R.: Refocusing in reduction semantics. BRICS Research Series RS-04-26, Dept. of Comp. Sci., Aarhus University (2004)Google Scholar
  8. Felleisen, M., Hieb, R.: The revised report on the syntactic theories of sequential control and state. Theor. Comput. Sci. 103(2), 235–271 (1992)CrossRefMATHMathSciNetGoogle Scholar
  9. Jones, N.D.: Transformation by interpreter specialisation. Sci. Comput. Program. 52(1-3), 307–339 (2004)CrossRefMATHGoogle Scholar
  10. Kahn, G.: Natural semantics. In: Brandenburg, F.J., Wirsing, M., Vidal-Naquet, G. (eds.) STACS 1987. LNCS, vol. 247, pp. 22–39. Springer, Heidelberg (1987)CrossRefGoogle Scholar
  11. Leroy, X., Grall, H.: Coinductive big-step operational semantics. Inf. Comput. 207(2), 284–304 (2009)CrossRefMATHMathSciNetGoogle Scholar
  12. Milner, R.: A Calculus of Communication Systems. LNCS, vol. 92. Springer, Heidelberg (1980)CrossRefGoogle Scholar
  13. Milner, R., Tofte, M., Macqueen, D.: The Definition of Standard ML. MIT Press, Cambridge (1997)Google Scholar
  14. Mosses, P.D.: Modular structural operational semantics. J. Log. Algebr. Program. 60-61, 195–228 (2004)Google Scholar
  15. Pierce, B.C.: Basic Category Theory for Computer Scientists. MIT Press (1991)Google Scholar
  16. Pierce, B.C.: Types and programming languages. MIT Press (2002)Google Scholar
  17. Plotkin, G.D.: A structural approach to operational semantics. J. Log. Algebr. Program. 60-61, 17–139 (2004)Google Scholar
  18. Roşu, G., Şerbănuţă, T.F.: An overview of the K semantic framework. J. Log. Algebr. Program. 79(6), 397–434 (2010)Google Scholar
  19. Sieczkowski, F., Biernacka, M., Biernacki, D.: Automating derivations of abstract machines from reduction semantics. In: Hage, J., Morazán, M.T. (eds.) IFL 2011. LNCS, vol. 6647, pp. 72–88. Springer, Heidelberg (2011)Google Scholar
  20. Wright, A., Felleisen, M.: A syntactic approach to type soundness. Inf. Comput. 115(1), 38–94 (1994)CrossRefMATHMathSciNetGoogle Scholar
  21. Xiao, Y., Sabry, A., Ariola, Z.M.: From syntactic theories to interpreters: Automating the proof of unique decomposition. Higher-Order and Symbolic Computation 14(4), 387–409 (2001)CrossRefMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2014

Authors and Affiliations

  • Casper Bach Poulsen
    • 1
  • Peter D. Mosses
    • 1
  1. 1.Department of Computer ScienceSwansea UniversitySwanseaUK

Personalised recommendations