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
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, ...
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
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: (, ).
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)))
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
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 )
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)
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
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
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 ))
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
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
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}
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
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
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
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}
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
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
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.
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
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
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
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
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”