Big-step and small-step Horn clause derivations applied to operational semantics

📅 2026-06-18
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
This work unifies big-step and small-step operational semantics within a Horn clause derivation framework. By formalizing the derivation strategies of both semantics in Horn clauses and integrating interpreter specialization techniques, it generalizes the equivalence between big-step and small-step semantics—previously established only for specific languages—to arbitrary Horn clause specifications. The paper proposes a provably correct, automated transformation method that converts big-step semantics into equivalent small-step semantics. This approach has been successfully applied to multiple programming languages, demonstrating its generality and theoretical soundness through fully automatic and correctness-preserving translations.
📝 Abstract
The concepts of big-step and small-step derivations are familiar from the operational semantics of programming languages. These concepts are applicable in the more general setting of Horn clause derivations. We prove equivalence between big-step derivations and two versions of small-step derivations for Horn clauses. By specialising interpreters for these derivation strategies, any set of Horn clauses can be transformed into a provably equivalent set of clauses that inherits the behaviour of a given (big- or small-step) Horn clause interpreter. As a special case of this transformation, big-step semantics for any programming language, expressed directly as Horn clauses, can be transformed into equivalent small-step semantics. Experiments with a variety of programming languages are reported.
Problem

Research questions and friction points this paper is trying to address.

big-step semantics
small-step semantics
Horn clause derivations
operational semantics
equivalence
Innovation

Methods, ideas, or system contributions that make the work stand out.

Horn clauses
big-step semantics
small-step semantics
operational semantics
program transformation