prove
Prove a theorem in Z3 by checking that its negation is unsatisfiable, verifying logical statements automatically.
Instructions
Attempt to prove a theorem by showing its negation is unsatisfiable.
Provide the theorem as a Z3 expression. If the negation is unsatisfiable, the theorem is proven.
Example: prove "ForAll([x], x + 0 == x)" for integer x
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| theorem | Yes | Z3 expression representing the theorem to prove | |
| variables | No | Variable declarations: {name: type} | |
| timeout_ms | No | Timeout in milliseconds (default: 30000) |