Simplifying LTL Model Checking Given Prior Knowledge
Alexandre Duret-Lutz, Denis Poitrenaud, Yann Thierry-Mieg
TL;DR
This work tackles improving LTL model checking by exploiting prior knowledge K that over-approximates the system behavior (L(S) ⊆ L(K)). It introduces automata-based techniques that replace the negated property automaton A_{¬φ} with a simpler B derived from K, using language bounds, product/sum constructions, and transition-level Boolean bounds, including Minato's bound refinement. It further extends to stutter-insensitive automata and incremental knowledge integration, enabling cheaper, progressive simplifications across multiple knowledge facts. Empirical evaluation on MCC'22 shows that a large portion of problems can be answered without full model checking and that the remaining cases benefit substantially from the proposed reductions, achieving smaller, more deterministic automata with practical runtimes. Overall, the framework demonstrates practical benefits for knowledge-driven verification and points to future work on broader bound-based reductions and knowledge acquisition strategies.
Abstract
We consider the problem of the verification of an LTL specification $\varphi$ on a system $S$ given some prior knowledge $K$, an LTL formula that $S$ is known to satisfy. The automata-theoretic approach to LTL model checking is implemented as an emptiness check of the product $S\otimes A_{\lnot\varphi}$ where $A_{\lnot\varphi}$ is an automaton for the negation of the property. We propose new operations that simplify an automaton $A_{\lnot\varphi}$ \emph{given} some knowledge automaton $A_K$, to produce an automaton $B$ that can be used instead of $A_{\lnot\varphi}$ for more efficient model checking. Our evaluation of these operations on a large benchmark derived from the MCC'22 competition shows that even with simple knowledge, half of the problems can be definitely answered without running an LTL model checker, and the remaining problems can be simplified significantly.
