X > 1 y X > 2
es absurda porque alcanza con decir X > 2
En este otro caso
X == 3 y X == 4
es absurda porque es imposible que se cumpla, ergo ya se sabe que la respuesta será no, falsa, ergo no debería plantearse.
¿Cómo puedo hacer más o menos rápido una lista de las condiciones posibles, excluyendo las absurdas?
Téngase en cuenta que la lista ha de tener ciertas condiciones también, que explicaré.
Lista de las condiciones que implican 1 Candidato y 1 Fijo:
Candidato es un número que irá variando hasta que cumpla las condiciones.F < C
F <= C
F == C
F != C
C < F
C <= F
Fijo es un número que se establece al diseñar el programa, y que no varía.
Nota: Como norma para que me resulte más simple, en general al valor menor lo pondré del lado izquierdo.
Nota2: F > C y otros no los mencioné porque los considero igual que otros, en este caso C < F.
Lista de las condiciones que implican 2 Candidatos:
He quitado lo que sería C2 < C y C2 <= C, por motivos que no tiene mucho sentido que explique, no importa aquí.C < C2
C <= C2
C == C2
C != C2
Lista de las 2 condiciones AND que implican 1C y 1F:
Puede que me haya equivocado, pero ninguna parece servir. Podríamos concluir que para que haya 2 condiciones AND con sentido debe haber 3 elementos mínimo (C y 2F, o 2C y 1F, o 3C).F < C y F <= C: Absurda por redundante (alcanza con decir F < C).
F < C y F == C: Absurda por imposible.
F < C y F != C: Redundante (F < C).
F < C y C < F: Imposible.
F < C y C <= F: I.
F <= C y F == C: R (F == C).
F <= C y F != C: R, al menos en cierto modo (F<C).
F <= C y C < F: I.
F <= C y C <= F: R (F==C).
F == C y F != C: I.
F == C y C < F: I.
F == C y C <= F: R (F == C).
F != C y C < F: I. R (C < F).
F != C y C <= F: R (C < F).
C < F y C <=F: R (C < F).
Nota: Voy a cambiar el orden de aparición un poco:
F < C
C < F
F <= C
C <= F
F == C
F != C
...por aquello de "al valor menor lo pondré del lado izquierdo".
Lista de las 2 condiciones OR que implican 1C y 1F:
Tampoco aquí parece haber condiciones que tengan sentido.F < C o C < F: R (F != C)
F < C o F <= C: R (F <= C)
F < C o C <= F: R (la condición se cumple siempre).
F < C o F == C: R (F <= C).
F < C o F != C: R (F != C).
C < F o F <= C: R (la condición se cumple siempre).
C < F o C <= F: R (C<=R).
C < F o F == C: R (C <= F).
C < F o F != C: R (F != C).
F <= C o C <= F: R (la condición se cumple siempre).
F <= C o F == C: R (F <= C).
F <= C o F != C: R (la condición se cumple siempre).
C <= F o F == C: R (C <= F).
C <= F o F != C: R (la condición se cumple siempre).
F == C o F != C: R (la condición se cumple siempre).
Lista de las 2 condiciones AND que implican 1C y 2F:
Lista de las 2 condiciones OR que implican 1C y 2F:
En fin, podemos seguir, pero no se trata de hacer todas las listas, me remito a la pregunta en negrita, arriba.