| name | termination-analyzer |
| description | Prove termination of algorithms and programs using ranking functions and well-founded orderings |
| allowed-tools | ["Bash","Read","Write","Edit","Glob","Grep"] |
| metadata | {"specialization":"computer-science","domain":"science","category":"algorithm-analysis","phase":6} |
| graph | {"domains":["domain:computer-science"],"specializations":["specialization:theoretical-computer-science"],"skillAreas":["skill-area:compiler-implementation","skill-area:mathematical-reasoning","skill-area:language-design"],"workflows":["workflow:research-grant-lifecycle"],"roles":["role:computational-scientist","role:research-scientist"]} |
Termination Analyzer
Purpose
Provides expert guidance on proving termination of algorithms through ranking functions, well-founded orderings, and automated analysis.
Capabilities
- Identify ranking/variant functions automatically
- Prove well-founded orderings
- Handle mutual recursion
- Detect potential non-termination
- Generate termination certificates
- Analyze complex control flow
Usage Guidelines
- Structure Analysis: Identify recursive calls and loop structures
- Ranking Function: Find or construct appropriate ranking function
- Ordering Proof: Prove well-foundedness of the ordering
- Certificate Generation: Generate formal termination proof
- Non-termination Detection: Flag potential infinite loops
Tools/Libraries
- AProVE
- T2
- Ultimate Automizer
- SMT solvers