A Correct Algorithm for Identifying Independent Variable Sets in Reactive Systems
Abstract
Recent work has proposed algorithms for decomposing reactive synthesis specifications into simpler and independent subspecifications. Motivated by the DecomposeContract algorithm introduced by Antonio Iannopollo, we revisit this approach and provide a mathematical account of the notion of independence on which it is based. The central idea in this setting is to identify independence among system-controlled variables in linear temporal logic formulae by exploiting the power of a model checker. Although the original DecomposeContract algorithm is sound, it is not complete. We support this observation by presenting a concrete counterexample, and we then propose a refined decomposition procedure that preserves the model-checking-based nature of the original method while ensuring completeness. Beyond this algorithmic result, our main contribution is a rigorous semantic analysis of the method, which reveals the principles behind it and makes its limitations explicit.