Para demostrar «si P, entonces Q» podemos demostrar una afirmación lógicamente equivalente: «si no Q, entonces no P». Esta técnica es especialmente útil cuando negar la conclusión revela una estructura más fácil de analizar.
La demostración por contraposición sirve para probar una implicación P → Q sin recorrerla directamente. En lugar de partir de P, demostramos ¬Q → ¬P. Ambas proposiciones siempre tienen el mismo valor de verdad, por lo que una prueba de la segunda es una prueba válida de la primera.
El método no demuestra una afirmación distinta ni más débil. Demuestra exactamente la proposición original mediante una formulación equivalente. La dificultad habitual consiste en escribir correctamente las negaciones.
Por ejemplo: «si un número es múltiplo de 4, entonces es par». Su contraposición es «si un número no es par, entonces no es múltiplo de 4». Las dos afirmaciones son verdaderas y expresan la misma relación lógica.
Una implicación P → Q solo es falsa cuando P es verdadera y Q es falsa. La contraposición ¬Q → ¬P falla exactamente en la misma situación.
| P | Q | P → Q | ¬Q | ¬P | ¬Q → ¬P |
|---|---|---|---|---|---|
| V | V | V | F | F | V |
| V | F | F | V | F | F |
| F | V | V | F | V | V |
| F | F | V | V | V | V |
Como las columnas de P → Q y ¬Q → ¬P coinciden, podemos reemplazar una por la otra durante una demostración.
| Nombre | Forma | Relación con P → Q |
|---|---|---|
| Original | P → Q | Es la afirmación a demostrar. |
| Contraposición | ¬Q → ¬P | Siempre equivalente. |
| Recíproca | Q → P | No es equivalente en general. |
| Inversa | ¬P → ¬Q | Es equivalente a la recíproca, no a la original. |
Conviene cuando la hipótesis de la afirmación original ofrece poca información útil, pero la negación de la conclusión puede describirse con claridad. Es muy frecuente en resultados sobre paridad, divisibilidad, desigualdades y pertenencia a conjuntos.
Demostraremos la contraposición: si n es impar, entonces n² es impar.
El siguiente código revisa algunos casos. La demostración anterior es la que establece la propiedad para todos los enteros.
function esPar(n) {
return n % 2 === 0;
}
function comprobarParidadDelCuadrado(n) {
return { n, cuadrado: n * n, esPar: esPar(n * n) };
}
console.log(comprobarParidadDelCuadrado(7)); // { n: 7, cuadrado: 49, esPar: false }
console.log(comprobarParidadDelCuadrado(8)); // { n: 8, cuadrado: 64, esPar: true }Queremos demostrar: si a + b es impar, entonces uno de los dos es par y el otro impar. La contraposición dice: si a y b tienen la misma paridad, entonces a + b es par.
Hay dos casos para la contraposición. Si ambos son pares, su suma es par. Si ambos son impares, escribimos a = 2r + 1 y b = 2s + 1; entonces a + b = 2(r + s + 1), que es par.
Demostraremos: si n no es divisible por 3, entonces n² no es divisible por 3. En este caso, es más natural analizar los restos posibles de n al dividir por 3.
Si n no es divisible por 3, su resto es 1 o 2. Si n = 3k + 1, entonces n² deja resto 1. Si n = 3k + 2, entonces n² = 9k² + 12k + 4 = 3(3k² + 4k + 1) + 1, que también deja resto 1. Por lo tanto, n² no es divisible por 3.
La contraposición resulta útil cuando una desigualdad puede negarse con facilidad. Por ejemplo, para demostrar «si x² < 1, entonces -1 < x < 1», podemos demostrar: si x ≤ -1 o x ≥ 1, entonces x² ≥ 1.
Para escribir una contraposición correcta debemos negar bien Q y P. Las leyes de De Morgan son esenciales para condiciones compuestas.
| Proposición | Negación correcta |
|---|---|
| ¬(P y Q) | ¬P o ¬Q |
| ¬(P o Q) | ¬P y ¬Q |
| x > 5 | x ≤ 5 |
| x pertenece a A | x no pertenece a A |
Negar «el usuario está activo y tiene permiso» no produce «el usuario no está activo y no tiene permiso». La negación correcta es «el usuario no está activo o no tiene permiso».
Los cuantificadores también cambian al negar una afirmación. Negar «para todo» produce «existe al menos uno que no», y negar «existe» produce «para todo no».
Estas transformaciones aparecen al probar propiedades de conjuntos, algoritmos y consultas a bases de datos.
En código es habitual expresar una regla en su forma contrapositiva. Consideremos: «si una contraseña cumple todos los requisitos, entonces es aceptada». La contraposición útil es: «si no es aceptada, entonces falla al menos un requisito».
function cumpleRequisitos(clave) {
const tieneLongitud = clave.length >= 8;
const tieneDigito = /\d/.test(clave);
return tieneLongitud && tieneDigito;
}
const clave = "sol2026";
console.log(cumpleRequisitos(clave)); // false
console.log(`Longitud válida: ${clave.length >= 8}`); // falseLa salida muestra una razón concreta del rechazo. En una validación real puede haber varias condiciones, y las negaciones de conjunciones ayudan a describir los fallos posibles.
La contraposición permite razonar sobre resultados inválidos. Si una función debe devolver un índice válido, una condición útil es: «si el resultado no está entre 0 y n - 1, entonces no puede representar una posición de un arreglo de longitud n».
También es frecuente en pruebas de seguridad: si una firma digital no verifica, entonces el mensaje o la firma no satisfacen el procedimiento de validación. La contraposición ayuda a expresar condiciones necesarias y a diseñar comprobaciones defensivas.
Es importante escribir al final por qué la nueva afirmación demuestra la original. Esa frase deja explícita la equivalencia lógica utilizada.
Podemos usar contraposición para cualquier implicación, pero no siempre simplifica la prueba. Si la hipótesis original ya tiene una forma muy útil, una demostración directa suele ser más breve y más fácil de leer.
| Afirmación | Método recomendable | Razón |
|---|---|---|
| La suma de pares es par. | Directa | Las hipótesis dan factores de 2. |
| Si n² es par, n es par. | Contraposición | La forma impar es fácil de cuadrar. |
| No existe un entero máximo. | Contradicción | Suponer un máximo produce uno mayor. |
| Una fórmula vale para todo n natural. | Inducción | La estructura depende de n. |
La demostración por contraposición muestra que una conclusión puede probarse estudiando qué ocurriría si no se cumpliera. Al usar una proposición equivalente, convierte problemas difíciles de abordar directamente en pruebas más claras.
En el próximo tema estudiaremos la demostración por contradicción, que parte de una suposición y muestra que conduce a una imposibilidad.