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