Advertisement

Pretty-Big-Step Semantics

  • Arthur Charguéraud
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7792)

Abstract

In spite of the popularity of small-step semantics, big-step semantics remain used by many researchers. However, big-step semantics suffer from a serious duplication problem, which appears as soon as the semantics account for exceptions and/or divergence. In particular, many premises need to be copy-pasted across several evaluation rules. This duplication problem, which is particularly visible when scaling up to full-blown languages, results in formal definitions growing far bigger than necessary. Moreover, it leads to unsatisfactory redundancy in proofs. In this paper, we address the problem by introducing pretty-big-step semantics. Pretty-big-step semantics preserve the spirit of big-step semantics, in the sense that terms are directly related to their results, but they eliminate the duplication associated with big-step semantics.

Keywords

Operational Semantic Evaluation Rule Evaluation Premise Exception Handler Intermediate Term 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

References

  1. 1.
    Charguéraud, A.: Characteristic Formulae for Mechanized Program Verification. PhD thesis, Université Paris-Diderot (2010)Google Scholar
  2. 2.
    Cousot, P., Cousot, R.: Inductive definitions, semantics and abstract interpretation. In: POPL, pp. 83–94 (1992)Google Scholar
  3. 3.
    Cousot, P., Cousot, R.: Bi-inductive structural semantics: (extended abstract). Electronic Notes Theoretical Computer Sciences 192(1), 29–44 (2007)MathSciNetCrossRefGoogle Scholar
  4. 4.
    Cousot, P., Cousot, R.: Bi-inductive structural semantics. Information and Computation 207(2), 258–283 (2009)MathSciNetzbMATHCrossRefGoogle Scholar
  5. 5.
    Danielsson, N.A.: Operational semantics using the partiality monad. In: ICFP, pp. 127–138. ACM (2012)Google Scholar
  6. 6.
    Gunter, C.A., Rémy, D.: A proof-theoretic assessment of runtime type errors. Research Report 11261-921230-43TM, AT&T Bell Laboratories (1993)Google Scholar
  7. 7.
    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
  8. 8.
    Leroy, X.: Coinductive Big-Step Operational Semantics. In: Sestoft, P. (ed.) ESOP 2006. LNCS, vol. 3924, pp. 54–68. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  9. 9.
    Leroy, X., Grall, H.: Coinductive big-step operational semantics. CoRR, abs/0808.0586 (2008)Google Scholar
  10. 10.
    Nakata, K., Uustalu, T.: Trace-Based Coinductive Operational Semantics for While. In: Berghofer, S., Nipkow, T., Urban, C., Wenzel, M. (eds.) TPHOLs 2009. LNCS, vol. 5674, pp. 375–390. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  11. 11.
    Plotkin, G.D.: A structural approach to operational semantics. Internal Report DAIMI FN-19, Department of Computer Science, Aarhus University (1981)Google Scholar
  12. 12.
    Wright, A.K., Felleisen, M.: A syntactic approach to type soundness. Information and Computation 115(1), 38–94 (1994)MathSciNetzbMATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Arthur Charguéraud
    • 1
  1. 1.Inria Saclay – Île-de-France & LRIUniversité Paris Sud, CNRSFrance

Personalised recommendations