is_well_separated
Checks whether a GR(1) contract is well-separated by testing if the component can force the environment to violate assumptions; returns a counterexample controller or minimal core when not separated.
Instructions
GR(1) synthesis (slugs): well-separation. Can the component win by forcing the environment to violate its assumptions? separated when it cannot; not_separated with the controller that forces the violation, which means the assumptions are too weak or depend on the outputs; with core, a minimal set of assumptions that causes it. The component must keep its initial and safety guarantees while it forces the violation (with with_guarantees false, the guarantees are left out). Only violations forced from every initial state are detected.
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_well_separated"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| core | No | ||
| timeout | No | ||
| contract | Yes | ||
| with_guarantees | No |