lógica y programación - sintaxis y semántica de la lógica
TRANSCRIPT
![Page 1: Lógica y Programación - Sintaxis y semántica de la lógica](https://reader035.vdocuments.site/reader035/viewer/2022081802/5866adb11a28abbe408b8b2f/html5/thumbnails/1.jpg)
Logica y Programacion
Sintaxis y semantica de la logica proposicional
Antonia M. Chavez, Carmen Graciani, Agustın Riscos
Dpto. Ciencias de la Computacion e Inteligencia ArtificialUniversidad de Sevilla
![Page 2: Lógica y Programación - Sintaxis y semántica de la lógica](https://reader035.vdocuments.site/reader035/viewer/2022081802/5866adb11a28abbe408b8b2f/html5/thumbnails/2.jpg)
Aplicaciones de la Logica Proposicional
La Logica es a los informaticos como la matematica a losarquitectos o fısicos.Es “el calculo de la informatica” (M. Y. Vardi).
• Analisis de las propiedades de los sitemas en su diseno,desarrollo, mantenimiento.
• Planificacion: manufactura automatica, robotica,programacion de vuelos en aerolıneas, ...
• Diseno y verificacion de circuitos ...
• Deduccion: resolucion de problemas SAT
• Resolucion de problemas de la vida real: horarios, rutas detransporte planificacion de obras, ...
![Page 3: Lógica y Programación - Sintaxis y semántica de la lógica](https://reader035.vdocuments.site/reader035/viewer/2022081802/5866adb11a28abbe408b8b2f/html5/thumbnails/3.jpg)
Elementos de una logica
• Elementos de una logica:• Sintaxis: ¿que expresiones son formulas?• Semantica: ¿que significa que una formula F es consecuencia
de un conjunto de formulas S?: S |= F• Calculo: ¿que significa que una formula F puede deducirse a
partir de un conjunto de formulas S?: S ⊢ F
• Propiedades:• Potencia expresiva• Adecuacion: S ⊢ F =⇒ S |= F• Completitud: S |= F =⇒ S ⊢ F• Decidibilidad• Complejidad
![Page 4: Lógica y Programación - Sintaxis y semántica de la lógica](https://reader035.vdocuments.site/reader035/viewer/2022081802/5866adb11a28abbe408b8b2f/html5/thumbnails/4.jpg)
Sintaxis de la logica proposicional
• Alfabeto proposicional:• Sımbolos proposicionales: p, p0, p1, ..., q, q0, q1, ...
• Constantes: ⊥, ⊤• Conectivas logicas: Negacion: ¬ Condicional: →
Conjuncion: ∧ Equivalencia: ↔Disyuncion: ∨
• Sımbolos auxiliares: (, ).
![Page 5: Lógica y Programación - Sintaxis y semántica de la lógica](https://reader035.vdocuments.site/reader035/viewer/2022081802/5866adb11a28abbe408b8b2f/html5/thumbnails/5.jpg)
Sintaxis de la logica proposicional
Dado un conjunto SP de sımbolos proposicionales, se puede definirun lenguaje proposicional L(SP), que contiene todas las formulasposibles segun la siguiente definicion:
• Una formula proposicional es:• Un elemento de SP: (Formula atomica)• Si F y G son formulas, entonces: (¬ F ), (F ∧ G), (F ∨ G),
(F → G), (F ↔ G) tambien lo son.
• Ejemplos:• ((p → q) ∨ (q → p))• (p → (q ∨ (¬ r)))
![Page 6: Lógica y Programación - Sintaxis y semántica de la lógica](https://reader035.vdocuments.site/reader035/viewer/2022081802/5866adb11a28abbe408b8b2f/html5/thumbnails/6.jpg)
Sintaxis de la logica proposicional
• Metavariables:• SP: conjunto de sımbolos proposicionales• FProp: conjunto de formulas proposicionales• Sımbolos proposicionales: p, p0, p1, ..., q, q0, q1, ..., r , ...
• Formulas proposicionales: F , F0, F1, ..., G , G0, G1, ...
• Eliminacion de parentesis:• Parentesis externos: (p → q) =⇒ p → q• Prioridad: ¬, ∧, ∨, →, ↔
(p ∨ (¬ q ∧ r)) → (s ∨ t) =⇒ p ∨ ¬ q ∧ r → s ∨ t((p ∧ ¬ q) ∨ r) → s =⇒ p ∧ ¬ q ∨ r → s
• Asociatividad: ∧ y ∨ asocian por la derechap ∧ (q ∧ r) =⇒ p ∧ q ∧ r
![Page 7: Lógica y Programación - Sintaxis y semántica de la lógica](https://reader035.vdocuments.site/reader035/viewer/2022081802/5866adb11a28abbe408b8b2f/html5/thumbnails/7.jpg)
Sımbolos de una formula
• Sımbolos proposicionales de una formula:sp(p) = {p}sp(¬ F ) = sp(F )sp(F ∧ G ) = sp(F ) ∪ sp(G )sp(F ∨ G ) = sp(F ) ∪ sp(G )sp(F → G ) = sp(F ) ∪ sp(G )sp(F ↔ G ) = sp(F ) ∪ sp(G )
![Page 8: Lógica y Programación - Sintaxis y semántica de la lógica](https://reader035.vdocuments.site/reader035/viewer/2022081802/5866adb11a28abbe408b8b2f/html5/thumbnails/8.jpg)
Semantica de la logica proposicional
• La semantica debe proporcionarnos:• Nocion de verdad: funcion de verdad• Significado de las formulas: especificacion• Nocion de consecuencia logica: conclusiones
• Valores de verdad: ⊥ y ⊤ (utilizaremos False y True)
![Page 9: Lógica y Programación - Sintaxis y semántica de la lógica](https://reader035.vdocuments.site/reader035/viewer/2022081802/5866adb11a28abbe408b8b2f/html5/thumbnails/9.jpg)
Semantica de la logica proposicional
• Funciones de verdad• fv¬ : {False, True} → {False, True}
fv¬(i) =
{
True si i = FalseFalse si i = True
• fv∧ : {False, True}2 → {False, True}
fv∧(i , j) =
{
True si i = j = TrueFalse en otro caso
• fv∨ : {False, True}2 → {False, True}
fv∨(i , j) =
{
False si i = j = FalseTrue en otro caso
![Page 10: Lógica y Programación - Sintaxis y semántica de la lógica](https://reader035.vdocuments.site/reader035/viewer/2022081802/5866adb11a28abbe408b8b2f/html5/thumbnails/10.jpg)
Semantica de la logica proposicional
• Funciones de verdad• fv→ : {False, True}2 → {False, True}
fv→(i , j) =
{
False si i = True y j = FalseTrue en otro caso
• fv↔ : {False, True}2 → {False, True}
fv↔(i , j) =
{
True si i = jFalse en otro caso
![Page 11: Lógica y Programación - Sintaxis y semántica de la lógica](https://reader035.vdocuments.site/reader035/viewer/2022081802/5866adb11a28abbe408b8b2f/html5/thumbnails/11.jpg)
Semantica de la logica proposicional
• Interpretacion:• Una interpretacion I es un conjunto de sımbolos
proposicionales
• Interpretaciones: Conjunto de todas las interpretaciones
• sig : FProp × Interpretaciones → {False,True}
• sig(p, I ) =
{
True si p ∈ IFalse en otro caso
• sig(¬F , I ) = fv¬(sig(F , I ))• sig(F ∧ G , I ) = fv∧(sig(F , I ), sig(G , I ))• sig(F ∨ G , I ) = fv∨(sig(F , I ), sig(G , I ))• sig(F → G , I ) = fv→(sig(F , I ), sig(G , I ))• sig(F ↔ G , I ) = fv↔(sig(F , I ), sig(G , I ))
![Page 12: Lógica y Programación - Sintaxis y semántica de la lógica](https://reader035.vdocuments.site/reader035/viewer/2022081802/5866adb11a28abbe408b8b2f/html5/thumbnails/12.jpg)
Semantica de la logica proposicional
• Ejemplo: F = (p ∨ q) ∧ (¬q ∨ r)I = {p, r}
sig(F , I ) = sig((p ∨ q) ∧ (¬q ∨ r), I )= fv∧(sig(p ∨ q, I ), sig(¬q ∨ r , I ))= fv∧(sig(p ∨ q, I ), sig(¬q ∨ r , I ))= fv∧(fv∨(sig(p, I ), sig(q, I )),
fv∨(sig(¬q, I ), sig(r , I )))= fv∧(fv∨(True,False), fv∨(fv¬(sig(q, I )),True))= fv∧(True, fv∨(fv¬(False),True))= fv∧(True, fv∨(True,True))= fv∧(True,True)= True
![Page 13: Lógica y Programación - Sintaxis y semántica de la lógica](https://reader035.vdocuments.site/reader035/viewer/2022081802/5866adb11a28abbe408b8b2f/html5/thumbnails/13.jpg)
Semantica de la logica proposicional
• I = {p, r}
F = (p ∨ q) ∧ (¬q ∨ r)(True ∨ False) ∧ (¬False ∨ True)
True ∧ (True ∨ True)True ∧ True
True
• I = {r}
F = (p ∨ q) ∧ (¬q ∨ r)(False ∨ False) ∧ (¬False ∨ True)
False ∧ (True ∨ True)False ∧ True
False
![Page 14: Lógica y Programación - Sintaxis y semántica de la lógica](https://reader035.vdocuments.site/reader035/viewer/2022081802/5866adb11a28abbe408b8b2f/html5/thumbnails/14.jpg)
Modelos y contramodelos
• interpretaciones(F ) = {I ∈ Interpretaciones : I ⊆ sp(F )}
• |interpretaciones(F )| = 2|sp(F )|
• Modelo• I es modelo de F ⇐⇒ sig(F , I ) = True• Representacion: I |= F• Ejemplo: {p, r} |= (p ∨ q) ∧ (¬q ∨ r)
• Contramodelo• I es contramodelo de F ⇐⇒ sig(F , I ) = False• Representacion: I 6|= F• Ejemplo: {r} 6|= (p ∨ q) ∧ (¬q ∨ r)
• Modelos de una formula• modelos(F ) = {I ∈ interpretaciones(F ) : I |= F}
![Page 15: Lógica y Programación - Sintaxis y semántica de la lógica](https://reader035.vdocuments.site/reader035/viewer/2022081802/5866adb11a28abbe408b8b2f/html5/thumbnails/15.jpg)
Tablas de verdad
• Comprobacion de todas las interpretaciones
p q r (p → q) (q → r) (p → q) ∨ (q → r)
True True True True True True
True True False True False True
True False True False True True
True False False False True True
False True True True True True
False True False True False True
False False True True True True
False False False True True True
![Page 16: Lógica y Programación - Sintaxis y semántica de la lógica](https://reader035.vdocuments.site/reader035/viewer/2022081802/5866adb11a28abbe408b8b2f/html5/thumbnails/16.jpg)
Validez y satisfactibilidad
• Formulas validas o tautologıas• F es valida ⇐⇒ toda interpretacion de F es modelo de F• Representacion: |= F• Ejemplos: |= (p → p), |= (p → q) ∨ (q → p), 6|= (p → q)
• Formulas satisfacibles• F es satisfacible ⇐⇒ tiene algun modelo• F es insatisfacible ⇐⇒ no tiene ningun modelo• Ejemplos:
(p → q) ∨ (q → r) es satisfacible(p ∧ (¬p)) no es satisfacible(p ∧ (¬p)) es insatisfacible(p → q) ∨ (q → r) no es insatisfacible
![Page 17: Lógica y Programación - Sintaxis y semántica de la lógica](https://reader035.vdocuments.site/reader035/viewer/2022081802/5866adb11a28abbe408b8b2f/html5/thumbnails/17.jpg)
Validez y satisfactibilidad
• Problema de la satisfacibilidad: Dada F determinar si essatisfacible
• Problema de la validez: Dada F determinar si es valida
• Relaciones entre validez y satisfacibilidad• F es valida ⇐⇒ ¬F es insatisfacible• F es valida ⇒ F es satisfacible• F es satisfacible 6⇒ ¬F es insatisfacible
• El problema de la satisfacibilidad es NP–completo
![Page 18: Lógica y Programación - Sintaxis y semántica de la lógica](https://reader035.vdocuments.site/reader035/viewer/2022081802/5866adb11a28abbe408b8b2f/html5/thumbnails/18.jpg)
Conjuntos de formulas
• Sımbolos proposicionales de un conjunto de formulas• sp(S) =
⋃
{sp(F ) : F ∈ S}• Ejemplo: sp({p ∧ q → r , p → s}) = {p, q, r , s}
• Interpretaciones de un conjunto de formulas• interpretaciones(S) = {I ∈ Interpretaciones : I ⊆ sp(S)}
• Modelos de un conjunto de formulas• I es modelo de S ⇐⇒ para toda F de S, I |= F• Representacion I |= S• Ejemplo: {p, r} |= {(p ∨ q) ∧ ((¬q) ∨ r), q → r}
• Contramodelo de un conjunto de formulas• I es contramodelo de S ⇐⇒ para alguna F de S, I 6|= F• Representacion I 6|= S• Ejemplo: {p, r} 6|= {(p ∨ q) ∧ ((¬q) ∨ r), r → q}
![Page 19: Lógica y Programación - Sintaxis y semántica de la lógica](https://reader035.vdocuments.site/reader035/viewer/2022081802/5866adb11a28abbe408b8b2f/html5/thumbnails/19.jpg)
Conjuntos de formulas
• Modelos de un conjunto de formulas• modelos(S) = {I ∈ interpretaciones(S) : I |= S}
• Conjuntos consistentes e inconsistentes de formulas• S es consistente ⇐⇒ S tiene algun modelo• S es inconsistente ⇐⇒ S no tiene ningun modelo• Ejemplos:
{(p ∨ q) ∧ ((¬q) ∨ r), p → r} es consistente{(p ∨ q) ∧ ((¬q) ∨ r), p → r ,¬r} no es consistente{(p ∨ q) ∧ ((¬q) ∨ r), p → r ,¬r} es inconsistente{(p ∨ q) ∧ ((¬q) ∨ r), p → r} no es inconsistente
![Page 20: Lógica y Programación - Sintaxis y semántica de la lógica](https://reader035.vdocuments.site/reader035/viewer/2022081802/5866adb11a28abbe408b8b2f/html5/thumbnails/20.jpg)
Consecuencia logica
• F es consecuencia logica de S ⇐⇒ para toda interpretacionI ∈ interpretaciones(S ∪ {F}), si I |= S entonces I |= F
• Representacion: S |= F
• Ejemplos:{p → q, q → r} |= p → r{p} 6|= p ∧ q{p} 6|= ¬r
• Las siguientes condiciones son equivalentes:• {F1, ..., Fn} |= G• |= (F1 ∧ ... ∧ Fn) → G• {F1, ..., Fn,¬G} es inconsistente
![Page 21: Lógica y Programación - Sintaxis y semántica de la lógica](https://reader035.vdocuments.site/reader035/viewer/2022081802/5866adb11a28abbe408b8b2f/html5/thumbnails/21.jpg)
Ejercicios
• Sean S = {p → (q → ¬r), p ∨ s, (¬q ∧ r) → s} y F = s ∨ ¬r .Se pide comprobar que S |= F mediante la definicion deconsecuencia logica.
• Sean S = {(p ∧ ¬q) → r , (¬p ∨ r), q → ¬r} y F = r → s. Sepide comprobar que S |= F mediante la definicion deconsecuencia logica.
• Sean S = {a → ¬b,¬a → (c ∨ b), b → (d ∧ a), d → ¬c} yF = a ∨ ¬d . Se pide comprobar que S |= F mediante ladefinicion de consecuencia logica.
• Sean S = {a → ¬b,¬b → (c ∨ d), c → ¬d , d → (b ∧ ¬a)} yF = b ∨ ¬d . Se pide comprobar que S |= F mediante ladefinicion de consecuencia logica.
![Page 22: Lógica y Programación - Sintaxis y semántica de la lógica](https://reader035.vdocuments.site/reader035/viewer/2022081802/5866adb11a28abbe408b8b2f/html5/thumbnails/22.jpg)
Ejercicios
• Sean S = {p → (q → ¬r), p ∨ s, (¬q ∧ r) → s} y F = s ∨ ¬r .Se pide comprobar que S |= F mediante la definicion deconsecuencia logica.
p q r s {p → (q → ¬r) p ∨ s (¬q ∧ r) → s} s ∨ ¬r
![Page 23: Lógica y Programación - Sintaxis y semántica de la lógica](https://reader035.vdocuments.site/reader035/viewer/2022081802/5866adb11a28abbe408b8b2f/html5/thumbnails/23.jpg)
Ejercicios
• Sean S = {p → (q → ¬r), p ∨ s, (¬q ∧ r) → s} y F = s ∨ ¬r .Se pide comprobar que S |= F mediante la definicion deconsecuencia logica. (False = 0, True = 1)
p q r s {p → (q → ¬r) p ∨ s (¬q ∧ r) → s} s ∨ ¬r
![Page 24: Lógica y Programación - Sintaxis y semántica de la lógica](https://reader035.vdocuments.site/reader035/viewer/2022081802/5866adb11a28abbe408b8b2f/html5/thumbnails/24.jpg)
Ejercicios
• Sean S = {p → (q → ¬r), p ∨ s, (¬q ∧ r) → s} y F = s ∨ ¬r .Se pide comprobar que S |= F mediante la definicion deconsecuencia logica. (False = 0, True = 1)
p q r s {p → (q → ¬r) p ∨ s (¬q ∧ r) → s} s ∨ ¬r
0 0 0 0 1 0 1 10 0 0 1 1 1 1 10 0 1 0 1 0 0 00 0 1 1 1 1 1 10 1 0 0 1 0 1 10 1 0 1 1 1 1 10 1 1 0 1 0 1 00 1 1 1 1 1 1 1
![Page 25: Lógica y Programación - Sintaxis y semántica de la lógica](https://reader035.vdocuments.site/reader035/viewer/2022081802/5866adb11a28abbe408b8b2f/html5/thumbnails/25.jpg)
Ejercicios
• Sean S = {p → (q → ¬r), p ∨ s, (¬q ∧ r) → s} y F = s ∨ ¬r .Se pide comprobar que S |= F mediante la definicion deconsecuencia logica. (False = 0, True = 1)
p q r s {p → (q → ¬r) p ∨ s (¬q ∧ r) → s} s ∨ ¬r
1 0 0 0 1 1 1 11 0 0 1 1 1 1 11 0 1 0 1 1 0 01 0 1 1 1 1 1 11 1 0 0 1 1 1 11 1 0 1 1 1 1 11 1 1 0 0 1 1 01 1 1 1 0 1 1 1
![Page 26: Lógica y Programación - Sintaxis y semántica de la lógica](https://reader035.vdocuments.site/reader035/viewer/2022081802/5866adb11a28abbe408b8b2f/html5/thumbnails/26.jpg)
Referencias
• Chang, C.L. y Lee, R.C.T Symbolic Logic and MechanicalTheorem Proving. (Academic Press, 1973)
• Cap. 2: “The propositional logic”
• Genesereth, M.R. Computational Logic• Cap. 2: “Propositional logic”
• Nilsson, N.J. Inteligencia artificial (Una nueva sıntesis).(McGraw–Hill, 2000)
• Cap. 13: “El calculo proposicional”
• Russell, S. y Norvig, P. Inteligencia artificial (un enfoquemoderno). (Prentice Hall Hispanoamericana, 1996)
• Cap. 6.4: “Logica propositiva: un tipo de logica muy sencillo”