🤖 AI Summary
This paper addresses the verification of semantic properties—such as program correctness and termination—for sets, relations, and computations defined by elementary inference systems. To overcome the fundamental limitation that canonical models are often noncomputable, we propose a novel method that eschews reliance on canonical models entirely: instead, semantic properties are decided via first-order satisfiability in *arbitrary* models. Technically, we formalize inference systems as Gentzen-style elementary deductive systems, integrate Horn clause theories with proof-tree structural modeling, and leverage automated first-order satisfiability checking for verification. Our principal contribution is a general logical decision framework for rewriting-based computational models (e.g., programming language semantics), enabling formal, machine-checkable proofs of semantic property validity or invalidity. This approach significantly enhances both the practical applicability and decidability of semantic analysis.
📝 Abstract
We consider sets/relations/computations defined by *Elementary Inference Systems* I, which are obtained from Smullyan's *elementary formal systems* using Gentzen's notation for inference rules, and proof trees for atoms P(t_1,...,t_n), where predicate P represents the considered set/relation/computation. A first-order theory Th(I), actually a set of definite Horn clauses, is given to I. Properties of objects defined by I are expressed as first-order sentences F, which are proved true or false by *satisfaction* M |= F of F in a *canonical* model M of Th(I). For this reason, we call F a *semantic property* of I. Since canonical models are, in general, incomputable, we show how to (dis)prove semantic properties by satisfiability in an *arbitrary* model A of Th(I). We apply these ideas to the analysis of properties of programming languages and systems whose computations can be described by means of an elementary inference system. In particular, rewriting-based systems.