Finite-Trace Linear Temporal Logic: Coinductive Completeness ∘ ─────── Grigore Rosu University of Illinois at Urbana-Champaign
Overview ─────── ∘ On finite traces ∘ ─────── Overview On finite traces Translating finite-trace LTL to infinite-trace LTL Borrow decision procedures and results (PSPACE completeness for validity, etc.) Borrow complete deduction system Comes at a price, we do not want to go that way Direct results Direct decision procedure Direct complete proof system Coinduction
Finite Traces ─────── Ubiquitous in runtime verification ∘ ─────── Finite Traces Examples abound in the literature Automata theory, languages (regular, context-free, Turing complete) Program verification (Hoare logic – partial correctness) Log analysis (all logs are finite) Philosophy (are there really any infinite traces? what is infinity, anyway?) Ubiquitous in runtime verification Many variants of LTL with finite trace models proposed Goal: Coinduction for finite-trace reasoning Approach: simplest LTL variant; no new LTL variant proposed
∘ holds one one-element traces Finite-Trace LTL Weak interpretation: ∘ holds one one-element traces
Finite-Trace LTL & Infinite-Trace LTL
Translating Finite-Trace to Infinite-Trace LTL So we can borrow decision procedures and complete deduction from infinite-trace LTL. But original formula more than double in size, and we lose intuition for its meaning. We want direct results! Translating Finite-Trace to Infinite-Trace LTL Extend each finite trace with infinitely many $ events ($ = nothing) Transform to , where defined as follows: Example: becomes
First Result for Finite-Trace LTL Technical, see paper Complete atom traces Fischer-Ladner closure Tableaux-based decision procedure for satisfiability No need to check for ultimately periodic sequences Direct PSPACE-complete decision procedure for satisfiability
Second Result: Complete Deduction But let’s firs recall complete deduction for infinite-trace LTL, starting with modal logic
Modal logic Complete Proof System
Infinite-trace LTL = two modal logics, plus more Lichtenstein & Pnueli 2000, Dam & Guelev 2004+, … Unsound: “” does not hold for finite-trace LTL. Everything else stays sound. Incomplete: cannot prove
Induction equivalently stated as below ∘ ─────── □ Stays sound for finite-trace LTL
Main Contribution: Coinduction proof rule for finite trace reasoning If happy tomorrow implies happy today, then happy forever. With weak next “∘” ∘ ───────
Gödel-Löb rule in “provability logic” “□” means “ provable” □ ───────
Interesting Observation: Coinduction = Induction + Finiteness ∘ ─────── = ∘ ─────── + □
Second Result: Complete Deduction for Finite-Trace LTL Very technical, see paper
Conclusion and Future Work Finite-traces important in RV and not only Straightforward finite-trace LTL variant Translation to infinite-trace LTL undesirable Direct decision procedure Coinduction yields complete deduction Not implemented yet: future work
Coinduction is Cool! ∘ ───────