Introducci´ on a los Algoritmos - 1er. cuatrimestre 2015 Gu´ıa 5: Sem´ antica y C´ alculo de L´ ogica de Predicados La l´ ogica de predicados o l´ ogica de primer orden es el sistema l´ogico est´andar que formaliza el sistema deductivo natural. El objetivo general de esta gu´ıa es aprender a utilizar f´ormulas con cuantificadores universales (∀) y existenciales (∃), tanto para interpretar su significado, como para utilizarlas para realizar demostraciones formales en este sistema l´ ogico. Interpretaci´ on y construcci´ on de modelos en L´ ogica de Predicados La L´ ogica de Predicados cuenta con todos los operadores de la L´ogica Proposicional (≡, ¬, ∧, ∨, etc´etera) e incorpora dos nuevos operadores de cuantificaci´ on. Por ejemplo, sea el predicado T.x, definido como . T.x = x es m´ ultiplo de 3 el cuantificador universal ∀ permite expresar que todo x es m´ ultiplo de 3. Esto se denota por h∀x : : T.xi. El cuantificador universal indica que la propiedad es satisfecha por todos los valores de la variable. El cuantificador existencial ∃, expresa que la propiedad es satisfecha por al menos un valor de x. Por ejemplo h∃x : : T.xi indica que existe un x que es m´ ultiplo de 3. El conjunto de valores sobre el que la propiedad expresada se eval´ ua se especifica en el rango de la f´ ormula. Mientras que la propiedad se expecifica en el t´ ermino. El rango y el t´ermino se escriben en las siguientes ubicaciones: h∀x : rango.x : termino.xi h∃x : rango.x : termino.xi Por ejemplo, el enunciado “Todos los naturales son enteros” se formaliza como: h∀x : naturales.x : enteros.xi el enunciado s´ olo se eval´ ua sobre el conjunto de naturales (y no de los reales, por ejemplo). El objetivo de los siguientes ejercicios es clarificar el significado de los nuevos operadores de cuantificaci´ on, para lograr la capacidad de leer y escribir f´ ormulas que los involucran. 1. Dado el siguiente mundo decid´ı si las siguientes sentencias son satisfechas o no (y por qu´e). Por ejemplo, la sentencia “Hay un cuadrado grande” se satisface por el objeto D. Sin embargo, la frase “Todos los c´ırculos son grandes”, no se satisface a causa del c´ırculo chico E. 1 a) F est´ a entre D y E. b) Todos los tri´ angulos son chicos. c) Existe (al menos) un cuadrado chico. d ) A est´ a a la derecha de todo. e) Nada est´ a a la derecha de B. Elimin´ a el tri´ angulo F. ¿El inciso (b) se sigue satisfaciendo? ¿Por qu´e? 2. Constru´ı un mundo en el que se satisfagan progresivamente cada una de las siguientes sentencias, utilizando cuadrados, c´ırculos y tri´ angulos, chicos o grandes. a) Algo es grande. b) Hay un cuadrado. c) Hay un cuadrado grande. d ) Un cuadrado grande est´ a a la izquierda de B. e) Algo que est´ a a la izquierda de B est´a arriba de C. f ) Alg´ un c´ırculo no es grande. 3. Utilizando sat constru´ı el modelo que se muestra a continuaci´on: Not´ a que todos los enunciados del ejercicio anterior se satisfacen en este mundo. Luego, a) Introduc´ı tus formalizaciones de los enunciados y verific´a que se satisfagan. Si no es as´ı, te equivocaste en algo ¿pod´es encontrar donde est´a el error de la traducci´on? b) Mov´e el cuadrado grande a la esquina superior derecha del tablero. Observ´a que el enunciado d no se satisface mientras que los restantes siguen valiendo. Verific´a que lo mismo ocurra con tus formalizaciones. c) A partir del mundo original, mov´e c hacia arriba por su propia columna hasta la fila superior y hac´e grande a b. Ahora los enunciados e y f no se satisfacen. Verific´a que lo mismo ocurra con tus formalizaciones. 4. Constru´ı un u ´nico modelo como los de sat, en el que se satisfagan, simult´aneamente, las siguientes propiedades a) h∀x : Circ.x : Rojo.x ≡ Grande.xi b) h∃x :: h∃y : ¬(x = y) : Grande.x ≡ (¬Rojo.y)ii c) h∀x : ¬Circ.x : h∃y :: Circ.y ∧ Rojo.yii 2 d ) h∀x : Grande.x : h∀y :: (¬Rojo.y) ≡ Tr.yii Para evitar confusiones, dar un dibujo del modelo, nombrando todos los elementos, y luedo indicar, para cada elemento qu´e propiedades (forma, color, tama˜ no) tiene. Ejemplo “e1 es c´ırculo, rojo, grande”. 5. Constru´ı un u ´nico modelo como los de sat, en el que se satisfagan, simult´aneamente, las siguientes propiedades: a) h∀x : ¬Rojo.x ∨ Tr.x : h∃y : (x = y) : Grande.yii b) h∃x : Rojo.x : h∃y :: Rojo.x ≡ ¬Rojo.yii c) h∀x : Cuad.x : h∃y : ¬(x = y) : Tr.yii d ) h∀x : Rojo.x : Cuad.x ∧ h∃y :: Grande.xii Para evitar confusiones, dibuj´ a el modelo nombrando cada figura, y luedo indic´a las propiedades (forma, color, tama˜ no) que cada una tiene. Por ejemplo “e1 es tri´angulo, rojo, grande”. Interpretaci´ on y formalizaci´ on de enunciados en l´ ogica de predicados 6. Expres´ a el significado de cada una de las siguientes f´ormulas en lenguaje natural. Por ejemplo, en la f´ ormula h∀i : 0 6 i < #xs : xs ! i = 0i debemos suponer que la variable xs es de tipo lista, para que el tipado sea correcto. Las siguientes sentencias son todas traducciones de esta f´ormula al lenguaje natural: “Todos los elementos de la lista xs son ceros” “La lista xs est´a compuesta u ´nicamente por ceros” “La lista xs no tiene otro valor que cero”. . . a) h∀x : x ∈ Num : h∃y : y ∈ Int : x < yii b) h∃x : x ∈ Num : h∀y : y ∈ Int : x < yii ¿Es lo mismo que el anterior? c) h∀x, z : x, z ∈ Num ∧ x < z : h∃y : y ∈ Num : x < y < zii. d ) h∀p, q : 0 6 p ∧ 0 6 q ∧ p + q = #xs − 1 : xs ! p = xs ! qi. e) N 6 #xs ∧ h∃i : 0 6 i < N : xs ! i = 0i f ) h∃N : N 6 #xs : h∀i : 0 6 i < N : xs ! i > 0ii g) #xs = #ys ⇒ h∃i : 0 6 i < #xs m´ın #ys : xs ! i 6= ys ! ii. 7. Formaliz´ a las siguientes sentencias escritas en lenguaje natural, utilizando cuantificadores y predicados arbitrarios para aquellas propiedades elementales. Por ejemplo, para la sentencia “Hay enteros pares” puede formalizarse con la f´ ormula: h∃x : entero.x : mod.x.2 = 0i a) Todo entero es par o impar. b) El producto de dos impares es impar. c) Dados dos n´ umeros enteros positivos, existe un tercer entero tal que el primer entero multiplicado por el tercer entero es mayor que el segundo entero. d ) x est´ a en la lista xs. e) La lista xs consiste s´ olo de 0’s y 1’s. f ) Si el 1 est´ a en xs, entonces tambi´en el 0 est´a. g) Todos los elementos de xs son iguales. h) Todos los elementos de la lista son distintos. i ) La lista xs es capic´ ua. 3 j ) La lista xs est´ a ordenada de manera decreciente. k ) Las listas xs e ys tienen los mismos elementos. l ) Todos los elementos de xs tienen al menos un elemento. ¿Cu´al debe ser el tipo de xs? Demostraciones de l´ ogica de predicados En los siguientes ejercicios se deben hacer demostraciones en el C´alculo de Predicados, utilizando los axiomas y teoremas sobre cuantificadores, adem´ as de los axiomas y teoremas del C´alculo Proposicional que venimos utilizando. 8. Evaluar las siguientes expresiones usando los axiomas de cuantificadores: a) h∀i : 0 6 i < 3 : mod.([0, 2, 4, 1] ! i).2 = 0i. b) h∀i : 0 6 i < 4 : mod.([0, 2, 4, 1] ! i).2 = 0i. 9. Justificar las respuestas de estos ejercicios usando los axiomas. a) Evaluar h∀i : 0 6 i < 3 : h∀j : 0 6 j < 3 : [0, 2, 1] ! i = [0, 2, 1] ! jii. b) Decidir si la f´ ormula h∀i : 0 6 i < 3 : h∀j : 0 6 j < 3 : xs ! i = xs ! jii es satisfactible. c) Encontrar valores de x e y que satisfagan la siguiente f´ormula: h∀i : 0 6 i < 4 : [0, x, 2, y, 6] ! i < [0, x, 2, y, 6] ! (i + 1)i. 10. Demostr´ a justificando cada paso los siguientes teoremas sobre el cuantificador existencial: a) Regla del T´ermino del ∃: h∃x : : T.xi ∨ h∃x : : U.xi ≡ h∃x : : T.x ∨ U.xi. b) Rango unitario: h∃x : x = Y : T.xi ≡ T.Y , siempre que Y no ocurra cuantificada en T . c) Partici´ on de rango para ∃: h∃x : R.x ∨ S.x : T.xi ≡ h∃x : R.x : T.xi ∨ h∃x : S.x : T.xi. d ) Rango vac´ıo: h∃x : False : T.xi ≡ False. 11. Evaluar las siguientes expresiones usando los axiomas de cuantificadores y comparar con el ejercicio 8: a) h∃i : 0 6 i < 3 : mod.([0, 2, 4, 1] ! i).2 = 1i. b) h∃i : 0 6 i < 4 : mod.([0, 2, 4, 1] ! i).2 = 1i. 12. Sea elem : A → [A] → Bool definida de la siguiente manera: . elem.y.[ ] = . elem.y.(x . xs) = False y = x ∨ elem.y.xs Describ´ı con tus palabras qu´e hace esta funci´on y evalu´a las siguientes f´ormulas, usando la definici´ on de elem y las propiedades de los cuantificadores. a) h∀x : elem.x.[0, 1, 3] : x 6 3i. b) h∃x : elem.x.[0, 1, 3] : x > 3i. 13. Demostr´ a justificando cada paso los siguientes teoremas sobre el cuantificador existencial: a) Intercambio entre rango y t´ermino: h∃x : R.x : T.xi ≡ h∃x : : R.x ∧ T.xi. b) Intercambio de cuantificadores: h∃x : : h∃y : : T.x.yii ≡ h∃y : : h∃x : : T.x.yii. c) Testigo: T.Y ⇒ h∃x : : T.xi, siempre que Y no ocurra cuantificada en T . d ) Enunci´ a y demostr´ a la propiedad de Cambio de Variable para el cuantificador existencial. 14. Demostr´ a que las siguientes f´ ormulas son v´alidas, justificando en cada paso el axioma o teorema del C´ alculo de Predicados utilizado. 4 a) h∀x : Circ.x : Grande.xi ≡ h∀x : ¬Grande.x : ¬Circ.xi b) h∃x : Cuad.x : Chico.xi ⇒ h∃x : : Cuad.xi c) ¬h∃x : : Tr.xi ⇒ h∀x : Tr.x : Rojo.xi d ) h∃x : : Cuad.xi ∧ h∀y : : Grande.yi ⇒ h∃x : : Cuad.x ∧ Grande.xi En todos los items anteriores, ¿es posible cambiar los predicados Circ, Grande, Cuad, etc. por predicados arbitrarios R, T , S, etc. manteniendo la validez de las f´ormulas? Dicho de otro modo ¿la validez de las formulas anteriores depende de los predicados espec´ıficos Circ, Grande, Cuad, etc? 15. Decid´ı si cada una de las siguientes f´ ormulas es v´alida o no. En caso que una f´ormula no sea v´ alida, decid´ı si es satisfactible o no. En todos los casos justific´a con una demostraci´on, ejemplo o contraejemplo. Ayuda: Pod´es usar sat para definir mundos que sirvan como ejemplo de satisfacci´ on de una f´ ormula, o (contra)ejemplo de invalidez de una f´ ormula. a) h∀x : Cuad.x : Chico.xi ⇒ (h∀x : : Cuad.xi ⇒ h∀x : : Chico.xi) b) h∀x : Cuad.x : Chico.xi ⇐ (h∀x : : Cuad.xi ⇒ h∀x : : Chico.xi) c) h∃x : Tr.x : Grande.xi ∧ h∃x : Tr.x : Azul.xi ⇒ h∃x : Tr.x : Grande.x ∧ Azul.xi d ) h∃x : Tr.x : Grande.xi ∧ h∃x : Tr.x : Azul.xi ⇐ h∃x : Tr.x : Grande.x ∧ Azul.xi 16. a) Expres´ a en tus propias palabras lo que significan las expresiones a cada lado de ≡: h∀i : 0 6 i < #xs : xs ! i < 0i ≡ (xs ! 0 < 0) ∧ h∀i : 1 6 i < #xs : xs ! i < 0i. b) Prob´ a que esta equivalencia es un teorema. 17. Probar: h∀i : 1 6 i < #(x . xs) : (x . xs) ! i < 10i ≡ h∀i : 0 6 i < #xs : xs ! i < 10i. Ayuda: Usar el Teorema de Reenumeraci´ on. 18. Usando la siguiente definici´ on de todosMenores10 : [Num] → Bool . todosMenores10.[ ] = True . todosMenores10.(x . xs) = x < 10 ∧ todosMenores10.xs, prob´ a por inducci´ on que todosMenores10.xs ≡ h∀i : 0 6 i < #xs : xs ! i < 10i. Ayuda: Aqu´ı te ser´ an u ´tiles tus soluciones de los ejercicios 16 y 17. 19. Probar por inducci´ on en xs: h∀x : elem.x.xs : T.xi ≡ h∀i : 0 6 i < #xs : T.(xs ! i)i. 5
© Copyright 2025