Babysitter proof-assistant

Assist in constructing algorithm correctness proofs

install
source · Clone the upstream repo
git clone https://github.com/a5c-ai/babysitter
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/a5c-ai/babysitter "$T" && mkdir -p ~/.claude/skills && cp -r "$T/library/specializations/algorithms-optimization/skills/proof-assistant" ~/.claude/skills/a5c-ai-babysitter-proof-assistant && rm -rf "$T"
manifest: library/specializations/algorithms-optimization/skills/proof-assistant/SKILL.md
source content

Proof Assistant Skill

Purpose

Assist in constructing formal correctness proofs for algorithms using standard proof techniques.

Capabilities

  • Proof structure templates (induction, contradiction, etc.)
  • Step-by-step proof guidance
  • Termination argument generation
  • Proof review and validation
  • Identify proof gaps

Target Processes

  • correctness-proof-testing
  • algorithm-implementation

Proof Techniques

Mathematical Induction

  • Base case identification
  • Inductive hypothesis formulation
  • Inductive step construction

Proof by Contradiction

  • Assumption negation
  • Logical derivation
  • Contradiction identification

Loop Invariant Proofs

  • Invariant specification
  • Three-part proof (init, maintenance, termination)

Structural Induction

  • For recursive data structures
  • Base case (leaf/empty)
  • Inductive case (composite)

Input Schema

{
  "type": "object",
  "properties": {
    "algorithm": { "type": "string" },
    "code": { "type": "string" },
    "proofType": {
      "type": "string",
      "enum": ["induction", "contradiction", "invariant", "structural"]
    },
    "claim": { "type": "string" },
    "partialProof": { "type": "string" }
  },
  "required": ["algorithm", "claim"]
}

Output Schema

{
  "type": "object",
  "properties": {
    "success": { "type": "boolean" },
    "proof": { "type": "string" },
    "structure": { "type": "array" },
    "gaps": { "type": "array" },
    "suggestions": { "type": "array" }
  },
  "required": ["success"]
}