introducciÓn a la programaciÓn lÓgica
TRANSCRIPT
Introduccion a la Programacion Logica
Dirigido por:
Ricardo Neftalı Ramırez OsorioMatematico - Universidad del Valle
Institucion Universitaria Antonio Jose CamachoDepartamento de Ciencias Basicas
2013
Introducciona la
ProgramacionLogica
Ricardo NeftalıRamırez Osorio
Logica dePrimer Orden
Sintaxis
Formas normales
Sustitucion
Resolucion
Alfabeto y Lenguaje de Primer Orden
Definicion
El alfabeto de Primer Orden, consiste de los siguientesconjuntos de sımbolos:
• Variables: (x, y, z, . . .)
• Cuantificadores: (∀,∃)• Conectivos: (∧,∨,→,↔,¬)
Definicion
Un lenguaje de primer orden esta determinado por:
• Constantes: (a, b, c, . . . )
• Sımbolos de relacion:(P,Q,R, . . .)
• Sımbolos de funcion: (f, g, h, . . .)
Introducciona la
ProgramacionLogica
Ricardo NeftalıRamırez Osorio
Logica dePrimer Orden
Sintaxis
Formas normales
Sustitucion
Resolucion
Alfabeto y Lenguaje de Primer Orden
Definicion
El alfabeto de Primer Orden, consiste de los siguientesconjuntos de sımbolos:
• Variables: (x, y, z, . . .)
• Cuantificadores: (∀,∃)• Conectivos: (∧,∨,→,↔,¬)
Definicion
Un lenguaje de primer orden esta determinado por:
• Constantes: (a, b, c, . . . )
• Sımbolos de relacion:(P,Q,R, . . .)
• Sımbolos de funcion: (f, g, h, . . .)
Introducciona la
ProgramacionLogica
Ricardo NeftalıRamırez Osorio
Logica dePrimer Orden
Sintaxis
Formas normales
Sustitucion
Resolucion
Alfabeto y Lenguaje de Primer Orden
Definicion
El alfabeto de Primer Orden, consiste de los siguientesconjuntos de sımbolos:
• Variables: (x, y, z, . . .)
• Cuantificadores: (∀,∃)• Conectivos: (∧,∨,→,↔,¬)
Definicion
Un lenguaje de primer orden esta determinado por:
• Constantes: (a, b, c, . . . )
• Sımbolos de relacion:(P,Q,R, . . .)
• Sımbolos de funcion: (f, g, h, . . .)
Introducciona la
ProgramacionLogica
Ricardo NeftalıRamırez Osorio
Logica dePrimer Orden
Sintaxis
Formas normales
Sustitucion
Resolucion
Alfabeto y Lenguaje de Primer Orden
Definicion
El alfabeto de Primer Orden, consiste de los siguientesconjuntos de sımbolos:
• Variables: (x, y, z, . . .)
• Cuantificadores: (∀,∃)• Conectivos: (∧,∨,→,↔,¬)
Definicion
Un lenguaje de primer orden esta determinado por:
• Constantes: (a, b, c, . . . )
• Sımbolos de relacion:(P,Q,R, . . .)
• Sımbolos de funcion: (f, g, h, . . .)
Introducciona la
ProgramacionLogica
Ricardo NeftalıRamırez Osorio
Logica dePrimer Orden
Sintaxis
Formas normales
Sustitucion
Resolucion
Termino y ejemplos de terminos
Definicion
Un termino de un lenguaje de P.O se forma unicamentede la siguiente manera:
• Variable
• Constante
• f(t1, . . . , tn), donde f es un sımbolo de funcion dearidad n y los t1, . . . , tn son terminos.
EJEMPLO
Si f, g, h son sımbolos de funcion 1-aria, 2-aria, 3-aria,respectivamente, v, w son variables y a, b, c constantes;algunos terminos son:
• a
• g(a, v)
• w
• h(f(c), a, w)
• f(b)
• g(a, f(g(b, c)))
Introducciona la
ProgramacionLogica
Ricardo NeftalıRamırez Osorio
Logica dePrimer Orden
Sintaxis
Formas normales
Sustitucion
Resolucion
Termino y ejemplos de terminos
Definicion
Un termino de un lenguaje de P.O se forma unicamentede la siguiente manera:
• Variable
• Constante
• f(t1, . . . , tn), donde f es un sımbolo de funcion dearidad n y los t1, . . . , tn son terminos.
EJEMPLO
Si f, g, h son sımbolos de funcion 1-aria, 2-aria, 3-aria,respectivamente, v, w son variables y a, b, c constantes;algunos terminos son:
• a
• g(a, v)
• w
• h(f(c), a, w)
• f(b)
• g(a, f(g(b, c)))
Introducciona la
ProgramacionLogica
Ricardo NeftalıRamırez Osorio
Logica dePrimer Orden
Sintaxis
Formas normales
Sustitucion
Resolucion
Termino y ejemplos de terminos
Definicion
Un termino de un lenguaje de P.O se forma unicamentede la siguiente manera:
• Variable
• Constante
• f(t1, . . . , tn), donde f es un sımbolo de funcion dearidad n y los t1, . . . , tn son terminos.
EJEMPLO
Si f, g, h son sımbolos de funcion 1-aria, 2-aria, 3-aria,respectivamente, v, w son variables y a, b, c constantes;algunos terminos son:
• a
• g(a, v)
• w
• h(f(c), a, w)
• f(b)
• g(a, f(g(b, c)))
Introducciona la
ProgramacionLogica
Ricardo NeftalıRamırez Osorio
Logica dePrimer Orden
Sintaxis
Formas normales
Sustitucion
Resolucion
Termino y ejemplos de terminos
Definicion
Un termino de un lenguaje de P.O se forma unicamentede la siguiente manera:
• Variable
• Constante
• f(t1, . . . , tn), donde f es un sımbolo de funcion dearidad n y los t1, . . . , tn son terminos.
EJEMPLO
Si f, g, h son sımbolos de funcion 1-aria, 2-aria, 3-aria,respectivamente, v, w son variables y a, b, c constantes;algunos terminos son:
• a
• g(a, v)
• w
• h(f(c), a, w)
• f(b)
• g(a, f(g(b, c)))
Introducciona la
ProgramacionLogica
Ricardo NeftalıRamırez Osorio
Logica dePrimer Orden
Sintaxis
Formas normales
Sustitucion
Resolucion
Atomo y Formulas
Definicion
Un atomo de un lenguaje de P.O es cualquier expresion dela forma
R(t1, . . . , tn)
donde R es un sımbolo de relacion y t1, . . . , tn son terminos.
Definicion
Las formulas de un lenguaje de P.O. son ası:
• Todo atomo es una formula,
• Si F es una formula, entonces la negacion ¬F lo es.
• Si F y G son formulas, entonces F ~ G es una formula,donde ~ es un conectivo binario (∧,∨,→,↔,¬).
• Si F es una formula y v es una variable, entonces(∀v)F y (∃v)F tambien lo son.
Introducciona la
ProgramacionLogica
Ricardo NeftalıRamırez Osorio
Logica dePrimer Orden
Sintaxis
Formas normales
Sustitucion
Resolucion
Atomo y Formulas
Definicion
Un atomo de un lenguaje de P.O es cualquier expresion dela forma
R(t1, . . . , tn)
donde R es un sımbolo de relacion y t1, . . . , tn son terminos.
Definicion
Las formulas de un lenguaje de P.O. son ası:
• Todo atomo es una formula,
• Si F es una formula, entonces la negacion ¬F lo es.
• Si F y G son formulas, entonces F ~ G es una formula,donde ~ es un conectivo binario (∧,∨,→,↔,¬).
• Si F es una formula y v es una variable, entonces(∀v)F y (∃v)F tambien lo son.
Introducciona la
ProgramacionLogica
Ricardo NeftalıRamırez Osorio
Logica dePrimer Orden
Sintaxis
Formas normales
Sustitucion
Resolucion
Ejemplos de formulas
EJEMPLO
Si Q,R son sımbolos de relacion 1-aria, 3-aria (respect.), fun sımbolo de funcion 2-aria, v, w son variables y a, b, cconstantes; entonces algunas formulas son:
• Q(a)
• ¬R(b, w, c)
• ¬R(v, f(a), b)
• (∃v)(Q(f(v)))
• (∀v)(∃w)(¬Q(f(w)) ∧R(w, f(a), v))
• ¬(¬P(w) ∨R(w, c, v))
• (∃w)(Q(f(w), v)→ P(g(w, v)))
Introducciona la
ProgramacionLogica
Ricardo NeftalıRamırez Osorio
Logica dePrimer Orden
Sintaxis
Formas normales
Sustitucion
Resolucion
Ejemplos de formulas
EJEMPLO
Si Q,R son sımbolos de relacion 1-aria, 3-aria (respect.), fun sımbolo de funcion 2-aria, v, w son variables y a, b, cconstantes; entonces algunas formulas son:
• Q(a)
• ¬R(b, w, c)
• ¬R(v, f(a), b)
• (∃v)(Q(f(v)))
• (∀v)(∃w)(¬Q(f(w)) ∧R(w, f(a), v))
• ¬(¬P(w) ∨R(w, c, v))
• (∃w)(Q(f(w), v)→ P(g(w, v)))
Introducciona la
ProgramacionLogica
Ricardo NeftalıRamırez Osorio
Logica dePrimer Orden
Sintaxis
Formas normales
Sustitucion
Resolucion
Ejemplos de formulas
EJEMPLO
Si Q,R son sımbolos de relacion 1-aria, 3-aria (respect.), fun sımbolo de funcion 2-aria, v, w son variables y a, b, cconstantes; entonces algunas formulas son:
• Q(a)
• ¬R(b, w, c)
• ¬R(v, f(a), b)
• (∃v)(Q(f(v)))
• (∀v)(∃w)(¬Q(f(w)) ∧R(w, f(a), v))
• ¬(¬P(w) ∨R(w, c, v))
• (∃w)(Q(f(w), v)→ P(g(w, v)))
Introducciona la
ProgramacionLogica
Ricardo NeftalıRamırez Osorio
Logica dePrimer Orden
Sintaxis
Formas normales
Sustitucion
Resolucion
Ejemplos de formulas
EJEMPLO
Si Q,R son sımbolos de relacion 1-aria, 3-aria (respect.), fun sımbolo de funcion 2-aria, v, w son variables y a, b, cconstantes; entonces algunas formulas son:
• Q(a)
• ¬R(b, w, c)
• ¬R(v, f(a), b)
• (∃v)(Q(f(v)))
• (∀v)(∃w)(¬Q(f(w)) ∧R(w, f(a), v))
• ¬(¬P(w) ∨R(w, c, v))
• (∃w)(Q(f(w), v)→ P(g(w, v)))
Introducciona la
ProgramacionLogica
Ricardo NeftalıRamırez Osorio
Logica dePrimer Orden
Sintaxis
Formas normales
Sustitucion
Resolucion
Ejemplos de formulas
EJEMPLO
Si Q,R son sımbolos de relacion 1-aria, 3-aria (respect.), fun sımbolo de funcion 2-aria, v, w son variables y a, b, cconstantes; entonces algunas formulas son:
• Q(a)
• ¬R(b, w, c)
• ¬R(v, f(a), b)
• (∃v)(Q(f(v)))
• (∀v)(∃w)(¬Q(f(w)) ∧R(w, f(a), v))
• ¬(¬P(w) ∨R(w, c, v))
• (∃w)(Q(f(w), v)→ P(g(w, v)))
Introducciona la
ProgramacionLogica
Ricardo NeftalıRamırez Osorio
Logica dePrimer Orden
Sintaxis
Formas normales
Sustitucion
Resolucion
Ejemplos de formulas
EJEMPLO
Si Q,R son sımbolos de relacion 1-aria, 3-aria (respect.), fun sımbolo de funcion 2-aria, v, w son variables y a, b, cconstantes; entonces algunas formulas son:
• Q(a)
• ¬R(b, w, c)
• ¬R(v, f(a), b)
• (∃v)(Q(f(v)))
• (∀v)(∃w)(¬Q(f(w)) ∧R(w, f(a), v))
• ¬(¬P(w) ∨R(w, c, v))
• (∃w)(Q(f(w), v)→ P(g(w, v)))
Introducciona la
ProgramacionLogica
Ricardo NeftalıRamırez Osorio
Logica dePrimer Orden
Sintaxis
Formas normales
Sustitucion
Resolucion
Forma Normal Conjuntiva y Teorema
Definicion
Una formula esta en forma normal conjuntiva (FNC)(o forma clausal) si es una conjuncion de disyuncion deatomos.
Teorema
Toda formula puede ser transformada en una formulaequivalente en forma normal conjuntiva.
Introducciona la
ProgramacionLogica
Ricardo NeftalıRamırez Osorio
Logica dePrimer Orden
Sintaxis
Formas normales
Sustitucion
Resolucion
Forma Normal Conjuntiva y Teorema
Definicion
Una formula esta en forma normal conjuntiva (FNC)(o forma clausal) si es una conjuncion de disyuncion deatomos.
Teorema
Toda formula puede ser transformada en una formulaequivalente en forma normal conjuntiva.
Introducciona la
ProgramacionLogica
Ricardo NeftalıRamırez Osorio
Logica dePrimer Orden
Sintaxis
Formas normales
Sustitucion
Resolucion
Demostracion: Algoritmo F.N.C.
Demostracion.
La demostracion es constructiva, ya que nos da el algoritmopara hallar la forma normal conjuntiva de una formuladada. Sean F ,G y H formulas.
Algoritmo FNC
Basta aplicar los siguientes pasos, que consisten en emplearequivalencias logicas, tantas veces como sea posible:
Paso 1 Eliminar las ocurrencias de los conectivoslogicos → y ↔ aplicando:
F ↔ G ≡ (F → G) ∧ (G → F)
F → G ≡ ¬F ∨ G
Introducciona la
ProgramacionLogica
Ricardo NeftalıRamırez Osorio
Logica dePrimer Orden
Sintaxis
Formas normales
Sustitucion
Resolucion
Demostracion: Algoritmo F.N.C.
Demostracion.
La demostracion es constructiva, ya que nos da el algoritmopara hallar la forma normal conjuntiva de una formuladada. Sean F ,G y H formulas.
Algoritmo FNC
Basta aplicar los siguientes pasos, que consisten en emplearequivalencias logicas, tantas veces como sea posible:
Paso 1 Eliminar las ocurrencias de los conectivoslogicos → y ↔ aplicando:
F ↔ G ≡ (F → G) ∧ (G → F)
F → G ≡ ¬F ∨ G
Introducciona la
ProgramacionLogica
Ricardo NeftalıRamırez Osorio
Logica dePrimer Orden
Sintaxis
Formas normales
Sustitucion
Resolucion
Demostracion: Algoritmo F.N.C.
Demostracion.
La demostracion es constructiva, ya que nos da el algoritmopara hallar la forma normal conjuntiva de una formuladada. Sean F ,G y H formulas.
Algoritmo FNC
Basta aplicar los siguientes pasos, que consisten en emplearequivalencias logicas, tantas veces como sea posible:
Paso 1 Eliminar las ocurrencias de los conectivoslogicos → y ↔ aplicando:
F ↔ G ≡ (F → G) ∧ (G → F)
F → G ≡ ¬F ∨ G
Introducciona la
ProgramacionLogica
Ricardo NeftalıRamırez Osorio
Logica dePrimer Orden
Sintaxis
Formas normales
Sustitucion
Resolucion
Demostracion: Algoritmo F.N.C.
Demostracion.
Paso 2 Para “introducir” el conectivo ¬, aplicar lasleyes de Morgan y para eliminar negacionescontinuas la siguiente equivalencia:
¬¬F ≡ F¬(F ∨ G) ≡ ¬F ∧ ¬G¬(F ∧ G) ≡ ¬F ∨ ¬G
Paso 3 Aplicar las leyes distributivas de izquierda aderecha:
F ∨ (G ∧ H) ≡ (F ∨ G) ∧ (F ∨H)
F ∧ (G ∨ H) ≡ (F ∧ G) ∨ (F ∧H)
Introducciona la
ProgramacionLogica
Ricardo NeftalıRamırez Osorio
Logica dePrimer Orden
Sintaxis
Formas normales
Sustitucion
Resolucion
Demostracion: Algoritmo F.N.C.
Demostracion.
Paso 2 Para “introducir” el conectivo ¬, aplicar lasleyes de Morgan y para eliminar negacionescontinuas la siguiente equivalencia:
¬¬F ≡ F¬(F ∨ G) ≡ ¬F ∧ ¬G¬(F ∧ G) ≡ ¬F ∨ ¬G
Paso 3 Aplicar las leyes distributivas de izquierda aderecha:
F ∨ (G ∧ H) ≡ (F ∨ G) ∧ (F ∨H)
F ∧ (G ∨ H) ≡ (F ∧ G) ∨ (F ∧H)
Introducciona la
ProgramacionLogica
Ricardo NeftalıRamırez Osorio
Logica dePrimer Orden
Sintaxis
Formas normales
Sustitucion
Resolucion
Demostracion: Algoritmo F.N.C.
Demostracion.
Paso 2 Para “introducir” el conectivo ¬, aplicar lasleyes de Morgan y para eliminar negacionescontinuas la siguiente equivalencia:
¬¬F ≡ F¬(F ∨ G) ≡ ¬F ∧ ¬G¬(F ∧ G) ≡ ¬F ∨ ¬G
Paso 3 Aplicar las leyes distributivas de izquierda aderecha:
F ∨ (G ∧ H) ≡ (F ∨ G) ∧ (F ∨H)
F ∧ (G ∨ H) ≡ (F ∧ G) ∨ (F ∧H)
Introducciona la
ProgramacionLogica
Ricardo NeftalıRamırez Osorio
Logica dePrimer Orden
Sintaxis
Formas normales
Sustitucion
Resolucion
Demostracion: Algoritmo F.N.C.
Demostracion.
Paso 2 Para “introducir” el conectivo ¬, aplicar lasleyes de Morgan y para eliminar negacionescontinuas la siguiente equivalencia:
¬¬F ≡ F¬(F ∨ G) ≡ ¬F ∧ ¬G¬(F ∧ G) ≡ ¬F ∨ ¬G
Paso 3 Aplicar las leyes distributivas de izquierda aderecha:
F ∨ (G ∧ H) ≡ (F ∨ G) ∧ (F ∨H)
F ∧ (G ∨ H) ≡ (F ∧ G) ∨ (F ∧H)
Introducciona la
ProgramacionLogica
Ricardo NeftalıRamırez Osorio
Logica dePrimer Orden
Sintaxis
Formas normales
Sustitucion
Resolucion
Ejemplo: aplicacion Algoritmo F.N.C.
EJEMPLO
Encontraremos la forma normal conjuntiva de la formula
(¬P(v)→ ¬Q(w))→ (P(w)→ Q(v))
aplicando los tres pasos del Algoritmo FNC, donde P y Qson sımbolos de relacion, veamos:
(¬P(v)→ ¬Q(w))→ (P(w)→ Q(v))
↔ (¬¬P(v) ∨ ¬Q(w))→ (¬P(w) ∨Q(v))
↔ ¬(¬¬P(v) ∨ ¬Q(w)) ∨ (¬P(w) ∨Q(v))
↔ (¬¬¬P(v) ∧ ¬¬Q(w)) ∨ (¬P(w) ∨Q(v))
↔ (¬P(v) ∧Q(w)) ∨ (¬P(w) ∨Q(v))
↔ (¬P(v) ∨ ¬P(w) ∨Q(v)) ∧ (Q(w) ∨ ¬P(w) ∨Q(v))
Introducciona la
ProgramacionLogica
Ricardo NeftalıRamırez Osorio
Logica dePrimer Orden
Sintaxis
Formas normales
Sustitucion
Resolucion
Ejemplo: aplicacion Algoritmo F.N.C.
EJEMPLO
Encontraremos la forma normal conjuntiva de la formula
(¬P(v)→ ¬Q(w))→ (P(w)→ Q(v))
aplicando los tres pasos del Algoritmo FNC, donde P y Qson sımbolos de relacion, veamos:
(¬P(v)→ ¬Q(w))→ (P(w)→ Q(v))
↔ (¬¬P(v) ∨ ¬Q(w))→ (¬P(w) ∨Q(v))
↔ ¬(¬¬P(v) ∨ ¬Q(w)) ∨ (¬P(w) ∨Q(v))
↔ (¬¬¬P(v) ∧ ¬¬Q(w)) ∨ (¬P(w) ∨Q(v))
↔ (¬P(v) ∧Q(w)) ∨ (¬P(w) ∨Q(v))
↔ (¬P(v) ∨ ¬P(w) ∨Q(v)) ∧ (Q(w) ∨ ¬P(w) ∨Q(v))
Introducciona la
ProgramacionLogica
Ricardo NeftalıRamırez Osorio
Logica dePrimer Orden
Sintaxis
Formas normales
Sustitucion
Resolucion
Ejemplo: aplicacion Algoritmo F.N.C.
EJEMPLO
Encontraremos la forma normal conjuntiva de la formula
(¬P(v)→ ¬Q(w))→ (P(w)→ Q(v))
aplicando los tres pasos del Algoritmo FNC, donde P y Qson sımbolos de relacion, veamos:
(¬P(v)→ ¬Q(w))→ (P(w)→ Q(v))
↔ (¬¬P(v) ∨ ¬Q(w))→ (¬P(w) ∨Q(v))
↔ ¬(¬¬P(v) ∨ ¬Q(w)) ∨ (¬P(w) ∨Q(v))
↔ (¬¬¬P(v) ∧ ¬¬Q(w)) ∨ (¬P(w) ∨Q(v))
↔ (¬P(v) ∧Q(w)) ∨ (¬P(w) ∨Q(v))
↔ (¬P(v) ∨ ¬P(w) ∨Q(v)) ∧ (Q(w) ∨ ¬P(w) ∨Q(v))
Introducciona la
ProgramacionLogica
Ricardo NeftalıRamırez Osorio
Logica dePrimer Orden
Sintaxis
Formas normales
Sustitucion
Resolucion
Ejemplo: aplicacion Algoritmo F.N.C.
EJEMPLO
Encontraremos la forma normal conjuntiva de la formula
(¬P(v)→ ¬Q(w))→ (P(w)→ Q(v))
aplicando los tres pasos del Algoritmo FNC, donde P y Qson sımbolos de relacion, veamos:
(¬P(v)→ ¬Q(w))→ (P(w)→ Q(v))
↔ (¬¬P(v) ∨ ¬Q(w))→ (¬P(w) ∨Q(v))
↔ ¬(¬¬P(v) ∨ ¬Q(w)) ∨ (¬P(w) ∨Q(v))
↔ (¬¬¬P(v) ∧ ¬¬Q(w)) ∨ (¬P(w) ∨Q(v))
↔ (¬P(v) ∧Q(w)) ∨ (¬P(w) ∨Q(v))
↔ (¬P(v) ∨ ¬P(w) ∨Q(v)) ∧ (Q(w) ∨ ¬P(w) ∨Q(v))
Introducciona la
ProgramacionLogica
Ricardo NeftalıRamırez Osorio
Logica dePrimer Orden
Sintaxis
Formas normales
Sustitucion
Resolucion
Ejemplo: aplicacion Algoritmo F.N.C.
EJEMPLO
Encontraremos la forma normal conjuntiva de la formula
(¬P(v)→ ¬Q(w))→ (P(w)→ Q(v))
aplicando los tres pasos del Algoritmo FNC, donde P y Qson sımbolos de relacion, veamos:
(¬P(v)→ ¬Q(w))→ (P(w)→ Q(v))
↔ (¬¬P(v) ∨ ¬Q(w))→ (¬P(w) ∨Q(v))
↔ ¬(¬¬P(v) ∨ ¬Q(w)) ∨ (¬P(w) ∨Q(v))
↔ (¬¬¬P(v) ∧ ¬¬Q(w)) ∨ (¬P(w) ∨Q(v))
↔ (¬P(v) ∧Q(w)) ∨ (¬P(w) ∨Q(v))
↔ (¬P(v) ∨ ¬P(w) ∨Q(v)) ∧ (Q(w) ∨ ¬P(w) ∨Q(v))
Introducciona la
ProgramacionLogica
Ricardo NeftalıRamırez Osorio
Logica dePrimer Orden
Sintaxis
Formas normales
Sustitucion
Resolucion
Ejemplo: aplicacion Algoritmo F.N.C.
EJEMPLO
Encontraremos la forma normal conjuntiva de la formula
(¬P(v)→ ¬Q(w))→ (P(w)→ Q(v))
aplicando los tres pasos del Algoritmo FNC, donde P y Qson sımbolos de relacion, veamos:
(¬P(v)→ ¬Q(w))→ (P(w)→ Q(v))
↔ (¬¬P(v) ∨ ¬Q(w))→ (¬P(w) ∨Q(v))
↔ ¬(¬¬P(v) ∨ ¬Q(w)) ∨ (¬P(w) ∨Q(v))
↔ (¬¬¬P(v) ∧ ¬¬Q(w)) ∨ (¬P(w) ∨Q(v))
↔ (¬P(v) ∧Q(w)) ∨ (¬P(w) ∨Q(v))
↔ (¬P(v) ∨ ¬P(w) ∨Q(v)) ∧ (Q(w) ∨ ¬P(w) ∨Q(v))
Introducciona la
ProgramacionLogica
Ricardo NeftalıRamırez Osorio
Logica dePrimer Orden
Sintaxis
Formas normales
Sustitucion
Resolucion
Ejemplo: aplicacion Algoritmo F.N.C.
EJEMPLO
Encontraremos la forma normal conjuntiva de la formula
(¬P(v)→ ¬Q(w))→ (P(w)→ Q(v))
aplicando los tres pasos del Algoritmo FNC, donde P y Qson sımbolos de relacion, veamos:
(¬P(v)→ ¬Q(w))→ (P(w)→ Q(v))
↔ (¬¬P(v) ∨ ¬Q(w))→ (¬P(w) ∨Q(v))
↔ ¬(¬¬P(v) ∨ ¬Q(w)) ∨ (¬P(w) ∨Q(v))
↔ (¬¬¬P(v) ∧ ¬¬Q(w)) ∨ (¬P(w) ∨Q(v))
↔ (¬P(v) ∧Q(w)) ∨ (¬P(w) ∨Q(v))
↔ (¬P(v) ∨ ¬P(w) ∨Q(v)) ∧ (Q(w) ∨ ¬P(w) ∨Q(v))
Introducciona la
ProgramacionLogica
Ricardo NeftalıRamırez Osorio
Logica dePrimer Orden
Sintaxis
Formas normales
Sustitucion
Resolucion
Clausula
Definicion
Un clausula es una disyuncion finita en la cual cadamiembro es un atomo.
EJEMPLO
Las dos disyunciones calculadas en el ejemplo anterior sonclausulas, a saber:
• (¬P(v) ∨ ¬P(w) ∨Q(v))
• (Q(w) ∨ ¬P(w) ∨Q(v))
Observacion
Con base en la definicion anterior, una forma normalconjuntiva sera entonces una conjuncion de clausulas.
Introducciona la
ProgramacionLogica
Ricardo NeftalıRamırez Osorio
Logica dePrimer Orden
Sintaxis
Formas normales
Sustitucion
Resolucion
Clausula
Definicion
Un clausula es una disyuncion finita en la cual cadamiembro es un atomo.
EJEMPLO
Las dos disyunciones calculadas en el ejemplo anterior sonclausulas, a saber:
• (¬P(v) ∨ ¬P(w) ∨Q(v))
• (Q(w) ∨ ¬P(w) ∨Q(v))
Observacion
Con base en la definicion anterior, una forma normalconjuntiva sera entonces una conjuncion de clausulas.
Introducciona la
ProgramacionLogica
Ricardo NeftalıRamırez Osorio
Logica dePrimer Orden
Sintaxis
Formas normales
Sustitucion
Resolucion
Clausula
Definicion
Un clausula es una disyuncion finita en la cual cadamiembro es un atomo.
EJEMPLO
Las dos disyunciones calculadas en el ejemplo anterior sonclausulas, a saber:
• (¬P(v) ∨ ¬P(w) ∨Q(v))
• (Q(w) ∨ ¬P(w) ∨Q(v))
Observacion
Con base en la definicion anterior, una forma normalconjuntiva sera entonces una conjuncion de clausulas.
Introducciona la
ProgramacionLogica
Ricardo NeftalıRamırez Osorio
Logica dePrimer Orden
Sintaxis
Formas normales
Sustitucion
Resolucion
Clausula
Definicion
Un clausula es una disyuncion finita en la cual cadamiembro es un atomo.
EJEMPLO
Las dos disyunciones calculadas en el ejemplo anterior sonclausulas, a saber:
• (¬P(v) ∨ ¬P(w) ∨Q(v))
• (Q(w) ∨ ¬P(w) ∨Q(v))
Observacion
Con base en la definicion anterior, una forma normalconjuntiva sera entonces una conjuncion de clausulas.
Introducciona la
ProgramacionLogica
Ricardo NeftalıRamırez Osorio
Logica dePrimer Orden
Sintaxis
Formas normales
Sustitucion
Resolucion
Clausula
Definicion
Un clausula es una disyuncion finita en la cual cadamiembro es un atomo.
EJEMPLO
Las dos disyunciones calculadas en el ejemplo anterior sonclausulas, a saber:
• (¬P(v) ∨ ¬P(w) ∨Q(v))
• (Q(w) ∨ ¬P(w) ∨Q(v))
Observacion
Con base en la definicion anterior, una forma normalconjuntiva sera entonces una conjuncion de clausulas.
Introducciona la
ProgramacionLogica
Ricardo NeftalıRamırez Osorio
Logica dePrimer Orden
Sintaxis
Formas normales
Sustitucion
Resolucion
Sustitucion y sustitucion identidad
Definicion
Una sustitucion es una funcion σ : V → T y serepresenta por el conjunto finito de parejas
{v1|t1 , . . . ,vn |tn}
donde cada vi(∈ V) es una variable diferente y cadati(∈ T) 6= vi , i = 1, . . . , n.
La sustitucion que deja las variables identicas, es decir, queno modifica ninguna variable de cualquier expresion, lallamaremos sustitucion identidad y se denota porε = { }.
Introducciona la
ProgramacionLogica
Ricardo NeftalıRamırez Osorio
Logica dePrimer Orden
Sintaxis
Formas normales
Sustitucion
Resolucion
Resolucion Lineal
Un conjunto de criterios selectivos articulados de formasistematica constituye una estrategia de resolucion.
Estudiaremos una estrategia de “refinamiento” llamadaresolucion lineal.
Esta estrategia fue propuesta por Loveland (1970) yLuckham (1970) de manera independiente.
Es exitosamente implementable y consiste en tomar unaclausula central (o de cabecera) y resolverla con otraclausula, luego la clausula resuelta se resuelve con otraclausula y se aplica reiteradamente este proceso.
Introducciona la
ProgramacionLogica
Ricardo NeftalıRamırez Osorio
Logica dePrimer Orden
Sintaxis
Formas normales
Sustitucion
Resolucion
Resolucion Lineal
Un conjunto de criterios selectivos articulados de formasistematica constituye una estrategia de resolucion.
Estudiaremos una estrategia de “refinamiento” llamadaresolucion lineal.
Esta estrategia fue propuesta por Loveland (1970) yLuckham (1970) de manera independiente.
Es exitosamente implementable y consiste en tomar unaclausula central (o de cabecera) y resolverla con otraclausula, luego la clausula resuelta se resuelve con otraclausula y se aplica reiteradamente este proceso.
Introducciona la
ProgramacionLogica
Ricardo NeftalıRamırez Osorio
Logica dePrimer Orden
Sintaxis
Formas normales
Sustitucion
Resolucion
Resolucion Lineal
Un conjunto de criterios selectivos articulados de formasistematica constituye una estrategia de resolucion.
Estudiaremos una estrategia de “refinamiento” llamadaresolucion lineal.
Esta estrategia fue propuesta por Loveland (1970) yLuckham (1970) de manera independiente.
Es exitosamente implementable y consiste en tomar unaclausula central (o de cabecera) y resolverla con otraclausula, luego la clausula resuelta se resuelve con otraclausula y se aplica reiteradamente este proceso.
Introducciona la
ProgramacionLogica
Ricardo NeftalıRamırez Osorio
Logica dePrimer Orden
Sintaxis
Formas normales
Sustitucion
Resolucion
Ejemplo: Resolucion Lineal
EJEMPLO
Sean a, b, c constantes, u, x, y, z variables, P,Q,R sımbolosde relacion 1-ario, 3-ario, 2-ario, respectivamente, y f unsımbolo de funcion 1-ario.
Sea S el conjunto de clausulas,
S =
• ¬R(a, b)
• Q(x, x, f(x))
• ¬Q(x, y, z) ∨Q(x, y, z)
• ¬Q(x, y, z) ∨R(x, z)
• P(a)
• Q(a, f(c), f(b))
Introducciona la
ProgramacionLogica
Ricardo NeftalıRamırez Osorio
Logica dePrimer Orden
Sintaxis
Formas normales
Sustitucion
Resolucion
Ejemplo: Resolucion Lineal
EJEMPLO
Una Refutacion Lineal de S con clausula de cabecera
O0 : ¬P(x) ∨ ¬Q(y, z, u) ∨ ¬R(x, u) ∨R(x, y) ∨R(x, z)
esta representada en la siguiente grafica.
Introducciona la
ProgramacionLogica
Ricardo NeftalıRamırez Osorio
Logica dePrimer Orden
Sintaxis
Formas normales
Sustitucion
Resolucion
Ejemplo: Resolucion Lineal
Introducciona la
ProgramacionLogica
Ricardo NeftalıRamırez Osorio
Logica dePrimer Orden
Sintaxis
Formas normales
Sustitucion
Resolucion
GRACIAS.