Saltar al contenido

«A menos que» en una regla: AND NOT, no OR

«Los socios pueden entrar a menos que estén vetados» es member AND NOT banned. Escrita con OR, member OR NOT banned, la regla admite a dos grupos que no debería, y la tabla muestra las dos filas.

La tabla compara la fórmula correcta con el desliz. Difieren en dos filas. En member = FALSO, banned = FALSO la versión con OR es VERDADERA: un desconocido que casualmente no está vetado entra. En member = VERDADERO, banned = VERDADERO vuelve a ser VERDADERA: un socio vetado entra. La comprobación de equivalencia informa de la primera como contraejemplo. La versión con AND es VERDADERA en exactamente una fila, member = VERDADERO, banned = FALSO, que es lo que la frase quería decir.

«A menos que» introduce una excepción a un permiso, y una excepción es una conjunción con una negación: el permiso se cumple y la excepción no. Formalmente, «A a menos que B» como afirmación es NOT B -> A; como regla de admisión es A AND NOT B para los casos que pasan. En los dos casos la excepción se niega y se une con AND, nunca con OR.

El desliz del OR suele venir de leer «a menos que» como «o no», que suena parecido. La lección sobre condiciones necesarias y suficientes tiene un paso sobre «a menos que», y la página del patrón de control de acceso trata la excepción del usuario vetado como el ejemplo estándar de una regla que necesita la negación dentro del AND.

right := member AND NOT banned · salidawrong := member OR NOT banned · salida
¿Son equivalentes right y wrong? No Contraejemplo: member = F, banned = F · Exhaustively checked and solver cross-checked · 1 filas

Tabla de verdad

Difieren en esta fila: #0, #3

«A menos que» en una regla: AND NOT, no OR
#memberbannedrightwrong
0FALSOFALSOFALSOVERDADERO
1FALSOVERDADEROFALSOFALSO
2VERDADEROFALSOVERDADEROVERDADERO
3VERDADEROVERDADEROFALSOVERDADERO

Lectura en lenguaje claro

Principianteright es verdadero exactamente cuando member es verdadero y banned es falso.
En todos los demás casos, right es falso.
Sobre los operadores:
- AND (Y) solo es verdadero cuando todas sus partes son verdaderas.
- NOT (NO) invierte un valor: lo verdadero pasa a ser falso y lo falso, verdadero.
Intermedioright es verdadero exactamente cuando member es verdadero y banned es falso.
En todos los demás casos, right es falso.
Avanzadoright es verdadero exactamente cuando member es verdadero y banned es falso [conjunción ∧].
En todos los demás casos, right es falso.
Notación formal: member ∧ ¬banned
“Unless” in a rule: AND NOT, not OR “Unless” in a rule: AND NOT, not OR member banned rightPRIMARY wrong AND NOT OR NOT
“Unless” in a rule: AND NOT, not OR “Unless” in a rule: AND NOT, not OR member banned rightPRIMARY wrong AND NOT OR NOT

El error habitual

Escribir una excepción con OR porque la frase contiene la palabra «no». «A a menos que B» es A AND NOT B para los casos admitidos; A OR NOT B admite a todos los que no son B, incluidos los que no son A.

Preguntas

¿«A a menos que B» es lo mismo que «si no B entonces A»?

Como enunciado, sí: NOT B -> A, que es B OR A. Como regla de admisión, los casos que pasan son A AND NOT B. La distinción es si la frase enuncia una condición o define a quién se deja entrar.

¿Qué prueba atrapa la versión con OR?

Una persona no socia que no está vetada (member = FALSO, banned = FALSO). La regla con OR la admite; la frase no. Es el contraejemplo que el motor reproduce.

Relacionado

Ejemplos resueltos

Herramientas

Ejercicios

Véase también

Errores comunes

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.