---
name: proof-theory
description: "Problem-solving strategies for proof theory in mathematical logic"
allowed-tools: [Bash, Read]
---

# 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
```bash
uv run python -m runtime.harness scripts/cc_math/z3_solve.py prove "P(0)"
```

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

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

### Math_Verify
```bash
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.
