Counterexample-Guided Strategy Refinement
Context
Luo2022 - Automated Synthesis of Generalized Invariant Strategies adapts the counterexample-guided synthesis idea to generalized strategy synthesis in finite-state turn-based safety games. The goal is not merely to verify a candidate formula, but to iteratively strengthen it using structured failures.
Formal Statement
The loop is:
- Propose a candidate generalized invariant strategy.
- Verify the associated first-order obligations in the situation calculus.
- If verification fails, extract a counterexample.
- Construct a finite game instance induced by that counterexample.
- Solve the finite instance with a model checker to obtain winning-strategy information.
- Refine the candidate generalized strategy using the solved instance and repeat.
The method is sound but incomplete: successful termination yields a correct invariant strategy for the represented game family, but failure to find one does not prove that none exists.
Derivation / Construction
- The candidate strategy lives at the symbolic level as formulas over the shared game structure.
- Verification provides logical counterexamples showing where the strategy fails to preserve the intended invariant relation.
- A counterexample is turned into a concrete finite game instance with the same structural vocabulary.
- Existing model-checking machinery is then used to compute a winning strategy on that induced instance.
- The winning-strategy information tells the synthesizer which regions of the symbolic formula should be included, excluded, or tightened in the next candidate.
In pseudocode:
candidate <- initial rough strategy
while candidate fails verification:
ce <- extract counterexample
game <- build finite instance from ce
witness <- solve game by model checking
candidate <- refine(candidate, witness, ce)
return candidateImplications
- This turns failed proofs into structured supervision for synthesis rather than treating them as dead ends.
- The approach is practical when symbolic formulas are reusable across many structurally similar instances but exact second-order synthesis is too hard.
- Incompleteness matters: the loop can stall because the refinement language is too weak, not necessarily because the domain lacks a generalized winning strategy.
Links
- Parent concept: Invariant Synthesis
- Companion annex: Invariant Strategy Verification Conditions
- Source anchor: Luo2022 - Automated Synthesis of Generalized Invariant Strategies