§ IC3 Invariants




§ Algorithmic Loop


§ Major Iteration (k > 0)


§ (A) Introduce New Frame



§ (A.Subset) Yes, δ(F[k])P\delta(F[k]) \subseteq P



§ (A.Subset.Shrink) Shrink Overapproximations



§ (A.NotSubset) No, δ(F[k])P\delta(F[k]) \subsetneq P



§ (A.NotSubset.NoIndInvariant) No ii such that s∉δ(F[i]s)s \not \in \delta(F[i] - s)



§ (A.NotSubset.FoundIndIvariant) Exists ii such that s∉δ(F[i]s)s \not \in \delta(F[i] - s)


§ If we find such an ii, then ik2i \geq k - 2 or larger.



§ Continuing exposition: Found ii such that s∉δ(F[i]s)s \not \in \delta(F[i] - s)



§ (A.NotSubset.FoundIndIvariantGeneralized) Found ii such that s∉δ(F[i]s)s \not \in \delta(F[i] - s), but generalized



§ A.NotSubset.FoundIndInvariantGeneralized.CutOutS: i=k1i = k - 1 or i=ki = k, so we cut out ss from F[k]F[k]



§ A.NotSubset.FoundIndInvariantGeneralized.RecurseToCutOutS: i<k1i < k - 1, so we recurse.