“=” is not a Boolean operator: use ↔ or compare the formulas
A = B is not a formula in this language. The parser says so, offers <-> when “both sides have the same value” was meant, and points to the comparison workbench when the intent was to compare two formulas.
The parser's own diagnostic is recorded below: = is not an expression operator; use <-> when both sides must have the same value, compare whole formulas in the Compare workbench, and note that output definitions use :=. Three different intentions hide behind the one sign, and the language refuses to guess which.
The first intention is a formula that is TRUE when A and B agree. That is the biconditional, A <-> B, the same function as the XNOR gate, with its own truth table. The second is a claim about two formulas, “F equals G”, which means that F and G have the same table on every row; that is logical equivalence, a verdict rather than a formula, and the equivalence checker gives it with a counterexample when it fails. The third is a definition, “let allow be A AND B”, which the language writes as allow := A AND B.
Textbooks write = for all three, and so do many calculators, which is why the sign is rejected rather than quietly mapped to one of them. The double-equals and not-equal pitfalls cover the programming spellings of the same confusion.
What the parser says
| You typed | Code | Why it is rejected | Repair offered |
|---|---|---|---|
| A = B | unsupported-operator | `=` is not an expression operator. Use `<->` when both sides must have the same value; compare whole formulas in the Compare workbench. Output definitions use `:=`. | Replace with <-> |
The common slip
Typing a law as A AND (B OR C) = (A AND B) OR (A AND C) and expecting a proof. That is a claim about two formulas; enter the two sides in the equivalence checker, and it will prove or refute the claim on every row.
Questions
Can I write A = TRUE to say A holds?
No, and you do not need to: the formula A already holds exactly on the rows where A is TRUE. A <-> TRUE is accepted and simplifies to A.
What does := do?
It names an output: allow := member AND NOT banned defines allow, which other formulas may then refer to by name. It is a definition, not an operator inside a formula.
Related
Tools
- Logical equivalence checker: two expressions, exact verdict, counterexample
- Truth table generator: any Boolean expression, up to 12 variables, with intermediate columns
See also
- Biconditional (↔, if and only if): truth table and examples
- Double equals (==) compares values; for logical equivalence use ↔
- != on Booleans is XOR
- Logical equivalence: meaning and examples
- Logical equivalence checker: two expressions, exact verdict, counterexample
- Logic symbols: meanings, LaTeX, Unicode and how to type them
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.