Lógica matemática
Pablo Cobreros
Universidad de Navarra
La lógica es, en general, la disciplina filosófica que estudia la inferencia: qué significa que una conclusión se sigue de unas premisas, qué argumentos son válidos y cuáles no y qué métodos tenemos para distinguirlos. La lógica matemática es matemática en un doble sentido. Se trata, en primer lugar, de un modo de entender la lógica que tiene su origen en un contexto matemático (el desarrollo de geometrías no euclidianas y la crisis de los fundamentos ver la voz DIA: “Filosofía de las Matemáticas” sección 2.2: Formalismo: Hilbert) y, como tal, se desarrolló específicamente para el razonamiento matemático. En segundo lugar, la lógica matemática es matemática también por el empleo de herramientas matemáticas para el análisis del razonamiento. En este sentido, la lógica matemática no sólo tiene como tema las matemáticas sino que ella misma es una parte de las matemáticas.
Contemporáneamente, la mayor parte de los estudios de sobre Lógica (fuera de los estudios de Historia de la Lógica) son “lógica matemática” en el segundo sentido mencionado, por lo que es razonable pensar que el término “lógica matemática” debería reservarse para el primer sentido (la lógica que tiene como objeto los razonamientos y métodos de las matemáticas). Creemos, sin embargo, que el estilo matemático de la lógica contemporánea es un modo de aproximarse al razonamiento, no necesariamente el único ni la última palabra sobre éste. El título de este artículo pretende, de este modo, reconocer la validez de otros tipos de aproximación a la lógica como pueden ser los desarrollos medievales de la lógica aristotélica. Simultáneamente, es necesario reconocer que desde finales del siglo XIX, la lógica matemática ha dado lugar a importantes resultados y ha ocupado un papel destacado en la discusión filosófica.
Teniendo en cuenta el carácter interdisciplinar de este diccionario, hemos tratado de expresar las ideas centrales de la lógica matemática de un modo accesible. Hemos procurado que el artículo sea auto-contenido (exceptuando quizá este párrafo), aunque alguna familiaridad con la lógica sin duda ayudará a la comprensión del texto. También por este motivo hemos puesto restricciones a los temas tratados. Concretamente, durante todo el artículo adoptaremos de modo habitual un punto de vista semántico. Al tratar la lógica clásica (sección 2) consideraremos solamente lenguajes de primer orden con identidad, con funciones de uno y dos argumentos y predicados de uno y dos argumentos. Este lenguaje es suficiente para ilustrar qué es la lógica de primer orden y para introducir teorías aritméticas de las que hablaremos en la sección 3. Cuando expliquemos algunos teoremas (sub-sección 2.5 y sección 3), nos limitaremos a dilucidar su contenido y a dar una idea general sobre su demostración, aportando las referencias para una demostración detallada. Cuando tratemos las lógicas no-clásicas, nos restringiremos al caso proposicional mencionando únicamente algunos ejemplos que ilustren la distinción, dentro de esta clase de lógicas, entre extensión y alternativa a la lógica clásica. La sub-sección 2.5 y la sección 3 son un poco más exigentes desde el punto de vista matemático.
En la sección 1 introduciremos la idea general de consecuencia lógica. De ella se desprenden los distintos apartados que debemos especificar para caracterizar con precisión una lógica (tabla 1). En la sección 2 se desarrolla con cierto detalle qué es la lógica clásica de primer orden, explicando las principales propiedades de esta lógica (sub-sección 2.5). En la sección 3 nos centramos en la matemática como tema de la lógica matemática; particularmente en la estructura de la aritmética (números naturales con la sucesión, suma y multiplicación) y en las posibilidades de representación y axiomatización en un lenguaje de primer orden. La sección 4 trata sobre las lógicas no-clásicas. Veremos un ejemplo concreto de alternativa a la lógica clásica, las lógicas de 3 valores [math]{K3}[/math] y [math]{LP}[/math], y un ejemplo de extensión de la lógica clásica: la lógica modal.
Hemos procurado distinguir los aspectos técnicos de su explicación informal. Para ello, introducimos en primer lugar las definiciones o resultados seguidas de comentarios que clarifican un aspecto de la definición. Los comentarios están ordenados dentro de cada sección: el primer número corresponde a la sección y el segundo a la posición del comentario dentro de la sección.
1 Introducción ↑
Un argumento es un conjunto de enunciados con cierto orden: algunos de los enunciados son las premisas y uno de los enunciados es la conclusión. Decimos informalmente que un argumento es válido (equivalentemente: que la conclusión es consecuencia lógica de las premisas) cuando es imposible que sus premisas sean verdaderas y su conclusión falsa. Por ejemplo,
(1) Si Sócrates es marciano entonces Sócrates invadirá la Tierra
(2) Sócrates es marciano
[math]\therefore[/math]
(3) Sócrates invadirá la Tierra
El argumento es válido porque, aunque su conclusión es falsa y alguna de sus premisas verdaderas, sin embargo, necesariamente si sus premisas fuesen todas verdaderas, la conclusión sería verdadera. O en otras palabras: es imposible que sus premisas sean verdaderas y su conclusión falsa.
Pero qué significa `imposible' y `necesario' en este contexto? Significa que no importa cuál sea la interpretación del vocabulario no-lógico, si las premisas son verdaderas, su conclusión es verdadera. Es decir, para comprobar la validez de un argumento debemos, en primer lugar, formalizar el argumento y, en segundo lugar, comprobar si hay alguna interpretación del vocabulario no-lógico donde las premisas sean verdaderas y la conclusión falsa. Tomando el ejemplo anterior,
(1) Si [math]A[/math] entonces [math]B[/math]
(2) [math]A[/math]
[math]\therefore[/math]
(3) [math]B[/math]
el argumento es válido porque no importa cómo interpretemos [math]A[/math] y [math]B[/math], si las premisas son verdaderas en tal interpretación, la conclusión también es verdadera. O en otras palabras, no hay ninguna interpretación de [math]A[/math] y [math]B[/math] que haga verdaderas a las premisas y falsa a la conclusión.
Esta definición de consecuencia lógica muestra que para caracterizar una lógica es necesario describir el lenguaje que estamos empleando, separando el vocabulario lógico del vocabulario no-lógico. Además es necesario explicar en qué consiste una interpretación para el vocabulario no-lógico y cómo, dada una interpretación del vocabulario no-lógico, cualquier fórmula del lenguaje tomará también una interpretación.
Tabla 1: Caracterizar una lógica
[left|Tabla 1]
2 La lógica clásica de primer orden ↑
Dentro del contexto de la lógica contemporánea se entiende por lógica clásica la lógica descrita de manera completa por primera vez en la obra de Frege de 1879 Begriffsschrift, aunque el término “lógica clásica” se suele restringir a lenguajes de primer orden y en este libro Frege introduce la lógica para lenguajes de segundo orden (ver comentario 2.1 más abajo). Algunas características generales de la lógica clásica son,
- Principio de bivalencia: toda proposición no-ambigua toma un único valor de verdad, verdadero o falso, y al menos uno.
- Extensionalidad: el valor de verdad de una proposición depende exclusivamente de la extensión de sus componentes.
En esta sección describiremos con cierto detalle la lógica clásica de primer orden (sub-secciones 2.1, 2.2 y 2.3), explicaremos de manera algo general qué es un método de demostración (sub-sección 2.4) y explicaremos cuatro teoremas característicos de esta lógica (sub-sección 2.5).
2.1 Lenguaje ↑
El vocabulario no-lógico puede contener:
- Constantes individuales: [math]a_{1}, a_{2}\ldots[/math]
- Símbolos de función de uno o dos argumentos: [math]f_{1}, f_{2}\ldots g_{1}, g_{2}\ldots[/math]
- Símbolos de predicado de uno o dos argumentos: [math]P_{1}, P_{2}\ldots R_{1}, R_{2}\ldots[/math]
Por su parte, el vocabulario lógico contiene:
- Constantes lógicas: [math]\land, \lor, \supset, \lnot[/math]
- Cuantificadores: [math]\forall, \exists[/math]
- Variables individuales: [math]x_1, x_2\dots[/math]
- Identidad: [math]\approx[/math]
- Paréntesis: ( y )
Un término (o término singular) es una expresión del lenguaje que denota un objeto en una interpretación. En los lenguajes de primer orden las constantes y variables individuales son términos. Además, los términos se pueden obtener a partir de símbolos de función y otros términos de acuerdo con la siguiente regla: si [math]t[/math] y [math]u[/math] son términos, entonces [math]f(t)[/math] y [math]g(t,u)[/math] son términos. De modo que [math]f(a_1)[/math] y [math]g(a_3, a_1)[/math] son términos, pero también [math]g(f(a_1), g(a_3, a_1))[/math].
Una fórmula es una expresión del lenguaje que puede ser verdadera o falsa en una interpretación. Si [math]t[/math] y [math]u[/math] son términos y [math]P[/math] y [math]R[/math] son predicados entonces [math]Pt[/math], [math]tRu[/math] y [math]t\approx u[/math] son fórmulas (fórmulas atómicas). Si [math]A[/math] y [math]B[/math] son fórmulas, entonces [math](A\land B)[/math], [math](A\lor B)[/math], [math](A\supset B)[/math], [math]\lnot A[/math], [math]\forall x A[/math] y [math]\exists x A[/math] también son fórmulas. De modo que,
[math]Pg(x, a_1)[/math]
[math]g(a_3, a_1)Rfx[/math] y
[math]g(f(a_1), g(x, a_2))\approx a_5[/math]
son fórmulas, pero también
[math]\exists x((Px\land xRf(a_1))\supset f(a_1)\approx x)[/math]
Comentario 2.1
Un lenguaje proposicional es un lenguaje en el que el vocabulario no-lógico está formado por proposiciones, de manera que puede expresar relaciones lógicas de una proposición con otras proposiciones, pero no relaciones lógicas dentro de una proposición o de una parte de una proposición a otra parte de otra proposición. El argumento en la sección 1 más arriba, se puede formalizar en el lenguaje proposicional de este modo:
(1) Si [math]A\supset B[/math]
(2) [math]A[/math]
[math]\therefore[/math]
(3) [math]B[/math]
(emplearemos el símbolo '[math]\supset[/math]' para el condicional)
Sin embargo, el argumento,
(4) Todos los marcianos invadirán la Tierra
(5) Sócrates es marciano
[math]\therefore[/math]
(6) Sócrates invadirá la Tierra
no tiene una formalización natural al lenguaje proposicional, puesto que la validez del argumento depende de conexiones lógicas entre partes de la proposición (entre los marcianos y el invadir la tierra etc). Un lenguaje de primer orden analiza los elementos que forman la proposición, distinguiendo entre términos y predicados,
[File LM1]
Además, en un lenguaje de primer orden podemos realizar generalizaciones sobre la posición de un término. Así, por ejemplo, podemos decir que algún objeto es marciano:
(5[math]^*[/math]) [math]\quad\exists x Px[/math]
En un lenguaje de primer orden no podemos, sin embargo, generalizar sobre la posición de un predicado, diciendo, por ejemplo, que Sócrates tiene alguna propiedad,
(5[math]^{**}[/math]) [math]\quad\exists P Pa[/math]
Esta última fórmula pertenece a un lenguaje de segundo orden (del que no hablaremos más en esta voz).
Comentario 2.2
Los términos de un lenguaje de primer orden pueden ser simples (constantes individuales) o compuestos a partir de funciones. Informalmente, una constante corresponde a un nombre propio, una expresión que sirve para hacer referencia a un objeto, pero que no está compuesta de otras expresiones (por ejemplo `Sócrates'). Informalmente, un término compuesto corresponde a una descripción definida, una expresión que sirve para hacer referencia a un objeto pero que está compuesta de otras expresiones (por ejemplo `el maestro de Platón'). De este modo, podemos formalizar el siguiente tipo de enunciados,
(6) Sócrates es el maestro del maestro de Aristóteles
(7) el maestro de Platón es marciano
[math]\Downarrow[/math]
(6) [math]a_1\approx f_1(f_1(a_2))[/math]
(7) [math]Pf_1(a_3)[/math]
Naturalmente, la lógica de primer orden no fue ideada para hablar de Sócrates, Platón o Aristóteles sino para hablar de números naturales. Bajo esta perspectiva, podemos ver que las afirmaciones aritméticas son, por lo general, afirmaciones de la forma [math]t\approx u[/math] como por ejemplo [math]7\approx 3+(3+3^{0})\cdot 1[/math] (ver la voz DIA: "Filosofía de las Matemáticas", sección 2.2: Formalismo: Hilbert).
Comentario 2.3
Las variables individuales [math]x_1\dots [/math] no tienen, propiamente, un significado, sino que solo sirven para mostrar la posición sobre la que actúan los cuantificadores. Así, por ejemplo, las fórmulas,
(8) [math]\forall y\exists x Ryx[/math]
(9) [math]\forall y\exists x Rxy[/math]
expresan contenidos distintos, igual que las oraciones 'todo el mundo ama a alguien' y 'todo el mundo es amado por alguien'. A la hora de dar una interpretación para el lenguaje, existen distintos modos de tratar las variables. Nosotros las trataremos a casi todos los efectos como constantes individuales.
Comentario 2.4
Las fórmulas de un lenguaje de primer orden son solo un \textit{esquema de oración}, de modo que no son, al margen de una interpretación, ni verdaderas ni falsas. Cuando interpretamos una fórmula es cuando ésta adquiere un valor de verdad. Así, por ejemplo,
(10) [math]aRb[/math]
es verdadera cuando interpretamos '[math]a[/math]' con [math]\mathsf{Bruto}[/math], '[math]b[/math]' con [math]\mathsf{C\acute esar}[/math] y '[math]... R...[/math]' con la relación '[math]...\mathsf{mat\acute o\; a}...[/math]' ; sin embargo cuando interpretamos todo de igual manera excepto '[math]...R...[/math]' que lo interpretamos con la relación '[math]...\mathsf{engendr\acute o\; a}...[/math]' la oración es falsa. Algunas fórmulas son verdaderas en toda interpretación para la lógica clásica, como,
(11) [math]\forall x(Px\supset Px)[/math]
Estas fórmulas se llaman tautologías, o fórmulas válidas. Es habitual, además, distinguir entre oraciones y fórmulas, siendo las primeras fórmulas cuyas variables están todas conectadas con un cuantificador. Una fórmula con alguna variable libre como,
(12) [math]xRa[/math]
se puede entender como un predicado (complejo) en lugar de una oración. Por ejemplo, cuando interpretamos '[math]a[/math]' con [math]\mathsf{Marta}[/math] y '[math]... R...[/math]' con la relación '... [math]\mathsf{es hija de}...[/math]', la fórmula en (12) expresará en predicado '... [math]\mathsf{es hija de Marta}[/math]' (será verdadero de algunos objetos y falso de otros).
Comentario 2.5
\begin{table}[!h] \caption{Vocabulario lógico} \begin{center} \begin{tabular}{c|c|c}
símbolo & nombre & lectura informal \\ \hline
$\land$ & conjunción & `y' \\ $\lor$ & disyunción & `o' \\ $\hook$ & condicional & `Si... entonces...' \\ $\lnot$ & negación & `no' \\
$\forall$ & cuantificador universal & `para todo'\\
$\exists$ & cuantificador existencial & `existe' \\
$\id$ & identidad & `es (idéntico a)'\\ \hline \end{tabular} \end{center} \label{voc} \end{table}%
Comentario 2.6
Los lenguajes de primer orden comparten el mismo vocabulario lógico (a excepción, quizá, del símbolo de identidad) y pueden diferir en su vocabulario no-lógico. Los símbolos de función y predicados de un lenguaje de primer orden pueden tener cualquier aridad, esto es, cualquier número de argumentos. Por simplicidad nosotros hablaremos únicamente de lenguajes cuyos símbolos de función y predicados tengan, a lo sumo, dos argumentos.