“Unless” in a rule: AND NOT, not OR
“Members may enter unless banned” is member AND NOT banned. Written with OR, member OR NOT banned, the rule admits two groups it should not, and the table shows both rows.
The table compares the right formula with the slip. They differ on two rows. On member = FALSE, banned = FALSE the OR version is TRUE: a stranger who happens not to be banned is admitted. On member = TRUE, banned = TRUE it is TRUE again: a banned member is admitted. The equivalence check reports the first of these as the counterexample. The AND version is TRUE on exactly one row, member = TRUE, banned = FALSE, which is what the sentence meant.
“Unless” introduces an exception to a permission, and an exception is a conjunction with a negation: the permission holds and the exception does not. Formally, “A unless B” as a claim is NOT B -> A; as an admission rule it is A AND NOT B for the cases that pass. Either way the exception is negated and attached with AND, never with OR.
The OR slip usually comes from reading “unless” as “or not”, which sounds similar. The lesson on necessary and sufficient conditions has a step on “unless”, and the access-control pattern page treats the banned-user exception as the standard example of a rule that needs the negation inside the AND.
right := member AND NOT banned · outputwrong := member OR NOT banned · output Truth table
They differ on this row: #0, #3
| # | member | banned | right | wrong |
|---|---|---|---|---|
| 0 | FALSE | FALSE | FALSE | TRUE |
| 1 | FALSE | TRUE | FALSE | FALSE |
| 2 | TRUE | FALSE | TRUE | TRUE |
| 3 | TRUE | TRUE | FALSE | TRUE |
Plain-language reading
Beginnerright is true exactly when member is true and banned is false.
In every other case, right is false.
About the operators:
- AND is true only when all of its parts are true.
- NOT reverses a value: true becomes false and false becomes true.
Intermediateright is true exactly when member is true and banned is false.
In every other case, right is false.
Advancedright is true exactly when member is true and banned is false [conjunction ∧].
In every other case, right is false.
Formal notation: member ∧ ¬banned
The common slip
Writing an exception with OR because the sentence contains the word “not”. “A unless B” is A AND NOT B for the admitted cases; A OR NOT B admits everyone who is not B, including the people who are not A.
Questions
Is “A unless B” the same as “if not B then A”?
As a statement, yes: NOT B -> A, which is B OR A. As an admission rule, the cases that pass are A AND NOT B. The distinction is whether the sentence states a condition or defines who is let in.
What test catches the OR version?
A non-member who is not banned (member = FALSE, banned = FALSE). The OR rule admits them; the sentence does not. It is the counterexample the engine replays.
Related
Guides
Worked examples
- Entry rule: (member OR invited) AND NOT banned, checked every way
- Entry rule slip: member OR (invited AND NOT banned) and the case that differs
Tools
- Logical equivalence checker: two expressions, exact verdict, counterexample
- Truth table generator: any Boolean expression, up to 12 variables, with intermediate columns
Practice
See also
- Lesson 5: If, only if, unless: necessary and sufficient conditions (intermediate, 15 min)
- Access control rules: roles, exceptions and the banned-user slip
- Entry rule: (member OR invited) AND NOT banned, checked every way
- Entry rule slip: member OR (invited AND NOT banned) and the case that differs
- NOT gate (inverter): truth table, symbol and the NOT operator
- Necessary vs sufficient: “only if” is not “if”
Pitfalls
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.