Está en la página 1de 11

LGICA - 1 Grado en Ingeniera Informtica

Facultad de Informtica Universidad Politcnica de Madrid

Lgica Computacional: Estandarizacin de Frmulas


David Prez del Rey
dperezdelrey@fi.upm.es Despacho 2104 Tel: +34 91 336 74 45

Estandarizacin de Frmulas

Objetivo: Simplificar las frmulas


Queremos obtener, mediante una serie de transformaciones, una

frmula que sea ms fcil de manipular automticamente, pero que siga teniendo ciertas propiedades de la frmula original

Frmula en un lenguaje de primer orden


y ( x (P(x,f(y)) Q(z)) w P(g(w),y))

Frmula en forma normal de Skolem


xw(P(x,f(b)) Q(a) P(g(w),b))

Frmula en forma clausular


{P(x,f(b)) Q(a) P(g(w),b)}

Estandarizacin de Frmulas

Qu propiedad lgica preserva esta transformacin?


Preserva la satisfacibilidad

Pero no preserva todos los modelos (es decir, la semntica): el

resultado NO es equivalente a la frmula original

Preservacin semntica:
Consideremos una transformacin de B a B Preservar la semntica significa que, para toda interpretacin i, i es

un modelo de B sii es un modelo de B


e.g. x P(x) es semnticamente equivalente a x P(x)

Preservar la satisfacibilidad significa que existe un modelo i de B sii existe un modelo i(posiblemente no el mismo) de B

Estandarizacin de Frmulas

Forma Normal de Skolem (FNS):


Todos los cuantificadores a la cabeza de la frmula (forma Prenex) No hay variables libres Slo hay cuantificadores universales Matriz de la frmula (subfrmula tras los cuantificadores) est en forma

normal conjuntiva (FNC, conjuncin de disyunciones de literales)

Mtodo para obtener la FNS de cualquier frmula:


1.

Poner la frmula en forma Prenex

2.
3. 4.

Realizar el cierre existencial


Poner la frmula en forma normal conjuntiva Eliminar los cuantificadores existenciales

Forma Prenex

Se utilizarn los siguientes teoremas de equivalencia:

Cambio de nombre de variables ligadas:

|= xA(x) yA(x/y)

|= xA(x) yA(x/y)

si y no est ya en A

Interdefinicin de cuantificadores:
|= xA(x) xA(x) |= xA(x) xA(x)

Distribucin de conectivas respecto a cuantificadores


|= xA C x(A C) |= xA C x(A C) |= xA C x(A C) |= xA C x(A C) si x no est libre en la otra subfrmula |= xA xC x(A C)

|= (xA C) x(A C) |= (xA C) x(A C) |= (A xC) x(A C) |= (A xC) x(A C) |= (xA xC) x(A C)

Lema: Para toda frmula A, |= A |= Prenex(A) Lema: La forma Prenex de una frmula siempre existe, aunque puede no ser nica

Cierre Existencial

Las variables libres de la frmula se ligan existencialmente poniendo el cuantificador correspondiente en cabeza de la frmula Lema: Una frmula A(x) es satisfacible sii xA(x) es satisfacible Ejemplo:
yz(p(x) q(y) r(f(z), x)) se transformara en

xyz(p(x) q(y) r(f(z), x))

Forma Normal Conjuntiva (FNC)

Se utilizarn los siguientes teoremas de equivalencia: Interdefinicin:


| (A B) (A B) | (A B) (A B) (B A)

Leyes de Morgan
|(A B) A B |(A B) A B

Distribucin de y
| (A B) (A C) A (B C) | A (B C) (A B) (A C)

Lema: Para toda frmula A, | A FNC(A) Lema: La forma normal conjuntiva (FNC) de una frmula siempre existe

Eliminacin de cuantificadores existenciales (Skolemizacin)

Se elimina el cuantificador existencial sustituyendo la variable que ligaba por una funcin de Skolem o constante de Skolem

La funcin de Skolem ser una funcin nueva en la frmula, aplicada a todas la variables cuantificadas universalmente que aparecen antes que el cuantificador existencial a eliminar. Si no hay tales variables se utilizar una constante nueva en la frmula para hacer la sustitucin
Ejemplos:

xy(P(x) Q(y)) se transformara en x(P(x) Q(f(x)) xz(Q(x,z) R(a,x)) se transformara en z(Q(b,z) R(a,b)) xyz(P(x) Q(y) R(f(z), x)) se transformara en y(P(a) Q(y) R(f(g(y)), a))

Lema: Una frmula A es satisfacible sii Skolem(A) es satisfacible

Forma Normal de Skolem (FNS)

Teorema: Una frmula A es satisfacible sii FNS(A) es satisfacible


1. 2. 3.

4. 5. 6.

A satisfacible sii Prenex(A) satisfacible (por lemas 1 y 5) Prenex(A) satisfacible sii Cierre(Prenex(A)) satisfacible (por lema 2) Sea Cierre(Prenex(A)) satisfacible de la forma Q.M, donde Q son los cuantificadores y M es la matriz de la frmula. Entonces M satisfacible sii FNC(M) satisfacible (por lemas 3 y 5) Pero tambin Q.M satisfacible sii Q. FNC(M) satisfacible, puesto que cuantifican las mismas variables en idntica forma Q.FNC(M) satisfacible sii Skolem(Q.FNC(M)) satisfacible (por lema 4). Pero Skolem(Q.FNC(M)) es precisamente FNS(A) A satisfacible sii FNS(A) satisfacible (por silogismo 1, 2, 3, 4, 5)
Lema 1: Para toda frmula A, | A Prenex(A) Lema 2: Una frmula A(x) es satisfacible sii xA(x) es satisfacible Lema 3: Para toda frmula A, | A FNC(A) Lema 4: Una frmula A es satisfacible sii Skolem(A) es satisfacible. Lema 5: Si | A A entonces: A satisfacible sii A satisfacible

Forma Clausular

Entonces sabemos que Una frmula A es satisfacible sii FNS(A) es satisfacible y que FNS(A) existe siempre para cualquier frmula A, luego podemos trabajar exclusivamente con frmulas en forma normal de Skolem si slo tuviramos que comprobar la satisfacibilidad Para trabajar ms cmodamente con frmulas en FNS utilizaremos la forma clausular

Clusula: Disyuncin de literales La forma clausular de una frmula A es el conjunto de clusulas de la FNS(A) La forma clausular se entiende com la conjuncin de las clusulas, cuyas variables estn todas ellas cuantificadas universalmente.

Ejemplo:

A: xy(P(x) (Q(y) R(a,x))) FC(A): {P(x), Q(y) R(a,x)}

Teorema: Una frmula A es satisfacible sii FC(A) es satisfacible

10

Forma clausular de una deduccin

Una deduccin T[A1, A2, , An] | B es correcta sii A1 A2 An B es insatisfacible


i.e. no existe una interpretacin modelo de las premisas y

contramodelo de la conclusin

Existe un mtodo para decidir automticamente si una argumentacin es correcta?


Dada una deduccin: T[A1, A2, , An] | B
1. 2. 3. 4.

Obtener la forma clausular de cada Ai, 1 i n Obtener la forma clausular de B Realizar la unin de todos los conjuntos de clusulas Comprobar la satisfacibilidad

11

También podría gustarte