Check reference
Keep formalization status honest about lemma results
An undecided lemma is not a successful proof. formalization_lemma_verdict_consistency catches system requirements that claim valid formalization while their referenced lemma has an inconclusive cached verdict.
Compare the claim with recorded evidence
The verify-stage check reads .proof/lemma-cache.json. It follows forward LEMMA: references in traces.verified_by_extra and reverse Go verifies: annotations. It warns when a system requirement marked valid points to a cached timeout, unknown, translation error or solver crash. Duplicate references to the same pair are consolidated. Missing cache entries are a separate informational condition.
Illustrative example: reset remains undecided
verification:
formalization_status: valid
traces:
verified_by_extra:
- LEMMA:session/reset_clears_state
Suppose the referenced lemma's cached verdict is timeout. The requirement overstates the evidence: the solver did not decide whether reset clears the state. The honest status is inconclusive until supported evidence establishes the claim. A timeout also is not a counterexample; avoid reporting it as a demonstrated implementation defect.
Choose the repair that matches reality
If the lemma is still relevant but undecided, retain the reference and correct the status. If the model, translator or solver budget changed, rerun verification and inspect the actual result. If the lemma was deliberately renamed or removed, repair the trace and cache lifecycle. Do not delete a live reference merely to hide the mismatch.
proof verify-lemma --no-cache ./internal/session
proof audit --check formalization_lemma_verdict_consistency --verbose
The no-cache run forces analysis; it is not a promise that the verdict cache was rewritten. Check the persisted state the audit reads before expecting its finding to clear.
The check does not demand a lemma everywhere
Without a cache it skips. A valid system requirement with no lemma reference can legitimately use another formalization path and is not penalized by this check. Passing therefore does not prove that every valid claim has fresh evidence. Its warning severity and the audit failure policy are separate from the repository's required merge checks.
Follow the evidence
Read the referenced lemma's actual verdict before changing the requirement's status.
Review one disputed proof status. Bring the requirement and referenced lemma verdict so we can assess what the recorded evidence supports and what remains undecided.