Agent skill

invariant-analyzer

Identify and verify loop invariants for correctness proofs

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/invariant-analyzer

SKILL.md

Invariant Analyzer Skill

Purpose

Identify and verify loop invariants to help construct correctness proofs for algorithms.

Capabilities

  • Automatic loop invariant inference
  • Invariant verification against code
  • Precondition/postcondition extraction
  • Generate formal proof structure
  • Identify missing invariants

Target Processes

  • correctness-proof-testing
  • algorithm-implementation

Invariant Analysis Framework

Loop Invariant Properties

  1. Initialization: True before first iteration
  2. Maintenance: If true before iteration, true after
  3. Termination: Provides useful property at end

Common Invariant Patterns

  • Range invariants: "for all i in [0, k), property P(i) holds"
  • Accumulator invariants: "sum equals sum of a[0..k-1]"
  • Pointer invariants: "left < right and all elements < left are processed"
  • State invariants: "data structure maintains property X"

Input Schema

json
{
  "type": "object",
  "properties": {
    "code": { "type": "string" },
    "language": { "type": "string" },
    "loopIndex": { "type": "integer" },
    "expectedInvariant": { "type": "string" }
  },
  "required": ["code"]
}

Output Schema

json
{
  "type": "object",
  "properties": {
    "success": { "type": "boolean" },
    "invariants": { "type": "array" },
    "preconditions": { "type": "array" },
    "postconditions": { "type": "array" },
    "proofOutline": { "type": "string" }
  },
  "required": ["success"]
}

Expand your agent's capabilities with these related and highly-rated skills.

Didn't find tool you were looking for?

Be as detailed as possible for better results