You learned mathematical induction in school: prove a base case, then prove that if it holds for it holds for , and you have it for all . The same idea appears in verification: if a system starts safely and every safe state leads to another safe state, the system is always safe.
But there is a subtle trap. The inductive step says: "assume the property holds right now; can it break in the next step?" Sometimes the property is too weak — there exist hypothetical states that satisfy the property but cannot actually be reached, and from one of those phantom states the property breaks. Plain induction fails even though the system is genuinely safe.
k-induction plugs this gap. Instead of one step, it demands that any run of consecutive states that all satisfy the property must continue satisfying it in step . A longer history makes the hypothesis stronger, eventually ruling out the phantom states — and the proof closes.
The technique was formalized by Sheeran, Singh, and Stålmarck in 2000 and quickly became a cornerstone of SAT-based model checking.
Comments
Loading comments...