Documentation

Blaster.StateMachine.KInduction

Given smInst an instance of StateMachine, perform the k-induction strategy for invariant satisfaction up to to Depth maxDepth. In particular, considering k = maxDepth, try to incrementally check if the following propositional formulae are satisfied: kIndStrategy(smInst) ≡ - base(k) = st₀ = init in₀ → (∀ i ∈ [0, k-1], assumptions inᵢ stᵢ ∧ stᵢ₊₁ = next inᵢ stᵢ) → assumptions inₖ stₖ → invariants inₖ stₖ -- base case satisfied - contradiction(k) - ∀ i ∈ [0, k], ¬ assumptions inᵢ stᵢ -- absence of contradiction

- step(k) =
   (∀ i ∈ [0, k-1], assumptions inᵢ stᵢ ∧ stᵢ₊₁ = next inᵢ stᵢ ∧ invariants inᵢ stᵢ) →
   assumptions inₖ stₖ →
   invariants inₖ stₖ -- induction step
  • A counterexample to induction is generated when step(k) is not satisfied for a given depth k
  • A counterexample is generated when base(k) is not satisfied. where: inᵢ : set of input variables at step ᵢ stᵢ : set of state variables at step ᵢ

Trigger an error when smInst is not an instance of StateMachine.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      @[inline]
      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            Equations
            • One or more equations did not get rendered due to their size.
            Instances For