Libro Logica Uned 07

download Libro Logica Uned 07

If you can't read please download the document

Transcript of Libro Logica Uned 07

(Comentario Cuadro de texto http://www.ia.uned.es/asignaturas/logica4/libro-logi ca-07.pdf) Lgica Computacional Jos Luis FernndezVindel ngeles Manjarrs Riesco FranciscoJavier DezVegas Dpto. Inteligencia Artificial E.T.S.I. Informtica UNED 2007Presentacin Estos apuntessefacilitan como materialde estudiodela asignatura Lgica Computacion al, impartida por los autores en cuarto curso de Ingeniera Informtica en la UNED. Los alumnos de este curso encontrarn, en su grupo de tutorizacin en la Red, otros documentos con ejemplos, actividades, ampliaciones o exmenes previos resueltos. Los captulos 1-2y5-6 han sido desarrollados por Jos Luis FernndezVindel, el captulo3 por ngeles Manjarrs Riescoyel captulo4por FranciscoJavier DezVegas, todos ellos profesor es del Departamento de Inteligencia Artificial de la UNED. Agradeceramos sinceramente cualquier comunicacin sobre erratas as como sugerencias sobre los contenidosysuexposicin.En particularnos preocupacmo manteneruntonoexpositivoam igablesin renunciaral rigor: hastaqu puntofacilitar demostraciones formales(y dnde situarlas ), cmo reubicar ejemplosyejercicios para no entorpecerlaexposicin, etc. Estas aportaciones se estn canalizado a travs del grupo de tutorizacin en la Red. L a pgina www.ia.uned.asignaturas/logica4 resume los detallesde planificacinde este cursoyfacilitala direccin electrnica del grupo. Los autores UNED, Madrid,1de octubrede 2007 Sobre esta edicin 2007 Esta edicin, de Octubre de 2007, difiere de la utilizada el pasado curso 06-07 en dos puntos: 1. algunas actualizaciones menores en los apartados sobre el uso de los apuntes (presentacin, localizacin de ejercicios, direcciones de la asignatura, etc.) 2. una variacin sustancial en el captulo 6: se ha sustituido ntegramente su conteni do. El nuevo captulo6corresponde al contenido del artculo sobre lgica temporal CTL que sefacilit separadamente el pasado curso. Siel estudiante disponedelaversin impresapreviade estos apuntesydel citado artculo ,noes necesarioqueimprimaestanuevaversin. Cualquierdudapuede consultarseenlosForos habi litados en el grupo de tutorizacin telemtica.IIndice general Introduccin 1 Objetivosycontenidos .................................... 1 Motivacin para los alumnos de Ingeniera Informtica . . . . . . . . . . . . . . . . . . . 2 Bibliografa recomendada ................................... 3 Parte I. LGICA DE PREDICADOS 5 1 LGICA DE PROPOSICIONES 7 Resumen ............................................ 7 Objetivos ........................................... 7 Metodologa .......................................... 8 1.1 Sintaxis ......................................... 8 1.1.1 El lenguajedelaLgicade Proposiciones ................... 9 1.1.2 Sobrela estructura inductivadel lenguaje . . . . . . . . . . . . . . . . . . . 12 1.1.3 Derivacinde conceptos sintcticos ...................... 15 1.1.4 Eliminacinde parntesis ........................... 19 1.2 Semntica........................................ 20 1.2.1 Introduccin .................................. 20 1.2.2Valoresdeverdadde frmulas atmicas .................... 22 1.2.3 Semnticadelas conectivas .......................... 22 1.2.4 Valoresdeverdadde frmulas complejas . . . . . . . . . . . . . . . . . . . 2 4 1.2.5Tablasdeverdad ................................ 25 1.2.6Tautologasycontradicciones ......................... 26 1.3 Conceptos semnticos bsicos ............................. 26 1.3.1 Satisfacibilidad ................................. 26 1.3.2Validez ..................................... 291.3.3 Consecuencia.................................. 30 1.3.4 Equivalencia .................................. 36 1.4 Sistemas deductivos................................... 42 1.4.1 Deduccin natural ............................... 43 1.4.2 Resolucin ................................... 51 1.4.3Tablas semnticas................................ 57 Bibliografa complementaria ................................. 61 Actividadesyevaluacin ................................... 612 LGICA DE PREDICADOS DE PRIMER ORDEN 63 Resumen ............................................ 63 Objetivos ........................................... 63 Metodologa .......................................... 64 2.1 Sintaxis ......................................... 64 2.1.1 Lenguajesdeprimerorden ........................... 64 2.1.2 Induccinyrecursin .............................. 67 2.1.3 Subfrmulas .................................. 68 2.1.4 Eliminacinde parntesis ........................... 69 2.1.5Variableslibres ................................. 70 2.1.6 Sustituciones .................................. 72 2.2 Semntica........................................ 77 2.2.1 Introduccin .................................. 77 2.2.2 Interpretaciones................................. 79 2.2.3 Asignaciones.................................. 80 2.2.4 Satisfaccin ................................... 80 2.2.5 Ejemplosde interpretacin ........................... 81 2.2.6 Conceptos semnticos bsicos ......................... 87 2.3 Deduccin Natural ................................... 88 2.3.1 Consideracionesprevias ............................ 88 2.3.2 Cuantificadoresuniversales ........................... 90 2.3.3 Cuantificadoresexistenciales .......................... 922.4Tablas semnticas .................................... 93 2.4.1 Frmulas proposicionales ........................... 93 2.4.2 Notacin uniforme ............................... 94 2.4.3 Reglas de expansin . yd ........................... 96 2.4.4 Ejemplos .................................... 97 2.5 Resolucin ....................................... 100 2.5.1Formaprenexa ................................. 100 2.5.2 FuncionesdeSkolem .............................. 103 2.5.3Forma clausulada ................................ 104 2.5.4 Unificacin................................... 106 2.5.5 Resolucin ................................... 110 Bibliografa complementaria ................................. 112 Actividadesyevaluacin ................................... 112 Parte II. FORMALISMOSPARAPROGRAMACIN 113 3 PROGRAMACIN LGICA 115 Resumen ............................................ 115 Objetivos ........................................... 115 Metodologa .......................................... 115 3.1 Cmo interpretar una frmula lgica como un programa . . . . . . . . . . . . . . . 116 3.1.1 Declaracin de programa versus algoritmo de solucin . . . . . . . . . . . . 1 16 3.1.2 La resolucin como algoritmo para la solucin de problemas . . . . . . . . . 1 19 3.1.3 Programacin lgica versus programacin algortmica . . . . . . . . . . . . 121 3.2 Formalismo lgico para la representacin de problemas . . . . . . . . . . . . . . . . 123 IV3.3 ResolucinSLD..................................... 125 3.4 El lenguajePROLOG .................................. 128 3.4.1 Definicinde predicados recursivos.Reglasde computacinybsqueda. . . 128 3.4.2 Usos procedimentalesdelPROLOG ...................... 133 3.4.3 Ventajas de la programacin en PROLOG. Principales aplicaciones. . . . . . 1 40 Bibliografa complementaria ................................. 142 Actividadesyevaluacin ................................... 143 4 VERIFICACIN DE PROGRAMAS SECUENCIALES 145 Resumen ............................................ 145 Objetivos ........................................... 145 Metodologa .......................................... 145 4.1 Introduccin....................................... 145 4.2 Sintaxis ......................................... 146 4.2.1 Un micro-lenguajede programacin ...................... 146 4.2.2 Especificacinde estados ............................ 147 4.2.3TernasdeHoare ................................ 147 4.2.4 Variablesde programayvariables lgicas . . . . . . . . . . . . . . . . . . . 148 4.3 Semnticadelos programas .............................. 149 4.3.1 Correccintotal................................. 149 4.3.2 Correccinparcial ............................... 150 4.4 El sistema deductivodeHoare ............................. 151 4.4.1 Reglade asignacin .............................. 151 4.4.2 Regladel condicional .............................. 152 4.4.3 Regladel condicional modificada ....................... 1534.4.4 Regladelbucle ................................. 154 4.4.5 Reglade composicin ............................. 155 4.4.6 Reglade encadenamiento ........................... 156 4.5Verificacinparcialde programas ........................... 156 4.5.1 Composicinyencadenamiento ........................ 156 4.5.2Tratamientodelas asignaciones ........................ 157 4.5.3 Tratamiento de las instrucciones condicionales . . . . . . . . . . . . . . . . 158 4.5.4Tratamientodelosbucles............................ 160 4.6Verificacintotalde programas ............................. 162 4.7 Comentarios adicionales ................................ 163 4.7.1 Consistenciaycompletitud ........................... 163 4.7.2 Otras cuestiones ................................ 164 Bibliografa complementaria ................................. 164 Actividadesyevaluacin ................................... 164 Parte III. LGICA MODAL 165 5 FUNDAMENTOS DE LGICA MODAL 167 Resumen ............................................ 167 Objetivos ........................................... 167 Metodologa .......................................... 168 5.1 Perspectiva ....................................... 168 V5.1.1 Estructuras ................................... 168 5.1.2 Frmulas .................................... 169 5.1.3 Modelos adecuados ............................... 170 5.2 Estructuras relacionales ................................. 171 5.2.1 Sistemasde transiciones etiquetadas ...................... 171 5.2.2 Propiedadesdeuna relacin binaria ...................... 172 5.2.3 Cierres ..................................... 174 5.3 Lgica monomodal ................................... 175 5.3.1 Lgicamodalbsica .............................. 175 5.3.2Teoradela correspondencia .......................... 191 5.3.3 Lgicas normales ................................ 193 5.4 Lgicas polimodales .................................. 195 5.4.1 Sintaxis..................................... 195 5.4.2 Semantica.................................... 196 5.4.3 Lgica temporal bsica ............................. 197 5.4.4 Lgica epistmica ............................... 199 Bibliografa complementaria ................................. 200 Actividadesyevaluacin ................................... 200 6 Lgica ModalTemporal 201 6.1 Introduccin....................................... 201 6.1.1 Diseode sistemas ............................... 201 6.1.2 Propiedadesdeun diseo ............................ 2026.1.3 Verificacinde las propiedadesde un diseo . . . . . . . . . . . . . . . . . 2 02 6.2 CTL: Sintaxis ...................................... 203 6.3 CTL: semntica ..................................... 204 6.3.1 Introduccin informal ............................. 204 6.3.2 Definicindela semnticadeCTL....................... 206 6.3.3 Expresinde propiedadesenCTL ....................... 207 6.3.4 Equivalencias bsicas .............................. 208 6.4VerificacinCTL:unprimer algoritmo ......................... 209 6.4.1 Frmulassin operadores temporales ...................... 209 6.4.2 Frmulascon operadores temporales...................... 210 6.4.3 Pseudocdigo.................................. 212 6.5 Consideraciones finales ................................. 212 Bibliografa 215 VIndice de figuras 1 Dependencia conceptual entrelos temas. ........................ 1 1.1 rboles sintcticos: presentacin ............................ 10 1.2 rbol sintctico: ((p. q) . (p)) .......................... 12 1.3 Los coloresdelas frmulas ............................... 15 1.4 Definicin recursivaderbol sintctico ......................... 16 1.5 Sustitucin uniforme [p/j,q/y] sobreunrbol sintctico ............... 17 1.6 rbolesyparntesis ................................... 19 1.7 Interpretacin inducidaporuna asignacin ....................... 24 1.8 Deduccin natural. p. (q. r) . p. r ......................... 44 1.9 rbol de la deduccin natural. p. (q. r) . p. r ................... 44 1.10 Deduccin natural. p. (q. r) . (p. q) . (p. r) ................... 461.11 rbol de la deduccin natural. p. (q. r) . (p. q) . (p. r) ............. 47 1.12 Deduccin natural. (p. q) . (p. r) . p. (q. r) ................... 47 1.13 Deduccin natural. p. q,q. r . p. r ....................... 48 1.14 Deduccin natural. (p. q) . r . p. (q. r) .................... 49 1.15 Deduccin natural. p. (q. r) . (p. q) . r .................... 49 1.16 Deduccin natural. . p. (p. q) ........................... 49 1.17 Deduccin natural. p.q,q`p .......................... 50 1.18 rbol de la resolucin {pq, qr, .......................... 55 pr, r} 1.19 Unaderivacindela clusulavaca ........................... 55 1.20 Unaderivacindela clusulavaca ........................... 57 1.21 Notacin uniforme ................................... 58 1.22 Tableau de(p. (q. r)) ............................... 59 1.23 Tableau de{p. (q. r),r. p} ........................... 60 2.1 Frmulade Primer Orden: rbol sintctico ....................... 66 2.2 Dos frmulasde Primer Orden: subfrmulas ...................... 69 2.3 mbitosyvariables libres ............................... 71 2.4 Tres estructurassobreelmismouniverso ........................ 81 2.5 Estructurascondos predicados mondicos ....................... 842.6 Inferencia sobre instancias de frmulas proposicionales . . . . . . . . . . . . . . . . 90 2.7 Tableau que confirma que p. (q. r) `r !p .................. 95 2.8 (p. p0) . ((q. q0) . (r . r0)) `(r . r0) !(p. p0) ............... 95 2.9 8xPx . (9yQy ^8zRz) . 8zRz . 8xPx ...................... 98 2.10 Tableau que confirma que8xPx_9yQy `9y8x(Px. Qy) ............... 99 2.11 Tableau que confirma que8x9y(Rxy . Qy),8x8yRxy `9zQz ............ 100 3.1 rbol SLD del objetivo q(y,b) ............................. 128 3.2 rbol SLD del objetivo conectado(Y,b),conectado(b,Z) ............... 130 3.3 Reevaluacin del objetivo conectado(Y,b),conectado(b,Z) . . . . . . . . . . . . . . 1313.4 Exploracin del rbol SLD del objetivo conectado(Y,b),conectado(b,Z) por un intrpretePROLOG .................................... 132 3.5 Rama infinita del rbol SLD del objetivo conectado(X,Y) . . . . . . . . . . . . . . 132 3.6 Funcionamientodel operadorde corte ......................... 138 5.1 Estructura relacional .................................. 168 VII5.2 Un modelo: marcoyasignacin ............................ 169 5.3 Relaciones binarias ................................... 172 5.4 rbol sintctico de 2((p. q) . (3r)) ........................ 177 5.5 dos marcos sobre un mismo conjunto W ........................ 180 5.6 una relacinsobreunconjuntode4elementos ..................... 180 5.7 Un modelo: marcoyasignacin ............................ 181 5.8 satisfaccindeuna frmula ............................... 184 5.9 Marcoparaun lenguaje bimodal ............................ 196 6.1 Diagramade transiciones ................................ 201 6.2Transicionesdesdeelnodo1delafigura6.1...................... 202 6.3 E[ AF(p. q) UEX(p)] ................................ 209 6.4 Propagacin de la marca AF .............................. 210 VIIIndice de tablas 1.1 Alfabetogriego ..................................... 12 1.2 23 asignaciones distintas sobre3letras proposicionales . . . . . . . . . . . . . . . . 22 1.3 Semnticadelas conectivas binarias .......................... 23 1.4 Tabla de verdad de((p. q) . (?)) .......................... 25 1.5 Tabla de verdad de((p. q) . (p)) .......................... 26 1.6 Tabla de verdad, compacta, de((p. q) . (p)) .................... 26 1.7 Una frmula insatisfacibleydos satisfacibles . . . . . . . . . . . . . . . . . . . . . 27 1.8 El conjunto G = {p. (q. r), (p. q) . r, q. (r. p)} es satisfacible ........ 28 1.9 El conjunto O = {(p. (q. r), (p. q), (r.p)} es insatisfacible .......... 28 1.10 Consecuencia. {(p. q), (p. r)}|=(q. r) ...................... 31 1.11 Consecuencia. {p. r, (p. q)}|=(p. q) ..................... 31 1.12 Si {j1,...,jn}|= . entonces j1. ... . jn . . es tautologa ............. 33 1.13 Si {j1,...,jn}|= . entonces j1. ... . jn ^. es insatisfacible ........... 35 1.14 Si j1. ... . jn insatisfacible entonces {j1,...,jj-1,jj+1,...,jn}|= jj ...... 35 1.15 Algunas frmulas de dos variables, agrupadas por clases de equivalencia . . . . . . . 37 1.16 Todas las clases de equivalencia sobre frmulas con dos variables . . . . . . . . . . 37 1.17 Equivalencias bsicas .................................. 38 1.18Forma normal disyuntivadeuna frmula ........................ 40 1.19Formas normales conjuntivasydisyuntivas ...................... 411.20Reglasdeexpansindeun tableau ........................... 61 2.1 Relacionesyfunciones ................................. 79 2.2 Dos relacionessobreelmismouniverso ........................ 86 2.3 Notacin uniforme, conectivas binarias ......................... 98 2.4 Notacin uniforme, frmulas cuantificadas ....................... 98 2.5 Reglasdeexpansindeun tableau ........................... 99 2.6 Equivalencias de inters para alcanzar la forma prenexa . . . . . . . . . . . . . . . . 101 2.7 Otras equivalencias de inters para alcanzar la forma prenexa . . . . . . . . . . . . . 102 4.1 Tabla para probarelbucledela funcinfact1...................... 161 5.1 Propiedades de una relacin binaria, expresadas en lgica de primer orden . . . . . . 172 5.2 definicin recursiva de satisfaccin M,w . f ...................... 183 5.3 Frmulas modales que caracterizan relaciones binarias . . . . . . . . . . . . . . . . 192 IXXIntroduccin Objetivosycontenidos El objetivo fundamentalde este libroesexponer los mtodos de la lgica (concretament e de la lgica de predicadosyde la lgica modal) que ms se utilizan hoy en da en ciencias de la com putacin, inteligencia artificial e ingeniera del software. Por ello, algunos de los temas son de ndole puramente terica, mientras que otros t ratan de establecer el puente con las aplicaciones concretas. As, la primera parte, que es de natural eza terica, estudiados aspectosdelalgicade predicados:lalgicade proposiciones(tema1)ylade pred icados de primer orden (tema 2), mientras que la segunda parte se centra en dos formali smos lgicos aplicablesa problemasde computacin:el tema3estudiael fundamentodela programacin lgicayel tema4la lgicade Hoare como formalismo paralaverificacinde programas secuenciales. Anlogamente, dentrodela tercera parte, dedicada ala lgica modal,el tema5 (fundamen tos de lgica modal) es puramente terico, mientras que el tema ?? estudia la lgica modal temporal, que sirve, entre otras aplicaciones, para la verificacin de sistemas concurrentes y de tiempo real (software)yde componentes fsicos (hardware). La figura1muestrala dependencia conceptual entre los temas tratados enel libro. 1. Lgica de proposiciones 2. Lgica de predicados 3. Programacin 4.Verificacin de progr. secuenciales lgica 5. Lgica modal . 6. Lgica modal temporal Figura 1: Dependencia conceptual entre los temas. Conviene sealar, sin embargo, que el objeto de este libro no es ninguno de los ca mpos de aplicacin anteriores, sino los formalismos lgicos. Por eso no vamos a estudiar aqu los detal les de cada una de estas tcnicas aplicadas, sino que insistiremos ante todo en el fundamento lgico comn enIntroduccin que se apoyan. En la bibliografa complementaria de cada uno de los temas encontra r el lector las referencias necesarias para conocer a fondo las tcnicas que ms le interesen. Motivacin para los alumnos de Ingeniera Informtica La lgica constituye la herramienta formal de razonamiento de la mayor parte de la s asignaturas de la carrera de informtica, sobre todo de las que estn ms relacionadas con las matemti casyla programacin, tales como lgebra, Anlisis Matemtico, Matemtica Discreta, Electrnica Digi tal, TeoradeAutmatasyLenguajesFormales, Programacin (incluida la Programacin Concurrente y la Programacin Declarativa), Bases de Datos, etc. En cuanto a la inteligencia artificial, la lgica es el fundamento de todos los mto dos de representacin del conocimientoy del razonamiento, especialmente en sistemas expertos, razonami ento con incertidumbre (encadenamiento de reglas, lgica difusa, etc.), procesado del l enguaje natural, razonamiento espacialytemporal, visin artificial, robtica, lgica epistmica,1 etc. En tercer lugar, los mtodosformales tienen una aplicacin inmediata en la ingeniera del software. El uso de lenguajes de especificacin formal es beneficioso en todos los desarroll os, ya que promueve la definicin de modelos estructurados, concisosyprecisos en diferentes n iveles de abstraccin, yfacilitael razonamiento sobreellos inclusoaunnivel informal. Cuandoalas notacio nes formales se les asigna una semntica operacional, es posible disear herramientas au tomticas que detecten ambigedades en los requisitos iniciales, verifiqueny validen modelosalo largo del ciclo de desarrollo, ayuden enlaevolucinyel mantenimientode los productosygeneren automt ica o semi-automticamente prototipos o incluso partes del cdigo final. Finalmente, los mt odos formales sirven tambin para propsitosde documentacin, ingenierainversayreutilizacinde componen tes. No obstante, aun siendo reconocidas las importantes contribuciones de los mtodos formales a la ingeniera del software, su uso no se ha extendido tanto como caba prever hace un p ar de dcadas. Lo cierto es que los proyectos de desarrollo formal han fracasado con frecuencia , si bien por razones ms ergonmicas que tcnicas. La experiencia ha mostrado que introducir mtodos formales en un proceso de desarrollo puede provocar dificultades no relacionadas con la potenci a de los mtodos. En primer lugar, pueden resultar excesivamente restrictivos, tanto porque obliga n a sobreespecificar ciertos aspectos como porque constrienel procesode desarrollo,que tienen tendenci aamonopolizar.En segundo lugar, su introduccin puede ser problemtica desde un punto de vista prct ico, debido a su dificultadrealypercibida,deformaqueelcoste inicialde entrenamientoenestas tcni caspuedeser significativo,yen ocasioneslos mtodos son infrautilizadas inclusopor partede inge nieros instruidos en su uso. El incrementoen costesde desarrolloquelos mtodos formales suponenenlas primerasfa sesdel ciclo software se puede ver no obstante compensado por el decremento de los cost es de las ltimas fases, particularmentedelafasedevalidacin,as comodelas subsecuentesfasesde manteni mientoy evolucin. El problema fundamental de los mtodos formales ha sido siempre que la co munidad cientfica dedicada al desarrollo mtodos formales ha invertido un escaso esfuerzo en transfe rir la tecnologa a los entornos de ingeniera. Las dificultades antes referidas podran solventarse s i se difundiesen pautas para seleccionar notaciones adecuadas para cada problema,evitarla sobre-f ormalizacin, identificar dominios adecuados, integrar las tcnicas formales con tcnicas semi-formales de uso extendi 1La lgica epistmica es una rama de la lgica modalque sirve para razonar sobre el co nocimiento (propioyajeno),y se utiliza sobre todo para modelar el conocimiento de varios agentes. Hay que te ner en cuenta que el enfoque ms actual dela inteligencia artificial, tanto enel estudio terico como enel desarrollode ap licaciones, consiste en analizaryconstruir los sistemas inteligentes como agentes que interactan entre s (por ejemplo, cooper ando o compitiendo, segn el dominio de que se trate).Introduccin do, comercializar herramientas de desarrollo amigables, desarrollar tcnicas especf icas de estimacin de costes de desarrollo, etc. Unabuena estrategia para promover la integracin de tcnicas formales en un proceso de desarrollo es construir una base formal detrs de un lenguaje sem i-formal bien conocidoydifundido. Tal fuela estrategia seguida enel caso delexitoso lenguaje SDL enel campode las telecomunicaciones,y es asimismo la estrategia seguida actualmente por algunos i nvestigadores del lenguaje UML, con el propsito de introducir estas tcnicas en losprocesos de desarr ollo orientados a objeto, actualmente tan en boga. De los mtodos formales se ha afirmado, irnicamente, que siempre han tenido un gran futuro ysiempre lo tendrn . No obstante, recientemente hay motivos razonables para confiar al fin en un lanzamiento definitivo de estas tcnicas, particularmente en los cada vez ms numero sos complejos dominios que exigen un alto grado de calidad del software, tales como: telecomun icaciones, transacciones bancarias, comercio electrnico, votaciones electrnicas, tarjetas inteligentes, dis positivos inalmbricos, etc. En resumen, los avances realizados en la ltima dcada en este campo han hecho de lo s mtodos formalesdeverificacin una herramienta cadavezms utilizada,yesdepreverquesu usoseex tienda significativamente en los prximos aos. Poreso,el alumnodebe tener presenteque, ademsdelvalor educativodelalgicaenla forma cin de una mente ordenada , las tcnicas estudiadas en este libro han llegado a ser una h erramienta cada vez ms utilizada en aplicaciones industriales en la ltima dcada; las empresas ms imp ortantes del mundodela informticaylas telecomunicaciones, comoAT&T,BT, IBM, Intel, Motorola, S iemens, SRI, etc., cuentan con equipos especializados en este tema y los profesionales q ue conocen estas tcnicas estn cada vez ms solicitados. En este sentido, puede ser til la lectura del artculo disponible en Internet en que Clarkey Wing [1996] enumeran algunas de las herramientas de verificacin formal que se estn utilizando en la actualidad. Como ancdota curiosa, este artculo menciona que el error que el pri mer procesador Pentium presentaba al efectuar ciertas divisiones,yque provoc unas prdidas econmica s considerables para Intel, se podra haber evitado con las tcnicas disponibles en la actualidad; l as referencias bibliogrficas se encuentran en dicho artculo. Entre las aplicaciones desarrolladas recientemente utilizando un proceso de desa rrollo enteramenteformal cabe destacar la automatizacin de la nueva lnea de metro de Pars, METEOR, qu e ha obtenido una enorme publicidad. Esta lnea funciona sin conductoresydejando un peq ueo margen temporal entre trenes, de modo que los requisitos de seguridad requieren una alt a confianza en el software. En la misma lnea, recomendamos tambin los sitios de Internet www.afm.sbu.ac.uk/ y www.cs.indiana.edu/formal-methods-education/,donde el alumno podr encontrar numer osos recursos sobre mtodos formales aplicadosala especificaciny verificacinde sistemas ( hardwarey software), tales como herramientas gratuitas, abundante bibliografa e incluso ofe rtas de empleo. Finalmente, aunque el alumno no llegue a ser un experto en verificacin, el estudi o de la lgica computacional puede aportar al alumno dos beneficios importantes: por un lado, l e ayudar a formar una mente lgica, lo cual le servir tanto para estudiar las asignaturas de esta car rera como para en su prctica profesional, especialmente en las laboresde diseoyprogramacin. Bibliografa recomendada Adems de la bibliografa complementaria que hemos incluido en cada captulo de este l ibro, queremos ofrecer una seleccin general de bibliografa que puede ser til para el alumno que qu iera ampliar los temas tratados en esta asignatura.Introduccin Logic in Computer Science [HuthyRyan, 2000] Es un libro excelente, que explica la aplicacin de las tcnicas de la lgica computac ional a problemas del mundo real. Lo recomendamos encarecidamentealos alumnos que quieran profundi zar en los temasque tratamosen estetextoyconocer otras tcnicas nuevas. Aunqueelnivelde c omplejidad es mayor que el de nuestro texto, se encuentra al alcance cualquier estudiante d e pregrado que decida estudiarlo detenidamente. Recomendamos a quienes estn interesados que visiten la pgina web del libro, http://www.cs.bham.ac.uk/research/lics/, creada por sus autores; en ella podrn encontrar una fe de erratas, ejercicios de autoevaluacin en forma de test (con soluciones e xplicadas), enlaces de inters, etc. Mathematical Logic for Computer Science [Ben-Ari, 2001] Desde su aparicin, en 1993, este libro se ha convertido en uno de los textos ms co nocidos de lgica matemtica.Lasegundaedicin, publicadaenjuniode2001,amplayactualiza sensiblement e los contenidos de la primera. Se trata de un texto para pregraduados, que intent a ser bastante didctico, yen general lo consigue, aunque a nosotros nos gustara que fuera ms intuitivo en l as explicaciones; por ejemplo, dando la traduccin a lenguaje natural de las expresiones matemticas, es pecialmente de los teoremas (lo hace en algunas ocasiones, pero en otras muchas no). Los eje mplosyejercicios del libro estn bien escogidosyconstituyen un apoyo importante parael estudio. La pgina web http://stwww.weizmann.ac.il/g-cs/benari/books.htm#ml2, creada por el autor, contiene unafede erratas, enlacesmuy interesantes sobre lgica matemticayel cdigo fuente en PROLOG de algunos algoritmos para los formalismos lgicos (demostradores de teo remas, etc.), descritos en el libro, cuyo estudio puede resultar muy interesante para asentar los conceptosy los mtodos expuestos en nuestro texto. Handbook of Logic in Artificial Intelligence and Logic Programming [Gabbay et al ., 1993, 1994b, 1994c, 1995, 1998] Es una coleccin de cinco volmenes, en que cada captulo est escrito por un autor dife rente. El primervolumen se ocupade los fundamentos lgicos (incluidala lgica modal bsicaylas c lusulas de Horn), el segundo de las metodologas de deduccin, el tercero del razonamiento n o-montono, el cuartode las lgicas epistmicasytemporalesyel quintodela programacin lgica. Constituy e una excelente obra de consulta, pero puede resultar demasiado compleja para alumnospregraduados. (No se debe confundir esta obra con el Handbook of Logic in Computer Science [Ab ramsky et al., 1992-2001]. Ambasconstande cincovolmenesyestn editadas por Oxford University Press, pero esta ltima es de una complejidad an mayor, por lo que no la incluimos como bi bliografa complementaria para nuestros alumnos.) Introduction to Mathematical Logic [Mendelson, 1997] Unode los mejores libros sobre lgica porla claridadde lasexplicacionesyla amplitu dde los temas que cubre. Muchos de estos temas superan ampliamente el nivel de una asign atura de pregrado. Para mayor informacin, enhttp://aracne.usal.es/results/biblioes.html hay una lista de msde40 librosde lgica en inglsy en espaol.Atravsde esa pgina puede acceder tambina recursos muy interesantes desarrollados dentro del Proyecto Aracne.ParteI LGICA DE PREDICADOSCaptulo1 LGICA DE PROPOSICIONES Resumen Se presenta el primero de los sistemas lgicos de este texto. Como en todos los re stantes, se cubren tres etapas: primero se facilita un lenguaje formal, despus se define con precisin cmo evaluar el valor de verdad de una expresin del len guaje ypor ltimo se facilitan sistemas deductivos paradecidir,mediante clculos, sobrepro piedades orelaciones entre unasexpresionesyotras (msprecisamente, entre sus valoresde verd ad). Este captulo tiene, por un lado, un inters intrnseco por sus aplicaciones en Matemti cas, Computaciny enla formalizacin incipientederazonamientos cotidianos, en lenguaje natural. Adicionalmente ofrece un marco formal sencillo donde plantearse propiedades e in terrelaciones sobre los valores de las expresiones (satisfacibilidad, validez, consecuencia, e quivalencia), sobre sus mtodos de decisiny sobre los sistemas deductivos creados para abordar estas cu estiones. Y lo que es ms importante: tales conceptos son todos exportables a otros sistemas lg icos, con las restricciones propias de cada sistema. Objetivos 1. Respectoala comprensiny uso del lenguaje formal: es primordial ser capazdegenerar,a mano,expresiones correctas(con todoslos parnte sis que conllevan)ysus rboles sintcticos. Asimismo se debe poder analizar cualquier expresin correcta facilitada. adicionalmente, se requiere la comprensin de la estructura inductiva del lenguaje con dos fines: primeroporque facilitala automatizacindel lenguajeysegundoporque facil ita el seguimiento de demostraciones sobre el propio lenguaje. 2. Respecto a la semntica, a la evaluacin de los valores de verdad de una expresin es bsico ser capaz de evaluar, a mano, el valor de verdad de una expresin frente a una determinada interpretacin;y ser capaz de listar todas las interpretaciones posibl esy evaluar la expresin sobre cada una de ellas (es decir, de construir la tabla de v erdad de la expresin).78 Captulo 1. LGICA DE PROPOSICIONES tan bsico como lo anterior resulta comprender, trabajando sobre tablas de verdad, los conceptos semnticos que manejaremos permanentemente: satisfaccin, satisfacibilidad , validez (tautologas), equivalencia. Es crtico tanto entender estos conceptos por s eparado como empaparse de sus interrelaciones. adicionalmente se puede considerar una primera automatizacin de los procesos de d ecisin de estas cuestiones, basada en el recorrido extensivo de la tabla de verdad hast a donde se requiera. 3. Sobre los sistemas deductivos: es importante darse cuenta de que tanto la Resolucin como las Tablas Analticas se utilizan para confirmar que el conjunto de frmulas de partida es insatisfacible. Y de cmo se utiliza esta confirmacin para detectar relaciones de consecuencia. sera deseable que el lector trabajara sobre al menos uno de los sistemas deductiv os hasta sentirse cmodo desarrollando demostraciones en ese marco. No obstante, para problemas complejos se requiere en seguida la asistencia de un sistema automatiz ado de apoyo. como objetivo ms avanzado se propone la reflexin sobre la automatizacin de estos sistemas, principalmentede los basados en Resolucino enTablas Analticas otro objetivo avanzado, ste muy formal, conlleva la comprensin de los teoremas de correccinycompletud (que an no facilita el texto) para entender cmo se engarzany convergen los conceptos semnticos con esos clculos sintcticos de los sistemas deduct ivos . En particular,cmo confluyenel conceptode consecuencialgicayelde derivacin, prueba o demostracin sintctica. Metodologa De un texto lineal conviene saber qu debe leerse primero, qu se debe posponerycmo c ontrastar el nivel de conocimiento en cada instante. Utilice el apartado Objetivos como referencia: trate de abordar, por ese orden, los objetivos bsicos de cada uno de los tres puntos analizados. En el estado actual de estas no tas no es difcil: no hay muchos contenidos sobre automatizacin ni demostraciones formales. Le recomendamos que aborde mnimamente el captulo de sintaxis, hasta donde formalme nte le resulte cmodo. Y que, con ese conocimiento intuitivo sobrelageneracin correctadeex presionesdedique tanto tiempo como requiera a la comprensin en profundidad de los concepto s semnticos bsicos. Slo entonces puede comenzar a trabajar sobre los sistemas deductivos. Lamentamos que, salvo los ejemplosyfiguras, no se incluyan todava ejercicios sufi cientes. 1.1 Sintaxis Definicin 1.1 (Alfabeto) Un alfabeto es un conjunto de smbolos. Ejemplo 1.2 Los dos siguientes conjuntos pueden considerarse alfabetos: A1 = {$,s,5} A2 = {p1, p2, p3, p4,...} A1 es un alfabeto finito, que consta de3smbolos. Por contra, A2 puede aceptarse c omo un alfabeto infinito (si se considera cada pjcomo un nico carcter, distinto del resto).1.1. Sintaxis 9 Definicin 1.3 (Expresin) Una expresin es una secuencia finita de smbolos. Por expresin sobre el alfabeto A se entender una expresin compuesta exclusivamente desmbolos del alfabeto A. A los smbolos tambin se les denomina caracteres y a las exp resiones, cadenas. Ejemplo 1.4 Cada una de las cinco secuencias siguientes es una expresin sobre el alfabeto A1: 5 ss $$s55s ss5 5555ss$$ Observe que en una expresin se pueden repetir smbolos, pero no incluir smbolos ajen os: la cadena 55ss4s , que incluye el carcter 4 , no contenido en A1, no es una expresin sobre A1. Sobre un alfabeto finito, como A1, cuntas expresiones distintas pueden formarse?, a lguna de estas expresiones puede ser infinita?. Observe que la definicin de expresin exige que cada secuencia sea finita: no es un a expresin 05555 ... 0, donde se espera que detrs de cada5siempre aparezca otro. Sin embargo, no se fi ja una longitud mxima: por muy grande que sea una expresin siempre puede construirse otra mayor adjuntando un nuevo carcter. As, puede generarse un nmero infinito de cadenas incluso con un alfabeto finito, c omo p. ej. A3 = {a} con un solo smbolo: a,aa,aaa,aaaa,aaaaa,... Al conjunto (siempre infinito) de todas las expresiones que pueden construirse sobre un alfabeto Ase le suele notar como A* . Definicin 1.5 (Lenguaje) Un lenguaje es un conjunto de expresiones. Ms concretamen te, un lenguaje sobre el alfabeto Aes cualquier subconjunto de A* . Dado un alfabeto A, el conjunto total de cadenas A* es un lenguaje sobre A, pero tambin lo es cualquier subconjunto suyo L. A* (vaco, finito o infinito). Ejemplo 1.6 Sobre A= {$,s,5} se pueden definir, entre otros, los lenguajes L1 = {5,$$,ss,55} L2 ={s,ss,sss,...} L2 es un lenguaje con un nmero infinito de cadenas. Para definir este tipo de len guajes se requiere precisar las propiedades que distinguen sus expresiones. Por ejemplo, para los l enguajes L3 = {s,s$,s5,$s,5s,ss,...} L4 = {s5,5s,s$5,$s5,5$s,...} L3: todas las cadenas formadas al menos por una s ; o L4: uyen igual nmero de smbolos s que de 5 . todas las cadenas que incl1.1.1 El lenguaje de la Lgica de Proposiciones El alfabeto de la Lgica de Proposiciones debe proporcionar los smbolos necesarios para representar proposiciones sobre el mundo. Como el nmero de proposiciones que pueden manejarse en un mismo razonamiento no est limitado, debe proveer un nmero infinito de letras proposicion ales. Definicin 1.7 (Alfabeto de la Lgica de Proposiciones) El alfabeto Ade la Lgica de P roposiciones consta de los siguientes elementos:Captulo 1. LGICA DE PROPOSICIONES 1. infinitas letras proposicionales: p0, p1, p2, p3... 2. smbolos lgicos: constantes (?,>), conectiva monaria () yconectivas binarias(^,_,!,$) 3. dos smbolos auxiliaresde puntuacin: parntesis izquierdo ( yderecho ) As, A= {p0, p1,...,?,>,,^,_,!,$,(,)} En las exposiciones tericas, el nmero de letras proposicionales que se consideran simultneamente es pequeo (por ejemplo, de p0a p8). En estos caso se suelen notar informalmente con las ltimas letras del alfabeto latino: {p,q, r,s,t,...}. Seguiremos esta notacin informal a partir de este punto. no negacin ppp ?????. Lecturayrepresentaciones alternativas En la siguiente tabla se adjunta el nombre usual de ca da conectivaysu lectura.Tambinse aaden algunas formas alternativasde representacine n otros textos. Ciertos lenguajes de programacin pueden reservar smbolos distintos para es tas mismas conectivas. ?,. falso ,verdaderofalse,truep. q pyq conjuncin p&q p. q po q . ?????. p. q q, q p. q q, q disyuncinsi pentonces q p. psiyslosi q p.condicional p.bicondicional p=Ejemplo 1.8 Las siguientes secuencias son expresiones sobre el alfabeto fijado:((pq (!p)(p_^p)(r !. p. q) p (p)(p. q) ((p. p) ^?) ((r $>) . (r . (q))) Para nuestros fines, algunas de estas cadenas no son tiles. En este ejemplo, slo a ceptaramos las de la segunda fila. A las expresiones aceptables se las denominar frmulas o ex presiones bien formadas. El conjunto (infinito) que incluye todas estas frmulas (y nada ms) es el Lenguaje de la Lgica de Proposiciones, que notaremos como Form. Como introduccin intuitiva le proponemosque estudie el proceso de generacin de la frmula (correcta, aceptable) ((p^>) . (p)). Se representa grficamente en la siguiente figura, que debe recorrerse de abajo arriba. ((p^>) . (p)) . ??_. __ (p^>) . ??. __ (p) . p pp p Figura 1.1: rboles sintcticos: presentacin Observe que, partiendo de bloques mnimos, se van construyendo expresiones ms compl ejas. stas, a su vez, siempre pueden ser reutilizadas como nuevos bloques componentes:1.1. Sintaxis p ^>_p Los bloques mnimos aceptables, las frmulas atmicas, estn compuestas por un nico carac ter del alfabeto. Pero no cualquiera: slo letra proposicional o constante. Definicin 1.9 (Frmula atmica) Una frmula atmica es una expresin compuesta exclusivamen te por una letra proposicional, la constante . o la constante >. El conjuntode todaslas frmulas,el lenguajebuscado, podra definirse(en primera apro ximacin) como el conjunto X que verificase: 1. todas las frmulas atmicas pertenecen a X 2. si la expresin . . X entonces (j) . X 3. si las expresiones j,. . X entonces (. . y),(. . y),(. . y),(. . y) . X Un conjunto asgarantiza que todas las frmulas pertenecen al mismo. Pero puede adems constar de otros elementos. En particular, el conjunto A* formado por todas las cadenas generables a partir delalfabeto,verifica esas tres propiedades. Pero tambinlasverificael conjunto A* menos la cadena (!^) . Intuitivamente, si slo se partiera de las frmulas atmicasy se produjeran todas las negaciones yconexiones binarias posibles, debiera obtenerse un conjunto que contiene frmulas yslo frmulas. Yestara incluido en cada unode los dos conjuntos antes citados(y, por tanto, en s u interseccin). Definicin 1.10 (Lenguaje de la Lgica de Proposiciones) El conjunto Form, que conti ene todas las expresiones aceptables en nuestro lenguaje (y slo stas), es el menor de los co njuntos X que verifica: 1. todas las frmulas atmicas pertenecen a X 2. si la expresin . . X entonces (j). X 3. si las expresiones j,. . X entonces (. . y),(. . y),(. . y),(. . y) . X Estafamiliade conjuntos X no es vaca: pertenece a la misma al menos el conjunto A. La interseccin de todos ellos produce un conjunto que verifica tambin las tres propiedades requerid as. Y es el menor de todos, est incluido en cada uno. En particular, es el conjunto que incluye todas las exp resiones que pueden generarse con estas tres reglasyexclusivamente talesexpresiones. Ejemplo 1.11 Las siguientes cuatro lneas muestran tanto frmulas atmicas como compue stas con 1,2y3conectivas, respectivamente: p, q, r, ?, . (p), (?), (>), (p. q), (p!?) ((p)), ((>)), ((p. q) . r), (p. (?)) (((p. q)) . p), ((p. r) . (?)) Tratedeexplicitarlos pasos(lasreglas utilizadas), desdelas frmulas atmicas, hastal a generaracin de una frmula del ejemplo. Puede resultarle til considerar una representacin como l a de figura 1.2.Aeste tipode grficos se les denomina rboles sintcticos. Posponemos su definicin formal.Captulo 1. LGICA DE PROPOSICIONES ((p. q) . (p)) . (p. q) . ??????. .... ?>=>. . >>.1+ num$(y)+ num$(c) ,. =(. * c,) con * =. 0+ num$(y)+ num$(c) ,. =(. * c), con * =6 . 0+ num$(y) ,. =(y) 0 ,. atmica Observe que, aunque de forma compacta, se fijala imagen tanto para las frmulas atm icas como paracadaunadelas5conectivas.Enalgunoscasos,laimagenparaalgunadeestas alternativa spuede coincidir. En el ejemplo 1.17, el nmero de bicondicionales es una funcin num. : Form7 . N, del conjunto de frmulas en el conjunto de nmeros naturales. En general, las definiciones sobre frmulas resultarn ser una funcin de Formen algn conjunto, aunque no necesariamente sobre N.1.1. Sintaxis Ejemplo 1.18 Definiremos una funcin color,deFormen el conjunto Semforo={verde,mbar, rojo}, que abreviaremos como conjunto S= {v,a,r}. El primer objetivo es fijar el color de cualquier frmula atmica. Definamos una fun cin colorat slo desde el conjunto de frmulas atmicas sobre el conjunto Semforo: colorat(p0)= v colorat(p1)= a colorat(p2)= r colorat(p3)= v colorat(p4)= a colorat(p5)= r ... colorat(p0+3j)= v colorat(p1+3j)= a colorat(p2+3j)= r con colorat(>)= v, colorat(?)= r. En este punto, pueden empezarse a valorar los nodos terminales (inferiores)de una figura comola 1.3.Ycontinuarlavaloracin haciael nodo raz. a color_(r,a) . 77 r oooooooo. . gg a OOOOOOOO. color^(v,r). ?? v . . __ r ?????. color(a). OO a colorat(p0) colorat(?) colorat(p4)Figura 1.3: Los colores de las frmulas Para ello es preciso definir qu color sale de un nodo (negacin), segn el color que entre . Yqu color sale de cada conjuntiva binaria, segn qu par de colores entren. Para el ejem plo de la figura: color(a)= a, color^(v,r)= r, color_(r,a)= a. As, color( ((p0^?) . p4))= a Observe que, para definir la funcin color :Form7 . Sse requiere definir las funciones auxiliares: colorat :Form_Atom7 . S color :S7 . S color* :S2 7 . Spara cada conectiva binaria Teorema 1.19 (Principio de Recursin Estructural) Dadas las funciones fat :Form_Atom7 . Xf :X 7 . Xf* :X2 7 . X para cada conectiva binaria existe una nica funcin F:Form7 . X tal que: . . f( F(y),F(c)) . = . * . F(j)= f(F(y)) . = . . fat(j) . . Form_Atom El Principiode Recursin estructuralgarantiza que, para una determinada eleccinde l as funciones previas,la funcin resultante es nicayest bien definida. 1.1.3 Derivacin de conceptos sintcticos Con ayuda del Principio de Recursin Estructural se pueden definir otros conceptos sintcticos. En este apartado abordaremos la definicin de rango, nmero de smbolos, apariciones de u n determinado smbolo,la definicinde rbol sintcticoylade conjuntode subfrmulasde una frmula dada.Captulo 1. LGICA DE PROPOSICIONES Rango La funcin rango : Form7 . N, intuitivamente, proporciona la longitud de la mayor rama del rbol sintctico de la frmula. Se define: . . 1+ max(rango(y),rango(c)) ,. =(. * c) rango(j)= 1+ rango(y) ,. =(y) . 0 ,. atmica Dejamos al lector la definicin de otros conceptos similares, como nmero de smbolos o nmero de apariciones de conectivas (o de algunas, en particular). Ejercicio 1.20 Construya,exclusivamente con7conectivas binarias, una frmula conel mayor rango posibleyotra conel menor. Dada una frmula, reflexione sobre cmo su rango, nmero de smbolos o apariciones de co nectivas se acotan entre s. El lector puede encontrar en la literatura demostraciones inductivas sobre el le nguaje que no utilizan el Principio de Induccin Estructural. Son demostraciones que emplean el conocido Principio de Induccin Completa sobre nmeros naturales. En este caso, el nmero natural asignad o a cada frmula es su rango o su nmero de smbolos: Teorema 1.21 (Principio de Induccin Completa) Si para cualquier frmula . se demuestra que: todaslas frmulasconrango(onmerode smbolos) menorque . tienen la propiedadP entonces todas las frmulas tienen la propiedad P. La demostracin de que ambos principios de induccin son equivalentes no se aborda e n este texto.rboles sintcticos Se ha estado utilizando el concepto de rbol sintctico sin una definicin. En la figu ra 1.4 se representan, respectivamente, las definiciones de arbol(. * y), arbol(y) yarbol(j) para . atmica. Puede precisar y formalizar ms esta definicin si utiliza como conjunto imagen el d e las representaciones matemticas del concepto de rbol, o el de alguna estructura computacional que lo represente. [arbol(j),. = . * c][ [ arbol(j),. = y] arbol(j),. atomica] (. * c)(y) . arbol(y) arbol(c) arbol(y) Figura 1.4: Definicin recursiva de rbol sintctico1.1. Sintaxis Subfrmulas Definicin 1.22 (Subfrmulas) Dada una frmula j, el conjunto de todas sus subfrmulas s e define recursivamente como: . . {j}. subform(y) . subform(c) ,. =(. * c) subform(j)= {j}. subform(y) ,. =(y) . {j} ,. atmica Observe que subform:Form7 . P(Form) es una funcin del conjunto de frmulas en el conjunto de subconjuntos de frmulas. Ejemplo 1.23 El conjunto de subfrmulas de . = ((p. r) . (q. (t)) es subform(f)= {((p. r) . (q. (t)),(p. r),(q. (t)),p,r,q,(t),t} Sustitucin uniforme La sustitucin uniforme permite escribir una frmulaa partirde otra. Ser una operacin sintcticade extraordinaria utilidad en las secciones siguientes. Intuitivamente, se puede vi sualizar contemplando los rboles de la figura 1.5. . ??????. ((p. q) . (p)) (p. q)(p) ((. . y) . (j)) (. . y) (j) p q p arbol(j) arbol(y) arbol(j) Figura 1.5: Sustitucin uniforme [p/j,q/y] sobre un rbol sintctico Ejemplo 1.24 Considere la frmula . := ((p. q) . p)ysustituya todas la apariciones de: p, por la frmula . :=(r. s) q, por la frmula . :=(t . u) el resultado es la frmula ((r. s) . (t . u)) . (r. s)) |{z. . {. . |{z. . y. donde las marcasde subrayado se han aadido ocasionalmente parafacilitarla corresp ondencia.Captulo 1. LGICA DE PROPOSICIONES Cuidado Observe que la sustitucin se produce uniformemente, por igual, en todasyc ada una de las apariciones de la letra proposicional sustituida. Sobre la misma frmula . de partida, se podan haber sustituido todas las instancias de: p, por la frmula . := qq, por la frmula . :=(q!p) el resultado sera entonces la frmula ( q. (q!p)) . q) |{z. . {. . |{z. . y. Cuidado Observe que la sustitucin no vuelve a aplicarse sobre instancias nuevamen te aparecidas de la letra proposicional. En [p/q,q/(q. (p))] se produce las sustituciones atmicas simultneamente: no se convierten primero las p en q y, luego, todas las q (las primitivasylas recin aparecidas) en (q. (p)). Algo ms formalmente, dada una frmula . su sustitucin (j)s es una frmula. Yesta funcin ()s :Form7 . Formse puede definir recursivamente. Definicin 1.25 (Instancia, por sustitucin, de una frmula) Considere una frmula . yuna funcin sat om :Form_Atom 7 . Formque define la sustitucin para cada frmula atmica . Entonces, la sustitucin uniforme (j)s se define como: .. ((y)s * (c)s ) ,. = . * . (j)s =( (y)s ) ,. = . . sat ,. atmica om(j) De la sustitucin atmica sat om se requiere que sat om(?)= . yquesat om(>)= >. Cada sat om fija una nica sustitucin uniforme ()s. La frmula (j)s es la instancia de . por la sustitucin s. As, si una sustitucin se aplica sobre una frmula, por ejemplo, conjuntiva, el resul tado ser la conjuncin de las transformadas. Si se aplica sobre una negacin, el resultado es la negacin de la transformada. Cuando se llega a una letra proposicional, se cambia sta por su frmu la sustituyente. Ejemplo 1.26 Sea sat om :Form_Atom 7 . Formtal que: sat sat om(>)= > om(?)= . om(p0)=(p1. p0) sat sat om(p1)= p3 om(pk)= pk para toda letra proposicional pk con k= 0,1 sat 6 Entonces est definida la transformada (j)s de cualquier frmula j,por ejemplo. :=(p0!p1) (j)s = (p0 !p1)s = ((p0)s . (p1)s) = = ((p0)s . ((p1)s)) = om(p0) . (sat om(p1))) = ((p1. p0) . (p3)) (sat Ejercicio 1.27 Con la sustitucin definida en el ejemplo previo, calcule: ((p0. p1) . (?. p3))s Cuando en una sustitucin atmica, como sat om =[p/(q^r),q/(t_q)],nosefacilitela sustitucin para todas (las infinitas) letras proposicionales, se entender que sat om(pk)= pk para esas letras. Aunque no fuera as, suelen precisarse slo las sustituciones atmicas de las letras i ncluidas en las frmulas analizadas en ese momento. Si dos sustituciones coinciden sobre esasletras (aunque difieran en alguna de las infinitas restantes), producen las mismas transformaciones sobr e esas frmulas consideradas.1.1. Sintaxis 19 1.1.4 Eliminacin de parntesis Considere el rbol sintctico de la figura (fig. 1.6). Cada nodo es una de las subfrm ulas utilizadas en su generacin.Yuna frmulanoesmsquelaexpresin linealdeesta estructura. Con todos sus parntesis(y correctamente situados)a cada frmulale corresponde un nic o rbol sintctico.Ya cada rbol una nicafrmula. Si se omiten los parntesis,a una frmulale puede n corresponder varios rboles: resulta ambigua. Por ejemplo, puede tener por conectiva principal una conjuncin o una negacin. Trate de dibujar sus posibles ((p. q) . (p)) . (p. q) rbolessintcticos. . . ??????. ^_pqp ???????. (p) . p qpp qp Figura 1.6: rbolesyparntesis Adems de los parntesis (cuya anidacin replica la del arbol) existen otras dos maner as de linealizar un rbol sintctico: utilizando notacin prefija o conviniendo un orden de precedencia entre conectivas. Notacin prefijaUna operacin aritmtica binaria como (3+ 5) puede representarse as (en notacin infija) o (+ 35) (en notacin prefija).Tambin se puede considerarla notacin posfija. As, una frmula como ((p. q) . (p)) se puede representar en notacin prefija como z}|{z}|. _. pq p Donde las llaves y lneas se han aadido para facilitar la lectura. Observe que corr esponde a un recorridodel rbolen profundidad.Yquela frmula,yasin parntesis,no resulta ambigua. Ala notacin prefija tambin se la conoce comonotacin polaca. Precedencia Para interpretar unaexpresin aritmtica como3 5+ 7 4, ambigua, se suele suponer que existe un convenio entreel escritoryel lectorque deshace esta ambiguedad.El convenioms gene ralizadopermite interpretar esa expresin como ((3 5)+(7 4)). Se suele explicar informalmente este convenio fijando que, en caso de ambiguedad, las multiplicaciones se consideran antes que las sumas .20 Captulo 1. LGICA DE PROPOSICIONES Entre los operadores lgicos, en este mismo tono informal, se suelen considerar pr imero las negaciones, luego conjuncionesydisyunciones,ydespus condicionalesybicondicionales. Como quier a que es un convenio, trate de determinar con exactitud qu precedencia utiliza el a utor del texto que est leyendo. 1.2 Semntica 1.2.1 Introduccin Los sistemas lgicos no son meros ejercicios formales. Se utilizan para representa r declaraciones sobreel mundoy operar sobre estas representaciones. Representacin de declaraciones Cada declaracin, cada expresin declarativa, enuncia un estado de cosas. LLueve es una expresin declarativa. Una orden o una pregunta no lo son. D e una expresin declarativa se puede juzgar cunto de verdadera es. La sintaxis del lenguaje natural, con el que nos comunicamos diariamente, permit e construir expresiones declarativasa partirde otras. As, en una frase como lluevey esde da se distinguen3 expresiones: llueve , esde da y llueve-y-esde da . llueve y es de da Los sistemas lgicos proporcionan un lenguaje formal.Ysobre este lenguaje se inten ta representar las declaraciones del lenguaje natural. Como el lenguaje natural es mucho ms rico en matices, excepciones, ambigedades y contextos, este proceso de representacin no es fcil. Cie rtamente, algunos lenguajes formales son ms expresivos que otros, permiten captar ms detalle s del lenguaje natural. Si estos detalles son significativos para describir un nuevo tipo de ra zonamiento, bienvenidos. Si no, podamos habernos quedado con el lenguaje formal previo, ms rgido. La lgica de proposicionesfacilita un lenguaje muy pobre. Sin embargo, hay proceso s de razonamiento utilizados diariamente que pueden ser formalizados, captados convenientemente, s obre este lenguaje.Para formalizar otros procesos habr que definir nuevos sistemas lgicos. Enel lenguaje proposicional,el ejemploprevio sobrela lluviayel estado diurno,se representara como: p ^q Observe que,de nuevo, se pueden considerar3frmulas: p, qyp. q. Valores de verdad de una declaracin Volvamosal lenguaje natural,alas3declaracione s detectadas en lluevey esde da . Sobre cada unade ellas se puede considerar su gradodeverdad, pe ro node forma totalmente independiente. Una vez que se ha fijado el valor de verdad d e las componentes, eldelaexpresin compuestaest determinado:es funcindelos anteriores.Paraeste ejemplo, sislo una componentefueseverdadera,eluso habitualdela conjuncin y nosobligaaaceptarquelafra se compuesta no lo es. Otra cosa sera si estuvieran unidas por una disyuncin o . La lgica de proposiciones trata de captar estas dependencias entre valores de ver dad: una dependencia distintaparacada conectiva,quedebeprecisarquvalordeverdadtienelaexpresin compuesta para cada combinacin de valores de las componentes. Los posibles valores de las componentes hay que fijarlos. Si se admite que una d eclaracin puede ser msbienverdadera ,o un80%falsa ,la funcin asociadaacada conectiva debiera definirsepara todos estos casos. Se estara entonces en el marco de lgicas polivaluadas o lgicas b orrosas.1.2. Semntica En todos los sistemas lgicos abordados este curso se considerarn slo dos valores de verdad. As, una expresin es verdadera o falsa, necesariamente slo una de las dos opciones: si se afirma que no es una de ellas, entonces tiene el otro valor de v erdad. Sobre la utilidad del formalismo A un lector tcnico puede (slo puede) que no le mo tive un ejemplo sobre lluvia, luzyolora campo. Considere este otro: Si (yy) entonces Si entonces Si entonces e y no Consta de cuatro expresiones declarativas compuestas, con componentes comunes. Q ue se hayan enunciado no supone que se acepten como verdaderas, todas o algunas. En algunos textos se podra encontrar, previo a su enunciado, la frase suponga que son ciertas todas las sigu ientes expresiones . En otras situaciones, s que al enunciarlas se acepta implcitamente que se suponen todas ellas verdaderas. No ser nuestro caso. Considere el valor de cada componente. Si se opta por pensar que e s verdad, lo aceptaremos en las cuatro expresiones. Igualmente se puede tomar partido ante el r esto de las componentes bsicas. Se tendr entonces una interpretacin comn del estado de las cosas. Para esa interpretacin, resultar que cada una de las cuatro declaraciones compuestas tendrn definido su valordeverdad, (funcindeldelas componentesydelas conectivas usadas).En este puntoes posible plantearse algunas cuestiones: Satisfacibilidad: efectivamente, de todas las interpretaciones posibles, alguna hay que consigue que esas cuatro declaraciones compuestas resulten simultneamente verdaderas. No o bstante, si se aade como quinta declaracin , no se encontrar interpretacin algun a que hagaverdaderasaestas cinco declaraciones: resultarun conjunto insatisfacibledeexp resiones. Consecuencia: en todaslas interpretacionesenquelas cuatro declaraciones seanverd aderas(en todas, todas), resultar que la expresin no se evaluara como verdadera. Esta expresines consecuencia lgicadelas cuatro anteriores.Vuelvaa leerlas cuatro declar aciones del ejemplo, suponiendo que efectivamente sonverdaderas,ytratede llegara esta co nclusin.Equivalencia: si se compara la declaracin Si entonces con esta otra Si no entonces no , resultar que presentan una relacin curiosa: toda interpretacin que hacea unade ellasverdadera tambinlo haceala otra,ylo mismo ocurre con las interpretaciones que las hacenfalsas. Son dos formas distintasdee xpresarlo mismo. Validez: es posible construir expresiones que sean verdaderas en toda interpreta cin, anlogamente a cmo, en el lenguaje de la aritmtica, x+ 3+(-x)= 3no importa cul sea el valor de x. En nuestro ejemplo, sera posible contruir una nica expresin de este estilo con l as cuatro declaracionesy una quinta: no . Como se puede intuir, todas estas cuestiones estn interrelacionadas. Para expresa r formalmente esta interrelacines necesario definircadaunodelos conceptos utilizados.Todoellose producesobre la semntica de la lgica de proposiciones: la manera precisa de evaluar una expresin en funcin de los valores de sus componentes.22 Captulo 1. LGICA DE PROPOSICIONES 1.2.2 Valores de verdad de frmulas atmicas Slose considerarndos posiblesvaloresdeverdad:verdaderoofalso.Se denotarn preferente mente como1(verdadero)y0(falso). Alternativamente, se utilizarla notacin v (verdadero)y f (falso). Definicin 1.28 (Asignacin) Una asignacin natom :Form_Atom7 . {0,1} es una funcin del conjunto de frmulas atmicas en el conjunto de valores de verdad, con natom(?)= 0ynatom(>)= 1. Ejemplo 1.29 Para fijar ideas,sinuestro alfabeto contuviera slo3letras proposicio nales, una asignacinhara corresponderacadaunadeestasletrassuvalordeverdad:bien0(falso),bien1(verdadero). En cuantoa las constantes, toda asignacin debe hacer corresponder0 a . y1a >. En este caso, la siguiente correspondencia natom es una asignacin: natom(p)= 0, natom(q)= 1, natom(r)= 0; natom(?)= 0, natom(>)= 1 Se pueden definir, en este conjunto de3letras, hasta8asignaciones distintas. En la tabla (tabl. 1.2) se enumeran todas: cada lneaes una asignacin distinta.La inferiorfijaquelas3propos iciones son falsasyla superior que sonverdaderas. Si se consideran las filas como codificacin en binariode un nmero, es fcil generarlas todas. En general, para n variables, hay2n asignaciones distintas. pq r 7 . 111 6 . 110 5 . 101 4 . 100 3 . 011 2 . 0101 . 001 0 . 000 Tabla 1.2:23 asignaciones distintas sobre3letras proposicionales 1.2.3 Semntica de las conectivas El valor de verdad de una frmula compuesta debe depender slo del valor de sus subfr mulas inmediatasyde la conectiva que las une. En el caso ms simple, (p) ser verdadera si pesfalsayser falsa si pes verdadera. La tabla (tabl.1.3) reunela funcin asociadaa cada conectiva binaria,en definitiva ,la funcinque la caracterizayla distinguede otras. As, (p. q) tendr comovalordeverdad0si pes verdaderay qfalsa. Observe que . =(q. p) tendr comovalor1si pes verdaderay qfalsa. En la tabla, pse refiere a la subfrmula izquierday qala derechayloqueseexpresaes sila subfrmula izquierdaesfa lsa (0)yla derechaverdadera(1), entoncesla frmulaesverdadera(1). Exactamenteloquesefi jpara j. Loque distingue una conectivade otraesexclusivamentesu funcin.Sien otrotextose de fine una conectiva & con,exactamente,lamisma funcinque ^,considere que se trata del mismo conc epto de1.2. Semntica pq 11 10 01 00 p. qp. qp. qp. q 111 010 011 001 1 0 0 1Tabla 1.3: Semntica de las conectivas binarias conjuncin, denotado de otra forma. Sobre estas cuatro conectivas binarias convien e resaltar algunos detalles: Conjuncin(^): formalmente, slo es verdadera en un caso, cuando todas las subfrmulas inmediatas lo son. Representa el concepto de conjuncin del lenguaje natural. Disyuncin(_): formalmente, slo es falsa en un caso, cuando todas las subfrmulas inm ediatas lo son. Representa el concepto de disyuncin no exclusiva del lenguaje natural: cu ando se acepta una cosa, la otra o ambas. Una frase como vienes o te quedas utiliza una di syuncin exclusiva que representa ms fielmente otra conectiva. Condicional(!): en expresiones condicionales, a la subfrmula izquierda se le deno mina antecedente ya la derecha, consecuente. Un condicional slo es falso en un caso, c uando el antecedente esverdaderoyel consecuente esfalso. Capta, en parte,el uso que se ha cedela implicacin en lenguaje natural: efectivamente,siel antecedente esverdaderoyel con secuente (lo implicado)noloes,nose admitequeexista,queseaverdadera,esa relacinde implicacin . Sin embargo, la implicacin en lenguaje natural suele llevar asociada una causalid ad fsica: si lo sueltas, se cae . Hay algo en la estructura interna del antecedente o en lo que expresa sobre el mundo que obliga al consecuente a ser verdad, cuando el antecedente lo es. Na da de eso es formalmente expresable sobre un condicional proposicional. No se suelen establecer relaciones de implicacin, en lenguaje natural, usando ant ecedentes que sonfalsos: si8 es un nmero primo entonces ... Nuestro condicional ha resaltado,muy tilmente,un nico casoenqueesfalsoacostade agruparlos otros tres.Enlaevaluacin forma l deexpresiones, puede ocurrir queel antecedentede un condicional resultefalso, en tonces se admitir, se aceptar como verdadera la relacin condicional expresada, puesto que no se est enel (nico) caso en que esfalsa. Todas estas reflexiones slo tienen que ver con la capacidad de expresar implicaci ones naturales con condicionales en este formalismo. Si uno se mantiene slo dentro del formalism o, el condicional es la funcin que lo define, como en cualquier otra conectiva. Obse rve que, automticamente, siel antecedente esfalsoya se puede afirmar queel condicional esverdadero (sinev aluar el consecuente), y,siel consecuenteesverdadero, tambinloesel condicional(sin necesidaddeevaluarel antecedente). Bicondicional($): si se admite que es verdad que si un nmero es divisible por cuat ro entonces es divisible por dos , se est aceptando una relacin condicional entre antecedentey consecuente(en ese sentido). Esta aceptacin, direccional,no afirma(niniega)quesev erifique24 Captulo 1. LGICA DE PROPOSICIONES la relacin en el otro sentido. Cuando se enuncia un bicondicional, se enuncia una relacin condicionalenambos sentidos: unnmeroesmltiplode10(siyslosi, bicondicional)termina en 0 . Un bicondicional es falso en dos interpretaciones: las que, respectivamente, hara n falso el condicional en un sentido u otro. 1.2.4 Valores de verdad de frmulas complejas No slo las frmulas atmicas tienen asignado un valor de verdad. Cualquier frmula, por muy compleja que sea, debe poderevaluarse. De hecho,la funcin que define las conectiv asyafacilita evaluar frmulas con, a lo sumo, una conectiva. Siel nmerode frmulas fuera finitoypequeo, se podra establecer a mano una correspondenci a entre frmulasyvaloresdeverdad.No todaslas correspondencias seran aceptables.En con creto, se descartara las correspondencias que evaluaran como verdadera tanto a una frmula como a su negacin. Las correspondencias aceptables se denominan interpretaciones ydeben ver ificar ciertas propiedades. Definicin 1.30 (Interpretacin) Una interpretacin . :Form7 . {0,1} es una funcin que asigna a cada frmulaunvalordeverdadyqueverificalas siguientes restricciones: 1. n(?)= 0, n(>)= 1 2. n(j)= n(j) 3. n(. * y)= n(j) * n(y), para cada uno de los operadores binarios La ltima propiedad requiere que el valor asignado a una frmula compleja coincida c on el que calcula la conectiva cuando se aplica sobre los valores de las dos subfrmulas. La figura (fig. 1.7) representa el rbol sintctico de una frmula. Se ha fijado una a signacin de partida natom(p)= 1, natom(q)= 0, que se propaga hacia arriba hasta producir el valor de la frmula. En todo nodo, cada conectiva calcula exactamente la funcin que la defina. . ??????.((p. q) . (?)) (p. q)(?) 1 . ??_. __ 01 10 p qp q ?. Figura 1.7: Interpretacin inducida por una asignacin Parece, grficamente, que partiendo de una asignacin sobre las frmulas atmicas queda determinado unvalor para cada frmula: una interpretacin. Efectivamente, este proceso se puede formalizar recursivamente. Y el principio de recursin estructuralgarantiza que la funcin obte nida es nica (para cada asignacinde partida)yest bien definida. . 01.2. Semntica 25 Definicin 1.31 (Interpretacin, por extensin de una asignacin) : . . n(j) =(y) * n(c) ,. =(. * c) n(j)= n(j)= n(y) ,. =(y) . natom(j) ,. atmica Resta slo un pequeo detalle formal. Si el alfabeto consta de 100 letras proposicio nales (o de infinitas), una asignacin . debe facilitar el valor de verdad de todas ellas. Suponga que se est trabajando, en ese momento, sobre una frmula . (o frmulas) que no contiene ms que 10 letras proposicionales distintas. Existen, entonces, muchas asignaciones que coinciden en los valores sobre esas 10 letras pero difieren en el resto. Escoja cualquiera de ellas para calcul ar el valor de j, todas producirn el mismo. Depende slo de la asignacin sobre esas 10 letras, no de la asig nacin sobre el resto. Teorema 1.32 Si n1(pk)= n2(pk) para todas las variables pk que aparecen en j, entonces n1(j)= n2(j) Este resultado permite que, cuando se fija una asignacin, slo se haga sobre las le tras que aparecen en las frmulas analizadas, sin precisar el valor de otras letras del alfabeto no utilizadas. 1.2.5 Tablas de verdad Si vuelve a observar la figura (fig. 1.7) apreciar que, lo nico necesario para int erpretar la frmula, es fijar una asignacin. Y tambin que, por contener slo dos letras proposicionales, existen4 asignaciones distintas. As, si el problema es interpretar la frmula, basta una asignacin. Pero si interesaconocer cmo se comporta globalmente la frmula habr que estudiarla frente a toda asignacin posib le. La tabla (tabl. 1.4) es una enumeracin completa delvalordela frmula para cada asignacin dist inta.Aeste tipo de tablas se le denomina tabla de verdad de la frmula. pq 1 1 0 0 1 0 1 0 1 1 1 1((p. q) . (?)) Tabla 1.4:Tabladeverdadde((p. q) . (?)) Para este ejemplo, slo cuando se consideran todas las interpretaciones se confirm a una propiedad de esta frmula: esinvariablemente verdaderabajo todainterpretacin. Para confirmar propiedades como sta resultar inevitable calcular ntegramente la tabla (hasta disponer de otros mtodos). Otras cuestiones se resolvern considerando slo algunas interpretaciones determinadas. Considereuna frmulacasi idnticaaladelejemploprevio:((p^q)_(p)).Tiene el mismo rbol que el de la figura (fig. 1.7), sustituyendo . por p. En este nuevo rbol, paparece en dos posiciones iniciales. Sintcticamente se requiere as. Semnticamente, ambas apariciones estn rela cionadas: bajo una misma asignacin no se puede considerar que una aparicin de pes verdadera al tiempo que la otra esfalsa. Latabladeverdaddeestanuevafrmulase presentaen(tabl.1.5). Cuandola frmulaes complej a suele ser til ir calculando la tabla de verdad de algunas subfrmulas como pasos in termedios. En concreto, en esta tabla, la ltima columna se obtiene por disyuncin de las dos auxi liares previas.Captulo 1. LGICA DE PROPOSICIONES p q (p. q) (p) ((p. q) . (p)) 1 1 1 0 1 0 0 0 0 1 0 1 0 0 0 11 0 1 1Tabla 1.5:Tabladeverdadde((p. q) . (p)) Esquizmsefectivo rellenarlatabladeverdadconelrbolenmente:deabajoarriba,secalcula el resultadode cada nodo-conectiva que se visitay se escriben losvaloresde salid a enla columna debajo de la conectiva. Un ejemplo de este proceso se muestra en la tabla (tabl. 1.6). Los valores que resultan debajo de la conectiva principal (en negrita) son los ltimos que se calc ulanycorresponden a la frmula total. pq 1 1 0 0 1 0 1 0 1 0 0 0 1 0 1 1 0 0 1 1(p. q) _p Tabla 1.6:Tabladeverdad, compacta,de((p. q) . (p)) 1.2.6 Tautologasycontradicciones Yaseha vistoun ejemplode frmulaqueesverdaderaen toda interpretacin,en toda lneadela tabla deverdad.Tambinpueden definirse frmulasqueseanfalsasentoda interpretacin.Ylatabla(t abl. 1.6)facilita un ejemplode frmula tanto convalores1 como0, segn fuerala interpretac in. Definicin 1.33(Tautologasycontradicciones) Auna frmula verdadera para toda interpre tacin se le denomina tautologa.Auna frmulafalsaparatoda interpretacinsele denomina contradiccin. Las tautologasycontradicciones son dos presentacionesdela misma realidad. Resulta rnextremadamente importantes en el estudio de la lgica proposicional. A las frmulas que no son ni tautologa ni contradiccin se las suele denominar contingentes. 1.3 Conceptos semnticos bsicos 1.3.1 Satisfacibilidad La satisfacibilidad es la potencialidad de ser satisfecho. En Lgica, una interpre tacin satisface una o varias frmulas cuando stas se evalan como verdaderas en esa interpretacin. Definicin 1.34 (Satisfaccin) Una interpretacin . satisface una frmula . si n(j)= 1. Una interpretacin . satisface un conjunto de frmulas F = {j1,..., jn} si n(jk)= 1para toda frmulajk de F.1.3. Conceptos semnticos bsicos Grficamente, sobre la tabla de verdad, cualquier lnea (interpretacin) donde una frmula se evala como1 satisface esa frmula. Una interpretacin satisface a un conjunto de frmul as si todas ellas presentan valor1 en esa misma lnea. La satisfaccin de una frmula coincide con la satisfaccin del conjunto de frmulas que slo la contieneaella. Cuandouna interpretacin satisfaceauna frmula(oaun conjunto)sedicequ eesun modelo de esa frmula (o conjunto). El concepto de satisfaccin requiere: (1) disponer de una interpretaciny(2) de un c onjunto de frmulas. Entonces se puede decidir si esa interpretacin satisface o no a ese conju nto. La satisfacibilidad es la posibilidad de ser satisfecho por alguna interpretacin. No sefacilita la in terpretacin, slola frmulao frmulas,y se requiere encontraral menos una interpretacin que las sati sfaga. p q r q) . (q. r) (p. q) . (q. r) (p. q) . (q. r) 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 (p.0 0 0 0 0 0 0 01 0 1 1 1 1 1 11 1 1 1 1 1 1 1Tabla 1.7: Una frmula insatisfacibleydos satisfacibles Definicin 1.35 (Satisfacibilidad) Una frmula . es satisfacible si existe alguna interpretacin . tal que n(j)= 1. Un conjunto de frmulas F = {j1,...,jn} es satisfaciblesiexiste alguna interpretacin . tal que n(jk)= 1, para toda jk en F.De nuevo coloquialmente, basta que exista una lnea (al menos) donde se satisfaga (simultneamente) ese conjunto de frmulas, para afirmar que es satisfacible. Si un conjunto (o una frmula) no es satisfacible se denominar insatisfacible. Las frmulas insatisfacibles tambin se denominan contradicciones. Ejemplo 1.36 Observe la tabla de verdad (tabl. 1.7). La primera frmula (por la iz quierda) es insatisfacible, una contradiccin. Las dos restantes son satisfacibles. De estas dos frmulas satisf acibles, una resulta serverdadera en toda interpretacinyla otra no. Ejemplo 1.37 Observe la tabla de verdad (tabl. 1.8). Ese conjunto de 3 frmulas es satisfacible. Existe una lnea(al menos) donde todaslas frmulas tienenelvalor1.La tabla (tabl.1.9 ) corresponde a un conjunto de frmulas insatisfacible. Propiedades El conjuntode frmulasdela tabla (tabl.1.8)se satisface simultneamenteen5lneas.Sise eliminase una de las frmulas, el conjunto resultante se satisfara en un nmero igual o mayor d e lneas. Por contra, si se aadiese una frmula cualquiera, el conjunto resultante se satisfara en un nmero igual o menor de lneas. En la generalizacin de este estudio, los siguientes resultados sern especialmente t iles. Se los adjuntamos en un nico teorema, de nuevo sin demostracin:Captulo 1. LGICA DE PROPOSICIONES p q 1 1 1 1 1 0 1 0 0 1 0 1 0 0 0 0 r 1 0 1 0 1 0 1 0 p. (q. r) 1 1 1 0 1 1 1 1 (p. q) . r 1 1 1 0 1 0 1 0 r . (r. p) 1 1 1 1 1 1 1 1 v v v v vTabla 1.8: El conjuntoG = {p. (q. r), (p. q) . r, q. (r. p)} es satisfacible Teorema 1.38 Sea F = {j1,...,jn} un conjunto de frmulas: Si F es satisfacible yse elimina una de sus frmulas, entonces el conjunto resultante es satisfacible yse le aade una tautologa, el conjunto resultante es satisfacible yse le aade una contradiccin, el conjunto resultante es insatisfacible Si F es insatisfacible yse aade una frmula cualquiera, entonces el conjunto resultante es insatisfacible yse elimina de entre sus frmulas una tautologa (si la hubiera), el conjunto result ante es insatisfacible Si a un conjunto satisfacible se le aade una frmula satisfacible no se puede asegu rar que el conjunto resultante sea satisfacible.Tampoco se puede asegurar nadaside un conju nto insatisfacible se elimina una frmula cualquiera (no tautolgica). pq r 1 1 1 1 1 0 1 1 0 1 1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 1 1 1 0 0 0 1 0 10 0 0 0 01 0 1 1 0 0 0 1 0p. (q. r)(p. q) (r. p) Tabla 1.9: El conjuntoO = {(p. (q. r), (p. q), (r. p)} es insatisfacible Procedimiento de decisin El mtodo ms directo (aunque ms costoso) para decidir la satisfacibilidad de una frmu la (o de un conjunto) consiste en recorrer todas las interpretaciones de la tabla de verdad, hasta producir:1.3. Conceptos semnticos bsicos 29 un resultado afirmativo: es satisfacible; para ello, basta encontrar la primera interpretacin satisfactoria. o un resultado negativo: no es satisfacible; para ello es preciso recorrer todas las interpretaciones posibles. Si en un conjunto de frmulas aparecen n letras proposicionales, el nmero de interp retaciones distintas es 2n . Es decir, si n = 30, sera preciso comprobar una tabla de verdad con ms de mil millones de entradas. Afortunadamente , en lgica proposicional, el nmero de interpretaciones distintas (aun que intratable por exponencial) es finito. En lgica de primer orden se pierde esta cualidad: exi sten infinitas interpretaciones distintas para una frmula. Satisfacibilidadyconjuncin Existe una relacin estrecha entre la satisfacibilidad de un conjunto de frmulasyla satisfacibilidad de una nica frmula: la que se construye por conjuncin de todas las frmulas del conju nto. Teorema 1.39 Sea F = {j1,...,jn} un conjunto de frmulas: F = {j1,...,jn} es satisfaciblesiyslosila frmula j1. ... . jn es satisfacible F = {j1,...,jn} es insatisfaciblesiyslosila frmula j1. ... . jn es una contradiccin Observe que los resultados se aseguran de forma bicondicional: si F es satisfacible entonces la conjuncin lo es;ysi la conjuncin es satisfacible, entonces el conjunto de las frmul as conectadas por esas conjunciones es satisfacible. Cualquier interpretacin que satisfaga al c onjunto satisfar a la conjuncin (y viceversa).1.3.2 Validez Una frmula vlida es aqulla que es verdadera frente a cualquier interpretacin. Las ta utologas son frmulas vlidas. La satisfacibilidad divide en dos al conjunto de frmulas: en in satisfacibles (contradicciones)ysatisfacibles. Este ltimo conjunto tambinsedivideendos: frmulas t autolgicas yfrmulas contingentes. Observe que: si niega una frmula insatisfacible, la frmula resultante es una tautologa si niega una tautologa, la frmula resultante es insatisfacible si niega una frmula contingente, la frmula resultante es contigente siniegauna frmula satisfacible,la frmula resultantepuedeser satisfacibleonoserlo;t anslo se puede afirmar que no ser tautologa Notacin Para expresar que una frmula. es vlida se utilizar la notacin |= j.30 Captulo 1. LGICA DE PROPOSICIONES Procedimiento de decisin Para decidir la validez de una frmula, de nuevo, el procedimiento semntico extensi vo requiere recorrer toda la tabla de verdad. Los resultados negativos se pueden obtener ms rpidamente: basta encontrar la primera interpretacin que no satisface la frmula. Pero los resultados positivos requieren una comprobacin completa. De los resultados del apartado anterior volvemos a resaltar que: una frmula . es vlidasiyslosi . es insatisfacible Por lo tanto: cualquier mtodode decisindela (in)satisfacibilidad permite decidirla validez,yvice versa Preservacin por sustitucin La sustitucin uniforme (1.25)es una operacin sintcticaque permite,a partirde una frm ulayde una sustitucin, obtener otra: su instancia por esa sustitucin dada. Es una operacin extremadamente til, ya que preserva la validez. Teorema 1.40 Si . es una frmula vlida entonces su instancia por sustitucin (j)s es una frmula vlida, para cualquier sustitucin s. Ejemplo 1.41 Compruebe que la frmula j: ((p. q) . (q. r)) es una tautologa. Fijemos la sustitucin s(p)= p, s(q)=(p. r), s(r)=(r) entonces (j)s es una tautologa:((p. (p. r)) . ((p. r) . (r))) 1.3.3 Consecuencia Observe la tabla (tabl. 1.10). La ltima frmula verifica una interesante relacin res pecto al conjunto de las frmulas previas: en todas (todas, todas) las lneas en que esas frmulas coinciden en ser verdaderas, la ltima tambin lo es (y quiz en alguna ms) . Esta es una descripcin informal de la relacin ser consecuencia lgica de . En este ejem plo, (q. r) es consecuencia lgica del conjunto de frmulas {((p) . q),(p. r)}, a las que denominaremos premisas o hiptesis. Muy coloquialmente: en cualquier estadode cosasenquelas hiptesis, todas, seanverdad eras,la consecuencia (para merecer tal nombre) no puede dejar de serlo . Observe que la co nsecuencia puede ser cierta en ms lneas, pero debe ser cierta en las lneas verdaderas comunes de las hiptesis.1.3. Conceptos semnticos bsicos p q 1 1 1 1 1 0 1 0 0 1 0 1 0 0 0 0 r 1 0 1 0 1 0 1 0 p. q 1 1 1 1 1 1 p. r 1 1 1 1 1 1 . . . . . . . . q. r 1 1 1 1 1 1 v v v vTabla 1.10: Consecuencia.{(p. q), (p. r)}|=(q. r) Definicin 1.42 (Consecuencia) Una frmula . es consecuencia de un conjunto F = {j1,...,jn}de frmulas si toda interpretacin que satisface a F tambin satisface a y. Notacin Para representar que. es consecuencialgica de F = {j1,...,jn} se suele emplear la notacin F |= y, {j1,...,jn}|= y. Cuando no se cumple la relacin de consecuencia se denota tachando el smbolo: F 6|= y. Es tambin usual omitir las llaves del conjunto: j1,...,jn |= y. En particular, . |= . denota que la frmula . es consecuencia lgica de la frmula j . pq r 1 1 1 0 0 1 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 0 1 1 0 1 1 1 1 . . 1 0 1 0 0 1 1 0 0 1 1 0 0 0 0 0 0 0 0 p. r (p. q) p. q vTabla 1.11: Consecuencia.{p. r, (p. q)}|=(p. q) La definicin anterior se puede presentar, semiformalmente, como: F |= . si para toda interpretacin n:[(. satisface F). (. satisface y)] Es decir, es preciso comprobar, una a una, que toda interpretacin . verifica el condicional entre corchetes.Enla tabla (tabl. 1.11),delas8interpretaciones posibles,7verificanel c ondicional porque hacenfalsoel antecedente (ningunade ellas satisfacea toda frmula del conjunto F de premisas). Yla interpretacin restante tambinverificael condicional porque haceverdaderoel ant ecedentey verdadero el consecuente. Observe que para que ese condicional no se satisfaga debe existir (al menos) una interpretacin (una lnea) que satisfaga todas las premisas de F pero no satisfaga a y.Captulo 1. LGICA DE PROPOSICIONES Procedimiento de decisin En Lgica de Proposiciones, donde el nmero de interpretaciones distintas es finito, la relacin de consecuencia lgica se puede decidir mediante el siguiente procedimiento: 1. construya la tabla de verdad comn de todas las frmulas (considerando todas las variables distintas) 2. sealelas lneasverdaderasdela primera hiptesis(j1), de la segunda(j2), ..., de la ensima jn 3. determine la interseccin de estos conjuntos de lneas 4. valore la consecuencia(y)slo en esas lneas comunes (el valor de la consecuencia en el resto es irrelevante): si es verdadera en todas ellas, entonces . es consecuencia del conjunto {j1,j2,...,jn}. Es decir, {j1,j2,...,jn}|= . Propiedades de inters La relacin de consecuencia, entre una frmulay un conjunto de frmulas, presenta las siguientes propiedades: Reflexividad: . |= j;es decir, toda frmula es consecuencia lgica de s misma Transitividad: si{j1,...,jn}|= . y. |= c, entonces {j1,...,jn}|= . Monotona: sea F = {j1,...,jn}; si F |= . y F . W, entonces O |= y; es decir, si de un conjunto de premisas se sigue una consecuencia y, la incorporacin de nuevas premi sas a este conjunto no altera este hecho: . sigue siendo consecuencia de este conjunto ampliado. Consecuencia de un conjunto insatisfacible El ltimo punto del apartado anterior puede resultar chocante: si se aaden nuevas p remisas a un conjunto, es posible que produzca un conjunto insatisfacible. La definicin de cons ecuencia permiteque una frmula sea consecuencia de un conjunto insatisfacible? En la definicin (def. 1.42) de consecuencia, no existe restriccin alguna sobre el conjunto F de premisas. De hecho, en el anlisis que se hace del ejemplo de la tabla (tabl.1.11) , se acepta que F |= . (para las frmulasde esa tabla) porque7interpretaciones no satisfacen F (hacenfalsoel antecedente dela definicin)yla restante satisface tanto F como y. Conelmismoargumentoempleadoall,sifueran8(todas)las interpretacionesqueno satisfic ieran F, el condicional de la definicin para toda interpretacin n:[(. satisface F). (. satisface y)] no se harafalso en ningn caso.Y, por tanto, se admitira que F |= y. Observe que el condicional requerido es verdadero para toda interpretacin, en tod a lnea, porque ninguna consigue hacerfalsoel condicional, porque ninguna interpretacin satisface F.Ytodo esto, fuera quien fuera la consecuencia propuesta y. Importante: Absolutamente cualquier frmula verifica que es consecuencia lgica de un conjunto de frmulas insatisfacible.1.3. Conceptos semnticos bsicos Observe que, cuando se dice cualquier frmula , sto incluye a una frmula cualquiera, pe ro tambin a su negacin. Es decir: {p,p}|= p. q , pero tambin, {p,p}|= (p. q) Si el conjunto de hiptesis es satisfacible sto nunca ocurre: si una frmula es conse cuencia lgica de ese conjunto, su negacin no lo es. Importante: F |= . yF |= . siyslosi F es insatisfacible Para desarrollar cualquier teora es importantegarantizar que el conjunto de premi sas inicial es satisfacible. Consecuencia,validezysatisfacibilidad Ya se fij la relacin entre validezy satisfacibilidad: una frmula . es vlida siy slo si . es insatisfacible. Tambinexiste una dependencia formal entre estos dos conceptosyel conceptode consencuencia. Consecuenciay validez Observe la Tabla 1.12. Obviando la ltima columna, correspon de a la comprobacin semntica de que r es consecuencia lgica de las tres frmulas previas: {(p . q),(p. r),(q. r)}|= r. Si esto es as (si se verifica la consecuencia lgica), no puede dejar de ser cierto lo siguiente: la frmula condicional que se construye con la conjuncin de todas las hiptesis como antecedente,yla consecuencia como consecuente resulta siempre ser una tautologa p q r p. q p. r q. r r [(p. q) . (p. r). (q. r)] . r 1 1 1 1 1 1 . 1 v 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 . 1 . 1 v v 0 0 1 1 1 1 1 0 0 0 1 1 1 Tabla 1.12: Si{j1,...,jn}|= . entonces j1. ... . jn . . es tautologa Puede comprobarqueel condicional construido nopuededejardeserverdadero enlneaalguna:1. slo serafalsosi su antecedente fueraverdaderoysu consecuente fuerafalso. 2. su antecedente es verdadero exclusivamente en todas las lneas en que coinciden las hiptesis en ser verdaderas 3. en esas lneas en concreto, el consecuente no puede dejar de ser verdadero (puest o que es consecuencia lgica de las hiptesis con las que se ha construido el antecedente).Captulo 1. LGICA DE PROPOSICIONES 4. enel restodelas lneas, alguna hiptesisesfalsa;luego,el antecedenteesfalso(yel c ondicional global analizado no correel riesgode serfalso ). Si {j1,...,jn}|= . entonces (j1. ... . jn) . . es tautologa Pero, adems, se puede demostrar el resultado recproco Si (j1. ... . jn) . . es tautologa entonces {j1,...,jn}|= . Por lo tanto, en general {j1,...,jn}|= . siyslosi j1. ... . jn . . es tautologa. Consecuenciaysatisfacibilidad Existe una interdependencia formal entre consecuenciaeinsatisfacibilidadque trat aremosde justificar de la forma ms intuitiva posible: 1. Si {j1,...,jn}|= . entonces el conjunto {j1,...,jn,y} es insatisfacible 2. Si el conjunto {j1,...,jn,y} es insatisfacible entonces {j1,...,jn}|= . Recuerde que un conjunto es insatisfaciblesiyslosila conjuncinde sus frmulas es ins atisfacible. As, el resultado anterior se poda haber escrito: 1. Si {j1,...,jn}|=. entonces la frmula j1. ... . jn ^. es insatisfacible 2. Si la frmula j1. ... . jn ^. es insatisfacible entonces {j1,...,jn}|= . De consecuencia a insatisfacibilidad ObservelaTabla 1.13.Se supone,de partida,qu eseverifica la relacin de consecuencia: {j1,j2,j3}|= y, donde . = r. Puede comprobarse que efectivamente ocurre. Las frmulas del conjunto {j1,j2,j3} coinciden en serverdad en3 lneasy en todas ellas es verdad r (puesto que es consecuencia). La frmula r garantiza que esfalsa en todas ellas. Luego el conjunto {j1,j2,j3,r} es insatisfacible. El lector puede fcilmente generalizar este ejemplo: si una frmula es consecuencia de un conjunto, la negacin de esa frmulagarantiza que serfalsa en todas las lneas en que se satisfaca el conjunto. Si el conjunto de partida fuera insatisfacible se mantiene igualmente la propied ad: cualquier frmula es consecuencia suya,yla inclusinde su negacin en ese conjunto nolo convierte en s atisfacible. Luego, se obtiene el resutado: si {j1,...,jn}|= . entonces, j1. ... . jn ^. es insatisfacible1.3. Conceptos semnticos bsicos p q 1 1 1 1 1 0 1 0 0 1 0 1 0 0 0 0 r 1 0 1 0 1 0 1 0 p. q 1 1 1 1 1 1 p. r 1 1 1 1 1 1 q. r 1 1 1 1 1 1 . . . r 1 1 1 1 v v v [(p. q) . (p. r). (q. r)] 1 1 1 r 0 0 0 0 Tabla 1.13: Si{j1,...,jn}|= . entonces j1. ... . jn ^. es insatisfacible De insatisfacibilidad a consecuencia En el resultado anterior, la frmula . que hay que negary aadiralas hiptesis est perfectamente definida:laquese afirma como consecuencia lgica de ellas. Suponga que quiere convencerse intuitivamente del resultado recproco: si {j1,...,jn,y} es insatisfacible, entonces {j1,...,jn}|= . En la expresin formal del conjunto se ha sealado una frmula, pero realmente, en cad a caso particular, lo nico que se conoce es estas 10 frmulas son insatisfacibles . La pregun ta ahora es hay alguna de ellas que sea consecuencia lgica del resto? La respuesta sera: cualqu iera de ellas (negada) es consecuencia lgica del resto. SobrelaTabla 1.14, compruebeque {j1,j2,j3} es insatisfacible. Entonces, debe resultar (puede comprobarlo sobre la tabla) que: 1. {j2,j3}|= j1 2. {j1,j3}|= j2 3. {j1,j2}|= j3 Observe que {j2,j3} y{j1,j3} resultan ser satisfacibles, mientras {j1,j2} es insatisfacible. Recapitulando hasta el momento: se parte de que un conjunto es insatisfacible, s e extrae una frmula, se niega, y se pretende demostrar que es consecuencia del resto. Al extra er esa frmula del conjunto insatisfacible, ste (el conjunto resultante) puede seguir siendo ins atisfacible o ya no.Consideremosla demostracinbuscada para estos dos casos. p q r j1 : p. (q. r) j2 : p. q j3 :p. q. r j1 j2 j3 1 1 1 1 0 0 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Tabla 1.14: Sij1. .... jn insatisfacible entonces {j1,...,jj-1,jj+1,...,jn}|= jj Si un conjunto es insatisfacible y suprimo una de las frmulas jj el conjunto rest ante puede resultar satisfacible o no:Captulo 1. LGICA DE PROPOSICIONES 1. si resulta satisfacible: la frmula jj taponaba (era falsa en) todas las lneas en que ahora resultan coincidir las restantes; luego jj resulta verdadera en todas esas lneas. As que jj es consecuencia del conjunto restante. 2. si resulta insatisfacible: cualquier frmula (incluida jj)es consecuencia de este conjunto resultante. Combinando este resultado con el recproco anterior se obtiene: j1. ... . jn ^. es insatisfacible siyslos {j1,...,jn}|= . Resultados equivalentes Aprovechandola relacinexistente entre satisfacibilidady v alidez, este mismo resultado podra reescribirse como: (j1. ... . jn . y) es vlida si yslo s {j1,...,jn} |= . En la subseccin anterior ya se fij un resultado similar: j1. ... . jn . . es vlida si yslo s {j1,...,jn} |= . Las dos expresiones vlidas de estos resultados son equivalentes: su tabla de verd ad es exactamente la misma (la de una tautologa). Cada una es vlida siyslo si la otra lo es. La equiv alencia entre expresiones es el prximo objeto de estudio. 1.3.4 Equivalencia Definicin 1.43 (Frmulas equivalentes) Dos frmulas, . yy, son equivalentes si . |= . y. |= j. Es decir, se requiere que una frmula sea consecuencia lgicadela otra(y viceversa). Para fijar ideas,si .se satisfaceen5lneasdela tabladeverdad, cualquier consecuenciasuya . se satisfar en esas5lneasyquiz en alguna ms. Pero se exige adems, que tambin la primera sea consecuencia de la seg unda. Estasdos restricciones slo se cumplensi ambas frmulas sonverdaderasexclusivamentee n las mismas5 lneas. As, se poda haber partido de esta otra definicin. Definicin 1.44 (Frmulas equivalentes) Dos frmulas, . yy,son equivalentes sin(y)= n(j) para toda interpretacin . Notacin Escr