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.
KeywordsOperational Semantic Evaluation Rule Evaluation Premise Exception Handler Intermediate Term
- 1.Charguéraud, A.: Characteristic Formulae for Mechanized Program Verification. PhD thesis, Université Paris-Diderot (2010)Google Scholar
- 2.Cousot, P., Cousot, R.: Inductive definitions, semantics and abstract interpretation. In: POPL, pp. 83–94 (1992)Google Scholar
- 5.Danielsson, N.A.: Operational semantics using the partiality monad. In: ICFP, pp. 127–138. ACM (2012)Google Scholar
- 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
- 9.Leroy, X., Grall, H.: Coinductive big-step operational semantics. CoRR, abs/0808.0586 (2008)Google Scholar
- 11.Plotkin, G.D.: A structural approach to operational semantics. Internal Report DAIMI FN-19, Department of Computer Science, Aarhus University (1981)Google Scholar