Lesson 1: NOT, AND, OR: the basic operators (beginner, 10 min)
The first lesson builds the entry rule (member OR invited) AND NOT banned one operator at a time: AND, then inclusive OR, then NOT. Ten minutes, no prerequisites, and every example on the page is re-checked by the engine at build time.
Inputs are TRUE or FALSE. Combine them with AND, inclusive OR, and NOT, and build the entry rule step by step.
Each input is a statement that is either TRUE or FALSE; there is no third value. The first step combines two of them with AND (member AND paid), which is TRUE only when both are; the second introduces OR with member OR invited, TRUE when at least one is, including when both are; the third adds NOT, which flips banned, and assembles the full rule. Each step carries a small model with its truth table, so you can see every row as you read.
The exercises ask you to predict the output for one scenario, fill in a truth-table column for member OR invited, and find an assignment that lets in someone who is not a member. In the app each answer is checked exactly, not against a stored key but against the model itself, so a correct answer in a different spelling is still correct.
What the lesson deliberately leaves out is as important as what it includes: no XOR yet, no precedence, no brackets beyond the one pair the rule needs. The second lesson takes exclusive or, the third takes grouping, and the fourth gives truth tables their own treatment. If you are a tester or an analyst rather than a student, the operator pages in this reference are the quicker route to the same facts.
Do this lesson interactively in the app
Steps
1. TRUE, FALSE, and AND
Each input stands for a statement that is either TRUE or FALSE, such as member (“the person is a member”). There is no third value.
An output is computed from inputs: can_borrow := member AND paid is TRUE only when both member and paid are TRUE.
If an input has no value yet, Tangibool does not guess FALSE: the output simply stays uncomputed.
can_borrow := member AND paid · output member: the person is a member; paid: the membership fee is paid; can_borrow: the person may borrow books;
| # | member | paid | can_borrow |
|---|---|---|---|
| 0 | FALSE | FALSE | FALSE |
| 1 | FALSE | TRUE | FALSE |
| 2 | TRUE | FALSE | FALSE |
| 3 | TRUE | TRUE | TRUE |
Set member to TRUE and leave paid empty: can_borrow is not computed. Then set paid to FALSE, and finally to TRUE.
2. OR is inclusive
may_enter := member OR invited is TRUE when at least one of the two inputs is TRUE, including the case where both are. Someone who is a member and invited may certainly enter.
This everyday “or” is called inclusive. When you mean “one or the other, but not both”, you need XOR (next lesson).
may_enter := member OR invited · output member: the person is a member; invited: the person has an invitation; may_enter: the person may enter;
| # | member | invited | may_enter |
|---|---|---|---|
| 0 | FALSE | FALSE | FALSE |
| 1 | FALSE | TRUE | TRUE |
| 2 | TRUE | FALSE | TRUE |
| 3 | TRUE | TRUE | TRUE |
Set both member and invited to TRUE and watch may_enter.
3. NOT, and the complete entry rule
NOT banned flips a value: it is TRUE exactly when banned is FALSE.
Together: allow_entry := (member OR invited) AND NOT banned. Read literally: entry is allowed exactly when the person is not banned and at least one of membership or invitation is true. Being both a member and invited is allowed.
allow_entry := (member OR invited) AND NOT banned · output member: the person is a member; invited: the person has an invitation; banned: the person is banned; allow_entry: the person may enter;
| # | member | invited | banned | allow_entry |
|---|---|---|---|---|
| 0 | FALSE | FALSE | FALSE | FALSE |
| 1 | FALSE | FALSE | TRUE | FALSE |
| 2 | FALSE | TRUE | FALSE | TRUE |
| 3 | FALSE | TRUE | TRUE | FALSE |
| 4 | TRUE | FALSE | FALSE | TRUE |
| 5 | TRUE | FALSE | TRUE | FALSE |
| 6 | TRUE | TRUE | FALSE | TRUE |
| 7 | TRUE | TRUE | TRUE | FALSE |
Make allow_entry TRUE, then switch banned to TRUE. Which inputs could still make it TRUE?
Exercises
- A guest is not a member, has an invitation, and is not banned:
member=FALSE, invited=TRUE, banned=FALSE. Isallow_entryTRUE or FALSE? (predict-output) - Fill in the
may_entercolumn formember OR invited. The rows are FALSE/FALSE, FALSE/TRUE, TRUE/FALSE, TRUE/TRUE (memberfirst). (truth-table) - Find values for all three inputs that let in someone who is not a member. (find-assignment)
Do this lesson interactively in the app
Questions
Do I need the app to follow the lesson?
No. The steps, models and truth tables are all on this page. The app adds the interactive exercises with exact checking and keeps your progress; the link at the end opens the same lesson there.
Why start with AND rather than NOT?
Because a rule with two inputs and one operator is the smallest thing with a truth table worth reading. NOT arrives in the third step, where the entry rule needs it.
Related
Guides
Laws
- NAND elimination: NAND(A, B) = NOT (A AND B)
- NOR elimination: NOR(A, B) = NOT (A OR B)
- NOT from NAND: NOT A = NAND(A, A)
- AND from NAND gates: A AND B = NAND(NAND(A, B), NAND(A, B))
- OR from NAND gates: A OR B = NAND(NAND(A, A), NAND(B, B))
- NOT from NOR: NOT A = NOR(A, A)
Tools
Practice
- Gate diagrams to Boolean expressions: exercises with answers
- Boolean expressions to circuits: exercises with answers
See also
- AND gate: truth table for 2, 3 and 4 inputs, symbol and expression
- OR gate: truth table for 2, 3 and 4 inputs, inclusive or explained
- NOT gate (inverter): truth table, symbol and the NOT operator
- Entry rule: (member OR invited) AND NOT banned, checked every way
- Lesson 2: XOR: exclusive OR and parity (beginner, 10 min)
- Lesson 3: Grouping and precedence (beginner, 12 min)
- Lesson 4: Truth tables (beginner, 12 min)
Lessons
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.