🤖 AI Summary
This work addresses the challenge of verifying temporal safety contracts for synchronous programs, which involve global properties spanning multiple clock cycles and are not amenable to direct handling by conventional deductive verification tools. The authors present Kairos, a novel toolchain that, for the first time, automates the generation of tick-indexed Why3 proof obligations from synchronous programs paired with assume-guarantee contracts expressed in Linear Temporal Logic (LTL). Their approach leverages automata theory by compiling LTL specifications into bad-state automata and constructing their product with the program. The correctness of this framework is formally mechanized in Rocq. Experimental evaluation successfully verifies a medical infusion controller, demonstrating that under given environment assumptions, every input trace induces a unique execution satisfying the temporal guarantees—highlighting the method’s effectiveness in supporting temporal contracts for reactive systems.
📝 Abstract
Requirements for synchronous programs relate observations across ticks, while general-purpose deductive backends use first-order conditions on local steps. Kairos is a prototype toolchain generating such obligations from synchronous programs and source-level temporal safety contracts in assume-guarantee form. Using the standard automata-theoretic reduction, it translates their linear temporal logic (LTL) formulas into bad-state automata, forms their product with the program, and derives tick-indexed Why3 obligations. We formalize the underlying principles and prove reactive contract correctness: under the stated program and automaton hypotheses, every input trace satisfying the environment assumptions induces a unique execution satisfying the temporal guarantees. The definitions, obligation construction, and proof are mechanized in Rocq. A medical infusion controller illustrates the workflow.