The solver
- Ask did Kind2 SAT SYS-REQ-014
- Formula if false then reject
- Why the trigger never fires
Topic · vacuous requirements
Gist
A vacuous requirement is trivially true. The solver can SAT it without exercising the intended behavior. Proof runs proof audit --check vacuity_clean. A green SAT is not a constraint. Jama still authors.
proof audit --check vacuity_clean
Keep Kind2 if it already SAT the formula. Keep Jama if it already holds the shall. Neither one names the eligible requirement that is vacuous, or still unchecked.
01 · The SAT that did not constrain anything
You can keep SYS-REQ-014 and still have a formula the solver satisfies by never taking the trigger.
The check walks eligible formalized requirements at verify. It warns in two cases: the stored vacuity status is vacuous, or it is still unchecked. Vacuous means the formula is trivially true. Unchecked means this hop cannot yet tell clean from unknown. Both count. The status is warning, not error. You can still advance. That is the honest bar, not a slogan.
The example that keeps showing up is a trigger that never fires: if false, then reject. Kind2 can SAT that. Z3 can SAT a data lemma that never rules out a value. The suite can stay green. The requirement never constrained the system.
A covering SYS-REQ that is vacuous still counts on obligation completeness. That hop is the missing child class. This hop is whether the formula rules anything out. A parent that is green because a child is vacuity-only still counts on verification chain. The pipeline that runs the SAT lives on software verification.
proof audit --check vacuity_clean --verbose
proof workflow check --stage verify --verbose
proof req show SYS-REQ-014 --with verification
Inspect the named id before you edit. Tighten the trigger, the timing, or the response so a real behavior is ruled out. For unchecked, rerun verify and confirm the requirement is actually eligible for vacuity analysis. Do not raise a threshold to hide the stamp.
02 · The exhibit
SYS-REQ-014 still exists. Click the tabs.
The solver
This hop
No vacuity_clean JSON. Vacuous and unchecked never ran.
No stampThe solver
Keep Kind2. SAT is still SAT. That is not this hop.
Keep the SATProof
Same SYS-REQ. A green SAT, or this stamp. Click the tabs.
| Surface | What they do | What Proof does | What we lose |
|---|---|---|---|
| Kind2 / Z3 SAT | The formula you selected is satisfiable. | Warn when an eligible requirement is vacuous or still unchecked. | Warning, not error. We do not rewrite the shall. A green stamp is not a proof of the Go. |
| Dictionary vacuity | The English word. Wikipedia if you typed it. | The stored vacuity status on an eligible formalized requirement. | Not that hop. This URL is the check, not the dictionary. |
| Obligation completeness | Whether each listed class has a covering SYS-REQ. | Whether that covering formula rules anything out. | A vacuous covering SYS-REQ still counts there. See obligation completeness. |
| Jama | The authoring programme. Reviews if you put them there. | Warn the merge when the SAT did not constrain the system. | Not Jama's V&V. Jama still authors. We have not run a frozen Jama pack. |
The teaching graph is still one SYS-REQ next to its vacuity status. Run the check. Read the id. Tighten the trigger, or rerun verify for unchecked. Do not raise a budget to clear the stamp.
proof workflow check --stage verify --verbose
proof req show SYS-REQ-014 --with verification
proof audit --check vacuity_clean --verbose
The SAT pipeline stays on software verification and Z3 / Kind2 on one function. Jama still authors. Proof vs Jama.
03 · The honest loss
A green vacuity_clean is eligible-requirement agreement. It is not a proof of the Go. Jama still authors.
The check is a warning. You can still advance. It does not judge whether the rest of the formula is the one you meant. Unchecked is not vacuous: it means the hop has no result yet. Requirements that are not eligible for the vacuity step are skipped. We have not scored this graph against a frozen Jama pack or a second human's V&V judgment. The loss is named, not scored.
The compile hop stays on spec to obligations. The engagement stays on software correctness audit. Jama still authors.
04 · Nearby questions
What are vacuous requirements? Same question. Same URL.
Is this the dictionary word vacuity? No. That SERP is Wikipedia. This hop is the stored status on an eligible requirement.
Is this obligation completeness? No. That hop is the missing child class. A vacuous covering SYS-REQ still counts there. See obligation completeness.
Is this software verification? No. That hop is the pipeline. This hop is one warning inside verify. See software verification.
Is Proof a Jama alternative for the shall? No. Jama still authors. Proof vs Jama.