<< All versions
Skill v1.0.1
currentAutomated scan93/100scooter-lacroix/maestro/predicate-logic
2 files
──Details
PublishedMay 23, 2026 at 08:46 AM
Content Hashsha256:1f46f4df40920488...
Git SHA3a9f2bc02108
Bump Typepatch
──Files
Files (1 file, 1.7 KB)
SKILL.md1.7 KBactive
SKILL.md · 68 lines · 1.7 KB
version: "1.0.1" name: predicate-logic description: "Problem-solving strategies for predicate logic in mathematical logic" allowed-tools: [Bash, Read]
Predicate Logic
When to Use
Use this skill when working on predicate-logic problems in mathematical logic.
Decision Tree
- Quantifier Analysis
- Identify: ForAll (universal), Exists (existential)
- Scope of quantifiers and free/bound variables
z3_solve.py prove "ForAll([x], P(x)) implies P(a)"
- Prenex Normal Form
- Move all quantifiers to front
- Standardize variables to avoid capture
sympy_compute.py simplify "prenex(formula)"
- Skolemization (for Exists)
- Replace existential quantifiers with Skolem functions
- Exists x. P(x) -> P(c) or P(f(y)) depending on scope
- Needed for resolution-based proofs
- Resolution Proof
- Convert to CNF, negate conclusion
- Apply resolution rule until empty clause or saturation
z3_solve.py prove "resolution_valid"
- Model Theory
- Construct countermodel to refute invalid argument
- Finite model for finite domain
z3_solve.py model "Exists([x], P(x) & Not(Q(x)))"
Tool Commands
Z3_Forall
bash
uv run python -m runtime.harness scripts/z3_solve.py prove "ForAll([x], Implies(P(x), Q(x)))"
Z3_Exists
bash
uv run python -m runtime.harness scripts/z3_solve.py sat "Exists([x], And(P(x), Not(Q(x))))"
Z3_Universal_Instantiation
bash
uv run python -m runtime.harness scripts/z3_solve.py prove "Implies(ForAll([x], P(x)), P(a))"
Z3_Model
bash
uv run python -m runtime.harness scripts/z3_solve.py model "Exists([x], P(x))"
Cognitive Tools Reference
See .maestro/skills/math-mode/SKILL.md for full tool documentation.