Ejercicios de De Morgan
Diez negaciones que hay que empujar hacia dentro hasta que cada NOT quede sobre una sola variable: un AND negado, un OR negado, una cadena de tres operandos, una implicación negada y casos anidados de dos niveles. Escribe el resultado en forma normal negativa y compáralo con el motor.
Las dos leyes: NOT (X AND Y) es NOT X OR NOT Y, y NOT (X OR Y) es NOT X AND NOT Y. Cada aplicación invierte el operador y niega los operandos; con una cadena de tres invierte toda la cadena de una vez. La doble negación elimina después los NOT NOT. Para una implicación, reescribe primero X -> Y como NOT X OR Y, de modo que NOT (X -> Y) se convierte en X AND NOT Y: la única manera en que falla una implicación es antecedente verdadero y consecuente falso.
La lista de pasos del simplificador muestra De Morgan solo donde la reescritura acorta la expresión, normalmente cuando después desaparecen dobles negaciones; NOT (A AND B) se queda como está porque NOT A OR NOT B es más larga. Así que algunos problemas muestran las leyes en la página y otros muestran que no se aplicó ninguna ley; las soluciones dicen cuál es el caso, y la tabla de verdad confirma la respuesta en ambos, porque el resultado debe ser verdadero exactamente en las filas en las que lo es el original.
1. Empuja la negación hacia dentro en NOT (A AND B). NOT (A AND B)
| # | A | B | f |
|---|---|---|---|
| 0 | FALSO | FALSO | VERDADERO |
| 1 | FALSO | VERDADERO | VERDADERO |
| 2 | VERDADERO | FALSO | VERDADERO |
| 3 | VERDADERO | VERDADERO | FALSO |
El motor no encontró ninguna ley que acorte esta expresión; ya es tan corta como sus leyes de reescritura permiten.
NOT (A AND B) Clasificación: contingente
De Morgan sobre AND: NOT A OR NOT B. La lista de pasos no aplica ninguna ley, porque esta forma es más larga que la original; la tabla es falsa solo en A = TRUE, B = TRUE, como corresponde a un NAND.
2. Empuja la negación hacia dentro en NOT (A OR B). NOT (A OR B)
| # | A | B | f |
|---|---|---|---|
| 0 | FALSO | FALSO | VERDADERO |
| 1 | FALSO | VERDADERO | FALSO |
| 2 | VERDADERO | FALSO | FALSO |
| 3 | VERDADERO | VERDADERO | FALSO |
El motor no encontró ninguna ley que acorte esta expresión; ya es tan corta como sus leyes de reescritura permiten.
NOT (A OR B) Clasificación: contingente
De Morgan sobre OR: NOT A AND NOT B, ni lo uno ni lo otro, verdadera solo en A = FALSE, B = FALSE.
3. Empuja la negación hacia dentro en NOT (A AND B AND C). NOT (A AND B AND C)
| # | A | B | C | f |
|---|---|---|---|---|
| 0 | FALSO | FALSO | FALSO | VERDADERO |
| 1 | FALSO | FALSO | VERDADERO | VERDADERO |
| 2 | FALSO | VERDADERO | FALSO | VERDADERO |
| 3 | FALSO | VERDADERO | VERDADERO | VERDADERO |
| 4 | VERDADERO | FALSO | FALSO | VERDADERO |
| 5 | VERDADERO | FALSO | VERDADERO | VERDADERO |
| 6 | VERDADERO | VERDADERO | FALSO | VERDADERO |
| 7 | VERDADERO | VERDADERO | VERDADERO | FALSO |
El motor no encontró ninguna ley que acorte esta expresión; ya es tan corta como sus leyes de reescritura permiten.
NOT (A AND B AND C) Clasificación: contingente
La ley se aplica a toda la cadena de una vez: NOT A OR NOT B OR NOT C. Falsa solo en la fila toda verdadera.
4. Empuja la negación hacia dentro en NOT (NOT A OR B). NOT (NOT A OR B)
| # | A | B | f |
|---|---|---|---|
| 0 | FALSO | FALSO | FALSO |
| 1 | FALSO | VERDADERO | FALSO |
| 2 | VERDADERO | FALSO | VERDADERO |
| 3 | VERDADERO | VERDADERO | FALSO |
NOT (NOT A OR B)- Ley de De Morgan ·
NOT (A OR B) = NOT A AND NOT BNOT (NOT A OR B)→NOT NOT A AND NOT BResultado:NOT NOT A AND NOT B - Doble negación ·
NOT NOT A = ANOT NOT A→AResultado:A AND NOT B
Clasificación: contingente
De Morgan da NOT NOT A AND NOT B, y la doble negación da A AND NOT B. La página muestra las dos leyes, porque el resultado es más corto.
5. Empuja la negación hacia dentro en NOT (A -> B). NOT (A -> B)
| # | A | B | f |
|---|---|---|---|
| 0 | FALSO | FALSO | FALSO |
| 1 | FALSO | VERDADERO | FALSO |
| 2 | VERDADERO | FALSO | VERDADERO |
| 3 | VERDADERO | VERDADERO | FALSO |
El motor no encontró ninguna ley que acorte esta expresión; ya es tan corta como sus leyes de reescritura permiten.
NOT (A -> B) Clasificación: contingente
Primero la eliminación de la implicación, NOT (NOT A OR B), y después el problema anterior: A AND NOT B. La negación de una implicación es su única fila en la que falla, A = TRUE, B = FALSE; no es NOT A -> NOT B.
6. Empuja la negación hacia dentro en NOT ((A OR B) AND C). NOT ((A OR B) AND C)
| # | A | B | C | f |
|---|---|---|---|---|
| 0 | FALSO | FALSO | FALSO | VERDADERO |
| 1 | FALSO | FALSO | VERDADERO | VERDADERO |
| 2 | FALSO | VERDADERO | FALSO | VERDADERO |
| 3 | FALSO | VERDADERO | VERDADERO | FALSO |
| 4 | VERDADERO | FALSO | FALSO | VERDADERO |
| 5 | VERDADERO | FALSO | VERDADERO | FALSO |
| 6 | VERDADERO | VERDADERO | FALSO | VERDADERO |
| 7 | VERDADERO | VERDADERO | VERDADERO | FALSO |
El motor no encontró ninguna ley que acorte esta expresión; ya es tan corta como sus leyes de reescritura permiten.
NOT ((A OR B) AND C) Clasificación: contingente
Primero la ley exterior: NOT (A OR B) OR NOT C; después la interior: (NOT A AND NOT B) OR NOT C. Ahora cada NOT está sobre una variable.
7. Empuja la negación hacia dentro en NOT ((A AND B) OR (C AND D)). NOT ((A AND B) OR (C AND D))
| # | A | B | C | D | f |
|---|---|---|---|---|---|
| 0 | FALSO | FALSO | FALSO | FALSO | VERDADERO |
| 1 | FALSO | FALSO | FALSO | VERDADERO | VERDADERO |
| 2 | FALSO | FALSO | VERDADERO | FALSO | VERDADERO |
| 3 | FALSO | FALSO | VERDADERO | VERDADERO | FALSO |
| 4 | FALSO | VERDADERO | FALSO | FALSO | VERDADERO |
| 5 | FALSO | VERDADERO | FALSO | VERDADERO | VERDADERO |
| 6 | FALSO | VERDADERO | VERDADERO | FALSO | VERDADERO |
| 7 | FALSO | VERDADERO | VERDADERO | VERDADERO | FALSO |
| 8 | VERDADERO | FALSO | FALSO | FALSO | VERDADERO |
| 9 | VERDADERO | FALSO | FALSO | VERDADERO | VERDADERO |
| 10 | VERDADERO | FALSO | VERDADERO | FALSO | VERDADERO |
| 11 | VERDADERO | FALSO | VERDADERO | VERDADERO | FALSO |
| 12 | VERDADERO | VERDADERO | FALSO | FALSO | FALSO |
| 13 | VERDADERO | VERDADERO | FALSO | VERDADERO | FALSO |
| 14 | VERDADERO | VERDADERO | VERDADERO | FALSO | FALSO |
| 15 | VERDADERO | VERDADERO | VERDADERO | VERDADERO | FALSO |
El motor no encontró ninguna ley que acorte esta expresión; ya es tan corta como sus leyes de reescritura permiten.
NOT ((A AND B) OR (C AND D)) Clasificación: contingente
El OR exterior se convierte en un AND de dos AND negados, y cada uno de estos en un OR: (NOT A OR NOT B) AND (NOT C OR NOT D). Verdadera salvo que A, B sean ambas verdaderas o C, D sean ambas verdaderas.
8. Empuja la negación hacia dentro en NOT (A AND NOT (B OR C)). NOT (A AND NOT (B OR C))
| # | A | B | C | f |
|---|---|---|---|---|
| 0 | FALSO | FALSO | FALSO | VERDADERO |
| 1 | FALSO | FALSO | VERDADERO | VERDADERO |
| 2 | FALSO | VERDADERO | FALSO | VERDADERO |
| 3 | FALSO | VERDADERO | VERDADERO | VERDADERO |
| 4 | VERDADERO | FALSO | FALSO | FALSO |
| 5 | VERDADERO | FALSO | VERDADERO | VERDADERO |
| 6 | VERDADERO | VERDADERO | FALSO | VERDADERO |
| 7 | VERDADERO | VERDADERO | VERDADERO | VERDADERO |
NOT (A AND NOT (B OR C))- Ley de De Morgan ·
NOT (A AND B) = NOT A OR NOT BNOT (A AND NOT (B OR C))→NOT A OR NOT NOT (B OR C)Resultado:NOT A OR NOT NOT (B OR C) - Doble negación ·
NOT NOT A = ANOT NOT (B OR C)→B OR CResultado:NOT A OR (B OR C) - Asociatividad ·
(A OR B) OR C = A OR B OR CNOT A OR (B OR C)→NOT A OR B OR CResultado:NOT A OR B OR C
Clasificación: contingente
De Morgan sobre el AND: NOT A OR NOT NOT (B OR C); doble negación: NOT A OR (B OR C); la asociatividad la aplana a NOT A OR B OR C. La página muestra los tres pasos.
9. Empuja la negación hacia dentro en NOT (NOT A AND NOT B). NOT (NOT A AND NOT B)
| # | A | B | f |
|---|---|---|---|
| 0 | FALSO | FALSO | FALSO |
| 1 | FALSO | VERDADERO | VERDADERO |
| 2 | VERDADERO | FALSO | VERDADERO |
| 3 | VERDADERO | VERDADERO | VERDADERO |
NOT (NOT A AND NOT B)- Ley de De Morgan ·
NOT A AND NOT B = NOT (A OR B)NOT A AND NOT B→NOT (A OR B)Resultado:NOT NOT (A OR B) - Doble negación ·
NOT NOT A = ANOT NOT (A OR B)→A OR BResultado:A OR B
Clasificación: contingente
De Morgan y doble negación: A OR B. Es la segunda ley leída al revés, y el motor muestra los dos pasos.
10. Empuja la negación hacia dentro en NOT ((A -> B) AND (B -> A)). NOT ((A -> B) AND (B -> A))
| # | A | B | f |
|---|---|---|---|
| 0 | FALSO | FALSO | FALSO |
| 1 | FALSO | VERDADERO | VERDADERO |
| 2 | VERDADERO | FALSO | VERDADERO |
| 3 | VERDADERO | VERDADERO | FALSO |
El motor no encontró ninguna ley que acorte esta expresión; ya es tan corta como sus leyes de reescritura permiten.
NOT ((A -> B) AND (B -> A)) Clasificación: contingente
De Morgan sobre el AND: NOT (A -> B) OR NOT (B -> A); cada implicación negada es su fila en la que falla: (A AND NOT B) OR (B AND NOT A). Eso es A XOR B, la negación del bicondicional.
Preguntas
¿Cuál es el desliz clásico aquí?
Distribuir el NOT sin invertir el operador, escribiendo NOT A AND NOT B para NOT (A AND B). Difieren en A = TRUE, B = FALSE: la primera es falsa ahí y la segunda es verdadera. Comprueba una fila así cada vez que empujes una negación hacia dentro.
Relacionado
Ejemplos resueltos
- De Morgan en la práctica: NOT (A AND B) reescrito y verificado
- De Morgan en el código: !(a && b) refactorizado a !a || !b, verificado
Glosario
Véase también
- Lección 6: Las leyes de De Morgan
- Leyes de De Morgan: (A·B)' = A' + B', con demostración y ejemplos
- NOT (A AND B) no es NOT A AND NOT B: el error de De Morgan
- «Ni A ni B» es NOT A AND NOT B
- El error de De Morgan: NOT (A AND B) frente a NOT A AND NOT B
Ejercicios
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.