Die Oberfläche ist lokalisiert; Skill-Beschreibungen und -Dokumente werden per KI automatisch in Ihre Sprache übersetzt. Code, Befehle, Pfade und Fachbegriffe bleiben im Original, maßgeblich ist das Dokument des Autors.
Skills entdecken
Produktivität · SKILL.md

invariant-analyzer

invariant-analyzer

Identify and verify loop invariants for correctness proofs

Independent GitHub snapshot · Automated classification · Original documentation governs

Skill-Dokumentation

GitHub

name: invariant-analyzer description: Identify and verify loop invariants for correctness proofs allowed-tools:

  • Read
  • Write
  • Grep
  • Glob graph: domains: [domain:computer-science] specializations: [specialization:algorithms-optimization] skillAreas: [skill-area:dynamic-programming, skill-area:mathematical-reasoning] roles: [role:backend-engineer, role:computational-scientist]

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

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

Output Schema

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