Lógica y Programación - Sintaxis y semántica de la lógica ...

of 26 /26
L´ogicayProgramaci´on Sintaxis y sem´ antica de la l´ogica proposicional Antonia M. Ch´ avez, Carmen Graciani, Agust´ ın Riscos Dpto. Ciencias de la Computacion e Inteligencia Artificial Universidad de Sevilla

Embed Size (px)

Transcript of Lógica y Programación - Sintaxis y semántica de la lógica ...

  • Logica y Programacion

    Sintaxis y semantica de la logica proposicional

    Antonia M. Chavez, Carmen Graciani, Agustn 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 fsicos.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 aerolneas, ...

    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: Smbolos proposicionales: p, p0, p1, ..., q, q0, q1, ... Constantes: , Conectivas logicas: Negacion: Condicional:

    Conjuncion: Equivalencia: Disyuncion:

    Smbolos auxiliares: (, ).

  • Sintaxis de la logica proposicional

    Dado un conjunto SP de smbolos 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 smbolos proposicionales FProp: conjunto de formulas proposicionales Smbolos 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

  • Smbolos de una formula

    Smbolos 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 smbolos

    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 tautologas 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 NPcompleto

  • Conjuntos de formulas

    Smbolos 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 sntesis).(McGrawHill, 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