Get the FREE Ultimate OpenClaw Setup Guide →

proof-theory

npx machina-cli add skill parcadei/Continuous-Claude-v3/proof-theory --openclaw
Files (1)
SKILL.md
1.8 KB

Proof Theory

When to Use

Use this skill when working on proof-theory problems in mathematical logic.

Decision Tree

  1. Proof Strategy Selection

    • Direct proof: assume premises, derive conclusion
    • Proof by contradiction: assume negation, derive false
    • Proof by cases: split on disjunction
    • Induction: base case + inductive step
  2. Structural Induction

    • Define well-founded ordering on structures
    • Base: prove for minimal elements
    • Step: assume for smaller, prove for current
    • z3_solve.py prove "induction_principle"
  3. Cut Elimination

    • Gentzen's Hauptsatz: cuts can be eliminated
    • Subformula property: only subformulas appear
    • Useful for proof normalization
  4. Completeness/Soundness Check

    • Soundness: if provable then valid
    • Completeness: if valid then provable
    • z3_solve.py prove "soundness_theorem"
  5. Proof Verification

    • Check each step follows from rules
    • Verify dependencies are satisfied
    • math_scratchpad.py verify "proof_steps"

Tool Commands

Z3_Induction_Base

uv run python -m runtime.harness scripts/cc_math/z3_solve.py prove "P(0)"

Z3_Induction_Step

uv run python -m runtime.harness scripts/cc_math/z3_solve.py prove "ForAll([n], Implies(P(n), P(n+1)))"

Z3_Soundness

uv run python -m runtime.harness scripts/cc_math/z3_solve.py prove "Implies(derivable(phi), valid(phi))"

Math_Verify

uv run python -m runtime.harness scripts/cc_math/math_scratchpad.py verify "proof_structure"

Cognitive Tools Reference

See .claude/skills/math-mode/SKILL.md for full tool documentation.

Source

git clone https://github.com/parcadei/Continuous-Claude-v3/blob/main/.claude/skills/math/mathematical-logic/proof-theory/SKILL.mdView on GitHub

Overview

Learn core proof strategies for mathematical logic, including direct proofs, proofs by contradiction, and case analysis, plus induction techniques. The guide covers structural induction, cut elimination, and the role of completeness and soundness, with concrete tool-assisted checks.

How This Skill Works

Start by selecting a strategy from the decision tree, then formalize the proof (e.g., base and inductive steps or case splits). Use structural induction when a well-founded ordering on structures exists, and apply cut elimination to achieve the subformula property. Finally, verify each step and dependencies with automated checks like z3_solve.py and math_scratchpad.py.

When to Use It

  • Tackle a proof-theory problem in mathematical logic.
  • Decide between direct proof, proof by contradiction, proof by cases, or induction.
  • Apply structural induction with a defined well-founded order.
  • Normalize a proof and aim for the subformula property via cut elimination.
  • Check soundness and completeness and verify steps using automation.

Quick Start

  1. Step 1: Define the goal and premises, then select a strategy (direct, contradiction, cases, or induction).
  2. Step 2: If using induction, establish a well-founded order, prove the base case, and prove the inductive step; otherwise structure the proof accordingly.
  3. Step 3: Run the tool commands to verify steps and dependencies (e.g., z3_solve.py prove <formula>, math_scratchpad.py verify <structure>).

Best Practices

  • Define the theorem, premises, and conclusion before choosing a strategy.
  • Follow the decision tree to select the appropriate method and use structural induction when warranted.
  • Apply cut elimination to simplify proofs and ensure the subformula property.
  • Rigorously verify each step and document dependencies.
  • Leverage automation: use z3_solve.py for induction and soundness checks, and math_scratchpad.py for verification.

Example Use Cases

  • Proving the base case P(0) for a recursive definition.
  • Proving P(n) ⇒ P(n+1) using a two-part induction (base and step).
  • Demonstrating the induction_principle with z3_solve.py prove induction_principle.
  • Applying cut elimination to obtain a normalized proof with only subformulas.
  • Verifying a multi-step formal proof with math_scratchpad.py verify proof_structure.

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers