Saltar al contenido

Símbolos y notaciones de la lógica booleana: NOT, AND, OR en palabras, código y matemáticas

Cada operador booleano tiene varias grafías: una palabra, un símbolo de programación, un símbolo matemático y un signo de álgebra. La tabla de abajo es la que acepta el analizador, y la lista que la sigue muestra lo que dice cuando escribes una grafía que no acepta.

Las cuatro notaciones son intercambiables en la entrada y seleccionables en la salida. NOT A, !A, ¬A y A' son una misma fórmula; A AND B, A && B, A ∧ B y A·B son una misma fórmula; A OR B, A || B, A ∨ B y A + B son una misma fórmula. El o exclusivo es XOR o ⊕, la implicación -> o →, el bicondicional <-> o ↔, y las constantes TRUE, FALSE, 1 y 0. Las palabras de operador no distinguen mayúsculas, así que a AnD b se analiza, pero los nombres de las entradas sí las distinguen.

Tres compuertas (o puertas) solo tienen grafía de función, NAND(A, B), NOR(A, B) y XNOR(A, B), cada una con exactamente dos operandos, y dos formas indexadas nombran una función por sus filas: Σm(A, B; 1, 2) enumera los mintérminos y ΠM(A, B; 0) los maxtérminos, con minterms(…) y maxterms(…) como grafías de texto plano. Las definiciones de salida usan :=, y por eso un = suelto dentro de una fórmula se rechaza.

Las grafías rechazadas son las que significan otra cosa en algún sitio: = y == (comparación, no un operador aquí), != (que entre booleanos es XOR), => y <=> (flechas gruesas que varían entre herramientas), ~ (bit a bit en C), &, | y ^ (bit a bit en C, Java y JavaScript), * (aritmética), el infijo A NAND B, y dos nombres seguidos (A B), que algunos libros leen como multiplicación. En todos los casos el analizador nombra el problema y ofrece una corrección, y las lecturas de abajo se registran del propio analizador en el momento de la construcción.

Grafías aceptadas

OperadorGrafías aceptadasPalabrasProgramaciónMatemáticaÁlgebra
notNOT ! ¬ a' a′NOT a!a¬aa'
andAND && ∧ · ⋅a AND ba && ba ∧ ba·b
orOR || ∨ +a OR ba || ba ∨ ba + b
xorXOR ⊕a XOR ba XOR ba ⊕ ba ⊕ b
implies-> →a -> ba -> ba → ba → b
iff<-> ↔a <-> ba <-> ba ↔ ba ↔ b
nandNAND(a, b)NAND(a, b)NAND(a, b)NAND(a, b)NAND(a, b)
norNOR(a, b)NOR(a, b)NOR(a, b)NOR(a, b)NOR(a, b)
xnorXNOR(a, b)XNOR(a, b)XNOR(a, b)XNOR(a, b)XNOR(a, b)
mintermsΣm(a, b; 1, 3) ∑m(…) minterms(…)Σm(a, b; 1, 3)Σm(a, b; 1, 3)Σm(a, b; 1, 3)Σm(a, b; 1, 3)
maxtermsΠM(a, b; 0) ∏M(…) maxterms(…)ΠM(a, b; 0)ΠM(a, b; 0)ΠM(a, b; 0)ΠM(a, b; 0)
constantsTRUE FALSE 1 0TRUE / FALSETRUE / FALSE1 / 01 / 0

Grafías rechazadas y su corrección

EscribisteCódigoPor qué se rechazaCorrección ofrecida
A = Bunsupported-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 <->
A == Bunsupported-operator`==` is not an expression operator. Use `<->` when both sides must have the same value, or the Compare workbench to compare two formulas.Replace with <->
A != Bunsupported-operator`!=` is not an expression operator. Use `XOR` when the two sides must differ.Replace with XOR
A => Bunsupported-operator`=>` is not a supported operator. Use `->` for implication.Replace with ->
A <=> Bunsupported-operator`<=>` is not a supported operator. Use `<->` for a biconditional.Replace with <->
~Aunsupported-operator`~` is not a supported operator. Use `NOT`, `!`, or `¬` for negation.Replace with NOT
A & Bunsupported-operatorA single `&` is not supported. Use `AND` or `&&`.Replace with AND Replace with &&
A | Bunsupported-operatorA single `|` is not supported. Use `OR` or `||`.Replace with OR Replace with ||
A ^ Bunsupported-operator`^` is not supported (it is bitwise in many languages). Use `XOR` or `⊕`.Replace with XOR
A * Bunsupported-operator`*` is not supported. Use `AND`, `&&`, `∧`, or the algebra product `·`.Replace with AND Replace with ·
A NAND Binfix-functionNAND uses function notation, e.g. NAND(A, B).Rewrite as NAND(A, B)
A Bmissing-operatorMissing operator between `A` and `B`. Implicit multiplication is not supported — write the operator explicitly.Insert AND Insert OR
not A == Bunsupported-operator`==` is not an expression operator. Use `<->` when both sides must have the same value, or the Compare workbench to compare two formulas.Replace with <->

El error habitual

Pegar una fórmula de un libro o de un programa y confiar en que se analizó como se pretendía. AB + C' solo se acepta como A·B + C' con el punto; A B es un operador que falta; y A ^ B se rechaza en lugar de leerse en silencio como potencia o como XOR.

Preguntas

¿Qué notación imprime el motor por defecto?

La que elijas: palabras, programación, matemática o álgebra. Cada página de esta referencia imprime cada fórmula en las cuatro, y la forma totalmente entre paréntesis de la página de precedencia muestra la agrupación.

¿Puedo usar la barra superior para NOT?

En la entrada no; escribe NOT A, !A, ¬A o A'. La exportación a LaTeX escribe la negación como barra superior, que es la tipografía habitual del álgebra.

Relacionado

Véase también

Lenguajes

Generado a partir del motor de Tangibool, semántica tangibool-semantics/1, motor 1.0.0, compilación . Cada tabla, mapa, simplificación y veredicto de estas páginas lo calculó el motor de Tangibool al compilar el sitio, y cada afirmación la volvió a comprobar el mismo verificador exacto que usa la app. Los límites se indican donde aplican. © 2026 Foreranger LTD.