Skip to content

Inconsistent premises: A and NOT A prove anything (vacuous validity)

From A and NOT A, conclude B: the validity check holds, but only vacuously, and the engine says so. The premise-consistency check is violated, which is the verdict that actually matters.

The premises are p1, A, and p2, NOT A, and the conclusion is B, a variable that appears in neither premise. An argument is valid when no row makes every premise true and the conclusion false; if no row makes every premise true at all, that condition is met for free, whatever the conclusion says. This is the principle that from a contradiction anything follows. The engine's reading of the conclusion is “B is true”, and the four-row table shows the two premise columns are never true on the same row.

The validity check reports holds, with the warning that the argument is valid only vacuously: the premises, with the assumptions, can never all be true, so anything would follow. The engine flags this explicitly with its vacuous marker and reports the premises as inconsistent. The premise-consistency check is violated: the premises are mutually inconsistent, and no assignment makes all of them true, so there is no witness to replay. There is no counterexample either, because a counterexample would need a row with both premises true. The verdict and the warning are shown together, never as a bare pass.

Inconsistent premises are a real failure mode in rule sets: two configuration rules that contradict each other, a specification that both requires and forbids a field, a test setup that asserts a flag on and off. A naive validity checker would report every conclusion drawn from such a set as valid. The thing to watch is therefore the consistency verdict, which the engine runs alongside validity for exactly this reason, and the vacuous flag on any check whose premises or assumptions cannot be satisfied.

p1 — A · premisep2 — NOT A · premiseconclusion — B · conclusion

Exact checks

Does the conclusion follow from the premises? Yes · vacuous: no admissible case exists · Exhaustively checked and solver cross-checked · 4 rows
Can all premises be true together? No · Exhaustively checked and solver cross-checked · 2 rows

Truth table (4 rows)

Inconsistent premises: A and NOT A prove anything (vacuous validity)
#ABp1p2conclusion
0FALSEFALSEFALSETRUEFALSE
1FALSETRUEFALSETRUETRUE
2TRUEFALSETRUEFALSEFALSE
3TRUETRUETRUEFALSETRUE

Plain-language reading

BeginnerConclusion: B is true.
IntermediateConclusion: B is true.
AdvancedConclusion: B is true.
Formal notation: B

Logic diagram

Inconsistent premises: A and NOT A prove anything (vacuous validity) Inconsistent premises: A and NOT A prove anything (vacuous validity) A B p1 p2 conclusion NOT
Inconsistent premises: A and NOT A prove anything (vacuous validity) Inconsistent premises: A and NOT A prove anything (vacuous validity) A B p1 p2 conclusion NOT

The common slip

Reading the holds verdict as an endorsement of the conclusion. The argument proves B, and it would prove NOT B just as well; the premises cannot be true together, so the validity is empty. The consistency check, which is violated here, is the one to look at first on any argument.

Questions

Why does the engine still say the argument is valid?

Because by the definition of validity it is: no row has all premises true and the conclusion false. The engine keeps the definition honest and adds two separate facts, the vacuous warning and the failed consistency check, rather than silently changing the verdict. The three together tell the full story.

Does the same thing happen with assumptions in decision mode?

Yes. If the stated assumptions of a model exclude every row, every check is vacuous and the engine warns in the same way. The inconsistent-assumptions pitfall page shows that situation; the fix is to repair the assumptions, not to trust the verdicts.

Related

Guides

Operators and gates

Tools

See also

Worked examples

Generated from the Tangibool engine, semantics tangibool-semantics/1, engine 1.0.0, build . Every table, map, simplification and verdict on these pages was computed by the Tangibool engine when the site was built, and every claim was re-checked by the same exact checker the app uses. Limits are stated where they apply. © 2026 Foreranger LTD.