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
Truth table (4 rows)
| # | A | B | p1 | p2 | conclusion |
|---|---|---|---|---|---|
| 0 | FALSE | FALSE | FALSE | TRUE | FALSE |
| 1 | FALSE | TRUE | FALSE | TRUE | TRUE |
| 2 | TRUE | FALSE | TRUE | FALSE | FALSE |
| 3 | TRUE | TRUE | TRUE | FALSE | TRUE |
Plain-language reading
BeginnerConclusion: B is true.
IntermediateConclusion: B is true.
AdvancedConclusion: B is true.
Formal notation: B
Logic diagram
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
- Truth table generator: any Boolean expression, up to 12 variables, with intermediate columns
- Argument validity checker: premises, conclusion, counterexample or proof
- Karnaugh map solver: 2 to 4 variables, groups, SOP and POS, don’t-cares from assumptions
See also
- Vacuous truth in logic: meaning and examples
- Vacuous truth: a property that holds because nothing satisfies the assumptions
- Inconsistent assumptions make every test pass
- A contradiction: A AND NOT A
- Argument validity checker: premises, conclusion, counterexample or proof
- Sound argument in logic: meaning and examples
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.