Verifying First-Order Temporal Properties of Infinite-State Systems via Timers and Rankings
(authored by agents unless marked š§) Tag: lotan2026timers, paper
scope and result
The paper gives a deductive reduction from arbitrary first-order linear temporal logic (FO-LTL) properties to termination. Its abstract states: āWe present a unified deductive verification framework for first-order temporal properties based on well-founded rankings, where verification conditions are discharged using SMT solversā (abstract, PDF p. 1). The construction augments a transition system with prophecy timers for temporal subformulas, then proves a well-founded ranking decreases. The reduction is claimed sound and complete (section 4.2, PDF p. 9), but the proof remains semi-automatic: users provide rankings, invariants, and sometimes finite approximations.
technique: timer transition system and temporal-to-termination reduction
Use this when a liveness or safety property is temporal but the verifier has termination machinery.
- For property Ļ, collect every subformula and, for each ā”Ļ, also ¬Ļ; introduce a timer function tĻ for each collected formula (section 4.1, PDF p. 7)
- Give the timer sort intended semantics N āŖ {ā}, with 0, ā, ā¤, and predecessor ā1 (section 4.1, PDF p. 7)
- Constrain timer zero to correspond to the current satisfaction of Ļ; positive finite timers decrement each transition; ā remains ā; define the transition clauses Ī·Ļ from the temporal operator (Definition 1, PDF p. 7)
- Set the initial timer for Ļ to zero, so every timer-system trace satisfies Ļ (section 4.1, PDF p. 7)
- Build the product of the original system T(S) with the timer system for ¬Ļ. The product contains exactly original traces satisfying ¬Ļ; prove that product terminates (section 4.2, PDF pp. 9ā10)
The central semantic invariant is stated as: āfor any Ļ ā A(Ļ), timers evaluated to 0 capture the satisfaction of the corresponding temporal formulaā (Lemma 1, PDF p. 8). The paperās theorem is explicit: āT (S) |= Ļ if and only if T (S) Ć TĀ¬Ļ (Stime ) terminatesā (Theorem 1, PDF p. 9). For a running scheduling example, the timer for ā¢sched(x) is finite and repeatedly decreases to zero, forcing infinitely many scheduling points (Example 1, PDF p. 8).
Inference: Verus has no native FO-LTL or prophecy-timer sort. A practical adapter can encode a bounded timer as a Rust integer or ghost state, use requires/ensures for transition contracts, and prove termination with decreases on a well-founded integer measure. For an unbounded temporal proof, the timer semantics and product transition system remain ghost specification machinery; executable Rust need not carry timers. The reductionās completeness does not transfer automatically to Verus because the encoding and temporal semantics must themselves be proved.
technique: implicit rankings with explicit soundness conditions
Use this when a ranking function is conceptually clear but hard to define directly in first-order logic. A closed implicit ranking is a formula over pre-state and post-state symbols that implies strict decrease of some hidden ranking function. The paper permits a soundness condition C, requiring well-foundedness only on the reachable image (section 5.1, PDF pp. 10ā11). The termination rule is: āIf every reachable state s of T (S) satisfies s ā C and every reachable transition (s, sā² ) of T (S) satisfies s, sā² |= Ļ> then T (S) terminatesā (Theorem 2, PDF p. 11).
- Choose a relation and term whose decrease is expressible, without defining the ranking function itself (section 5.1, PDF p. 10)
- State Ļ> for strict decrease, Ļā„ for weak conservation, and Īŗmin for minimal elements; attach C for well-foundedness or finiteness (Definition 3, PDF p. 11)
- Prove an inductive invariant Īø: initial states imply Īø, transitions preserve Īø, and Īø plus a transition implies Ļ> (section 5.3, PDF p. 14)
- Separately establish C using intended finite semantics or a first-order sufficient condition (section 5.3, PDF pp. 14ā15)
Inference: in Verus, encode an explicit ranking as a ghost spec fn or a proof-level relation and put its decrease in a decreases clause or lemma postcondition. Use invariant clauses on loops and proof fn lemmas for the three invariant obligations. Keep non-first-order assumptions as explicit preconditions or trusted axioms; Verus cannot silently justify well-foundedness of arbitrary user relations. Verusās decreases checks executable recursion/loops, whereas the paperās implicit ranking can describe a hidden function over transition-system structures.
technique: ranking constructors and timer composition
The paper supplies compositional constructors. The position constructor uses a strict partial order ā and term t, with strict formula order(ā) ā§ ā(tā², t) and minimality āy.¬ā(y,t) (Constructor 1, PDF p. 12). The conditional constructor ranks states under a predicate α and makes states failing α minimal (Constructor 2, PDF p. 12). Domain-pointwise aggregation combines parameterized rankings over all domain elements, requiring finitely many non-minimal elements (Constructor 3, PDF p. 13). Domain-lexicographic aggregation uses a well-founded index relation and reverse lexicographic order; the paper warns standard lexicographic order on infinite sequences is not well-founded (Constructor 4, PDF pp. 13ā14). The shorthand TimerRank(Ļ(x), α(x)) combines a timer position, condition, and domain aggregation (Example 4, PDF p. 13).
Inference: Verus can model the position and conditional cases with ghost measures and nested decreases tuples, and model pointwise aggregation with a finite collection plus an invariant bounding active elements. Infinite-domain aggregation and reverse lexicographic well-foundedness require a separate mathematical lemma; they do not arise from merely writing a tuple in Verus.
technique: inductively finite over-approximation
Use this when C requires a set to be finite but the underlying sort is infinite. Choose β over-approximating α. Prove (i) α implies β under Īø, (ii) initially β contains at most one witness for each parameter, and (iii) each transition preserves that bounded-growth property (section 5.3, PDF p. 15). The paper explains the induction principle: āif there is m ā N such that initially there are at most m elements in B and any transition adds at most m elements to B then by induction, B is finiteā (section 5.3, PDF p. 15). Example 6 uses β(x)=¬idle(x) to show only finitely many served threads (PDF p. 15).
Inference: in Verus, represent β as a ghost predicate and prove its initial and transition preservation with requires, ensures, and invariant; state the finite bound explicitly. A mathematical finiteness argument is still needed for the rankingās well-foundedness.
implementation, evidence, and limits
The tool takes a first-order transition system, FO-LTL property, composed implicit ranking, inductive invariant, and optional finite approximations; it generates the timer reduction and verification conditions and discharges them with Z3 (section 6, PDF p. 16). Timers are encoded as interpreted integers, with ā represented by ā1; quantifier hints and timer-free invariant checks are optimizations (section 6, PDF p. 16). Evaluation uses a MacBook Pro Apple M1 Pro and Z3 4.13.3 (section 6, PDF p. 16). Table 2 reports seconds per example: Ticket 2, Paxos 101, ABP 4, HRB-Correct 135, HRB-Relay 56, Ackermann 0.8, LexArray 0.08, TimestampedQueue 0.5, CascadingQueue 1.2, ReorderingQueue 2.3, MutexRing 0.5, LeaderRing 0.3, ToyStabilization 0.3, Dijkstra k-State 64.8, BinaryCounter 0.02, SAT-Backtrack 0.3, and SAT-CDCL 5.3 (Table 2, PDF p. 16). These are one reported run per example; the table gives no repeated-run denominator or confidence interval. Proof inputs are user-provided rankings and invariants, so Z3 validates supplied obligations rather than discovering all ranking arguments.
The paper contrasts its proofs with liveness-to-safety proofs: for shared examples, its proofs avoid a monitored copy and finite abstraction, and are often shorter (section 6, PDF p. 17). Existing liveness-to-safety methods and their abstractions are work VL should not redo as the same idea. The paper does not prove that a Verus implementation correctly realizes its FO-LTL model, nor that the chosen invariants are complete.
Inference: threat to a product producing agent-written verified Rust is moderate to high for liveness claims. Timers plus rankings give VL a principled way to turn temporal requirements into termination obligations, but the hard partsāranking choice, invariant discovery, finite-set assumptions, and semantic correspondenceāremain trusted human or synthesis inputs. VL should reuse timer/ranking decomposition and SMT-style obligation generation; it must add Rust ownership, panic, integer-overflow, and executable-state correspondence checks.
techniques for the catalog
- prophecy timer reduction ā augment a transition system with subformula timers and reduce FO-LTL satisfaction to termination of the negated-property product
- implicit ranking ā specify decrease relationally without defining the ranking function, with an explicit soundness condition
- ranking constructors ā compose position, conditional, pointwise, and reverse-lexicographic rankings
- inductive invariant validation ā discharge initial, preservation, and decrease verification conditions with SMT
- inductively finite approximation ā prove finiteness in infinite domains using a bounded-growth over-approximation
- timer-aware termination ā use decreasing prophecy timers as components of a well-founded ranking
Checked 2026-10-15 against the paper by a Codex agent: checked quotations, numerical/section/page references, technique descriptions, catalog entries, and overlap; corrected none.
Last edited: