introducciÓn a la programaciÓn lÓgica

46
Introducci´ on a la Programaci´ on L´ ogica Dirigido por: Ricardo Neftal´ ı Ram´ ırez Osorio Matem´ atico - Universidad del Valle Instituci´on Universitaria Antonio Jos´ e Camacho Departamento de Ciencias B´asicas 2013

Upload: uniajc

Post on 06-Jul-2015

142 views

Category:

Education


4 download

TRANSCRIPT

Page 1: INTRODUCCIÓN A LA PROGRAMACIÓN LÓGICA

Introduccion a la Programacion Logica

Dirigido por:

Ricardo Neftalı Ramırez OsorioMatematico - Universidad del Valle

Institucion Universitaria Antonio Jose CamachoDepartamento de Ciencias Basicas

2013

Page 2: INTRODUCCIÓN A LA PROGRAMACIÓN LÓGICA

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, . . .)

Page 3: INTRODUCCIÓN A LA PROGRAMACIÓN LÓGICA

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, . . .)

Page 4: INTRODUCCIÓN A LA PROGRAMACIÓN LÓGICA

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, . . .)

Page 5: INTRODUCCIÓN A LA PROGRAMACIÓN LÓGICA

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, . . .)

Page 6: INTRODUCCIÓN A LA PROGRAMACIÓN LÓGICA

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)))

Page 7: INTRODUCCIÓN A LA PROGRAMACIÓN LÓGICA

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)))

Page 8: INTRODUCCIÓN A LA PROGRAMACIÓN LÓGICA

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)))

Page 9: INTRODUCCIÓN A LA PROGRAMACIÓN LÓGICA

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)))

Page 10: INTRODUCCIÓN A LA PROGRAMACIÓN LÓGICA

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.

Page 11: INTRODUCCIÓN A LA PROGRAMACIÓN LÓGICA

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.

Page 12: INTRODUCCIÓN A LA PROGRAMACIÓN LÓGICA

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)))

Page 13: INTRODUCCIÓN A LA PROGRAMACIÓN LÓGICA

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)))

Page 14: INTRODUCCIÓN A LA PROGRAMACIÓN LÓGICA

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)))

Page 15: INTRODUCCIÓN A LA PROGRAMACIÓN LÓGICA

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)))

Page 16: INTRODUCCIÓN A LA PROGRAMACIÓN LÓGICA

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)))

Page 17: INTRODUCCIÓN A LA PROGRAMACIÓN LÓGICA

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)))

Page 18: INTRODUCCIÓN A LA PROGRAMACIÓN LÓGICA

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.

Page 19: INTRODUCCIÓN A LA PROGRAMACIÓN LÓGICA

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.

Page 20: INTRODUCCIÓN A LA PROGRAMACIÓN LÓGICA

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

Page 21: INTRODUCCIÓN A LA PROGRAMACIÓN LÓGICA

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

Page 22: INTRODUCCIÓN A LA PROGRAMACIÓN LÓGICA

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

Page 23: INTRODUCCIÓN A LA PROGRAMACIÓN LÓGICA

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)

Page 24: INTRODUCCIÓN A LA PROGRAMACIÓN LÓGICA

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)

Page 25: INTRODUCCIÓN A LA PROGRAMACIÓN LÓGICA

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)

Page 26: INTRODUCCIÓN A LA PROGRAMACIÓN LÓGICA

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)

Page 27: INTRODUCCIÓN A LA PROGRAMACIÓN LÓGICA

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))

Page 28: INTRODUCCIÓN A LA PROGRAMACIÓN LÓGICA

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))

Page 29: INTRODUCCIÓN A LA PROGRAMACIÓN LÓGICA

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))

Page 30: INTRODUCCIÓN A LA PROGRAMACIÓN LÓGICA

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))

Page 31: INTRODUCCIÓN A LA PROGRAMACIÓN LÓGICA

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))

Page 32: INTRODUCCIÓN A LA PROGRAMACIÓN LÓGICA

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))

Page 33: INTRODUCCIÓN A LA PROGRAMACIÓN LÓGICA

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))

Page 34: INTRODUCCIÓN A LA PROGRAMACIÓN LÓGICA

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.

Page 35: INTRODUCCIÓN A LA PROGRAMACIÓN LÓGICA

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.

Page 36: INTRODUCCIÓN A LA PROGRAMACIÓN LÓGICA

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.

Page 37: INTRODUCCIÓN A LA PROGRAMACIÓN LÓGICA

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.

Page 38: INTRODUCCIÓN A LA PROGRAMACIÓN LÓGICA

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.

Page 39: INTRODUCCIÓN A LA PROGRAMACIÓN LÓGICA

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ε = { }.

Page 40: INTRODUCCIÓN A LA PROGRAMACIÓN LÓGICA

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.

Page 41: INTRODUCCIÓN A LA PROGRAMACIÓN LÓGICA

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.

Page 42: INTRODUCCIÓN A LA PROGRAMACIÓN LÓGICA

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.

Page 43: INTRODUCCIÓN A LA PROGRAMACIÓN LÓGICA

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))

Page 44: INTRODUCCIÓN A LA PROGRAMACIÓN LÓGICA

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.

Page 45: INTRODUCCIÓN A LA PROGRAMACIÓN LÓGICA

Introducciona la

ProgramacionLogica

Ricardo NeftalıRamırez Osorio

Logica dePrimer Orden

Sintaxis

Formas normales

Sustitucion

Resolucion

Ejemplo: Resolucion Lineal

Page 46: INTRODUCCIÓN A LA PROGRAMACIÓN LÓGICA

Introducciona la

ProgramacionLogica

Ricardo NeftalıRamırez Osorio

Logica dePrimer Orden

Sintaxis

Formas normales

Sustitucion

Resolucion

GRACIAS.