What problem does it solve?
This Skill helps you justify that code is correct for all relevant inputs, not just the handful of cases you tested. It is especially useful when loops, recursion, exhaustive branching, or universal claims about behavior make informal reasoning too weak.
Core Features & Use Cases
- Proof tactic selection: Choose the right reasoning method such as induction, contradiction, contrapositive, case analysis, construction, or counterexample.
- Correctness arguments for code: Build loop invariants, termination measures for recursion, and explicit exhaustiveness checks for branching logic.
- Edge-case driven validation: Stress claims with empty inputs, singleton cases, boundaries, duplicates, numeric extremes, and adversarial examples before trusting them.
- Use case: When reviewing a binary search implementation, use this Skill to define the loop invariant, show initialization and maintenance, and connect loop termination to the postcondition.
Quick Start
Use the proof-tactics skill to verify that a recursive function terminates and returns the correct result for all finite inputs.