is_vacuous
Detect outputs whose liveness guarantees are vacuously satisfied in GR(1) synthesis, listing each output's vacuity mode and a winning strategy to guide contract repair.
Instructions
GR(1) synthesis (slugs): vacuity. Can the component win without an
output that a liveness guarantee asks for (Bloem et al., FMSD 2021)?
vacuous lists each such output with its mode, never (a winning strategy
never sets it: the guarantee that names it is discharged by the
assumptions) or eventually (a winning strategy stops setting it), and the
strategy; with core, a minimal set of assumptions that lets it.
not_vacuous; unrealizable when the contract itself is; unknown. The
outputs checked are outputs, by default those that occur only
positively in a liveness guarantee (G F ...).
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"contract": "<contract>"
},
"name": "is_vacuous"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| core | No | ||
| outputs | No | ||
| timeout | No | ||
| contract | Yes |