Download 3.5 Comparando cálculos y modelos

Document related concepts
no text concepts found
Transcript
Comparando cálculos y modelos
La idea de comparar cálculos y modelos hace referencia al estudio de la
relación existente entre las dos nociones fundamentales de la Lógica, la consecuencia
semántica y la derivabilidad formal. Como ya sabemos, tanto una como otra
constituyen definiciones alternativas de la misma relación, la de consecuencia. Se trata
pues, de determinar de manera efectiva si realmente estamos ante dos definiciones
alternativas de la misma entidad, o ante dos relaciones distintas aunque emparentadas
de un cierto modo. Indirectamente, obtendremos un análisis de los recursos formales y
cognitivos que se ponen un funcionamiento en cada caso.
La comparación entre la derivabilidad formal y la consecuencia semántica se
resuelve en el estudio de dos propiedades que ya hemos introducido al discutir la
Lógica de Enunciados Clásica –cfr.: cap. 2.8-. Se trata de
[1]
i. Corrección: Un cálculo S es correcto en relación a una clase M de
modelos o estructuras syss para cada conjunto X de fórmulas y para
cada fórmula A sucede que:
-
Si X|S A, entonces X√ M A.
ii. Completitud (fuerte): Un cálculo S es completo en relación a una
clase M de modelos o estructuras syss para cada conjunto X de
fórmulas y para cada fórmula A sucede que:
-
Si X√ M A, entonces X|S A.
La referencia a estructuras no debe provocar aquí especiales problemas. Por
estructura, o incluso por sistema, no se entiende en este contexto nada muy distinto de
Lógica de Primer Orden
lo que aquí hemos denominado modelo. He querido introducir algo más de
terminología porque no es infrecuente encontrar obras en las que estas expresiones
son sistemáticamente empleadas.
A diferencia de lo que sucedía en el capítulo anterior, en el que analizábamos
resultados que no guardan entre sí una relación aparente, lo que nos proponemos en
este nuevo capítulo sí parece estar dotado de una cierta unidad. Nuestro objetivo
parece estar claro esta vez: se trata de resolver todas nuestras dudas acerca del
equilibrio existente entre el cálculo –la derivabilidad formal- y los modelos –la
consecuencia semántica-. Esto no debe servir para suponer una conexión entre las
demostraciones de una y otra propiedad, demostraciones que ciertamente son
bastante independientes entre sí.
La formulación de la corrección y la completitud –más adelante quedará claro
por qué añado el adjetivo fuerte- ofrecida en [1] hace especial hincapié en citar de
manera explícita los dos elementos que se requieren para definir las relaciones que se
están comparando. Me refiero a un cálculo S y a una clase de modelos M. De este
modo, nunca estaremos tentados a atribuir sólo a una de las clases de recursos
involucrados la posesión de una de esas propiedad. Esta aclaración es necesaria en la
medida en que es muy común afirmar que tal o cual cálculo es correcto o completo sin
citar de forma explícita la clase de modelos con respecto a la cual se establecen esas
propiedades. El resultado indirecto de esta manera de actuar es la concesión de una
primacía, epistemológica, al menos, a la construcción de la clase de modelos M con
respecto a los cuales se mide después la adecuación del cálculo. Así las cosas,
corrección y completitud serían propiedades que establecen, prima facie, la
adecuación de un cálculo con respecto a una clase de modelos ya existente. Esa clase
de modelos debería gozar, entonces, de una motivación independiente capaz de
aportar la adecuación del análisis que ofrece de las constantes lógicas del lenguaje y,
presumiblemente, del comportamiento de la noción de verdad. Esta observación
desencadenó hace unos años una cierta polémica que, muy posiblemente, no es sino
un nuevo episodio en el continuo debate acerca de qué es primero, si los recursos del
cálculo o los empleados en los modelos.
322
Comparando cálculos y modelos
La forma de proceder adoptada en [1] pretende ser neutral en esta polémica
admitiendo que existen buenos ejemplos de prioridad epistemológica tanto en el
terreno de los sistemas deductivos como en el de los modelos. Por tanto, es posible
hallar lógicas –en el sentido del término que aquí se ha discutido en [22] cap.2.8- en
las que la corrección y la completitud evalúan la adecuación del cálculo y otras en las
que es posible entender que lo que se analiza es la adecuación de los modelos.
La discusión de la corrección y la completitud muestra siempre un balance muy
desequilibrado a favor de la segunda de ellas. La demostración de la completitud es
considerablemente más compleja y prolija que la de la corrección. Esto aconseja, por
si sólo discutir en primer lugar la corrección para pasar a continuación a la completitud.
Pero existe, además, otra razón que suele influir en que se proceda de esa forma: no
hay sistemas deductivos incorrectos. Dicho de otra forma, la comprobación de la
corrección de un cálculo con respecto a una clase de modelos previamente
seleccionada es condición necesaria para considerar que estamos ante un genuino
producto lógico y no ante un ensayo fallido.
Corrección del Cálculo Clásico para la Lógica de Primer Orden. La corrección es una
propiedad que, como ya he advertido en más de una ocasión suele asimilarse con otra
que ya ha sido establecida para LPO: la consistencia. Es frecuente afirmar, por
ejemplo, que un cierto cálculo es consistente porque no prueba ninguna fórmula falsa
–se entiende que respecto a una cierta clase de modelos o interpretaciones-.
Seguramente hay razones que justifican esta forma de hablar que aquí, pero tampoco
es raro ver en ello una confusión fácil de deshacer.
La consistencia analiza el carácter no trivial de un cálculo. Hemos visto que,
bajo los supuestos que aquí se han asumido, esto es algo que equivale a afirmar que
un cálculo nunca demuestra una fórmula y su negación. Pero esos mismos supuestos
permiten afirmar en este caso que si un sistema deductivo es inconsistente, entonces
323
Lógica de Primer Orden
es incorrecto. Pero es más, podemos expresar esta tesis en forma de un teorema
trivial:
[2]
Teorema: Si la derivabilidad formal caracterizada para LPO por un
sistema S resulta ser correcta con respecto a la clase de todos los
modelos M para LC , entonces esa misma relación es (simplemente)
consistente.
Esquema de la demostración. Sea S el cálculo elegido para representar
la derivabilidad formal en LPO. Si S es simplemente inconsistente
entonces existe una fórmula A tal que |S A y |S ¬A. Ahora bien, sea como
sea A, la definición del negador garantiza que bajo tales circunstancias
existe siempre un modelo µ tal que [A] µ =F. Por tanto, A no es una
verdad lógica con respecto a la clase de modelos de la que se extrae µ.
La afirmación inversa no se puede establecer del mismo modo. Es decir, que
un cálculo no pruebe nunca una fórmula y su negación no basta para garantizar un
equilibrio idóneo entre sus teoremas y las verdades lógicas de una cierta clase de
modelos.
¿De qué forma puede un sistema deductivo probar fórmulas que no son
verdades lógicas o, en general, argumentos que no son válidos? Parece evidente que
algo semejante sólo puede tener lugar cuando las reglas de que dispone el cálculo
permiten obtener alguna construcción que da lugar a un argumento inválido. Para que
esto se produzca bastará, en general, que las reglas muestren alguna divergencia
apreciable a la hora de interpretar el comportamiento modelista de las constantes
lógicas que manipulan o, también en la forma de tener en cuenta el contexto en el que
se define la consecuencia semántica. Este comentario es la mejor pista que se puede
pedir para organizar una demostración rigurosa de este resultado. Sólo queda elegir
un cálculo que actúe ahora como representante de la derivabilidad formal para LPO.
Una buena elección puede ser Sqc. Esto obliga a aclarar una serie de aspectos
324
Comparando cálculos y modelos
de la construcción de dicho cálculo interesantes para ver el modo en que es posible
concebir la definición de cada una de las reglas. Como ya he dicho en más de una
ocasión, la consideración del formato de las reglas que corresponden a una
determinada constante lógica no es algo que pueda darse sin tener en cuenta si existe
o no alguna definición previa de dicha constante lógica. Si no existen convenciones
previas de ningún tipo acerca del significado de una cierta constante lógica, o estas no
son en todo caso independientes de su función dentro del cálculo, entonces sí
podremos afirmar que el par de reglas ofrecido define por completo esa constante.
Este sería un ejemplo claro de cálculo primero, semántica después. Es obvio, en
cualquier caso, que esta no es la estrategia que cabe seguir en el caso de LPO. Todas
sus constantes lógicas tienen un significado previo que ni siquiera es formal, pertenece
incluso o un nivel puramente intuitivo.
Cada regla debe responder a ese significado, y en definitiva, a la conducta
modelista de la correspondiente constante. Para poner en conexión esta conducta y el
formato de una regla es preciso establecer una especie de interfaz entre los recursos
empleados en el cálculo y las convenciones que implícita o explícitamente se asumen
en el tratamiento de la consecuencia semántica. Es cierto que el uso secuentes lleva a
pensar en la existencia de una directa conexión entre cada uno de ellos y una
afirmación acerca de la derivabilidad de una fórmula a partir de un conjunto de
premisas. Dicho de otra forma, cada secuente sería visto como una afirmación acerca
de la derivabilidad de algo a partir de otra cosa. La única diferencia sería así simbólica:
en un caso aparecería “⇒” mientras que en otro lo que figuraría sería “|”. Sin embargo,
esta forma de entender la conexión entre secuentes y la descripción de la derivabilidad
es inadecuada. Los secuentes admiten la presencia de conjuntos de fórmulas a ambos
lados del símbolo “⇒”, mientras que eso mismo no se da para “|” –al menos en el caso
que ahora nos ocupa-. A la hora de evaluar la forma en que una regla recoge el
significado de una constante, deberemos establecer alguna convención que permita
dotar de un significado modelista aceptable a la presencia de conjuntos de fórmulas a
la derecha de “⇒”. Esta convención se deduce claramente de la combinación de un
par de factores presentes en el diseño general de Sqc. La introducción de constante
325
Lógica de Primer Orden
en el lado derecho de un secuente obliga a considerar en ciertas ocasiones la
presencia de más de una fórmula en esa parte del secuente. En muchas ocasiones
esa presencia sólo se obtiene mediante el uso de la regla de monotonía por la
derecha. Así las cosas, si un secuente debe tener un significado modelista aceptable,
es decir, si un secuente tiene que poder ser interpretado una afirmación acerca de la
consecuencia semántica de las fórmulas que se hallan presentes en cada caso, la
convención o interfaz que es preciso añadir será el siguiente:
[3]
Interpretación modelista de un secuente: Dado el secuente X,A⇒B,Y
admitiremos en lo sucesivo que la situación que este expresa se traduce
en términos de modelos como sigue:
- Para todo modelo µ sucede que si para toda fórmula x i∈X, [x i]µ =V y
[A]µ =V, entonces existe al menos una fórmula yj∈Y tal que [yj]µ =V o
[B]µ =V.
Para mayor claridad es frecuente expresar esta convención afirmando que las
fórmulas en el lado izquierdo de un secuente han de interpretarse de forma conjuntiva,
mientras que las fórmulas en el lado derecho lo harán de forma disyuntiva. Esto da
lugar a que un secuente como el anterior, pueda ser traducido como un secuente
idealizado del tipo: (x1&x2&...xi&...)&A⇒(y1 vy2v...yiv...)vB. Este interfaz puede ser visto
como el resultado de una sutil combinación entre el tipo de estructura básica en que
consiste un secuente y el tipo de manipulaciones que se desea hacer con ellos.
Esto permite que demostremos ya lo que es el resultado sobre el que pivota la
defensa de la corrección de Sqc con respecto a la clase M de todos los modelos para
LC . Lo dividiré en dos partes, aunque sólo por razones de claridad. La primera analiza
el caso de las reglas estructurales y la segunda la de las reglas lógicas.
326
Comparando cálculos y modelos
[4]
Teorema: Cada una de las reglas estructurales de Sqc preserva la
corrección.
Esquema de la demostración. La estrategia consiste, básicamente, en
analizar cada caso. El sistema considerado es, recuérdese, la reunión
de [16] cap. 2.6 y [24] cap. 3.3. Considerada cada regla, se probará que
si los secuentes que figuran en la cabecera –uno o más- son válidos
bajo la convención de lectura asumida en [3], entonces el secuente
resultante también lo es.
Caso 1: Monotonía.
Izquierda. Partimos de X⇒Y. Supongamos, no obstante, que el
secuente resultante X,A⇒Y no preserva la corrección. Entonces habrá
de existir en modelo µ tal que [X] µ =[A] µ =V mientras que todas y cada
una de las yj∈Y son tales que [yj]µ =F. Pero en tal caso, ese mismo
modelo serviría para rechazar X⇒Y.
Derecha. Similar al caso anterior.
Caso 2: Contracción. Es trivial en ambos casos.
Caso 3: Permutación. También trivial.
Caso 4: Corte. Los secuentes en la cabecera de la Regla son X⇒Y,A y
W,A⇒Z. Supongamos que esta regla no preserva la corrección. Existe,
entonces un modelo µ tal que verifica a un tiempo todas las fórmulas en
X y W y hace falsas a todas las fórmulas en Y y Z. Por hipótesis, tanto
X⇒Y,A como W,A⇒Z han de dar lugar a consecuencias válidas.
Puesto que bajo µ todas las fórmulas en X son verdaderas y todas las
fórmulas en Y son falsas, la única opción de que X⇒Y,A de lugar a una
consecuencia válida es que [A] µ =V. Pero en ese caso es el secuente
W,A⇒Z el que resulta inválido, contradiciendo así la hipótesis. Si
327
Lógica de Primer Orden
hubiéramos razonado partiendo de W y Z el resultado habría sido el
mismo.
Quizá sea una buena ocasión para recordar el papel que desempeña la Regla
de Corte en un sistema como Sqc, sobre todo a la vista de la discusión de su
eliminabilidad.
[5]
Teorema: Cada una de las reglas lógicas de Sqc preserva la corrección.
Esquema de la demostración: Limitaremos nuestra atención a las reglas
para el negador, el condicional y el cuantor existencial. Los casos
restantes tienen un tratamiento muy similar y quedan como ejercicio.
Caso 1. Negación.
Izquierda. El secuente que forma la cabecera es X⇒A,Y. Supongamos,
como hemos venido haciendo, que la regla no preserva la corrección.
Eso supone la existencia de un modelo µ que verifica todas las fórmulas
en X y ¬A y que hace falsas todas las fórmulas en Y. Ahora bien, por la
cláusula correspondiente al negador eso supone que µ verifica todas las
fórmulas en X al tiempo que hace falsa a A y a todas las fórmulas en Y.
Pero entonces el secuente que forma la cabecera no es válido
contrariamente a lo que habíamos supuesto.
Derecha. Se argumenta de forma prácticamente idéntica
Caso 2. Condicional.
Izquierda. Los secuentes que forman la cabecera son X,B⇒Y y X⇒A,Y.
Consideraremos que son válidos para suponer a continuación que
X,A→B⇒Y no lo es. Según esto hay un modelo µ tal que [X] µ =V y
[A→B]µ =V, mientras que para todas las fórmulas yj∈Y sucede que [yj]=F.
Ahora bien, por la cláusula correspondiente al condicional eso supone
que ese modelo µ es tal que o bien [A] µ =F, o bien [B]µ =V.
328
Comparando cálculos y modelos
Subcaso 1: Supongamos que [A] µ =F. Entonces el secuente X⇒A,Y no
es válido ya que µ verifica todas las fórmulas en X al tiempo que hace
falsas todas las fórmulas en Y y a A.
Subcaso 2: Supongamos que [B]µ=V. Entonces es el secuente X,B⇒Y
el que no resulta válido.
Derecha. El secuente que forma la cabecera de la regla es X,A⇒B,Y.
Asumiremos que es válido para suponer a continuación que X⇒A→B,Y
no lo es. Eso supone la existencia de un modelo µ que verifica todas las
fórmulas en X, al tiempo que hace falsas todas las fórmulas en Y y a
A→B. Por la cláusula correspondiente al condicional eso implica que µ
verifica A y hace falsa a B. Pero entonces µ invalida el secuente de la
cabecera de la regla, contra lo que habíamos supuesto inicialmente.
Caso 3: Cuantor existencial.
Izquierda. El secuente que forma la cabecera es X,A(x/ui)⇒Y, donde u i
es además un parámetro que no ocurre en el secuente que resulta de
introducir el cuantor, esto es, no ocurre en X,∃xA⇒Y. Supongamos que
este último secuente no es válido. Eso supone la existencia de un
modelo µ que verifica todas las fórmulas en X, que verifica ∃xA al
tiempo que hace falsas todas las fórmulas en Y. Por la cláusula
correspondiente al cuantor existencial eso implica la existencia de una
función gx de asignación tal que g(x)=ui –confundiendo el parámetro ui
con un elemento del dominio U del modelo µ- tal que [A] gx =V. Ahora
bien, puesto que por la restricción impuesta sobre ui este parámetro no
ocurre en Y, podemos suponer que esa misma asignación permite
afirmar que todas las fórmulas en X son verdaderas, que [A]gx =V,
mientras que todas las fórmulas en Y son falsas.
Derecha. El secuente que forma la cabecera es X⇒A(x/ui),Y. La
inexistencia de restricciones sobre el parámetro hacen que el resultado
se siga de forma trivial.
329
Lógica de Primer Orden
La reunión de estos dos teoremas da como resultado la corrección de Sqc.
[6]
Teorema: Para todo conjunto X de fórmulas y toda fórmula A, sucede
que si X|Sqc A, entonces X√ c A con respecto a la clase M de todos los
modelos para LC .
Esquema de la demostración. Por la definición de |Sqc sabemos que X|Sqc
A es derivable en Sqc syss el secuente X⇒A puede ser obtenido a
partir del axioma y del uso de las reglas de Sqc. Sabemos que las
reglas de Sqc preservan la corrección, teoremas [4] y [5], así que sólo
resta demostrar que el axioma también lo hace. Pero esto es trivial, ya
que su formato garantiza la existencia de al menos una fórmula común
a cada lado del símbolo “⇒”, impidiendo que exista así un modelo que
verifique todas las fórmulas en el lado izquierdo del axioma al tiempo
que hace falsas todas las fórmulas en el lado derecho.
Aunque el uso de adjetivos como “fuerte” y “débil” suele reservarse para hablar
sólo de la completitud, también es posible aplicarlos al caso que nos ocupa. El
resultado anterior correspondería entonces a la corrección fuerte, siendo la corrección
débil un caso especial de la anterior:
[7]
Corolario: Para toda fórmula A de LC sucede que si |Sqc A, entonces √ C A.
Puesto que Sqc ha actuado aquí como representante de la derivabilidad en
LPO, [6] y [7] se deberán hacerse extensivos a esa relación de derivabilidad dando
lugar a
330
Comparando cálculos y modelos
[8]
Corrección:
i.
X|A ⇒ X√ C A
ii.
|A ⇒ √ C A
Para finalizar ofreceré un teorema que es consecuencia inmediata de todo lo
anterior.
[9]
Teorema: Si X es satisfecho por algún modelo µ∈M, entonces X es
consistente.
Esquema de la demostración: Supongamos que X tiene un modelo –es
satisfecho por un modelo-. Supongamos no obstante que no es
consistente. Existe entonces una fórmula A –consistencia simple- tal
que X|A y X|¬A. Por el teorema de corrección se puede afirmar ahora
tanto que X√ C A como X√ C ¬A. Puesto que X es satisfacible eso significa
que existe un modelo en el cual tanto A como ¬A son verdaderos, lo que
es imposible por la cláusula del negador.
La propiedad de consistencia no debería confundirse aquí con la de corrección.
Este restado recibe también a veces el nombre de test de consistencia.
331
Lógica de Primer Orden
Completitud del Cálculo Clásico para la Lógica de Primer Orden. Nos toca abordar el
problema inverso. Se trata de saber si un argumento válido es demostrable o, si por el
contrario, podrían hallarse argumentos válidos para los que no existe ninguna
construcción del tipo que aquí hemos admitido como derivaciones o pruebas.
La principal novedad del problema es que en este caso el punto de partida
viene dado por una afirmación no constructiva: X√ C A, mientras que el punto de llegada
es una afirmación que garantiza la existencia de una cierta construcción. X|A. El
primero que halla un modo de superar este problema es K. Gödel en el año 1930. Sus
ideas se basan en resultados previos aportados por Löwenheim acerca de la
normalización de las fórmulas de LC –cfr. cap. 2.5-. Las expresiones que permiten
dotar de un teorema de forma normal al lenguaje LC se conocen por el nombre de
formas normales de Skolem, y tendremos ocasión de hablar de ellas en capítulos
posteriores, aunque en un contexto algo distinto.
Es evidente que esta estrategia no es la que vamos a seguir aquí. De hecho,
es sumamente raro acercarse a la demostración original de Gödel si no es por
motivaciones de carácter histórico. La técnica que ha venido a reemplazar la que
Gödel adoptara en su día se debe a L. Henkin y a su teorema del año 1949 en el que
se vuelve a establecer esa completitud mediante un método que, a partir de entonces,
se denomina método de Henkin.
Como toda herramienta que acaba por formar parte del equipamiento básico de
una disciplina su reformulación ha sido muy intensa y el parecido con el original es ya
poco. Este proceso se ha visto favorecido, además, por la flexibilidad del este método,
la cual seguramente es consecuencia de un sólido fundamento intuitivo. Esta es la
razón que hace posible que se presenten un gran número de modificaciones
contextuales que no llegan a afectar al resultado final. El método de Henkin es, por
tanto, un método de trabajo más que una demostración concreta dotada de un mayor
o menor número de pasos. Un dato a favor de esta tesis lo ofrecen numerosos
desarrollos dentro de las llamadas lógicas no-clásicas, las cuales, difiriendo a veces
332
Comparando cálculos y modelos
mucho del modelo ilustrado en LPO hacen uso, no obstante, de las mismas técnicas
que Henkin usara para establecer la completitud de LPO. Mi objetivo será hacer
entender los pasos básicos de este método.
La solidez de las intuiciones básicas del método de Henkin se basa en un
razonamiento sumamente simple y al que pocas veces se presta la debida atención.
Concebir una forma de poner en conexión la condición relativa a los modelos de M que
se expresa al afirmar que X√ C A con una prueba de A a partir de X no es, ciertamente,
tarea fácil. Pero como sucede tantas veces en Lógica, lo que a veces no se aprecia de
forma directa puede resultar relativamente fácil de entender si se mira de otro modo.
Supongamos que XúA. Lo que la completitud de LPO tendría que afirmar en tal caso
es que XûC A. Simplemente hemos invertido –dado la vuelta- la presentación habitual
de la propiedad de completitud (fuerte). Decir que XûC A supone tanto como sostener la
existencia de un modelo µ en M tal que [X] µ =V y para el cual sucede, además, que
[A]µ =F. Esta afirmación sitúa la prueba del teorema de completitud en un camino que
parece conducir directamente a la construcción de ese modelo a partir de la
información que quepa extraer de XúA. Mantener que A no es derivable a partir de X
no es, sin embargo, una afirmación más fácil de manejar que aquella que sostiene que
X√ C A, lo cual nos deja en una situación no mucho mejor que la anterior. Cosa muy
distinta sería si en vez de considerar como punto de partida algo tan débil como XúA
dispusiéramos de algo considerablemente más fuerte como pudiera ser Y|¬A. En tal
caso podríamos pensar en utilizar la información codificada en la existencia de dicha
prueba para analizar la posible construcción del modelo µ mencionado líneas atrás.
Aún estaríamos a tiempo de reconducir nuestra estrategia si fuésemos capaces de
demostrar que siempre que XúA, entonces existe un conjunto Y tal que X⊆Y dándose,
además, que Y|¬A. Logrado este paso, habría que mostrar entonces que en la
afirmación Y|¬A sí hay suficiente información como para construir el modelo requerido.
333
Lógica de Primer Orden
No pretendo que sea fácil entender el proceso, me conformo con que no
parezca puro arte de magia. Voy a resumir lo dicho en términos de un esquema
informal:
[10]
Planteamiento heurístico de la demostración del Teorema de
Completitud:
1. Inversión del enunciado del teorema: Si XúA, entonces XûC A
2. Reforzamiento de la afirmación XúA: Si XúA, entonces existe un Y
tal que X⊆Y, y Y|¬A.
3. Análisis modelista de Y|¬A: Si Y|¬A, entonces existe un modelo µ,
cuya construcción se ofrece, basado es esa afirmación y para el
cual sucede que [X] µ =V mientras que [A]µ =F.
Si tomamos el antecedente de la tesis que se sostiene en [10.1] y procedemos
a encadenarla con las restantes afirmaciones de [10] –viejo método conocido como
silogismo hipotético- llegamos finalmente a la tesis según la cual existe un modelo µ tal
que [X]µ =V y [A] µ =F, es decir, habremos llegado a probar que XûC A a partir de XúA.
Una demostración de completitud tipo Henkin consta básicamente de tres
etapas que no corresponden exactamente a las descritas en [10], aunque el efecto es,
obviamente, el mismo. De hecho, será conveniente que interpretemos estas fases
como los puntos críticos de los que dependen luego la satisfacción de los pasos que
acabamos de comentar. Los fases a las que hago ahora referencia son:
[11]
Fases de la demostración de completitud por el procedimiento de
Henkin :
1. Lema de Lindenbaum. Se muestra de qué modo conectar una
afirmación del tipo XúA con la existencia de un superconjunto Y de X
de muy especial factura que garantiza que Y|¬A.
334
Comparando cálculos y modelos
2. Teorema de Henkin. Se aprovechan las propiedades genuinas de
los conjuntos del tipo al que pertenece el conjunto Y anterior para
construir un modelo que satisface exactamente las fórmulas en ese
conjunto.
3. Teorema de Completitud. Se reúnen las piezas anteriores mediante
un razonamiento lógico elemental que da como resultado la
conexión de XúA con XûC A y por tanto, el establecimiento definitivo
de la tesis por la cual si X√ C A, entonces X|A.
La primera de estas etapas tiene como objeto analizar las condiciones bajo las
cuales un conjunto de fórmulas puede llegar constituir una forma de representar el
contenido de un modelo. El teorema [9] establece una condición necesaria para que tal
cosa pueda darse. Ningún conjunto inconsistente puede representar un modelo ya que
los modelos no pueden, por definición, verificar simultáneamente una fórmula y su
negación. Por tanto, hemos de partir siempre de conjuntos consistentes. Un conjunto
consistente puede contener muchas fórmulas, pero, desde luego deja de contener
muchas otras. De hecho, un conjunto de fórmulas X del cual solo sabemos que es
consistente puede dejar de contener tanto A como ¬A, para multitud de fórmulas de
LC . Eso introduce también una cierto obstáculo en los derechos que un conjunto
consistente puede tener a representar en el lenguaje un cierto modelo, ya que todo
modelo es tal que, por definición, siempre verifica, o bien A, o bien ¬A.
Si sumamos las dos dificultades identificadas, pronto veremos que para que un
conjunto de fórmulas pueda ser un buen candidato a la representación de un modelo
hay que conseguir añadirle tantas fórmulas como sea posible sin perder en ningún
momento la consistencia. Una forma de aproximarnos a ese objetivo puede ser añadir
al conjunto de partida todas aquellas fórmulas que son derivables a partir de él. Dado
un conjunto X, lo que se obtendría entonces es la teoría generada por X, esto es,
Th(X). Una teoría Th(X) es un conjunto que incluye a X y que, por definición, es
335
Lógica de Primer Orden
consistente. Sin embargo, queda aún muy lejos de lo que se necesita. De hecho, no
hay nada que pueda ocupar el lugar de la siguiente noción fundamental:
[12]
Un conjunto máximamente consistente es todo conjunto X que satisface
las siguientes condiciones:
i.
X es consistente y
ii.
Para cada fórmula A, o bien A∈X o bien ¬A∈X.
De esta definición y de la equivalencia de las nociones de consistencia simple
absoluta se sigue que
[13]
Teorema: Si X es un conjunto máximamente consistente entonces para
toda fórmula A sucede que si A∉X, entonces XW{A} es inconsistente.
Esquema de la demostración. Si A∉X, entonces por maximalidad ¬A∈X.
Así pues X,A|¬A, pero por reflexividad X,A|A, y por tanto XW{A} es
inconsistente.
Un conjunto máximamente consistente resulta ser, por tanto, un conjunto al que
no es posible añadirle ninguna fórmula sin romper esa consistencia. Por otra parte, es
evidente que un conjunto de estas características retiene las buenas propiedades de
las teorías. En concreto,
[14]
Teorema: Si X es un conjunto máximamente consistente, entonces para
toda fórmula A sucede que X|A syss A∈X.
Esquema de la demostración. La parte no trivial es aquella en que se
establece que si X es máximamente consistente, entonces si X|A,
336
Comparando cálculos y modelos
sucede que A∈X. Supongamos que A∉X. Por maximalidad, sucede
entonces que ¬A∈X. Pero entonces X|¬A y X|A, y por tanto X no es
consistente, contrariamente a lo que se había afirmado en principio.
Si analizamos [12] observamos que las condiciones impuestas sobre un
conjunto de fórmulas para ser máximamente consistente son, ni más ni menos,
aquellas que se precisan para poder considerarlo como un buen candidato a la
representación lingüística de un modelo. No estoy diciendo que lo sea, sino que
cumple ciertas condiciones que son necesarias en todo conjunto de fórmulas que
aspire a comportarse de ese modo. Por otra parte, y como queda de manifiesto en el
teorema [14], los criterios empleados en esta definición proceden del cálculo. Es decir,
un conjunto máximo es un tipo especial de teoría que aspira a representar un modelo.
De hecho, es el tipo de conjunto Y cuya existencia se reclama en [10.2]. No obstante,
al hablar en esa ocasión de un cierto conjunto Y se exigía, además, que fuese posible
mostrar que dado un conjunto consistente cualquiera –no necesariamente máximoX⊆Y. No sabemos cuan peculiares son los conjuntos máximamente consistentes, de
hecho, no sabemos si existen. El Lema de Lindenbaum resuelve este problema
mostrando que todo conjunto consistente está incluido en algún conjunto consistente
máximo, y lo hace estableciendo una construcción inductiva de un conjunto máximo a
partir de un conjunto consistente cualquiera.
El siguiente resultado no desempeña un papel de gran relevancia en la
demostración del Lema de Lindenbaum pero actúa como superestructura del proceso
facilitando en alguna ocasión las cosas.
[15]
Teorema: Si X es un conjunto consistente de fórmulas, entonces para
cualquier fórmula A, o bien XW{A} es consistente, o bien XW{¬A} es
consistente.
337
Lógica de Primer Orden
Esquema de la demostración. Este resultado pasa por demostrar que
para cualquier conjunto X y cualquier fórmula A sucede que X|A syss
XW{¬A} es inconsistente. La parte no trivial de este resultado es aquella
en la que se pasa de la afirmación de que XW{¬A} es inconsistente a
X|A. Si ese conjunto es inconsistente, entonces X,¬A|B y X,¬A|¬B. Es
trivial demostrar en tal caso –queda como ejercicio- que X|A.
Supongamos ahora que tanto XW{A} como XW{¬A} son inconsistentes.
Según lo visto eso implica que X|A y X|¬A, contradiciendo la
consistencia de X.
Para establecer los términos de la construcción de Lindenbaum necesitamos
antes fijar unas condiciones dentro de las cuales actuar. En primer lugar vamos a
definir un lenguaje L* C a partir de LC el cual resulta de añadir a las constantes
individuales del vocabulario básico de LC todos los parámetros {u1,...ui...} empleados
en la presentación de los cálculos anteriores. Además, asumiremos que en ese
lenguaje el cuantor universal se introduce por definición. Esto permitirá prescindir de él
en la práctica abreviando algunas consideraciones. A continuación vamos asumir la
existencia de una función de enumeración para las fórmulas cerradas de ese nuevo
lenguaje. Esta función, sea ε, asocia a cada entero positivo una fórmula de L* C . La
existencia de esta función necesita ser establecida de manera efectiva. Podemos
obviar el paso ya que enumerar las fórmulas de un lenguaje como L* C es tarea trivial.
No lo sería tanto si en lugar de considerar un conjunto enumerable de parámetros –o
testigos, como también se conocen en los contextos modelistas- hubiéramos
precisado una cantidad mayor de ellos. Una que resultase no enumerable. En la
medida en que no nos vamos a ocupar de considerar modelos con universos no
enumerables esa necesidad, y las complicaciones que de ella se derivan, resulta
prescindible. Sí quiero advertir, no obstante, de la existencia de técnicas que permiten
extender el formato general que ahora discutimos a lenguajes de cualquier cardinal –
tamaño-. La existencia de una función enumerante se justifica entonces haciendo uso
de un teorema de teoría de conjuntos de carácter menos elemental que lo visto hasta
338
Comparando cálculos y modelos
ahora. Se trata del teorema del buen orden cuya exposición va un poco más allá de los
objetivos de este curso.
Una vez establecidas estas condiciones vamos a mostrar sin más dilación en
qué consiste una construcción de Lindenbaum.
[16]
Construcción de Lindenbaum. Sea X un conjunto consistente cualquiera
de fórmulas pertenecientes a LC y sea ε una enumeración de L* C . A
partir de ahí se procede a construir la siguiente cadena de conjuntos de
fórmulas:
1. X0=X
Xi, si XiW{Ai} es inconsistente, siendo Ai es la i-ésima
fórmula de la enumeración
2. Xi+1=
XiW{Ai} si dicho conjunto es consistente y Ai no es de la
forma ∃xB para alguna fórmula B
XiW{Ai, B(x/ui)} si dicho conjunto es consistente y Ai es de
la forma ∃xB para alguna fórmula B, siendo ui el primer
parámetro que no figura en XiW{Ai}.
3
X*=WXi, i∈.
Lo que el Lema de Lindenbaum hace ahora es establecer que X* es
efectivamente un conjunto máximamente consistente y que, además, para cualquier
conjunto X consistente existe un X* tal para el cual se cumple que X⊆X*. Esto suele
expresarse afirmando que todo conjunto consistente de fórmulas se extiende a uno
máximamente consistente.
339
Lógica de Primer Orden
Antes de pasar a ese punto convendría explicar algún detalle de la
construcción que tal vez haya podido quedar menos claro. Puede extrañar, por
ejemplo, la exigencia de que cada fórmula existencial sea acompañada de una
instancia de substitución que garantice que realmente existe en ese conjunto un
parámetro que reemplaza a la variable bajo el alcance del cuantor. La razón para ello
consiste en impedir que se puedan formar conjuntos en los que se encuentra una
cierta fórmula A del tipo ∃xB al tiempo que para cada constante individual en L* C
¬B(x/c) pertenece igualmente a ese conjunto. Cualquier mecanismo deductivo que
empleemos permite dar lugar a esa situación simplemente añadiendo parámetros
nuevos. La idea de ejemplificar mediante un parámetro o testigo la presencia de
fórmulas existenciales provoca que en algún punto de la enumeración nos veamos
obligados a excluir alguna fórmula del tipo ¬B(x/c), si queremos preservar la
consistencia del resultado. Si hubiéramos admitido la presencia de cuantores
universales, nos habríamos visto en la necesidad de admitir algo parecido para el caso
de fórmulas del tipo ¬∀xB.
[17]
Lema de Lindenbaum. Todo conjunto consistente de fórmulas X se
extiende a uno máximamente consistente X*.
Esquema de la demostración. La demostración consta de tres partes. La
primera de ellas establece que X⊆X*, lo cual es obvio por la
construcción anterior, así que prescindiremos de más detalles. La
segunda establece que X* es consistente, y la tercera que es máximo.
X* es consistente: Supongamos, no obstante, que existe una fórmula A
tal que X*|A y X*|¬A. Por el teorema [14] eso implica que tanto A como
¬A pertenecen a X*. Puesto que existe una enumeración ε de todas las
fórmulas en L* C , podemos suponer que A es Bi bajo esa enumeración
mientras que ¬A es Bj. Puesto que no afecta en nada al razonamiento
supondremos que i<j. Por la construcción de X* eso supone que
340
Comparando cálculos y modelos
Xi+1=XiW{Bi}. Ahora bien, esa misma construcción garantizará que Xj=Xi,
ya que al haber añadido antes Bi, y ser Bj su negación, nunca llegará a
añadirse Bj.
X* es máximo: Supongamos que hay una fórmula A tal que ni ella ni su
negación pertenecen a X*. Al igual que antes podemos suponer que por
la enumeración ε A=Bi, ¬A=Bj y que i<j. Puesto que Bi no pertenece a
X*, podemos suponer por la construcción de X* que XiW{Bi} es
inconsistente, pero entonces por el teorema [15] XjW{Bj} es consistente y
entonces la construcción de X* garantiza que Xj+1=Xj W{Bj}, y por tanto,
Bj∈X*, contrariamente a lo que se había supuesto.
Con este resultado hemos mostrado que la idea vertida en [10.2] responde a
una construcción formal perfectamente coherente. Todo conjunto consistente puede
ser extendido a uno máximamente consistente siguiendo para ello las reglas
establecidas por el cálculo. Obsérvese que el criterio que determina si una fórmula ha
de ser añadida o no en una etapa de la construcción de X* es la existencia de pruebas
que hagan del conjunto considerado un conjunto trivial –inconsistente- desde el punto
de vista del cálculo. No se trata de considerar en este punto la propia conducta
modelista de las constantes lógicas, sino las reglas del propio cálculo. Cuánto se
parezcan un conjunto máximo y un modelo dependerá en parte de lo bien que cada
sistema de reglas represente la conducta modelista de cada constante. Pero este es
un asunto en el que aún no hemos entrado. Corresponde, en definitiva, analizar el
tercer paso de los que han sido mencionados en [10].
De lo que se trata ahora es de analizar si la información vertida en un conjunto
máximamente consistente basta o no para construir un modelo. Si realmente es
suficiente como para dar lugar a un modelo adecuado para LC , es decir, un modelo en
M, entonces estaremos realmente muy cerca de lograr nuestro objetivo.
341
Lógica de Primer Orden
Lo primero que hay que abordar es la construcción de un dominio adecuado a
ese modelo, pero por fortuna esta es tarea fácil. La adición de los parámetros
empleados en el cálculo al conjunto de las constantes de L* C permite establecer un
interfaz entre los conjuntos máximos obtenidos por la construcción de Lindenbaum y el
dominio del modelo µ que se desea construir. Teniendo eso en cuenta, parece claro
que lo que corresponde es considerar un dominio sobre el cual proyectar el conjunto
formado por la unión de las constantes en {a1,...ai,...} y los parámetros en {u1,...ui,...}.
Sólo merece la pena hacer notar que la unión de ambos conjuntos no contiene más
elementos que los que pueda haber en un conjunto de cardinal enumerable. En otras
palabras, la unión de dos conjuntos enumerables cualesquiera sólo genera un
conjunto de cardinal enumerable. El paso siguiente es la construcción de la función I
de interpretación que, junto con el dominio U forma el par µ=<U,I>.
[18]
Construcción del modelo canónico µ* de un conjunto consistente
máximo X*.
1. Dominio. U* un conjunto cualquiera de cardinal enumerable.
2. Función I*.
i.
Para cada término t en L* C I*(t)∈U* con la única condición
de que para cualesquiera dos términos distintos t, t’
sucede que I*(t)≠I*(t’).
ii.
-
Para cada letra relacional n-aria Rin,
<[t1]µ*,g,...[tn]µ*,g>∈I*(Rin) syss Rint1,...tn∈X*, donde g es una
función arbitraria de asignación definida sobre U*.
Como se puede ver, el modelo generado a partir de X*, al cual se suele añadir
el calificativo de “canónico”, establece la imagen de la función I* de interpretación
tomando en cuenta la información atómica presente en X*. Puesto que X* es un
342
Comparando cálculos y modelos
conjunto consiste y máximo sabemos que para cada letra relacional y cada n-tupla
existe información disponible capaz de generar una función de interpretación
aceptable. La razón de exigir que cada término en L* C quede asociado a un elemento
distinto en U* se debe a la necesidad de evitar posibles conflictos en la interpretación
que no existen en el conjunto X*. Puesto que disponemos de suficientes elementos en
U* como para evitar este tipo de problema, lo suyo es no provocarlo de forma artificial.
La función de asignación g no desempeña aquí papel alguno, ya que en X* no existen
fórmulas con variables libres, pero es necesaria para construir luego la función [.]µ*,g
que permite dar un valor a cada fórmula en L* C.
El paso dado en [18] es importante al mostrar la forma de generar un modelo a
partir de la información atómica contenida en X*, pero no garantiza en absoluto que la
función modelo [.]µ* verifique exactamente las fórmulas en X*. Este punto es el que
resulta realmente crucial porque es ahí donde vamos a comprobar si el criterio seguido
para construir X*, las reglas del cálculo, y el que permite generar [.]µ* a partir de µ*, las
clásulas semánticas, coinciden del modo deseado. Esto nos lleva discutir el siguiente
enunciado:
[19]
Lema : Para toda fórmula A de L* C y todo conjunto máximamente
consistente X* sucede que A∈X* syss [A] µ* =V.
Esquema de la demostración. La demostración procede por inducción
sobre el grado lógico.
Base: Fórmulas atómicas. Por la construcción del modelo canónico µ*
sabemos que <[t1]µ*,g,...[tn]µ*,g>∈I*(Rin) syss Rint1,...tn∈X*. Ahora bien,
esos supone tanto como admitir que [Rint1,...tn]µ*,g=V.
Hipótesis de inducción: Supongamos que el resultado se cumple para
fórmulas de grado lógico n. A continuación vamos a probar que se
cumple para fórmulas de grado lógico n+1. Consideraremos sólo tres
casos.
Caso 1. A=¬B.
343
Lógica de Primer Orden
i.
¬B∈X*. Por la consistencia de X* sabemos que B∉X*. Puesto
que B es a lo sumo de grado n, sabemos que el teorema se
cumple. Eso significa que [B]µ*,g=F. Por la cláusula
correspondiente al negador tenemos entonces que [¬B]µ*,g=V.
ii.
[¬B]µ*,g=V. Por la cláusula, [B]µ*,g=F. Por hipótesis de inducción
se tiene entonces que B∉X*. Por la condición de maximalidad se
tiene entonces que ¬B∈X*.
Caso 2. A=B→C.
i.
B→C∈X*. Si B→C∈X*, entonces o bien B∉X*, o bien C∈X*.
Supongamos que no es así. En tal caso, B∈X* y C∉X*. Es
inmediato comprobar que todo conjunto máximamente
consistente es cerrado bajo la siguiente regla: si A→B∈X* y
A∈X*, entonces B∈X*. En este caso eso supone que C∈X*. Por
tanto podemos dar por sentado que si B→C∈X*, entonces o
bien B∉X*, o bien C∈X*. Por hipótesis de inducción, y puesto
que tanto B como C son de grado lógico menor o igual que n,
tenemos que [B]µ*,g=F o [C]µ*,g=V. Pero eso supone tanto como
afirmar que [B→C]µ*,g=V.
ii.
[B→C]µ*,g=V. Por la cláusula del condicional se tiene que
[B]µ*,g=F o [C]µ*,g=V. Puesto que tanto B como C son de grado
menor que n, podemos asumir que el resultado se cumple para
ambas. Hay dos casos:
a) B∉X*. Por maximalidad, ¬B∈X*. Queda como ejercicio
mostrar que todo conjunto máximamente consistente es
cerrado bajo la regla siguiente: si A∈X* entonces AvB∈X*.
En nuestro caso eso supone afirmar que ¬BvC∈X* y de ahí
aplicando la definición del condicional, B→C∈X*.
b) C∈X*. Similar al caso anterior, pero aplicando en este caso la
clausura bajo la regla: si B∈X*, entonces AvB∈X*.
344
Comparando cálculos y modelos
Caso 3. A=∃xB
i.
∃xB∈X*. Puesto que X* dispone, por construcción, de al menos
un tesigo –parámetro- ui para instanciar ∃xB, podemos afirmar
que si ∃xB∈X*, entonces existe un parámetro ui tal que
B(x/ui)∈X*. Puesto que B(x/ui) es de grado lógico a lo sumo n, se
puede aplicar la hipótesis de inducción y afirmar que
[B(x/ui)]µ*,g=V. De ahí por la clásula del cuantor pasamos sin más
a [∃xB]µ*,g=V.
ii.
[∃xB]µ*,g=V. Aplicando la clásula correspondiente y la hipótesis
de inducción llegamos a que B(x/ui)∈X* para algún parámetro ui.
Es obvio que X*W{¬∃xB} es inconsistente, y por tanto, por la
maximalidad de X*, ∃xB∈X*.
Aunque largo y algo tedioso, este lema constituye realmente la piedra
angular de una demostración de completitud tipo Henkin. A parte del uso
especialmente claro de la hipótesis inducción, que permite descender y
cambiar de plano –del cálculo a los modelos y viceversa- para ascender
posteriormente, merece la pena llamar la atención sobre el papel que
desempeña la presencia de testigos en el tratamiento del cuantor existencial. Si
no hubiésemos hecho uso de este recurso, la presencia de una fórmula del tipo
∃xB en un conjunto X* no permitiría afirmar que existe en ese mismo conjunto
una instancia de substitución adecuada, y por tanto, no podríamos servirnos del
mecanismo que apela a la hipótesis de inducción para llegar a la cláusula
semántica correspondiente. Pero con independencia de este hecho, que muy
bien podría ser interpretado como una simple maniobra técnica, existen
razones profundas para hacer uso de testigos de la forma en que se ha hecho.
Un conjunto máximo que contuviera una fórmula del tipo ∃xB y ninguna de sus
instancias de substitución tendría que contener todas las fórmulas del tipo
¬B(x/ui) para cada parámetro en L* C . Estos conjuntos, consistentes, no
obstante, reciben en ocasiones el nombre de conjuntos ω-inconsistentes. Es
345
Lógica de Primer Orden
obvio que un conjunto ω-inconsistente con respecto al cuantor existencial no
captura el significado modelista de dicha constante lógica, violando, además,
elementos contextuales relativos al manejo de este cuantor en un cálculo.
El último elemento relevante de esta demostración es el que se refiere a la
ausencia de referencias concretas a algún mecanismo particular de cálculo. Es obvio
que apelamos al cálculo constantemente, pero no se hace preciso en ningún momento
tener en cuenta los recursos específicos de alguno de ellos. A lo sumo hemos tenido
que invocar alguna regla cuya clausura se comprueba sobre cualquier conjunto X*
mediante cualquier sistema particular de reglas. Esta es la razón por la cual se suele
afirmar que el método de Henkin es especialmente independiente de las
especificidades de cada cálculo.
Lo siguiente resume por fin buena parte de la discusión.
[20]
Teorema (Teorema de Henkin). Todo conjunto consistente de fórmulas
tiene un modelo de cardinal enumerable.
Esquema de la demostración. Por el lema de Lindenbaum, todo
conjunto consistente X se extiende a un conjunto consistente máximo.
El lema anterior muestra que el modelo canónico µ* es un modelo de
X*, y por tanto, del propio X. Que µ* tiene un universo de cardinal
enumerable se sigue inmediatamente de la enumerabilidad de las
fórmulas en L* C y del modo en que se ha construido dicho modelo.
Estamos ya muy cerca de alcanzar el tercer paso del planteamiento heurístico
expuesto en [10] y con ello la formulación completa del Teorema de completitud para
LPO. Todo lo que resta es la correcta colocación de todas las piezas junto con un poco
de lo que se suele denominar razonamiento lógico elemental. Véase si no.
346
Comparando cálculos y modelos
[21]
Teorema de Completitud (fuerte): Para cualquier conjunto X de fórmulas
y cualquier fórmula A de LC se cumple lo siguiente:
-
si X√A entonces X|A
Esquema de la demostración. Supongamos que XúA. Sabemos que si A
no es derivable a partir de un conjunto X, entonces XW{¬A} es un
conjunto consistente. Por el Teorema de Henkin, todo conjunto
consistente tiene un modelo, y este en particular verifica de manera
simultánea todas las fórmulas en X y ¬A. Es decir, verifica las fórmulas
en X y hace falsa a A, lo cual basta para establecer que XûA.
Como es obvio, la completitud débil se sigue como un corolario inmediato de lo
anterior.
[22]
Corolario (Completitud débil): Para cualquier fórmula A sucede que
-
si √A, entonces |A
Esquema de la demostración. Considerando en [21] X=∅.
Hay un aspecto de este tipo de técnica que no hemos comentado aquí. Se trata
del efecto que sobre ella tiene la adición del símbolo de identidad “=” como constante
347
Lógica de Primer Orden
lógica en Vb. No es la primera vez que procedemos a añadir la identidad –cfr.: [6], cap.
3.3- como recurso extra al final de la exposición de un cierto sistema. En todos los
casos en que se ha efectuado esta maniobra hemos sido conscientes de que la
presencia de esta nueva constante no iba a afectar de manera sustancial a la
conducta de los sistemas en que se incorpora. Esto mismo no se puede afirmar de
manera tan inmediata en el contexto de una demostración de completitud. Podría
suceder que este incremento en la capacidad expresiva explícitamente reconocida en
el lenguaje tuviera como efecto la pérdida de propiedades. Ya hemos avisado en más
de una ocasión de que la incorporación de nuevos recursos en un lenguaje formal
suele se causa de la pérdida de propiedades metateóricas elementales.
Por fortuna, la Lógica de Primer Orden con identidad es tan completa con
respecto a sus modelos como lo era antes el fragmento sin identidad. Lo que sí es
cierto, no obstante, es que para establecer este extremo es preciso superar algunas
dificultades de cierto interés. Incorporar expresiones del tipo t=t’ al lenguaje L* C no
ofrece especial dificultad. Tampoco obtener los correspondientes conjuntos máximos
del tipo X*. La dificultad se presenta en la construcción del modelo canónico que antes
tenía lugar en [18] y que empleábamos luego en la demostración del lema central que
se enuncia en [19]. Supongamos, como en [18], que cada constante individual en L* C
queda asociada a un elemento distinto del dominio U* de µ* por medio de I*. Es obvio
que en tal caso cualquier fórmula del tipo t=t’ resulta falsa en µ*, aunque pueda
encontrarse en X*. Además, es obvio que la presencia en X* de expresiones de ese
tipo habrá tenido un efecto a través cálculo sobre los parámetros que incorporamos en
ciertas fórmulas, efecto al cual no parece sensible el modelo. La menear de resolver
este problema es mediante el paso de U* a un dominio cociente U/u obtenido al definir
la equivalencia “u” del modo que se indica:
[23]
tut’ syss t=t’∈X*
Si empleamos esta relación para generar clases de equivalencia sobre U*/u lo
que obtenemos finalmente, es fácil comprobarlo, es una partición en clases de
348
Comparando cálculos y modelos
equivalencia del conjunto U*, es decir, obtenemos un dominio formado por los
representantes canónicos de las clases de equivalencia obtenidos. Por cierto, es aquí
donde en cierto modo entran en juego las propiedades genuinas de la identidad tal y el
hecho de que sus leyes características, reflexividad, simetría y transitividad, puedan
ser demostradas en el cálculo. Así, donde antes teníamos elementos ui en U* ahora
tenemos sus representantes canónicos [ui]u. Basta reemplazar en [18] U* por U*/u y
asociar mediante I* las nuevas constantes individuales en L* C a elementos en U*/u. Es
inmediato comprobar que bajo estas estipulaciones la identidad se comporta ya de
forma correcta, pudiendo incorporar a la demostración del lema central [19] la parte
correspondiente a la identidad. Esto es, aquel paso en el que se establece que t=t’∈X*
syss [t=t’]µ*,g=V. El detalle se deja como ejercicio. Esto permite afirmar finalmente que
[24]
Teorema de Completitud (fuerte) para LPO=: Para cualquier conjunto X
de fórmulas y cualquier fórmula A de LC = se cumple lo siguiente:
-
si X√A entonces X|A
La discusión de todo lo relativo a la completitud nos ha enseñado a entender
mejor cómo funciona la relación conjuntos de fórmulas y la clase de los modelos que
las verifican. La existencia de modelos canónicos del tipo de µ* muestra hasta qué
punto es posible ajustar esa relación en un contexto en el que no hay significado
material propiamente dicho. Es decir, las razones por las que un modelo lo es de un
conjunto residen en última instancia en el significado de las constantes lógicas y de los
átomos eventualmente presentes en ese conjunto. Una vez que hemos comprobado
que LPO es completa y correcta, no parece que podamos esperar de sus fórmulas y
de los modelos que las satisfacen la identificación de peculiaridades dignas de tener
en cuenta. Dicho de otra forma, dos conjuntos consistentes de fórmulas sólo difieren
en sus hechos atómicos, lo cual, en un contexto puramente formal es irrelevante. No
parece que podamos servirnos con provecho del lenguaje LC para expresar diferencias
349
Lógica de Primer Orden
notables acerca de los modelos que satisfacen una fórmula –o conjunto de ellas- y los
que satisfacen otra sin salirnos por completo del dominio de las ciencias formales. Sin
embargo, existe toda una rama de la Lógica contemporánea, la Teoría de modelos,
dedicada precisamente, a estudiar cómo se pueden emplear fórmulas para expresar
propiedades formales notables de clases de modelos. El siguiente capítulo está
dedicado a comentar algunos de los resultados más elementales de esta parte de la
Lógica.
Orientación bibliográfica.
De nuevo se puede empezar consultando el libro de [Hunter, 1969], secc. 29,
32 y 46. La descripción que se hace de una demostración tipo Henkin en [Crossley,
1972], cap, 2 tiene la ventaja de presentar un esquema muy claro y elucidador del
procedimiento.
El tratamiento más extenso y profundo de esta técnica, así como de muchas de
sus implicaciones figura en [Manzano, 1989], cap. III. Su lectura es prácticamente
obligada.
[Badesa, Jané y Jansana, 1998], cap. 17 presenta el acierto de emplear el
concepto de “modelo canónico”, uso que he adoptado en este capítulo.
350