Проверка выполнимости SMT-формул через Z3

★ 6.5 · vibe-coding

solve is a Claude Code skill that checks the satisfiability of SMT-LIB2 formulas using the Z3 solver, returning sat/unsat along with a satisfying model or an unsat core when labels are present. The script solve.py pipes the formula — supplied as a string or a .smt2 file — to z3 -in and logs every invocation to .z3-agent/z3agent.db for full auditability. Parameters include timeout (default 30 seconds), an explicit path to the Z3 binary, and a --debug flag that prints the command, stdin, stdout, stderr, and timing information. When Z3 returns unknown or times out, the workflow recommends the simplify skill or increasing the timeout limit. Ideal for developers who need constraint solving, program logic verification, or model checking integrated directly into a Claude Code workflow.