Skip to content

“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
Are right and wrong equivalent? No Counterexample: member = F, banned = F · Exhaustively checked and solver cross-checked · 1 rows

Truth table

They differ on this row: #0, #3

“Unless” in a rule: AND NOT, not OR
#memberbannedrightwrong
0FALSEFALSEFALSETRUE
1FALSETRUEFALSEFALSE
2TRUEFALSETRUETRUE
3TRUETRUEFALSETRUE

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
“Unless” in a rule: AND NOT, not OR “Unless” in a rule: AND NOT, not OR member banned rightPRIMARY wrong AND NOT OR NOT
“Unless” in a rule: AND NOT, not OR “Unless” in a rule: AND NOT, not OR member banned rightPRIMARY wrong AND NOT OR NOT

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

Tools

Practice

See also

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.