Saltar al contenido

Traducir reglas en lenguaje natural a lógica

Diez frases que hay que traducir a una fórmula cada una: reglas con «a menos que», «solo si», «ni… ni», «si y solo si», «no ambos», elecciones exclusivas, y condiciones necesarias y suficientes. Elige la conectiva, nombra las entradas y compara con la fórmula y la tabla de verdad bajo cada problema.

Cuatro conectivas causan la mayoría de los deslices. «A menos que» en una regla significa «y no»: los socios pueden entrar a menos que estén vetados es member AND NOT banned, no una implicación. «Solo si» apunta la flecha hacia la condición: puedes embarcar solo si tienes billete es board -> ticket, el billete es necesario, no suficiente. «Ni A ni B» es NOT A AND NOT B, que De Morgan también escribe como NOT (A OR B). «O bien… o bien» suele ser exclusivo al hablar, XOR, mientras que un «o» a secas en una regla es inclusivo.

Los nombres de las entradas forman parte de la respuesta: usa un nombre por proposición, en snake_case, y escribe la fórmula de modo que la tabla de verdad se lea como la frase. La expresión bajo cada problema es la traducción; su tabla es la comprobación, así que lee las filas que deberían incumplir la regla y asegúrate de que lo hacen. El simplificador puede reescribir una traducción en una forma equivalente más corta, como hace con la frase de «ni… ni»; las dos formas son la misma función.

1. Traduce: «Los socios pueden entrar a menos que estén vetados». Entradas member, banned.

member AND NOT banned

#memberbannedf
0FALSOFALSOFALSO
1FALSOVERDADEROFALSO
2VERDADEROFALSOVERDADERO
3VERDADEROVERDADEROFALSO

El motor no encontró ninguna ley que acorte esta expresión; ya es tan corta como sus leyes de reescritura permiten.

member AND NOT banned

Clasificación: contingente

member AND NOT banned. En una regla, «a menos que» quita la excepción al permiso: entrar exige ser socio y no estar vetado. La única fila verdadera es member = TRUE, banned = FALSE.

2. Traduce: «Puedes embarcar solo si tienes billete». Entradas board, ticket.

board -> ticket

#boardticketf
0FALSOFALSOVERDADERO
1FALSOVERDADEROVERDADERO
2VERDADEROFALSOFALSO
3VERDADEROVERDADEROVERDADERO

El motor no encontró ninguna ley que acorte esta expresión; ya es tan corta como sus leyes de reescritura permiten.

board -> ticket

Clasificación: contingente

board -> ticket: «solo si» convierte el billete en condición necesaria, así que embarcar sin billete (board = TRUE, ticket = FALSE) es la única fila que la regla prohíbe. Tener billete por sí solo no obliga a embarcar.

3. Traduce: «No se prevé ni lluvia ni nieve». Entradas rain, snow.

NOT rain AND NOT snow

#rainsnowf
0FALSOFALSOVERDADERO
1FALSOVERDADEROFALSO
2VERDADEROFALSOFALSO
3VERDADEROVERDADEROFALSO
NOT rain AND NOT snow
  1. Ley de De Morgan · NOT A AND NOT B = NOT (A OR B)
    NOT rain AND NOT snow → NOT (rain OR snow)Resultado: NOT (rain OR snow)
NOT (rain OR snow) · equivalencia verificada en todas las filas · simplificado, no mínimo

Clasificación: contingente

NOT rain AND NOT snow: se descartan las dos, verdadera solo en rain = FALSE, snow = FALSE. El simplificador la reescribe por De Morgan como NOT (rain OR snow), la misma función con menos símbolos.

4. Traduce: «El envío es gratis para pedidos de más de 50 o para socios Prime, pero nunca para artículos voluminosos». Entradas over_50, prime, oversized.

(over_50 OR prime) AND NOT oversized

#over_50primeoversizedf
0FALSOFALSOFALSOFALSO
1FALSOFALSOVERDADEROFALSO
2FALSOVERDADEROFALSOVERDADERO
3FALSOVERDADEROVERDADEROFALSO
4VERDADEROFALSOFALSOVERDADERO
5VERDADEROFALSOVERDADEROFALSO
6VERDADEROVERDADEROFALSOVERDADERO
7VERDADEROVERDADEROVERDADEROFALSO

El motor no encontró ninguna ley que acorte esta expresión; ya es tan corta como sus leyes de reescritura permiten.

(over_50 OR prime) AND NOT oversized

Clasificación: contingente

(over_50 OR prime) AND NOT oversized: un OR inclusivo para las dos maneras de cumplir, y «pero nunca» como un AND NOT que anula ambas. La tabla es verdadera en tres filas, todas con oversized = FALSE.

5. Traduce: «La alarma suena si el sistema está armado y se abre una puerta o una ventana». Entradas armed, door, window.

armed AND (door OR window)

#armeddoorwindowf
0FALSOFALSOFALSOFALSO
1FALSOFALSOVERDADEROFALSO
2FALSOVERDADEROFALSOFALSO
3FALSOVERDADEROVERDADEROFALSO
4VERDADEROFALSOFALSOFALSO
5VERDADEROFALSOVERDADEROVERDADERO
6VERDADEROVERDADEROFALSOVERDADERO
7VERDADEROVERDADEROVERDADEROVERDADERO

El motor no encontró ninguna ley que acorte esta expresión; ya es tan corta como sus leyes de reescritura permiten.

armed AND (door OR window)

Clasificación: contingente

armed AND (door OR window). Los paréntesis importan: sin ellos, armed AND door OR window haría sonar la alarma por una ventana incluso desarmado, porque AND liga más fuerte que OR.

6. Traduce: «Exactamente uno de los dos interruptores está encendido». Entradas switch_a, switch_b.

switch_a XOR switch_b

#switch_aswitch_bf
0FALSOFALSOFALSO
1FALSOVERDADEROVERDADERO
2VERDADEROFALSOVERDADERO
3VERDADEROVERDADEROFALSO

El motor no encontró ninguna ley que acorte esta expresión; ya es tan corta como sus leyes de reescritura permiten.

switch_a XOR switch_b

Clasificación: contingente

switch_a XOR switch_b: verdadera cuando los interruptores difieren y falsa cuando los dos están encendidos o los dos apagados. Un OR inclusivo aceptaría incorrectamente los dos encendidos.

7. Traduce: «Se concede acceso si y solo si el usuario es administrador o tiene invitación». Entradas access, admin, invited.

access <-> (admin OR invited)

#accessadmininvitedf
0FALSOFALSOFALSOVERDADERO
1FALSOFALSOVERDADEROFALSO
2FALSOVERDADEROFALSOFALSO
3FALSOVERDADEROVERDADEROFALSO
4VERDADEROFALSOFALSOFALSO
5VERDADEROFALSOVERDADEROVERDADERO
6VERDADEROVERDADEROFALSOVERDADERO
7VERDADEROVERDADEROVERDADEROVERDADERO

El motor no encontró ninguna ley que acorte esta expresión; ya es tan corta como sus leyes de reescritura permiten.

access <-> admin OR invited

Clasificación: contingente

access <-> (admin OR invited): «si y solo si» es el bicondicional, así que el acceso se concede exactamente en esos casos y se deniega en todos los demás. Con un simple «si» la fórmula sería (admin OR invited) -> access, que no dice nada sobre las otras filas.

8. Traduce: «La bomba y la válvula nunca están encendidas a la vez». Entradas pump, valve.

NOT (pump AND valve)

#pumpvalvef
0FALSOFALSOVERDADERO
1FALSOVERDADEROVERDADERO
2VERDADEROFALSOVERDADERO
3VERDADEROVERDADEROFALSO

El motor no encontró ninguna ley que acorte esta expresión; ya es tan corta como sus leyes de reescritura permiten.

NOT (pump AND valve)

Clasificación: contingente

NOT (pump AND valve), un NAND: falsa solo en pump = TRUE, valve = TRUE. No es NOT pump AND NOT valve, que prohibiría cada una por separado.

9. Traduce: «Un artículo defectuoso es condición suficiente para un reembolso». Entradas defective, refund.

defective -> refund

#defectiverefundf
0FALSOFALSOVERDADERO
1FALSOVERDADEROVERDADERO
2VERDADEROFALSOFALSO
3VERDADEROVERDADEROVERDADERO

El motor no encontró ninguna ley que acorte esta expresión; ya es tan corta como sus leyes de reescritura permiten.

defective -> refund

Clasificación: contingente

defective -> refund: suficiente significa que la condición garantiza el resultado, así que la flecha parte de la condición. Un reembolso por otros motivos (defective = FALSE, refund = TRUE) no incumple la regla.

10. Traduce: «Aprobar el examen es condición necesaria para graduarse». Entradas graduate, pass_exam.

graduate -> pass_exam

#graduatepass_examf
0FALSOFALSOVERDADERO
1FALSOVERDADEROVERDADERO
2VERDADEROFALSOFALSO
3VERDADEROVERDADEROVERDADERO

El motor no encontró ninguna ley que acorte esta expresión; ya es tan corta como sus leyes de reescritura permiten.

graduate -> pass_exam

Clasificación: contingente

graduate -> pass_exam: necesario significa que el resultado no puede darse sin la condición, así que la flecha apunta a la condición. Aprobar sin graduarse está permitido; graduarse sin aprobar (graduate = TRUE, pass_exam = FALSE) es la única fila prohibida.

Preguntas

¿«A es suficiente para B» es lo mismo que «A es necesario para B»?

No: suficiente es A -> B y necesario es B -> A. Un artículo defectuoso es suficiente para un reembolso, defective -> refund; aprobar el examen es necesario para graduarse, graduate -> pass_exam. Intercambiarlos es el desliz del recíproco, y las dos fórmulas difieren en una fila.

Relacionado

Errores comunes

Véase también

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.