Lógica y Programación

Anuncio
Lógica y Programación
Formas Normales
Antonia M. Chávez, Agustı́n Riscos, Carmen Graciani
Dpto. Ciencias de la Computacion e Inteligencia Artificial
Universidad de Sevilla
Introducción
• Simplificar las fórmulas preservando su significado
• Reducir el número de conectivas
• Cambiar la estructura de la fórmula
• Objetivo: Resolver fácilmente los problemas de
satisfacibilidad, validez, consecuencia lógica
• Inconvenientes:
• Aumento del tamaño de la fórmula
• Complejidad del proceso de normalización
Marco Teórico: Literales
• Definiciones:
• Si F es un sı́mbolo proposicional, entonces F es un literal
positivo
• Si F es un sı́mbolo proposicional, entonces ¬F es un literal
negativo
• F es un literal si y sólo si F es literal positivo o negativo
• Literales: L, L1 , L2 , . . .
• Complementario de un literal: L =
¬p
p
• Literales de una fórmula: lit(F )
• Ejemplos: lit(p ∨ ((¬q) ∨ r )) = {p, ¬q, r }
• Implementación
si
si
L=p
L = ¬p
Equivalencia lógica
• F y G son equivalentes si se verifica |= F ↔ G
• Representación: F ≡ G
• F ≡ G si y sólo si para toda interpretación I de {F , G } se
tiene sig (F , I ) = sig (G , I )
• Prueba:
• D-I: Si para toda interpretación I ocurre sig (F , I ) = sig (G , I ),
entonces es cierto que para toda I tenemos: I |= F ↔ G . Y si
esto es para toda I , entonces podemos afirmar que |= F ↔ G .
Que es lo mismo que decir F ≡ G .
Equivalencia lógica
• F y G son equivalentes si se verifica |= F ↔ G
• Representación: F ≡ G
• F ≡ G si y sólo si para toda interpretación I de {F , G } se
tiene sig (F , I ) = sig (G , I )
• Prueba:
• I-D: F ≡ G implica |= F ↔ G . Esto significa que para
cualquier interpretación I , se tiene cierta F ↔ G . De esto,
para cualquier interpretación I , se tiene que I |= F → G y, a la
vez, I |= G → F . Razonemos por reducción al absurdo, si no
ocurriena que sig (F , I ) = sig (G , I ), se tendrı́a uno de los
siguientes casos:
• sig (F , I ) = True y sig (G , I ) = False, lo cual lleva a
I 6|= F → G
• sig (F , I ) = False y sig (G , I ) = True, lo cual lleva a
I ¬ |= G → F .
Equivalencia lógica
• F y G son equivalentes si se verifica |= F ↔ G
• Representación: F ≡ G
• F ≡ G si y sólo si para toda interpretación I de {F , G } se
tiene sig (F , I ) = sig (G , I )
• Ejemplos:
p ↔ q ≡ (p → q) ∧ (q → p)
p → q ≡ (¬p) ∨ q
p ∧ q ≡ ¬((¬p) ∨ (¬q))
p ∨ q ≡ ¬((¬p) ∧ (¬q))
Propiedades de la equivalencia lógica
• Las conectivas preservan la equivalencia:
• Si F ≡ F ′ , entonces ¬F ≡ ¬F ′
• Si F ≡ F ′ , G ≡ G ′ y ⋆ ∈ {∨, ∧, →, ↔}, entonces
F ⋆ G ≡ F′ ⋆ G′
• Propiedad de las subfórmulas equivalentes:
• Sea G una subfórmula de F y F ′ la obtenida sustituyendo una
ocurrencia de G en F por G ′ . Si G ≡ G ′ , entonces F ≡ F ′
Leyes de equivalencia lógica
• Idempotencia: F ∨ F ≡ F ,
F ∧F ≡ F
• Conmutatividad: F ∨ G ≡ G ∨ F ,
F ∧G ≡G ∧F
• Asociatividad: F ∨ (G ∨ H) ≡ (F ∨ G ) ∨ H,
F ∧ (G ∧ H) ≡ (F ∧ G ) ∧ H
• Distributividad: F ∧ (G ∨ H) ≡ (F ∧ G ) ∨ (F ∧ H),
F ∨ (G ∧ H) ≡ (F ∨ G ) ∧ (F ∨ H)
• Doble negación: ¬¬F ≡ F
• Leyes de De Morgan: ¬(F ∧ G ) ≡ ¬F ∨ ¬G ,
¬(F ∨ G ) ≡ ¬F ∧ ¬G
Forma normal negativa
• Definición de forma normal negativa:
• Si F es atómica, entonces F y ¬F son formas normales
negativas
• Si F y G son formas normales negativas, entonces (F ∧ G ) y
(F ∨ G ) también lo son.
• Ejemplos
• (¬p ∨ q) ∧ (¬q ∨ p) es una forma normal negativa
• (p → q) ∧ (q → p) no es una forma normal negativa
• ¬(p ∧ q) no es una forma normal negativa
Transformación a forma normal negativa
• Objetivo: Dada una fórmula F , obtener una fórmula en forma
normal negativa G tal que F ≡ G .
• Procedimiento fnn(F ) (Seguir el orden)
• Primero: Eliminación de equivalencias
p ↔ q ≡ (p → q) ∧ (q → p)
• Segundo: Eliminación de implicaciones
p → q ≡ ¬p ∨ q
• Tercero: Interiorización de negaciones
¬(p ∧ q) ≡ ¬p ∨ ¬q
¬(p ∨ q) ≡ ¬p ∧ ¬q
¬¬p ≡ p
¬(¬(p ∨ q)) ≡ p ∨ q
¬((¬p) ∨ q) ≡ p ∧ ¬q
Transformación a forma normal negativa
• Ejemplos:
fnn(p ↔ q) = (¬p ∨ q) ∧ (¬q ∨ p)
fnn((p ∨ (¬q)) → r ) = (¬p ∧ q) ∨ r
fnn((p ∧ (q → r )) → s) = ((¬p ∨ (q ∧ ¬r )) ∨ s)
• Propiedades:
• fnn(F ) es una forma normal negativa
• fnn(F ) ≡ F
Forma normal conjuntiva
• Disyunciones extendidas:
• Si F es un literal, entonces F es una disyunción extendida
• Si F y G son disyunciones extendidas, entonces (F ∨ G )
también lo es
• Ejemplos:
• ¬p ∨ (q ∨ ¬r ) es una disyunción extendida
• ¬p ∨ (q ∧ ¬r ) no es una disyunción extendida
• Fórmulas en forma normal conjuntiva:
• Si F es una disyunción extendida, entonces F es una forma
normal conjuntiva
• Si F y G son formas normales conjuntivas, entonces (F ∧ G )
también lo es
• Ejemplos: Ambas son equivalentes, pero una es FNC y otra no
• (¬p ∨ q) ∧ (¬q ∨ p) es una forma normal conjuntiva
• (¬p ∨ q) ∧ (q → p) no es una forma normal conjuntiva
Transformación en forma normal
conjuntiva
• Objetivo: Dada una fórmula F , obtener una fórmula en forma
normal conjuntiva G tal que F ≡ G
• Procedimiento fnc(F )
• Transformación a forma normal negativa
• Interiorización de las disyunciones
p ∨ (q ∧ r ) ≡ (p ∨ q) ∧ (p ∨ r )
(p ∧ q) ∨ r ≡ (p ∨ r ) ∧ (q ∨ r )
Transformación en forma normal
conjuntiva
• Ejemplos:
fnc(p ∧ (q → r )) = p ∧ (¬q ∨ r )
fnc(¬(p ∧ (q → r ))) = (¬p ∨ q) ∧ (¬p ∨ ¬r )
fnc(¬(p ↔ r )) = (((p ∨ r ) ∧ (p ∨ ¬p)) ∧ ((¬r ∨ r ) ∧ (¬r ∨ ¬p)))
• Propiedades:
• fnc(F ) es una forma normal conjuntiva
• fnc(F ) ≡ F
Forma normal disyuntiva
• Conjunciones extendidas:
• Si F es un literal, entonces F es una conjunción extendida
• Si F y G son conjunciones extendidas, entonces (F ∧ G )
también lo es
• Ejemplos:
• ¬p ∧ (q ∧ ¬r ) es una conjunción extendida
• ¬p ∨ (q ∧ ¬r ) no es una conjunción extendida
• Fórmulas en forma normal disyuntiva:
• Si F es una conjunción extendida, entonces F está en forma
normal disyuntiva
• Si F y G están en forma normal disyuntiva, entonces (F ∨ G )
también lo está
• Ejemplos:
• (¬p ∧ q) ∨ (¬q ∧ p) está una forma normal disyuntiva
• (¬p ∧ q) ∨ (q → p) no está una forma normal disyuntiva
Transformación en forma normal
disyuntiva
• Objetivo: Dada una fórmula F , obtener una fórmula en forma
normal disyuntiva G tal que F ≡ G .
• Procedimiento fnd(F )
• Transformación a forma normal negativa
• Interiorización de las conjunciones
p ∧ (q ∨ r ) ≡ (p ∧ q) ∨ (p ∧ r )
(p ∨ q) ∧ r ≡ (p ∧ r ) ∨ (q ∧ r )
Transformación en forma normal
disyuntiva
• Ejemplos:
fnd(p ∧ (q → r )) = (p ∧ ¬q) ∨ (p ∧ r )
fnd(¬(p ∧ (q → r ))) = (¬p ∨ (q ∧ ¬r ))
• Propiedades:
• fnd(F ) es una forma normal disyuntiva
• fnd(F ) ≡ F
Ejercicios
• Sea F = (p ↔ q) → [(q ∨ r ) ∧ (¬p ∨ ¬s)]. Se pide determinar
fórmulas equivalentes a F en Forma Normal Negativa, Forma
Normal Disyuntiva y Forma Normal Conjuntiva.
• Sea F = [(p ∨ r ) ∧ (q → r )] ↔ (¬p ∨ q). Se pide determinar
fórmulas equivalentes a F en Forma Normal Negativa, Forma
Normal Disyuntiva y Forma Normal Conjuntiva.
Ejercicios
• Sea F = (p ↔ q) → [(q ∨ r ) ∧ (¬p ∨ ¬s)]. Se pide determinar
fórmulas equivalentes a F en Forma Normal Negativa, Forma
Normal Disyuntiva y Forma Normal Conjuntiva.
F ⇒
⇒
⇒
⇒
⇒
⇒
(p ↔ q) → [(q ∨ r ) ∧ (¬p ∨ ¬s)]
[(p → q) ∧ (q → p)] → [(q ∨ r ) ∧ (¬p ∨ ¬s)]
[(¬p ∨ q) ∧ (¬q ∨ p)] → [(q ∨ r ) ∧ (¬p ∨ ¬s)]
¬[(¬p ∨ q) ∧ (¬q ∨ p)] ∨ [(q ∨ r ) ∧ (¬p ∨ ¬s)]
¬(¬p ∨ q) ∨ ¬(¬q ∨ p) ∨ [(q ∨ r ) ∧ (¬p ∨ ¬s)]
(p ∧ ¬q) ∨ (q ∧ ¬p) ∨ [(q ∨ r ) ∧ (¬p ∨ ¬s)]
Ejercicios
• Sea F = (p ↔ q) → [(q ∨ r ) ∧ (¬p ∨ ¬s)]. Se pide determinar
fórmulas equivalentes a F en Forma Normal Negativa, Forma
Normal Disyuntiva y Forma Normal Conjuntiva.
fnn(F ) =
⇒
⇒
⇒
⇒
(p ∧ ¬q) ∨ (q ∧ ¬p) ∨ [(q ∨ r ) ∧ (¬p ∨ ¬s)]
(p ∧ ¬q) ∨ (q ∧ ¬p) ∨ [(q ∧ (¬p ∨ ¬s)) ∨ (r ∧ (¬p ∨ ¬s))]
(p ∧ ¬q) ∨ (q ∧ ¬p) ∨ (q ∧ ¬p) ∨ (q ∧ ¬s) ∨
∨ (r ∧ ¬p) ∨ (r ∧ ¬s)
(p ∧ ¬q) ∨ (q ∧ ¬p) ∨ (q ∧ ¬s) ∨ (r ∧ ¬p) ∨ (r ∧ ¬s)
Ejercicios
• Sea F = (p ↔ q) → [(q ∨ r ) ∧ (¬p ∨ ¬s)]. Se pide determinar
fórmulas equivalentes a F en Forma Normal Negativa, Forma
Normal Disyuntiva y Forma Normal Conjuntiva.
fnn(F ) =
⇒
⇒
⇒
⇒
(p ∧ ¬q) ∨ (q ∧ ¬p) ∨ [(q ∨ r ) ∧ (¬p ∨ ¬s)]
[(p ∨ (q ∧ ¬p)) ∧ (¬q ∨ (q ∧ ¬p))] ∨ [(q ∨ r ) ∧ (¬p ∨ ¬s)]
[(p ∨ q) ∧ (p ∨ ¬p) ∧ (¬q ∨ q) ∧ (¬q ∨ ¬p)] ∨
∨ [(q ∨ r ) ∧ (¬p ∨ ¬s)]
[(p ∨ q) ∧ (¬q ∨ ¬p)] ∨ [(q ∨ r ) ∧ (¬p ∨ ¬s)]
Ejercicios
• Sea F = (p ↔ q) → [(q ∨ r ) ∧ (¬p ∨ ¬s)]. Se pide determinar
fórmulas equivalentes a F en Forma Normal Negativa, Forma
Normal Disyuntiva y Forma Normal Conjuntiva.
fnn(F ) =
⇒
⇒
⇒
⇒
⇒
⇒
⇒
⇒
⇒
(p ∧ ¬q) ∨ (q ∧ ¬p) ∨ [(q ∨ r ) ∧ (¬p ∨ ¬s)]
[(p ∨ q) ∧ (¬q ∨ ¬p)] ∨ [(q ∨ r ) ∧ (¬p ∨ ¬s)]
[(p ∨ q) ∨ ((q ∨ r ) ∧ (¬p ∨ ¬s))] ∧
∧ [(¬q ∨ ¬p) ∨ ((q ∨ r ) ∧ (¬p ∨ ¬s))]
[(p ∨ q) ∨ (q ∨ r )] ∧ [(p ∨ q) ∨ (¬p ∨ ¬s)] ∧
∧ [(¬q ∨ ¬p) ∨ ((q ∨ r ) ∧ (¬p ∨ ¬s))]
(p ∨ q ∨ r ) ∧ [(¬q ∨ ¬p) ∨ ((q ∨ r ) ∧ (¬p ∨ ¬s))]
(p ∨ q ∨ r ) ∧ [(¬q ∨ ¬p) ∨ (q ∨ r )] ∧
∧ [(¬q ∨ ¬p) ∨ (¬p ∨ ¬s)]
(p ∨ q ∨ r ) ∧ (¬q ∨ ¬p ∨ ¬s)
Bibliografı́a
• Alonso Jiménez, J.A. Lógica computacional (Univ. de Sevilla,
1997)
• Cap. 5: “Equivalencias y formas normales”
• Chang, C.L. y Lee, R.C.T. Symbolic Logic and Mechanical
Theorem Proving. (Academic Press, 1973)
• Cap. 2: “The propositional logic”
• Fitting, M. First–Order Logic and Automated Theorem
Proving (2nd, ed.) (Springer, 1996)
• Cap. 2: “Propositional Logic”
• Genesereth, M.R. y Nilsson, N.J. Logical Foundations of
Artificial Intelligence. (Morgan Kaufmann, 1987)
• Cap. 2: “Propositional Logic”
• Paulson, L. Logic and Proof (University of Cambridge, 2003)
http://www.cl.cam.ac.uk/Teaching/2003/LogicProof
• Cap. 2: “Propositional logic”
Descargar