Skip to content

AB is one name, not A AND B: implicit multiplication

AB is one name, not A AND B. Textbooks drop the dot in A·B; the parser does not, because a rule's inputs have names like member and banned, and AB must be allowed to be one of them.

The parser's diagnostic for A B is recorded below: a missing operator between A and B, with the note that implicit multiplication is not supported and the two repairs, insert AND or insert OR. AB with no space is not even that; it is a single identifier, and if no input of that name exists it becomes a new one, which is the quieter and worse failure.

The algebra notation has a product sign for exactly this reason: A·B (also A⋅B) is accepted and printed, and A'B' must be written A'·B'. The habit of juxtaposition comes from hand-written Boolean algebra, where variables are single letters and the dot is tedious. In a language with multi-letter names, juxtaposition is ambiguous, and the engine's parser is designed to refuse ambiguity rather than resolve it silently.

When copying an expression from a textbook, insert the dots or the word AND, and check the printed algebra form on the page: it shows A·B where it read a product and AB where it read a name.

What the parser says

You typedCodeWhy it is rejectedRepair offered
A Bmissing-operatorMissing operator between `A` and `B`. Implicit multiplication is not supported — write the operator explicitly.Insert AND Insert OR

The common slip

Pasting AB + A'C from a worked problem. AB becomes one unknown input and A'C another, and the formula has four variables instead of three. The truth table's variable list reveals it immediately.

Questions

Why not treat juxtaposition as AND when the names are single letters?

Because the rule would then change meaning when a name grows: AB is a product today and a name tomorrow. A language that keeps IDs stable across edits cannot afford a reading that depends on name length.

Which product signs are accepted?

The middle dot ·, the dot operator ⋅, the word AND, the symbol ∧ and the programming &&. The asterisk * is rejected with a repair, because it is arithmetic.

Related

Tools

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.