Big-Stop Semantics: Small-Step Semantics in a Big-Step Judgment
David M Kahn, Jan Hoffmann, Runming Li

TL;DR
This paper introduces a novel extension of big-step semantics, called big-stop semantics, which captures diverging computations without error states, combining the simplicity of big-step with the power of small-step semantics.
Contribution
It presents a simple, inductive extension to big-step semantics that accurately models divergence, avoiding complex rules and coinduction, demonstrated across various language variants.
Findings
Big-stop semantics captures divergence without error states.
The approach simplifies proofs and reasoning in Agda.
It applies to typed, untyped, and effectful languages.
Abstract
As is evident in the programming language literature, many practitioners favor specifying dynamic program behavior using big-step over small-step semantics. Unlike small-step semantics, which must dwell on every intermediate program state, big-step semantics conveniently jumps directly to the ever-important result of the computation. Big-step semantics also typically involves fewer inference rules than their small-step counterparts. However, in exchange for ergonomics, big-step semantics gives up power: Small-step semantics describes program behaviors that are outside the grasp of big-step semantics, notably divergence. This work presents a little-known extension of big-step semantics with inductive definitions that captures diverging computations without introducing error states. This big-stop semantics is illustrated for typed, untyped, and effectful variants of PCF, as well as a…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Advanced Software Engineering Methodologies · Formal Methods in Verification
