1.4: Pruebas
- Page ID
- 99057
\( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)
\( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)
( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)
\( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)
\( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)
\( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)
\( \newcommand{\Span}{\mathrm{span}}\)
\( \newcommand{\id}{\mathrm{id}}\)
\( \newcommand{\Span}{\mathrm{span}}\)
\( \newcommand{\kernel}{\mathrm{null}\,}\)
\( \newcommand{\range}{\mathrm{range}\,}\)
\( \newcommand{\RealPart}{\mathrm{Re}}\)
\( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)
\( \newcommand{\Argument}{\mathrm{Arg}}\)
\( \newcommand{\norm}[1]{\| #1 \|}\)
\( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)
\( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)
\( \newcommand{\vectorA}[1]{\vec{#1}} % arrow\)
\( \newcommand{\vectorAt}[1]{\vec{\text{#1}}} % arrow\)
\( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vectorC}[1]{\textbf{#1}} \)
\( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)
\( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)
\( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)
\( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)
\(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)4. Pruebas
4.1 Un problema con las demostraciones semánticas de validez
Dado que podemos probar un argumento de validez, podría parecer que tenemos un sistema completamente desarrollado para estudiar argumentos. Sin embargo, existe una dificultad práctica significativa con nuestro método semántico de verificar argumentos usando tablas de verdad (es posible que ya hayas notado cuál es esta dificultad práctica, cuando hiciste los problemas 1e y 2e del capítulo 3). Considere el siguiente argumento:
Alison irá a la fiesta.
Si Alison va a ir a la fiesta, entonces Beatrice lo hará.
Si Beatrice va a ir a la fiesta, entonces Cathy lo hará.
Si Cathy va a ir a la fiesta, entonces Diane lo hará.
Si Diane va a ir a la fiesta, entonces Elizabeth lo hará.
Si Elizabeth va a ir a la fiesta, entonces Fran lo hará.
Si Fran va a ir a la fiesta, entonces Giada lo hará.
Si Giada va a ir a la fiesta, entonces Hilary lo hará.
Si Hillary va a ir a la fiesta, entonces Io hará.
Si Io va a ir a la fiesta, entonces Julie lo hará.
_____
Julie irá a la fiesta.
La mayoría de nosotros estaremos de acuerdo en que este argumento es válido. Tiene una forma bastante simple, en la que una oración está relacionada con la oración anterior, para que podamos ver que la conclusión se desprende de las premisas. Sin molestarse en hacer una clave de traducción, podemos ver que el argumento tiene la siguiente forma.
P
(P →Q)
(Q→R)
(R→S)
(S→T)
(T→U)
(U→V)
(V→W)
(W→X)
(X→Y)
_____
Y
No obstante, si vamos a comprobar este argumento, ¡entonces la tabla de verdad requerirá 1024 filas! Esto se desprende directamente de nuestra observación de que para argumentos o oraciones compuestas de n oraciones atómicas, la tabla de verdad requerirá 2 n filas. Este argumento contiene 10 oraciones atómicas. Una tabla de verdad que verifique su validez debe tener 2 10 filas, y 2 10 =1024. Además, sería trivial extender el argumento por otro, digamos, diez pasos, ¡pero entonces la tabla de verdad que hagamos requeriría más de un millón de filas!
Por esta razón, y para varias otras (que se hacen evidentes posteriormente, cuando consideramos la lógica más avanzada), resulta muy valioso desarrollar un método de prueba sintáctica. Es decir, una manera de verificar pruebas no usando una tabla de verdad, sino usando reglas de sintaxis.
Aquí está la idea que vamos a perseguir. Un argumento válido es un argumento tal que, necesariamente, si las premisas son verdaderas, entonces la conclusión es verdadera. Empezaremos solo con nuestras instalaciones. Dejaremos a un lado la conclusión, sólo para recordarla como meta. Entonces, trataremos de encontrar una manera confiable de introducir otra frase en el argumento, con la propiedad especial que, si las premisas son verdaderas, entonces esta única frase adicional al argumento también debe ser cierta. Si pudiéramos encontrar un método para hacerlo, y si después de repetidas aplicaciones de este método pudiéramos anotar nuestra conclusión, entonces sabríamos que, necesariamente, si nuestras premisas son verdaderas entonces la conclusión es cierta.
La idea es más clara cuando la demostramos. El método para introducir nuevas oraciones se denominará “reglas de inferencia”. Introducimos nuestras primeras reglas de inferencia para el condicional. Recuerda la tabla de la verdad para el condicional:
Φ | ψ | (Φ→ψ) |
---|---|---|
T | T | T |
T | F | F |
F | T | T |
F | F | T |
Mira esto por un momento. Si tenemos un condicional like (P→Q) (mirando la tabla de verdad anterior, recuerda que esto significaría que dejáramos que Φ sea P y ψ sea Q), ¿sabemos si alguna otra frase es cierta? De (P →Q) solos no lo hacemos. Incluso si (P→Q) es verdadero, P podría ser falso o Q podría ser falso. Pero, ¿y si tenemos alguna información adicional? Supongamos que tenemos como premisas tanto (P →Q) como P. Entonces, sabríamos que si esas premisas fueran ciertas, Q debe ser cierta. Ya lo hemos comprobado con una tabla de verdad.
premisa | premisa | |||
P | Q | (P→Q) | P | Q |
T | T | T | T | T |
T | F | F | T | F |
F | T | T | F | T |
F | F | T | F | F |
La primera fila de la tabla de la verdad es la única fila donde todas las premisas son verdaderas; y para ello, encontramos que Q es verdad. Esto, por supuesto, generaliza a cualquier condicional. Es decir, tenemos eso:
premisa | premisa | |||
Φ | ψ | (Φ→ψ) | Φ | ψ |
T | T | T | T | T |
T | F | F | T | F |
F | T | T | F | T |
F | F | T | F | F |
Ahora capturamos esta visión no usando una tabla de verdad, sino introduciendo una regla. La regla la escribiremos así:
(Φ → ψ)
Φ
_____
Ψ
Esta es una regla sintáctica. Es decir que cada vez que hemos escrito una fórmula en nuestro idioma que tiene la forma de la primera fila (es decir, siempre que tengamos un condicional), y siempre que también hayamos escrito una fórmula que tenga la forma en la segunda fila (es decir, siempre que también hayamos escrito el antecedente de la condicional), luego sigue adelante, cuando quieras, y escribe una fórmula así en la tercera fila (la consecuente del condicional). La regla habla de la forma de las fórmulas, no de su significado. Pero claro que justificamos la regla al mirar los significados.
Describimos esto diciendo que la tercera línea es “derivada” de las dos líneas anteriores usando la regla de inferencia.
Esta regla de inferencia es vieja. Estamos, pues, atascados con su bien establecido, pero no muy esclarecedor, nombre: “modus ponens”. Así, decimos, para el ejemplo anterior, que la tercera línea se deriva de las dos líneas anteriores utilizando modus ponens.
4.2 Prueba directa
Necesitamos un concepto más: el de una prueba. Específicamente, comenzaremos con el tipo de prueba más fundamental, que se denomina “prueba directa”. La idea de una prueba directa es: escribimos como líneas numeradas las premisas de nuestro argumento. Entonces, después de esto, podemos anotar cualquier línea que se justifique por una aplicación de una regla de inferencia a líneas anteriores en la prueba. Cuando escribimos nuestra conclusión, terminamos.
Hagamos una prueba del simple argumento anterior, que tiene premisas (P→Q) y P, y conclusión Q. Empezamos por anotar las premisas y numerarlas. Hay un poco útil de notación que podemos introducir en este punto. Se le conoce como un “bar Fitch”, que lleva el nombre de un lógico Frederic Fitch, quien desarrolló esta técnica. Escribiremos una barra vertical a la izquierda, con una línea horizontal que indica que los locales están por encima de la línea.
\ [\ fitchprf {\ pline [1.] {(P\ lif Q)}\\\ pline [2.] {P}} {}\]” class="ql-img-ecuación visualizada quicklatex-auto-format” height="77" title="Rendizado por Quicklatex.com” width="94" src=” https://human.libretexts.org/@api/de...fb11864_l3.png "/>
También es útil identificar de dónde provienen estos pasos. Eso lo podemos hacer con una pequeña explicación escrita a la derecha.
\ [\ fitchprf {\ pline [1.] {(P\ lif Q)} [premisa]\\\ pline [2.] {P} [premisa]} {}\]” class="ql-img-ecuación visualizada quicklatex-auto-format” height="77" title="Rendido por Quicklatex.com” width="422" src=” https://human.libretexts.org/@api/de...0581a3d_l3.png "/>
Ahora, se nos permite anotar cualquier línea que siga de una línea anterior usando una regla de inferencia.
\ [\ fitchprf {\ pline [1.] {(P\ lif Q)} [premisa]\\\ pline [2.] {P} [premisa]} {\ pline [3.] {Q}}\]” class="ql-img-ecuación visualizada quicklatex-auto-format” height="77" title="Rendizado por Quicklatex.com” width="422" src=” https://human.libretexts.org/@api/de...a819263_l3.png "/>
Y, por último, queremos que un lector entienda qué regla usamos, así que la agregamos a nuestra explicación, identificando la regla y las líneas utilizadas.
\ [\ fitchprf {\ pline [1.] {(P\ lif Q)} [premisa]\\\ pline [2.] {P} [premisa]} {\ pline [3.] {Q} [modus ponens, 1, 2]}\]” class="ql-img-ecuación visualizada quicklatex-auto-format” height="77" title="Rendido por Quicklatex.com” width="511" src=” https://human.libretexts.org/@api/de...5cd7ddd_l3.png "/>
Esa es una prueba directa completa.
Observe algunas cosas. La numeración de cada línea, y las explicaciones a la derecha, son teneduría de libros; no forman parte de nuestro argumento, sino que se utilizan para explicar nuestro argumento. No obstante, siempre hazlos porque, es difícil entender una prueba sin ellos. También, tenga en cuenta que nuestra idea es que la regla de inferencia se pueda aplicar a cualquier línea anterior, incluidas las propias líneas derivadas usando reglas de inferencia. No se trata sólo de premisas a las que podemos aplicar una regla de inferencia. Por último, señalar que hemos establecido que este argumento debe ser válido. Desde las premisas, y una regla de inferencia que preserva la validez, hemos llegado a la conclusión. Necesariamente, la conclusión es cierta, si las premisas son verdaderas.
El largo argumento con el que iniciamos el capítulo ahora se puede dar una prueba directa.
\ [\ fitchprf {\ pline [1.] {P} [premisa]\\\ pline [2.] {(P\ lif Q)} [premisa]\\\ pline [3.] {(Q\ lif R)} [premisa]\\\ pline [4.] {(R\ lif S)} [premisa]\\\ pline [5.] {(S\ lif T)} [premisa]\\\ pline [6.] {(T\ lif U)} [premisa]\\\ pline [7.] {(V\ lif W)} [premisa]\\\ pline [8.] {(W\ lif X)} [premisa]\\\ pline [9.] {(X\ lif Y)} [premisa]\\\ pline [10.] {(Y\ lif X)} [premisa]\\} {\ pline [11.] {Q} [modus ponens, 2, 1]\\\ pline [12.] {R} [modus ponens, 3, 11]\\\ pline [13.] {S} [modus ponens, 4, 12]\\\ pline [14.] {T} [modus ponens, 5, 13]\\\ pline [15.] {U} [modus ponens, 6, 14]\\\ pline [16.] {V} [modus ponens, 7, 15]\\\ pline [17.] {W} [modus ponens, 8, 16]\\\ pline [18.] {X} [modus ponens, 9, 17]\\\ pline [19.] {Y} [modus ponens, 10, 18]}\]” class="ql-img-ecuación visualizada quicklatex-auto-format” height="451" title="Rendido por Quicklatex.com” width="530" src=” https://human.libretexts.org/@api/de...66a7395_l3.png "/>
De repetidas aplicaciones de modus ponens, llegamos a la conclusión. Si las líneas 1 a 10 son verdaderas, la línea 19 debe ser verdadera. El argumento es válido. Y, lo completamos con 19 pasos, a diferencia de escribir 1024 filas de una tabla de verdad.
Podemos ver ahora una de las características muy importantes de entender la diferencia entre sintaxis y semántica. Nuestro objetivo es hacer que la sintaxis de nuestro lenguaje sea un reflejo perfecto de su semántica. Al manipular símbolos, logramos decir algo sobre el mundo. Este es un hecho extraño, uno que subyace en una de las posibilidades más profundas del lenguaje, y también, en última instancia, de las computadoras.
4.3 Otras reglas de inferencia
Ahora podemos introducir otras reglas de inferencia. Mirando la tabla de la verdad para el condicional otra vez, ¿qué más observamos? Muchos han señalado que si el consecuente de un condicional es falso, y el condicional es verdadero, entonces el antecedente del condicional debe ser falso. Escrita como una comprobación semántica de argumentos, ésta será:
premisa | premisa | |||
Φ | ψ | (Φ→ψ) | ¬ψ | ¬Φ |
T | T | T | F | F |
T | F | F | T | F |
F | T | T | F | T |
F | F | T | T | T |
(Recuerda cómo hemos llenado la tabla de la verdad. Nos referimos a esas tablas de verdad utilizadas para definir “→” y “¬”, y luego para cada fila de esta tabla anterior, rellenamos los valores en cada columna en base a esa definición.)
Lo que observamos de esta tabla de verdad es que cuando tanto (Φ→ψ) como ¬ψ son verdaderas, entonces ¬Φ es verdad. A saber, esto se puede ver en la última fila de la tabla de la verdad.
Esta regla, como la última, es antigua, y tiene un nombre bien establecido: “modus tollens”. Lo representamos esquemáticamente con
(Φ→ψ)
¬ψ
_____
¬Φ
¿Qué pasa con la negación? Si sabemos que una sentencia es falsa, entonces este hecho por sí solo no nos habla de ninguna otra frase. Pero, ¿y si consideramos una sentencia de negación negada? Tal frase tiene la siguiente tabla de verdad.
Φ | ¬¬Φ |
---|---|
T | T |
F | F |
Podemos introducir una regla que aproveche esta observación. De hecho, es tradicional introducir dos reglas, y agruparlas bajo un nombre común. El nombre de las reglas es “doble negación”. Básicamente, la regla dice que podemos sumar o quitar dos negaciones en cualquier momento. Aquí están los dos esquemas para las dos reglas:
Φ
_____
¬¬ Φ
y
¬¬ Φ
_____
Φ
Por último, a veces es útil poder repetir una línea. Técnicamente, esta es una regla innecesaria, pero si una prueba se alarga, a menudo nos resulta más fácil entenderla si escribimos una línea otra vez más tarde cuando encontramos que la necesitamos de nuevo. Entonces introducimos la regla “repetir”.
Φ
_____
Φ
4.4 Un ejemplo
Aquí hay un ejemplo que hará uso de las tres reglas. Considere el siguiente argumento:
(Q→P)
(¬Q→R)
¬R
_____
P
Queremos revisar este argumento para ver si es válido.
Para hacer una prueba directa, numeramos las premisas para que podamos referirlas al usar reglas de inferencia.
\ [\ fitchprf {\ pline [1.] {(Q\ lif P)} [premisa]\\\ pline [2.] {(\ lnot Q\ lif R)} [premisa]\\\ pline [3.] {\ lnot R} [premisa]\\} {}\]” class="ql-img-ecuación visualizada quicklatex-auto-format” height="121" title="Rendido por Quicklatex.com” width="422" src=” https://human.libretexts.org/@api/de...afa4d89_l3.png "/>
Y, ahora, aplicamos nuestras reglas de inferencia. A veces, puede ser difícil ver cómo completar una prueba. En el peor de los casos, donde no estés seguro de cómo proceder, puedes aplicar todas las reglas que veas son aplicables y luego, valorar si te has acercado a la conclusión; y repetir este proceso. Aquí en todo caso es una prueba directa de la conclusión buscada.
\ [\ fitchprf {\ pline [1.] {(Q\ lif P)} [premisa]\\\ pline [2.] {(\ lnot Q\ lif R)} [premisa]\\\ pline [3.] {\ lnot R} [premisa]\\} {\ pline [4.] {\ lnot\ lnot Q} [modus tollens, 2, 3]\\\ pline [5.] {Q} [doble negación, 4]\\\ pline [6.] {P} [modus ponens, 1, 5]\\}\]” class="ql-img-ecuación visualizada quicklatex-auto-format” height="187" title="Rendizado por Quicklatex.com” width="511" src=” https://human.libretexts.org/@api/de...c60d633_l3.png "/>
Desarrollar la habilidad para completar pruebas solo requiere práctica. Debes esforzarte por hacer tantos problemas como puedas.
4.5 Problemas
- Completar una derivación directa (también llamada “prueba directa”) para cada uno de los siguientes argumentos, demostrando que es válida. Necesitarás las reglas modus ponens, modus tollens y doble negación.
- Locales: ¬Q, (¬Q → S). Espectáculo: S.
- Locales: (S → ¬Q), (P → S), ¬¬P. Mostrar: ¬Q.
- Locales: (T → P), (Q → S), (S → T), ¬P. Mostrar: ¬Q.
- Locales: R, P, (P → (R → Q)). Mostrar: Q.
- Locales: ((R → S) → Q), ¬Q, (¬ (R → S) → V). Espectáculo: V.
- Locales: (P → (Q → R)), ¬ (Q → R). Mostrar: ¬P.
- Locales: (¬ (Q → R) → P), ¬P, Q. Espectáculo: R.
- Locales: P, (P → R), (P → (R → Q)). Mostrar: Q.
- En inglés coloquial normal, escribe tu propio argumento válido con al menos dos premisas. Tu argumento debe ser solo un párrafo (no una lista ordenada de oraciones o cualquier otra cosa que parezca lógica). Traducirlo a lógica proposicional y usar una prueba directa para demostrar que es válida.
- En inglés coloquial normal, escribe tu propio argumento válido con al menos tres premisas. Tu argumento debe ser solo un párrafo (no una lista ordenada de oraciones o cualquier otra cosa que parezca lógica). Traducirlo a lógica proposicional y usar una prueba directa para demostrar que es válida.
- Haz tu propia clave para traducir a lógica proposicional las porciones del siguiente argumento que están en negrita. Utilizando una prueba directa, probar que el argumento resultante es válido.
El inspector Tarski le dijo a su asistente, el señor Carroll: “Si Wittgenstein tenía barro en las botas, entonces estaba en el campo. Además, si Wittgenstein estaba en el campo, entonces es el principal sospechoso del asesinato de Dodgson. Wittgenstein sí tenía barro en sus botas. Concluimos, Wittgenstein es el principal sospechoso del asesinato de Dodgson. ”