Log In Sign Up

Latticed k-Induction with an Application to Probabilistic Programs

by   Kevin Batz, et al.

We revisit two well-established verification techniques, k-induction and bounded model checking (BMC), in the more general setting of fixed point theory over complete lattices. Our main theoretical contribution is latticed k-induction, which (i) generalizes classical k-induction for verifying transition systems, (ii) generalizes Park induction for bounding fixed points of monotonic maps on complete lattices, and (iii) extends from naturals k to transfinite ordinals κ, thus yielding κ-induction. The lattice-theoretic understanding of k-induction and BMC enables us to apply both techniques to the fully automatic verification of infinite-state probabilistic programs. Our prototypical implementation manages to automatically verify non-trivial specifications for probabilistic programs taken from the literature that - using existing techniques - cannot be verified without synthesizing a stronger inductive invariant first.


page 1

page 2

page 3

page 4


Proof of the impossibility of probabilistic induction

In this short note I restate and simplify the proof of the impossibility...

Verifying Reachability Properties in Markov Chains via Incremental Induction

There is a scalability gap between probabilistic and non-probabilistic v...

Interpolating Strong Induction

The principle of strong induction, also known as k-induction is one of t...

Beyond k-induction: Learning from Counterexamples to Bidirectionally Explore the State Space

We describe and evaluate a novel k-induction proof rule called bidirecti...

Software Verification with PDR: Implementation and Empirical Evaluation of the State of the Art

Property-directed reachability (PDR) is a SAT/SMT-based reachability alg...

Counterexample-Guided k-Induction Verification for Fast Bug Detection

Recently, the k-induction algorithm has proven to be a successful approa...