166
Formalizaci ´ on del teorema de existencia de modelo en Isabelle/HOL Escuela T´ ecnica Superior de Ingenier´ ıa Inform ´ atica Departamento de Ciencias de la Computaci ´ on e Inteligencia Artificial Trabajo Fin de M´ aster Sof´ ıa Santiago Fern ´ andez

Formalizacion´ del teorema de existencia de modelo en

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Formalizacion´ del teorema de existencia de modelo en

Formalizacion del teorema de existencia

de modelo en Isabelle/HOL

Escuela Tecnica Superior de Ingenierıa InformaticaDepartamento de Ciencias de la Computacion e Inteligencia Artificial

Trabajo Fin de Master

Sofıa Santiago Fernandez

Page 2: Formalizacion´ del teorema de existencia de modelo en

2

El presente Trabajo Fin de Master se ha realizado en el Departamento de Cienciasde la Computacion e Inteligencia Artificial de la Universidad de Sevilla y ha sido super-visado por Jose Antonio Alonso Jimenez y Marıa Jose Hidalgo Doblado.

A mis abuelos, a mi tıo Alvaro, a mi familia de Cadiz y de Cordoba, a mis amigos incondi-cionales y a mis tutores. Gracias por el apoyo y motivacion en este ano que da comienzo a unanueva etapa de mi vida.

Page 3: Formalizacion´ del teorema de existencia de modelo en

Indice

Sumario 5

Introduccion 7

1 Notacion uniforme 11

2 Propiedad de consistencia proposicional 31

3 Colecciones de conjuntos cerradas bajo subconjuntos y de caracter finito 51

4 Teorema de existencia de modelo 91

4.1 Sucesiones de conjuntos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

4.2 Teorema de existencia de modelo . . . . . . . . . . . . . . . . . . . . . . . . 101

4.3 Teorema de compacidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

A Lemas de HOL usados 155

A.1 La base de logica de primer orden (1) . . . . . . . . . . . . . . . . . . . . . . 155

A.2 Teorıa de ordenes (3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

A.3 Teorıa de retıculos (5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

A.4 Teorıa de conjuntos (6) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

A.5 Retıculos completos (10) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

A.6 Numeros naturales (15) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

A.7 Conjuntos finitos (17) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164

A.8 Retıculos condicionalmente completos (89) . . . . . . . . . . . . . . . . . . 164

3

Page 4: Formalizacion´ del teorema de existencia de modelo en

4 Indice

Bibliografıa 165

Page 5: Formalizacion´ del teorema de existencia de modelo en

Sumario

El objetivo de la Logica es la formalizacion del conocimiento y su razonamiento. Estetrabajo constituye una continuacion del Trabajo de Fin de Grado Elementos de logica for-malizados en Isabelle/HOL [4], donde se estudiaron la sintaxis, semantica y lema de Hin-tikka de la Logica Proposicional desde la perspectiva teorica de First−Order Logic andAutomated Theorem Proving [5] de Melvin Fitting. Manteniendo dicha perspectiva, noscentraremos en la demostracion del teorema de existencia de modelo, concluyendo con elteorema de compacidad como consecuencia del mismo. Siguiendo la inspiracion de JuliusMichaelis y Tobias Nipkow en Propositional Proof Systems [10], los resultados expuestosseran formalizados mediante Isabelle: un demostrador interactivo que incluye herra-mientas de razonamiento automatico para guiar al usuario en el proceso de formal-izacion, verificacion y automatizacion de resultados. Concretamente, Isabelle/HOL esuna especializacion de Isabelle para la logica de orden superior. Las demostracionesde los resultados en Isabelle/HOL se elaboraran siguiendo dos tacticas distintas a lolargo del trabajo. En primer lugar, cada lema sera probado de manera detallada pres-cindiendo de toda herramienta de razonamiento automatico, como resultado de unabusqueda inversa en cada paso de la prueba. En contraposicion, elaboraremos una de-mostracion automatica alternativa de cada resultado que utilice todas las herramientasde razonamiento automatico que proporciona el demostrador. De este modo, se eviden-ciara la capacidad de razonamiento automatico de Isabelle.

Logic’s purpose is about knowledge’s formalisation and its reasoning. This projectis a continuation of Elementos de logica formalizados en Isabelle/HOL [4] in which we stud-ied Syntax, Semantics and a propositional version of Hintikka’s lemma from the the-oretical perspective of First−Order Logic and Automated Theorem Proving [5] by MelvinFitting. Following the same perspective, we will focus on the demonstration of Propo-sitional Model Existence theorem, concluding with the Propositional Compactness theoremas a consecuence. Inspired by Propositional Proof Systems [10] by Julius Michaelis and To-bias Nipkow, these results will be formalised using Isabelle: a proof assistant includingautomatic reasoning tools to guide the user on formalising, verifying and automating re-sults. In particular, Isabelle/HOL is the specialization of Isabelle for High-Order Logic.The processing of the results formalised in Isabelle/HOL follows two directions. In the

5

Page 6: Formalizacion´ del teorema de existencia de modelo en

6 Indice

first place, each lemma will be proved on detail without any automation, as the result ofan inverse research on every step of the demonstration until it is only completed withdeductions based on elementary rules and definitions. Conversely, we will alternativelyprove the results using all the automatic reasoning tools that are provide by the proofassistant. In this way, Isabelle’s power of automatic reasoning will be shown as thecontrast between these two different proving tactics.

Page 7: Formalizacion´ del teorema de existencia de modelo en

Introduccion

El objetivo de la Logica es la formalizacion del conocimiento y el razonamiento sobreel mismo. Tiene su origen en la logica silogıstica de Aristoteles (384 a.C - 322 a.C) queconsistıa en la deduccion de conclusiones a partir de dos premisas iniciales, recogidaen su obra Organon. Posteriormente, los estoicos (400-200 a.C) comenzaron a plantearsecuestiones semanticas relacionadas con la naturaleza de la verdad.

En el siglo XVII el matematico y filosofo Gottfried Wilhelm Leibniz (1646 – 1716)instaura un programa logico que propone la busqueda de un sistema simbolico dellenguaje natural junto con la matematizacion del concepto de validez, lo que motivo eldesarrollo de la logica moderna del siglo XIX por parte de matematicos y filosofos comoBernard Bolzano (1781 – 1848), George Boole (1815 – 1864), Charles Saunders Pierce(1839 – 1914) y Gottlob Frege (1848 – 1925). Este ultimo introdujo el primer tratamientosistematico de la logica proposicional dentro de la escuela del logicismo, cuyo objetivoconsistıa en investigar los fundamentos de las matematicas para formalizarloslogicamente con el fin de realizar deducciones y razonamientos validos.

En las ultimas decadas, el desarrollo de la computacion y la inteligencia artificialha permitido la formalizacion de las matematicas y la logica mediante el lenguaje com-putacional. Concretamente, el razonamiento automatico es un area que investiga losdistintos aspectos del razonamiento para crear programas y algoritmos que permitanrealizarlo de manera eficiente y automatica. Se fundamenta en el programa logico de-sarrollado por Leibniz, estructurado en base a dos principios: la formalizacion rigurosade resultados y el desarrollo de algoritmos que permitan manipular y razonar a partirde dichas formalizaciones. Entre las principales aplicaciones de este area se encuen-tra la verificacion y sıntesis automaticas de programas que permite la validacion derazonamientos junto con la creacion de herramientas de razonamiento automatico quepermitan el desarrollo de nuevos resultados.

En este contexto nace Isabelle en 1986, desarrollada por Larry Paulson de la Uni-versidad de Cambridge y Tobias Nipkow del Techniche Universitat Munchen. Isabellees un demostrador interactivo que, desde el razonamiento automatico, facilita la for-malizacion logica de resultados y proporciona herramientas para realizar deducciones.En particular, Isabelle/HOL es la especializacion de Isabelle para la logica de orden su-

7

Page 8: Formalizacion´ del teorema de existencia de modelo en

8 Indice

perior. Junto con Coq, ACL2 y PVS, entre otros, constituye uno de los demostradoresinteractivos mas influyentes.

Como demostrador interactivo, Isabelle permite automatizar razonamientos guia-dos por el usuario, verificando cada paso de una deduccion de manera precisa. Ademas,incorpora herramientas de razonamiento automatico para mejorar la productividaddel proceso de demostracion. Para ello, cuenta con una extensa librerıa de resultadoslogicos y matematicos que han sido formalizados y continuan en desarrollo por partede proyectos como The Alexandria Project: Large−Scale Formal Proof for the Working Ma-thematician. Este proyecto comienza en 2017, dirigido por Lawrence Paulson desde laUniversidad de Cambridge. Tiene como finalidad la formalizacion de distintas teorıaspara ampliar la librerıa de Isabelle, junto con la creacion de herramientas interactivasque asistan a los matematicos en el proceso de formalizacion, demostracion y busquedade nuevos resultados.

Este trabajo constituye una continuacion del Trabajo de Fin de Grado Elementosde logica formalizados en Isabelle/HOL [4] dedicado al estudio y formalizacion de la sin-taxis, semantica y lema de Hintikka de la logica proposicional. Inspirado en la primeraseccion de la publicacion Propositional Proof Systems [10] de Julius Michaelis y TobiasNipkow, y basando su contenido teorico en el libro First−Order Logic and AutomatedTheorem Proving [5] de Melvin Fitting, este trabajo tiene como objetivo la demostraciony formalizacion del teorema de existencia de modelo, concluyendo con el teorema de compaci-dad como consecuencia del mismo. Para ello, consta de cuatro capıtulos. En el primerose introduce la notacion uniforme para formulas proposicionales, en el segundo capıtulose estudia la propiedad de consistencia proposicional para colecciones de conjuntos deformulas, el tercero trata sobre las colecciones cerradas bajo subconjuntos y de caracterfinito y en el ultimo capıtulo se demuestra finalmente teorema de existencia de modelo,concluyendo con la prueba del teorema de compacidad.

El primer capıtulo introduce la notacion uniforme para las formulas proposicionales,lo que permite reducir el numero de casos a considerar sobre la estructura de las formulas.Para justificar la clasificacion del conjunto de formulas proposicionales en dos tipos, seintroduce la definicion de formulas semanticamente equivalentes como aquellas quetienen el mismo valor para toda interpretacion. De este modo, las formulas proposi-cionales pueden ser de tipo conjuntivo (las formulas α) y de tipo disyuntivo (las formulasβ), asociandose dos componentes a cada formula segun el tipo al que correspondan.Intuitivamente, una formula de tipo α es semanticamente equivalente a la conjuncionde sus componentes conjuntivas, y una formula de tipo β es semanticamente equiva-lente a la disyuncion de sus componentes disyuntivas. En Isabelle, se formalizaransintacticamente los conjuntos de formulas de tipo α y de tipo β como predicados induc-tivos, prescindiendo de la nocion de equivalencia semantica. Finalmente, el capıtuloconcluye con un lema de caracterizacion de los conjuntos de Hintikka mediante la no-

Page 9: Formalizacion´ del teorema de existencia de modelo en

Indice 9

tacion uniforme.

En el siguiente capıtulo se define la propiedad de consistencia proposicional paracolecciones de conjuntos de formulas. Al final del capıtulo se caracteriza dicha propie-dad mediante notacion uniforme, lo que facilita las demostraciones de los resultadosposteriores.

En el tercer capıtulo se estudian las colecciones de conjuntos de formulas cerradasbajo subconjuntos y de caracter finito. Una coleccion de conjuntos es cerrada bajo sub-conjuntos si todo subconjunto de cada conjunto de la coleccion pertenece a la coleccion,mientras que una coleccion es de caracter finito si para todo conjunto son equivalentesque el conjunto pertenezca a la coleccion y que todo subconjunto finito del mismopertenezca a la coleccion. Por una parte, se probara que toda coleccion de caracter finitoes cerrada bajo subconjuntos. Por otro lado, en este capıtulo se introduciran dos resul-tados sobre extensiones de colecciones de conjuntos de formulas. El primero de ellospermite extender una coleccion con la propiedad de consistencia proposicional a otraque tambien la verifique y sea cerrada bajo subconjuntos. Finalmente, se demostraraque una coleccion cerrada bajo subconjuntos que verifique la propiedad de consistenciaproposicional se puede extender a otra que tambien verifique dicha propiedad y sea decaracter finito.

Por ultimo, el cuarto capıtulo se centra en la demostracion del teorema de existenciade modelo, exponiendo posteriormente la prueba del teorema de compacidad como conse-cuencia de este. El capıtulo esta dividido en tres apartados: el primero, en el que sedefinen ciertas sucesiones de conjuntos de formulas a partir de una coleccion y un con-junto, el segundo apartado dedicado a la demostracion del teorema de existencia de modeloy el tercer apartado donde se demuestra el teorema de compacidad.

Para demostrar el teorema de existencia de modelo, dada una coleccion y un conjuntoperteneciente a ella, se dedicara el primer apartado del cuarto capıtulo a la definicionde ciertas sucesiones monotonas de conjuntos de formulas y a la demostracion de dis-tintos resultados relativos a este tipo de sucesiones. En primer lugar, se demostrara quetodo conjunto de la sucesion pertenece a la coleccion si esta verifica la propiedad deconsistencia proposicional. Por otro lado, se caracterizara cada conjunto de la sucesionmediante la union generalizada de los conjuntos anteriores de la sucesion. Como eshabitual, se definira el lımite de este tipo de sucesiones, probandose que cada conjuntode la sucesion esta contenido en el. En particular, si una formula pertenece al lımite sedemostrara que pertenece a algun conjunto de la sucesion. Finalmente, se probara quetodo subconjunto finito del lımite esta contenido en algun conjunto de la sucesion.

Por otro lado, en la segunda parte del cuarto capıtulo se desarrolla la demostraciondel teorema de existencia de modelo que prueba que todo conjunto de formulas pertene-ciente a una coleccion que verifique la propiedad de consistencia proposicional es satis-facible. Dada una coleccion C en estas condiciones y un conjunto S ∈ C, la clave de la de-

Page 10: Formalizacion´ del teorema de existencia de modelo en

10 Indice

mostracion consiste en probar que S esta contenido en un conjunto de Hintikka que, porel lema de Hintikka, es satisfacible. Para ello, empleando los resultados expuestos en elsegundo capıtulo, extenderemos la coleccion C a otra C ′ que tenga la propiedad de con-sistencia proposicional, sea cerrada bajo subconjuntos y sea de caracter finito. De estemodo, se considerara la sucesion definida a partir de S y C ′ segun el primer apartadodel cuarto capıtulo, y se probara que el lımite de dicha sucesion es un conjunto de Hin-tikka que contiene a S. Para ello, previamente se demostrara que el lımite de este tipode sucesiones es un elemento maximal de la coleccion que lo define si esta es cerradabajo subconjuntos y verifica la propiedad de consistencia proposicional. Por otro ladose demostrara que, si ademas la coleccion es de caracter finito, el lımite pertenece a ella.

Por ultimo, el apartado final del capıtulo se dedica a la demostracion del teorema decompacidad que prueba que todo conjunto de formulas finitamente satisfacible es satisfa-cible. Para su demostracion consideraremos la coleccion formada por los conjuntos deformulas finitamente satisfacibles. Probaremos que dicha coleccion verifica la propie-dad de consistencia proposicional y, por el teorema de existencia de modelo, todo conjuntoperteneciente a ella sera satisfacible.

En lo referente a las demostraciones asistidas por Isabelle/HOL de los resultadosformalizados a lo largo de las secciones, se elaboraran dos tipos de pruebas correspon-dientes a dos tacticas distintas. En primer lugar, se probara cada resultado siguiendoun esquema de demostracion detallado. En el utilizaremos unicamente y de maneraprecisa las reglas de simplificacion y definiciones incluidas en la librerıa de Isabelle,prescindiendo de las herramientas de razonamiento automatico del demostrador. Paraello, se realiza una busqueda inversa en cada paso de la demostracion automatica hastallegar a un desarrollo de la prueba basado en deducciones a partir de resultados ele-mentales que la completen de manera rigurosa. En contraposicion, se evidenciara la ca-pacidad de razonamiento automatico de Isabelle/HOL mediante la realizacion de unaprueba alternativa siguiendo un esquema de demostracion automatico. Para ello se uti-lizaran las herramientas de razonamiento que han sido elaboradas en Isabelle/HOL conel objetivo de realizar deducciones de la manera mas eficiente.

Este trabajo esta disponible en la plataforma GitHub mediante el siguiente enlace:

https://github.com/sofsanfer/TFM

Page 11: Formalizacion´ del teorema de existencia de modelo en

Capıtulo 1

Notacion uniforme

En este capıtulo introduciremos la notacion uniforme inicialmente desarrollada por R.M. Smullyan [12]. La finalidad de dicha notacion es reducir el numero de casos a consi-derar sobre la estructura de las formulas al clasificar estas en dos categorıas, facilitandolas demostraciones y metodos empleados en adelante.

De este modo, las formulas proposicionales pueden ser de dos tipos: las de tipoconjuntivo (las formulas α) y las de tipo disyuntivo (las formulas β). Cada formulade tipo α, o β respectivamente, tiene asociada sus dos componentes α1 y α2, o β1 yβ2 respectivamente. Para justificar dicha clasificacion, introduzcamos inicialmente ladefinicion de formulas semanticamente equivalentes.

Definicion 1.0.1 Dos formulas son semanticamente equivalentes si tienen el mismo valor paratoda interpretacion.

En Isabelle podemos formalizar la definicion de la siguiente manera.

definition semanticEq F G ≡ ∀A. (A |= F)←→ (A |= G)

Segun la definicion del valor de verdad de una formula proposicional en una in-terpretacion dada, podemos ver los siguientes ejemplos de formulas semanticamenteequivalentes.

lemma semanticEq (Atom p) ((Atom p) ∨ (Atom p))by (simp add: semanticEq-def )

lemma semanticEq (Atom p) ((Atom p) ∧ (Atom p))by (simp add: semanticEq-def )

lemma semanticEq ⊥ (⊥ ∧ ⊥)

11

Page 12: Formalizacion´ del teorema de existencia de modelo en

12 Capıtulo 1. Notacion uniforme

by (simp add: semanticEq-def )

lemma semanticEq ⊥ (⊥ ∨ ⊥)by (simp add: semanticEq-def )

lemma semanticEq ⊥ (¬ >)by (simp add: semanticEq-def top-semantics)

lemma semanticEq F (¬(¬ F))by (simp add: semanticEq-def )

lemma semanticEq (¬(¬ F)) (F ∨ F)by (simp add: semanticEq-def )

lemma semanticEq (¬(¬ F)) (F ∧ F)by (simp add: semanticEq-def )

lemma semanticEq (¬ F ∧ ¬ G) (¬(F ∨ G))by (simp add: semanticEq-def )

lemma semanticEq (F → G) (¬ F ∨ G)by (simp add: semanticEq-def )

En contraposicion, tambien podemos dar ejemplos de formulas que no son semanticamenteequivalentes.

lemma ¬ semanticEq (Atom p) (¬(Atom p))by (simp add: semanticEq-def )

lemma ¬ semanticEq ⊥ >by (simp add: semanticEq-def top-semantics)

Por tanto, diremos intuitivamente que una formula es de tipo α con componentesα1 y α2 si es semanticamente equivalente a la formula α1 ∧ α2. Del mismo modo, unaformula sera de tipo β con componentes β1 y β2 si es semanticamente equivalente a laformula β1 ∨ β2.

Definicion 1.0.2 Las formulas de tipo α (formulas conjuntivas) y sus correspondientes compo-nentes α1 y α2 se definen como sigue: dadas F y G formulas cualesquiera,

1. F ∧ G es una formula de tipo α cuyas componentes son F y G.

2. ¬(F ∨ G) es una formula de tipo α cuyas componentes son ¬ F y ¬ G.

Page 13: Formalizacion´ del teorema de existencia de modelo en

13

3. ¬(F −→ G) es una formula de tipo α cuyas componentes son F y ¬ G.

De este modo, de los ejemplos anteriores podemos deducir que las formulas atomicasson de tipo α y sus componentes α1 y α2 son la propia formula. Del mismo modo, laconstante ⊥ tambien es una formula conjuntiva cuyas componentes son ella misma.Por ultimo, podemos observar que dada una formula cualquiera F, su doble negacion¬(¬ F) es una formula de tipo α y componentes F y F.

Formalizaremos en Isabelle el conjunto de formulas α como un predicato induc-tivo. De este modo, las reglas anteriores que construyen el conjunto de formulas detipo α se formalizan en Isabelle como reglas de introduccion. Ademas, anadiremosexplıcitamente una cuarta regla que introduce la doble negacion de una formula comoformula de tipo α. De este modo, facilitaremos la prueba de resultados posteriores rela-cionados con la definicion de conjunto de Hintikka, que constituyen una base para lademostracion del Teorema de Existencia de Modelo.

inductive Con :: ′a formula => ′a formula => ′a formula => bool whereCon (And F G) F G |Con (Not (Or F G)) (Not F) (Not G) |Con (Not (Imp F G)) F (Not G) |Con (Not (Not F)) F F

Las reglas de introduccion que proporciona la definicion anterior son las siguientes.

Con (F ∧ G) F G

Con (¬ (F ∨ G)) (¬ F) (¬ G)

Con (¬ (F → G)) F (¬ G)

Con (¬ (¬ F)) F F (Con.intros)

Por otro lado, definamos las formulas disyuntivas.

Definicion 1.0.3 Las formulas de tipo β (formulas disyuntivas) y sus correspondientes compo-nentes β1 y β2 se definen como sigue: dadas F y G formulas cualesquiera,

1. F ∨ G es una formula de tipo β cuyas componentes son F y G.

2. F −→ G es una formula de tipo β cuyas componentes son ¬ F y G.

3. ¬(F ∧ G) es una formula de tipo β cuyas componentes son ¬ F y ¬ G.

Page 14: Formalizacion´ del teorema de existencia de modelo en

14 Capıtulo 1. Notacion uniforme

De los ejemplos dados anteriormente, podemos deducir analogamente que las formulasatomicas, la constante ⊥ y la doble negacion sob tambien formulas disyuntivas con lasmismas componentes que las dadas para el tipo conjuntivo.

Del mismo modo, su formalizacion se realiza como un predicado inductivo, de ma-nera que las reglas que definen el conjunto de formulas de tipo β se formalizan en Isa-belle como reglas de introduccion. Analogamente, introduciremos de manera explıcitauna regla que senala que la doble negacion de una formula es una formula de tipodisyuntivo.

inductive Dis :: ′a formula => ′a formula => ′a formula => bool whereDis (Or F G) F G |Dis (Imp F G) (Not F) G |Dis (Not (And F G)) (Not F) (Not G) |Dis (Not (Not F)) F F

Las reglas de introduccion que proporciona esta formalizacion se muestran a con-tinuacion.

Dis (F ∨ G) F G

Dis (F → G) (¬ F) G

Dis (¬ (F ∧ G)) (¬ F) (¬ G)

Dis (¬ (¬ F)) F F (Dis.intros)

Cabe observar que las formalizaciones de la definiciones de formulas de tipo α

y β son definiciones sintacticas, pues construyen los correspondientes conjuntos deformulas a partir de una reglas sintacticas concretas. Se trata de una simplificacionde la intuicion original de la clasificacion de las formulas mediante notacion uniforme,ya que se prescinde de la nocion de equivalencia semantica que permite clasificar latotalidad de las formulas proposicionales.

Veamos la clasificacion de casos concretos de formulas. Por ejemplo, segun hemosdefinido la formula >, es sencillo comprobar que se trata de una formula disyuntiva.

lemma Dis > (¬ ⊥) ⊥unfolding Top-def by (simp only: Dis.intros(2))

Por otro lado, se observa a partir de las correspondientes definiciones que la con-juncion generalizada de una lista de formulas es una formula de tipo α y la disyunciongeneralizada de una lista de formulas es una formula de tipo β.

lemma Con (∧(F#Fs)) F (

∧Fs)

by (simp only: BigAnd.simps Con.intros(1))

Page 15: Formalizacion´ del teorema de existencia de modelo en

15

lemma Dis (∨(F#Fs)) F (

∨Fs)

by (simp only: BigOr.simps Dis.intros(1))

Finalmente, de las reglas que definen las formulas conjuntivas y disyuntivas sededuce que la doble negacion de una formula es una formula perteneciente a ambostipos.

lemma notDisCon: Con (Not (Not F)) F F Dis (Not (Not F)) F Fby (simp only: Con.intros(4) Dis.intros(4))+

A continuacion vamos a introducir el siguiente lema que caracteriza las formulasde tipo α y β, facilitando el uso de la notacion uniforme en Isabelle.

lemma con-dis-simps:Con a1 a2 a3 = (a1 = a2 ∧ a3 ∨(∃ F G. a1 = ¬ (F ∨ G) ∧ a2 = ¬ F ∧ a3 = ¬ G) ∨(∃G. a1 = ¬ (a2 → G) ∧ a3 = ¬ G) ∨a1 = ¬ (¬ a2) ∧ a3 = a2)

Dis a1 a2 a3 = (a1 = a2 ∨ a3 ∨(∃ F G. a1 = F → G ∧ a2 = ¬ F ∧ a3 = G) ∨(∃ F G. a1 = ¬ (F ∧ G) ∧ a2 = ¬ F ∧ a3 = ¬ G) ∨a1 = ¬ (¬ a2) ∧ a3 = a2)

by (simp-all add: Con.simps Dis.simps)

Por ultimo, introduzcamos un resultado que permite caracterizar los conjuntos deHintikka empleando la notacion uniforme.

Lema 1.0.4 (Caracterizacion de los conjuntos de Hintikka mediante la notacion uniforme)Dado un conjunto de formulas proposicionales S, son equivalentes:

1. S es un conjunto de Hintikka.

2. Se verifican las condiciones siguientes:

• ⊥ no pertenece a S.

• Dada p una formula atomica cualquiera, no se tiene simultaneamente quep ∈ S y ¬ p ∈ S.

• Para toda formula de tipo α con componentes α1 y α2 se verifica que si la formulapertenece a S, entonces α1 y α2 tambien.

• Para toda formula de tipo β con componentes β1 y β2 se verifica que si la formulapertenece a S, entonces o bien β1 pertenece a S o bien β2 pertenece a S.

Page 16: Formalizacion´ del teorema de existencia de modelo en

16 Capıtulo 1. Notacion uniforme

En Isabelle/HOL se formaliza del siguiente modo.

lemma Hintikka S = (⊥ /∈ S∧ (∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ False)∧ (∀ F G H. Con F G H −→ F ∈ S −→ G ∈ S ∧ H ∈ S)∧ (∀ F G H. Dis F G H −→ F ∈ S −→ G ∈ S ∨ H ∈ S))oops

Procedamos a la demostracion del resultado.

Demostracion: Para probar la equivalencia, veamos cada una de las implicaciones porseparado.

1) =⇒ 2)

Supongamos que S es un conjunto de Hintikka. Vamos a probar que, en efecto, severifican las condiciones del enunciado del lema.

Por definicion de conjunto de Hintikka, S verifica las siguientes condiciones:

1. ⊥ /∈ S.

2. Dada p una formula atomica cualquiera, no se tiene simultaneamente quep ∈ S y ¬ p ∈ S.

3. Si G ∧ H ∈ S, entonces G ∈ S y H ∈ S.

4. Si G ∨ H ∈ S, entonces G ∈ S o H ∈ S.

5. Si G→ H ∈ S, entonces ¬ G ∈ S o H ∈ S.

6. Si ¬(¬ G) ∈ S, entonces G ∈ S.

7. Si ¬(G ∧ H) ∈ S, entonces ¬ G ∈ S o ¬ H ∈ S.

8. Si ¬(G ∨ H) ∈ S, entonces ¬ G ∈ S y ¬ H ∈ S.

9. Si ¬(G→ H) ∈ S, entonces G ∈ S y ¬ H ∈ S.

De este modo, el conjunto S cumple la primera y la segunda condicion del enunciadodel lema, que se corresponden con las dos primeras condiciones de la definicion deconjunto de Hintikka. Veamos que, ademas, verifica las dos ultimas condiciones delresultado.

En primer lugar, probemos que para toda formula de tipo α con componentes α1 yα2 se verifica que si la formula pertenece al conjunto S, entonces α1 y α2 tambien. Paraello, supongamos que una formula cualquiera de tipo α pertence a S. Por definicion deeste tipo de formulas, tenemos que α puede ser de la forma G ∧ H, ¬(¬ G),

Page 17: Formalizacion´ del teorema de existencia de modelo en

17

¬(G ∨ H) o ¬(G −→ H) para formulas G y H cualesquiera. Probemos que, para cadatipo de formula α perteneciente a S, sus componentes α1 y α2 estan en S.

� Formula del tipo G ∧ H: Sus componentes conjuntivas son G y H. Por la terceracondicion de la definicion de conjunto de Hintikka, obtenemos que si G ∧ H pertenecea S, entonces G y H estan ambas en el conjunto, lo que prueba este caso.

� Formula del tipo ¬(¬ G): Sus componentes conjuntivas son ambas G. Por la sextacondicion de la definicion de conjunto de Hintikka, obtenemos que si ¬(¬ G) pertenecea S, entonces G pertenece al conjunto, lo que prueba este caso.

� Formula del tipo ¬(G ∨ H): Sus componentes conjuntivas son ¬ G y ¬ H. Por laoctava condicion de la definicion de conjunto de Hintikka, obtenemos que si ¬(G ∨ H)pertenece a S, entonces ¬ G y ¬ H estan ambas en el conjunto, lo que prueba este caso.

� Formula del tipo ¬(G −→ H): Sus componentes conjuntivas son G y ¬ H. Por lanovena condicion de la definicion de conjunto de Hintikka, obtenemos que si¬(G −→ H) pertenece a S, entonces G y ¬ H estan ambas en el conjunto, lo que pruebaeste caso.

Finalmente, probemos que para toda formula de tipo β con componentes β1 y β2 severifica que si la formula pertenece al conjunto S, entonces o bien β1 pertenece al con-junto o bien β2 pertenece a conjunto. Para ello, supongamos que una formula cualquierade tipo β pertence a S. Por definicion de este tipo de formulas, tenemos que β puede serde la forma G ∨ H, G −→ H, ¬(¬ G) o ¬(G ∧ H) para formulas G y H cualesquiera.Probemos que, para cada tipo de formula β perteneciente a S, o bien su componente β1pertenece a S o bien su componente β2 pertenece a S.

� Formula del tipo G ∨ H: Sus componentes disyuntivas son G y H. Por la cuartacondicion de la definicion de conjunto de Hintikka, obtenemos que si G ∨ H pertenecea S, entonces o bien G esta en S o bien H esta en S, lo que prueba este caso.

� Formula del tipo G −→ H: Sus componentes disyuntivas son ¬ G y H. Por la quintacondicion de la definicion de conjunto de Hintikka, obtenemos que si G−→H pertenecea S, entonces o bien ¬ G pertenece al conjunto o bien H pertenece al conjunto, lo queprueba este caso.

� Formula del tipo ¬(¬ G): Sus componentes conjuntivas son ambas G. Por la sextacondicion de la definicion de conjunto de Hintikka, obtenemos que si ¬(¬ G) pertenecea S, entonces G pertenece al conjunto. De este modo, por la regla de introduccion a ladisyuncion, se prueba que o bien una de las componentes esta en el conjunto o bien loesta la otra pues, en este caso, coinciden.

� Formula del tipo ¬(G ∧ H): Sus componentes conjuntivas son ¬ G y ¬ H. Por laseptima condicion de la definicion de conjunto de Hintikka, obtenemos que si¬(G ∧ H) pertenece a S, entonces o bien ¬ G pertenece al conjunto o bien ¬ H pertenece

Page 18: Formalizacion´ del teorema de existencia de modelo en

18 Capıtulo 1. Notacion uniforme

al conjunto, lo que prueba este caso.

2) =⇒ 1)

Supongamos que se verifican las condiciones del enunciado del lema:

• ⊥ no pertenece a S.

• Dada p una formula atomica cualquiera, no se tiene simultaneamente quep ∈ S y ¬ p ∈ S.

• Para toda formula de tipo α con componentes α1 y α2 se verifica que si la formulapertenece a S, entonces α1 y α2 tambien.

• Para toda formula de tipo β con componentes β1 y β2 se verifica que si la formulapertenece a S, entonces o bien β1 pertenece a S o bien β2 pertenece a S.

Vamos a probar que S es un conjunto de Hintikka.

Por la definicion de conjunto de Hintikka, es suficiente probar las siguientes condi-ciones:

1. ⊥ /∈ S.

2. Dada p una formula atomica cualquiera, no se tiene simultaneamente quep ∈ S y ¬ p ∈ S.

3. Si G ∧ H ∈ S, entonces G ∈ S y H ∈ S.

4. Si G ∨ H ∈ S, entonces G ∈ S o H ∈ S.

5. Si G→ H ∈ S, entonces ¬ G ∈ S o H ∈ S.

6. Si ¬(¬ G) ∈ S, entonces G ∈ S.

7. Si ¬(G ∧ H) ∈ S, entonces ¬ G ∈ S o ¬ H ∈ S.

8. Si ¬(G ∨ H) ∈ S, entonces ¬ G ∈ S y ¬ H ∈ S.

9. Si ¬(G→ H) ∈ S, entonces G ∈ S y ¬ H ∈ S.

En primer lugar se observa que, por hipotesis, se verifican las dos primeras condi-ciones de la definicion de conjunto de Hintikka. Veamos que, en efecto, se cumplen lasdemas.

Page 19: Formalizacion´ del teorema de existencia de modelo en

19

3) Supongamos que G∧H esta en S para formulas G y H cualesquiera. Por definicion,G ∧H es una formula de tipo α con componentes G y H. Por lo tanto, por hipotesisse cumple que G y H estan en S.

4) Supongamos que G∨H esta en S para formulas G y H cualesquiera. Por definicion,G ∨H es una formula de tipo β con componentes G y H. Por lo tanto, por hipotesisse cumple que o bien G esta en S o bien H esta en S.

5) Supongamos que G −→ H esta en S para formulas G y H cualesquiera. Pordefinicion, G −→ H es una formula de tipo β con componentes ¬ G y H. Por lotanto, por hipotesis se cumple que o bien ¬ G esta en S o bien H esta en S.

6) Supongamos que ¬(¬ G) esta en S para una formula G cualquiera. Por definicion,¬(¬ G) es una formula de tipo α cuyas componentes son ambas G. Por lo tanto,por hipotesis se cumple que G esta en S.

7) Supongamos que ¬(G ∧ H) esta en S para formulas G y H cualesquiera. Pordefinicion, ¬(G ∧ H) es una formula de tipo β con componentes ¬ G y ¬ H. Por lotanto, por hipotesis se cumple que o bien ¬ G esta en S o bien ¬ H esta en S.

8) Supongamos que ¬(G ∨ H) esta en S para formulas G y H cualesquiera. Pordefinicion, ¬(G ∨ H) es una formula de tipo α con componentes ¬ G y ¬ H. Por lotanto, por hipotesis se cumple que ¬ G y ¬ H estan en S.

9) Supongamos que ¬(G −→ H) esta en S para formulas G y H cualesquiera. Pordefinicion, ¬(G −→ H) es una formula de tipo α con componentes G y ¬ H. Por lotanto, por hipotesis se cumple que G y ¬ H estan en S.

Por tanto, queda probado el resultado.�

Para probar de manera detallada el lema en Isabelle vamos a demostrar cada unade las implicaciones de la equivalencia por separado.

La primera implicacion del lema se basa en dos lemas auxiliares. El primero de ellosprueba que la tercera, sexta, octava y novena condicion de la definicion de conjunto deHintikka son suficientes para probar que para toda formula de tipo α con componentesα1 y α2 se verifica que si la formula pertenece al conjunto S, entonces α1 y α2 tambien.Su demostracion detallada en Isabelle se muestra a continuacion.

lemma Hintikka-alt1Con:assumes (∀G H. G ∧ H ∈ S −→ G ∈ S ∧ H ∈ S)∧ (∀G. ¬ (¬ G) ∈ S −→ G ∈ S)∧ (∀G H. ¬(G ∨ H) ∈ S −→ ¬ G ∈ S ∧ ¬ H ∈ S)∧ (∀G H. ¬(G → H) ∈ S −→ G ∈ S ∧ ¬ H ∈ S)

Page 20: Formalizacion´ del teorema de existencia de modelo en

20 Capıtulo 1. Notacion uniforme

shows Con F G H −→ F ∈ S −→ G ∈ S ∧ H ∈ Sproof (rule impI)

assume Con F G Hthen have F = G ∧ H ∨((∃G1 H1. F = ¬ (G1 ∨ H1) ∧ G = ¬ G1 ∧ H = ¬ H1) ∨(∃H2. F = ¬ (G → H2) ∧ H = ¬ H2) ∨F = ¬ (¬ G) ∧ H = G)by (simp only: con-dis-simps(1))

thus F ∈ S −→ G ∈ S ∧ H ∈ Sproof (rule disjE)assume F = G ∧ Hhave ∀G H. G ∧ H ∈ S −→ G ∈ S ∧ H ∈ Susing assms by (rule conjunct1)

thus F ∈ S −→ G ∈ S ∧ H ∈ Susing 〈F = G ∧ H〉 by (iprover elim: allE)

nextassume (∃G1 H1. F = ¬ (G1 ∨ H1) ∧ G = ¬ G1 ∧ H = ¬ H1) ∨((∃H2. F = ¬ (G → H2) ∧ H = ¬ H2) ∨F = ¬ (¬ G) ∧ H = G)thus F ∈ S −→ G ∈ S ∧ H ∈ Sproof (rule disjE)assume E1:∃G1 H1. F = ¬ (G1 ∨ H1) ∧ G = ¬ G1 ∧ H = ¬ H1obtain G1 H1 where A1:F = ¬ (G1 ∨ H1) ∧ G = ¬ G1 ∧ H = ¬ H1using E1 by (iprover elim: exE)

then have F = ¬ (G1 ∨ H1)by (rule conjunct1)

have G = ¬ G1using A1 by (iprover elim: conjunct1)

have H = ¬ H1using A1 by (iprover elim: conjunct1)

have ∀G H. ¬(G ∨ H) ∈ S −→ ¬ G ∈ S ∧ ¬ H ∈ Susing assms by (iprover elim: conjunct2 conjunct1)

thus F ∈ S −→ G ∈ S ∧ H ∈ Susing 〈F = ¬ (G1 ∨ H1)〉 〈G = ¬ G1〉 〈H = ¬ H1〉 by (iprover elim: allE)

nextassume (∃H2. F = ¬ (G → H2) ∧ H = ¬ H2) ∨F = ¬ (¬ G) ∧ H = Gthus F ∈ S −→ G ∈ S ∧ H ∈ Sproof (rule disjE)assume E2:∃H2. F = ¬ (G → H2) ∧ H = ¬ H2

Page 21: Formalizacion´ del teorema de existencia de modelo en

21

obtain H2 where A2:F = ¬ (G → H2) ∧ H = ¬ H2using E2 by (rule exE)

have F = ¬ (G → H2)using A2 by (rule conjunct1)

have H = ¬ H2using A2 by (rule conjunct2)

have ∀G H. ¬(G → H) ∈ S −→ G ∈ S ∧ ¬ H ∈ Susing assms by (iprover elim: conjunct2 conjunct1)

thus F ∈ S −→ G ∈ S ∧ H ∈ Susing 〈F = ¬ (G → H2)〉 〈H = ¬ H2〉 by (iprover elim: allE)

nextassume F = ¬ (¬ G) ∧ H = Gthen have F = ¬ (¬ G)by (rule conjunct1)

have H = Gusing 〈F = ¬ (¬ G) ∧ H = G〉 by (rule conjunct2)

have ∀G. ¬ (¬ G) ∈ S −→ G ∈ Susing assms by (iprover elim: conjunct2 conjunct1)

then have ¬ (¬ G) ∈ S −→ G ∈ Sby (rule allE)

then have F ∈ S −→ G ∈ Sby (simp only: 〈F = ¬ (¬ G)〉)

then have F ∈ S −→ G ∈ S ∧ G ∈ Sby (simp only: conj-absorb)

thus F ∈ S −→ G ∈ S ∧ H ∈ Sby (simp only: 〈H=G〉)

qedqed

qedqed

Por otro lado, el segundo lema auxiliar prueba que la cuarta, quinta, sexta y septimacondicion de la definicion de conjunto de Hintikka son suficientes para probar que paratoda formula de tipo β con componentes β1 y β2 se verifica que si la formula perteneceal conjunto S, entonces o bien β1 pertenece al conjunto o bien β2 pertenece al conjunto.Veamos su prueba detallada en Isabelle/HOL.

lemma Hintikka-alt1Dis:assumes (∀ G H. G ∨ H ∈ S −→ G ∈ S ∨ H ∈ S)∧ (∀ G H. G → H ∈ S −→ ¬ G ∈ S ∨ H ∈ S)∧ (∀ G. ¬ (¬ G) ∈ S −→ G ∈ S)∧ (∀ G H. ¬(G ∧ H) ∈ S −→ ¬ G ∈ S ∨ ¬ H ∈ S)

Page 22: Formalizacion´ del teorema de existencia de modelo en

22 Capıtulo 1. Notacion uniforme

shows Dis F G H −→ F ∈ S −→ G ∈ S ∨ H ∈ Sproof (rule impI)

assume Dis F G Hthen have F = G ∨ H ∨(∃G1 H1. F = G1 → H1 ∧ G = ¬ G1 ∧ H = H1) ∨(∃G2 H2. F = ¬ (G2 ∧ H2) ∧ G = ¬ G2 ∧ H = ¬ H2) ∨F = ¬ (¬ G) ∧ H = Gby (simp only: con-dis-simps(2))

thus F ∈ S −→ G ∈ S ∨ H ∈ Sproof (rule disjE)assume F = G ∨ Hhave ∀G H. G ∨ H ∈ S −→ G ∈ S ∨ H ∈ Susing assms by (rule conjunct1)

thus F ∈ S −→ G ∈ S ∨ H ∈ Susing 〈F = G ∨ H〉 by (iprover elim: allE)

nextassume (∃G1 H1. F = G1 → H1 ∧ G = ¬ G1 ∧ H = H1) ∨(∃G2 H2. F = ¬ (G2 ∧ H2) ∧ G = ¬ G2 ∧ H = ¬ H2) ∨F = ¬ (¬ G) ∧ H = Gthus F ∈ S −→ G ∈ S ∨ H ∈ Sproof (rule disjE)assume E1:∃G1 H1. F = G1 → H1 ∧ G = ¬ G1 ∧ H = H1obtain G1 H1 where A1:F = G1 → H1 ∧ G = ¬ G1 ∧ H = H1using E1 by (iprover elim: exE)

have F = G1 → H1using A1 by (rule conjunct1)

have G = ¬ G1using A1 by (iprover elim: conjunct1)

have H = H1using A1 by (iprover elim: conjunct2 conjunct1)

have ∀G H. G → H ∈ S −→ ¬ G ∈ S ∨ H ∈ Susing assms by (iprover elim: conjunct2 conjunct1)

thus F ∈ S −→ G ∈ S ∨ H ∈ Susing 〈F = G1 → H1〉 〈G = ¬ G1〉 〈H = H1〉 by (iprover elim: allE)

nextassume (∃G2 H2. F = ¬ (G2 ∧ H2) ∧ G = ¬ G2 ∧ H = ¬ H2) ∨F = ¬ (¬ G) ∧ H = Gthus F ∈ S −→ G ∈ S ∨ H ∈ Sproof (rule disjE)assume E2:∃G2 H2. F = ¬ (G2 ∧ H2) ∧ G = ¬ G2 ∧ H = ¬ H2

Page 23: Formalizacion´ del teorema de existencia de modelo en

23

obtain G2 H2 where A2:F = ¬ (G2 ∧ H2) ∧ G = ¬ G2 ∧ H = ¬ H2using E2 by (iprover elim: exE)

have F = ¬ (G2 ∧ H2)using A2 by (rule conjunct1)

have G = ¬ G2using A2 by (iprover elim: conjunct2 conjunct1)

have H = ¬ H2using A2 by (iprover elim: conjunct1)

have ∀ G H. ¬(G ∧ H) ∈ S −→ ¬ G ∈ S ∨ ¬ H ∈ Susing assms by (iprover elim: conjunct2 conjunct1)

thus F ∈ S −→ G ∈ S ∨ H ∈ Susing 〈F = ¬(G2 ∧ H2)〉 〈G = ¬ G2〉 〈H = ¬ H2〉 by (iprover elim: allE)

nextassume F = ¬ (¬ G) ∧ H = Gthen have F = ¬ (¬ G)by (rule conjunct1)

have H = Gusing 〈F = ¬ (¬ G) ∧ H = G〉 by (rule conjunct2)

have ∀ G. ¬ (¬ G) ∈ S −→ G ∈ Susing assms by (iprover elim: conjunct2 conjunct1)

then have ¬ (¬ G) ∈ S −→ G ∈ Sby (rule allE)

then have F ∈ S −→ G ∈ Sby (simp only: 〈F = ¬ (¬ G)〉)

then have F ∈ S −→ G ∈ S ∨ G ∈ Sby (simp only: disj-absorb)

thus F ∈ S −→ G ∈ S ∨ H ∈ Sby (simp only: 〈H = G〉)

qedqed

qedqed

Finalmente, podemos demostrar detalladamente esta primera implicacion de laequivalencia del lema en Isabelle.

lemma Hintikka-alt1:assumes Hintikka Sshows ⊥ /∈ S∧ (∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ False)∧ (∀ F G H. Con F G H −→ F ∈ S −→ G ∈ S ∧ H ∈ S)∧ (∀ F G H. Dis F G H −→ F ∈ S −→ G ∈ S ∨ H ∈ S)

Page 24: Formalizacion´ del teorema de existencia de modelo en

24 Capıtulo 1. Notacion uniforme

proof −have Hk:(⊥ /∈ S∧ (∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ False)∧ (∀G H. G ∧ H ∈ S −→ G ∈ S ∧ H ∈ S)∧ (∀G H. G ∨ H ∈ S −→ G ∈ S ∨ H ∈ S)∧ (∀G H. G → H ∈ S −→ ¬G ∈ S ∨ H ∈ S)∧ (∀G. ¬ (¬G) ∈ S −→ G ∈ S)∧ (∀G H. ¬(G ∧ H) ∈ S −→ ¬ G ∈ S ∨ ¬ H ∈ S)∧ (∀G H. ¬(G ∨ H) ∈ S −→ ¬ G ∈ S ∧ ¬ H ∈ S)∧ (∀G H. ¬(G → H) ∈ S −→ G ∈ S ∧ ¬ H ∈ S))using assms by (rule auxEq)

then have C1: ⊥ /∈ Sby (rule conjunct1)

have C2: ∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ Falseusing Hk by (iprover elim: conjunct2 conjunct1)

have C3: ∀ F G H. Con F G H −→ F ∈ S −→ G ∈ S ∧ H ∈ Sproof (rule allI)+fix F G Hhave C31:∀G H. G ∧ H ∈ S −→ G ∈ S ∧ H ∈ Susing Hk by (iprover elim: conjunct2 conjunct1)

have C32:∀G. ¬ (¬ G) ∈ S −→ G ∈ Susing Hk by (iprover elim: conjunct2 conjunct1)

have C33:∀G H. ¬(G ∨ H) ∈ S −→ ¬ G ∈ S ∧ ¬ H ∈ Susing Hk by (iprover elim: conjunct2 conjunct1)

have C34:∀G H. ¬(G → H) ∈ S −→ G ∈ S ∧ ¬ H ∈ Susing Hk by (iprover elim: conjunct2 conjunct1)

have (∀G H. G ∧ H ∈ S −→ G ∈ S ∧ H ∈ S)∧ (∀G. ¬ (¬ G) ∈ S −→ G ∈ S)∧ (∀G H. ¬(G ∨ H) ∈ S −→ ¬ G ∈ S ∧ ¬ H ∈ S)∧ (∀G H. ¬(G → H) ∈ S −→ G ∈ S ∧ ¬ H ∈ S)

using C31 C32 C33 C34 by (iprover intro: conjI)thus Con F G H −→ F ∈ S −→ G ∈ S ∧ H ∈ Sby (rule Hintikka-alt1Con)

qedhave C4:∀ F G H. Dis F G H −→ F ∈ S −→ G ∈ S ∨ H ∈ Sproof (rule allI)+fix F G Hhave C41:∀G H. G ∨ H ∈ S −→ G ∈ S ∨ H ∈ Susing Hk by (iprover elim: conjunct2 conjunct1)

have C42:∀G H. G → H ∈ S −→ ¬ G ∈ S ∨ H ∈ S

Page 25: Formalizacion´ del teorema de existencia de modelo en

25

using Hk by (iprover elim: conjunct2 conjunct1)have C43:∀G. ¬ (¬ G) ∈ S −→ G ∈ S

using Hk by (iprover elim: conjunct2 conjunct1)have C44:∀G H. ¬(G ∧ H) ∈ S −→ ¬ G ∈ S ∨ ¬ H ∈ Susing Hk by (iprover elim: conjunct2 conjunct1)

have (∀G H. G ∨ H ∈ S −→ G ∈ S ∨ H ∈ S)∧ (∀G H. G → H ∈ S −→ ¬ G ∈ S ∨ H ∈ S)∧ (∀G. ¬ (¬ G) ∈ S −→ G ∈ S)∧ (∀G H. ¬(G ∧ H) ∈ S −→ ¬ G ∈ S ∨ ¬ H ∈ S)

using C41 C42 C43 C44 by (iprover intro: conjI)thus Dis F G H −→ F ∈ S −→ G ∈ S ∨ H ∈ S

by (rule Hintikka-alt1Dis)qedshow ⊥ /∈ S∧ (∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ False)∧ (∀ F G H. Con F G H −→ F ∈ S −→ G ∈ S ∧ H ∈ S)∧ (∀ F G H. Dis F G H −→ F ∈ S −→ G ∈ S ∨ H ∈ S)using C1 C2 C3 C4 by (iprover intro: conjI)

qed

Por ultimo, probamos la implicacion recıproca de forma detallada en Isabelle me-diante el siguiente lema.

lemma Hintikka-alt2:assumes ⊥ /∈ S∧ (∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ False)∧ (∀ F G H. Con F G H −→ F ∈ S −→ G ∈ S ∧ H ∈ S)∧ (∀ F G H. Dis F G H −→ F ∈ S −→ G ∈ S ∨ H ∈ S)shows Hintikka S

proof −have Con:∀ F G H. Con F G H −→ F ∈ S −→ G ∈ S ∧ H ∈ Susing assms by (iprover elim: conjunct2 conjunct1)

have Dis:∀ F G H. Dis F G H −→ F ∈ S −→ G ∈ S ∨ H ∈ Susing assms by (iprover elim: conjunct2 conjunct1)

have ⊥ /∈ S∧ (∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ False)∧ (∀G H. G ∧ H ∈ S −→ G ∈ S ∧ H ∈ S)∧ (∀G H. G ∨ H ∈ S −→ G ∈ S ∨ H ∈ S)∧ (∀G H. G → H ∈ S −→ ¬G ∈ S ∨ H ∈ S)∧ (∀G. ¬ (¬G) ∈ S −→ G ∈ S)∧ (∀G H. ¬(G ∧ H) ∈ S −→ ¬ G ∈ S ∨ ¬ H ∈ S)∧ (∀G H. ¬(G ∨ H) ∈ S −→ ¬ G ∈ S ∧ ¬ H ∈ S)

Page 26: Formalizacion´ del teorema de existencia de modelo en

26 Capıtulo 1. Notacion uniforme

∧ (∀G H. ¬(G → H) ∈ S −→ G ∈ S ∧ ¬ H ∈ S)proof −have C1:⊥ /∈ Susing assms by (rule conjunct1)

have C2:∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ Falseusing assms by (iprover elim: conjunct2 conjunct1)

have C3:∀G H. G ∧ H ∈ S −→ G ∈ S ∧ H ∈ Sproof (rule allI)+fix G Hshow G ∧ H ∈ S −→ G ∈ S ∧ H ∈ Sproof (rule impI)assume G ∧ H ∈ Shave Con (G ∧ H) G Hby (simp only: Con.intros(1))

have Con (G ∧ H) G H −→ G ∧ H ∈ S −→ G ∈ S ∧ H ∈ Susing Con by (iprover elim: allE)

then have G ∧ H ∈ S −→ G ∈ S ∧ H ∈ Susing 〈Con (G ∧ H) G H〉 by (rule mp)

thus G ∈ S ∧ H ∈ Susing 〈G ∧ H ∈ S〉 by (rule mp)

qedqedhave C4:∀G H. G ∨ H ∈ S −→ G ∈ S ∨ H ∈ Sproof (rule allI)+fix G Hshow G ∨ H ∈ S −→ G ∈ S ∨ H ∈ Sproof (rule impI)assume G ∨ H ∈ Shave Dis (G ∨ H) G H

by (simp only: Dis.intros(1))have Dis (G ∨ H) G H −→ G ∨ H ∈ S −→ G ∈ S ∨ H ∈ Susing Dis by (iprover elim: allE)

then have G ∨ H ∈ S −→ G ∈ S ∨ H ∈ Susing 〈Dis (G ∨ H) G H〉 by (rule mp)

thus G ∈ S ∨ H ∈ Susing 〈G ∨ H ∈ S〉 by (rule mp)

qedqedhave C5:∀G H. G → H ∈ S −→ ¬ G ∈ S ∨ H ∈ Sproof (rule allI)+

Page 27: Formalizacion´ del teorema de existencia de modelo en

27

fix G Hshow G → H ∈ S −→ ¬ G ∈ S ∨ H ∈ Sproof (rule impI)assume G → H ∈ Shave Dis (G → H) (¬ G) H

by (simp only: Dis.intros(2))have Dis (G → H) (¬ G) H −→ G → H ∈ S −→ ¬ G ∈ S ∨ H ∈ S

using Dis by (iprover elim: allE)then have G → H ∈ S −→ ¬ G ∈ S ∨ H ∈ Susing 〈Dis (G → H) (¬ G) H〉 by (rule mp)

thus ¬ G ∈ S ∨ H ∈ Susing 〈G → H ∈ S〉 by (rule mp)

qedqedhave C6:∀G. ¬(¬ G) ∈ S −→ G ∈ Sproof (rule allI)fix Gshow ¬(¬ G) ∈ S −→ G ∈ Sproof (rule impI)assume ¬ (¬ G) ∈ Shave Con (¬ (¬ G)) G G

by (simp only: Con.intros(4))have Con (¬(¬ G)) G G −→ (¬(¬ G)) ∈ S −→ G ∈ S ∧ G ∈ S

using Con by (iprover elim: allE)then have (¬(¬ G)) ∈ S −→ G ∈ S ∧ G ∈ Susing 〈Con (¬ (¬ G)) G G〉 by (rule mp)

then have G ∈ S ∧ G ∈ Susing 〈¬ (¬ G) ∈ S〉 by (rule mp)

thus G ∈ Sby (simp only: conj-absorb)

qedqedhave C7:∀G H. ¬(G ∧ H) ∈ S −→ ¬ G ∈ S ∨ ¬ H ∈ Sproof (rule allI)+fix G Hshow ¬(G ∧ H) ∈ S −→ ¬ G ∈ S ∨ ¬ H ∈ Sproof (rule impI)assume ¬(G ∧ H) ∈ Shave Dis (¬(G ∧ H)) (¬ G) (¬ H)by (simp only: Dis.intros(3))

Page 28: Formalizacion´ del teorema de existencia de modelo en

28 Capıtulo 1. Notacion uniforme

have Dis (¬(G ∧ H)) (¬ G) (¬ H) −→ ¬(G ∧ H) ∈ S −→ ¬ G ∈ S ∨ ¬ H ∈ Susing Dis by (iprover elim: allE)

then have ¬(G ∧ H) ∈ S −→ ¬ G ∈ S ∨ ¬ H ∈ Susing 〈Dis (¬(G ∧ H)) (¬ G) (¬ H)〉 by (rule mp)

thus ¬ G ∈ S ∨ ¬ H ∈ Susing 〈¬(G ∧ H) ∈ S〉 by (rule mp)

qedqedhave C8:∀G H. ¬(G ∨ H) ∈ S −→ ¬ G ∈ S ∧ ¬ H ∈ Sproof (rule allI)+fix G Hshow ¬(G ∨ H) ∈ S −→ ¬ G ∈ S ∧ ¬ H ∈ Sproof (rule impI)assume ¬(G ∨ H) ∈ Shave Con (¬(G ∨ H)) (¬ G) (¬ H)by (simp only: Con.intros(2))

have Con (¬(G ∨ H)) (¬ G) (¬ H) −→ ¬(G ∨ H) ∈ S −→ ¬ G ∈ S ∧ ¬ H ∈ Susing Con by (iprover elim: allE)

then have ¬(G ∨ H) ∈ S −→ ¬ G ∈ S ∧ ¬ H ∈ Susing 〈Con (¬(G ∨ H)) (¬ G) (¬ H)〉 by (rule mp)

thus ¬ G ∈ S ∧ ¬ H ∈ Susing 〈¬(G ∨ H) ∈ S〉 by (rule mp)

qedqedhave C9:∀G H. ¬(G → H) ∈ S −→ G ∈ S ∧ ¬ H ∈ Sproof (rule allI)+fix G Hshow ¬(G → H) ∈ S −→ G ∈ S ∧ ¬ H ∈ Sproof (rule impI)assume ¬(G → H) ∈ Shave Con (¬(G → H)) G (¬ H)

by (simp only: Con.intros(3))have Con (¬(G → H)) G (¬ H) −→ ¬(G → H) ∈ S −→ G ∈ S ∧ ¬ H ∈ Susing Con by (iprover elim: allE)

then have ¬(G → H) ∈ S −→ G ∈ S ∧ ¬ H ∈ Susing 〈Con (¬(G → H)) G (¬ H)〉 by (rule mp)

thus G ∈ S ∧ ¬ H ∈ Susing 〈¬(G → H) ∈ S〉 by (rule mp)

qedqed

Page 29: Formalizacion´ del teorema de existencia de modelo en

29

have A:⊥ /∈ S∧ (∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ False)∧ (∀G H. G ∧ H ∈ S −→ G ∈ S ∧ H ∈ S)∧ (∀G H. G ∨ H ∈ S −→ G ∈ S ∨ H ∈ S)∧ (∀G H. G → H ∈ S −→ ¬G ∈ S ∨ H ∈ S)using C1 C2 C3 C4 C5 by (iprover intro: conjI)

have B:(∀G. ¬ (¬G) ∈ S −→ G ∈ S)∧ (∀G H. ¬(G ∧ H) ∈ S −→ ¬ G ∈ S ∨ ¬ H ∈ S)∧ (∀G H. ¬(G ∨ H) ∈ S −→ ¬ G ∈ S ∧ ¬ H ∈ S)∧ (∀G H. ¬(G → H) ∈ S −→ G ∈ S ∧ ¬ H ∈ S)using C6 C7 C8 C9 by (iprover intro: conjI)

have (⊥ /∈ S∧ (∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ False)∧ (∀G H. G ∧ H ∈ S −→ G ∈ S ∧ H ∈ S)∧ (∀G H. G ∨ H ∈ S −→ G ∈ S ∨ H ∈ S)∧ (∀G H. G → H ∈ S −→ ¬G ∈ S ∨ H ∈ S))∧ ((∀G. ¬ (¬G) ∈ S −→ G ∈ S)∧ (∀G H. ¬(G ∧ H) ∈ S −→ ¬ G ∈ S ∨ ¬ H ∈ S)∧ (∀G H. ¬(G ∨ H) ∈ S −→ ¬ G ∈ S ∧ ¬ H ∈ S)∧ (∀G H. ¬(G → H) ∈ S −→ G ∈ S ∧ ¬ H ∈ S))using A B by (rule conjI)

thus ⊥ /∈ S∧ (∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ False)∧ (∀G H. G ∧ H ∈ S −→ G ∈ S ∧ H ∈ S)∧ (∀G H. G ∨ H ∈ S −→ G ∈ S ∨ H ∈ S)∧ (∀G H. G → H ∈ S −→ ¬G ∈ S ∨ H ∈ S)∧ (∀G. ¬ (¬G) ∈ S −→ G ∈ S)∧ (∀G H. ¬(G ∧ H) ∈ S −→ ¬ G ∈ S ∨ ¬ H ∈ S)∧ (∀G H. ¬(G ∨ H) ∈ S −→ ¬ G ∈ S ∧ ¬ H ∈ S)∧ (∀G H. ¬(G → H) ∈ S −→ G ∈ S ∧ ¬ H ∈ S)by (iprover intro: conj-assoc)

qedthus Hintikka Sunfolding Hintikka-def by this

qed

En conclusion, el lema completo se demuestra detalladamente en Isabelle/HOLcomo sigue.

lemma Hintikka S = (⊥ /∈ S∧ (∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ False)∧ (∀ F G H. Con F G H −→ F ∈ S −→ G ∈ S ∧ H ∈ S)

Page 30: Formalizacion´ del teorema de existencia de modelo en

30 Capıtulo 1. Notacion uniforme

∧ (∀ F G H. Dis F G H −→ F ∈ S −→ G ∈ S ∨ H ∈ S))proof (rule iffI)assume Hintikka Sthus (⊥ /∈ S∧ (∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ False)∧ (∀ F G H. Con F G H −→ F ∈ S −→ G ∈ S ∧ H ∈ S)∧ (∀ F G H. Dis F G H −→ F ∈ S −→ G ∈ S ∨ H ∈ S))by (rule Hintikka-alt1)

nextassume (⊥ /∈ S∧ (∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ False)∧ (∀ F G H. Con F G H −→ F ∈ S −→ G ∈ S ∧ H ∈ S)∧ (∀ F G H. Dis F G H −→ F ∈ S −→ G ∈ S ∨ H ∈ S))thus Hintikka Sby (rule Hintikka-alt2)

qed

Por ultimo, veamos su demostracion automatica.

lemma Hintikka-alt: Hintikka S = (⊥ /∈ S∧ (∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ False)∧ (∀ F G H. Con F G H −→ F ∈ S −→ G ∈ S ∧ H ∈ S)∧ (∀ F G H. Dis F G H −→ F ∈ S −→ G ∈ S ∨ H ∈ S))apply(simp add: Hintikka-def con-dis-simps)apply(rule iffI)subgoal by blastsubgoal by safe metis+done

Page 31: Formalizacion´ del teorema de existencia de modelo en

Capıtulo 2

Propiedad de consistencia proposicional

En este capıtulo se define la propiedad de consistencia proposicional para una coleccionde conjuntos de formulas proposicionales y se caracteriza la propiedad de consistenciaproposicional mediante la notacion uniforme.

Definicion 2.0.1 Sea C una coleccion de conjuntos de formulas proposicionales. Decimos queC verifica la propiedad de consistencia proposicional si, para todo conjunto S perteneciente a lacoleccion, se verifica:

1. ⊥ /∈ S.

2. Dada p una formula atomica cualquiera, no se tiene simultaneamente quep ∈ S y ¬ p ∈ S.

3. Si F ∧ G ∈ S, entonces el conjunto {F,G} ∪ S pertenece a C.

4. Si F ∨ G ∈ S, entonces o bien el conjunto {F} ∪ S pertenece a C, o bien el conjunto {G}∪ S pertenece a C.

5. Si F→ G ∈ S, entonces o bien el conjunto {¬ F} ∪ S pertenece a C, o bien el conjunto{G} ∪ S pertenece a C.

6. Si ¬(¬ F) ∈ S, entonces el conjunto {F} ∪ S pertenece a C.

7. Si ¬(F ∧ G) ∈ S, entonces o bien el conjunto {¬ F} ∪ S pertenece a C, o bien el conjunto{¬ G} ∪ S pertenece a C.

8. Si ¬(F ∨ G) ∈ S, entonces el conjunto {¬ F, ¬ G} ∪ S pertenece a C.

9. Si ¬(F→ G) ∈ S, entonces el conjunto {F, ¬ G} ∪ S pertenece a C.

31

Page 32: Formalizacion´ del teorema de existencia de modelo en

32 Capıtulo 2. Propiedad de consistencia proposicional

Veamos, a continuacion, su formalizacion en Isabelle mediante el tipo definition.

definition pcp C ≡ (∀ S ∈ C.⊥ /∈ S∧ (∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ False)∧ (∀ F G. F ∧ G ∈ S −→ {F,G} ∪ S ∈ C)∧ (∀ F G. F ∨ G ∈ S −→ {F} ∪ S ∈ C ∨ {G} ∪ S ∈ C)∧ (∀ F G. F → G ∈ S −→ {¬F} ∪ S ∈ C ∨ {G} ∪ S ∈ C)∧ (∀ F. ¬ (¬F) ∈ S −→ {F} ∪ S ∈ C)∧ (∀ F G. ¬(F ∧ G) ∈ S −→ {¬ F} ∪ S ∈ C ∨ {¬ G} ∪ S ∈ C)∧ (∀ F G. ¬(F ∨ G) ∈ S −→ {¬ F, ¬ G} ∪ S ∈ C)∧ (∀ F G. ¬(F → G) ∈ S −→ {F,¬ G} ∪ S ∈ C))

Observando la definicion anterior, se prueba facilmente que la coleccion trivial for-mada por el conjunto vacıo de formulas verifica la propiedad de consistencia proposi-cional.

lemma pcp {{}}unfolding pcp-def by simp

Del mismo modo, aplicando la definicion, se demuestra que los siguientes ejem-plos de colecciones de conjuntos de formulas proposicionales verifican igualmente lapropiedad.

lemma pcp {{Atom 0}}unfolding pcp-def by simp

lemma pcp {{(¬ (Atom 1)) → Atom 2},{((¬ (Atom 1)) → Atom 2), ¬(¬ (Atom 1))},{((¬ (Atom 1)) → Atom 2), ¬(¬ (Atom 1)), Atom 1}}unfolding pcp-def by auto

Por ultimo, en contraposicion podemos ilustrar un caso de coleccion que no veri-fique la propiedad con la siguiente coleccion obtenida al modificar el ultimo ejemplo.De esta manera, aunque la coleccion verifique correctamente la quinta condicion de ladefinicion, no cumplira la sexta.

lemma ¬ pcp {{(¬ (Atom 1)) → Atom 2},{((¬ (Atom 1)) → Atom 2), ¬(¬ (Atom 1))}}

unfolding pcp-def by auto

Por otra parte, veamos un resultado que permite la caracterizacion de la propiedadde consistencia proposicional mediante la notacion uniforme.

Page 33: Formalizacion´ del teorema de existencia de modelo en

33

Lema 2.0.2 (Caracterizacion de P.C.P mediante la notacion uniforme) Dada una coleccionC de conjuntos de formulas proposicionales, son equivalentes:

1. C verifica la propiedad de consistencia proposicional.

2. Para cualquier conjunto de formulas S de la coleccion, se verifican las condiciones:

• ⊥ no pertenece a S.

• Dada p una formula atomica cualquiera, no se tiene simultaneamente quep ∈ S y ¬ p ∈ S.

• Para toda formula de tipo α con componentes α1 y α2 tal que α pertenece a S, se tieneque {α1,α2} ∪ S pertenece a C.

• Para toda formula de tipo β con componentes β1 y β2 tal que β pertenece a S, se tieneque o bien {β1} ∪ S pertenece a C o bien {β2} ∪ S pertenece a C.

En Isabelle/HOL se formaliza el resultado como sigue.

lemma pcp C = (∀ S ∈ C. ⊥ /∈ S∧ (∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ False)∧ (∀ F G H. Con F G H −→ F ∈ S −→ {G,H} ∪ S ∈ C)∧ (∀ F G H. Dis F G H −→ F ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ C))oops

En primer lugar, veamos la demostracion del lema.

Demostracion: Para probar la equivalencia, veamos cada una de las implicaciones porseparado.

1) =⇒ 2)

Supongamos que C es una coleccion de conjuntos de formulas proposicionales queverifica la propiedad de consistencia proposicional. Vamos a probar que, en efecto,cumple las condiciones de 2).

Consideremos un conjunto de formulas S perteneciente a la coleccion C. Por hipotesis,de la definicion de propiedad de consistencia proposicional obtenemos que S verifica lassiguientes condiciones:

1. ⊥ /∈ S.

2. Dada p una formula atomica cualquiera, no se tiene simultaneamente quep ∈ S y ¬ p ∈ S.

3. Si G ∧ H ∈ S, entonces el conjunto {G,H} ∪ S pertenece a C.

Page 34: Formalizacion´ del teorema de existencia de modelo en

34 Capıtulo 2. Propiedad de consistencia proposicional

4. Si G ∨ H ∈ S, entonces o bien el conjunto {G} ∪ S pertenece a C, o bien el conjunto{H} ∪ S pertenece a C.

5. Si G → H ∈ S, entonces o bien el conjunto {¬ G} ∪ S pertenece a C, o bien elconjunto {H} ∪ S pertenece a C.

6. Si ¬(¬ G) ∈ S, entonces el conjunto {G} ∪ S pertenece a C.

7. Si ¬(G ∧ H) ∈ S, entonces o bien el conjunto {¬ G} ∪ S pertenece a C, o bien elconjunto {¬ H} ∪ S pertenece a C.

8. Si ¬(G ∨ H) ∈ S, entonces el conjunto {¬ G, ¬ H} ∪ S pertenece a C.

9. Si ¬(G→ H) ∈ S, entonces el conjunto {G, ¬ H} ∪ S pertenece a C.

Las dos primeras condiciones se corresponden con los dos primeros resultados quequerıamos demostrar. De este modo, falta probar:

• Para toda formula de tipo α con componentes α1 y α2 tal que α pertenece a S, setiene que {α1,α2} ∪ S pertenece a C.

• Para toda formula de tipo β con componentes β1 y β2 tal que β pertenece a S, setiene que o bien {β1} ∪ S pertenece a C o bien {β2} ∪ S pertenece a C.

En primer lugar, vamos a deducir el primer resultado correspondiente a las formulasde tipo α de las condiciones tercera, sexta, octava y novena de la definicion de propiedadde consistencia proposicional. En efecto, consideremos una formula de tipo α cualquieracon componentes α1 y α2 tal que α pertenece a S. Sabemos que la formula es de la formaG ∧ H, ¬ (¬ G), ¬ (G ∨ H) o ¬(G −→ H) para ciertas formulas G y H. Vamos a probarque para cada caso se cumple que {α1, α2} ∪ S pertenece a la coleccion:

� Formula de tipo G ∧H: En este caso, sus componentes conjuntivas α1 y α2 son G y Hrespectivamente. Luego tenemos que {α1, α2} ∪ S pertenece a C por la tercera condicionde la definicion de propiedad de consistencia proposicional.

� Formula de tipo ¬ (¬ G): En este caso, sus componentes conjuntivas α1 y α2 sonambas G. Como el conjunto {α1} ∪ S es equivalente a {α1, α2} ∪ S ya que α1 y α2 soniguales, tenemos que este ultimo pertenece a C por la sexta condicion de la definicionde propiedad de consistencia proposicional.

� Formula de tipo ¬(G ∨ H): En este caso, sus componentes conjuntivas α1 y α2 son¬ G y ¬H respectivamente. Luego tenemos que {α1, α2} ∪ S pertenece a C por la octavacondicion de la definicion de propiedad de consistencia proposicional.

Page 35: Formalizacion´ del teorema de existencia de modelo en

35

� Formula de tipo ¬(G−→ H): En este caso, sus componentes conjuntivas α1 y α2 sonG y ¬ H respectivamente. Luego tenemos que {α1, α2} ∪ S pertenece a C por la novenacondicion de la definicion de propiedad de consistencia proposicional.

Finalmente, el resultado correspondiente a las formulas de tipo β se obtiene de lascondiciones cuarta, quinta, sexta y septima de la definicion de propiedad de consis-tencia proposicional. Para probarlo, consideremos una formula cualquiera de tipo β

perteneciente al conjunto S y cuyas componentes disyuntivas son β1 y β2. Por simplifi-cacion, sabemos que dicha formula es de la forma G ∨ H, G −→ H, ¬ (¬ G) o ¬(G ∧ H)para ciertas formulas G y H. Deduzcamos que, en efecto, tenemos que o bien {β1} ∪ Sesta en C o bien {β2} ∪ S esta en C.

� Formula de tipo G ∨ H: En este caso, sus componentes disyuntivas β1 y β2 son G yH respectivamente. Luego tenemos que o bien {β1} ∪ S pertenece a C o bien{β2} ∪ S pertenece a C por la cuarta condicion de la definicion de propiedad de consis-tencia proposicional.

� Formula de tipo G −→ H: En este caso, sus componentes disyuntivas β1 y β2 son¬ G y H respectivamente. Luego tenemos que o bien {β1} ∪ S pertenece a C o bien{β2} ∪ S pertenece a C por la quinta condicion de la definicion de propiedad de consis-tencia proposicional.

� Formula de tipo ¬(¬ G): En este caso, sus componentes disyuntivas β1 y β2 sonambas G. Luego tenemos que, en particular, el conjunto {β1} ∪ S pertenece a C por lasexta condicion de la definicion de propiedad de consistencia proposicional. Por tanto,se verifica que o bien {β1} ∪ S esta en C o bien {β2} ∪ S esta en C.

� Formula de tipo ¬(G ∧ H): En este caso, sus componentes disyuntivas β1 y β2 son¬ G y ¬ H respectivamente. Luego tenemos que o bien {β1} ∪ S pertenece a C o bien{β2} ∪ S pertenece a C por la septima condicion de la definicion de propiedad de con-sistencia proposicional.

De este modo, queda probada la primera implicacion de la equivalencia. Veamosla prueba de la implicacion contraria.

2) =⇒ 1)

Supongamos que, dada una coleccion de conjuntos de formulas proposicionales C,para cualquier conjunto S de la coleccion se verifica:

• ⊥ no pertenece a S.

• Dada p una formula atomica cualquiera, no se tiene simultaneamente quep ∈ S y ¬ p ∈ S.

• Para toda formula de tipo α con componentes α1 y α2 tal que α pertenece a S, setiene que {α1,α2} ∪ S pertenece a C.

Page 36: Formalizacion´ del teorema de existencia de modelo en

36 Capıtulo 2. Propiedad de consistencia proposicional

• Para toda formula de tipo β con componentes β1 y β2 tal que β pertenece a S, setiene que o bien {β1} ∪ S pertenece a C o bien {β2} ∪ S pertenece a C.

Probemos que C verifica la propiedad de consistencia proposicional. Por la definicionde la propiedad basta probar que, dado un conjunto cualquiera S perteneciente a C, severifican las siguientes condiciones:

1. ⊥ /∈ S.

2. Dada p una formula atomica cualquiera, no se tiene simultaneamente quep ∈ S y ¬ p ∈ S.

3. Si G ∧ H ∈ S, entonces el conjunto {G,H} ∪ S pertenece a C.

4. Si G ∨ H ∈ S, entonces o bien el conjunto {G} ∪ S pertenece a C, o bien el conjunto{H} ∪ S pertenece a C.

5. Si G → H ∈ S, entonces o bien el conjunto {¬ G} ∪ S pertenece a C, o bien elconjunto {H} ∪ S pertenece a C.

6. Si ¬(¬ G) ∈ S, entonces el conjunto {G} ∪ S pertenece a C.

7. Si ¬(G ∧ H) ∈ S, entonces o bien el conjunto {¬ G} ∪ S pertenece a C, o bien elconjunto {¬ H} ∪ S pertenece a C.

8. Si ¬(G ∨ H) ∈ S, entonces el conjunto {¬ G, ¬ H} ∪ S pertenece a C.

9. Si ¬(G→ H) ∈ S, entonces el conjunto {G, ¬ H} ∪ S pertenece a C.

En primer lugar, se observa que por hipotesis se cumplen las dos primeras condi-ciones de la definicion.

Por otra parte, vamos a deducir las condiciones tercera, sexta, octava y novena dela definicion de la propiedad de consistencia proposicional a partir de la hipotesis sobrelas formulas de tipo α.

3): Supongamos que la formula G∧H pertenece a S para formulas G y H cualesquiera.Observemos que se trata de una formula de tipo α de componentes conjuntivas Gy H. Luego, por hipotesis, tenemos que {G, H} ∪ S pertenece a C.

6): Supongamos que la formula ¬(¬ G) pertenece a S para la formula G cualquiera.Observemos que se trata de una formula de tipo α cuyas componentes conjunti-vas son ambas la formula G. Por hipotesis, tenemos que el conjunto {G,G} ∪ Spertence a C y, puesto que dicho conjunto es equivalente a {G} ∪ S, tenemos elresultado.

Page 37: Formalizacion´ del teorema de existencia de modelo en

37

8): Supongamos que la formula ¬(G ∨ H) pertenece a S para formulas G y H cua-lesquiera. Observemos que se trata de una formula de tipo α de componentes con-juntivas ¬ G y ¬ H. Luego, por hipotesis, tenemos que {¬ G, ¬ H} ∪ S pertenecea C.

9): Supongamos que la formula ¬(G −→ H) pertenece a S para formulas G y H cua-lesquiera. Observemos que se trata de una formula de tipo α de componentesconjuntivas G y ¬ H. Luego, por hipotesis, tenemos que {G, ¬ H} ∪ S pertenece aC.

Finalmente, deduzcamos el resto de condiciones de la definicion de propiedad deconsistencia proposicional a partir de la hipotesis referente a las formulas de tipo β.

4): Supongamos que la formula G∨H pertenece a S para formulas G y H cualesquiera.Observemos que se trata de una formula de tipo β de componentes disyuntivas Gy H. Luego, por hipotesis, tenemos que o bien {G} ∪ S pertenece a C o bien{H} ∪ S pertenece a C.

5): Supongamos que la formula G −→ H pertenece a S para formulas G y H cua-lesquiera. Observemos que se trata de una formula de tipo β de componentesdisyuntivas¬G y H. Luego, por hipotesis, tenemos que o bien {¬G} ∪ S pertenecea C o bien {H} ∪ S pertenece a C.

7): Supongamos que la formula ¬(G ∧ H) pertenece a S para formulas G y H cua-lesquiera. Observemos que se trata de una formula de tipo β de componentesdisyuntivas ¬ G y ¬ H. Luego, por hipotesis, tenemos que o bien {¬ G} ∪ Spertenece a C o bien {¬ H} ∪ S pertenece C.

De este modo, hemos probado a partir de la hipotesis todas las condiciones quegarantizan que la coleccion C cumple la propiedad de consistencia proposicional. Porlo tanto, queda demostrado el resultado.

Para probar este resultado de manera detallada en Isabelle vamos a demostrar cadauna de las implicaciones de la equivalencia por separado. La primera implicacion dellema se basa en dos lemas auxiliares. El primero de ellos deduce la condicion de 2)sobre formulas de tipo α a partir de las condiciones tercera, sexta, octava y novena dela definicion de propiedad de consistencia proposicional. Su demostracion detallada enIsabelle se muestra a continuacion.

lemma pcp-alt1Con:assumes (∀G H. G ∧ H ∈ S −→ {G,H} ∪ S ∈ C)∧ (∀G. ¬ (¬G) ∈ S −→ {G} ∪ S ∈ C)

Page 38: Formalizacion´ del teorema de existencia de modelo en

38 Capıtulo 2. Propiedad de consistencia proposicional

∧ (∀G H. ¬(G ∨ H) ∈ S −→ {¬ G, ¬ H} ∪ S ∈ C)∧ (∀G H. ¬(G → H) ∈ S −→ {G,¬ H} ∪ S ∈ C)shows ∀ F G H. Con F G H −→ F ∈ S −→ {G,H} ∪ S ∈ C

proof −have C1:∀G H. G ∧ H ∈ S −→ {G,H} ∪ S ∈ Cusing assms by (rule conjunct1)

have C2:∀G. ¬ (¬G) ∈ S −→ {G} ∪ S ∈ Cusing assms by (iprover elim: conjunct2 conjunct1)

have C3:∀G H. ¬(G ∨ H) ∈ S −→ {¬ G, ¬ H} ∪ S ∈ Cusing assms by (iprover elim: conjunct2 conjunct1)

have C4:∀G H. ¬(G → H) ∈ S −→ {G,¬ H} ∪ S ∈ Cusing assms by (iprover elim: conjunct2)

show ∀ F G H. Con F G H −→ F ∈ S −→ {G,H} ∪ S ∈ Cproof (rule allI)+fix F G Hshow Con F G H −→ F ∈ S −→ {G,H} ∪ S ∈ Cproof (rule impI)

assume Con F G Hthen have F = G ∧ H ∨

((∃G1 H1. F = ¬ (G1 ∨ H1) ∧ G = ¬ G1 ∧ H = ¬ H1) ∨(∃H2. F = ¬ (G → H2) ∧ H = ¬ H2) ∨F = ¬ (¬ G) ∧ H = G)

by (simp only: con-dis-simps(1))thus F ∈ S −→ {G,H} ∪ S ∈ Cproof (rule disjE)assume F = G ∧ Hshow F ∈ S −→ {G,H} ∪ S ∈ C

using C1 〈F = G ∧ H〉 by (iprover elim: allE)nextassume (∃G1 H1. F = ¬ (G1 ∨ H1) ∧ G = ¬ G1 ∧ H = ¬ H1) ∨

(∃H2. F = ¬ (G → H2) ∧ H = ¬ H2) ∨F = ¬ (¬ G) ∧ H = G

thus F ∈ S −→ {G,H} ∪ S ∈ Cproof (rule disjE)assume E1:∃G1 H1. F = ¬ (G1 ∨ H1) ∧ G = ¬ G1 ∧ H = ¬ H1obtain G1 H1 where A1:F = ¬ (G1 ∨ H1) ∧ G = ¬ G1 ∧ H = ¬ H1using E1 by (iprover elim: exE)

have F = ¬ (G1 ∨ H1)using A1 by (rule conjunct1)

have G = ¬ G1

Page 39: Formalizacion´ del teorema de existencia de modelo en

39

using A1 by (iprover elim: conjunct2 conjunct1)have H = ¬ H1using A1 by (iprover elim: conjunct2)

show F ∈ S −→ {G,H} ∪ S ∈ Cusing C3 〈F = ¬ (G1 ∨ H1)〉 〈G = ¬ G1〉 〈H = ¬ H1〉 by (iprover elim: allE)

nextassume (∃H2. F = ¬ (G → H2) ∧ H = ¬ H2) ∨

F = ¬ (¬ G) ∧ H = Gthus F ∈ S −→ {G,H} ∪ S ∈ Cproof (rule disjE)assume E2:∃H2. F = ¬ (G → H2) ∧ H = ¬ H2obtain H2 where A2:F = ¬ (G → H2) ∧ H = ¬ H2using E2 by (rule exE)

have F = ¬ (G → H2)using A2 by (rule conjunct1)

have H = ¬ H2using A2 by (rule conjunct2)

show F ∈ S −→ {G,H} ∪ S ∈ Cusing C4 〈F = ¬ (G → H2)〉 〈H = ¬ H2〉 by (iprover elim: allE)

nextassume A3:F = ¬(¬ G) ∧ H = Gthen have F = ¬(¬ G)

by (rule conjunct1)have H = G

using A3 by (rule conjunct2)have F ∈ S −→ {G} ∪ S ∈ Cusing C2 〈F = ¬(¬ G)〉 by (iprover elim: allE)

then have F ∈ S −→ {G,G} ∪ S ∈ Cby (simp only: insert-absorb2)

thus F ∈ S −→ {G,H} ∪ S ∈ Cby (simp only: 〈H = G〉)

qedqed

qedqed

qedqed

Finalmente, el siguiente lema auxiliar deduce la condicion de 2) sobre formulasde tipo β a partir de las condiciones cuarta, quinta, sexta y septima de la definicion depropiedad de consistencia proposicional.

Page 40: Formalizacion´ del teorema de existencia de modelo en

40 Capıtulo 2. Propiedad de consistencia proposicional

lemma pcp-alt1Dis:assumes (∀G H. G ∨ H ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ C)∧ (∀G H. G → H ∈ S −→ {¬ G} ∪ S ∈ C ∨ {H} ∪ S ∈ C)∧ (∀G. ¬ (¬G) ∈ S −→ {G} ∪ S ∈ C)∧ (∀G H. ¬(G ∧ H) ∈ S −→ {¬ G} ∪ S ∈ C ∨ {¬ H} ∪ S ∈ C)shows ∀ F G H. Dis F G H −→ F ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ C

proof −have C1:∀G H. G ∨ H ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ Cusing assms by (rule conjunct1)

have C2:∀G H. G → H ∈ S −→ {¬ G} ∪ S ∈ C ∨ {H} ∪ S ∈ Cusing assms by (iprover elim: conjunct2 conjunct1)

have C3:∀G. ¬ (¬G) ∈ S −→ {G} ∪ S ∈ Cusing assms by (iprover elim: conjunct2 conjunct1)

have C4:∀G H. ¬(G ∧ H) ∈ S −→ {¬ G} ∪ S ∈ C ∨ {¬ H} ∪ S ∈ Cusing assms by (iprover elim: conjunct2)

show ∀ F G H. Dis F G H −→ F ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ Cproof (rule allI)+fix F G Hshow Dis F G H −→ F ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ Cproof (rule impI)

assume Dis F G Hthen have F = G ∨ H ∨

(∃G1 H1. F = G1 → H1 ∧ G = ¬ G1 ∧ H = H1) ∨(∃G2 H2. F = ¬ (G2 ∧ H2) ∧ G = ¬ G2 ∧ H = ¬ H2) ∨F = ¬ (¬ G) ∧ H = G

by (simp only: con-dis-simps(2))thus F ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ Cproof (rule disjE)assume F = G ∨ Hshow F ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ Cusing C1 〈F = G ∨ H〉 by (iprover elim: allE)

nextassume (∃G1 H1. F = G1 → H1 ∧ G = ¬ G1 ∧ H = H1) ∨

(∃G2 H2. F = ¬ (G2 ∧ H2) ∧ G = ¬ G2 ∧ H = ¬ H2) ∨F = ¬ (¬ G) ∧ H = G

thus F ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ Cproof (rule disjE)assume E1:∃G1 H1. F = (G1 → H1) ∧ G = ¬ G1 ∧ H = H1obtain G1 H1 where A1: F = (G1 → H1) ∧ G = ¬ G1 ∧ H = H1using E1 by (iprover elim: exE)

Page 41: Formalizacion´ del teorema de existencia de modelo en

41

have F = (G1 → H1)using A1 by (rule conjunct1)

have G = ¬ G1using A1 by (iprover elim: conjunct2 conjunct1)

have H = H1using A1 by (iprover elim: conjunct2)

show F ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ Cusing C2 〈F = (G1 → H1)〉 〈G = ¬ G1〉 〈H = H1〉 by (iprover elim: allE)

nextassume (∃G2 H2. F = ¬ (G2 ∧ H2) ∧ G = ¬ G2 ∧ H = ¬ H2) ∨

F = ¬ (¬ G) ∧ H = Gthus F ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ Cproof (rule disjE)assume E2:∃G2 H2. F = ¬ (G2 ∧ H2) ∧ G = ¬ G2 ∧ H = ¬ H2obtain G2 H2 where A2:F = ¬ (G2 ∧ H2) ∧ G = ¬ G2 ∧ H = ¬ H2using E2 by (iprover elim: exE)

have F = ¬ (G2 ∧ H2)using A2 by (rule conjunct1)

have G = ¬ G2using A2 by (iprover elim: conjunct2 conjunct1)

have H = ¬ H2using A2 by (iprover elim: conjunct2)

show F ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ Cusing C4 〈F = ¬ (G2 ∧ H2)〉 〈G = ¬ G2〉 〈H = ¬ H2〉 by (iprover elim: allE)

nextassume A3:F = ¬(¬ G) ∧ H = Gthen have F = ¬(¬ G)by (rule conjunct1)

have H = Gusing A3 by (rule conjunct2)

have F ∈ S −→ {G} ∪ S ∈ Cusing C3 〈F = ¬(¬ G)〉 by (iprover elim: allE)

then have F ∈ S −→ {G} ∪ S ∈ C ∨ {G} ∪ S ∈ Cby (simp only: disj-absorb)

thus F ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ Cby (simp only: 〈H = G〉)

qedqed

qedqed

Page 42: Formalizacion´ del teorema de existencia de modelo en

42 Capıtulo 2. Propiedad de consistencia proposicional

qedqed

De esta manera, mediante los anteriores lemas auxiliares podemos probar la primeraimplicacion detalladamente en Isabelle.

lemma pcp-alt1:assumes pcp Cshows ∀ S ∈ C. ⊥ /∈ S∧ (∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ False)∧ (∀ F G H. Con F G H −→ F ∈ S −→ {G,H} ∪ S ∈ C)∧ (∀ F G H. Dis F G H −→ F ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ C)

proof (rule ballI)fix Sassume S ∈ Chave (∀ S ∈ C.⊥ /∈ S∧ (∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ False)∧ (∀G H. G ∧ H ∈ S −→ {G,H} ∪ S ∈ C)∧ (∀G H. G ∨ H ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ C)∧ (∀G H. G → H ∈ S −→ {¬G} ∪ S ∈ C ∨ {H} ∪ S ∈ C)∧ (∀G. ¬ (¬G) ∈ S −→ {G} ∪ S ∈ C)∧ (∀G H. ¬(G ∧ H) ∈ S −→ {¬ G} ∪ S ∈ C ∨ {¬ H} ∪ S ∈ C)∧ (∀G H. ¬(G ∨ H) ∈ S −→ {¬ G, ¬ H} ∪ S ∈ C)∧ (∀G H. ¬(G → H) ∈ S −→ {G,¬ H} ∪ S ∈ C))using assms by (simp only: pcp-def )

then have pcpS:⊥ /∈ S∧ (∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ False)∧ (∀G H. G ∧ H ∈ S −→ {G,H} ∪ S ∈ C)∧ (∀G H. G ∨ H ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ C)∧ (∀G H. G → H ∈ S −→ {¬G} ∪ S ∈ C ∨ {H} ∪ S ∈ C)∧ (∀G. ¬ (¬G) ∈ S −→ {G} ∪ S ∈ C)∧ (∀G H. ¬(G ∧ H) ∈ S −→ {¬ G} ∪ S ∈ C ∨ {¬ H} ∪ S ∈ C)∧ (∀G H. ¬(G ∨ H) ∈ S −→ {¬ G, ¬ H} ∪ S ∈ C)∧ (∀G H. ¬(G → H) ∈ S −→ {G,¬ H} ∪ S ∈ C)using 〈S ∈ C〉 by (rule bspec)

then have C1:⊥ /∈ Sby (rule conjunct1)

have C2:∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ Falseusing pcpS by (iprover elim: conjunct2 conjunct1)

have C3:∀G H. G ∧ H ∈ S −→ {G,H} ∪ S ∈ Cusing pcpS by (iprover elim: conjunct2 conjunct1)

Page 43: Formalizacion´ del teorema de existencia de modelo en

43

have C4:∀G H. G ∨ H ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ Cusing pcpS by (iprover elim: conjunct2 conjunct1)

have C5:∀G H. G → H ∈ S −→ {¬G} ∪ S ∈ C ∨ {H} ∪ S ∈ Cusing pcpS by (iprover elim: conjunct2 conjunct1)

have C6:∀G. ¬ (¬G) ∈ S −→ {G} ∪ S ∈ Cusing pcpS by (iprover elim: conjunct2 conjunct1)

have C7:∀G H. ¬(G ∧ H) ∈ S −→ {¬ G} ∪ S ∈ C ∨ {¬ H} ∪ S ∈ Cusing pcpS by (iprover elim: conjunct2 conjunct1)

have C8:∀G H. ¬(G ∨ H) ∈ S −→ {¬ G, ¬ H} ∪ S ∈ Cusing pcpS by (iprover elim: conjunct2 conjunct1)

have C9:∀G H. ¬(G → H) ∈ S −→ {G,¬ H} ∪ S ∈ Cusing pcpS by (iprover elim: conjunct2)

have (∀G H. G ∧ H ∈ S −→ {G,H} ∪ S ∈ C)∧ (∀G. ¬ (¬G) ∈ S −→ {G} ∪ S ∈ C)∧ (∀G H. ¬(G ∨ H) ∈ S −→ {¬ G, ¬ H} ∪ S ∈ C)∧ (∀G H. ¬(G → H) ∈ S −→ {G,¬ H} ∪ S ∈ C)using C3 C6 C8 C9 by (iprover intro: conjI)

then have Con:∀ F G H. Con F G H −→ F ∈ S −→ {G,H} ∪ S ∈ Cby (rule pcp-alt1Con)

have (∀G H. G ∨ H ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ C)∧ (∀G H. G → H ∈ S −→ {¬ G} ∪ S ∈ C ∨ {H} ∪ S ∈ C)∧ (∀G. ¬ (¬G) ∈ S −→ {G} ∪ S ∈ C)∧ (∀G H. ¬(G ∧ H) ∈ S −→ {¬ G} ∪ S ∈ C ∨ {¬ H} ∪ S ∈ C)using C4 C5 C6 C7 by (iprover intro: conjI)

then have Dis:∀ F G H. Dis F G H −→ F ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ Cby (rule pcp-alt1Dis)

thus ⊥ /∈ S∧ (∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ False)∧ (∀ F G H. Con F G H −→ F ∈ S −→ {G,H} ∪ S ∈ C)∧ (∀ F G H. Dis F G H −→ F ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ C)using C1 C2 Con Dis by (iprover intro: conjI)

qed

Por otro lado, veamos la demostracion detallada de la implicacion recıproca de laequivalencia. Para ello, utilizaremos distintos lemas auxiliares para deducir cada unade las condiciones de la definicion de propiedad de consistencia proposicional a partirde las hipotesis sobre las formulas de tipo α y β. En primer lugar, veamos los lemas quese deducen condiciones a partir de la hipotesis referente a las formulas de tipo α.

lemma pcp-alt2Con1:assumes ∀ F G H. Con F G H −→ F ∈ S −→ {G,H} ∪ S ∈ Cshows ∀G H. G ∧ H ∈ S −→ {G,H} ∪ S ∈ C

Page 44: Formalizacion´ del teorema de existencia de modelo en

44 Capıtulo 2. Propiedad de consistencia proposicional

proof (rule allI)+fix G Hshow G ∧ H ∈ S −→ {G,H} ∪ S ∈ Cproof (rule impI)assume G ∧ H ∈ Sthen have Con (G ∧ H) G H

by (simp only: Con.intros(1))let ?F=G ∧ Hhave Con ?F G H −→ ?F ∈ S −→ {G,H} ∪ S ∈ C

using assms by (iprover elim: allE)then have ?F ∈ S −→ {G,H} ∪ S ∈ Cusing 〈Con (G ∧ H) G H〉 by (rule mp)

thus {G,H} ∪ S ∈ Cusing 〈(G ∧ H) ∈ S〉 by (rule mp)

qedqed

lemma pcp-alt2Con2:assumes ∀ F G H. Con F G H −→ F ∈ S −→ {G,H} ∪ S ∈ Cshows ∀G. ¬ (¬G) ∈ S −→ {G} ∪ S ∈ C

proof (rule allI)fix Gshow ¬ (¬G) ∈ S −→ {G} ∪ S ∈ Cproof (rule impI)assume ¬(¬G) ∈ Sthen have Con (¬(¬G)) G G

by (simp only: Con.intros(4))let ?F=¬(¬ G)have ∀G H. Con ?F G H −→ ?F ∈ S −→ {G,H} ∪ S ∈ C

using assms by (rule allE)then have ∀H. Con ?F G H −→ ?F ∈ S −→ {G,H} ∪ S ∈ C

by (rule allE)then have Con ?F G G −→ ?F ∈ S −→ {G,G} ∪ S ∈ Cby (rule allE)

then have ?F ∈ S −→ {G,G} ∪ S ∈ Cusing 〈Con (¬(¬G)) G G〉 by (rule mp)

then have {G,G} ∪ S ∈ Cusing 〈(¬(¬G)) ∈ S〉 by (rule mp)

thus {G} ∪ S ∈ Cby (simp only: insert-absorb2)

Page 45: Formalizacion´ del teorema de existencia de modelo en

45

qedqed

lemma pcp-alt2Con3:assumes ∀ F G H. Con F G H −→ F ∈ S −→ {G,H} ∪ S ∈ Cshows ∀G H. ¬(G ∨ H) ∈ S −→ {¬ G, ¬ H} ∪ S ∈ C

proof (rule allI)+fix G Hshow ¬(G ∨ H) ∈ S −→ {¬ G, ¬ H} ∪ S ∈ Cproof (rule impI)assume ¬(G ∨ H) ∈ Sthen have Con (¬(G ∨ H)) (¬G) (¬H)

by (simp only: Con.intros(2))let ?F = ¬(G ∨ H)have Con ?F (¬G) (¬H) −→ ?F ∈ S −→ {¬G,¬H} ∪ S ∈ C

using assms by (iprover elim: allE)then have ?F ∈ S −→ {¬G,¬H} ∪ S ∈ C

using 〈Con (¬(G ∨ H)) (¬G) (¬H)〉 by (rule mp)thus {¬G,¬H} ∪ S ∈ C

using 〈¬(G ∨ H) ∈ S〉 by (rule mp)qed

qed

lemma pcp-alt2Con4:assumes ∀ F G H. Con F G H −→ F ∈ S −→ {G,H} ∪ S ∈ Cshows ∀G H. ¬(G → H) ∈ S −→ {G,¬ H} ∪ S ∈ C

proof (rule allI)+fix G Hshow ¬(G → H) ∈ S −→ {G,¬ H} ∪ S ∈ Cproof (rule impI)

assume ¬(G → H) ∈ Sthen have Con (¬(G → H)) G (¬H)

by (simp only: Con.intros(3))let ?F = ¬(G → H)have Con ?F G (¬H) −→ ?F ∈ S −→ {G,¬H} ∪ S ∈ Cusing assms by (iprover elim: allE)

then have ?F ∈ S −→ {G,¬H} ∪ S ∈ Cusing 〈Con (¬(G → H)) G (¬H)〉 by (rule mp)

thus {G,¬H} ∪ S ∈ Cusing 〈¬(G → H) ∈ S〉 by (rule mp)

Page 46: Formalizacion´ del teorema de existencia de modelo en

46 Capıtulo 2. Propiedad de consistencia proposicional

qedqed

Por otro lado, los siguientes lemas auxiliares prueban el resto de condiciones de ladefinicion de propiedad de consistencia proposicional a partir de la hipotesis referentea formulas de tipo β.

lemma pcp-alt2Dis1:assumes ∀ F G H. Dis F G H −→ F ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ Cshows ∀G H. G ∨ H ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ C

proof (rule allI)+fix G Hshow G ∨ H ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ Cproof (rule impI)assume G ∨ H ∈ Sthen have Dis (G ∨ H) G Hby (simp only: Dis.intros(1))

let ?F=G ∨ Hhave Dis ?F G H −→ ?F ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ C

using assms by (iprover elim: allE)then have ?F ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ C

using 〈Dis (G ∨ H) G H〉 by (rule mp)thus {G} ∪ S ∈ C ∨ {H} ∪ S ∈ Cusing 〈(G ∨ H) ∈ S〉 by (rule mp)

qedqed

lemma pcp-alt2Dis2:assumes ∀ F G H. Dis F G H −→ F ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ Cshows ∀G H. G → H ∈ S −→ {¬ G} ∪ S ∈ C ∨ {H} ∪ S ∈ C

proof (rule allI)+fix G Hshow G → H ∈ S −→ {¬ G} ∪ S ∈ C ∨ {H} ∪ S ∈ Cproof (rule impI)assume G → H ∈ Sthen have Dis (G → H) (¬G) Hby (simp only: Dis.intros(2))

let ?F=G → Hhave Dis ?F (¬G) H −→ ?F ∈ S −→ {¬G} ∪ S ∈ C ∨ {H} ∪ S ∈ Cusing assms by (iprover elim: allE)

then have ?F ∈ S −→ {¬G} ∪ S ∈ C ∨ {H} ∪ S ∈ Cusing 〈Dis (G → H) (¬G) H〉 by (rule mp)

Page 47: Formalizacion´ del teorema de existencia de modelo en

47

thus {¬G} ∪ S ∈ C ∨ {H} ∪ S ∈ Cusing 〈(G → H) ∈ S〉 by (rule mp)

qedqed

lemma pcp-alt2Dis3:assumes ∀ F G H. Dis F G H −→ F ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ Cshows ∀G H. ¬(G ∧ H) ∈ S −→ {¬ G} ∪ S ∈ C ∨ {¬ H} ∪ S ∈ C

proof (rule allI)+fix G Hshow ¬(G ∧ H) ∈ S −→ {¬ G} ∪ S ∈ C ∨ {¬ H} ∪ S ∈ Cproof (rule impI)assume ¬(G ∧ H) ∈ Sthen have Dis (¬(G ∧ H)) (¬G) (¬H)by (simp only: Dis.intros(3))

let ?F=¬(G ∧ H)have Dis ?F (¬G) (¬H) −→ ?F ∈ S −→ {¬G} ∪ S ∈ C ∨ {¬H} ∪ S ∈ C

using assms by (iprover elim: allE)then have ?F ∈ S −→ {¬G} ∪ S ∈ C ∨ {¬H} ∪ S ∈ Cusing 〈Dis (¬(G ∧ H)) (¬G) (¬H)〉 by (rule mp)

thus {¬G} ∪ S ∈ C ∨ {¬H} ∪ S ∈ Cusing 〈¬(G ∧ H) ∈ S〉 by (rule mp)

qedqed

De este modo, procedemos a la demostracion detallada de esta implicacion en Isa-belle.

lemma pcp-alt2:assumes ∀ S ∈ C. ⊥ /∈ S∧ (∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ False)∧ (∀ F G H. Con F G H −→ F ∈ S −→ {G,H} ∪ S ∈ C)∧ (∀ F G H. Dis F G H −→ F ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ C)shows pcp Cunfolding pcp-def

proof (rule ballI)fix Sassume S ∈ Chave H:⊥ /∈ S∧ (∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ False)∧ (∀ F G H. Con F G H −→ F ∈ S −→ {G,H} ∪ S ∈ C)∧ (∀ F G H. Dis F G H −→ F ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ C)

Page 48: Formalizacion´ del teorema de existencia de modelo en

48 Capıtulo 2. Propiedad de consistencia proposicional

using assms 〈S ∈ C〉 by (rule bspec)then have Con:∀ F G H. Con F G H −→ F ∈ S −→ {G,H} ∪ S ∈ Cby (iprover elim: conjunct1 conjunct2)

have Dis:∀ F G H. Dis F G H −→ F ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ Cusing H by (iprover elim: conjunct1 conjunct2)

have 1:⊥ /∈ S∧ (∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ False)using H by (iprover elim: conjunct1)

have 2:∀G H. G ∧ H ∈ S −→ {G,H} ∪ S ∈ Cusing Con by (rule pcp-alt2Con1)

have 3:∀G H. G ∨ H ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ Cusing Dis by (rule pcp-alt2Dis1)

have 4:∀G H. G → H ∈ S −→ {¬G} ∪ S ∈ C ∨ {H} ∪ S ∈ Cusing Dis by (rule pcp-alt2Dis2)

have 5:∀G. ¬ (¬G) ∈ S −→ {G} ∪ S ∈ Cusing Con by (rule pcp-alt2Con2)

have 6:∀G H. ¬(G ∧ H) ∈ S −→ {¬ G} ∪ S ∈ C ∨ {¬ H} ∪ S ∈ Cusing Dis by (rule pcp-alt2Dis3)

have 7:∀G H. ¬(G ∨ H) ∈ S −→ {¬ G, ¬ H} ∪ S ∈ Cusing Con by (rule pcp-alt2Con3)

have 8:∀G H. ¬(G → H) ∈ S −→ {G,¬ H} ∪ S ∈ Cusing Con by (rule pcp-alt2Con4)

have A:⊥ /∈ S∧ (∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ False)∧ (∀G H. G ∧ H ∈ S −→ {G,H} ∪ S ∈ C)∧ (∀G H. G ∨ H ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ C)∧ (∀G H. G → H ∈ S −→ {¬G} ∪ S ∈ C ∨ {H} ∪ S ∈ C)using 1 2 3 4 by (iprover intro: conjI)

have B:(∀G. ¬ (¬G) ∈ S −→ {G} ∪ S ∈ C)∧ (∀G H. ¬(G ∧ H) ∈ S −→ {¬ G} ∪ S ∈ C ∨ {¬ H} ∪ S ∈ C)∧ (∀G H. ¬(G ∨ H) ∈ S −→ {¬ G, ¬ H} ∪ S ∈ C)∧ (∀G H. ¬(G → H) ∈ S −→ {G,¬ H} ∪ S ∈ C)using 5 6 7 8 by (iprover intro: conjI)

have (⊥ /∈ S∧ (∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ False)∧ (∀G H. G ∧ H ∈ S −→ {G,H} ∪ S ∈ C)∧ (∀G H. G ∨ H ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ C)∧ (∀G H. G → H ∈ S −→ {¬G} ∪ S ∈ C ∨ {H} ∪ S ∈ C))∧ ((∀G. ¬ (¬G) ∈ S −→ {G} ∪ S ∈ C)∧ (∀G H. ¬(G ∧ H) ∈ S −→ {¬ G} ∪ S ∈ C ∨ {¬ H} ∪ S ∈ C)

Page 49: Formalizacion´ del teorema de existencia de modelo en

49

∧ (∀G H. ¬(G ∨ H) ∈ S −→ {¬ G, ¬ H} ∪ S ∈ C)∧ (∀G H. ¬(G → H) ∈ S −→ {G,¬ H} ∪ S ∈ C))using A B by (rule conjI)

thus ⊥ /∈ S∧ (∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ False)∧ (∀G H. G ∧ H ∈ S −→ {G,H} ∪ S ∈ C)∧ (∀G H. G ∨ H ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ C)∧ (∀G H. G → H ∈ S −→ {¬G} ∪ S ∈ C ∨ {H} ∪ S ∈ C)∧ (∀G. ¬ (¬G) ∈ S −→ {G} ∪ S ∈ C)∧ (∀G H. ¬(G ∧ H) ∈ S −→ {¬ G} ∪ S ∈ C ∨ {¬ H} ∪ S ∈ C)∧ (∀G H. ¬(G ∨ H) ∈ S −→ {¬ G, ¬ H} ∪ S ∈ C)∧ (∀G H. ¬(G → H) ∈ S −→ {G,¬ H} ∪ S ∈ C)by (iprover intro: conj-assoc)

qed

Una vez probadas detalladamente en Isabelle cada una de las implicaciones de laequivalencia, podemos finalmente concluir con la demostracion del lema completo.

lemma pcp C = (∀ S ∈ C. ⊥ /∈ S∧ (∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ False)∧ (∀ F G H. Con F G H −→ F ∈ S −→ {G,H} ∪ S ∈ C)∧ (∀ F G H. Dis F G H −→ F ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ C))proof (rule iffI)assume pcp Cthus ∀ S ∈ C. ⊥ /∈ S∧ (∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ False)∧ (∀ F G H. Con F G H −→ F ∈ S −→ {G,H} ∪ S ∈ C)∧ (∀ F G H. Dis F G H −→ F ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ C)

by (rule pcp-alt1)nextassume ∀ S ∈ C. ⊥ /∈ S∧ (∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ False)∧ (∀ F G H. Con F G H −→ F ∈ S −→ {G,H} ∪ S ∈ C)∧ (∀ F G H. Dis F G H −→ F ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ C)thus pcp Cby (rule pcp-alt2)

qed

La demostracion automatica del resultado en Isabelle/HOL se muestra finalmentea continuacion.

lemma pcp-alt: pcp C = (∀ S ∈ C.⊥ /∈ S

Page 50: Formalizacion´ del teorema de existencia de modelo en

50 Capıtulo 2. Propiedad de consistencia proposicional

∧ (∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ False)∧ (∀ F G H. Con F G H −→ F ∈ S −→ {G,H} ∪ S ∈ C)∧ (∀ F G H. Dis F G H −→ F ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ C))apply(simp add: pcp-def con-dis-simps)apply(rule iffI; unfold Ball-def ; elim all-forward)by (auto simp add: insert-absorb split: formula.splits)

Page 51: Formalizacion´ del teorema de existencia de modelo en

Capıtulo 3

Colecciones de conjuntos cerradas bajosubconjuntos y de caracter finito

En este capıtulo se estudian las colecciones de conjuntos cerradas bajo subconjuntos y decaracter finito, y se demuestran tres resultados sobre las mismas. El primero de ellos per-mite extender una coleccion con la propiedad de consistencia proposicional a otra quetambien la verifique y sea cerrada bajo subconjuntos. Posteriormente probaremos quetoda coleccion de caracter finito es cerrada bajo subconjuntos. Finalmente, se demuestraque una coleccion cerrada bajo subconjuntos que verifique la propiedad de consistenciaproposicional se puede extender a otra que tambien verifique dicha propiedad y sea decaracter finito.

Definicion 3.0.1 Una coleccion de conjuntos es cerrada bajo subconjuntos si todo subconjuntode cada conjunto de la coleccion pertenece a la coleccion.

En Isabelle se formaliza de la siguiente manera.

definition subset-closed C ≡ (∀ S ∈ C. ∀ S ′⊆S. S ′∈ C)

Mostremos algunos ejemplos para ilustrar la definicion. Para ello, veamos si lascolecciones de conjuntos de formulas proposicionales expuestas en los ejemplos ante-riores son cerradas bajo subconjuntos.

lemma subset-closed {{}}unfolding subset-closed-def by simp

lemma ¬ subset-closed {{Atom 0}}unfolding subset-closed-def by auto

Observemos que, puesto que el conjunto vacıo es subconjunto de todo conjunto,

51

Page 52: Formalizacion´ del teorema de existencia de modelo en

52 Capıtulo 3. Colecciones de conjuntos cerradas bajo subconjuntos y de caracter finito

una condicion necesaria para que una coleccion sea cerrada bajo subconjuntos es quecontenga al conjunto vacıo.

lemma subset-closed {{Atom 0},{}}unfolding subset-closed-def by auto

De este modo, se deduce facilmente que el resto de colecciones expuestas en losejemplos anteriores no son cerradas bajo subconjuntos.

lemma ¬ subset-closed {{(¬ (Atom 1)) → Atom 2},{((¬ (Atom 1)) → Atom 2), ¬(¬ (Atom 1))},{((¬ (Atom 1)) → Atom 2), ¬(¬ (Atom 1)), Atom 1}}unfolding subset-closed-def by auto

lemma ¬ subset-closed {{(¬ (Atom 1)) → Atom 2},{((¬ (Atom 1)) → Atom 2), ¬(¬ (Atom 1))}}

unfolding subset-closed-def by auto

Continuemos con la nocion de propiedad de caracter finito.

Definicion 3.0.2 Una coleccion de conjuntos tiene la propiedad de caracter finito si para cualquierconjunto son equivalentes:

1. El conjunto pertenece a la coleccion.

2. Todo subconjunto finito suyo pertenece a la coleccion.

La formalizacion en Isabelle/HOL de dicha definicion se muestra a continuacion.

definition finite-character C ≡(∀ S. S ∈ C←→ (∀ S ′⊆ S. finite S ′−→ S ′∈ C))

Distingamos las colecciones de los ejemplos anteriores que tengan la propiedadde caracter finito. Analogamente, puesto que el conjunto vacıo es finito y subconjuntode cualquier conjunto, se observa que una condicion necesaria para que una colecciontenga la propiedad de caracter finito es que contenga al conjunto vacıo.

lemma finite-character {{}}unfolding finite-character-def by auto

lemma ¬ finite-character {{Atom 0}}unfolding finite-character-def by auto

lemma finite-character {{Atom 0},{}}unfolding finite-character-def by auto

Page 53: Formalizacion´ del teorema de existencia de modelo en

53

Lema 3.0.3 Toda coleccion de conjuntos con la propiedad de consistencia proposicional se puedeextender a una coleccion que tambien verifique la propiedad de consistencia proposicional y seacerrada bajo subconjuntos.

En Isabelle se formaliza el resultado de la siguiente manera.

lemma pcp C =⇒ ∃C ′. C ⊆ C ′∧ pcp C ′∧ subset-closed C ′

oops

Procedamos con su demostracion.

Demostracion: Dada una coleccion de conjuntos cualquiera C, consideremos la coleccionformada por los conjuntos tales que son subconjuntos de algun conjunto de C. Notemosesta coleccion por C ′ = {S ′. ∃ S∈C. S ′ ⊆ S}. Vamos a probar que, en efecto, C ′ verificalas condiciones del lema.

En primer lugar, veamos que C esta contenida en C ′. Para ello, consideremos unconjunto cualquiera perteneciente a C. Puesto que la propiedad de contencion es refle-xiva, dicho conjunto es subconjunto de sı mismo. De este modo, por definicion de C ′, severifica que el conjunto pertenece a C ′.

Por otro lado, comprobemos que C ′ tiene la propiedad de consistencia proposi-cional. Por el lema de caracterizacion de la propiedad de consistencia proposicionalmediante la notacion uniforme basta probar que, para cualquier conjunto de formulasS de C ′, se verifican las condiciones:

• ⊥ no pertenece a S.

• Dada p una formula atomica cualquiera, no se tiene simultaneamente quep ∈ S y ¬ p ∈ S.

• Para toda formula de tipo α con componentes α1 y α2 tal que α pertenece a S, setiene que {α1,α2} ∪ S pertenece a C ′.

• Para toda formula de tipo β con componentes β1 y β2 tal que β pertenece a S, setiene que o bien {β1} ∪ S pertenece a C ′ o bien {β2} ∪ S pertenece a C ′.

De este modo, sea S un conjunto de formulas cualquiera de la coleccion C ′. Pordefinicion de dicha coleccion, existe un conjunto S ′ pertenciente a C tal que S esta con-tenido en S ′. Como C tiene la propiedad de consistencia proposicional por hipotesis,verifica las condiciones del lema de caracterizacion de la propiedad de consistenciaproposicional mediante la notacion uniforme. En particular, puesto que S ′ pertenecea C, se verifica:

• ⊥ no pertenece a S ′.

Page 54: Formalizacion´ del teorema de existencia de modelo en

54 Capıtulo 3. Colecciones de conjuntos cerradas bajo subconjuntos y de caracter finito

• Dada p una formula atomica cualquiera, no se tiene simultaneamente quep ∈ S ′ y ¬ p ∈ S ′.

• Para toda formula de tipo α con componentes α1 y α2 tal que α pertenece a S ′, setiene que {α1,α2} ∪ S ′ pertenece a C.

• Para toda formula de tipo β con componentes β1 y β2 tal que β pertenece a S ′, setiene que o bien {β1} ∪ S ′ pertenece a C o bien {β2} ∪ S ′ pertenece a C.

Por tanto, como S esta contenida en S ′, se verifica analogamente que ⊥ no pertencea S y que dada una formula atomica cualquiera p, no se tiene simultaneamente quep ∈ S y ¬ p ∈ S. Veamos que se verifican el resto de condiciones del lema de caracteri-zacion:

� Condicion para formulas de tipo α: Sea una formula de tipo α con componentes α1 yα2 tal que α pertenece a S. Como S esta contenida en S ′, tenemos que la formula pertencetambien a S ′. De este modo, se verifica que {α1,α2} ∪ S ′ pertenece a la coleccion C. Porotro lado, como el conjunto S esta contenido en S ′, se observa facilmente que{α1,α2} ∪ S esta contenido en {α1,α2} ∪ S ′. Por lo tanto, el conjunto {α1,α2} ∪ S esta enC ′ por definicion de esta, ya que es subconjunto de {α1,α2} ∪ S ′ que pertence a C.

� Condicion para formulas de tipo β: Sea una formula de tipo β con componentes β1 yβ2 tal que la formula pertenece a S. Como el conjunto S esta contenido en S ′, tenemosque la formula pertence, a su vez, a S ′. De este modo, se verifica que o bien {β1} ∪ S ′

pertenece a C o bien {β2} ∪ S ′ pertence a C. Por eliminacion de la disyuncion anterior,vamos a probar que o bien {β1} ∪ S pertenece a C ′ o bien {β2} ∪ S pertenece a C ′.

• Supongamos, en primer lugar, que {β1} ∪ S ′pertenece a C. Puesto que el conjuntoS esta contenido en S ′, se observa facilmente que {β1} ∪ S esta contenido en{β1} ∪ S ′. Por definicion de la coleccion C ′, tenemos que {β1} ∪ S pertenece a C ′,ya que es subconjunto de {β1} ∪ S ′ que pertenece a C. Por tanto, hemos probadoque o bien {β1} ∪ S pertenece a C ′ o bien {β2} ∪ S pertenece a C ′.

• Supongamos, finalmente, que {β2} ∪ S ′ pertenece a C. Analogamente obtenemosque {β2} ∪ S esta contenido en {β2} ∪ S ′, luego {β2} ∪ S pertenece a C ′ pordefinicion. Por tanto, o bien {β1} ∪ S pertenece a C ′ o bien {β2} ∪ S pertenece aC ′.

De esta manera, queda probado que dada una formula de tipo β y componentes β1 y β2tal que pertenezca al conjunto S, se verifica que o bien {β1} ∪ S pertenece a C ′ o bien{β2} ∪ S pertenece a C ′.

En conclusion, por el lema de caracterizacion de la propiedad de consistencia proposi-cional mediante la notacion uniforme, queda probado que C ′ tiene la propiedad de con-sistencia proposicional.

Page 55: Formalizacion´ del teorema de existencia de modelo en

55

Finalmente probemos que, ademas, C ′ es cerrada bajo subconjuntos. Por definicionde ser cerrado bajo subconjuntos, basta probar que dado un conjunto perteneciente aC ′ verifica que todo subconjunto suyo pertenece a C ′. Consideremos S un conjuntocualquiera de C ′. Por definicion de C ′, existe un conjunto S ′ perteneciente a la coleccionC tal que S es subconjunto de S ′. Sea S ′′ un subconjunto cualquiera de S. Como S essubconjunto de S ′, se tiene que S ′′ es, a su vez, subconjunto de S ′. De este modo, existeun conjunto perteneciente a la coleccion C del cual S ′′ es subconjunto. Por tanto, pordefinicion de C ′, S ′′ pertenece a la coleccion C ′, como querıa demostrar.

Procedamos con las demostraciones del lema en Isabelle/HOL.

En primer lugar, vamos a introducir dos lemas auxiliares que emplearemos a lolargo de esta seccion. El primero se trata de un lema similar al lema ballI definido enIsabelle pero considerando la relacion de contencion en lugar de la de pertenencia.

lemma sallI: (∧

S. S ⊆ A =⇒ P S) =⇒ ∀ S ⊆ A. P Sby simp

Por ultimo definimos el siguiente lema auxiliar similar al lema bspec de Isabelle/HOLconsiderando, analogamente, la relacion de contencion en lugar de la de pertenencia.

lemma sspec: ∀ S ⊆ A. P S =⇒ S ⊆ A =⇒ P Sby simp

Veamos la prueba detallada del lema en Isabelle/HOL. Esta se fundamenta en treslemas auxiliares: el primero prueba que la coleccion C esta contenida en C ′, el segundoque C ′ tiene la propiedad de consistencia proposicional y, finalmente, el tercer lemademuestra que C ′ es cerrada bajo subconjuntos. En primer lugar, dada una coleccioncualquiera C, definiremos en Isabelle su extension C ′ como sigue.

definition extensionSC :: (( ′a formula) set) set⇒ (( ′a formula) set) setwhere extensionSC: extensionSC C = {s. ∃ S∈C. s ⊆ S}

Una vez formalizada la extension en Isabelle, comencemos probando de maneradetallada que toda coleccion esta contenida en su extension ası definida.

lemma ex1-subset: C ⊆ (extensionSC C)proof (rule subsetI)fix sassume s ∈ Chave s ⊆ sby (rule subset-refl)

then have ∃ S∈C. s ⊆ Susing 〈s ∈ C〉 by (rule bexI)

Page 56: Formalizacion´ del teorema de existencia de modelo en

56 Capıtulo 3. Colecciones de conjuntos cerradas bajo subconjuntos y de caracter finito

thus s ∈ (extensionSC C)by (simp only: mem-Collect-eq extensionSC)

qed

Prosigamos con la prueba del lema auxiliar que demuestra que C ′ tiene la propie-dad de consistencia proposicional. Para ello, emplearemos un lema auxiliar que ampliael lema de Isabelle insert-is-Un para la union de dos elementos y un conjunto, como semuestra a continuacion.

lemma insertSetElem: insert a (insert b C) = {a,b} ∪ Cby simp

Una vez introducido dicho lema auxiliar, podemos dar la prueba detallada del lemaque demuestra que C ′ tiene la propiedad de consistencia proposicional.

lemma ex1-pcp:assumes pcp Cshows pcp (extensionSC C)

proof −have C1: C ⊆ (extensionSC C)by (rule ex1-subset)

show pcp (extensionSC C)proof (rule pcp-alt2)show ∀ S ∈ (extensionSC C). (⊥ /∈ S∧ (∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ False)∧ (∀ F G H. Con F G H −→ F ∈ S −→ {G,H} ∪ S ∈ (extensionSC C))∧ (∀ F G H. Dis F G H −→ F ∈ S −→ {G} ∪ S ∈ (extensionSC C) ∨ {H} ∪ S ∈

(extensionSC C)))proof (rule ballI)

fix S ′

assume S ′∈ (extensionSC C)then have 1:∃ S ∈ C. S ′⊆ Sunfolding extensionSC by (rule CollectD)

obtain S where S ∈ C S ′⊆ Susing 1 by (rule bexE)

have ∀ S ∈ C.⊥ /∈ S∧ (∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ False)∧ (∀ F G H. Con F G H −→ F ∈ S −→ {G,H} ∪ S ∈ C)∧ (∀ F G H. Dis F G H −→ F ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ C)using assms by (rule pcp-alt1)

then have H:⊥ /∈ S∧ (∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ False)

Page 57: Formalizacion´ del teorema de existencia de modelo en

57

∧ (∀ F G H. Con F G H −→ F ∈ S −→ {G,H} ∪ S ∈ C)∧ (∀ F G H. Dis F G H −→ F ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ C)using 〈S ∈ C〉 by (rule bspec)

then have ⊥ /∈ Sby (rule conjunct1)

have S1:⊥ /∈ S ′

using 〈S ′⊆ S〉 〈⊥ /∈ S〉 by (rule contra-subsetD)have Atom:∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ Falseusing H by (iprover elim: conjunct1 conjunct2)

have S2:∀ k. Atom k ∈ S ′−→ ¬ (Atom k) ∈ S ′−→ Falseproof (rule allI)fix kshow Atom k ∈ S ′−→ ¬ (Atom k) ∈ S ′−→ Falseproof (rule impI)+

assume Atom k ∈ S ′

assume ¬ (Atom k) ∈ S ′

have Atom k ∈ Susing 〈S ′⊆ S〉 〈Atom k ∈ S ′〉 by (rule set-mp)

have ¬ (Atom k) ∈ Susing 〈S ′⊆ S〉 〈¬ (Atom k) ∈ S ′〉 by (rule set-mp)

have Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ Falseusing Atom by (rule allE)

then have ¬ (Atom k) ∈ S −→ Falseusing 〈Atom k ∈ S〉 by (rule mp)

thus Falseusing 〈¬ (Atom k) ∈ S〉 by (rule mp)

qedqedhave Con:∀ F G H. Con F G H −→ F ∈ S −→ {G,H} ∪ S ∈ Cusing H by (iprover elim: conjunct1 conjunct2)

have S3:∀ F G H. Con F G H −→ F ∈ S ′−→ {G,H} ∪ S ′∈ (extensionSC C)proof (rule allI)+fix F G Hshow Con F G H −→ F ∈ S ′−→ {G,H} ∪ S ′∈ (extensionSC C)proof (rule impI)+

assume Con F G Hassume F ∈ S ′

have F ∈ Susing 〈S ′⊆ S〉 〈F ∈ S ′〉 by (rule set-mp)

have Con F G H −→ F ∈ S −→ {G,H} ∪ S ∈ C

Page 58: Formalizacion´ del teorema de existencia de modelo en

58 Capıtulo 3. Colecciones de conjuntos cerradas bajo subconjuntos y de caracter finito

using Con by (iprover elim: allE)then have F ∈ S −→ {G,H} ∪ S ∈ Cusing 〈Con F G H〉 by (rule mp)

then have {G,H} ∪ S ∈ Cusing 〈F ∈ S〉 by (rule mp)

have S ′⊆ insert H Susing 〈S ′⊆ S〉 by (rule subset-insertI2)

then have insert H S ′⊆ insert H (insert H S)by (simp only: insert-mono)

then have insert H S ′⊆ insert H Sby (simp only: insert-absorb2)

then have insert G (insert H S ′) ⊆ insert G (insert H S)by (simp only: insert-mono)

have A:insert G (insert H S ′) = {G,H} ∪ S ′

by (rule insertSetElem)have B:insert G (insert H S) = {G,H} ∪ Sby (rule insertSetElem)

have {G,H} ∪ S ′⊆ {G,H} ∪ Susing 〈insert G (insert H S ′) ⊆ insert G (insert H S)〉 by (simp only: A B)

then have ∃ S ∈ C. {G,H} ∪ S ′⊆ Susing 〈{G,H} ∪ S ∈ C〉 by (rule bexI)

thus {G,H} ∪ S ′∈ (extensionSC C)unfolding extensionSC by (rule CollectI)

qedqedhave Dis:∀ F G H. Dis F G H −→ F ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ Cusing H by (iprover elim: conjunct2)

have S4:∀ F G H. Dis F G H −→ F ∈ S ′−→ {G} ∪ S ′∈ (extensionSC C) ∨ {H} ∪ S ′∈(extensionSC C)

proof (rule allI)+fix F G H

show Dis F G H−→ F ∈ S ′−→ {G} ∪ S ′∈ (extensionSC C) ∨ {H} ∪ S ′∈ (extensionSCC)

proof (rule impI)+assume Dis F G Hassume F ∈ S ′

have F ∈ Susing 〈S ′⊆ S〉 〈F ∈ S ′〉 by (rule set-mp)

have Dis F G H −→ F ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ Cusing Dis by (iprover elim: allE)

Page 59: Formalizacion´ del teorema de existencia de modelo en

59

then have F ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ Cusing 〈Dis F G H〉 by (rule mp)

then have 9:{G} ∪ S ∈ C ∨ {H} ∪ S ∈ Cusing 〈F ∈ S〉 by (rule mp)

show {G} ∪ S ′∈ (extensionSC C) ∨ {H} ∪ S ′∈ (extensionSC C)using 9

proof (rule disjE)assume {G} ∪ S ∈ Chave insert G S ′⊆ insert G S

using 〈S ′⊆ S〉 by (simp only: insert-mono)have C:insert G S ′= {G} ∪ S ′

by (rule insert-is-Un)have D:insert G S = {G} ∪ S

by (rule insert-is-Un)have {G} ∪ S ′⊆ {G} ∪ S

using 〈insert G S ′⊆ insert G S〉 by (simp only: C D)then have ∃ S ∈ C. {G} ∪ S ′⊆ S

using 〈{G} ∪ S ∈ C〉 by (rule bexI)then have {G} ∪ S ′∈ (extensionSC C)

unfolding extensionSC by (rule CollectI)thus {G} ∪ S ′∈ (extensionSC C) ∨ {H} ∪ S ′∈ (extensionSC C)

by (rule disjI1)nextassume {H} ∪ S ∈ Chave insert H S ′⊆ insert H Susing 〈S ′⊆ S〉 by (simp only: insert-mono)

have E:insert H S ′= {H} ∪ S ′

by (rule insert-is-Un)have F:insert H S = {H} ∪ S

by (rule insert-is-Un)then have {H} ∪ S ′⊆ {H} ∪ Susing 〈insert H S ′⊆ insert H S〉 by (simp only: E F)

then have ∃ S ∈ C. {H} ∪ S ′⊆ Susing 〈{H} ∪ S ∈ C〉 by (rule bexI)

then have {H} ∪ S ′∈ (extensionSC C)unfolding extensionSC by (rule CollectI)

thus {G} ∪ S ′∈ (extensionSC C) ∨ {H} ∪ S ′∈ (extensionSC C)by (rule disjI2)

qedqed

Page 60: Formalizacion´ del teorema de existencia de modelo en

60 Capıtulo 3. Colecciones de conjuntos cerradas bajo subconjuntos y de caracter finito

qedshow ⊥ /∈ S ′

∧ (∀ k. Atom k ∈ S ′−→ ¬ (Atom k) ∈ S ′−→ False)∧ (∀ F G H. Con F G H −→ F ∈ S ′−→ {G,H} ∪ S ′∈ (extensionSC C))∧ (∀ F G H. Dis F G H −→ F ∈ S ′ −→ {G} ∪ S ′ ∈ (extensionSC C) ∨ {H} ∪ S ′ ∈

(extensionSC C))using S1 S2 S3 S4 by (iprover intro: conjI)

qedqed

qed

Finalmente, el siguiente lema auxiliar prueba que C ′ es cerrada bajo subconjuntos.

lemma ex1-subset-closed:assumes pcp Cshows subset-closed (extensionSC C)unfolding subset-closed-def

proof (rule ballI)fix S ′

assume S ′∈ (extensionSC C)then have H:∃ S ∈ C. S ′⊆ Sunfolding extensionSC by (rule CollectD)

obtain S where 〈S ∈ C〉 and 〈S ′⊆ S〉using H by (rule bexE)

show ∀ S ′′⊆ S ′. S ′′∈ (extensionSC C)proof (rule sallI)fix S ′′

assume S ′′⊆ S ′

then have S ′′⊆ Susing 〈S ′⊆ S〉 by (rule subset-trans)

then have ∃ S ∈ C. S ′′⊆ Susing 〈S ∈ C〉 by (rule bexI)

thus S ′′∈ (extensionSC C)unfolding extensionSC by (rule CollectI)

qedqed

En conclusion, la prueba detallada del lema completo se muestra a continuacion.

lemma ex1:assumes pcp Cshows ∃C ′. C ⊆ C ′∧ pcp C ′∧ subset-closed C ′

proof −

Page 61: Formalizacion´ del teorema de existencia de modelo en

61

have C1:C ⊆ (extensionSC C)by (rule ex1-subset)

have C2:pcp (extensionSC C)using assms by (rule ex1-pcp)

have C3:subset-closed (extensionSC C)using assms by (rule ex1-subset-closed)

have C ⊆ (extensionSC C) ∧ pcp (extensionSC C) ∧ subset-closed (extensionSC C)using C1 C2 C3 by (iprover intro: conjI)

thus ?thesisby (rule exI)

qed

Continuemos con el segundo resultado de este apartado.

Lema 3.0.4 Toda coleccion de conjuntos con la propiedad de caracter finito es cerrada bajo sub-conjuntos.

En Isabelle, se formaliza como sigue.

lemmaassumes finite-character Cshows subset-closed Coops

Procedamos con la demostracion del resultado.

Demostracion: Consideremos una coleccion de conjuntos C con la propiedad de caracterfinito. Probemos que, en efecto, es cerrada bajo subconjuntos. Por definicion de estaultima propiedad, basta demostrar que todo subconjunto de cada conjunto de C pertenecetambien a C.

Para ello, tomemos un conjunto S cualquiera perteneciente a C y un subconjuntocualquiera S ′ de S. Probemos que S ′ esta en C. Por hipotesis, como C tiene la propiedadde caracter finito, verifica que, para cualquier conjunto A, son equivalentes:

1. A pertenece a C.

2. Todo subconjunto finito de A pertenece a C.

Para probar que el subconjunto S ′ pertenece a C, vamos a demostrar que todo sub-conjunto finito de S ′ pertenece a C.

De este modo, consideremos un subconjunto cualquiera S ′′ de S ′. Como S ′ es sub-conjunto de S, por la transitividad de la relacion de contencion de conjuntos, se tiene

Page 62: Formalizacion´ del teorema de existencia de modelo en

62 Capıtulo 3. Colecciones de conjuntos cerradas bajo subconjuntos y de caracter finito

que S ′′ es subconjunto de S. Aplicando la definicion de propiedad de caracter finito deC para el conjunto S, como este pertenece a C, verifica que todo subconjunto finito de Spertenece a C. En particular, como S ′′ es subconjunto de S, verifica que, si S ′′ es finito,entonces S ′′pertenece a C. Por tanto, hemos probado que cualquier conjunto finito de S ′

pertenece a la coleccion. Finalmente por la propiedad de caracter finito de C, se verificaque S ′ pertenece a C, como querıamos demostrar.

Veamos, a continuacion, la demostracion detallada del resultado en Isabelle.

lemmaassumes finite-character Cshows subset-closed Cunfolding subset-closed-def

proof (intro ballI sallI)fix S ′ Sassume 〈S ∈ C〉 and 〈S ′⊆ S〉have H:∀A. A ∈ C←→ (∀A ′⊆ A. finite A ′−→ A ′∈ C)using assms unfolding finite-character-def by this

have QPQ:∀ S ′′⊆ S ′. finite S ′′−→ S ′′∈ Cproof (rule sallI)

fix S ′′

assume S ′′⊆ S ′

then have S ′′⊆ Susing 〈S ′⊆ S〉 by (simp only: subset-trans)

have 1:S ∈ C←→ (∀ S ′⊆ S. finite S ′−→ S ′∈ C)using H by (rule allE)

have ∀ S ′⊆ S. finite S ′−→ S ′∈ Cusing 〈S ∈ C〉 1 by (rule back-subst)

thus finite S ′′−→ S ′′∈ Cusing 〈S ′′⊆ S〉 by (rule sspec)

qedhave S ′∈ C←→ (∀ S ′′⊆ S ′. finite S ′′−→ S ′′∈ C)

using H by (rule allE)thus S ′∈ Cusing QPQ by (rule forw-subst)

qed

Finalmente, su prueba automatica en Isabelle/HOL es la siguiente.

lemma ex2:assumes fc: finite-character Cshows subset-closed C

Page 63: Formalizacion´ del teorema de existencia de modelo en

63

unfolding subset-closed-defproof (intro ballI sallI)

fix S ′ Sassume e: 〈S ∈ C〉 and s: 〈S ′⊆ S〉hence ∗: S ′′⊆ S ′=⇒ S ′′⊆ S for S ′′ by simpfrom fc have S ′′⊆ S =⇒ finite S ′′=⇒ S ′′∈ C for S ′′

unfolding finite-character-def using e by blasthence S ′′⊆ S ′=⇒ finite S ′′=⇒ S ′′∈ C for S ′′ using ∗ by simpwith fc show 〈S ′∈ C〉 unfolding finite-character-def by blast

qed

Introduzcamos el ultimo resultado de la seccion.

Lema 3.0.5 Toda coleccion de conjuntos con la propiedad de consistencia proposicional y ce-rrada bajo subconjuntos se puede extender a una coleccion que tambien verifique la propiedad deconsistencia proposicional y sea de caracter finito.

Demostracion: Dada una coleccion de conjuntos C en las condiciones del enunciado,vamos a considerar su extension C ′ definida como la union de C y la coleccion formadapor aquellos conjuntos cuyos subconjuntos finitos pertenecen a C. Es decir,C ′= C ∪ E donde E = {S. ∀ S ′⊆ S. finite S ′−→ S ′ ∈ C}. Es evidente que es extensionpues contiene a la coleccion C. Vamos a probar que, ademas es de caracter finito y veri-fica la propiedad de consistencia proposicional.

En primer lugar, demostremos que C ′ es de caracter finito. Por definicion de dichapropiedad, basta probar que, para cualquier conjunto, son equivalentes:

1. El conjunto pertenece C ′.

2. Todo subconjunto finito suyo pertenece a C ′.

Comencemos probando 1) =⇒ 2). Para ello, sea un conjunto S de C ′ de modo queS ′ es un subconjunto finito suyo. Como S pertenece a la extension, por definicion de lamisma tenemos que o bien S esta en C o bien S esta en E. Vamos a probar que S ′ estaen C ′ por eliminacion de la disyuncion anterior. En primer lugar, si suponemos que Sesta en C, como se trata de una coleccion cerrada bajo subconjuntos, tenemos que todosubconjunto de S esta en C. En particular, S ′ esta en C y, por definicion de la extension,se prueba que S ′ esta en C ′. Por otro lado, suponiendo que S este en E, por definicion dedicha coleccion tenemos que todo subconjunto finito de S esta en C. De este modo, porlas hipotesis se prueba que S ′ esta en C y, por tanto, pertenece a la extension.

Por ultimo, probemos la implicacion 2) =⇒ 1). Sea un conjunto cualquiera S tal quetodo subconjunto finito suyo pertenece a C ′. Vamos a probar que S tambien pertenece

Page 64: Formalizacion´ del teorema de existencia de modelo en

64 Capıtulo 3. Colecciones de conjuntos cerradas bajo subconjuntos y de caracter finito

a C ′. En particular, probaremos que pertenece a E. Luego basta probar que todo sub-conjunto finito de S pertenece a C. Para ello, consideremos S ′ un subconjunto finitocualquiera de S. Por hipotesis, tenemos que S ′ pertenece a C ′. Por definicion de la ex-tension, tenemos entonces que o bien S ′ esta en C (lo que darıa por concluida la prueba)o bien S ′ esta en E. De este modo, si suponemos que S ′ esta en E, por definicion de dichacoleccion tenemos que todo subconjunto finito suyo esta en C. En particular, como todoconjunto es subconjunto de si mismo y como hemos supuesto que S ′ es finito, tenemosque S ′ esta en C, lo que prueba la implicacion.

Probemos, finalmente, que C ′ verifica la propiedad de consistencia proposicional.Para ello, vamos a considerar un conjunto cualquiera S perteneciente a C ′ y probare-mos que se verifican las cuatro condiciones del lema de caracterizacion de la propie-dad de consistencia proposicional mediante la notacion uniforme. Como el conjunto Spertenece a C ′, se observa facilmente por definicion de la extension que, o bien S esta enC o bien S esta en E. Veamos que, para ambos casos, se verifican dichas condiciones.

En primer lugar, supongamos que S esta en C. Como C verifica la propiedad deconsistencia proposicional por hipotesis, verifica el lema de caracterizacion en particularpara el conjunto S. De este modo, se cumple:

• ⊥ no pertenece a S.

• Dada p una formula atomica cualquiera, no se tiene simultaneamente quep ∈ S y ¬ p ∈ S.

• Para toda formula de tipo α con componentes α1 y α2 tal que α pertenece a S, setiene que {α1,α2} ∪ S pertenece a C.

• Para toda formula de tipo β con componentes β1 y β2 tal que β pertenece a S, setiene que o bien {β1} ∪ S pertenece a C o bien {β2} ∪ S pertenece a C.

Por lo tanto, puesto que C esta contenida en la extension C ′, se verifican las cuatrocondiciones del lema para C ′.

Supongamos ahora que S esta en E. Probemos que, en efecto, verifica las condi-ciones del lema de caracterizacion.

En primer lugar vamos a demostrar que⊥ /∈ S por reduccion al absurdo. Si suponemosque ⊥ ∈ S, se deduce que el conjunto {⊥} es un subconjunto finito de S. Como S estaen E, por definicion tenemos que {⊥} ∈ C. De este modo, aplicando el lema decaracterizacion de la propiedad de consistencia proposicional para la coleccion C y elconjunto {⊥}, por la primera condicion obtenemos que ⊥ /∈ {⊥}, llegando a una con-tradiccion.

Demostremos que se verifica la segunda condicion del lema para las formulasatomicas. De este modo, vamos a probar que dada p una formula atomica cualquiera,

Page 65: Formalizacion´ del teorema de existencia de modelo en

65

no se tiene simultaneamente que p ∈ S y ¬ p ∈ S. La prueba se realizara por reduccional absurdo, luego supongamos que para cierta formula atomica se verifica p ∈ S y¬ p ∈ S. Analogamente, se observa que el conjunto {p, ¬ p} es un subconjunto finito deS, luego pertenece a C. Aplicando el lema de caracterizacion de la propiedad de consis-tencia proposicional para la coleccion C y el conjunto {p, ¬ p}, por la segunda condicionobtenemos que no se tiene simultaneamente q ∈ {p, ¬ p} y ¬ q ∈ {p, ¬ p} para ningunaformula atomica q, llegando ası a una contradiccion para la formula atomica p.

Por otro lado, vamos a probar que se verifica la tercera condicion del lema decaracterizacion sobre las formulas de tipo α. Consideremos una formula cualquiera Fde tipo α y componentes α1 y α2, y supongamos que F ∈ S. Demostraremos que{α1,α2} ∪ S ∈ C ′.

Para ello, probaremos inicialmente que todo subconjunto finito S ′ de S tal queF ∈ S ′ verifica {α1,α2} ∪ S ′ ∈ C. Consideremos S ′ subconjunto finito cualquiera de S enlas condiciones anteriores. Como S ∈ E, por definicion tenemos que S ′∈ C. Aplicando ellema de caracterizacion de la propiedad de consistencia proposicional para la coleccionC y el conjunto S ′, por la tercera condicion obtenemos que {α1,α2} ∪ S ′ ∈ C ya quehemos supuesto que F ∈ S ′.

Una vez probado el resultado anterior, demostremos que {α1,α2} ∪ S ∈ E y, pordefinicion de C ′, obtendremos {α1,α2} ∪ S ∈ C ′. Ademas, por definicion de E, bastaprobar que todo subconjunto finito de {α1,α2} ∪ S pertenece a C. Consideremos S ′ unsubconjunto finito cualquiera de {α1,α2} ∪ S. Como F ∈ S, es sencillo comprobar que elconjunto {F} ∪ (S ′ − {α1,α2}) es un subconjunto finito de S. Por el resultado probadoanteriormente, tenemos que el conjunto {α1,α2} ∪ ({F} ∪ (S ′− {α1,α2})) == {F,α1,α2} ∪ S ′ pertenece a C. Ademas, como C es cerrada bajo subconjuntos, todoconjunto de C verifica que cualquier subconjunto suyo pertenece a la coleccion. Luego,como S ′ es un subconjunto de {F,α1,α2} ∪ S ′, queda probado que S ′∈ C.

Finalmente, veamos que se verifica la ultima condicion del lema de caracterizacionde la propiedad de consistencia proposicional referente a las formulas de tipo β. Con-sideremos una formula cualquiera F de tipo β con componentes β1 y β2 tal que F ∈ S.Vamos a probar que se tiene que o bien {β1} ∪ S ∈ E o bien {β1} ∪ S ∈ E. En tal caso,por definicion de C ′ se cumple que o bien {β1} ∪ S ∈ C ′ o bien {β1} ∪ S ∈ C ′. La pruebase realizara por reduccion al absurdo. Para ello, probemos inicialmente dos resultadosprevios.

1) En las condiciones anteriores, si consideramos S1 y S2 subconjuntos finitos cua-lesquiera de S tales que F ∈ S1 y F ∈ S2, entonces existe una formula I ∈ {β1,β2}tal que se verifica que tanto {I} ∪ S1 como {I} ∪ S2 estan en C.

Para probar 1), consideremos el conjunto finito S1 ∪ S2 que es subconjunto de S porlas hipotesis. De este modo, como S ∈ E, tenemos que S1 ∪ S2 ∈ C. Aplicando el lema

Page 66: Formalizacion´ del teorema de existencia de modelo en

66 Capıtulo 3. Colecciones de conjuntos cerradas bajo subconjuntos y de caracter finito

de caracterizacion de la propiedad de consistencia proposicional para la coleccion C yel conjunto S1 ∪ S2, por la ultima condicion sobre las formulas de tipo β, comoF ∈ S1 ∪ S2 por las hipotesis, se tiene que o bien {β1} ∪ S1 ∪ S2 ∈ C o bien{β2} ∪ S1 ∪ S2 ∈ C. Por tanto, existe una formula I ∈ {β1,β2} tal que{I} ∪ S1 ∪ S2 ∈ C. Sea I la formula que cumple lo anterior. Como C es cerrada bajosubconjuntos, los subconjuntos {I} ∪ S1 y {I} ∪ S2 de {I} ∪ S1 ∪ S2 pertenecen tambiena C. Por tanto, hemos probado que existe una formula I ∈ {β1,β2} tal que {I} ∪ S1 ∈ Cy {I} ∪ S2 ∈ C.

Por otra parte, veamos el segundo resultado.

2) En las condiciones de 1) para conjuntos cualesquiera S1 y S2, si ademas suponemosque {β1} ∪ S1 /∈ C y {β2} ∪ S2 /∈ C, llegamos a una contradiccion.

Para probarlo, utilizaremos 1) para los conjuntos {F} ∪ S1 y {F} ∪ S2. Como esevidente, puesto que F ∈ S, se verifica que ambos conjuntos son subconjuntos de S.Ademas, como S1 y S2 son finitos, se tiene que {F} ∪ S1 y {F} ∪ S2 tambien lo son. Porultimo, es claro que F pertenece a ambos conjuntos. Por lo tanto, por 1) tenemos queexiste una formula I ∈ {β1,β2} tal que {I} ∪ {F} ∪ S1 ∈ C y {I} ∪ {F} ∪ S2 ∈ C. Por otrolado, podemos probar que {β1} ∪ {F} ∪ S1 /∈ C. Esto se debe a que, en caso contrario,como C es cerrado bajo subconjuntos, tendrıamos que el subconjunto{β1} ∪ S1 pertenecerıa a C, lo que contradice las hipotesis. Analogamente, obtenemosque {β2} ∪ {F} ∪ S2 /∈ C. De este modo, obtenemos que para toda formula I ∈ {β1,β2}se cumple que o bien {I} ∪ {F} ∪ S1 /∈ C o bien {I} ∪ {F} ∪ S2 /∈ C. Esto es equivalentea que no existe ninguna formula I ∈ {β1,β2} tal que {I} ∪ {F} ∪ S1 ∈ C y{I} ∪ {F} ∪ S2 ∈ C, lo que contradice lo obtenido para los conjuntos {F} ∪ S1 y{F} ∪ S2 por 1).

Finalmente, con los resultados anteriores, podemos probar que o bien{β1} ∪ S ∈ E o bien {β2} ∪ S ∈ E por reduccion al absurdo. Supongamos que{β1} ∪ S /∈ E y {β2} ∪ S /∈ E. Por definicion de E, se verifica que existe algun subconjuntofinito de {β1} ∪ S y existe algun subconjunto finito de {β2} ∪ S tales que no pertenecena C. Notemos por S1 y S2 respectivamente a los subconjuntos anteriores. Vamos a aplicar2) para los conjuntos S1 − {β1} y S2 − {β2} para llegar a la contradiccion.

Para ello, debemos probar que se verifican las hipotesis del resultado para los con-juntos senalados. Es claro que tanto S1 − {β1} como S2 − {β2} son subconjuntos de S,ya que S1 y S2 son subconjuntos de {β1} ∪ S y {β2} ∪ S respectivamente. Ademas, comoS1 y S2 son finitos, es evidente que S1 − {β1} y S2 − {β2} tambien lo son. Queda probarque los conjuntos {β1} ∪ (S1 − {β1}) = {β1} ∪ S1 y {β2} ∪ (S2 − {β2}) = {β2} ∪ S2no pertenecen a C. Como ni S1 ni S2 estan en la coleccion C cerrada bajo subconjuntos,se cumple que ninguno de ellos son subconjuntos de S. Sin embargo, se verifica que S1es subconjunto de {β1} ∪ S y S2 es subconjunto de {β2} ∪ S. Por tanto, se cumple que

Page 67: Formalizacion´ del teorema de existencia de modelo en

67

β1 ∈ S1 y β2 ∈ S2. Por lo tanto, tenemos finalmente que los conjuntos {β1} ∪ S1 = S1 y{β2} ∪ S2 = S2 no pertenecen a C. Finalmente, como se cumplen las condiciones delresultado 2), llegamos a una contradiccion para los conjuntos S1 − {β1} y S2 − {β2},probando que o bien {β1} ∪ S ∈ E o bien {β1} ∪ S ∈ E. Por lo tanto, obtenemos pordefinicion de C ′ que o bien {β1} ∪ S ∈ C ′ o bien {β1} ∪ S ∈ C ′.

Finalmente, veamos la demostracion detallada del lema en Isabelle. Debido a lacantidad de lemas auxiliares empleados en la prueba detallada, para facilitar la com-prension mostraremos a continuacion un grafo que estructura las relaciones de necesi-dad de los lemas introducidos.

ex3(Lema 3.0.5)

ex3-finite-character(C ′ tiene la propiedad de caracter finito)

ex3-pcp(C ′ tiene la propiedad de consistencia proposicional)

ex3-pcp-SinC(Caso del conjunto en C)

ex3-pcp-SinE(Caso del conjunto en E)

ex3-pcp-SinE-CON(Condicion formulas de tipo α)

ex3-pcp-SinE-DIS(Condicion formulas de tipo β)

ex3-pcp-SinE-DIS-auxFalse(Resultado 1)

ex3-pcp-SinE-DIS-auxEx(Resultado 2)

De este modo, la prueba del lema 1.3.5 se estructura fundamentalmente en doslemas auxiliares. El primero, formalizado como ex3-finite-character en Isabelle, pruebaque la extension C ′ = C ∪ E, donde E es la coleccion formada por aquellos conjun-tos cuyos subconjuntos finitos pertenecen a C, tiene la propiedad de caracter finito. Elsegundo, formalizado como ex3-pcp, demuestra que C ′ verifica la propiedad de consis-tencia proposicional demostrando que cumple las condiciones suficientes de dicha pro-piedad por el lema de caracterizacion 1.2.5. De este modo, considerando un conjunto S∈ C ′, ex3-pcp precisa, a su vez, de dos lemas auxiliares que prueben las condiciones su-ficientes de 1.2.5: uno para el caso en que S ∈ C (ex3-pcp-SinC) y otro para el caso en queS ∈ E (ex3-pcp-SinE). Por otro lado, para el ultimo caso en que S ∈ E, utilizaremos doslemas auxiliares. El primero, formalizado como ex3-pcp-SinE-CON, prueba que para Cuna coleccion con la propiedad de consistencia proposicional y cerrada bajo subconjun-tos, S ∈ E y sea F una formula de tipo α y componentes α1 y α2, se tiene que{α1,α2} ∪ S ∈ C ′. El segundo lema, formalizado como ex3-pcp-SinE-DIS, prueba que

Page 68: Formalizacion´ del teorema de existencia de modelo en

68 Capıtulo 3. Colecciones de conjuntos cerradas bajo subconjuntos y de caracter finito

para C una coleccion con la propiedad de consistencia proposicional y cerrada bajo sub-conjuntos, S ∈ E y sea F una formula de tipo β y componentes β1 y β2, se tiene que o bien{β1} ∪ S ∈ C ′ o bien {β2} ∪ S ∈ C ′. Por ultimo, este segundo lema auxiliar se probarapor reduccion al absurdo, precisando para ello de los siguientes resultados auxiliares:

Resultado 1 Formalizado como ex3-pcp-SinE-DIS-auxEx. Prueba que dada C una coleccioncon la propiedad de consistencia proposicional y cerrada bajo subconjuntos,S ∈ E y sea F es una formula de tipo β de componentes β1 y β2, si consideramosS1 y S2 subconjuntos finitos cualesquiera de S tales que F ∈ S1 y F ∈ S2, entoncesexiste una formula I ∈ {β1,β2} tal que se verifica que tanto {I} ∪ S1 como {I} ∪ S2estan en C.

Resultado 2 Formalizado como ex3-pcp-SinE-DIS-auxFalse. Utiliza ex3-pcp-SinE-DIS-auxExcomo lema auxiliar. Prueba que, en las condiciones del Resultado 1, si ademassuponemos que {β1} ∪ S1 /∈ C y {β2} ∪ S2 /∈ C, llegamos a una contradiccion.

Por otro lado, para facilitar la notacion, dada una coleccion cualquiera C, forma-lizamos las colecciones E y C ′ como extF C y extensionFin C respectivamente como semuestra a continuacion.

definition extF :: (( ′a formula) set) set⇒ (( ′a formula) set) setwhere extF: extF C = {S. ∀ S ′⊆ S. finite S ′−→ S ′∈ C}

definition extensionFin :: (( ′a formula) set) set⇒ (( ′a formula) set) setwhere extensionFin: extensionFin C = C ∪ (extF C)

Una vez hechas las aclaraciones anteriores, procedamos ordenadamente con la de-mostracion detallada de cada lema auxiliar que conforma la prueba del lema 1.3.5.En primer lugar, probemos detalladamente que la extension C ′ tiene la propiedad decaracter finito.

lemma ex3-finite-character:assumes subset-closed C

shows finite-character (extensionFin C)proof −show finite-character (extensionFin C)unfolding finite-character-def

proof (rule allI)fix Sshow S ∈ (extensionFin C)←→ (∀ S ′⊆ S. finite S ′−→ S ′∈ (extensionFin C))proof (rule iffI)assume S ∈ (extensionFin C)

Page 69: Formalizacion´ del teorema de existencia de modelo en

69

show ∀ S ′⊆ S. finite S ′−→ S ′∈ (extensionFin C)proof (intro sallI impI)fix S ′

assume S ′⊆ Sassume finite S ′

have S ∈ C ∨ S ∈ (extF C)using 〈S ∈ (extensionFin C)〉 by (simp only: extensionFin Un-iff )

thus S ′∈ (extensionFin C)proof (rule disjE)assume S ∈ Chave ∀ S ∈ C. ∀ S ′⊆ S. S ′∈ C

using assms by (simp only: subset-closed-def )then have ∀ S ′⊆ S. S ′∈ C

using 〈S ∈ C〉 by (rule bspec)then have S ′∈ Cusing 〈S ′⊆ S〉 by (rule sspec)

thus S ′∈ (extensionFin C)by (simp only: extensionFin UnI1)

nextassume S ∈ (extF C)then have ∀ S ′⊆ S. finite S ′−→ S ′∈ C

unfolding extF by (rule CollectD)then have finite S ′−→ S ′∈ Cusing 〈S ′⊆ S〉 by (rule sspec)

then have S ′∈ Cusing 〈finite S ′〉 by (rule mp)

thus S ′∈ (extensionFin C)by (simp only: extensionFin UnI1)

qedqed

nextassume ∀ S ′⊆ S. finite S ′−→ S ′∈ (extensionFin C)then have F:∀ S ′⊆ S. finite S ′−→ S ′∈ C ∨ S ′∈ (extF C)by (simp only: extensionFin Un-iff )

have ∀ S ′⊆ S. finite S ′−→ S ′∈ Cproof (rule sallI)fix S ′

assume S ′⊆ Sshow finite S ′−→ S ′∈ Cproof (rule impI)

Page 70: Formalizacion´ del teorema de existencia de modelo en

70 Capıtulo 3. Colecciones de conjuntos cerradas bajo subconjuntos y de caracter finito

assume finite S ′

have finite S ′−→ S ′∈ C ∨ S ′∈ (extF C)using F 〈S ′⊆ S〉 by (rule sspec)

then have S ′∈ C ∨ S ′∈ (extF C)using 〈finite S ′〉 by (rule mp)

thus S ′∈ Cproof (rule disjE)assume S ′∈ Cthus S ′∈ Cby this

nextassume S ′∈ (extF C)then have S ′:∀ S ′′⊆ S ′. finite S ′′−→ S ′′∈ Cunfolding extF by (rule CollectD)

have S ′⊆ S ′

by (simp only: subset-refl)have finite S ′−→ S ′∈ Cusing S ′ 〈S ′⊆ S ′〉 by (rule sspec)

thus S ′∈ Cusing 〈finite S ′〉 by (rule mp)

qedqed

qedthen have S ∈ {S. ∀ S ′⊆ S. finite S ′−→ S ′∈ C}by (rule CollectI)

thus S ∈ (extensionFin C)by (simp only: extF extensionFin UnI2)

qedqed

qed

Por otro lado, para probar que C ′ = C ∪ E verifica la propiedad de consistenciaproposicional, consideraremos un conjunto S ∈ C ′ y utilizaremos fundamentalmentedos lemas auxiliares: uno para el caso en que S ∈ C y otro para el caso en que S ∈ E.

En primer lugar, vamos a probar el primer lema auxiliar para el caso en queS ∈ C, formalizado como ex3-pcp-SinC. Dicho lema prueba que, si C es una coleccion conla propiedad de consistencia proposicional y cerrada bajo subconjuntos, y sea S ∈ C, severifican las condiciones del lema de caracterizacion de la propiedad de consistenciaproposicional para la extension C ′:

• ⊥ /∈ S.

Page 71: Formalizacion´ del teorema de existencia de modelo en

71

• Dada p una formula atomica cualquiera, no se tiene simultaneamente quep ∈ S y ¬ p ∈ S.

• Para toda formula de tipo α con componentes α1 y α2 tal que α pertenece a S, setiene que {α1,α2} ∪ S pertenece a C ′.

• Para toda formula de tipo β con componentes β1 y β2 tal que β pertenece a S, setiene que o bien {β1} ∪ S pertenece a C ′ o bien {β2} ∪ S pertenece a C ′.

lemma ex3-pcp-SinC:assumes pcp C

subset-closed CS ∈ C

shows ⊥ /∈ S ∧(∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ False) ∧(∀ F G H. Con F G H −→ F ∈ S −→ {G, H} ∪ S ∈ (extensionFin C)) ∧(∀ F G H. Dis F G H −→ F ∈ S −→ {G} ∪ S ∈(extensionFin C) ∨ {H} ∪ S ∈

(extensionFin C))proof −have PCP:∀ S ∈ C.⊥ /∈ S∧ (∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ False)∧ (∀ F G H. Con F G H −→ F ∈ S −→ {G,H} ∪ S ∈ C)∧ (∀ F G H. Dis F G H −→ F ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ C)using assms(1) by (rule pcp-alt1)

have H:⊥ /∈ S∧ (∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ False)∧ (∀ F G H. Con F G H −→ F ∈ S −→ {G,H} ∪ S ∈ C)∧ (∀ F G H. Dis F G H −→ F ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ C)using PCP 〈S ∈ C〉 by (rule bspec)

then have A1:⊥ /∈ Sby (rule conjunct1)

have A2:∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ Falseusing H by (iprover elim: conjunct2 conjunct1)

have S3:∀ F G H. Con F G H −→ F ∈ S −→ {G,H} ∪ S ∈ Cusing H by (iprover elim: conjunct2 conjunct1)

have A3:∀ F G H. Con F G H −→ F ∈ S −→ {G, H} ∪ S ∈ (extensionFin C)proof (rule allI)+fix F G Hshow Con F G H −→ F ∈ S −→ {G, H} ∪ S ∈ (extensionFin C)proof (rule impI)+assume Con F G H

Page 72: Formalizacion´ del teorema de existencia de modelo en

72 Capıtulo 3. Colecciones de conjuntos cerradas bajo subconjuntos y de caracter finito

assume F ∈ Shave Con F G H −→ F ∈ S −→ {G,H} ∪ S ∈ Cusing S3 by (iprover elim: allE)

then have F ∈ S −→ {G,H} ∪ S ∈ Cusing 〈Con F G H〉 by (rule mp)

then have {G,H} ∪ S ∈ Cusing 〈F ∈ S〉 by (rule mp)

thus {G,H} ∪ S ∈ (extensionFin C)unfolding extensionFin by (rule UnI1)

qedqedhave S4:∀ F G H. Dis F G H −→ F ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ Cusing H by (iprover elim: conjunct2)

have A4:∀ F G H. Dis F G H −→ F ∈ S −→ {G} ∪ S ∈ (extensionFin C) ∨ {H} ∪ S ∈(extensionFin C)proof (rule allI)+

fix F G Hshow Dis F G H −→ F ∈ S −→ {G} ∪ S ∈ (extensionFin C) ∨ {H} ∪ S ∈ (extensionFin

C)proof (rule impI)+

assume Dis F G Hassume F ∈ Shave Dis F G H −→ F ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ Cusing S4 by (iprover elim: allE)

then have F ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ Cusing 〈Dis F G H〉 by (rule mp)

then have {G} ∪ S ∈ C ∨ {H} ∪ S ∈ Cusing 〈F ∈ S〉 by (rule mp)

thus {G} ∪ S ∈ (extensionFin C) ∨ {H} ∪ S ∈ (extensionFin C)proof (rule disjE)assume {G} ∪ S ∈ Cthen have {G} ∪ S ∈ (extensionFin C)

unfolding extensionFin by (rule UnI1)thus {G} ∪ S ∈ (extensionFin C) ∨ {H} ∪ S ∈ (extensionFin C)

by (rule disjI1)nextassume {H} ∪ S ∈ Cthen have {H} ∪ S ∈ (extensionFin C)

unfolding extensionFin by (rule UnI1)thus {G} ∪ S ∈ (extensionFin C) ∨ {H} ∪ S ∈ (extensionFin C)

Page 73: Formalizacion´ del teorema de existencia de modelo en

73

by (rule disjI2)qed

qedqedshow ⊥ /∈ S ∧

(∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ False) ∧(∀ F G H. Con F G H −→ F ∈ S −→ {G, H} ∪ S ∈ (extensionFin C)) ∧(∀ F G H. Dis F G H −→ F ∈ S −→ {G} ∪ S ∈ (extensionFin C) ∨ {H} ∪ S ∈

(extensionFin C))using A1 A2 A3 A4 by (iprover intro: conjI)

qed

Como hemos senalado con anterioridad, para probar el caso en que S ∈ E, dondeE es la coleccion formada por aquellos conjuntos cuyos subconjuntos finitos pertenecena C, precisaremos de distintos lemas auxiliares. El primero de ellos demuestra deta-lladamente que si C es una coleccion con la propiedad de consistencia proposicional ycerrada bajo subconjuntos, S ∈ E y sea F una formula de tipo α con componentes α1 yα2, se verifica que {α1,α2} ∪ S pertenece a la extension C ′= C ∪ E.

lemma ex3-pcp-SinE-CON:assumes pcp C

subset-closed CS ∈ (extF C)Con F G HF ∈ S

shows {G,H} ∪ S ∈ (extensionFin C)proof −have PCP:∀ S ∈ C.⊥ /∈ S∧ (∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ False)∧ (∀ F G H. Con F G H −→ F ∈ S −→ {G,H} ∪ S ∈ C)∧ (∀ F G H. Dis F G H −→ F ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ C)

using assms(1) by (rule pcp-alt1)have 1:∀ S ′⊆ S. finite S ′−→ F ∈ S ′−→ {G,H} ∪ S ′∈ Cproof (rule sallI)

fix S ′

assume S ′⊆ Sshow finite S ′−→ F ∈ S ′−→ {G,H} ∪ S ′∈ Cproof (rule impI)+

assume finite S ′

assume F ∈ S ′

have E:∀ S ′⊆ S. finite S ′−→ S ′∈ C

Page 74: Formalizacion´ del teorema de existencia de modelo en

74 Capıtulo 3. Colecciones de conjuntos cerradas bajo subconjuntos y de caracter finito

using assms(3) unfolding extF by (rule CollectD)then have finite S ′−→ S ′∈ Cusing 〈S ′⊆ S〉 by (rule sspec)

then have S ′∈ Cusing 〈finite S ′〉 by (rule mp)

have ⊥ /∈ S ′

∧ (∀ k. Atom k ∈ S ′−→ ¬ (Atom k) ∈ S ′−→ False)∧ (∀ F G H. Con F G H −→ F ∈ S ′−→ {G,H} ∪ S ′∈ C)∧ (∀ F G H. Dis F G H −→ F ∈ S ′−→ {G} ∪ S ′∈ C ∨ {H} ∪ S ′∈ C)

using PCP 〈S ′∈ C〉 by (rule bspec)then have ∀ F G H. Con F G H −→ F ∈ S ′−→ {G, H} ∪ S ′∈ Cby (iprover elim: conjunct2 conjunct1)

then have Con F G H −→ F ∈ S ′−→ {G, H} ∪ S ′∈ Cby (iprover elim: allE)

then have F ∈ S ′−→ {G,H} ∪ S ′∈ Cusing assms(4) by (rule mp)

thus {G, H} ∪ S ′∈ Cusing 〈F ∈ S ′〉 by (rule mp)

qedqedhave {G,H} ∪ S ∈ (extF C)unfolding mem-Collect-eq Un-iff extF

proof (rule sallI)fix S ′

assume H:S ′⊆ {G,H} ∪ Sshow finite S ′−→ S ′∈ Cproof (rule impI)

assume finite S ′

have S ′− {G,H} ⊆ Susing H by (simp only: Diff-subset-conv)

have F ∈ S ∧ (S ′− {G,H} ⊆ S)using assms(5) 〈S ′− {G,H} ⊆ S〉 by (rule conjI)

then have insert F (S ′− {G,H}) ⊆ Sby (simp only: insert-subset)

have F1:finite (insert F (S ′− {G,H})) −→ F ∈ (insert F (S ′− {G,H})) −→ {G,H} ∪(insert F (S ′− {G,H})) ∈ C

using 1 〈insert F (S ′− {G,H}) ⊆ S〉 by (rule sspec)have finite (S ′− {G,H})using 〈finite S ′〉 by (rule finite-Diff )

then have finite (insert F (S ′− {G,H}))

Page 75: Formalizacion´ del teorema de existencia de modelo en

75

by (rule finite.insertI)have F2:F ∈ (insert F (S ′− {G,H})) −→ {G,H} ∪ (insert F (S ′− {G,H})) ∈ Cusing F1 〈finite (insert F (S ′− {G,H}))〉 by (rule mp)

have F ∈ (insert F (S ′− {G,H}))by (simp only: insertI1)

have F3:{G,H} ∪ (insert F (S ′− {G,H})) ∈ Cusing F2 〈F ∈ insert F (S ′− {G,H})〉 by (rule mp)

have IU1:insert F (S ′− {G,H}) = {F} ∪ (S ′− {G,H})by (rule insert-is-Un)

have IU2:insert F ({G,H} ∪ S ′) = {F} ∪ ({G,H} ∪ S ′)by (rule insert-is-Un)

have GH:insert G (insert H S ′) = {G,H} ∪ S ′

by (rule insertSetElem)have {G,H} ∪ (insert F (S ′− {G,H})) = {G,H} ∪ ({F} ∪ (S ′− {G,H}))

by (simp only: IU1)also have . . . = {F} ∪ ({G,H} ∪ (S ′− {G,H}))

by (simp only: Un-left-commute)also have . . . = {F} ∪ ({G,H} ∪ S ′)

by (simp only: Un-Diff-cancel)also have . . . = insert F ({G,H} ∪ S ′)

by (simp only: IU2)also have . . . = insert F (insert G (insert H S ′))

by (simp only: GH)finally have F4:{G,H} ∪ (insert F (S ′− {G,H})) = insert F (insert G (insert H S ′))

by thishave C1:insert F (insert G (insert H S ′)) ∈ C

using F3 by (simp only: F4)have S ′⊆ insert F S ′

by (rule subset-insertI)then have C2:S ′⊆ insert F (insert G (insert H S ′))

by (simp only: subset-insertI2)let ?S=insert F (insert G (insert H S ′))have ∀ S ∈ C. ∀ S ′⊆ S. S ′∈ C

using assms(2) by (simp only: subset-closed-def )then have ∀ S ′⊆ ?S. S ′∈ C

using C1 by (rule bspec)thus S ′∈ Cusing C2 by (rule sspec)

qedqed

Page 76: Formalizacion´ del teorema de existencia de modelo en

76 Capıtulo 3. Colecciones de conjuntos cerradas bajo subconjuntos y de caracter finito

thus {G,H} ∪ S ∈ (extensionFin C)unfolding extensionFin by (rule UnI2)

qed

Seguidamente, vamos a probar el lema auxiliar ex3-pcp-SinE-DIS. Este demuestraque si C es una coleccion con la propiedad de consistencia proposicional y cerrada bajosubconjuntos, S ∈ E y sea F una formula de tipo β con componentes β1 y β2, se verificaque o bien {β1} ∪ S ∈ C ′ o bien {β2} ∪ S ∈ C ′. Dicha prueba se realizara por reduccional absurdo. Para ello precisaremos de dos lemas previos que nos permitan llegar a unacontradiccion: ex3-pcp-SinE-DIS-auxEx y ex3-pcp-SinE-DIS-auxFalse.

En primer lugar, veamos la demostracion del lema ex3-pcp-SinE-DIS-auxEx. Esteprueba que dada C una coleccion con la propiedad de consistencia proposicional y ce-rrada bajo subconjuntos, S ∈ E y sea F es una formula de tipo β de componentes β1 yβ2, si consideramos S1 y S2 subconjuntos finitos cualesquiera de S tales que F ∈ S1 yF ∈ S2, entonces existe una formula I ∈ {β1,β2} tal que se verifica que tanto {I} ∪ S1como {I} ∪ S2 estan en C.

lemma ex3-pcp-SinE-DIS-auxEx:assumes pcp C

subset-closed CS ∈ (extF C)Dis F G HS1 ⊆ Sfinite S1F ∈ S1S2 ⊆ Sfinite S2F ∈ S2

shows ∃ I∈{G,H}. insert I S1 ∈ C ∧ insert I S2 ∈ Cproof −let ?S = S1 ∪ S2have S1 ⊆ ?S

by (simp only: Un-upper1)have S2 ⊆ ?Sby (simp only: Un-upper2)

have finite ?Susing assms(6) assms(9) by (rule finite-UnI)

have ?S ⊆ Susing assms(5) assms(8) by (simp only: Un-subset-iff )

have ∀ S ′⊆ S. finite S ′−→ S ′∈ Cusing assms(3) unfolding extF by (rule CollectD)

Page 77: Formalizacion´ del teorema de existencia de modelo en

77

then have finite ?S −→ ?S ∈ Cusing 〈?S ⊆ S〉 by (rule sspec)

then have ?S ∈ Cusing 〈finite ?S〉 by (rule mp)

have F ∈ ?Susing assms(7) by (rule UnI1)

have ∀ S ∈ C. ⊥ /∈ S∧ (∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ False)∧ (∀ F G H. Con F G H −→ F ∈ S −→ {G,H} ∪ S ∈ C)∧ (∀ F G H. Dis F G H −→ F ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ C)using assms(1) by (rule pcp-alt1)

then have ⊥ /∈ ?S∧ (∀ k. Atom k ∈ ?S −→ ¬ (Atom k) ∈ ?S −→ False)∧ (∀ F G H. Con F G H −→ F ∈ ?S −→ {G,H} ∪ ?S ∈ C)∧ (∀ F G H. Dis F G H −→ F ∈ ?S −→ {G} ∪ ?S ∈ C ∨ {H} ∪ ?S ∈ C)

using 〈?S ∈ C〉 by (rule bspec)then have ∀ F G H. Dis F G H −→ F ∈ ?S −→ {G} ∪ ?S ∈ C ∨ {H} ∪ ?S ∈ Cby (iprover elim: conjunct2)

then have Dis F G H −→ F ∈ ?S −→ {G} ∪ ?S ∈ C ∨ {H} ∪ ?S ∈ Cby (iprover elim: allE)

then have F ∈ ?S −→ {G} ∪ ?S ∈ C ∨ {H} ∪ ?S ∈ Cusing assms(4) by (rule mp)

then have insIsUn:{G} ∪ ?S ∈ C ∨ {H} ∪ ?S ∈ Cusing 〈F ∈ ?S〉 by (rule mp)

have insG:insert G ?S = {G} ∪ ?Sby (rule insert-is-Un)

have insH:insert H ?S = {H} ∪ ?Sby (rule insert-is-Un)

have insert G ?S ∈ C ∨ insert H ?S ∈ Cusing insG insH by (simp only: insIsUn)

then have (insert G ?S ∈ C ∨ insert H ?S ∈ C) ∨ (∃ I ∈ {}. insert I ?S ∈ C)by (simp only: disjI1)

then have insert G ?S ∈ C ∨ (insert H ?S ∈ C ∨ (∃ I ∈ {}. insert I ?S ∈ C))by (simp only: disj-assoc)

then have insert G ?S ∈ C ∨ (∃ I ∈ {H}. insert I ?S ∈ C)by (simp only: bex-simps(5))

then have 1:∃ I ∈ {G,H}. insert I ?S ∈ Cby (simp only: bex-simps(5))

obtain I where I ∈ {G,H} and insert I ?S ∈ Cusing 1 by (rule bexE)

Page 78: Formalizacion´ del teorema de existencia de modelo en

78 Capıtulo 3. Colecciones de conjuntos cerradas bajo subconjuntos y de caracter finito

have SC:∀ S ∈ C. ∀ S ′⊆S. S ′∈ Cusing assms(2) by (simp only: subset-closed-def )

then have 2:∀ S ′⊆ (insert I ?S). S ′∈ Cusing 〈insert I ?S ∈ C〉 by (rule bspec)

have insert I S1 ⊆ insert I ?Susing 〈S1 ⊆ ?S〉 by (rule insert-mono)

have insert I S1 ∈ Cusing 2 〈insert I S1 ⊆ insert I ?S〉 by (rule sspec)

have insert I S2 ⊆ insert I ?Susing 〈S2 ⊆ ?S〉 by (rule insert-mono)

have insert I S2 ∈ Cusing 2 〈insert I S2 ⊆ insert I ?S〉 by (rule sspec)

have insert I S1 ∈ C ∧ insert I S2 ∈ Cusing 〈insert I S1 ∈ C〉 〈insert I S2 ∈ C〉 by (rule conjI)

thus ∃ I∈{G,H}. insert I S1 ∈ C ∧ insert I S2 ∈ Cusing 〈I ∈ {G,H}〉 by (rule bexI)

qed

Finalmente, el lema ex3-pcp-SinE-DIS-auxFalse prueba que dada una coleccion C conla propiedad de consistencia proposicional y cerrada bajo subconjuntos, S ∈ E y sea Fes una formula de tipo β de componentes β1 y β2, si consideramos S1 y S2 subconjuntosfinitos cualesquiera de S tales que F ∈ S1, F ∈ S2, {β1} ∪ S1 /∈ C y {β2} ∪ S2 /∈ C, llegamosa una contradiccion.

lemma ex3-pcp-SinE-DIS-auxFalse:assumes pcp C

subset-closed CS ∈ (extF C)Dis F G HF ∈ SS1 ⊆ Sfinite S1insert G S1 /∈ CS2 ⊆ Sfinite S2insert H S2 /∈ C

shows Falseproof −let ?S1=insert F S1let ?S2=insert F S2have SC:∀ S ∈ C. ∀ S ′⊆S. S ′∈ Cusing assms(2) by (simp only: subset-closed-def )

Page 79: Formalizacion´ del teorema de existencia de modelo en

79

have 1:?S1 ⊆ Susing 〈F ∈ S〉 〈S1 ⊆ S〉 by (simp only: insert-subset)

have 2:finite ?S1using 〈finite S1〉 by (simp only: finite-insert)

have 3:F ∈ ?S1by (simp only: insertI1)

have 4:insert G ?S1 /∈ Cproof (rule ccontr)assume ¬(insert G ?S1 /∈ C)then have insert G ?S1 ∈ Cby (rule notnotD)

have SC1:∀ S ′⊆ (insert G ?S1). S ′∈ Cusing SC 〈insert G ?S1 ∈ C〉 by (rule bspec)

have insert G S1 ⊆ insert F (insert G S1)by (rule subset-insertI)

then have insert G S1 ⊆ insert G ?S1by (simp only: insert-commute)

have insert G S1 ∈ Cusing SC1 〈insert G S1 ⊆ insert G ?S1〉 by (rule sspec)

show Falseusing assms(8) 〈insert G S1 ∈ C〉 by (rule notE)

qedhave 5:?S2 ⊆ Susing 〈F ∈ S〉 〈S2 ⊆ S〉 by (simp only: insert-subset)

have 6:finite ?S2using 〈finite S2〉 by (simp only: finite-insert)

have 7:F ∈ ?S2by (simp only: insertI1)

have 8:insert H ?S2 /∈ Cproof (rule ccontr)assume ¬(insert H ?S2 /∈ C)then have insert H ?S2 ∈ Cby (rule notnotD)

have SC2:∀ S ′⊆ (insert H ?S2). S ′∈ Cusing SC 〈insert H ?S2 ∈ C〉 by (rule bspec)

have insert H S2 ⊆ insert F (insert H S2)by (rule subset-insertI)

then have insert H S2 ⊆ insert H ?S2by (simp only: insert-commute)

have insert H S2 ∈ C

Page 80: Formalizacion´ del teorema de existencia de modelo en

80 Capıtulo 3. Colecciones de conjuntos cerradas bajo subconjuntos y de caracter finito

using SC2 〈insert H S2 ⊆ insert H ?S2〉 by (rule sspec)show Falseusing assms(11) 〈insert H S2 ∈ C〉 by (rule notE)

qedhave Ex:∃ I ∈ {G,H}. insert I ?S1 ∈ C ∧ insert I ?S2 ∈ Cusing assms(1) assms(2) assms(3) assms(4) 1 2 3 5 6 7 by (rule ex3-pcp-SinE-DIS-auxEx)

have ∀ I ∈ {G,H}. insert I ?S1 /∈ C ∨ insert I ?S2 /∈ Cusing 4 8 by simp

then have ∀ I ∈ {G,H}. ¬(insert I ?S1 ∈ C ∧ insert I ?S2 ∈ C)by (simp only: de-Morgan-conj)

then have ¬(∃ I ∈ {G,H}. insert I ?S1 ∈ C ∧ insert I ?S2 ∈ C)by (simp only: bex-simps(8))

thus Falseusing Ex by (rule notE)

qed

Una vez introducidos los lemas anteriores, podemos probar el lema ex3-pcp-SinE-DISque demuestra que si C es una coleccion con la propiedad de consistencia proposicionaly cerrada bajo subconjuntos, S ∈ E y sea F una formula de tipo β con componentes β1y β2, se verifica que o bien {β1} ∪ S ∈ C ′ o bien {β2} ∪ S ∈ C ′. Ademas, para dichaprueba necesitaremos los siguientes lemas auxiliares en Isabelle.

lemma sall-simps-not-all:assumes ¬(∀ x ⊆ A. P x)shows ∃ x ⊆ A. (¬ P x)using assms by blast

lemma subexE: ∃ x⊆A. P x =⇒ (∧

x. x⊆A =⇒ P x =⇒ Q) =⇒ Qby blast

De este modo, procedamos con la demostracion detallada de ex3-pcp-SinE-DIS.

lemma ex3-pcp-SinE-DIS:assumes pcp C

subset-closed CS ∈ (extF C)Dis F G HF ∈ S

shows {G} ∪ S ∈ (extensionFin C) ∨ {H} ∪ S ∈ (extensionFin C)proof −have (extF C) ⊆ (extensionFin C)unfolding extensionFin by (rule Un-upper2)

have PCP:∀ S ∈ C.

Page 81: Formalizacion´ del teorema de existencia de modelo en

81

⊥ /∈ S∧ (∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ False)∧ (∀ F G H. Con F G H −→ F ∈ S −→ {G,H} ∪ S ∈ C)∧ (∀ F G H. Dis F G H −→ F ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ C)

using assms(1) by (rule pcp-alt1)have E:∀ S ′⊆ S. finite S ′−→ S ′∈ C

using assms(3) unfolding extF by (rule CollectD)then have E ′:∀ S ′. S ′⊆ S −→ finite S ′−→ S ′∈ Cby blast

have SC:∀ S ∈ C. ∀ S ′⊆S. S ′∈ Cusing assms(2) by (simp only: subset-closed-def )

have insert G S ∈ (extF C) ∨ insert H S ∈ (extF C)proof (rule ccontr)assume ¬(insert G S ∈ (extF C) ∨ insert H S ∈ (extF C))then have Conj:¬(insert G S ∈ (extF C)) ∧ ¬(insert H S ∈ (extF C))by (simp only: simp-thms(8,25) de-Morgan-disj)

then have ¬(insert G S ∈ (extF C))by (rule conjunct1)

then have ¬(∀ S ′⊆ (insert G S). finite S ′−→ S ′∈ C)unfolding extF by (simp add: mem-Collect-eq)

then have Ex1:∃ S ′⊆ (insert G S). ¬(finite S ′−→ S ′∈ C)by (rule sall-simps-not-all)

obtain S1 where S1 ⊆ insert G S and ¬(finite S1 −→ S1 ∈ C)using Ex1 by (rule subexE)

have finite S1 ∧ S1 /∈ Cusing 〈¬(finite S1 −→ S1 ∈ C)〉 by (simp only: simp-thms(8) not-imp)

then have finite S1by (rule conjunct1)

have S1 /∈ Cusing 〈finite S1 ∧ S1 /∈ C〉 by (rule conjunct2)

then have insert G S1 /∈ Cproof −have S1 ⊆ S −→ finite S1 −→ S1 ∈ C

using E ′ by (rule allE)then have ¬ S1 ⊆ S

using 〈¬ (finite S1 −→ S1 ∈ C)〉 by (rule mt)then have (S1 ⊆ insert G S) 6= (S1 ⊆ S)using 〈S1 ⊆ insert G S〉 by simp

then have notSI:¬(S1 ⊆ insert G S←→ S1 ⊆ S)by blast

Page 82: Formalizacion´ del teorema de existencia de modelo en

82 Capıtulo 3. Colecciones de conjuntos cerradas bajo subconjuntos y de caracter finito

have subsetInsert:G /∈ S1 =⇒ S1 ⊆ insert G S←→ S1 ⊆ Sby (rule subset-insert)

have ¬(G /∈ S1)using notSI subsetInsert by (rule contrapos-nn)

then have G ∈ S1by (rule notnotD)

then have insert G S1 = S1by (rule insert-absorb)

show ?thesisusing 〈S1 /∈ C〉 by (simp only: simp-thms(8) 〈insert G S1 = S1〉)

qedlet ?S1=S1 − {G}have insert G S = {G} ∪ S

by (rule insert-is-Un)have S1 ⊆ {G} ∪ S

using 〈S1 ⊆ insert G S〉 by (simp only: 〈insert G S = {G} ∪ S〉)have 1:?S1 ⊆ S

using 〈S1 ⊆ {G} ∪ S〉 by (simp only: Diff-subset-conv)have 2:finite ?S1using 〈finite S1〉 by (simp only: finite-Diff )

have insert G ?S1 = insert G S1by (simp only: insert-Diff-single)

then have 3:insert G ?S1 /∈ Cusing 〈insert G S1 /∈ C〉 by (simp only: simp-thms(6,8) 〈insert G ?S1 = insert G S1〉)

have insert H S /∈ (extF C)using Conj by (rule conjunct2)

then have ¬(∀ S ′⊆ (insert H S). finite S ′−→ S ′∈ C)unfolding extF by (simp add: mem-Collect-eq)

then have Ex2:∃ S ′⊆ (insert H S). ¬(finite S ′−→ S ′∈ C)by (rule sall-simps-not-all)

obtain S2 where S2 ⊆ insert H S and ¬(finite S2 −→ S2 ∈ C)using Ex2 by (rule subexE)

have finite S2 ∧ S2 /∈ Cusing 〈¬(finite S2 −→ S2 ∈ C)〉 by (simp only: simp-thms(8,25) not-imp)

then have finite S2by (rule conjunct1)

have S2 /∈ Cusing 〈finite S2 ∧ S2 /∈ C〉 by (rule conjunct2)

then have insert H S2 /∈ Cproof −

Page 83: Formalizacion´ del teorema de existencia de modelo en

83

have S2 ⊆ S −→ finite S2 −→ S2 ∈ Cusing E ′ by (rule allE)

then have ¬ S2 ⊆ Susing 〈¬ (finite S2 −→ S2 ∈ C)〉 by (rule mt)

then have (S2 ⊆ insert H S) 6= (S2 ⊆ S)using 〈S2 ⊆ insert H S〉 by simp

then have notSI:¬(S2 ⊆ insert H S←→ S2 ⊆ S)by blast

have subsetInsert:H /∈ S2 =⇒ S2 ⊆ insert H S←→ S2 ⊆ Sby (rule subset-insert)

have ¬(H /∈ S2)using notSI subsetInsert by (rule contrapos-nn)

then have H ∈ S2by (rule notnotD)

then have insert H S2 = S2by (rule insert-absorb)

show ?thesisusing 〈S2 /∈ C〉 by (simp only: simp-thms(8) 〈insert H S2 = S2〉)

qedlet ?S2=S2 − {H}have insert H S = {H} ∪ S

by (rule insert-is-Un)have S2 ⊆ {H} ∪ Susing 〈S2 ⊆ insert H S〉 by (simp only: 〈insert H S = {H} ∪ S〉)

have 4:?S2 ⊆ Susing 〈S2 ⊆ {H} ∪ S〉 by (simp only: Diff-subset-conv)

have 5:finite ?S2using 〈finite S2〉 by (simp only: finite-Diff )

have insert H ?S2 = insert H S2by (simp only: insert-Diff-single)

then have 6:insert H ?S2 /∈ Cusing 〈insert H S2 /∈ C〉 by (simp only: simp-thms(6,8) 〈insert H ?S2 = insert H S2〉)

show Falseusing assms(1) assms(2) assms(3) assms(4) assms(5) 1 2 3 4 5 6 by (rule ex3-pcp-SinE-DIS-auxFalse)

qedthus ?thesisproof (rule disjE)assume insert G S ∈ (extF C)have insG:insert G S ∈ (extensionFin C)using 〈(extF C) ⊆ (extensionFin C)〉 〈insert G S ∈ (extF C)〉 by (simp only: in-mono)

Page 84: Formalizacion´ del teorema de existencia de modelo en

84 Capıtulo 3. Colecciones de conjuntos cerradas bajo subconjuntos y de caracter finito

have insert G S = {G} ∪ Sby (rule insert-is-Un)

then have {G} ∪ S ∈ (extensionFin C)using insG 〈insert G S = {G} ∪ S〉 by (simp only: insG)

thus ?thesisby (rule disjI1)

nextassume insert H S ∈ (extF C)have insH:insert H S ∈ (extensionFin C)using 〈(extF C) ⊆ (extensionFin C)〉 〈insert H S ∈ (extF C)〉 by (simp only: in-mono)

have insert H S = {H} ∪ Sby (rule insert-is-Un)

then have {H} ∪ S ∈ (extensionFin C)using insH 〈insert H S = {H} ∪ S〉 by (simp only: insH)

thus ?thesisby (rule disjI2)

qedqed

Probados los lemas ex3-pcp-SinE-CON y ex3-pcp-SinE-DIS, podemos demostrar queC ′= C ∪ E verifica las condiciones del lema de caracterizacion de la propiedad de con-sistencia proposicional para el caso en que S ∈ E, formalizado como ex3-pcp-SinE. Dicholema prueba que, si C es una coleccion con la propiedad de consistencia proposicionaly cerrada bajo subconjuntos, y sea S ∈ E, se verifican las condiciones:

• ⊥ /∈ S.

• Dada p una formula atomica cualquiera, no se tiene simultaneamente quep ∈ S y ¬ p ∈ S.

• Para toda formula de tipo α con componentes α1 y α2 tal que α pertenece a S, setiene que {α1,α2} ∪ S pertenece a C ′.

• Para toda formula de tipo β con componentes β1 y β2 tal que β pertenece a S, setiene que o bien {β1} ∪ S pertenece a C ′ o bien {β2} ∪ S pertenece a C ′.

lemma ex3-pcp-SinE:assumes pcp C

subset-closed CS ∈ (extF C)

shows ⊥ /∈ S ∧(∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ False) ∧

Page 85: Formalizacion´ del teorema de existencia de modelo en

85

(∀ F G H. Con F G H −→ F ∈ S −→ {G, H} ∪ S ∈ (extensionFin C)) ∧(∀ F G H. Dis F G H −→ F ∈ S −→ {G} ∪ S ∈ (extensionFin C) ∨ {H} ∪ S ∈

(extensionFin C))proof −have PCP:∀ S ∈ C.⊥ /∈ S ∧(∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ False) ∧(∀ F G H. Con F G H −→ F ∈ S −→ {G, H} ∪ S ∈ C) ∧(∀ F G H. Dis F G H −→ F ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ C)

using assms(1) by (rule pcp-alt1)have E:∀ S ′⊆ S. finite S ′−→ S ′∈ C

using assms(3) unfolding extF by (rule CollectD)have {} ⊆ Sby (rule empty-subsetI)

have C1:⊥ /∈ Sproof (rule ccontr)

assume ¬(⊥ /∈ S)then have ⊥ ∈ S

by (rule notnotD)then have ⊥ ∈ S ∧ {} ⊆ S

using 〈{} ⊆ S〉 by (rule conjI)then have insert ⊥ {} ⊆ S

by (simp only: insert-subset)have finite {}by (rule finite.emptyI)

then have finite (insert ⊥ {})by (rule finite.insertI)

have finite (insert ⊥ {}) −→ (insert ⊥ {}) ∈ Cusing E 〈(insert ⊥ {}) ⊆ S〉 by simp

then have (insert ⊥ {}) ∈ Cusing 〈finite (insert ⊥ {})〉 by (rule mp)

have ⊥ /∈ (insert ⊥ {}) ∧(∀ k. Atom k ∈ (insert ⊥ {}) −→ ¬ (Atom k) ∈ (insert ⊥ {}) −→ False) ∧(∀ F G H. Con F G H −→ F ∈ (insert ⊥ {}) −→ {G, H} ∪ (insert ⊥ {}) ∈ C) ∧(∀ F G H. Dis F G H −→ F ∈ (insert ⊥ {}) −→ {G} ∪ (insert ⊥ {}) ∈ C ∨ {H} ∪

(insert ⊥ {}) ∈ C)using PCP 〈(insert ⊥ {}) ∈ C〉 by blast

then have ⊥ /∈ (insert ⊥ {})by (rule conjunct1)

have ⊥ ∈ (insert ⊥ {})

Page 86: Formalizacion´ del teorema de existencia de modelo en

86 Capıtulo 3. Colecciones de conjuntos cerradas bajo subconjuntos y de caracter finito

by (rule insertI1)show False

using 〈⊥ /∈ (insert ⊥ {})〉 〈⊥ ∈ (insert ⊥ {})〉 by (rule notE)qedhave C2:∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ Falseproof (rule allI)fix kshow Atom k ∈ S −→ ¬(Atom k) ∈ S −→ Falseproof (rule impI)+

assume Atom k ∈ Sassume ¬(Atom k) ∈ Slet ?A=insert (Atom k) (insert (¬(Atom k)) {})have Atom k ∈ ?Aby (simp only: insert-iff simp-thms)

have ¬(Atom k) ∈ ?Aby (simp only: insert-iff simp-thms)

have inSubset:insert (¬(Atom k)) {} ⊆ Susing 〈¬(Atom k) ∈ S〉 〈{} ⊆ S〉 by (simp only: insert-subset)

have ?A ⊆ Susing inSubset 〈Atom k ∈ S〉 by (simp only: insert-subset)

have finite {}by (simp only: finite.emptyI)

then have finite (insert (¬(Atom k)) {})by (rule finite.insertI)

then have finite ?Aby (rule finite.insertI)

have finite ?A −→ ?A ∈ Cusing E 〈?A ⊆ S〉 by (rule sspec)

then have ?A ∈ Cusing 〈finite ?A〉 by (rule mp)

have ⊥ /∈ ?A∧ (∀ k. Atom k ∈ ?A −→ ¬ (Atom k) ∈ ?A −→ False)∧ (∀ F G H. Con F G H −→ F ∈ ?A −→ {G,H} ∪ ?A ∈ C)∧ (∀ F G H. Dis F G H −→ F ∈ ?A −→ {G} ∪ ?A ∈ C ∨ {H} ∪ ?A ∈ C)

using PCP 〈?A ∈ C〉 by (rule bspec)then have ∀ k. Atom k ∈ ?A −→ ¬ (Atom k) ∈ ?A −→ Falseby (iprover elim: conjunct2 conjunct1)

then have Atom k ∈ ?A −→ ¬ (Atom k) ∈ ?A −→ Falseby (iprover elim: allE)

then have ¬(Atom k) ∈ ?A −→ False

Page 87: Formalizacion´ del teorema de existencia de modelo en

87

using 〈Atom k ∈ ?A〉 by (rule mp)thus Falseusing 〈¬(Atom k) ∈ ?A〉 by (rule mp)

qedqedhave C3:∀ F G H. Con F G H −→ F ∈ S −→ {G,H} ∪ S ∈ (extensionFin C)proof (rule allI)+fix F G Hshow Con F G H −→ F ∈ S −→ {G,H} ∪ S ∈ (extensionFin C)proof (rule impI)+

assume Con F G Hassume F ∈ Sshow {G,H} ∪ S ∈ (extensionFin C)using assms(1) assms(2) assms(3) 〈Con F G H〉 〈F∈ S〉 by (simp only: ex3-pcp-SinE-CON)

qedqedhave C4:∀ F G H. Dis F G H −→ F ∈ S −→ {G} ∪ S ∈ (extensionFin C) ∨ {H} ∪ S ∈

(extensionFin C)proof (rule allI)+fix F G Hshow Dis F G H −→ F ∈ S −→ {G} ∪ S ∈ (extensionFin C) ∨ {H} ∪ S ∈ (extensionFin

C)proof (rule impI)+

assume Dis F G Hassume F ∈ Sshow {G} ∪ S ∈ (extensionFin C) ∨ {H} ∪ S ∈ (extensionFin C)using assms(1) assms(2) assms(3) 〈Dis F G H〉 〈F ∈ S〉 by (rule ex3-pcp-SinE-DIS)

qedqedshow ?thesisusing C1 C2 C3 C4 by (iprover intro: conjI)

qed

En conclusion, la prueba detallada completa en Isabelle que demuestra que la ex-tension C ′ verifica la propiedad de consistencia proposicional dada una coleccion C quetambien la verifique y sea cerrada bajo subconjuntos es la siguiente.

lemma ex3-pcp:assumes pcp C

subset-closed Cshows pcp (extensionFin C)

unfolding pcp-alt

Page 88: Formalizacion´ del teorema de existencia de modelo en

88 Capıtulo 3. Colecciones de conjuntos cerradas bajo subconjuntos y de caracter finito

proof (rule ballI)have PCP:∀ S ∈ C.⊥ /∈ S∧ (∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ False)∧ (∀ F G H. Con F G H −→ F ∈ S −→ {G,H} ∪ S ∈ C)∧ (∀ F G H. Dis F G H −→ F ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ C)using assms(1) by (rule pcp-alt1)

fix Sassume S ∈ (extensionFin C)then have S ∈ C ∨ S ∈ (extF C)unfolding extensionFin by (simp only: Un-iff )

thus ⊥ /∈ S ∧(∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ False) ∧(∀ F G H. Con F G H −→ F ∈ S −→ {G, H} ∪ S ∈ (extensionFin C)) ∧(∀ F G H. Dis F G H −→ F ∈ S −→ {G} ∪ S ∈ (extensionFin C) ∨ {H} ∪ S ∈

(extensionFin C))proof (rule disjE)

assume S ∈ Cshow ?thesisusing assms 〈S ∈ C〉 by (rule ex3-pcp-SinC)

nextassume S ∈ (extF C)show ?thesis

using assms 〈S ∈ (extF C)〉 by (rule ex3-pcp-SinE)qed

qed

Por ultimo, podemos dar la prueba completa del lema 3.0.5 en Isabelle.

lemma ex3:assumes pcp C

subset-closed Cshows ∃C ′. C ⊆ C ′∧ pcp C ′∧ finite-character C ′

proof −let ?C ′=extensionFin Chave C1:C ⊆ ?C ′

unfolding extensionFin by (simp only: Un-upper1)have C2:finite-character (?C ′)using assms(2) by (rule ex3-finite-character)

have C3:pcp (?C ′)using assms by (rule ex3-pcp)

have C ⊆ ?C ′∧ pcp ?C ′∧ finite-character ?C ′

Page 89: Formalizacion´ del teorema de existencia de modelo en

89

using C1 C2 C3 by (iprover intro: conjI)thus ?thesisby (rule exI)

qed

Page 90: Formalizacion´ del teorema de existencia de modelo en

90 Capıtulo 3. Colecciones de conjuntos cerradas bajo subconjuntos y de caracter finito

Page 91: Formalizacion´ del teorema de existencia de modelo en

Capıtulo 4

Teorema de existencia de modelo

En este capıtulo se demuestra el teorema de existencia de modelo para la Logica Proposi-cional y el teorema de compacidad. Para ello, definiremos ciertas sucesiones monotonas deconjuntos de formulas a partir de una coleccion y un conjunto perteneciente a ella.

4.1 Sucesiones de conjuntos

A partir de una coleccion C y un conjunto S ∈ C, vamos a definir una sucesion monotona{Sn} de conjuntos de formulas proposicionales. Se demostraran las siguientes propiedades:

• Si C verifica la propiedad de consistencia proposicional, entonces todo elementode la sucecion {Sn} pertenece a C.

• Para todo n,m ∈ IN se verifica⋃

n≤m Sn = Sm

• Definiremos el lımite de dichas sucesiones, probando que todo conjunto de {Sn}esta contenido en el lımite.

• Si una formula pertenece al lımite de la sucesion {Sn}, entonces pertenece a algunconjunto de dicha sucesion.

• Si S ′ es un subconjunto finito del lımite de la sucesion {Sn}, entonces existe unk ∈ IN tal que S ′⊆ Sk.

Recordemos que el conjunto de las formulas proposicionales se define recursiva-mente a partir de un alfabeto numerable de variables proposicionales. Por lo tanto, elconjunto de formulas proposicionales es igualmente numerable, de modo que es posi-ble enumerar sus elementos. Una vez realizada esta observacion, veamos la definicion

91

Page 92: Formalizacion´ del teorema de existencia de modelo en

92 Capıtulo 4. Teorema de existencia de modelo

de sucesion de conjuntos de formulas proposicionales a partir de una coleccion y unconjunto de la misma.

Definicion 4.1.1 Sea C una coleccion de conjuntos de formulas proposicionales, S ∈ C y F1,F2, F3 . . . una enumeracion de las formulas proposicionales. Se define la sucesion de conjuntosde C a partir de S como sigue:

S0 = S

Sn+1 =

Sn ∪ {Fn} si Sn ∪ {Fn} ∈ C

Sn c.c

Para su formalizacion en Isabelle se ha introducido una instancia en la teorıa deSintaxis que indica explıcitamente que el conjunto de las formulas proposicionales esnumerable, probado mediante el metodo countable-datatype de Isabelle.

instance formula :: (countable) countable by countable-datatype

De esta manera se genera en Isabelle una enumeracion predeterminada de los ele-mentos del conjunto, junto con herramientas para probar propiedades referentes a lanumerabilidad. En particular, en la formalizacion de la definicion 4.1.1 se utilizarala funcion from-nat que, al aplicarla a un numero natural n, nos devuelve la n-esimaformula proposicional segun una enumeracion predeterminada en Isabelle.

Puesto que la definicion de las sucesiones en 4.1.1 se trata de una definicion recur-siva sobre la estructura recursiva de los numeros naturales, se formalizara en Isabellemediante el tipo de funciones primitivas recursivas de la siguiente manera.

primrec pcp-seq wherepcp-seq C S 0 = S |pcp-seq C S (Suc n) = (let Sn = pcp-seq C S n; Sn1 = insert (from-nat n) Sn in

if Sn1 ∈ C then Sn1 else Sn)

Veamos el primer resultado sobre dichas sucesiones.

Lema 4.1.2 Sea C una coleccion de conjuntos con la propiedad de consistencia proposicional,S ∈ C y {Sn} la sucesion de conjuntos de C a partir de S construida segun la definicion 4.1.1.Entonces, para todo n ∈ IN se verifica que Sn ∈ C.

Procedamos con su demostracion.

Demostracion: El resultado se prueba por induccion en los numeros naturales que con-forman los subındices de la sucesion.

En primer lugar, tenemos que S0 = S pertenece a C por hipotesis.

Page 93: Formalizacion´ del teorema de existencia de modelo en

4.1. Sucesiones de conjuntos 93

Por otro lado, supongamos que Sn ∈ C. Probemos que Sn+1 ∈ C. Si suponemos queSn ∪ {Fn} ∈ C, por definicion tenemos que Sn+1 = Sn ∪ {Fn}, luego pertenece a C. Encaso contrario, si suponemos que Sn ∪ {Fn} /∈ C, por definicion tenemos que Sn+1 = Sn,que pertenece igualmente a C por hipotesis de induccion. Por tanto, queda probado elresultado.

La formalizacion y demostracion detallada del lema en Isabelle son las siguientes.

lemmaassumes pcp C

S ∈ Cshows pcp-seq C S n ∈ C

proof (induction n)show pcp-seq C S 0 ∈ Cby (simp only: pcp-seq.simps(1) 〈S ∈ C〉)

nextfix nassume HI:pcp-seq C S n ∈ Chave pcp-seq C S (Suc n) = (let Sn = pcp-seq C S n; Sn1 = insert (from-nat n) Sn in

if Sn1 ∈ C then Sn1 else Sn)by (simp only: pcp-seq.simps(2))

then have SucDef :pcp-seq C S (Suc n) = (if insert (from-nat n) (pcp-seq C S n) ∈ C theninsert (from-nat n) (pcp-seq C S n) else pcp-seq C S n)

by (simp only: Let-def )show pcp-seq C S (Suc n) ∈ Cproof (cases)assume 1:insert (from-nat n) (pcp-seq C S n) ∈ Chave pcp-seq C S (Suc n) = insert (from-nat n) (pcp-seq C S n)

using SucDef 1 by (simp only: if-True)thus pcp-seq C S (Suc n) ∈ C

by (simp only: 1)nextassume 2:insert (from-nat n) (pcp-seq C S n) /∈ Chave pcp-seq C S (Suc n) = pcp-seq C S nusing SucDef 2 by (simp only: if-False)

thus pcp-seq C S (Suc n) ∈ Cby (simp only: HI)

qedqed

Del mismo modo, podemos probar el lema de manera automatica en Isabelle.

Page 94: Formalizacion´ del teorema de existencia de modelo en

94 Capıtulo 4. Teorema de existencia de modelo

lemma pcp-seq-in: pcp C =⇒ S ∈ C =⇒ pcp-seq C S n ∈ Cproof(induction n)case (Suc n)hence pcp-seq C S n ∈ C by simpthus ?case by (simp add: Let-def )

qed simp

Por otro lado, veamos la monotonıa de dichas sucesiones.

Lema 4.1.3 Toda sucesion de conjuntos construida a partir de una coleccion y un conjuntosegun la definicion 4.1.1 es monotona.

En Isabelle, se formaliza de la siguiente forma.

lemma pcp-seq C S n ⊆ pcp-seq C S (Suc n)oops

Procedamos con la demostracion del lema.

Demostracion: Sea una coleccion de conjuntos C, S ∈ C y {Sn} la sucesion de conjuntosde C a partir de S segun la definicion 4.1.1. Para probar que {Sn} es monotona, bastaprobar que Sn ⊆ Sn+1 para todo n ∈ IN. En efecto, el resultado es inmediato al considerardos casos para todo n ∈ IN: Sn ∪ {Fn} ∈ C o Sn ∪ {Fn} /∈ C. Si suponemos queSn ∪ {Fn} ∈ C, por definicion tenemos que Sn+1 = Sn ∪ {Fn}, luego es claro queSn ⊆ Sn+1. En caso contrario, si Sn ∪ {Fn} /∈ C, por definicion se tiene que Sn+1 = Sn,obteniendose igualmente el resultado por la propiedad reflexiva de la contencion deconjuntos.

La prueba detallada en Isabelle se muestra a continuacion.

lemma pcp-seq C S n ⊆ pcp-seq C S (Suc n)proof −have pcp-seq C S (Suc n) = (let Sn = pcp-seq C S n; Sn1 = insert (from-nat n) Sn in

if Sn1 ∈ C then Sn1 else Sn)by (simp only: pcp-seq.simps(2))

then have SucDef :pcp-seq C S (Suc n) = (if insert (from-nat n) (pcp-seq C S n) ∈ C theninsert (from-nat n) (pcp-seq C S n) else pcp-seq C S n)

by (simp only: Let-def )thus pcp-seq C S n ⊆ pcp-seq C S (Suc n)proof (cases)assume 1:insert (from-nat n) (pcp-seq C S n) ∈ Chave pcp-seq C S (Suc n) = insert (from-nat n) (pcp-seq C S n)

using SucDef 1 by (simp only: if-True)

Page 95: Formalizacion´ del teorema de existencia de modelo en

4.1. Sucesiones de conjuntos 95

thus pcp-seq C S n ⊆ pcp-seq C S (Suc n)by (simp only: subset-insertI)

nextassume 2:insert (from-nat n) (pcp-seq C S n) /∈ Chave pcp-seq C S (Suc n) = pcp-seq C S nusing SucDef 2 by (simp only: if-False)

thus pcp-seq C S n ⊆ pcp-seq C S (Suc n)by (simp only: subset-refl)

qedqed

Del mismo modo, se puede probar automaticamente en Isabelle/HOL.

lemma pcp-seq-monotonicity:pcp-seq C S n ⊆ pcp-seq C S (Suc n)by (smt eq-iff pcp-seq.simps(2) subset-insertI)

Por otra lado, para facilitar posteriores demostraciones en Isabelle/HOL, vamos aformalizar el lema anterior empleando la siguiente definicion generalizada de mono-tonıa.

lemma pcp-seq-mono:assumes n ≤ mshows pcp-seq C S n ⊆ pcp-seq C S musing pcp-seq-monotonicity assms by (rule lift-Suc-mono-le)

A continuacion daremos un lema que permite caracterizar un elemento de la sucesionen funcion de los anteriores.

Lema 4.1.4 Sea C una coleccion de conjuntos, S ∈ C y {Sn} la sucesion de conjuntos de Ca partir de S construida segun la definicion 4.1.1. Entonces, para todos n, m ∈ IN se verifica⋃

n≤m Sn = Sm

Demostracion: En las condiciones del enunciado, la prueba se realiza por induccion enm ∈ IN.

En primer lugar, consideremos el caso base m = 0. El resultado se obtiene directa-mente:⋃

n≤0 Sn =⋃

n=0 Sn = S0 = Sm

Por otro lado, supongamos por hipotesis de induccion que⋃

n≤m Sn = Sm. Veamosque se verifica

⋃n≤m+1 Sn = Sm+1. Observemos que si n ≤ m + 1, entonces se tiene que,

o bien n ≤ m, o bien n = m + 1. De este modo, aplicando la hipotesis de induccion,deducimos lo siguiente.

Page 96: Formalizacion´ del teorema de existencia de modelo en

96 Capıtulo 4. Teorema de existencia de modelo

⋃n≤m+1 Sn =

⋃n≤m Sn ∪

⋃n=m+1 Sn =

⋃n≤m Sn ∪ Sm+1 = Sm ∪ Sm+1

Por la monotonıa de la sucesion, se tiene que Sm ⊆ Sm+1. Luego, se verifica:⋃n≤m+1 Sn = Sm ∪ Sm+1 = Sm+1

Lo que prueba el resultado.�

Para formalizar dicho resultado y su demostracion en Isabelle, hay que tener encuenta como esta formalizada la Teorıa de Conjuntos Set.thy. Los conjuntos estan forma-lizados como predicados, junto con la funcion Collect y el predicado member, verificandolos siguientes axiomas:

mem-Collect-eq: ”member a (Collect P) = P a”

Collect-mem-eq: ”Collect (λx. member x A) = A”

Se demuestra tambien que el tipo de los conjuntos constituye un algebra de Boole,en el que el supremo de dos conjuntos es la union y el ınfimo es la interseccion. Deesta forma, podemos usar la union generalizada, definida en la la teorıa de retıculoscompletos de Isabelle Complete-Lattices.thy.

Veamos la prueba detallada del resultado en Isabelle/HOL.

lemma⋃ {pcp-seq C S n|n. n ≤ m} = pcp-seq C S m

proof (induct m)have

⋃ {pcp-seq C S n|n. n ≤ 0} = ⋃ {pcp-seq C S n|n. n = 0}by (simp only: le-zero-eq)

also have . . . =⋃((pcp-seq C S)‘{n. n = 0})

by (simp only: image-Collect)also have . . . =

⋃ {pcp-seq C S 0}by (simp only: singleton-conv image-insert image-empty)

also have . . . = pcp-seq C S 0by (simp only:cSup-singleton)

finally show⋃ {pcp-seq C S n|n. n ≤ 0} = pcp-seq C S 0

by thisnextfix massume HI:

⋃ {pcp-seq C S n|n. n ≤ m} = pcp-seq C S mhave m ≤ Suc mby (simp only: add-0-right)

then have Mon:pcp-seq C S m ⊆ pcp-seq C S (Suc m)by (rule pcp-seq-mono)

have⋃ {pcp-seq C S n | n. n ≤ Suc m} = ⋃

((pcp-seq C S)‘({n. n ≤ Suc m}))by (simp only: image-Collect)

Page 97: Formalizacion´ del teorema de existencia de modelo en

4.1. Sucesiones de conjuntos 97

also have . . . =⋃((pcp-seq C S)‘({Suc m} ∪ {n. n ≤ m}))

by (simp only: le-Suc-eq Collect-disj-eq Un-commute singleton-conv)also have . . . =

⋃({pcp-seq C S (Suc m)} ∪ {pcp-seq C S n | n. n ≤ m})

by (simp only: image-Un image-insert image-empty image-Collect)also have . . . =

⋃ {pcp-seq C S (Suc m)} ∪ ⋃ {pcp-seq C S n | n. n ≤ m}by (simp only: Union-Un-distrib)

also have . . . = (pcp-seq C S (Suc m)) ∪ ⋃ {pcp-seq C S n | n. n ≤ m}by (simp only: cSup-singleton)

also have . . . = (pcp-seq C S (Suc m)) ∪ (pcp-seq C S m)by (simp only: HI)

also have . . . = pcp-seq C S (Suc m)using Mon by (simp only: Un-absorb2)

finally show⋃ {pcp-seq C S n|n. n ≤ (Suc m)} = pcp-seq C S (Suc m)

by thisqed

Analogamente, podemos dar una prueba automatica.

lemma pcp-seq-UN:⋃ {pcp-seq C S n|n. n ≤ m} = pcp-seq C S m

proof(induction m)case (Suc m)have {f n |n. n ≤ Suc m} = insert (f (Suc m)) {f n |n. n ≤ m}

for f using le-Suc-eq by autohence {pcp-seq C S n |n. n ≤ Suc m} =

insert (pcp-seq C S (Suc m)) {pcp-seq C S n |n. n ≤ m} .hence

⋃ {pcp-seq C S n |n. n ≤ Suc m} =⋃ {pcp-seq C S n |n. n ≤ m} ∪ pcp-seq C S (Suc m) by autothus ?case using Suc pcp-seq-mono by blast

qed simp

Finalmente, definamos el lımite de las sucesiones presentadas en la definicion 4.1.1.

Definicion 4.1.5 Sea C una coleccion, S ∈ C y {Sn} la sucesion de conjuntos de C a partir de Ssegun la definicion 4.1.1. Se define el lımite de la sucesion de conjuntos de C a partir de S como⋃∞

n=0 Sn

La definicion del lımite se formaliza utilizando la union generalizada de Isabellecomo sigue.

definition pcp-lim C S ≡ ⋃ {pcp-seq C S n|n. True}

Veamos el primer resultado sobre el lımite.

Page 98: Formalizacion´ del teorema de existencia de modelo en

98 Capıtulo 4. Teorema de existencia de modelo

Lema 4.1.6 Sea C una coleccion de conjuntos, S ∈ C y {Sn} la sucesion de conjuntos de C apartir de S segun la definicion 4.1.1. Entonces, para todo n ∈ IN, se verifica:

Sn ⊆⋃∞

n=0 Sn

Demostracion: El resultado se obtiene de manera inmediata ya que, para todo n ∈ IN,se verifica que Sn ∈ {Sn}∞

n=0. Por tanto, es claro que Sn ⊆⋃∞

n=0 Sn.�

Su formalizacion y demostracion detallada en Isabelle se muestran a continuacion.

lemma pcp-seq C S n ⊆ pcp-lim C Sunfolding pcp-lim-def

proof −have n ∈ {n | n. True}by (simp only: simp-thms(21,38) Collect-const if-True UNIV-I)

then have pcp-seq C S n ∈ (pcp-seq C S)‘{n | n. True}by (simp only: imageI)

then have pcp-seq C S n ∈ {pcp-seq C S n | n. True}by (simp only: image-Collect simp-thms(40))

thus pcp-seq C S n ⊆ ⋃ {pcp-seq C S n | n. True}by (simp only: Union-upper)

qed

Podemos probarlo de manera automatica como sigue.

lemma pcp-seq-sub: pcp-seq C S n ⊆ pcp-lim C Sunfolding pcp-lim-def by blast

Mostremos otro resultado.

Lema 4.1.7 Sea C una coleccion de conjuntos de formulas proposicionales, S ∈ C y {Sn} lasucesion de conjuntos de C a partir de S segun la definicion 4.1.1. Si F es una formula tal queF ∈ ⋃∞

n=0 Sn, entonces existe un k ∈ IN tal que F ∈ Sk.

Demostracion: La prueba es inmediata de la definicion del lımite de la sucesion deconjuntos {Sn}: si F pertenece a la union generalizada

⋃∞n=0 Sn, entonces existe algun

conjunto Sk tal que F ∈ Sk. Es decir, existe k ∈ IN tal que F ∈ Sk, como querıamosdemostrar.

Su prueba detallada en Isabelle/HOL es la siguiente.

lemmaassumes F ∈ pcp-lim C S

Page 99: Formalizacion´ del teorema de existencia de modelo en

4.1. Sucesiones de conjuntos 99

shows ∃ k. F ∈ pcp-seq C S kproof −

have F ∈ ⋃((pcp-seq C S) ‘ {n | n. True})

using assms by (simp only: pcp-lim-def image-Collect simp-thms(40))then have ∃ k ∈ {n. True}. F ∈ pcp-seq C S kby (simp only: UN-iff simp-thms(40))

then have ∃ k ∈ UNIV. F ∈ pcp-seq C S kby (simp only: UNIV-def )

thus ∃ k. F ∈ pcp-seq C S kby (simp only: bex-UNIV)

qed

Mostremos, a continuacion, la demostracion automatica del resultado.

lemma pcp-lim-inserted-at-ex:S ′∈ pcp-lim C S =⇒ ∃ k. S ′∈ pcp-seq C S k

unfolding pcp-lim-def by blast

Por ultimo, veamos la siguiente propiedad sobre conjuntos finitos contenidos en ellımite de las sucesiones definido en 4.1.5.

Lema 4.1.8 Sea C una coleccion, S ∈ C y {Sn} la sucesion de conjuntos de C a partir de S segunla definicion 4.1.1. Si S ′ es un conjunto finito tal que S ′⊆ ⋃∞

n=0 Sn, entonces existe unk ∈ IN tal que S ′⊆ Sk.

Demostracion: La prueba del resultado se realiza por induccion sobre la estructura re-cursiva de los conjuntos finitos.

En primer lugar, probemos el caso base correspondiente al conjunto vacıo. Supon-gamos que {} esta contenido en el lımite de la sucesion de conjuntos de C a partir de S.Como {} es subconjunto de todo conjunto, en particular lo es de S = S0, probando asıel primer caso.

Por otra parte, probemos el paso de induccion. Sea S ′un conjunto finito verificandola hipotesis de induccion: si S ′ esta contenido en el lımite de la sucesion de conjuntos deC a partir de S, entonces tambien esta contenido en algun Sk ′ para cierto k ′ ∈ IN. Sea Funa formula tal que F /∈ S ′. Vamos a probar que si {F} ∪ S ′ esta contenido en el lımite,entonces esta contenido en Sk para algun k ∈ IN.

Como hemos supuesto que {F} ∪ S ′ esta contenido en el lımite, entonces se verificaque F pertenece al lımite y S ′ esta contenido en el. Por el lema 4.1.7, como F perteneceal lımite, deducimos que existe un k ∈ IN tal que F ∈ Sk. Por otro lado, como S ′ estacontenido en el lımite, por hipotesis de induccion existe algun k ′ ∈ IN tal que S ′ ⊆ Sk ′.El resultado se obtiene considerando el maximo entre k y k ′, que notaremos por k ′′. En

Page 100: Formalizacion´ del teorema de existencia de modelo en

100 Capıtulo 4. Teorema de existencia de modelo

efecto, por la monotonıa de la sucesion, se verifica que tanto Sk como Sk ′ estan con-tenidos en Sk ′ ′. De este modo, como S ′ ⊆ Sk ′, por la transitividad de la contencion deconjuntos se tiene que S ′⊆ Sk ′ ′. Ademas, como F ∈ Sk, se tiene que F ∈ Sk ′ ′. Por lo tanto,{F} ∪ S ′⊆ Sk ′ ′, como querıamos demostrar.

Procedamos con la demostracion detallada en Isabelle.

lemmaassumes finite S ′

S ′⊆ pcp-lim C Sshows ∃ k. S ′⊆ pcp-seq C S k

using assmsproof (induction S ′ rule: finite-induct)

case emptyhave pcp-seq C S 0 = Sby (simp only: pcp-seq.simps(1))

have {} ⊆ Sby (rule order-bot-class.bot.extremum)

then have {} ⊆ pcp-seq C S 0by (simp only: 〈pcp-seq C S 0 = S〉)

then show ?caseby (rule exI)

nextcase (insert F S ′)then have insert F S ′⊆ pcp-lim C Sby (simp only: insert.prems)

then have C:F ∈ (pcp-lim C S) ∧ S ′⊆ pcp-lim C Sby (simp only: insert-subset)

then have S ′⊆ pcp-lim C Sby (rule conjunct2)

then have EX1:∃ k. S ′⊆ pcp-seq C S kby (simp only: insert.IH)

obtain k1 where S ′⊆ pcp-seq C S k1using EX1 by (rule exE)

have F ∈ pcp-lim C Susing C by (rule conjunct1)

then have EX2:∃ k. F ∈ pcp-seq C S kby (rule pcp-lim-inserted-at-ex)

obtain k2 where F ∈ pcp-seq C S k2using EX2 by (rule exE)

have k1 ≤ max k1 k2

Page 101: Formalizacion´ del teorema de existencia de modelo en

4.2. Teorema de existencia de modelo 101

by (simp only: linorder-class.max.cobounded1)then have pcp-seq C S k1 ⊆ pcp-seq C S (max k1 k2)by (rule pcp-seq-mono)

have k2 ≤ max k1 k2by (simp only: linorder-class.max.cobounded2)

then have pcp-seq C S k2 ⊆ pcp-seq C S (max k1 k2)by (rule pcp-seq-mono)

have S ′⊆ pcp-seq C S (max k1 k2)using 〈S ′⊆ pcp-seq C S k1〉 〈pcp-seq C S k1⊆ pcp-seq C S (max k1 k2)〉 by (rule subset-trans)

have F ∈ pcp-seq C S (max k1 k2)using 〈F ∈ pcp-seq C S k2〉 〈pcp-seq C S k2⊆ pcp-seq C S (max k1 k2)〉 by (rule rev-subsetD)

then have 1:insert F S ′⊆ pcp-seq C S (max k1 k2)using 〈S ′⊆ pcp-seq C S (max k1 k2)〉 by (simp only: insert-subset)

thus ?caseby (rule exI)

qed

Finalmente, su demostracion automatica en Isabelle/HOL es la siguiente.

lemma finite-pcp-lim-EX:assumes finite S ′

S ′⊆ pcp-lim C Sshows ∃ k. S ′⊆ pcp-seq C S k

using assmsproof(induction S ′ rule: finite-induct)case (insert F S ′)hence ∃ k. S ′⊆ pcp-seq C S k by fastthen guess k1 ..moreover obtain k2 where F ∈ pcp-seq C S k2by (meson pcp-lim-inserted-at-ex insert.prems insert-subset)

ultimately have insert F S ′⊆ pcp-seq C S (max k1 k2)by (meson pcp-seq-mono dual-order.trans insert-subset max.bounded-iff order-refl subsetCE)

thus ?case by blastqed simp

4.2 Teorema de existencia de modelo

En esta seccion demostraremos el teorema de existencia de modelo, que prueba que todoconjunto de formulas S perteneciente a una coleccion C que verifique la propiedad deconsistencia proposicional es satisfacible. Para probarlo, extenderemos la coleccion C

Page 102: Formalizacion´ del teorema de existencia de modelo en

102 Capıtulo 4. Teorema de existencia de modelo

a otra C ′ que tenga la propiedad de consistencia proposicional, sea cerrada bajo sub-conjuntos y sea de caracter finito. Pare ello, introduciremos distintos resultados sobrecolecciones C ′ con las caracterısticas anteriores. En primer lugar, probaremos que ellımite de la sucesion definida segun la definicion 4.1.1 a partir de C ′ pertenece a C ′.De hecho, probaremos que dicho lımite es un elemento maximal de la coleccion quelo define si esta es cerrada bajo subconjuntos y verifica la propiedad de consistenciaproposicional. Por otra parte demostraremos que el lımite es un conjunto de Hintikkasi esta definido a partir de una coleccion C ′ con las propiedades descritas. Por tanto,por el lema de Hintikka, en las condiciones anteriores el lımite es un conjunto satisfaci-ble. Finalmente, como S ∈ C pertenece tambien a la extension C ′, se verifica que estacontenido en el lımite de la sucesion definida segun la definicion 4.1.1 a partir de C ′ y S∈ C ′. Por tanto, quedara demostrada la satisfacibilidad del conjunto S al heredarla porcontencion del lımite, lo que prueba el teorema de existencia de modelo.

En primer lugar, probemos que si C es una coleccion que verifica la propiedad deconsistencia proposicional, es cerrada bajo subconjuntos y es de caracter finito, entoncesel lımite de toda sucesion de conjuntos de C segun la definicion 4.1.1 pertenece a C.

Lema 4.2.1 Sea C una coleccion de conjuntos que verifica la propiedad de consistencia proposi-cional, es cerrada bajo subconjuntos y es de caracter finito. Sea S ∈ C y {Sn} la sucesion deconjuntos de C a partir de S segun la definicion 4.1.1. Entonces, el lımite de la sucesion esta enC.

Demostracion: Por definicion, como C es de caracter finito, para todo conjunto sonequivalentes:

1. El conjunto pertenece a C.

2. Todo subconjunto finito suyo pertenece a C.

De este modo, para demostrar que el lımite de la sucesion {Sn} pertenece a C, bastaprobar que todo subconjunto finito suyo esta en C.

Sea S ′ un subconjunto finito del lımite de la sucesion. Por el lema 1.4.8, existe unk ∈ IN tal que S ′ ⊆ Sk. Por tanto, como Sk ∈ C para todo k ∈ IN y C es cerrada bajosubconjuntos, por definicion se tiene que S ′∈ C, como querıamos demostrar.

En Isabelle se formaliza y demuestra detalladamente como sigue.

lemmaassumes pcp C

S ∈ C

Page 103: Formalizacion´ del teorema de existencia de modelo en

4.2. Teorema de existencia de modelo 103

subset-closed Cfinite-character C

shows pcp-lim C S ∈ Cproof −have ∀ S. S ∈ C←→ (∀ S ′⊆ S. finite S ′−→ S ′∈ C)using assms(4) unfolding finite-character-def by this

then have FC1:pcp-lim C S ∈ C←→ (∀ S ′⊆ (pcp-lim C S). finite S ′−→ S ′∈ C)by (rule allE)

have SC:∀ S ∈ C. ∀ S ′⊆S. S ′∈ Cusing assms(3) unfolding subset-closed-def by this

have FC2:∀ S ′⊆ pcp-lim C S. finite S ′−→ S ′∈ Cproof (rule sallI)fix S ′ :: ′a formula setassume S ′⊆ pcp-lim C Sshow finite S ′−→ S ′∈ Cproof (rule impI)

assume finite S ′

then have EX:∃ k. S ′⊆ pcp-seq C S kusing 〈S ′⊆ pcp-lim C S〉 by (rule finite-pcp-lim-EX)

obtain k where S ′⊆ pcp-seq C S kusing EX by (rule exE)

have pcp-seq C S k ∈ Cusing assms(1) assms(2) by (rule pcp-seq-in)

have ∀ S ′⊆ (pcp-seq C S k). S ′∈ Cusing SC 〈pcp-seq C S k ∈ C〉 by (rule bspec)

thus S ′∈ Cusing 〈S ′⊆ pcp-seq C S k〉 by (rule sspec)

qedqedshow pcp-lim C S ∈ Cusing FC1 FC2 by (rule forw-subst)

qed

Por otra parte, podemos dar una prueba automatica del resultado.

lemma pcp-lim-in:assumes c: pcp Cand el: S ∈ Cand sc: subset-closed Cand fc: finite-character Cshows pcp-lim C S ∈ C (is ?cl ∈ C)

proof −

Page 104: Formalizacion´ del teorema de existencia de modelo en

104 Capıtulo 4. Teorema de existencia de modelo

from pcp-seq-in[OF c el, THEN allI] have ∀ n. pcp-seq C S n ∈ C .hence ∀m.

⋃ {pcp-seq C S n|n. n ≤ m} ∈ C unfolding pcp-seq-UN .have ∀ S ′⊆ ?cl. finite S ′−→ S ′∈ Cproof safefix S ′ :: ′a formula sethave pcp-seq C S (Suc (Max (to-nat ‘ S ′))) ⊆ pcp-lim C Susing pcp-seq-sub by blast

assume 〈finite S ′〉 〈S ′⊆ pcp-lim C S〉hence ∃ k. S ′⊆ pcp-seq C S kproof(induction S ′ rule: finite-induct)case (insert x S ′)hence ∃ k. S ′⊆ pcp-seq C S k by fastthen guess k1 ..moreover obtain k2 where x ∈ pcp-seq C S k2by (meson pcp-lim-inserted-at-ex insert.prems insert-subset)

ultimately have insert x S ′⊆ pcp-seq C S (max k1 k2)by (meson pcp-seq-mono dual-order.trans insert-subset max.bounded-iff order-refl sub-

setCE)thus ?case by blast

qed simpwith pcp-seq-in[OF c el] scshow S ′∈ C unfolding subset-closed-def by blast

qedthus ?cl ∈ C using fc unfolding finite-character-def by blast

qed

Probemos que, ademas, el lımite de las sucesion definida en 4.1.1 se trata de un ele-mento maximal de la coleccion que lo define si esta verifica la propiedad de consistenciaproposicional y es cerrada bajo subconjuntos.

Lema 4.2.2 Sea C una coleccion de conjuntos que verifica la propiedad de consistencia proposi-cional y es cerrada bajo subconjuntos, S un conjunto y {Sn} la sucesion de conjuntos de C apartir de S segun la definicion 4.1.1. Entonces, el lımite de la sucesion {Sn} es un elementomaximal de C.

Demostracion: Por definicion de elemento maximal, basta probar que para cualquierconjunto K ∈ C que contenga al lımite de la sucesion se tiene que K y el lımite coinciden.

La demostracion se realizara por reduccion al absurdo. Consideremos un conjuntoK ∈ C que contenga estrictamente al lımite de la sucesion {Sn}. De este modo, existeuna formula F tal que F ∈ K y F no esta en el lımite. Supongamos que F es la n-esimaformula segun la enumeracion de la definicion 4.1.1 utilizada para construir la sucesion.

Page 105: Formalizacion´ del teorema de existencia de modelo en

4.2. Teorema de existencia de modelo 105

Por un lado, hemos probado que todo elemento de la sucesion esta contenido enel lımite, luego en particular obtenemos que Sn+1 esta contenido en el lımite. De estemodo, como F no pertenece al lımite, es claro que F /∈ Sn+1. Ademas, {F} ∪ Sn /∈ C yaque, en caso contrario, por la definicion 4.1.1 de la sucesion obtendrıamos queSn+1 = {F} ∪ Sn, lo que contradice que F /∈ Sn+1.

Por otro lado, como Sn tambien esta contenida en el lımite que, a su vez, esta con-tenido en K, se obtiene por transitividad que Sn ⊆ K. Ademas, como F ∈ K, se verificaque {F} ∪ Sn ⊆ K. Como C es una coleccion cerrada bajo subconjuntos por hipotesis yK ∈ C, por definicion se tiene que {F} ∪ Sn ∈ C, llegando ası a una contradiccion con lodemostrado anteriormente.

Su formalizacion y prueba detallada en Isabelle/HOL se muestran a continuacion.

lemmaassumes pcp C

subset-closed CK ∈ Cpcp-lim C S ⊆ K

shows pcp-lim C S = Kproof (rule ccontr)

assume H:¬(pcp-lim C S = K)have CE:pcp-lim C S ⊆ K ∧ pcp-lim C S 6= Kusing assms(4) H by (rule conjI)

have pcp-lim C S ⊆ K ∧ pcp-lim C S 6= K←→ pcp-lim C S ⊂ Kby (simp only: psubset-eq)

then have pcp-lim C S ⊂ Kusing CE by (rule iffD1)

then have ∃ F. F ∈ (K − (pcp-lim C S))by (simp only: psubset-imp-ex-mem)

then have E:∃ F. F ∈ K ∧ F /∈ (pcp-lim C S)by (simp only: Diff-iff )

obtain F where F:F ∈ K ∧ F /∈ pcp-lim C Susing E by (rule exE)

have F ∈ Kusing F by (rule conjunct1)

have F /∈ pcp-lim C Susing F by (rule conjunct2)

have pcp-seq C S (Suc (to-nat F)) ⊆ pcp-lim C Sby (rule pcp-seq-sub)

then have F ∈ pcp-seq C S (Suc (to-nat F)) −→ F ∈ pcp-lim C S

Page 106: Formalizacion´ del teorema de existencia de modelo en

106 Capıtulo 4. Teorema de existencia de modelo

by (rule in-mono)then have 1:F /∈ pcp-seq C S (Suc (to-nat F))using 〈F /∈ pcp-lim C S〉 by (rule mt)

have 2: insert F (pcp-seq C S (to-nat F)) /∈ Cproof (rule ccontr)assume ¬(insert F (pcp-seq C S (to-nat F)) /∈ C)then have insert F (pcp-seq C S (to-nat F)) ∈ Cby (rule notnotD)

then have C:insert (from-nat (to-nat F)) (pcp-seq C S (to-nat F)) ∈ Cby (simp only: from-nat-to-nat)

have pcp-seq C S (Suc (to-nat F)) = (let Sn = pcp-seq C S (to-nat F);Sn1 = insert (from-nat (to-nat F)) Sn in if Sn1 ∈ C then Sn1 else Sn)

by (simp only: pcp-seq.simps(2))then have SucDef :pcp-seq C S (Suc (to-nat F)) = (if insert (from-nat (to-nat F)) (pcp-seq

C S (to-nat F)) ∈ Cthen insert (from-nat (to-nat F)) (pcp-seq C S (to-nat F)) else pcp-seq C S (to-nat F))

by (simp only: Let-def )then have pcp-seq C S (Suc (to-nat F)) = insert (from-nat (to-nat F)) (pcp-seq C S (to-nat

F))using C by (simp only: if-True)

then have pcp-seq C S (Suc (to-nat F)) = insert F (pcp-seq C S (to-nat F))by (simp only: from-nat-to-nat)

then have F ∈ pcp-seq C S (Suc (to-nat F))by (simp only: insertI1)

show Falseusing 〈F /∈ pcp-seq C S (Suc (to-nat F))〉 〈F ∈ pcp-seq C S (Suc (to-nat F))〉 by (rule notE)

qedhave pcp-seq C S (to-nat F) ⊆ pcp-lim C Sby (rule pcp-seq-sub)

then have pcp-seq C S (to-nat F) ⊆ Kusing assms(4) by (rule subset-trans)

then have insert F (pcp-seq C S (to-nat F)) ⊆ Kusing 〈F ∈ K〉 by (simp only: insert-subset)

have ∀ S ∈ C. ∀ s⊆S. s ∈ Cusing assms(2) by (simp only: subset-closed-def )

then have ∀ s ⊆ K. s ∈ Cusing assms(3) by (rule bspec)

then have 3:insert F (pcp-seq C S (to-nat F)) ∈ Cusing 〈insert F (pcp-seq C S (to-nat F)) ⊆ K〉 by (rule sspec)

show False

Page 107: Formalizacion´ del teorema de existencia de modelo en

4.2. Teorema de existencia de modelo 107

using 2 3 by (rule notE)qed

Analogamente a resultados anteriores, veamos su prueba automatica.

lemma cl-max:assumes c: pcp Cassumes sc: subset-closed Cassumes el: K ∈ Cassumes su: pcp-lim C S ⊆ Kshows pcp-lim C S = K (is ?e)

proof (rule ccontr)assume 〈¬?e〉with su have pcp-lim C S ⊂ K by simpthen obtain F where e: F ∈ K and ne: F /∈ pcp-lim C S by blastfrom ne have F /∈ pcp-seq C S (Suc (to-nat F)) using pcp-seq-sub by fasthence 1: insert F (pcp-seq C S (to-nat F)) /∈ C by (simp add: Let-def split: if-splits)have insert F (pcp-seq C S (to-nat F)) ⊆ K using pcp-seq-sub e su by blasthence insert F (pcp-seq C S (to-nat F)) ∈ C using scunfolding subset-closed-def using el by blast

with 1 show False ..qed

A continuacion mostremos un resultado sobre el lımite de la sucesion de 4.1.1 quees consecuencia de que dicho lımite sea un elemento maximal de la coleccion que lodefine si esta verifica la propiedad de consistencia proposicional y es cerrada bajo sub-conjuntos.

Corolario 4.2.3 Sea C una coleccion de conjuntos que verifica la propiedad de consistenciaproposicional y es cerrada bajo subconjuntos, S un conjunto, {Sn} la sucesion de conjuntosde C a partir de S segun la definicion 4.1.1 y F una formula proposicional. Entonces, si{F} ∪⋃∞

n=0 Sn ∈ C, se verifica que F ∈ ⋃∞n=0 Sn.

Demostracion: Como C es una coleccion que verifica la propiedad de consistencia proposi-cional y es cerrada bajo subconjuntos, se tiene que el lımite

⋃∞n=0 Sn es maximal en C.

Por lo tanto, si suponemos que {F} ∪ ⋃∞n=0 Sn ∈ C, como el lımite esta contenido en

dicho conjunto, se cumple que {F} ∪ ⋃∞n=0 Sn =

⋃∞n=0 Sn, luego F pertenece al lımite,

como querıamos demostrar.�

Veamos su formalizacion y prueba detallada en Isabelle/HOL.

lemma

Page 108: Formalizacion´ del teorema de existencia de modelo en

108 Capıtulo 4. Teorema de existencia de modelo

assumes pcp Cassumes subset-closed Cshows insert F (pcp-lim C S) ∈ C =⇒ F ∈ pcp-lim C S

proof −assume insert F (pcp-lim C S) ∈ Chave pcp-lim C S ⊆ insert F (pcp-lim C S)by (rule subset-insertI)

have pcp-lim C S = insert F (pcp-lim C S)using assms(1) assms(2) 〈insert F (pcp-lim C S) ∈ C〉 〈pcp-lim C S ⊆ insert F (pcp-lim C

S)〉 by (rule cl-max)then have insert F (pcp-lim C S) ⊆ pcp-lim C Sby (rule equalityD2)

then have F ∈ pcp-lim C S ∧ pcp-lim C S ⊆ pcp-lim C Sby (simp only: insert-subset)

thus F ∈ pcp-lim C Sby (rule conjunct1)

qed

Mostremos su demostracion automatica.

lemma cl-max ′:assumes c: pcp Cassumes sc: subset-closed Cshows insert F (pcp-lim C S) ∈ C =⇒ F ∈ pcp-lim C Susing cl-max[OF assms] by blast+

El siguiente resultado prueba que el lımite de la sucesion definida en 4.1.1 es unconjunto de Hintikka si la coleccion que lo define verifica la propiedad de consistenciaproposicional, es es cerrada bajo subconjuntos y es de caracter finito. Como consecuen-cia del lema de Hintikka, se trata en particular de un conjunto satisfacible.

Lema 4.2.4 Sea C una coleccion de conjuntos que verifica la propiedad de consistencia proposi-cional, es es cerrada bajo subconjuntos y es de caracter finito. Sea S ∈ C y {Sn} la sucesion deconjuntos de C a partir de S segun la definicion 4.1.1. Entonces, el lımite de la sucesion {Sn} esun conjunto de Hintikka.

Demostracion: Para facilitar la lectura, vamos a notar por LSC al lımite de la sucesion{Sn} descrita en el enunciado.

Por resultados anteriores, como C verifica la propiedad de consistencia proposi-cional, es es cerrada bajo subconjuntos y es de caracter finito, se tiene que LSC ∈ C. Enparticular, por verificar la propiedad de consistencia proposicional, por el lema de

Page 109: Formalizacion´ del teorema de existencia de modelo en

4.2. Teorema de existencia de modelo 109

caracterizacion de dicha propiedad mediante notacion uniforme, se cumplen las si-guientes condiciones para LSC:

• ⊥ /∈ LSC.

• Dada p una formula atomica cualquiera, no se tiene simultaneamente quep ∈ LSC y ¬ p ∈ LSC.

• Para toda formula de tipo α con componentes α1 y α2 tal que α pertenece a LSC, setiene que {α1,α2} ∪ LSC pertenece a C.

• Para toda formula de tipo β con componentes β1 y β2 tal que β pertenece a LSC, setiene que o bien {β1} ∪ LSC pertenece a C o bien {β2} ∪ LSC pertenece a C.

Veamos que LSC es un conjunto de Hintikka probando que cumple las condicionesdel lema de caracterizacion de los conjuntos de Hintikka mediante notacion uniforme,es decir, probaremos que LSC verifica:

• ⊥ /∈ LSC.

• Dada p una formula atomica cualquiera, no se tiene simultaneamente quep ∈ LSC y ¬ p ∈ LSC.

• Para toda formula de tipo α con componentes α1 y α2 se verifica que si la formulapertenece a LSC, entonces α1 y α2 tambien.

• Para toda formula de tipo β con componentes β1 y β2 se verifica que si la formulapertenece a LSC, entonces o bien β1 pertenece a LSC o bien β2 pertenece a LSC.

Observemos que las dos primeras condiciones coinciden con las obtenidas anterior-mente para LSC por el lema de caracterizacion de la propiedad de consistencia proposi-cional mediante notacion uniforme. Veamos que, en efecto, se cumplen el resto decondiciones.

En primer lugar, probemos que para una formula F de tipo α y componentes α1y α2 tal que F ∈ LSC se verifica que tanto α1 como α2 pertenecen a LSC. Por la terceracondicion obtenida anteriormente para LSC por el lema de caracterizacion de la propie-dad de consistencia proposicional mediante notacion uniforme, se cumple que{α1,α2} ∪ LSC ∈ C. Observemos que se verifica LSC ⊆ {α1,α2} ∪ LSC. De este modo,como C es una coleccion con la propiedad de consistencia proposicional y cerrada bajosubconjuntos, por el lema 4.2.2 se tiene que los conjuntos LSC y {α1,α2} ∪ LSC coinciden.Por tanto, es claro que α1 ∈ LSC y α2 ∈ LSC, como querıamos demostrar.

Page 110: Formalizacion´ del teorema de existencia de modelo en

110 Capıtulo 4. Teorema de existencia de modelo

Por ultimo, demostremos que para una formula F de tipo β y componentes β1 y β2tal que F ∈ LSC se verifica que o bien β1 ∈ LSC o bien β2 ∈ LSC. Por la cuarta condicionobtenida anteriormente para LSC por el lema de caracterizacion de la propiedad de con-sistencia proposicional mediante notacion uniforme, se cumple que o bien{β1} ∪ LSC ∈ C o bien {β2} ∪ LSC ∈ C. De este modo, si suponemos que {β1} ∪ LSC ∈ C,como C tiene la propiedad de consistencia proposicional y es cerrada bajo subconjuntos,por el corolario 4.2.3 se tiene que β1 ∈ LSC. Por tanto, se cumple que o bien β1 ∈ LSC obien β2 ∈ LSC. Si suponemos que {β2} ∪ LSC ∈ C, se observa facilmente que llegamos ala misma conclusion de manera analoga. Por lo tanto, queda probado el resultado.

Veamos su formalizacion y prueba detallada en Isabelle.

lemmaassumes pcp Cassumes subset-closed Cassumes finite-character Cassumes S ∈ Cshows Hintikka (pcp-lim C S)

proof (rule Hintikka-alt2)let ?cl = pcp-lim C Shave ?cl ∈ Cusing assms(1) assms(4) assms(2) assms(3) by (rule pcp-lim-in)

have (∀ S ∈ C.⊥ /∈ S∧ (∀ k. Atom k ∈ S −→ ¬ (Atom k) ∈ S −→ False)∧ (∀ F G H. Con F G H −→ F ∈ S −→ {G,H} ∪ S ∈ C)∧ (∀ F G H. Dis F G H −→ F ∈ S −→ {G} ∪ S ∈ C ∨ {H} ∪ S ∈ C))

using assms(1) by (rule pcp-alt1)then have d:⊥ /∈ ?cl∧ (∀ k. Atom k ∈ ?cl −→ ¬ (Atom k) ∈ ?cl −→ False)∧ (∀ F G H. Con F G H −→ F ∈ ?cl −→ {G,H} ∪ ?cl ∈ C)∧ (∀ F G H. Dis F G H −→ F ∈ ?cl −→ {G} ∪ ?cl ∈ C ∨ {H} ∪ ?cl ∈ C)

using 〈?cl ∈ C〉 by (rule bspec)then have H1:⊥ /∈ ?clby (rule conjunct1)

have H2:∀ k. Atom k ∈ ?cl −→ ¬ (Atom k) ∈ ?cl −→ Falseusing d by (iprover elim: conjunct2 conjunct1)

have Con:∀ F G H. Con F G H −→ F ∈ ?cl −→ {G,H} ∪ ?cl ∈ Cusing d by (iprover elim: conjunct2 conjunct1)

have H3:∀ F G H. Con F G H −→ F ∈ ?cl −→ G ∈ ?cl ∧ H ∈ ?clproof (rule allI)+

Page 111: Formalizacion´ del teorema de existencia de modelo en

4.2. Teorema de existencia de modelo 111

fix F G Hshow Con F G H −→ F ∈ ?cl −→ G ∈ ?cl ∧ H ∈ ?clproof (rule impI)+

assume Con F G Hassume F ∈ ?clhave Con F G H −→ F ∈ ?cl −→ {G,H} ∪ ?cl ∈ Cusing Con by (iprover elim: allE)

then have F ∈ ?cl −→ {G,H} ∪ ?cl ∈ Cusing 〈Con F G H〉 by (rule mp)

then have {G,H} ∪ ?cl ∈ Cusing 〈F ∈ ?cl〉 by (rule mp)

have (insert G (insert H ?cl)) = {G,H} ∪ ?clby (rule insertSetElem)

then have (insert G (insert H ?cl)) ∈ Cusing 〈{G,H} ∪ ?cl ∈ C〉 by (simp only: 〈(insert G (insert H ?cl)) = {G,H} ∪ ?cl〉)

have ?cl ⊆ insert H ?clby (rule subset-insertI)

then have ?cl ⊆ insert G (insert H ?cl)by (rule subset-insertI2)

have ?cl = insert G (insert H ?cl)using assms(1) assms(2) 〈insert G (insert H ?cl) ∈ C〉 〈?cl ⊆ insert G (insert H ?cl)〉 by

(rule cl-max)then have insert G (insert H ?cl) ⊆ ?clby (simp only: equalityD2)

then have G ∈ ?cl ∧ insert H ?cl ⊆ ?clby (simp only: insert-subset)

then have G ∈ ?clby (rule conjunct1)

have insert H ?cl ⊆ ?clusing 〈G ∈ ?cl ∧ insert H ?cl ⊆ ?cl〉 by (rule conjunct2)

then have H ∈ ?cl ∧ ?cl ⊆ ?clby (simp only: insert-subset)

then have H ∈ ?clby (rule conjunct1)

show G ∈ ?cl ∧ H ∈ ?clusing 〈G ∈ ?cl〉 〈H ∈ ?cl〉 by (rule conjI)

qedqedhave Dis:∀ F G H. Dis F G H −→ F ∈ ?cl −→ {G} ∪ ?cl ∈ C ∨ {H} ∪ ?cl ∈ Cusing d by (iprover elim: conjunct2 conjunct1)

Page 112: Formalizacion´ del teorema de existencia de modelo en

112 Capıtulo 4. Teorema de existencia de modelo

have H4:∀ F G H. Dis F G H −→ F ∈ ?cl −→ G ∈ ?cl ∨ H ∈ ?clproof (rule allI)+fix F G Hshow Dis F G H −→ F ∈ ?cl −→ G ∈ ?cl ∨ H ∈ ?clproof (rule impI)+

assume Dis F G Hassume F ∈ ?clhave Dis F G H −→ F ∈ ?cl −→ {G} ∪ ?cl ∈ C ∨ {H} ∪ ?cl ∈ Cusing Dis by (iprover elim: allE)

then have F ∈ ?cl −→ {G} ∪ ?cl ∈ C ∨ {H} ∪ ?cl ∈ Cusing 〈Dis F G H〉 by (rule mp)

then have {G} ∪ ?cl ∈ C ∨ {H} ∪ ?cl ∈ Cusing 〈F ∈ ?cl〉 by (rule mp)

thus G ∈ ?cl ∨ H ∈ ?clproof (rule disjE)assume {G} ∪ ?cl ∈ Chave insert G ?cl = {G} ∪ ?cl

by (rule insert-is-Un)have insert G ?cl ∈ Cusing 〈{G} ∪ ?cl ∈ C〉 by (simp only: 〈insert G ?cl = {G} ∪ ?cl〉)

have insert G ?cl ∈ C =⇒ G ∈ ?clusing assms(1) assms(2) by (rule cl-max ′)

then have G ∈ ?clby (simp only: 〈insert G ?cl ∈ C〉)

thus G ∈ ?cl ∨ H ∈ ?clby (rule disjI1)

nextassume {H} ∪ ?cl ∈ Chave insert H ?cl = {H} ∪ ?cl

by (rule insert-is-Un)have insert H ?cl ∈ Cusing 〈{H} ∪ ?cl ∈ C〉 by (simp only: 〈insert H ?cl = {H} ∪ ?cl〉)

have insert H ?cl ∈ C =⇒ H ∈ ?clusing assms(1) assms(2) by (rule cl-max ′)

then have H ∈ ?clby (simp only: 〈insert H ?cl ∈ C〉)

thus G ∈ ?cl ∨ H ∈ ?clby (rule disjI2)

qedqed

Page 113: Formalizacion´ del teorema de existencia de modelo en

4.2. Teorema de existencia de modelo 113

qedshow ⊥ /∈ ?cl ∧(∀ k. Atom k ∈ ?cl −→ ¬ (Atom k) ∈ ?cl −→ False) ∧(∀ F G H. Con F G H −→ F ∈ ?cl −→ G ∈ ?cl ∧ H ∈ ?cl) ∧(∀ F G H. Dis F G H −→ F ∈ ?cl −→ G ∈ ?cl ∨ H ∈ ?cl)using H1 H2 H3 H4 by (iprover intro: conjI)

qed

Del mismo modo, podemos probar el resultado de manera automatica como sigue.

lemma pcp-lim-Hintikka:assumes c: pcp Cassumes sc: subset-closed Cassumes fc: finite-character Cassumes el: S ∈ Cshows Hintikka (pcp-lim C S)

proof −let ?cl = pcp-lim C Shave ?cl ∈ C using pcp-lim-in[OF c el sc fc] .from c[unfolded pcp-alt, THEN bspec, OF this]have d: ⊥ /∈ ?clAtom k ∈ ?cl =⇒ ¬ (Atom k) ∈ ?cl =⇒ FalseCon F G H =⇒ F ∈ ?cl =⇒ insert G (insert H ?cl) ∈ CDis F G H =⇒ F ∈ ?cl =⇒ insert G ?cl ∈ C ∨ insert H ?cl ∈ Cfor k F G H by force+

with d(1,2) show Hintikka ?cl unfolding Hintikka-altusing c cl-max cl-max ′ d(4) sc by blast

qed

Finalmente, vamos a demostrar el teorema de existencia de modelo. Para ello preci-saremos de un resultado que indica que la satisfacibilidad de conjuntos de formulas sehereda por la contencion.

Lema 4.2.5 Todo subconjunto de un conjunto de formulas satisfacible es satisfacible.

Demostracion: Sea B un conjunto de formulas satisfacible y A ⊆ B. Veamos que A essatisfacible. Por definicion, como B es satisfacible, existe una interpretacion A que esmodelo de cada formula de B. Como A ⊆ B, en particular A es modelo de toda formulade A. Por tanto, A es satisfacible, ya que existe una interpretacion que es modelo detodas sus formulas.

Su prueba detallada en Isabelle/HOL es la siguiente.

Page 114: Formalizacion´ del teorema de existencia de modelo en

114 Capıtulo 4. Teorema de existencia de modelo

lemma sat-mono:assumes A ⊆ B

sat Bshows sat A

unfolding sat-defproof −have satB:∃A. ∀ F ∈ B. A |= Fusing assms(2) by (simp only: sat-def )

obtain A where ∀ F ∈ B. A |= Fusing satB by (rule exE)

have ∀ F ∈ A. A |= Fproof (rule ballI)fix Fassume F ∈ Ahave F ∈ A −→ F ∈ B

using assms(1) by (rule in-mono)then have F ∈ Busing 〈F ∈ A〉 by (rule mp)

show A |= Fusing 〈∀ F ∈ B. A |= F〉 〈F ∈ B〉 by (rule bspec)

qedthus ∃A. ∀ F ∈ A. A |= Fby (simp only: exI)

qed

De este modo, procedamos finalmente con la demostracion del teorema.

Teorema 4.2.6 (Teorema de existencia de modelo) Todo conjunto de formulas pertenecientea una coleccion que verifique la propiedad de consistencia proposicional es satisfacible.

Demostracion: Sea C una coleccion de conjuntos de formulas proposicionales que ve-rifique la propiedad de consistencia proposicional y S ∈ C. Vamos a probar que S essatisfacible.

En primer lugar, como C verifica la propiedad de consistencia proposicional, por ellema 3.0.3 podemos extenderla a una coleccion C ′ que tambien verifique la propiedady sea cerrada bajo subconjuntos. A su vez, por el lema 3.0.5, como la extension C ′ esuna coleccion con la propiedad de consistencia proposicional y cerrada bajo subcon-juntos, podemos extenderla a otra coleccion C ′′ que tambien verifica la propiedad deconsistencia proposicional y sea de caracter finito. De este modo, por la transitividadde la contencion, es claro que C ′′ es una extension de C, luego S ∈ C ′′ por hipotesis. Por

Page 115: Formalizacion´ del teorema de existencia de modelo en

4.2. Teorema de existencia de modelo 115

otro lado, por el lema 3.0.4, como C ′′ es de caracter finito, se tiene que es cerrada bajosubconjuntos.

En suma, C ′′es una extension de C que verifica la propiedad de consistencia proposi-cional, es cerrada bajo subconjuntos y es de caracter finito. Luego, por el lema 4.2.4, ellımite de la sucesion {Sn} de conjuntos de C ′′ a partir de S segun la definicion 4.1.1es un conjunto de Hintikka. Por tanto, por el lema de Hintikka, se trata de un conjuntosatisfacible.

Finalmente, puesto que para todo n ∈ IN se tiene que Sn esta contenido en el lımite,en particular el conjunto S0 esta contenido en el. Por definicion de la sucesion, dichoconjunto coincide con S. Por tanto, como S esta contenido en el lımite que es un conjuntosatisfacible, queda demostrada la satisfacibilidad de S.

Mostremos su formalizacion y demostracion detallada en Isabelle.

theoremfixes S :: ′a :: countable formula setassumes pcp Cassumes S ∈ Cshows sat S

proof −have pcp C =⇒ ∃C ′. C ⊆ C ′∧ pcp C ′∧ subset-closed C ′

by (rule ex1)then have E1:∃C ′. C ⊆ C ′∧ pcp C ′∧ subset-closed C ′

by (simp only: assms(1))obtain Ce ′where H1:C ⊆ Ce ′∧ pcp Ce ′∧ subset-closed Ce ′

using E1 by (rule exE)have C ⊆ Ce ′

using H1 by (rule conjunct1)have pcp Ce ′

using H1 by (iprover elim: conjunct2 conjunct1)have subset-closed Ce ′

using H1 by (iprover elim: conjunct2 conjunct1)have E2:∃Ce. Ce ′⊆ Ce ∧ pcp Ce ∧ finite-character Ce

using 〈pcp Ce ′〉 〈subset-closed Ce ′〉 by (rule ex3)obtain Ce where H2:Ce ′⊆ Ce ∧ pcp Ce ∧ finite-character Ce

using E2 by (rule exE)have Ce ′⊆ Ceusing H2 by (rule conjunct1)

then have Subset:C ⊆ Ceusing 〈C ⊆ Ce ′〉 by (simp only: subset-trans)

Page 116: Formalizacion´ del teorema de existencia de modelo en

116 Capıtulo 4. Teorema de existencia de modelo

have Pcp:pcp Ceusing H2 by (iprover elim: conjunct2 conjunct1)

have FC:finite-character Ceusing H2 by (iprover elim: conjunct2 conjunct1)

then have SC:subset-closed Ceby (rule ex2)

have S ∈ C −→ S ∈ Ceusing 〈C ⊆ Ce〉 by (rule in-mono)

then have S ∈ Ceusing assms(2) by (rule mp)

have Hintikka (pcp-lim Ce S)using Pcp SC FC 〈S ∈ Ce〉 by (rule pcp-lim-Hintikka)

then have sat (pcp-lim Ce S)by (rule Hintikkaslemma)

have pcp-seq Ce S 0 = Sby (simp only: pcp-seq.simps(1))

have pcp-seq Ce S 0 ⊆ pcp-lim Ce Sby (rule pcp-seq-sub)

then have S ⊆ pcp-lim Ce Sby (simp only: 〈pcp-seq Ce S 0 = S〉)

thus sat Susing 〈sat (pcp-lim Ce S)〉 by (rule sat-mono)

qed

Finalmente, demostremos el teorema de manera automatica.

theorem pcp-sat:fixes S :: ′a :: countable formula setassumes c: pcp Cassumes el: S ∈ Cshows sat S

proof −from c obtain Ce where

C ⊆ Ce pcp Ce subset-closed Ce finite-character Ceusing ex1[where ′a= ′a] ex2[where ′a= ′a] ex3[where ′a= ′a]

by (meson dual-order.trans ex2)have S ∈ Ce using 〈C ⊆ Ce〉 el ..with pcp-lim-Hintikka 〈pcp Ce〉 〈subset-closed Ce〉 〈finite-character Ce〉have Hintikka (pcp-lim Ce S) .with Hintikkaslemma have sat (pcp-lim Ce S) .moreover have S ⊆ pcp-lim Ce Susing pcp-seq.simps(1) pcp-seq-sub by fast

Page 117: Formalizacion´ del teorema de existencia de modelo en

4.3. Teorema de compacidad 117

ultimately show ?thesis unfolding sat-def by fastqed

4.3 Teorema de compacidad

En esta seccion vamos demostrar el teorema de compacidad para la logica proposicionalcomo consecuencia del teorema de existencia de modelo.

Teorema 4.3.1 (Teorema de compacidad) Todo conjunto de formulas finitamente satisfaciblees satisfacible.

Para su demostracion consideraremos la coleccion formada por los conjuntos deformulas finitamente satisfacibles. Probaremos que dicha coleccion verifica la propie-dad de consistencia proposicional y, por el teorema de existencia de modelo, todo conjuntoperteneciente a ella sera satisfacible, demostrando ası el teorema.

Mostremos previamente dos resultados sobre subconjuntos finitos que empleare-mos en la demostracion del teorema.

Lema 4.3.2 Sea S un conjunto finito tal que S ⊆ {a} ∪ B. Entonces, existe un conjunto finitoS ′⊆ B tal que o bien S = {a} ∪ S ′ o bien S = S ′.

Demostracion: La prueba se realiza considerando dos casos: a ∈ S o a /∈ S.

Por un lado, si consideramos que a ∈ S, basta tomar el conjunto S ′= S − {a}. Deeste modo, como S ⊆ {a} ∪ B, es claro que S ′ ⊆ B. Ademas, puesto que S es finito, setiene que S ′ tambien lo es. Finalmente, se observa facilmente que cumple que S = S ′ ∪{a}.

Por otro lado, supongamos que a /∈ S. En este caso, si tomamos S ′ = S se verificaque S ′⊆ B ya que S ⊆ {a} ∪ B y a /∈ S. Ademas, S ′ es finito por serlo S. Luego cumplelas condiciones del resultado, como querıamos demostrar.

Procedamos con la prueba detallada y formalizacion en Isabelle. Para ello, hemosutilizado el siguiente lema auxiliar.

lemma subexI [intro]: P A =⇒ A ⊆ B =⇒ ∃A⊆B. P Aby blast

De este modo, probemos detalladamente el resultado.

lemma finite-subset-insert1:

Page 118: Formalizacion´ del teorema de existencia de modelo en

118 Capıtulo 4. Teorema de existencia de modelo

assumes finite SS ⊆ insert a B

shows ∃ S ′⊆ B. finite S ′∧ (S = insert a S ′∨ S = S ′)proof (cases a ∈ S)assume a ∈ Sthen have S = insert a (S − {a})by (simp only: insert-Diff [THEN sym])

then have 1:S = insert a (S − {a}) ∨ S = S − {a}by (rule disjI1)

have 2:finite (S − {a})using assms(1) by (rule finite-Diff )

have 3:(S − {a}) ⊆ Busing assms(2) by (simp add: Diff-subset-conv)

have finite (S − {a}) ∧ (S = insert a (S − {a}) ∨ S = S − {a})using 2 1 by (rule conjI)

thus ?thesis using 3 by (rule subexI)nextassume a /∈ Sthen have 1:S ⊆ B

using assms(2) by blasthave 2:S = insert a S ∨ S = S

by (simp only: disjI1 simp-thms)have finite S ∧ (S = insert a S ∨ S = S)

using assms(1) 2 by (rule conjI)thus ?thesisusing 1 by (rule subexI)

qed

Veamos otro resultado sobre subconjuntos finitos que emplearemos en las demostra-ciones posteriores.

Lema 4.3.3 Sea S un conjunto finito tal que S⊆ {a,b} ∪ B. Entonces, existe un conjunto finitoS ′⊆ B tal que se verifica una de las condiciones siguientes: S = {a,b} ∪ S ′ o S = {a} ∪ S ′ o S= {b} ∪ S ′ o S = S ′.

Demostracion: La prueba se realiza considerando cuatro casos:

1. a ∈ S y b ∈ S.

2. a ∈ S y b /∈ S.

3. a /∈ S y b ∈ S.

Page 119: Formalizacion´ del teorema de existencia de modelo en

4.3. Teorema de compacidad 119

4. a /∈ S y b /∈ S.

En primer lugar, supongamos que a y b estan en S. En este caso, basta tomar elconjunto S ′= S − {a,b}. Como S ⊆ {a,b} ∪ B, es claro que S ′⊆ B. Ademas, como S esfinito, se tiene que S ′ tambien es finito. Por ultimo, verifica que S = {a,b} ∪ S ′, lo queprueba el resultado para este caso.

Supongamos ahora que a ∈ S y b /∈ S: considerando el conjunto S ′ = S − {a} setiene el resultado. Como S ⊆ {a,b} ∪ B y a ∈ S pero b /∈ S, es claro que S ′ ⊆ B. ComoS es finito, S ′ tambien lo es. Por ultimo, se tiene que S = {a} ∪ S ′, lo que verifica elresultado.

Consideremos el caso a /∈ S y b ∈ S. Basta tomar el conjunto S ′ = S − {b} y, demanera completamente analoga al caso anterior, se demuestra el resultado para dichocaso.

Finalmente, supongamos que a /∈ S y b /∈ S. Veamos que tomando el conjunto S ′=S se cumple el resultado. Como S ⊆ {a,b} ∪ B y ni a ni b estan en S, es claro que S ′⊆ B.Finalmente, como S es finito, es claro que S ′ tambien lo es. Por lo tanto, queda probadoel resultado.

Su formalizacion y prueba detallada en Isabelle/HOL son las siguientes.

lemma finite-subset-insert2:assumes finite S

S ⊆ {a,b} ∪ Bshows ∃ S ′⊆ B. finite S ′∧ (S = {a,b} ∪ S ′∨ S = {a} ∪ S ′∨ S = {b} ∪ S ′∨ S = S ′)

proof (cases a ∈ S ∨ b ∈ S)assume a ∈ S ∨ b ∈ Sthus ?thesisproof (rule disjE)assume a ∈ Sshow ?thesisproof (cases b ∈ S)

assume b ∈ Shave 1:S − {a,b} ⊆ Busing assms(2) by blast

have {a,b} ∪ S = Susing 〈a ∈ S〉 〈b ∈ S〉 by blast

then have S = {a,b} ∪ (S − {a,b})by blast

then have 2:S = {a,b} ∪ (S− {a,b}) ∨ S = {a} ∪ (S− {a,b}) ∨ S = {b} ∪ (S− {a,b})∨ S = (S − {a,b})

Page 120: Formalizacion´ del teorema de existencia de modelo en

120 Capıtulo 4. Teorema de existencia de modelo

by (iprover intro: disjI1)have finite (S − {a,b})using assms(1) by (rule finite-Diff )

then have finite (S − {a,b}) ∧ (S = {a,b} ∪ (S − {a,b}) ∨ S = {a} ∪ (S − {a,b}) ∨ S= {b} ∪ (S − {a,b}) ∨ S = (S − {a,b}))

using 2 by (rule conjI)thus ?thesisusing 1 by (rule subexI)

nextassume b /∈ Sthen have 1:S − {a} ⊆ Busing assms(2) by blast

have {a} ∪ S = Susing 〈a ∈ S〉 by blast

then have S = {a} ∪ (S − {a})by blast

then have 2:S = {a,b} ∪ (S − {a}) ∨ S = {a} ∪ (S − {a}) ∨ S = {b} ∪ (S − {a}) ∨S = (S − {a})

by (iprover intro: disjI1)have finite (S − {a})using assms(1) by (rule finite-Diff )then have finite (S − {a}) ∧ (S = {a,b} ∪ (S − {a}) ∨ S = {a} ∪ (S − {a}) ∨ S =

{b} ∪ (S − {a}) ∨ S = (S − {a}))using 2 by (rule conjI)

thus ?thesisusing 1 by (rule subexI)

qednextassume b ∈ Sshow ?thesisproof (cases a ∈ S)assume a ∈ Shave 1:S − {a,b} ⊆ B

using assms(2) by blasthave {a,b} ∪ S = S

using 〈a ∈ S〉 〈b ∈ S〉 by blastthen have S = {a,b} ∪ (S − {a,b})by blast

then have 2:S = {a,b} ∪ (S− {a,b}) ∨ S = {a} ∪ (S− {a,b}) ∨ S = {b} ∪ (S− {a,b})∨ S = (S − {a,b})

Page 121: Formalizacion´ del teorema de existencia de modelo en

4.3. Teorema de compacidad 121

by (iprover intro: disjI1)have finite (S − {a,b})using assms(1) by (rule finite-Diff )

then have finite (S − {a,b}) ∧ (S = {a,b} ∪ (S − {a,b}) ∨ S = {a} ∪ (S − {a,b}) ∨ S= {b} ∪ (S − {a,b}) ∨ S = (S − {a,b}))

using 2 by (rule conjI)thus ?thesisusing 1 by (rule subexI)

nextassume a /∈ Sthen have 1:S − {b} ⊆ Busing assms(2) by blast

have {b} ∪ S = Susing 〈b ∈ S〉 by blast

then have S = {b} ∪ (S − {b})by blast

then have 2:S = {a,b} ∪ (S − {b}) ∨ S = {a} ∪ (S − {b}) ∨ S = {b} ∪ (S − {b}) ∨S = (S − {b})

by (iprover intro: disjI1)have finite (S − {b})using assms(1) by (rule finite-Diff )

then have finite (S − {b}) ∧ (S = {a,b} ∪ (S − {b}) ∨ S = {a} ∪ (S − {b}) ∨ S ={b} ∪ (S − {b}) ∨ S = (S − {b}))

using 2 by (rule conjI)thus ?thesisusing 1 by (rule subexI)

qedqed

nextassume ¬(a ∈ S ∨ b ∈ S)then have a /∈ S ∧ b /∈ S

by (simp only: de-Morgan-disj simp-thms(8))then have 1:S ⊆ Busing assms(2) by blast

have 2:S = {a,b} ∪ S ∨ S = {a} ∪ S ∨ S = {b} ∪ S ∨ S = Sby (iprover intro: disjI1 simp-thms)

have finite S ∧ (S = {a,b} ∪ S ∨ S = {a} ∪ S ∨ S = {b} ∪ S ∨ S = S)using assms(1) 2 by (rule conjI)

thus ?thesisusing 1 by (rule subexI)

Page 122: Formalizacion´ del teorema de existencia de modelo en

122 Capıtulo 4. Teorema de existencia de modelo

qed

Una vez introducidos los resultados anteriores, procedamos con la prueba del Teo-rema de Compacidad.

Demostracion: Consideremos la coleccion C formada por los conjuntos de formulas fini-tamente satisfacibles. Recordemos que un conjunto de formulas es finitamente satisfa-cible si todo subconjunto finito suyo es satisfacible. Vamos a probar que dicha coleccionverifica la propiedad de consistencia proposicional y, por el teorema de existencia de mo-delo, quedara probado que todo conjunto de C es satisfacible, lo que demuestra el teo-rema.

Para probar que C verifica la propiedad de consistencia proposicional, por el lema2.0.2 de caracterizacion mediante notacion uniforme, basta demostrar que se verificanlas siguientes condiciones para todo conjunto W ∈ C:

• ⊥ /∈W.

• Dada p una formula atomica cualquiera, no se tiene simultaneamente quep ∈W y ¬ p ∈W.

• Para toda formula de tipo α con componentes α1 y α2 tal que α pertenece a W, setiene que {α1,α2} ∪W pertenece a C.

• Para toda formula de tipo β con componentes β1 y β2 tal que β pertenece a W, setiene que o bien {β1} ∪W pertenece a C o bien {β2} ∪W pertenece a C.

De este modo, consideremos un conjunto cualquiera W ∈ C y procedamos a probarcada una de las condiciones anteriores.

La primera condicion se demuestra por reduccion al absurdo. En efecto, si suponemosque ⊥ ∈ W, es claro que {⊥} es un subconjunto finito de W. Como W es un conjuntofinitamente satisfacible por pertenecer a C, se tiene por lo anterior que {⊥} es satisfaci-ble. De este modo, llegamos a una contradiccion pues, por definicion, no existe ningunainterpretacion que sea modelo de ⊥.

A continuacion probaremos que, si W ∈ C, entonces dada p una formula atomicacualquiera, no se tiene simultaneamente que p ∈W y ¬ p ∈W. Veamos dicho resultadopor reduccion al absurdo, suponiendo que tanto p como ¬ p estan en W. En este caso,{p,¬ p} serıa un subconjunto finito de W y, por ser W finitamente satisfacible ya queW ∈ C, obtendrıamos que {p,¬ p} es satisfacible. Sin embargo esto no es cierto yaque, en ese caso, existirıa una interpretacion que serıa modelo tanto de p como de ¬ p,llegando ası a una contradiccion.

Probemos ahora que dada una formula F de tipo α con componentes α1 y α2 talque F ∈W, se tiene que {α1,α2} ∪W pertenece a C. Por definicion de la coleccion, basta

Page 123: Formalizacion´ del teorema de existencia de modelo en

4.3. Teorema de compacidad 123

probar que {α1,α2} ∪W es finitamente satisfacible, es decir, que todo subconjunto finitosuyo es satisfacible. Consideremos un subconjunto finito S de {α1,α2} ∪ W. En estascondiciones, por el lema 4.3.3, existe un subconjunto finito W0 de W tal queS = {α1,α2} ∪ W0, S = {α1} ∪ W0, S = {α2} ∪ W0 o S = W0. Para probar que S essatisfacible en cada uno de estos posibles casos, basta demostrar que el conjunto{α1,α2,F} ∪W0 es satisfacible. De este modo, puesto que todas las opciones posibles deS estan contenidas en dicho conjunto, se tiene la satisfacibilidad de cada una de ellas.

Para probar que el conjunto {α1,α2,F} ∪ W0 es satisfacible en estas condiciones,demostremos que se verifica para cada caso de la formula F de tipo α:

1) F = G ∧ H, para ciertas formulas G y H: Observemos que, como W0 es un subcon-junto finito de W y F ∈W por hipotesis, tenemos que {F} ∪W0 es un subconjunto finitode W. Como W es finitamente satisfacible ya que pertenece a C, se tiene que {F} ∪ W0es satisfacible. Luego, por definicion, existe una interpretacion A que es modelo de to-das sus formulas y, en particular, A es modelo de F. Como F = G ∧ H, obtenemos pordefinicion del valor de una formula en una interpretacion que A es modelo de G y deH. En este caso, las componentes conjuntivas son α1 = G y α2 = H, luego A es modelode ambas componentes. Por lo tanto, A es modelo de todas las formulas del conjunto{α1,α2,F} ∪W0, lo que prueba que se trata de un conjunto satisfacible.

2) F = ¬(G ∨ H), para ciertas formulas G y H: Analogamente al caso anterior, obte-nemos que el conjunto {F} ∪W0 es satisfacible. Luego, por definicion, existe una inter-pretacion A que es modelo de todas sus formulas y, en particular, de F. Por definiciondel valor de una formula en una interpretacion, como F = ¬(G ∨ H), obtenemos queno es cierto que A sea modelo de G ∨ H. Aplicando de nuevo la definicion del valor deuna formula en una interpretacion, se obtiene que no es cierto que A se modelo de G ode H. Por las leyes de Morgan, obtenemos equivalentemente que A no es modelo de Gy A no es modelo de H. Por lo tanto, por el valor de una formula en una interpretacion,obtenemos que A es modelo de ¬ G y A es modelo de ¬ H. Como las componentesconjuntivas en este caso son α1 = ¬ G y α2 = ¬ H, es claro que A es modelo de α1 yde α2. Por lo tanto, la interpretacion A es modelo de todas las formulas del conjunto{α1,α2,F} ∪W0, lo que prueba por definicion que se trata de un conjunto satisfacible.

3) F = ¬(G −→ H), para ciertas formulas G y H: Como hemos visto que {F} ∪ W0es un conjunto satisfacible, existe una interpretacion A que es modelo de todas susformulas. En particular,A es modelo de F luego, por definicion del valor de una formulaen una interpretacion, es claro que A no es modelo de G −→ H. De nuevo por el valorde una formula en una interpretacion, obtenemos que no es cierto que si A es modelode G, entonces sea modelo de H. Equivalentemente, A es modelo de G y no es modelode H. Por lo tanto, por la definicion del valor de una formula en una interpretacion, seobtiene queA es modelo de G y de ¬H. Como en este caso las componentes conjuntivasson α1 = G y α2 = ¬H, es claro queA es modelo de α1 y de α2. Por lo tanto,A es modelo

Page 124: Formalizacion´ del teorema de existencia de modelo en

124 Capıtulo 4. Teorema de existencia de modelo

de todas las formulas del conjunto {α1,α2,F} ∪W0, probando ası su satisfacibilidad.

4) F = ¬(¬ G), para cierta formula G: Analogamente a los casos anteriores, se pruebaque existe una interpretacion A que es modelo de todas las formulas del conjunto{F} ∪W0 por ser este satisfacible. En particular,A es modelo de F luego, por definiciondel valor de una formula en una interpretacion, obtenemos que no es cierto que A noes modelo de G. Es decir, A es modelo de G y, como en este caso ambas componentesdisyuntivas son G, es claro que A es modelo de α1 y de α2. Por tanto, A es modelo detodas las formulas del conjunto {α1,α2,F} ∪W0, lo que prueba su satisfacibilidad.

Por lo tanto, {α1,α2,F} ∪ W0 es un conjunto satisfacible para todos los casos de laformula F de tipo α. De este modo, como el subconjunto finito S de {α1,α2} ∪ W esde la forma S = {α1,α2} ∪ W0, S = {α1} ∪ W0, S = {α2} ∪ W0 o S = W0, se pruebala satisfacibilidad de S para cada uno de los casos por estar contenidos en el conjuntosatisfacible {α1,α2,F} ∪ W0. Por lo tanto, {α1,α2} ∪ W es finitamente satisfacible y, pordefinicion de la coleccion C, pertenece a ella como querıamos demostrar.

Finalmente probemos que para toda formula F de tipo β con componentes β1 y β2tal que F ∈W, se tiene que o bien {β1} ∪W ∈ C o bien {β2} ∪W ∈ C. La demostracionse realizara por reduccion al absurdo, luego supongamos en estas condiciones que{β1} ∪W /∈ C y {β2} ∪W /∈ C.

En primer lugar, veamos que si {βi} ∪W /∈ C, entonces existe un subconjunto finitoWi de W tal que el conjunto {βi} ∪Wi no es satisfacible. En efecto, si {βi} ∪W /∈ C, pordefinicion de la coleccion C tenemos que {βi} ∪W no es finitamente satisfacible. Por lotanto, existe un subconjunto finito Wi

′ de {βi} ∪ W que no es satisfacible. Por el lema4.3.2, obtenemos que existe un subconjunto finito Wi de W tal que o bienWi′ = {βi} ∪ Wi o bien Wi

′ = Wi. En efecto, si Wi′ = {βi} ∪ Wi, como Wi

′ no essatisfacible, se obtiene el resultado para Wi. Por otro lado, supongamos queWi′ = Wi. Como Wi

′ no es satisfacible, entonces {βi} ∪ Wi tampoco es satisfacible yaque, en caso contrario, obtendrıamos que Wi = Wi

′ es satisfacible. Luego se verificatambien el resultado para Wi.

De este modo, como {β1} ∪ W /∈ C y {β2} ∪ W /∈ C, obtenemos que existen sub-conjuntos finitos W1 y W2 de W tales que los conjunto {β1} ∪ W1 y {β2} ∪ W2 no sonsatisfacibles. Consideremos el conjunto Wo = W1 ∪W2. Es claro que se tiene que{β1} ∪W1 ⊆ {β1,F} ∪Wo y que {β2} ∪W2 ⊆ {β2,F} ∪W0. Por lo tanto, los conjuntos{β1,F} ∪ Wo y {β2,F} ∪ Wo no son satisfacibles ya que, en caso contrario, {β1} ∪ W1 y{β2} ∪ W2 serıan satisfacibles. Para llegar a la contradiccion, basta probar que o bien{β1,F} ∪Wo es satisfacible o bien {β2,F} ∪Wo es satisfacible. Para ello, veamos que severifica el resultado para cada uno de los casos posibles formula de tipo β para F.

1) F = G ∨ H, para ciertas formulas G y H: Observemos que W0 = W1 ∪ W2 es unsubconjunto finito de W por ser W1 y W2 subconjuntos finitos de W. Ademas, como

Page 125: Formalizacion´ del teorema de existencia de modelo en

4.3. Teorema de compacidad 125

F ∈ W por hipotesis, tenemos que {F} ∪ W0 es un subconjunto finito de W. Como Wes finitamente satisfacible ya que pertenece a C, se tiene que {F} ∪ W0 es satisfacible.Luego, por definicion, existe una interpretacionA que es modelo de todas sus formulasy, en particular, A es modelo de F. Por definicion del valor de una formula en una in-terpretacion, obtenemos que o bien A es modelo de G o bien A es modelo de H. Comoen este caso las componentes disyuntivas son β1 = G y β2 = H, se tiene que o bien A esmodelo de β1 o bien A es modelo de β2. Por lo tanto, es claro que o bien A es modelode todas las formulas del conjunto {β1,F} ∪W0 o bien es modelo de todas las formulasde {β2,F} ∪W0. Luego, por definicion de conjunto satisfacible tenemos que o bien{β1,F} ∪ W0 es satisfacible o bien {β2,F} ∪ W0 es satisfacible, como querıamos de-mostrar.

2) F = G −→ H, para ciertas formulas G y H: Analogamente se tiene que el conjunto{F} ∪W0 es satisfacible, luego existe una interpretacion A que es modelo de todas susformulas. En particular, A es modelo de F y, por definicion del valor de una formulaen una interpretacion, se obtiene que si A es modelo de G, entonces es modelo de H.Equivalentemente, tenemos queA no es modelo de G oA es modelo de H. Por un lado,si suponemos que A no es modelo de G, por definicion obtenemos que A es modelode ¬ G. Como en este caso tenemos que β1 = ¬ G, es claro que A es modelo de β1. Portanto, es modelo de todas las formulas de {β1,F} ∪W0, luego es un conjunto satisfacibley se verifica el resultado para este caso. Por otro lado, si suponemos queA es modelo deH, como β2 = H, obtenemos queA es modelo de β2. Luego, analogamente,A es modelode toda formula de {β2,F} ∪W0, lo que prueba que se trata de un conjunto satisfaciblepor definicion, probando el resultado.

3) F = ¬(G ∧ H), para ciertas formulas G y H: Como {F} ∪ W0 es satisfacible, existeuna interpretacion A que es modelo de todas sus formulas y, en particular, de F. Luego,por definicion del valor de una formula en una interpretacion, obtenemos que A no esmodelo de G ∧ H. De nuevo por definicion, esto implica que no es cierto que A seamodelo de G y de H. Es decir, o bien A no es modelo de G o bien A no es modelo de H.Si suponemos que no es modelo de G, por definicion se obtiene que A es modelo de¬ G. Como en este caso la componente disyuntiva β1 es ¬ G, se deduce queA es modelode β1. Por tanto, A es modelo de todas las formulas del conjunto {β1,F} ∪ W0, por loque se demuestra que dicho conjunto es satisfacible, probando el resultado. Por otrolado, si suponemos que A no es modelo de H, se tiene que sı lo es de ¬ H. Como β2 es¬ H en este caso, obtenemos que A es modelo de β2. Luego A es modelo de todas lasformulas de {β2,F} ∪W0, demostrando ası que es un conjunto satisfacible. Por tanto, sedemuestra el resultado en ambos casos.

4) F = ¬(¬ G), para cierta formula G: Puesto que {F} ∪W0 es satisfacible, existe unainterpretacionAmodelo de todas sus formulas y, en particular, modelo de F. Luego, pordefinicion del valor de una formula en una interpretacion obtenemos que no es cierto

Page 126: Formalizacion´ del teorema de existencia de modelo en

126 Capıtulo 4. Teorema de existencia de modelo

que A no sea modelo de G, es decir, A es modelo de G. Como las componentes β1 y β2son ambas G en este caso, se obtiene que A es modelo suyo. En particular, lo es de β1,de modo que A es modelo de todas las formulas de {β1,F} ∪ W0, probando ası que essatisfacible. Por lo tanto, se verifica el resultado.

En conclusion, hemos probado que o bien {β1,F} ∪Wo es satisfacible o bien{β2,F} ∪ Wo es satisfacible. Por lo tanto, se tiene que no es cierto que ninguno de losdos conjuntos sea insatisfacible. Esto contradice lo demostrado anteriormente, llegandoası a una contradiccion que prueba por reduccion al absurdo la ultima condicion dellema 2.0.2. De este modo, queda probado que la coleccion formada por los conjuntos deformulas finitamente satisfacibles verifica la propiedad de consistencia proposicional y,por el teorema de existencia de modelo, todo conjunto perteneciente a ella es satisfacible, loque demuestra el teorema.

Procedamos con la demostracion detallada del Teorema de Compacidad en Isabelle/HOL.Para ello, definamos la coleccion de conjuntos finitamente satisfacibles en Isabelle/HOL.En adelante notaremos por C a dicha coleccion.

definition colecComp :: ( ′a formula set) setwhere colecComp: colecComp = {W. fin-sat W}

Para facilitar la demostracion introduciremos el siguiente lema auxiliar que pruebaque todo subconjunto finito de un conjunto perteneciente a la coleccion anterior es sa-tisfacible.

lemma colecComp-subset-finite:assumes W ∈ colecComp

Wo ⊆Wfinite Wo

shows sat Woproof −have ∀Wo ⊆W. finite Wo −→ sat Wousing assms(1) unfolding colecComp fin-sat-def by (rule CollectD)

then have finite Wo −→ sat Wousing 〈Wo ⊆W〉 by (rule sspec)

thus sat Wousing 〈finite Wo〉 by (rule mp)

qed

Para facilitar la comprension de la demostracion, mostraremos a continuacion ungrafo que estructura las relaciones de necesidad de los lemas auxiliares empleados.

Page 127: Formalizacion´ del teorema de existencia de modelo en

4.3. Teorema de compacidad 127

prop-Compactness(Teorema de Compacidad (4.3.1))

pcp-colecComp(C tiene la propiedad de consistencia proposicional)

pcp-colecComp-bot(⊥ /∈W)

not-sat-bot({⊥} es insatisfacible)

pcp-colecComp-atoms(Cond. formulas atomicas)

not-sat-atoms({p,¬ p} es insatisfacible)

pcp-colecComp-CON(Cond. formulas de tipo α)

pcp-colecComp-CON-sat(Resultado 1)

pcp-colecComp-CON-sat1pcp-colecComp-CON-sat2pcp-colecComp-CON-sat3pcp-colecComp-CON-sat4

pcp-colecComp-DIS(Cond. formulas de tipo β)

not-colecComp(Resultado 2)

sat-subset-ccontr(Los conjuntos que

contienen algunsubconjunto insatisfacible

son insatisfacibles)

pcp-colecComp-DIS-sat(Resultado 3)

pcp-colecComp-DIS-sat1pcp-colecComp-DIS-sat2pcp-colecComp-DIS-sat3pcp-colecComp-DIS-sat4

De este modo, el Teorema de Compacidad se demuestra aplicando el Teorema deExistencia de Modelo a la coleccion C. Por tanto, basta probar que la coleccion C verificala propiedad de consistencia proposicional (formalizado como pcp-colecComp), de modoque todo W ∈ C sera satisfacible. Para ello, por el lema 2.0.2, es suficiente probar lassiguientes condiciones dado un conjunto W ∈ C cualquiera:

1. ⊥ /∈W. (=⇒ formalizado como pcp-colecComp-sat)

2. Dada p una formula atomica cualquiera, no se tiene simultaneamente quep ∈W y ¬ p ∈W. (=⇒ formalizado como pcp-colecComp-atoms)

3. Para toda formula de tipo α con componentes α1 y α2 tal que α pertenece a W, setiene que {α1,α2} ∪W ∈ C. (=⇒ formalizado como pcp-colecComp-CON)

4. Para toda formula de tipo β con componentes β1 y β2 tal que β pertenece a W, setiene que o bien {β1} ∪W ∈ C o bien {β2} ∪W ∈ C.(=⇒ formalizado como pcp-colecComp-DIS)

A su vez, cada uno de los lemas auxiliares que prueban las condiciones anteriores pre-cisa de los siguientes lemas:

• pcp-colecComp-sat: Se prueba por reduccion al absurdo mediante el lema not-sat-botque demuestra la insatisfacibilidad del conjunto {⊥}.

• pcp-colecComp-atoms: Su demostracion es por reduccion al absurdo empleando ellema not-sat-atoms que prueba la insatisfacibilidad del conjunto {p,¬ p} para cualquierformula atomica p.

• pcp-colecComp-CON: Para su prueba, se precisa del resultado 1, formalizado comopcp-colecComp-CON-sat. Este demuestra que dados W ∈ C, F ∈ W una formula

Page 128: Formalizacion´ del teorema de existencia de modelo en

128 Capıtulo 4. Teorema de existencia de modelo

de tipo α con componentes α1 y α2 y W0 un subconjunto finito de W, se veri-fica que {α1,α2,F} ∪ W0 es satisfacible. Para probar dicho resultado se empleana su vez los lemas auxiliares pcp-colecComp-CON-sat1, pcp-colecComp-CON-sat2,pcp-colecComp-CON-sat3 y pcp-colecComp-CON-sat4 que demuestran el enunciadopara cada tipo de formula α.

• pcp-colecComp-DIS: La prueba se realizara por reduccion al absurdo. Para ello pre-cisa de dos resultados.

– Resultado 2: Dados W ∈ C y βi una formula cualquiera tal que{βi} ∪ W /∈ C, entonces existe un subconjunto finito Wi de W tal que el con-junto {βi} ∪ Wi no es satisfacible. En Isabelle ha sido formalizado comonot-colecComp. A su vez, ha precisado para su prueba del lema auxiliar sat-subset-ccontrque demuestra que todo conjunto de formulas que tenga un subconjunto in-satisfacible es tambien insatisfacible.

– Resultado 3: Dados W ∈ C, F una formula de tipo β con componentes β1 y β2tal que F ∈W y W0 un subconjunto finito de W, entonces se tiene que o bien{β1,F} ∪ W0 es satisfacible o bien {β2,F} ∪ W0 es satisfacible. En Isabelle seha formalizado como pcp-colecComp-DIS-sat. Para su prueba, ha precisado decuatro lemas auxiliares que prueban el resultado para cada caso de formulade tipo β: pcp-colecComp-DIS-sat1, pcp-colecComp-DIS-sat2, pcp-colecComp-DIS-sat3,pcp-colecComp-DIS-sat4.

Comencemos con las demostraciones de los lemas auxiliares empleados en la de-mostracion del teorema. Para probar que C verifica la propiedad de consistencia proposi-cional, dado un conjunto W ∈ C probaremos por separado que se verifican cada una delas condiciones del lema 2.0.2.

En primer lugar, veamos que⊥ /∈W si W ∈ C. Para ello, precisaremos del siguientelema auxiliar que prueba que el conjunto {⊥} no es satisfacible.

lemma not-sat-bot: ¬ sat {⊥}proof (rule ccontr)

assume ¬(¬sat{⊥ :: ′a formula})then have sat {⊥ :: ′a formula}by (rule notnotD)

then have Ex:∃A. ∀ F ∈ {⊥ :: ′a formula}. A |= Fby (simp only: sat-def )

obtain A where 1:∀ F ∈ {⊥ :: ′a formula}. A |= Fusing Ex by (rule exE)

have 2:⊥ ∈ {⊥:: ′a formula}by (simp only: singletonI)

Page 129: Formalizacion´ del teorema de existencia de modelo en

4.3. Teorema de compacidad 129

have A |= ⊥using 1 2 by (rule bspec)

thus Falseby (simp only: formula-semantics.simps(2))

qed

Por tanto, probemos que si W ∈ C, entonces ⊥ /∈W.

lemma pcp-colecComp-bot:assumes W ∈ colecCompshows ⊥ /∈W

proof (rule ccontr)assume ¬(⊥ /∈W)then have ⊥ ∈Wby (rule notnotD)

have {} ⊆Wby (simp only: empty-subsetI)

have ⊥ ∈W ∧ {} ⊆Wusing 〈⊥ ∈W〉 〈{} ⊆W〉 by (rule conjI)

then have {⊥} ⊆Wby (simp only: insert-subset)

have finite {⊥}by (simp only: finite.emptyI finite-insert)

have sat {⊥ :: ′a formula}using assms 〈{⊥} ⊆W〉 〈finite {⊥}〉 by (rule colecComp-subset-finite)

have ¬ sat {⊥ :: ′a formula}by (rule not-sat-bot)

then show Falseusing 〈sat {⊥ :: ′a formula}〉 by (rule notE)

qed

Por otro lado, vamos a probar que dado un conjunto W ∈ C y p una formula atomicacualquiera, no se tiene simultaneamente que p ∈ W y ¬ p ∈ W. Para ello, empleare-mos el siguiente lema auxiliar que prueba que el conjunto {p,¬ p} es insatisfacible paracualquier formula atomica p.

lemma not-sat-atoms: ¬ sat({Atom k, ¬ (Atom k)})proof (rule ccontr)

assume ¬ ¬ sat({Atom k, ¬ (Atom k)})then have sat({Atom k, ¬ (Atom k)})by (rule notnotD)

then have Sat:∃A. ∀ F ∈ {Atom k, ¬(Atom k)}. A |= Fby (simp only: sat-def )

Page 130: Formalizacion´ del teorema de existencia de modelo en

130 Capıtulo 4. Teorema de existencia de modelo

obtain A where H:∀ F ∈ {Atom k, ¬(Atom k)}. A |= Fusing Sat by (rule exE)

have Atom k ∈ {Atom k, ¬(Atom k)}by simp

have A |= Atom kusing H 〈Atom k ∈ {Atom k, ¬(Atom k)}〉 by (rule bspec)

have ¬(Atom k) ∈ {Atom k, ¬(Atom k)}by simp

have A |= ¬(Atom k)using H 〈¬(Atom k) ∈ {Atom k, ¬(Atom k)}〉 by (rule bspec)

then have ¬ A |= Atom kby (simp only: simp-thms(8) formula-semantics.simps(3))

thus Falseusing 〈A |= Atom k〉 by (rule notE)

qed

De este modo, podemos demostrar detalladamente la condicion: dados W ∈ C y puna formula atomica cualquiera, no se tiene simultaneamente que p ∈W y ¬ p ∈W.

lemma pcp-colecComp-atoms:assumes W ∈ colecCompshows ∀ k. Atom k ∈W −→ ¬ (Atom k) ∈W −→ False

proof (rule allI)fix kshow Atom k ∈W −→ ¬ (Atom k) ∈W −→ Falseproof (rule impI)+assume 1:Atom k ∈Wassume 2:¬ (Atom k) ∈Whave {} ⊆W

by (simp only: empty-subsetI)have Atom k ∈W ∧ {} ⊆Wusing 1 〈{} ⊆W〉 by (rule conjI)

then have {Atom k} ⊆Wby (simp only: insert-subset)

have ¬ (Atom k) ∈W ∧ {} ⊆Wusing 2 〈{} ⊆W〉 by (rule conjI)

then have {¬(Atom k)} ⊆Wby (simp only: insert-subset)

have {Atom k} ∪ {¬(Atom k)} ⊆Wusing 〈{Atom k} ⊆W〉 〈{¬(Atom k)} ⊆W〉 by (simp only: Un-least)

then have {Atom k, ¬(Atom k)} ⊆Wby simp

Page 131: Formalizacion´ del teorema de existencia de modelo en

4.3. Teorema de compacidad 131

have finite {Atom k, ¬(Atom k)}by blast

have sat ({Atom k, ¬(Atom k)})using assms 〈{Atom k, ¬(Atom k)} ⊆ W〉 〈finite {Atom k, ¬(Atom k)}〉 by (rule

colecComp-subset-finite)have ¬ sat ({Atom k, ¬(Atom k)})

by (rule not-sat-atoms)thus False

using 〈sat ({Atom k, ¬(Atom k)})〉 by (rule notE)qed

qed

Demostremos la tercera condicion del lema 2.0.2: dados W ∈ C y F una formula detipo α con componentes α1 y α2 tal que F ∈ W, se tiene que {α1,α2} ∪ W ∈ C. Paraprobar dicho resultado, emplearemos un lema auxiliar que demuestra que dado unsubconjunto finito W0 de W se tiene que {α1,α2,F} ∪ W0 es un conjunto satisfacible.Mostraremos la prueba para cada caso de formula de tipo α. Para ello, precisaremosdel siguiente lema auxiliar que demuestra que dado un conjunto W ∈ C, F una formulaperteneciente a W y W0 un subconjunto finito de W, entonces {F} ∪W0 es satisfacible.

lemma pcp-colecComp-elem-sat:assumes W ∈ colecComp

F ∈Wfinite WoWo ⊆W

shows sat ({F} ∪Wo)proof −have 1:insert F Wo = {F} ∪Woby (rule insert-is-Un)

have finite (insert F Wo)using assms(3) by (simp only: finite-insert)

then have finite ({F} ∪Wo)by (simp only: 1)

have F ∈W ∧Wo ⊆Wusing assms(2) assms(4) by (rule conjI)

then have insert F Wo ⊆Wby (simp only: insert-subset)

then have {F} ∪Wo ⊆Wby (simp only: 1)

show sat ({F} ∪Wo)using assms(1) 〈{F} ∪Wo ⊆W〉 〈finite ({F} ∪Wo)〉 by (rule colecComp-subset-finite)

qed

Page 132: Formalizacion´ del teorema de existencia de modelo en

132 Capıtulo 4. Teorema de existencia de modelo

De este modo, vamos a probar para cada caso de formula α que dados W ∈ C, F unaformula de tipo α con componentes α1 y α2 tal que F ∈ W y W0 un subconjunto finitode W, se verifica que {α1,α2,F} ∪W0 es satisfacible. Para ello, emplearemos el siguientelema auxiliar en Isabelle.

lemma ball-Un:assumes ∀ x ∈ A. P x∀ x ∈ B. P x

shows ∀ x ∈ (A ∪ B). P xusing assms by blast

En primer lugar, probemos que dados W ∈ C, una formula F = G ∧ H para ciertasformulas G y H tal que F ∈W y W0 un subconjunto finito de W, se verifica que{G,H,F} ∪W0 es satisfacible.

lemma pcp-colecComp-CON-sat1:assumes W ∈ colecComp

F = G ∧ HF ∈Wfinite WoWo ⊆W

shows sat ({G,H,F} ∪Wo)proof −have sat ({F} ∪Wo)using assms(1,3,4,5) by (rule pcp-colecComp-elem-sat)

have F ∈ {F} ∪Woby (simp add: insertI1)

have Ex1:∃A. ∀ F ∈ ({F} ∪Wo). A |= Fusing 〈sat ({F} ∪Wo)〉 by (simp only: sat-def )

obtain A where Forall1:∀ F ∈ ({F} ∪Wo). A |= Fusing Ex1 by (rule exE)

have A |= Fusing Forall1 〈F ∈ {F} ∪Wo〉 by (rule bspec)

then have A |= (G ∧ H)using assms(2) by (simp only: 〈A |= F〉)

then have A |= G ∧ A |= Hby (simp only: formula-semantics.simps(4))

then have A |= Gby (rule conjunct1)

then have 1:∀ F ∈ {G}. A |= Fby simp

have A |= H

Page 133: Formalizacion´ del teorema de existencia de modelo en

4.3. Teorema de compacidad 133

using 〈A |= G ∧ A |= H〉 by (rule conjunct2)then have 2:∀ F ∈ {H}. A |= Fby simp

have ∀ F ∈ ({G} ∪ {H}) ∪ ({F} ∪Wo). A |= Fusing Forall1 1 2 by (iprover intro: ball-Un)

then have ∀ F ∈ ({G,H,F} ∪Wo). A |= Fby simp

then have ∃A. ∀ F ∈ ({G,H,F} ∪Wo). A |= Fby (iprover intro: exI)

thus sat ({G,H,F} ∪Wo)by (simp only: sat-def )

qed

A continuacion veamos la prueba detallada del resultado para el segundo caso deformula de tipo α: dados W ∈ C, una formula F = ¬(G ∨ H) para ciertas formulas G yH tal que F ∈W y W0 un subconjunto finito de W, se verifica que {¬ G,¬ H,F} ∪W0 essatisfacible.

lemma pcp-colecComp-CON-sat2:assumes W ∈ colecComp

F = ¬(G ∨ H)F ∈Wfinite WoWo ⊆W

shows sat ({¬ G,¬ H,F} ∪Wo)proof −have sat ({F} ∪Wo)using assms(1,3,4,5) by (rule pcp-colecComp-elem-sat)

have F ∈ {F} ∪Woby (simp add: insertI1)

have Ex1:∃A. ∀ F ∈ ({F} ∪Wo). A |= Fusing 〈sat ({F} ∪Wo)〉 by (simp only: sat-def )

obtain A where Forall1:∀ F ∈ ({F} ∪Wo). A |= Fusing Ex1 by (rule exE)

have A |= Fusing Forall1 〈F ∈ {F} ∪Wo〉 by (rule bspec)

then have A |= ¬(G ∨ H)using assms(2) by (simp only: 〈A |= F〉)

then have ¬(A |= (G ∨ H))by (simp only: formula-semantics.simps(3) simp-thms(8))

then have ¬(A |= G ∨ A |= H)by (simp only: formula-semantics.simps(5) simp-thms(8))

Page 134: Formalizacion´ del teorema de existencia de modelo en

134 Capıtulo 4. Teorema de existencia de modelo

then have ¬ A |= G ∧ ¬ A |= Hby (simp only: de-Morgan-disj simp-thms(8))

then have A |= ¬ G ∧ A |= ¬ Hby (simp only: formula-semantics.simps(3) simp-thms(8))

then have A |= ¬ Gby (rule conjunct1)

then have 1:∀ F ∈ {¬ G}. A |= Fby simp

have A |= ¬ Husing 〈A |= ¬ G ∧ A |= ¬ H〉 by (rule conjunct2)

then have 2:∀ F ∈ {¬ H}. A |= Fby simp

have ∀ F ∈ ({¬ G} ∪ {¬ H}) ∪ ({F} ∪Wo). A |= Fusing Forall1 1 2 by (iprover intro: ball-Un)

then have ∀ F ∈ ({¬ G,¬ H, F} ∪Wo). A |= Fby simp

then have ∃A. ∀ F ∈ ({¬ G,¬ H,F} ∪Wo). A |= Fby (iprover intro: exI)

thus sat ({¬ G,¬ H,F} ∪Wo)by (simp only: sat-def )

qed

Probemos detalladamente el resultado para el tercer caso de formula de tipo α:dados W ∈ C, una formula F = ¬(G −→ H) para ciertas formulas G y H tal que F ∈ Wy W0 un subconjunto finito de W, se verifica que {G,¬ H,F} ∪W0 es satisfacible.

lemma pcp-colecComp-CON-sat3:assumes W ∈ colecComp

F = ¬ (G → H)F ∈Wfinite WoWo ⊆W

shows sat ({G,¬ H,F} ∪Wo)proof −have sat ({F} ∪Wo)using assms(1,3,4,5) by (rule pcp-colecComp-elem-sat)

have F ∈ {F} ∪Woby (simp add: insertI1)

have Ex1:∃A. ∀ F ∈ ({F} ∪Wo). A |= Fusing 〈sat ({F} ∪Wo)〉 by (simp only: sat-def )

obtain A where Forall1:∀ F ∈ ({F} ∪Wo). A |= Fusing Ex1 by (rule exE)

Page 135: Formalizacion´ del teorema de existencia de modelo en

4.3. Teorema de compacidad 135

have A |= Fusing Forall1 〈F ∈ {F} ∪Wo〉 by (rule bspec)

then have A |= ¬(G → H)using assms(2) by (simp only: 〈A |= F〉)

then have ¬(A |= (G → H))by (simp only: formula-semantics.simps(3) simp-thms(8))

then have ¬(A |= G −→ A |= H)by (simp only: formula-semantics.simps(6) simp-thms(8))

then have A |= G ∧ ¬ A |= Hby (simp only: not-imp simp-thms(8))

then have A |= G ∧ A |= ¬ Hby (simp only: formula-semantics.simps(3) simp-thms(8))

then have A |= Gby (rule conjunct1)

then have 1:∀ F ∈ {G}. A |= Fby simp

have A |= ¬ Husing 〈A |= G ∧ A |= ¬ H〉 by (rule conjunct2)

then have 2:∀ F ∈ {¬ H}. A |= Fby simp

have ∀ F ∈ ({G} ∪ {¬ H}) ∪ ({F} ∪Wo). A |= Fusing Forall1 1 2 by (iprover intro: ball-Un)

then have ∀ F ∈ {G,¬ H,F} ∪Wo. A |= Fby simp

then have ∃A. ∀ F ∈ ({G,¬ H,F} ∪Wo). A |= Fby (iprover intro: exI)

thus sat ({G,¬ H,F} ∪Wo)by (simp only: sat-def )

qed

Por ultimo probemos que dados W ∈ C, una formula F = ¬(¬ G) para ciertaformula G tal que F ∈ W y W0 un subconjunto finito de W, se verifica que {G,F} ∪W0 es satisfacible.

lemma pcp-colecComp-CON-sat4:assumes W ∈ colecComp

F = ¬ (¬ G)F ∈Wfinite WoWo ⊆W

shows sat ({G,F} ∪Wo)proof −

Page 136: Formalizacion´ del teorema de existencia de modelo en

136 Capıtulo 4. Teorema de existencia de modelo

have sat ({F} ∪Wo)using assms(1,3,4,5) by (rule pcp-colecComp-elem-sat)

have F ∈ {F} ∪Woby (simp add: insertI1)

have Ex1:∃A. ∀ F ∈ ({F} ∪Wo). A |= Fusing 〈sat ({F} ∪Wo)〉 by (simp only: sat-def )

obtain A where Forall1:∀ F ∈ ({F} ∪Wo). A |= Fusing Ex1 by (rule exE)

have A |= Fusing Forall1 〈F ∈ {F} ∪Wo〉 by (rule bspec)

then have A |= ¬(¬ G)using assms(2) by (simp only: 〈A |= F〉)

then have ¬ A |= ¬ Gby (simp only: formula-semantics.simps(3) simp-thms(8))

then have ¬ ¬A |= Gby (simp only: formula-semantics.simps(3) simp-thms(8))

then have A |= Gby (rule notnotD)

then have 1:∀ F ∈ {G}. A |= Fby simp

have ∀ F ∈ ({G}) ∪ ({F} ∪Wo). A |= Fusing Forall1 1 by (iprover intro: ball-Un)

then have ∀ F ∈ {G,F} ∪Wo. A |= Fby simp

then have ∃A. ∀ F ∈ ({G,F} ∪Wo). A |= Fby (iprover intro: exI)

thus sat ({G,F} ∪Wo)by (simp only: sat-def )

qed

Por tanto, por las pruebas detalladas de los casos anteriores, podemos demostrarque dados W ∈ C, F ∈ W una formula de tipo α con componentes α1 y α2 y W0 unsubconjunto finito de W, se verifica que {α1,α2,F} ∪W0 es satisfacible.

lemma pcp-colecComp-CON-sat:assumes W ∈ colecComp

Con F G HF ∈Wfinite WoWo ⊆W

shows sat ({G,H,F} ∪Wo)proof −

Page 137: Formalizacion´ del teorema de existencia de modelo en

4.3. Teorema de compacidad 137

have {G,H} ∪Wo ⊆ {G,H,F} ∪Woby blast

have F = G ∧ H ∨(∃ F1 G1. F = ¬ (F1 ∨ G1) ∧ G = ¬ F1 ∧ H = ¬ G1) ∨(∃H1. F = ¬ (G → H1) ∧ H = ¬ H1) ∨F = ¬ (¬ G) ∧ H = Gusing assms(2) by (simp only: con-dis-simps(1))

thus sat ({G,H,F} ∪Wo)proof (rule disjE)assume F = G ∧ Hshow sat ({G,H,F} ∪Wo)using assms(1) 〈F = G ∧ H〉 assms(3,4,5) by (rule pcp-colecComp-CON-sat1)

nextassume (∃ F1 G1. F = ¬ (F1 ∨ G1) ∧ G = ¬ F1 ∧ H = ¬ G1) ∨(∃H1. F = ¬ (G → H1) ∧ H = ¬ H1) ∨F = ¬ (¬ G) ∧ H = Gthus sat ({G,H,F} ∪Wo)proof (rule disjE)assume Ex2:∃ F1 G1. F = ¬ (F1 ∨ G1) ∧ G = ¬ F1 ∧ H = ¬ G1obtain F1 G1 where 2:F = ¬(F1 ∨ G1) ∧ G = ¬ F1 ∧ H = ¬ G1using Ex2 by (iprover elim: exE)

have G = ¬ F1using 2 by (iprover elim: conjunct1)

have H = ¬ G1using 2 by (iprover elim: conjunct2)

have F = ¬(F1 ∨ G1)using 2 by (rule conjunct1)

have sat ({¬ F1, ¬ G1, F} ∪Wo)using assms(1) 〈F = ¬(F1 ∨ G1)〉 assms(3,4,5) by (rule pcp-colecComp-CON-sat2)

thus sat ({G,H,F} ∪Wo)by (simp only: 〈G = ¬ F1〉 〈H = ¬ G1〉)

nextassume (∃H1. F = ¬ (G → H1) ∧ H = ¬ H1) ∨

F = ¬ (¬ G) ∧ H = Gthus sat ({G,H,F} ∪Wo)proof (rule disjE)assume Ex3:∃H1. F = ¬ (G → H1) ∧ H = ¬ H1obtain H1 where 3:F = ¬(G → H1) ∧ H = ¬ H1

using Ex3 by (rule exE)have H = ¬ H1

Page 138: Formalizacion´ del teorema de existencia de modelo en

138 Capıtulo 4. Teorema de existencia de modelo

using 3 by (rule conjunct2)have F = ¬(G → H1)using 3 by (rule conjunct1)

have sat ({G, ¬ H1, F} ∪Wo)using assms(1) 〈F = ¬(G → H1)〉 assms(3,4,5) by (rule pcp-colecComp-CON-sat3)

thus sat ({G,H,F} ∪Wo)by (simp only: 〈H = ¬ H1〉)

nextassume F = ¬ (¬ G) ∧ H = Gthen have H = Gby (rule conjunct2)

then have C4:{G,F} ∪Wo = {G,H,F} ∪Woby blast

have F = ¬ (¬ G)using 〈F = ¬ (¬ G) ∧ H = G〉 by (rule conjunct1)

have sat ({G,F} ∪Wo)using assms(1) 〈F = ¬(¬ G)〉 assms(3,4,5) by (rule pcp-colecComp-CON-sat4)

thus sat ({G,H,F} ∪Wo)by (simp only: C4)

qedqed

qedqed

Finalmente, con el resultado anterior, podemos probar la tercera condicion del lema2.0.2: dados W ∈ C y F una formula de tipo α con componentes α1 y α2 tal que F ∈W, setiene que {α1,α2} ∪W ∈ C.

lemma pcp-colecComp-CON:assumes W ∈ colecCompshows ∀ F G H. Con F G H −→ F ∈W −→ {G,H} ∪W ∈ colecComp

proof (rule allI)+fix F G Hshow Con F G H −→ F ∈W −→ {G,H} ∪W ∈ colecCompproof (rule impI)+assume Con F G Hassume F ∈Wshow {G,H} ∪W ∈ colecCompunfolding colecComp fin-sat-def

proof (rule CollectI)show ∀ S ⊆ {G,H} ∪W. finite S −→ sat Sproof (rule sallI)

Page 139: Formalizacion´ del teorema de existencia de modelo en

4.3. Teorema de compacidad 139

fix Sassume S ⊆ {G,H} ∪Wthen have S ⊆ {G} ∪ ({H} ∪W)

by blastshow finite S −→ sat Sproof (rule impI)

assume finite Shave Ex:∃Wo ⊆ W. finite Wo ∧ (S = {G,H} ∪ Wo ∨ S = {G} ∪ Wo ∨ S = {H} ∪

Wo ∨ S = Wo)using 〈finite S〉 〈S ⊆ {G,H} ∪W〉 by (rule finite-subset-insert2)

obtain Wo where Wo ⊆W and 1:finite Wo ∧ (S = {G,H} ∪Wo ∨ S = {G} ∪Wo ∨S = {H} ∪Wo ∨ S = Wo)

using Ex by (rule subexE)have finite Wousing 1 by (rule conjunct1)have sat ({G,H,F} ∪Wo)

using 〈W ∈ colecComp〉 〈Con F G H〉 〈F ∈ W〉 〈finite Wo〉 〈Wo ⊆ W〉 by (rulepcp-colecComp-CON-sat)

have S = {G,H} ∪Wo ∨ S = {G} ∪Wo ∨ S = {H} ∪Wo ∨ S = Wousing 1 by (rule conjunct2)

thus sat Sproof (rule disjE)assume S = {G,H} ∪Wothen have S ⊆ {G,H,F} ∪Woby blast

show sat Susing 〈sat({G,H,F} ∪Wo)〉 〈S ⊆ {G,H,F} ∪Wo〉 by (simp only: sat-mono)

nextassume S = {G} ∪Wo ∨ S = {H} ∪Wo ∨ S = Wothus sat Sproof (rule disjE)

assume S = {G} ∪Wothen have S ⊆ {G,H,F} ∪Woby blast

thus sat Susing 〈sat({G,H,F} ∪Wo)〉 by (rule sat-mono)

nextassume S = {H} ∪Wo ∨ S = Wothus sat Sproof (rule disjE)

Page 140: Formalizacion´ del teorema de existencia de modelo en

140 Capıtulo 4. Teorema de existencia de modelo

assume S = {H} ∪Wothen have S ⊆ {G,H,F} ∪Woby blast

thus sat Susing 〈sat({G,H,F} ∪Wo)〉 by (rule sat-mono)

nextassume S = Wothen have S ⊆ {G,H,F} ∪Woby (simp only: Un-upper2)

thus sat Susing 〈sat({G,H,F} ∪Wo)〉 by (rule sat-mono)

qedqed

qedqed

qedqed

qedqed

Por ultimo, probemos la cuarta condicion del lema 2.0.2: dados W ∈ C y F unaformula de tipo β con componentes β1 y β2 tal que F ∈W, se tiene que o bien{β1} ∪W ∈ C o bien {β2} ∪W ∈ C.

Por un lado, precisaremos para ello de un lema auxiliar que demuestre que dadoW ∈ C y βi una formula cualquiera tal que {βi} ∪ W /∈ C, entonces existe un subcon-junto finito Wi de W tal que el conjunto {βi} ∪ Wi no es satisfacible. A su vez, parasu demostracion emplearemos un lema que prueba que todo conjunto que contiene unsubconjunto insatisfacible es tambien insatisfacible.

lemma sat-subset-ccontr:assumes A ⊆ B¬ sat A

shows ¬ sat Bproof −

have A ⊆ B ∧ sat B −→ sat Ausing sat-mono by blast

then have ¬(A ⊆ B ∧ sat B)using assms(2) by (rule mt)

then have ¬(A ⊆ B) ∨ ¬(sat B)by (simp only: de-Morgan-conj)

thus ?thesis

Page 141: Formalizacion´ del teorema de existencia de modelo en

4.3. Teorema de compacidad 141

proof (rule disjE)assume ¬(A ⊆ B)thus ?thesisusing assms(1) by (rule notE)

nextassume ¬(sat B)thus ?thesis

by thisqed

qed

De este modo, podemos demostrar que dados W ∈ C y βi una formula cualquieratal que {βi} ∪W /∈ C, entonces existe un subconjunto finito Wi de W tal que el conjunto{βi} ∪WF no es satisfacible.

lemma not-colecComp:assumes W ∈ colecComp{Gi} ∪W /∈ colecComp

shows ∃Wi ⊆W. finite Wi ∧ ¬(sat ({Gi} ∪Wi))proof −have WCol:∀ S ′⊆W. finite S ′−→ sat S ′

using assms(1) unfolding colecComp fin-sat-def by (rule CollectD)have ¬(∀Wo ⊆ {Gi} ∪W. finite Wo −→ sat Wo)using assms(2) unfolding colecComp fin-sat-def by (simp only: mem-Collect-eq simp-thms(8))

then have ∃Wo ⊆ {Gi} ∪W. ¬(finite Wo −→ sat Wo)by (rule sall-simps-not-all)

then have Ex1:∃Wo ⊆ {Gi} ∪W. finite Wo ∧ ¬(sat Wo)by (simp only: not-imp)

obtain Wo where Wo ⊆ {Gi} ∪W and C1:finite Wo ∧ ¬(sat Wo)using Ex1 by (rule subexE)

have finite Wousing C1 by (rule conjunct1)

have ¬(sat Wo)using C1 by (rule conjunct2)

have Wo ⊆ insert Gi Wusing 〈Wo ⊆ {Gi} ∪W〉 by blast

have Ex2:∃Wo ′⊆W. finite Wo ′∧ (Wo = insert Gi Wo ′∨Wo = Wo ′)using 〈finite Wo〉 〈Wo ⊆ insert Gi W〉 by (rule finite-subset-insert1)

obtain Wo ′where Wo ′⊆W and C2:finite Wo ′∧ (Wo = {Gi} ∪Wo ′∨Wo = Wo ′)using Ex2 by blast

have finite Wo ′

using C2 by (rule conjunct1)

Page 142: Formalizacion´ del teorema de existencia de modelo en

142 Capıtulo 4. Teorema de existencia de modelo

have Wo = {Gi} ∪Wo ′∨Wo = Wo ′

using C2 by (rule conjunct2)thus ?thesisproof (rule disjE)assume Wo = {Gi} ∪Wo ′

then have ¬(sat ({Gi} ∪Wo ′))using 〈¬ sat Wo〉 by (simp only: 〈Wo = {Gi} ∪Wo ′〉 simp-thms(8))

have finite Wo ′∧ ¬(sat ({Gi} ∪Wo ′))using 〈finite Wo ′〉 〈¬(sat ({Gi} ∪Wo ′))〉 by (rule conjI)

thus ?thesisusing 〈Wo ′⊆W〉 by (rule subexI)

nextassume Wo = Wo ′

then have ¬ (sat Wo ′)using 〈¬ sat Wo〉 by (simp only: 〈Wo = Wo ′〉 simp-thms(8))

have Wo ′⊆ {Gi} ∪Wo ′

by blastthen have ¬ (sat ({Gi} ∪Wo ′))using 〈¬ (sat Wo ′)〉 by (rule sat-subset-ccontr)

have finite Wo ′∧ ¬(sat ({Gi} ∪Wo ′))using 〈finite Wo ′〉 〈¬(sat ({Gi} ∪Wo ′))〉 by (rule conjI)

thus ?thesisusing 〈Wo ′⊆W〉 by (rule subexI)

qedqed

Por otro lado, para demostrar la cuarta condicion del lema 2.0.2 que demuestra queC verifica la propiedad de consistencia proposicional, precisaremos de un lema auxiliarque prueba que dados W ∈ C, F una formula de tipo β y componentes β1 y β2 tal queF ∈ W y W0 un subconjunto finito de W, entonces se tiene que o bien {β1,F} ∪ W0 essatisfacible o bien {β2,F} ∪W0 es satisfacible. Vamos a probar que, en efecto, se tiene elresultado para cada tipo de formula β.

En primer lugar, probemos que dados W ∈ C, una formula F = G ∧ H para ciertasformulas G y H tal que F ∈W y W0 un subconjunto finito de W, entonces se tiene que obien {G,F} ∪W0 es satisfacible o bien {H,F} ∪W0 es satisfacible.

lemma pcp-colecComp-DIS-sat1:assumes W ∈ colecComp

F = G ∨ HF ∈Wfinite Wo

Page 143: Formalizacion´ del teorema de existencia de modelo en

4.3. Teorema de compacidad 143

Wo ⊆Wshows sat ({G,F} ∪Wo) ∨ sat ({H,F} ∪Wo)

proof −have sat ({F} ∪Wo)using assms(1,3,4,5) by (rule pcp-colecComp-elem-sat)

have F ∈ {F} ∪Woby simp

have Ex1:∃A. ∀ F ∈ ({F} ∪Wo). A |= Fusing 〈sat ({F} ∪Wo)〉 by (simp only: sat-def )

obtain A where Forall1:∀ F ∈ ({F} ∪Wo). A |= Fusing Ex1 by (rule exE)

have A |= Fusing Forall1 〈F ∈ {F} ∪Wo〉 by (rule bspec)

then have A |= (G ∨ H)using assms(2) by (simp only: 〈A |= F〉)

then have A |= G ∨ A |= Hby (simp only: formula-semantics.simps(5))

thus ?thesisproof (rule disjE)assume A |= Gthen have ∀ F ∈ {G}. A |= F

by simpthen have ∀ F ∈ ({G} ∪ ({F} ∪Wo)). A |= F

using Forall1 by (rule ball-Un)then have ∀ F ∈ {G,F} ∪Wo. A |= F

by simpthen have ∃A. ∀ F ∈ ({G,F} ∪Wo). A |= F

by (iprover intro: exI)then have sat ({G,F} ∪Wo)

by (simp only: sat-def )thus ?thesis

by (rule disjI1)nextassume A |= Hthen have ∀ F ∈ {H}. A |= F

by simpthen have ∀ F ∈ ({H} ∪ ({F} ∪Wo)). A |= F

using Forall1 by (rule ball-Un)then have ∀ F ∈ {H,F} ∪Wo. A |= F

by simp

Page 144: Formalizacion´ del teorema de existencia de modelo en

144 Capıtulo 4. Teorema de existencia de modelo

then have ∃A. ∀ F ∈ ({H,F} ∪Wo). A |= Fby (iprover intro: exI)

then have sat ({H,F} ∪Wo)by (simp only: sat-def )

thus ?thesisby (rule disjI2)

qedqed

El siguiente lema auxiliar demuestra que dados W ∈ C, una formula F = G −→ Hpara ciertas formulas G y H tal que F ∈W y W0 un subconjunto finito de W, entonces setiene que o bien {¬ G,F} ∪W0 es satisfacible o bien {H,F} ∪W0 es satisfacible.

lemma pcp-colecComp-DIS-sat2:assumes W ∈ colecComp

F = G → HF ∈Wfinite WoWo ⊆W

shows sat ({¬ G,F} ∪Wo) ∨ sat ({H,F} ∪Wo)proof −have sat ({F} ∪Wo)using assms(1,3,4,5) by (rule pcp-colecComp-elem-sat)

have F ∈ {F} ∪Woby simp

have Ex1:∃A. ∀ F ∈ ({F} ∪Wo). A |= Fusing 〈sat ({F} ∪Wo)〉 by (simp only: sat-def )

obtain A where Forall1:∀ F ∈ ({F} ∪Wo). A |= Fusing Ex1 by (rule exE)

have A |= Fusing Forall1 〈F ∈ {F} ∪Wo〉 by (rule bspec)

then have A |= (G → H)using assms(2) by (simp only: 〈A |= F〉)

then have A |= G −→ A |= Hby (simp only: formula-semantics.simps(6))

then have (¬(¬ A |= G)) −→ A |= Hby (simp only: not-not)

then have (¬ A |= G) ∨ A |= Hby (simp only: disj-imp)

thus ?thesisproof (rule disjE)assume ¬ A |= G

Page 145: Formalizacion´ del teorema de existencia de modelo en

4.3. Teorema de compacidad 145

then have A |= (¬ G)by (simp only: formula-semantics.simps(3) simp-thms(8))

then have ∀ F ∈ {¬ G}. A |= Fby simp

then have ∀ F ∈ ({¬ G} ∪ ({F} ∪Wo)). A |= Fusing Forall1 by (rule ball-Un)

then have ∀ F ∈ {¬ G,F} ∪Wo. A |= Fby simp

then have ∃A. ∀ F ∈ ({¬ G,F} ∪Wo). A |= Fby (iprover intro: exI)

then have sat ({¬ G,F} ∪Wo)by (simp only: sat-def )

thus ?thesisby (rule disjI1)

nextassume A |= Hthen have ∀ F ∈ {H}. A |= F

by simpthen have ∀ F ∈ ({H} ∪ ({F} ∪Wo)). A |= F

using Forall1 by (rule ball-Un)then have ∀ F ∈ {H,F} ∪Wo. A |= F

by simpthen have ∃A. ∀ F ∈ ({H,F} ∪Wo). A |= F

by (iprover intro: exI)then have sat ({H,F} ∪Wo)

by (simp only: sat-def )thus ?thesis

by (rule disjI2)qed

qed

Por otro lado probemos que dados W ∈ C, una formula F = ¬(G ∧ H) para ciertasformulas G y H tal que F ∈W y W0 un subconjunto finito de W, entonces se tiene que obien {¬ G,F} ∪W0 es satisfacible o bien {¬ H,F} ∪W0 es satisfacible.

lemma pcp-colecComp-DIS-sat3:assumes W ∈ colecComp

F = ¬ (G ∧ H)F ∈Wfinite WoWo ⊆W

shows sat ({¬ G,F} ∪Wo) ∨ sat ({¬ H,F} ∪Wo)

Page 146: Formalizacion´ del teorema de existencia de modelo en

146 Capıtulo 4. Teorema de existencia de modelo

proof −have sat ({F} ∪Wo)using assms(1,3,4,5) by (rule pcp-colecComp-elem-sat)

have F ∈ {F} ∪Woby simp

have Ex1:∃A. ∀ F ∈ ({F} ∪Wo). A |= Fusing 〈sat ({F} ∪Wo)〉 by (simp only: sat-def )

obtain A where Forall1:∀ F ∈ ({F} ∪Wo). A |= Fusing Ex1 by (rule exE)

have A |= Fusing Forall1 〈F ∈ {F} ∪Wo〉 by (rule bspec)

then have A |= ¬ (G ∧ H)using assms(2) by (simp only: 〈A |= F〉)

then have ¬ (A |= (G ∧ H))by (simp only: formula-semantics.simps(3) simp-thms(8))

then have ¬(A |= G ∧ A |= H)by (simp only: formula-semantics.simps(4) simp-thms(8))

then have ¬ (A |= G) ∨ ¬ (A |= H)by (simp only: de-Morgan-conj)

thus ?thesisproof (rule disjE)assume ¬ (A |= G)then have A |= ¬ Gby (simp only: formula-semantics.simps(3) simp-thms(8))

then have ∀ F ∈ {¬ G}. A |= Fby simp

then have ∀ F ∈ ({¬ G} ∪ ({F} ∪Wo)). A |= Fusing Forall1 by (rule ball-Un)

then have ∀ F ∈ {¬ G,F} ∪Wo. A |= Fby simp

then have ∃A. ∀ F ∈ ({¬ G,F} ∪Wo). A |= Fby (iprover intro: exI)

then have sat ({¬ G,F} ∪Wo)by (simp only: sat-def )

thus ?thesisby (rule disjI1)

nextassume ¬ (A |= H)then have A |= ¬ Hby (simp only: formula-semantics.simps(3) simp-thms(8))

Page 147: Formalizacion´ del teorema de existencia de modelo en

4.3. Teorema de compacidad 147

then have ∀ F ∈ {¬ H}. A |= Fby simp

then have ∀ F ∈ ({¬ H} ∪ ({F} ∪Wo)). A |= Fusing Forall1 by (rule ball-Un)

then have ∀ F ∈ {¬ H,F} ∪Wo. A |= Fby simp

then have ∃A. ∀ F ∈ ({¬ H,F} ∪Wo). A |= Fby (iprover intro: exI)

then have sat ({¬ H,F} ∪Wo)by (simp only: sat-def )

thus ?thesisby (rule disjI2)

qedqed

Por ultimo, probemos que dados W ∈ C, una formula F = ¬ (¬ G) para ciertaformula G tal que F ∈W y W0 un subconjunto finito de W, entonces se tiene que {G,F}∪W0 es satisfacible.

lemma pcp-colecComp-DIS-sat4:assumes W ∈ colecComp

F = ¬ (¬ G)F ∈Wfinite WoWo ⊆W

shows sat ({G,F} ∪Wo)proof −have sat ({F} ∪Wo)using assms(1,3,4,5) by (rule pcp-colecComp-elem-sat)

have F ∈ {F} ∪Woby simp

have Ex1:∃A. ∀ F ∈ ({F} ∪Wo). A |= Fusing 〈sat ({F} ∪Wo)〉 by (simp only: sat-def )

obtain A where Forall1:∀ F ∈ ({F} ∪Wo). A |= Fusing Ex1 by (rule exE)

have A |= Fusing Forall1 〈F ∈ {F} ∪Wo〉 by (rule bspec)

then have A |= ¬(¬ G)using assms(2) by (simp only: 〈A |= F〉)

then have ¬ A |= ¬ Gby (simp only: formula-semantics.simps(3) simp-thms(8))

then have ¬ ¬A |= G

Page 148: Formalizacion´ del teorema de existencia de modelo en

148 Capıtulo 4. Teorema de existencia de modelo

by (simp only: formula-semantics.simps(3) simp-thms(8))then have A |= Gby (rule notnotD)

then have ∀ F ∈ {G}. A |= Fby simp

then have ∀ F ∈ ({G} ∪ ({F} ∪Wo)). A |= Fusing Forall1 by (rule ball-Un)

then have ∀ F ∈ {G,F} ∪Wo. A |= Fby simp

then have ∃A. ∀ F ∈ ({G,F} ∪Wo). A |= Fby (iprover intro: exI)

thus ?thesisby (simp only: sat-def )

qed

De este modo, por los lemas anteriores para los distintos tipos de formula β, sedemuestra que dados W ∈ C, F una formula de tipo β con componentes β1 y β2 tal queF ∈ W y W0 un subconjunto finito de W, entonces se tiene que o bien {β1,F} ∪ W0 essatisfacible o bien {β2,F} ∪W0 es satisfacible.

lemma pcp-colecComp-DIS-sat:assumes W ∈ colecComp

Dis F G HF ∈Wfinite WoWo ⊆W

shows sat ({G,F} ∪Wo) ∨ sat ({H,F} ∪Wo)proof −have (F = G ∨ H ∨

(∃G1 H1. F = G1 → H1 ∧ G = ¬ G1 ∧ H = H1) ∨(∃G1 H1. F = ¬ (G1 ∧ H1) ∧ G = ¬ G1 ∧ H = ¬ H1) ∨F = ¬ (¬ G) ∧ H = G)

using assms(2) by (simp only: con-dis-simps(2))thus ?thesisproof (rule disjE)assume F = G ∨ Hshow sat ({G,F} ∪Wo) ∨ sat ({H,F} ∪Wo)

using assms(1) 〈F = G ∨ H〉 assms(3,4,5) by (rule pcp-colecComp-DIS-sat1)nextassume (∃G1 H1. F = G1 → H1 ∧ G = ¬ G1 ∧ H = H1) ∨(∃G1 H1. F = ¬ (G1 ∧ H1) ∧ G = ¬ G1 ∧ H = ¬ H1) ∨F = ¬ (¬ G) ∧ H = G

Page 149: Formalizacion´ del teorema de existencia de modelo en

4.3. Teorema de compacidad 149

thus ?thesisproof (rule disjE)assume Ex1:∃G1 H1. F = G1 → H1 ∧ G = ¬ G1 ∧ H = H1obtain G1 H1 where C1:F = G1 → H1 ∧ G = ¬ G1 ∧ H = H1using Ex1 by (iprover elim: exE)

have F = G1 → H1using C1 by (rule conjunct1)

have G = ¬ G1using C1 by (iprover elim: conjunct1)

have H = H1using C1 by (iprover elim: conjunct2)

have sat ({¬ G1,F} ∪Wo) ∨ sat ({H1,F} ∪Wo)using assms(1) 〈F = G1 → H1〉 assms(3,4,5) by (rule pcp-colecComp-DIS-sat2)

thus sat ({G, F} ∪Wo) ∨ sat ({H, F} ∪Wo)by (simp only: 〈G = ¬ G1〉 〈H = H1〉)

nextassume (∃G1 H1. F = ¬ (G1 ∧ H1) ∧ G = ¬ G1 ∧ H = ¬ H1) ∨F = ¬ (¬ G) ∧ H = G

thus ?thesisproof (rule disjE)assume Ex2:∃G1 H1. F = ¬ (G1 ∧ H1) ∧ G = ¬ G1 ∧ H = ¬ H1obtain G1 H1 where C2:F = ¬ (G1 ∧ H1) ∧ G = ¬ G1 ∧ H = ¬ H1

using Ex2 by (iprover elim: exE)have F = ¬ (G1 ∧ H1)using C2 by (rule conjunct1)

have G = ¬ G1using C2 by (iprover elim: conjunct1)

have H = ¬ H1using C2 by (iprover elim: conjunct2)

have sat ({¬ G1,F} ∪Wo) ∨ sat ({¬ H1,F} ∪Wo)using assms(1) 〈F = ¬ (G1 ∧ H1)〉 assms(3,4,5) by (rule pcp-colecComp-DIS-sat3)

thus sat ({G,F} ∪Wo) ∨ sat ({H,F} ∪Wo)by (simp only: 〈G = ¬ G1〉 〈H = ¬ H1〉)

nextassume F = ¬ (¬ G) ∧ H = Gthen have F = ¬ (¬ G)by (rule conjunct1)

have sat ({G,F} ∪Wo)using assms(1) 〈F = ¬ (¬ G)〉 assms(3,4,5) by (rule pcp-colecComp-DIS-sat4)

thus sat ({G,F} ∪Wo) ∨ sat ({H,F} ∪Wo)

Page 150: Formalizacion´ del teorema de existencia de modelo en

150 Capıtulo 4. Teorema de existencia de modelo

by (rule disjI1)qed

qedqed

qed

Finalmente, con los lemas auxiliares anteriores podemos demostrar detalladamentela cuarta condicion del lema 2.0.2: dados W ∈ C y F una formula de tipo β con compo-nentes β1 y β2 tal que F ∈W, se tiene que o bien {β1} ∪W ∈ C o bien{β2} ∪W ∈ C.

lemma pcp-colecComp-DIS:assumes W ∈ colecCompshows ∀ F G H. Dis F G H −→ F ∈W −→ {G} ∪W ∈ colecComp ∨ {H} ∪W ∈ colecComp

proof (rule allI)+fix F G Hshow Dis F G H −→ F ∈W −→ {G} ∪W ∈ colecComp ∨ {H} ∪W ∈ colecCompproof (rule impI)+assume Dis F G Hassume F ∈Wshow {G} ∪W ∈ colecComp ∨ {H} ∪W ∈ colecCompproof (rule ccontr)

assume ¬({G} ∪W ∈ colecComp ∨ {H} ∪W ∈ colecComp)then have C:{G} ∪W /∈ colecComp ∧ {H} ∪W /∈ colecCompby (simp only: de-Morgan-disj simp-thms(8))

then have {G} ∪W /∈ colecCompby (rule conjunct1)

have Ex1:∃Wo ⊆W. finite Wo ∧ ¬(sat ({G} ∪Wo))using assms 〈{G} ∪W /∈ colecComp〉 by (rule not-colecComp)

obtain W1 where W1 ⊆W and C1:finite W1 ∧ ¬(sat ({G} ∪W1))using Ex1 by (rule subexE)

have finite W1using C1 by (rule conjunct1)

have ¬(sat ({G} ∪W1))using C1 by (rule conjunct2)

have {H} ∪W /∈ colecCompusing C by (rule conjunct2)

have Ex2:∃Wo ⊆W. finite Wo ∧ ¬(sat ({H} ∪Wo))using assms 〈{H} ∪W /∈ colecComp〉 by (rule not-colecComp)

obtain W2 where W2 ⊆W and C2:finite W2 ∧ ¬(sat ({H} ∪W2))using Ex2 by (rule subexE)

have finite W2

Page 151: Formalizacion´ del teorema de existencia de modelo en

4.3. Teorema de compacidad 151

using C2 by (rule conjunct1)have ¬(sat ({H} ∪W2))using C2 by (rule conjunct2)

let ?Wo = W1 ∪W2have ?Wo ⊆Wusing 〈W1 ⊆W〉 〈W2 ⊆W〉 by (simp only: Un-least)

have finite ?Wousing 〈finite W1〉 〈finite W2〉 by (simp only: finite-Un)

have {G} ∪W1 ⊆ ({G} ∪W1) ∪W2by (simp only: Un-upper1)

then have {G} ∪W1 ⊆ {G} ∪ ?Woby (simp only: Un-assoc)

then have {G} ∪W1 ⊆ {G,F} ∪ ?Woby blast

then have 1:¬(sat({G,F} ∪ ?Wo))using 〈¬sat ({G} ∪W1)〉 by (rule sat-subset-ccontr)

have {H} ∪W2 ⊆ ({H} ∪W2) ∪W1by (simp only: Un-upper1)

then have {H} ∪W2 ⊆ {H} ∪ (W2 ∪W1)by (simp only: Un-assoc)

then have {H} ∪W2 ⊆ {H} ∪ ?Woby (simp only: Un-commute)

then have {H} ∪W2 ⊆ {H,F} ∪ ?Woby blast

then have 2:¬(sat({H,F} ∪ ?Wo))using 〈¬sat ({H} ∪W2)〉 by (rule sat-subset-ccontr)

have ¬ sat ({G,F} ∪ ?Wo) ∧ ¬ sat ({H,F} ∪ ?Wo)using 1 2 by (rule conjI)

have sat ({G,F} ∪ ?Wo) ∨ sat ({H,F} ∪ ?Wo)using assms(1) 〈Dis F G H〉 〈F∈W〉 〈finite ?Wo〉 〈?Wo⊆W〉 by (rule pcp-colecComp-DIS-sat)then have ¬¬(sat ({G,F} ∪ ?Wo) ∨ sat ({H,F} ∪ ?Wo))by (simp only: not-not)

then have ¬(¬(sat ({G,F} ∪ ?Wo)) ∧ ¬(sat ({H,F} ∪ ?Wo)))by (simp only: de-Morgan-disj simp-thms(8))

thus Falseusing 〈¬(sat ({G,F} ∪ ?Wo)) ∧ ¬(sat ({H,F} ∪ ?Wo))〉 by (rule notE)

qedqed

qed

En resumen, con los lemas pcp-colecComp-bot, pcp-colecComp-atoms, pcp-colecComp-CON

Page 152: Formalizacion´ del teorema de existencia de modelo en

152 Capıtulo 4. Teorema de existencia de modelo

y pcp-colecComp-DIS podemos probar de manera detallada que la coleccion C verifica lapropiedad de consistencia proposicional.

lemma pcp-colecComp: pcp colecCompproof (rule pcp-alt2)

show ∀W ∈ colecComp. ⊥ /∈W∧ (∀ k. Atom k ∈W −→ ¬ (Atom k) ∈W −→ False)∧ (∀ F G H. Con F G H −→ F ∈W −→ {G,H} ∪W ∈ colecComp)∧ (∀ F G H. Dis F G H −→ F ∈W −→ {G} ∪W ∈ colecComp ∨ {H} ∪W ∈ colecComp)

proof (rule ballI)fix Wassume H:W ∈ colecComphave C1:⊥ /∈Wusing H by (rule pcp-colecComp-bot)

have C2:∀ k. Atom k ∈W −→ ¬ (Atom k) ∈W −→ Falseusing H by (rule pcp-colecComp-atoms)

have C3:∀ F G H. Con F G H −→ F ∈W −→ {G,H} ∪W ∈ colecCompusing H by (rule pcp-colecComp-CON)have C4:∀ F G H. Dis F G H −→ F ∈ W −→ {G} ∪ W ∈ colecComp ∨ {H} ∪ W ∈

colecCompusing H by (rule pcp-colecComp-DIS)

show ⊥ /∈W∧ (∀ k. Atom k ∈W −→ ¬ (Atom k) ∈W −→ False)∧ (∀ F G H. Con F G H −→ F ∈W −→ {G,H} ∪W ∈ colecComp)∧ (∀ F G H. Dis F G H −→ F ∈ W −→ {G} ∪ W ∈ colecComp ∨ {H} ∪ W ∈

colecComp)using C1 C2 C3 C4 by (iprover intro: conjI)

qedqed

Finalmente, mostremos la demostracion del Teorema de Compacidad.

theorem prop-Compactness:fixes W :: ′a :: countable formula setassumes fin-sat Wshows sat W

proof (rule pcp-sat)show W ∈ colecComp

unfolding colecComp using assms unfolding fin-sat-def by (rule CollectI)show pcp colecCompby (simp only: pcp-colecComp)

qed

Page 153: Formalizacion´ del teorema de existencia de modelo en

4.3. Teorema de compacidad 153

Page 154: Formalizacion´ del teorema de existencia de modelo en

154 Capıtulo 4. Teorema de existencia de modelo

Page 155: Formalizacion´ del teorema de existencia de modelo en

Apendice A

Lemas de HOL usados

En este glosario se recoge la lista de los lemas y reglas usadas indicando la pagina dellibro de HOL donde se encuentran.

A.1 La base de logica de primer orden (1)

En Isabelle corresponde a la teorıa HOL.thy

• (p.35)

PQ

P −→ Q(impI)

• (p.35)(P −→ Q) ∧ P

Q(mp)

• (p.35) Let s f ≡ f s (Let-def )

• (p.36)a = b ∧ P b

P a(forw-subst)

• (p.36)P a ∧ a = b

P b(back-subst)

• (p.36)Q = P ∧ Q

P(iffD1)

155

Page 156: Formalizacion´ del teorema de existencia de modelo en

156 Apendice A. Lemas de HOL usados

• (p.37)

∀ x. P xP xR

R(allE)

• (p.38)¬ P ∧ P

R(notE)

• (p.38)

¬ QPQ

¬ P(contrapos-nn)

• (p.39)

P ∨ QPR

QR

R(disjE)

• (p.39)

PQ

QP

P = Q(iffI)

• (p.40)

∧x. P x

∀ x. P x(allI)

• (p.40)P x∃ x. P x

(exI)

• (p.40)

∃ x. P x∧

x.P xQ

Q(exE)

• (p.40)P ∧ QP ∧ Q

(conjI)

• (p.40)P ∧ Q

P(conjunct1)

• (p.40)P ∧ Q

Q(conjunct2)

• (p.41)P

P ∨ Q(disjI1)

Page 157: Formalizacion´ del teorema de existencia de modelo en

A.1. La base de logica de primer orden (1) 157

• (p.41)Q

P ∨ Q(disjI2)

• (p.41)

¬ PFalse

P(ccontr)

• (p.41)¬ ¬ P

P(notnotD)

• (p.49) (¬ ¬ P) = P

((¬ P) = (¬ Q)) = (P = Q)

(P 6= Q) = (P = (¬ Q))

(P ∨ ¬ P) = True

(¬ P ∨ P) = True

(x = x) = True

(¬ True) = False

(¬ False) = True

(¬ P) 6= P

P 6= (¬ P)

(True = P) = P

(P = True) = P

(False = P) = (¬ P)

(P = False) = (¬ P)

(True −→ P) = P

(False −→ P) = True

(P −→ True) = True

(P −→ P) = True

(P −→ False) = (¬ P)

(P −→ ¬ P) = (¬ P)

(P ∧ True) = P

(True ∧ P) = P

(P ∧ False) = False

(False ∧ P) = False

Page 158: Formalizacion´ del teorema de existencia de modelo en

158 Apendice A. Lemas de HOL usados

(P ∧ P) = P

(P ∧ P ∧ Q) = (P ∧ Q)

(P ∧ ¬ P) = False

(¬ P ∧ P) = False

(P ∨ True) = True

(True ∨ P) = True

(P ∨ False) = P

(False ∨ P) = P

(P ∨ P) = P

(P ∨ P ∨ Q) = (P ∨ Q)

(∀ x. P) = P

(∃ x. P) = P

∃ x. x = t

∃ x. t = x

(∃ x. x = t ∧ P x) = P t

(∃ x. t = x ∧ P x) = P t

(∀ x. x = t −→ P x) = P t

(∀ x. t = x −→ P x) = P t

(∀ x. x 6= t) = False

(∀ x. t 6= x) = False (simp-thms)

• (p.49) (¬ ¬ P) = P (not-not)

• (p.50) (A ∨ A) = A (disj-absorb)

• (p.50) (A ∧ A) = A (conj-absorb)

• (p.50) ((P ∧ Q) ∧ R) = (P ∧ Q ∧ R) (conj-assoc)

• (p.50) ((P ∨ Q) ∨ R) = (P ∨ Q ∨ R) (disj-assoc)

• (p.51) (¬ (P ∨ Q)) = (¬ P ∧ ¬ Q) (de-Morgan-disj)

• (p.51) (¬ (P ∧ Q)) = (¬ P ∨ ¬ Q) (de-Morgan-conj)

• (p.51) (¬ (P −→ Q)) = (P ∧ ¬ Q) (not-imp)

• (p.51) (P ∨ Q) = (¬ P −→ Q) (disj-imp)

Page 159: Formalizacion´ del teorema de existencia de modelo en

A.2. Teorıa de ordenes (3) 159

• (p.52) (if True then x else y) = x (if-True)

• (p.52) (if False then x else y) = y (if-False)

A.2 Teorıa de ordenes (3)

En Isabelle se corresponde con la teorıa Orderings.thy.

• (p.75) bot ≤ a (extremum)

• (p.76) x ≤ x (order-refl)

• (p.77)b ≤ a ∧ c ≤ b

c ≤ a(trans)

A.3 Teorıa de retıculos (5)

Los resultados expuestos a continuacion pertenecen a la teorıa de retıculos Lattices.thy.

• (p.140) a ≤ max a b (cobounded1)

• (p.140) b ≤ max a b (cobounded2)

• (p.140) (max b c ≤ a) = (b ≤ a ∧ c ≤ a) (bounded-iff )

A.4 Teorıa de conjuntos (6)

Los siguientes resultados corresponden a la teorıa de conjuntos Set.thy.

• (p.158) (a ∈ Collect P) = P a (mem-Collect-eq)

• (p.159)P a

a ∈ {x | P x}(CollectI)

Page 160: Formalizacion´ del teorema de existencia de modelo en

160 Apendice A. Lemas de HOL usados

• (p.159)a ∈ {x | P x}

P a(CollectD)

• (p.165)

∧x.

x ∈ AP x

∀ x∈A. P x(ballI)

• (p.165)(∀ x∈A. P x) ∧ x ∈ A

P x(bspec)

• (p.165)P x ∧ x ∈ A∃ x∈A. P x

(bexI)

• (p.166)

∃ x∈A. P x∧

x.x ∈ A ∧ P x

QQ

(bexE)

• (p.167)

∧x.

x ∈ Ax ∈ B

A ⊆ B(subsetI)

• (p.167)c ∈ A ∧ A ⊆ B

c ∈ B(rev-subsetD)

• (p.167)

A ⊆ Bc /∈ A

Pc ∈ B

PP

(subsetCE)

• (p.167)A ⊆ B ∧ c /∈ B

c /∈ A(contra-subsetD)

• (p.167) A ⊆ A (subset-refl)

• (p.168)A ⊆ B ∧ B ⊆ C

A ⊆ C(subset-trans)

• (p.168)A = BB ⊆ A

(equalityD2)

• (p.169) ∅ ⊆ A (empty-subsetI)

• (p.169) UNIV = {x | True} (UNIV-def )

Page 161: Formalizacion´ del teorema de existencia de modelo en

A.4. Teorıa de conjuntos (6) 161

• (p.169) x ∈ UNIV (UNIV-I)

• (p.169) Bex UNIV P = Ex P (bex-UNIV)

• (p.171) (c ∈ A ∪ B) = (c ∈ A ∨ c ∈ B) (Un-iff )

• (p.171)c ∈ A

c ∈ A ∪ B(UnI1)

• (p.171)c ∈ B

c ∈ A ∪ B(UnI2)

• (p.172) (c ∈ A − B) = (c ∈ A ∧ c /∈ B) (Diff-iff )

• (p.172) (a ∈ {b} ∪ A) = (a = b ∨ a ∈ A) (insert-iff )

• (p.172) a ∈ {a} ∪ B (insertI1)

• (p.173) a ∈ {a} (singletonI)

• (p.174) {x | x = a} = {a} (singleton-conv)

• (p.175)x ∈ A

f x ∈ f ‘ A(imageI)

• (p.175) f ‘ (A ∪ B) = f ‘ A ∪ f ‘ B (image-Un)

• (p.176) f ‘ ∅ = ∅ (image-empty)

• (p.176) f ‘ ({a} ∪ B) = {f a} ∪ f ‘ B (image-insert)

• (p.176) f ‘ {x | P x} = {f x | P x} (image-Collect)

• (p.178) (A ⊂ B) = (A ⊆ B ∧ A 6= B) (psubset-eq)

• (p.179)A ⊂ B

∃ b. b ∈ B − A(psubset-imp-ex-mem)

• (p.179) B ⊆ {a} ∪ B (subset-insertI)

• (p.179)A ⊆ B

A ⊆ {b} ∪ B(subset-insertI2)

• (p.179) A ⊆ A ∪ B (Un-upper1)

• (p.179) B ⊆ A ∪ B (Un-upper2)

Page 162: Formalizacion´ del teorema de existencia de modelo en

162 Apendice A. Lemas de HOL usados

• (p.179)A ⊆ C ∧ B ⊆ C

A ∪ B ⊆ C(Un-least)

• (p.180) (A − B ⊆ C) = (A ⊆ B ∪ C) (Diff-subset-conv)

• (p.180) {s | P} = (if P then UNIV else ∅) (Collect-const)

• (p.180) {x | P x ∨ Q x} = {x | P x} ∪ {x | Q x} (Collect-disj-eq)

• (p.181) {a} ∪ A = {a} ∪ A (insert-is-Un)

• (p.181)a ∈ A

{a} ∪ A = A(insert-absorb)

• (p.181) {x, x} ∪ A = {x} ∪ A (insert-absorb2)

• (p.181) {x, y} ∪ A = {y, x} ∪ A (insert-commute)

• (p.181) ({x} ∪ A ⊆ B) = (x ∈ B ∧ A ⊆ B) (insert-subset)

• (p.183) A ∪ B = B ∪ A (Un-commute)

• (p.183) A ∪ (B ∪ C) = B ∪ (A ∪ C) (Un-left-commute)

• (p.183) A ∪ B ∪ C = A ∪ (B ∪ C) (Un-assoc)

• (p.184) (A ∪ B ⊆ C) = (A ⊆ C ∧ B ⊆ C) (Un-subset-iff )

• (p.187) {a} ∪ (A − {a}) = {a} ∪ A (insert-Diff-single)

• (p.187)a ∈ A

{a} ∪ (A − {a}) = A(insert-Diff )

• (p.187) A ∪ (B − A) = A ∪ B (Un-Diff-cancel)

• (p.189) (∃ x∈A. P x ∧ Q) = ((∃ x∈A. P x) ∧ Q)

(∃ x∈A. P ∧ Q x) = (P ∧ (∃ x∈A. Q x))

(∃ x∈∅. P x) = False

(∃ x∈UNIV. P x) = (∃ x. P x)

(∃ x∈{a} ∪ B. P x) = (P a ∨ (∃ x∈B. P x))

(∃ x∈Collect Q. P x) = (∃ x. Q x ∧ P x)

(∃ x∈f ‘ A. P x) = (∃ x∈A. P (f x))

(¬ (∃ x∈A. P x)) = (∀ x∈A. ¬ P x) (bex-simps)

Page 163: Formalizacion´ del teorema de existencia de modelo en

A.5. Retıculos completos (10) 163

• (p.190)C ⊆ D

{a} ∪ C ⊆ {a} ∪ D(insert-mono)

• (p.190)A ⊆ B

x ∈ A −→ x ∈ B(in-mono)

• (p.197)A ⊆ B ∧ c ∈ A

c ∈ B(set-mp)

A.5 Retıculos completos (10)

En Isabelle corresponde a la teorıa Complete-Lattices.thy.

• (p.171) (b ∈ ⋃(B ‘ A)) = (∃ x∈A. b ∈ B x) (UN-iff )

• (p.241)B ∈ A

B ⊆⋃

A(Union-upper)

• (p.241)⋃

(A ∪ B) =⋃

A ∪ ⋃B (Union-Un-distrib)

A.6 Numeros naturales (15)

La teorıa de los numeros naturales en Isabelle se corresponde a la teorıa Nat.thy

• (p.360) (m ≤ Suc n) = (m ≤ n ∨ m = Suc n) (le-Suc-eq)

• (p.386)

∧n. f n ≤ f (Suc n) n ≤ n ′

f n ≤ f n ′(lift-Suc-mono-le)

Page 164: Formalizacion´ del teorema de existencia de modelo en

164 Apendice A. Lemas de HOL usados

A.7 Conjuntos finitos (17)

A continuacion se muestran resultados relativos a la teorıa Finite-Set.thy.

• (p.425) finite A (finite)

• (p.429) finite ({a} ∪ A) = finite A (finite-insert)

• (p.429)finite A

finite (A − B)(finite-Diff )

A.8 Retıculos condicionalmente completos (89)

El Isabelle se corresponde con la teorıa Conditionally-Complete-Lattices.thy.

• (p.1632) Sup {x} = x (cSup-singleton)

Page 165: Formalizacion´ del teorema de existencia de modelo en

Bibliografıa

[1] Jose A. Alonso. Temas de “Logica matematica y fundamentos (2018–19)”. Technicalreport, Univ. de Sevilla, 2019. En https://www.cs.us.es/∼jalonso/cursos/lmf-18/temas.php.

[2] Lawrence C. Paulson Computer Laboratory. Old Introduction to Isabelle. Tech-nical report, University of Cambridge, 2019. En https://isabelle.in.tum.de/website-Isabelle2019/dist/Isabelle2019/doc/intro.pdf.

[3] Christian Doczkal and Gert Smolka. Constructive Formalization of Classical ModalLogic. Technical report, 2011. En http://www.cs.ru.nl/∼spitters/coqw files/paper 1.pdf.

[4] Sofıa Santiago Fernandez. Elementos de logica formalizados en Isabelle/HOL. 2020.Trabajo Fin de Grado. En https://github.com/sofsanfer/TFG.

[5] M. Fitting. First-order Logic and Automated Theorem Proving. Graduate texts in com-puter science. Springer, 1996.

[6] L.T.F Gamut. Introduccion a la logica. Editorial Universitaria de Buenos Aires, 2002.

[7] John Harrison. An overview of automated reasoning. Technical report, 2014. Enhttps://www.cl.cam.ac.uk/∼jrh13/slides/lyon-03feb14/slides.pdf.

[8] Angeliki Koutsoukou-Argyraki. Formalising Mathematics -in praxis, 2019. Enhttps://www.researchgate.net/publication/334549483 formalising mathematis-in praxis a mathematician’s first experiences with isabellehol and the whyand how of getting started.

[9] Dr. Kevin P. Lee. A Guide to Writing Mathematics. En http://cc.kangwon.ac.kr/∼kimoon/me/me-132/math-writing.pdf.

[10] Julius Michaelis and Tobias Nipkow. Propositional Proof Systems. Technical report,2020. En https://www.isa-afp.org/browser info/current/AFP/PropositionalProof Systems/document.pdf.

165

Page 166: Formalizacion´ del teorema de existencia de modelo en

166 Bibliografıa

[11] Tobias Nipkow. What’s in Main, 2019. En https://isabelle.in.tum.de/website-Isabelle2019/dist/Isabelle2019/doc/main.pdf.

[12] R. M. Smullyan. First Order Logic. Springer–Verlag, 1968.

[13] Lawrence C. Paulson Tobias Nipkow and Markus Wenzel. Isabelle/HOL: A proofassistant for Higher–Order Logic. Lecture Notes in Computer Science, Vol. 2283,Springer–Verlag, 2019. En https://isabelle.in.tum.de/website-Isabelle2019/dist/Isabelle2019/doc/tutorial.pdf.

[14] Floris van Doorn. Propositional Calculus in Coq. Technical report, 2015. En https://arxiv.org/abs/1503.08744.

[15] Makarius Wenzel. The Isabelle/Isar Implementation, 2019. En https://isabelle.in.tum.de/website-Isabelle2019/dist/Isabelle2019/doc/implementation.pdf.

[16] Makarius Wenzel. The Isabelle/Isar Reference Manual, 2019. En https://isabelle.in.tum.de/website-Isabelle2019/dist/Isabelle2019/doc/isar-ref.pdf.