Saltar al contenido

Reglas de elegibilidad: el patrón, las excepciones habituales y las pruebas

Las reglas de elegibilidad comparten una forma: un grupo que cumple, un motivo de exclusión y un segundo requisito. La regla de descuento (student OR senior) AND NOT expired AND (member OR coupon) es el patrón con cinco condiciones, treinta y dos filas y un conjunto previsible de deslices.

Lee la regla como tres cláusulas unidas por AND: quién cumple (student OR senior), qué excluye (NOT expired), y qué más hace falta (member OR coupon). Cada cláusula es un OR de alternativas o una excepción negada, y por eso el patrón sobrevive a los nuevos requisitos: una nueva forma de cumplir se une al primer OR, una nueva exclusión se une al AND como otro NOT, un nuevo requisito se une como otro OR entre paréntesis. Las comprobaciones exactas de la página muestran que la regla es contingente, con el testigo senior = VERDADERO, expired = FALSO, coupon = VERDADERO, el resto FALSO, como un caso elegible.

Los deslices habituales son los que cubren las páginas de errores comunes: una excepción escrita con OR en lugar de AND NOT (cualquier desconocido sin caducar cumple), una alternativa escrita con AND en lugar de OR (solo cumplen los estudiantes mayores), un paréntesis omitido de modo que el motivo de exclusión liga a una sola alternativa (los estudiantes con carné caducado cumplen a través de la cláusula de estudiante, a la que el motivo de exclusión ya no llega). Cada uno es un error de un operador, y cada uno cambia varias filas de treinta y dos.

Las pruebas que los atrapan son los pares de independencia: un par por condición, unos seis escenarios, cada uno mostrando que la condición por sí sola cambia el resultado. La regla de aquí tiene cinco condiciones y seis bastarían; la tabla completa es para el motor, los pares son para el conjunto de pruebas, y la página de tablas de decisión muestra cómo la vista del dueño de la regla se corresponde con las dos cosas.

Ejemplo

eligible := (student OR senior) AND NOT expired AND (member OR coupon) · salida

Comprobaciones exactas

¿Siempre verdadera (tautología)? No Contraejemplo: student = F, senior = F, expired = F, member = F, coupon = F · Exhaustively checked and solver cross-checked · 1 filas
¿Siempre falsa (contradicción)? No Contraejemplo: student = F, senior = V, expired = F, member = F, coupon = V · Exhaustively checked and solver cross-checked · 10 filas
¿Puede ser verdadera? Sí Asignación de ejemplo: student = F, senior = V, expired = F, member = F, coupon = V · Exhaustively checked and solver cross-checked · 10 filas

Tabla de verdad (32 filas)

Reglas de elegibilidad: el patrón, las excepciones habituales y las pruebas
#studentseniorexpiredmembercouponeligible
0FALSOFALSOFALSOFALSOFALSOFALSO
1FALSOFALSOFALSOFALSOVERDADEROFALSO
2FALSOFALSOFALSOVERDADEROFALSOFALSO
3FALSOFALSOFALSOVERDADEROVERDADEROFALSO
4FALSOFALSOVERDADEROFALSOFALSOFALSO
5FALSOFALSOVERDADEROFALSOVERDADEROFALSO
6FALSOFALSOVERDADEROVERDADEROFALSOFALSO
7FALSOFALSOVERDADEROVERDADEROVERDADEROFALSO
8FALSOVERDADEROFALSOFALSOFALSOFALSO
9FALSOVERDADEROFALSOFALSOVERDADEROVERDADERO
10FALSOVERDADEROFALSOVERDADEROFALSOVERDADERO
11FALSOVERDADEROFALSOVERDADEROVERDADEROVERDADERO
12FALSOVERDADEROVERDADEROFALSOFALSOFALSO
13FALSOVERDADEROVERDADEROFALSOVERDADEROFALSO
14FALSOVERDADEROVERDADEROVERDADEROFALSOFALSO
15FALSOVERDADEROVERDADEROVERDADEROVERDADEROFALSO
16VERDADEROFALSOFALSOFALSOFALSOFALSO
17VERDADEROFALSOFALSOFALSOVERDADEROVERDADERO
18VERDADEROFALSOFALSOVERDADEROFALSOVERDADERO
19VERDADEROFALSOFALSOVERDADEROVERDADEROVERDADERO
20VERDADEROFALSOVERDADEROFALSOFALSOFALSO
21VERDADEROFALSOVERDADEROFALSOVERDADEROFALSO
22VERDADEROFALSOVERDADEROVERDADEROFALSOFALSO
23VERDADEROFALSOVERDADEROVERDADEROVERDADEROFALSO
24VERDADEROVERDADEROFALSOFALSOFALSOFALSO
25VERDADEROVERDADEROFALSOFALSOVERDADEROVERDADERO
26VERDADEROVERDADEROFALSOVERDADEROFALSOVERDADERO
27VERDADEROVERDADEROFALSOVERDADEROVERDADEROVERDADERO
28VERDADEROVERDADEROVERDADEROFALSOFALSOFALSO
29VERDADEROVERDADEROVERDADEROFALSOVERDADEROFALSO
30VERDADEROVERDADEROVERDADEROVERDADEROFALSOFALSO
31VERDADEROVERDADEROVERDADEROVERDADEROVERDADEROFALSO

Lectura en lenguaje claro

Principianteeligible es verdadero exactamente cuando se cumplen todas las condiciones siguientes:
1. al menos uno entre student y senior es verdadero (pueden serlo ambos)
2. expired es falso
3. al menos uno entre member y coupon es verdadero (pueden serlo ambos)
En todos los demás casos, eligible es falso.
Sobre los operadores:
- AND (Y) solo es verdadero cuando todas sus partes son verdaderas.
- OR (O) es inclusivo: es verdadero en cuanto al menos una parte es verdadera, también cuando lo son varias.
- NOT (NO) invierte un valor: lo verdadero pasa a ser falso y lo falso, verdadero.
Intermedioeligible es verdadero exactamente cuando se cumplen todas las condiciones siguientes:
1. al menos uno entre student y senior es verdadero (pueden serlo ambos)
2. expired es falso
3. al menos uno entre member y coupon es verdadero (pueden serlo ambos)
En todos los demás casos, eligible es falso.
Avanzadoeligible es verdadero exactamente cuando se cumplen todas las condiciones siguientes [conjunción ∧]:
1. al menos uno entre student y senior es verdadero (pueden serlo ambos) [disyunción inclusiva ∨]
2. expired es falso [negación ¬]
3. al menos uno entre member y coupon es verdadero (pueden serlo ambos) [disyunción inclusiva ∨]
En todos los demás casos, eligible es falso.
Notación formal: (student ∨ senior) ∧ ¬expired ∧ (member ∨ coupon)

Diagrama lógico

Eligibility rules: the pattern, the usual exceptions and the tests Eligibility rules: the pattern, the usual exceptions and the tests student senior expired member coupon eligible AND OR NOT OR
Eligibility rules: the pattern, the usual exceptions and the tests Eligibility rules: the pattern, the usual exceptions and the tests student senior expired member coupon eligible AND OR NOT OR

El error habitual

Dejar que el motivo de exclusión ligue a una sola alternativa. student OR senior AND NOT expired se lee como student OR (senior AND NOT expired), así que un carné de estudiante caducado sigue cumpliendo. Pon el grupo entre paréntesis, y deja que la tabla confirme la fila.

Preguntas

¿Cómo añado un segundo motivo de exclusión?

Como otra cláusula AND NOT: … AND NOT expired AND NOT fraud_flag. De Morgan te permite escribir el par como AND NOT (expired OR fraud_flag), que el comprobador de equivalencia confirmará.

¿Y si dos cláusulas se solapan?

Los solapamientos no son problema en lógica (un estudiante que además es socio cumple dos veces) y solo importan cuando la regla debe ser exclusiva. La ley de absorción elimina las cláusulas realmente redundantes, y el simplificador las señala.

Relacionado

Véase también

Pruebas y reglas

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.