🤖 AI Summary
Proving consistency between big-step and small-step operational semantics for higher-order programming languages traditionally requires ad hoc, case-by-case reasoning.
Method: We introduce the first category-theoretic framework for abstract big-step semantics. By generalizing Generalized Structural Operational Semantics (GSOS) to the higher-order structural operational semantics (HOSS) setting, we construct a generic, rule-driven procedure that automatically derives big-step semantics from higher-order GSOS rules, and formally establish its equivalence to the small-step semantics at the abstract categorical level.
Contribution/Results: Our work provides the first axiomatization of big-step semantics in category theory, unifying equivalence proofs under a single, syntax-independent paradigm. It enables formulaic, reusable verification of semantic equivalence—free from syntactic commitments—thereby furnishing a robust mathematical foundation for programming language design, algebraic effects modeling, and formal verification.
📝 Abstract
Small-step and big-step operational semantics are two fundamental styles of structural operational semantics (SOS), extensively used in practice. The former one is more fine-grained and is usually regarded as primitive, as it only defines a one-step reduction relation between a given program and its direct descendant under an ambient evaluation strategy. The latter one implements, in a self-contained manner, such a strategy directly by relating a program to the net result of the evaluation process. The agreement between these two styles of semantics is one of the key pillars in operational reasoning on programs; however, such agreement is typically proven from scratch every time on a case-by-case basis. A general, abstract mathematical argument behind this agreement is up till now missing. We cope with this issue within the framework of higher-order mathematical operational semantics by providing an abstract categorical notion of big-step SOS, complementing the existing notion of abstract higher-order GSOS. Moreover, we introduce a general construction for deriving the former from the latter, and prove an abstract equivalence result between the two.