Interactive User Flow¶
This flow reflects the current toolchain behavior and status normalization.
Step-by-step workflow¶
- Discover targets in a file.
- Call
scan_fileto enumerate declarations and baseline automation signals. - Optional: call
rank_targetsto prioritize targets by objective. - Inspect one theorem deeply.
- Call
scan_theoremfor structure-level details. - Measure baseline automation.
- Call
probefor one theorem orprobe_filefor a batch. - Use classifications (
trivial,promising,failed,timed_out) to decide next action. - Pull context for guided iteration.
- Call
get_proof_contextfor statement, original proof, scope, and optional similar proofs. - Run bounded automated search (optional).
- Call
search_automated_proofwith depth/strategy controls. - Validate candidate proof directly.
- Call
try_automated_proofwithproof_attempt. - This path uses range-based harness construction and Lean validation.
- Final verification.
- Call
verifyon theorem/file scope for final pass/fail signal.
Status and result handling¶
- Treat
successas terminal positive outcome. - Treat
failas expected negative outcome (not infrastructure failure). - Treat
partialas usable progress requiring follow-up. - Treat
timeoutas budget issue (retry with larger budget or narrower scope). - Treat
erroras tool/runtime failure requiring input/runtime investigation. - For
try_automated_proof, distinguishrejected(proof wrong) fromerror(tool/runtime issue).
Harness usage in interactive flow¶
- Harness-backed tools:
probe,probe_file,search_automated_proof,try_automated_proof. - Current harness strategy: range-based source splicing (
RangeBasedHarnessConstructor). verifyand static analysis tools do not build range-spliced harnesses.
Flow diagram¶
flowchart LR
A["scan_file / rank_targets"] --> B["scan_theorem"]
B --> C["probe or probe_file"]
C --> D["get_proof_context"]
D --> E["search_automated_proof (optional)"]
E --> F["try_automated_proof"]
F --> G["verify"]
C -. status feedback .-> H["Tune mode/budget/target"]
E -. fail/partial .-> H
F -. rejected/incomplete .-> H
H --> D