name: loop-invariant-generator description: Automatically generate and verify loop invariants for algorithm correctness proofs allowed-tools:
- Bash
- Read
- Write
- Edit
- Glob
- Grep metadata: specialization: computer-science domain: science category: algorithm-analysis phase: 6
Loop Invariant Generator
Purpose
Provides expert guidance on generating and verifying loop invariants for algorithm correctness proofs using formal methods.
Capabilities
- Infer candidate loop invariants from code structure
- Verify initialization, maintenance, and termination conditions
- Generate formal proof templates
- Handle nested loops and complex data structures
- Export to theorem provers (Dafny, Why3)
- Suggest invariant strengthening
Usage Guidelines
- Code Analysis: Analyze loop structure and identify key properties
- Candidate Generation: Generate candidate invariants from code patterns
- Verification: Check initialization, maintenance, termination
- Strengthening: Refine invariants to prove desired properties
- Export: Generate proof obligations for theorem provers
Tools/Libraries
- Dafny
- Why3
- SMT solvers (Z3, CVC5)
- Static analysis frameworks