Clculo de Primer Orden - PowerPoint PPT Presentation

1 / 56
About This Presentation
Title:

Clculo de Primer Orden

Description:

Definici n: (T rminos) Dado un lenguaje de primer orden L, sea = VCSFS. ... Definici n: (Asignamiento) Dados L y L-estructura M, un asignamiento es ... – PowerPoint PPT presentation

Number of Views:114
Avg rating:3.0/5.0
Slides: 57
Provided by: facult145
Category:
Tags: clculo | dados | orden | primer

less

Transcript and Presenter's Notes

Title: Clculo de Primer Orden


1
Cálculo de Primer Orden
2
Cálculo de Primer Orden
  • Introducción
  • En la lógica proposicional, no es posible
    expresar propiedades sobre los componentes de una
    estructura, por ejemplo
  • Todos los hombres son inmortales
  • Socrates es un hombre,
  • por tanto, Socrates es inmortal.
  • La correctitud de tales deducciones no sólo
    depende de las relaciones de verdad entre los
    enunciados involucrados, sino que también de la
    estructura interna de tales enunciados y de los
    significados de las expresiones tales como
    todo", algún", existe un", etc.

3
Cálculo de Primer Orden
  • Para hacer que la estructura de los enunciados
    complejos sea más transparente, es conveniente
    introducir una notación especial para representar
    tales expresiones.
  • En general, si P(x) representa la afirmación de
    que x tiene o cumple con la propiedad P, entonces
    ?xP(x) significa que para toda x P se cumple.
  • A su vez, la expresión ?xP(x) indica que existe
    un objeto x que cumple con P. De esta forma.

4
Cálculo de Primer Orden
  • Esencialmente, la lógica de primer orden extiende
    a la lógica proposicional en el sentido que
    permite que los símbolos proposicionales tengan
    argumentos los cuales varían (i.e., toman
    valores) sobre los elementos de alguna
    estructura.
  • Dada una estructura M y una fórmula A, para un
    asignamiento de valores s tomados a partir de M a
    las variables que ocurren en A, la noción de
    satisfactibilidad expresa la afirmación que el
    asignamiento s satisface a la fórmula A en M, lo
    cual se denota por
  • M As

5
Cálculo de Primer Orden
  • Una fórmula es válida en una estructura M si es
    satisfecha para todo asignamiento s y se dice
    universalmente válida si es válida en toda
    estructura.
  • Sin embargo, a diferencia de la lógica
    proposicional, no existe un algoritmo para
    decidir si una fórmula en lógica de primer orden
    es o no válida.
  • No obstante, es posible encontrar un
    procedimiento que construya una prueba si la
    fórmula de entrada es válida. Este procedimiento
    podrá no detenerse si la fórmula de entrada no es
    válida.

6
Cálculo de Primer Orden
  • Sintaxis
  • En contraste con la lógica proposicional, los
    lenguajes de primer orden tienen dos partes
  • una parte fija, que consiste de los conectivos
    lógicos, variables y símbolos auxiliares
  • una parte que depende de la aplicación propuesta
    (parte no lógica) del lenguaje, la cual consiste
    de símbolos predicado, símbolos función y
    constantes.
  • Definición (Alfabeto) El alfabeto de un lenguaje
    de primer orden consiste de los siguientes
    conjuntos de símbolos
  • Parte fija

7
Cálculo de Primer Orden
  • Conectivos lógicos , v, , ?, ?, ?,
    cuantificadores ? (para todo), ? (existe) y el
    símbolo de igualdad ?.
  • Variables conjunto infinito contable V x0,
    x1, x2, ...
  • Símbolos auxiliares (agrupadores) (" y )".
  • Parte no lógica L (todos los siguientes son
    conjuntos contables posiblemente infinitos o
    vacíos y disjuntos para evitar ambigüedad)
  • Símbolos de función FS f0, f1, ... y una
    función denominada rango (aridad) r FS ? N que
    indica el número de argumentos para f.
  • Constantes CS c0, c1, ... (cada uno de rango
    0).
  • Símbolos Predicado PS P0, P1, ... y su
    función de rango r PS ? N (los predicados de
    rango 0 son símbolos proposicionales).

8
Cálculo de Primer Orden
  • Denotaremos por L al lenguaje de primer orden con
    un conjunto de símbolos no lógicos L.
  • Definición (Términos) Dado un lenguaje de primer
    orden L, sea ? V?CS?FS. Para cada f ? FS de
    aridad n gt 0 se tiene su función Cf (?)n ? ?
    tal que, para toda cadena t1, ..., tn ??.
  • Cf (t1, ..., tn) f t1 ... tn.
  • Denotamos por TERML al conjunto de términos, y
    es la cerradura inductiva de V?CS bajo los
    constructores Cf. Una descripción informal es la
    siguiente
  • Toda constante y variable es un término.
  • Si t1, ..., tn son términos y f un símbolo
    función de aridad ngt0 entonces f t1 ... tn es un
    término.

9
Cálculo de Primer Orden
  • Definición (Formulas Atómicas) Dado un lenguaje
    de primer orden L, sea ????PS. Para todo
    predicado P de aridad ngt0, sea CP la función CP
    (?)n ?? tal que, para toda cadena t1, ...,tn ?
    ?
  • CP (t1, ..., tn) Pt1 ... tn
  • A su vez, sea C? (?)2??, tal que para toda
    cadena t1, t2 ? ?
  • C? (t1, t2) ? t1t2
  • Denotamos por Latomic al conjunto de fórmulas
    atómicas, el cual es la cerradura inductiva de la
    pareja de los conjuntos TERML ? P P? PS,
    r(P)0 ? ? bajo las funciones CP y C?.

10
Cálculo de Primer Orden
  • Como descripción informal, tenemos la siguiente
  • Todo símbolo predicado P de aridad 0 es una
    fórmula atómica, y también ?.
  • Si t1, ..., tn son términos y P es un símbolo
    predicado de aridad n gt0 entonces P t1 ... tn es
    una fórmula atómica, y también ? t1t2.
  • Definición (Formulas) Sea ? ? ? , v, , ?,
    ?, ?, ?, ?, ?, (, ). Sean las funciones
    constructoras C, Cv, C?, C?, C, definidas sobre
    ? (como en el caso proposicional), y las
    funciones Ai, Ei, definidas tal que para toda
    cadena D ? Ai(D) ?xi D y Ei(D) ?xi D.

11
Cálculo de Primer Orden
  • Denotamos al conjunto de fórmulas sobre el
    lenguaje de primer orden L por FORML, el cual es
    la cerradura inductiva del conjunto de fórmulas
    atómicas Latomic bajo las funciones constructoras
    asociadas a los conectivos y cuantificadores C,
    Cv, C?, C?, C, Ai y Ei. Como descripción
    informal
  • Toda fórmula atómica es una fórmula.
  • Para cualesquiera formulas A y B, las expresiones
    (A B), (A v B), (A ? B), (A ? B) y A también
    son fórmulas.
  • Para cualquier variable xi ? V , cualquier
    fórmula A, las expresiones ?xi A y ?xi A también
    son fórmulas.
  • Los paréntesis pueden omitirse ante la
    descripción jerárquica de los conectivos que se
    hizo en el caso proposicional.

12
Cálculo de Primer Orden
  • Libre Generación del conjunto de Términos y
    Fórmulas
  • Primero se definirá una función K que permitirá
    indicar si un término está completo (en el
    sentido que todos sus argumentos están presentes)
    y de igual forma que en el caso proposicional, se
    estableceran las condiciones de libre generación
    sobre las funciones constructoras sintácticas.

13
Cálculo de Primer Orden
  • Sea K ??N, K(s) 1 n, donde n es el número de
    términos que deben seguir a s para obtener un
    término sintácticamente correcto (n es la
    deficiencia de cola" de s)
  • K(x) 1 0 1, x ?V
  • K(c) 1 0 1, c ? CS,
  • K(f) 1 n, f ? FS de aridad n.
  • Extendiendo K a cadenas de símbolos
  • K(w) K(w1)...K(wm) donde w w1 ... wm
  • Los siguientes resultados serán utilizados para
    demostrar la libre generación de TERML

14
Cálculo de Primer Orden
  • Lema Para cualquier término t, K(t) 1.
  • Lema Ningún prefijo propio de un término es un
    término.
  • Teorema TERML está libremente generado por V y
    CS como átomos y las funciones Cf como
    operadores.
  • Lema Para cualquier fórmula A, K(A) 1.
  • Lema Para cualquier prefijo propio w de una
    fórmula A, K(w) ? 0.
  • Lema Ningún prefijo propio de una fórmula es a
    su vez una fórmula.

15
Cálculo de Primer Orden
  • Teorema El conjunto de fórmulas FORML está
    libremente generado por Latomic como átomos y las
    funciones C ( conectivo lógico), Ai y Ei como
    operadores.
  • Variables Libres y Acotadas
  • En la lógica de primer orden, las variables
    pueden ocurrir acotadas por los cuantificadores,
    se define a continuación.
  • Definición (Variable Libre) Dado un término t,
    el conjunto FV(t) de variables libres de t se
    define recursivamente
  • FV(xi) xi, xi ? V
  • FV(c) ? c ? CS
  • FV(f t1, ..., tn) FV(t1) ? ... ? FV(tn) r(f)
    n

16
Cálculo de Primer Orden
  • Para una fórmula A ? FORML, FV(A)
  • FV(Pt1, ..., tn) FV(t1) ? ... ? FV(tn) r(P)
    n
  • FV(?t1t2) FV(t1) ? FV(t2)
  • FV(A) FV(A)
  • FV((A B)) FV(A) ? FV(B) ? , v, ?, ?
  • FV(?) ?
  • FV(?xi A) FV(A) xi
  • FV(?xi A) FV(A) xi
  • Un término t es cerrado si FV(t) ?.
  • Una fórmula A es cerrada si FV(A) ? (también se
    le denomina sentencia).
  • Una fórmula sin cuantificadores se denomina
    abierta.

17
Cálculo de Primer Orden
  • Definición (Variables Acotadas) Dada una fórmula
    A, el conjunto BV (A) se define
  • BV (P t1, ..., tn) ?
  • BV ( ? t1t2) ?
  • BV (A) BV (A)
  • BV ((A B)) BV (A) ? BV (B) ? , v, ?, ?
  • BV (?) ?
  • BV (?xi A) BV (A) ? xi
  • BV (?xi A) BV (A) ? xi
  • BV (?xi A) ? FV(?xi A) no necesariamente es ? la
    misma variable puede ser tanto libre como acotada
    en A.

18
Cálculo de Primer Orden
  • Ejemplo
  • A ?x(R(x, y) ? P(x)) ?y(R(x, y) ?x
    (P(x))).
  • Vemos que FV(A) x, y y BV (A) x, y.
  • Sea B ?x(R(x, y) ? P(x)).
  • Ahora FV(B) y, BV (B) x.
  • Finalmente, sea C ?y (R(x, y) ?xP(x)).
  • FV(C) x, y BV(C) x, y.

19
Cálculo de Primer Orden
  • Substituciones
  • Se define la operación de substitución de un
    término para una variable libre en un término o
    en una fórmula.
  • Definición (Substitución) Sean s, t ? TERML , x
    ? V. El resultado de substituír t por x en s, se
    denota por st / x y se define recursivamente

20
Cálculo de Primer Orden
  • Para A ? FORML, At / x se define

?
?
21
Cálculo de Primer Orden
  • Ejemplo Sea A ?x ( P(x) ? Q(x, f(y)) ), y sea
    t g(y). Tenemos las substituciones siguientes
  • f(y)t / y f(g(y)), At / y ?x(P(x) ? Q(x,
    f(g(y)))) pero At / x A debido a que x está
    acotada en A.
  • Existen substituciones en las cuales alguna
    variable en el término t se vuelve acotada al
    realizar la substitución At / x, lo cual puede
    cambiar el valor de verdad inapropiadamente
  • Sea A ?x(x lty)x / y ?x(x lt x).

22
Cálculo de Primer Orden
  • El enunciado ?x(x lt x) es falso en una estructura
    de orden total, pero ?x(x lt y) si puede ser
    satisfecha en dicha estructura.
  • Definición Un término t es libre para x en A si,
    ya sea que
  • 1. A es atómica, o
  • 2. A (B C), y t es libre para x en B y C, ó
  • 3. A B y t es libre para x en B, ó
  • 4. A ?y B (o A ?y B) y ya sea que x y ó x
    ? y y ? FV(t) y t es libre para x en B.

23
Cálculo de Primer Orden
  • Si una fórmula A contiene x como variable libre
    lo describimos por A(x) y abreviamos At / x por
    A(t).
  • Ejemplo
  • 1. Sea A ?x (P(x) ? Q(x, f(y))), el término
    g(y) es libre para y en A, pero g(x) no es libre
    para y en A.
  • Si tomamos a B ?x (P(x) ? ?z Q(z, f(y))),
    entonces g(z) no es libre para y en B, pero g(z)
    está libre para z en B (pues la substitución
    Bg(z)/z no está permitida ya que z está
    acotada).

24
Cálculo de Primer Orden
  • 2. El término x2 está libre para x1 en P(x1),
    pero xj no está libre para xi en ?xj P(xi). El
    término f(x1, x3) está libre para x1 en ?x2 P(x1,
    x2) ? Q(x1), pero no está libre para x1 en ?x3
    (?x2 P(x1, x2)) ? Q(x1).
  • 3. Cualquier término que no contenga variables
    libres es libre para cualquier variable en
    cualquier fórmula.
  • 4. Un término t es libre para cualquier variable
    en A si ninguna de las variables de t está
    acotada en A.
  • 5. xj es libre para xj en cualquier fórmula.
  • 6. Cualquier término es libre para xi en A si A
    no contiene ocurrencias libres de xi.

25
Cálculo de Primer Orden
  • Semántica de Lenguajes de Primer Orden
  • La semántica de una fórmula se obtiene mediante
    la interpretación de los símbolos de función,
    constantes y predicados en L y asignándoles
    valores a las variables libres, para lo cual, se
    necesita el concepto de estructura.
  • Estructuras de Primer Orden
  • Una estructura de primer orden le asigna
    significado a los símbolos de L.

26
Cálculo de Primer Orden
  • Definición (L-estructura) Dado un lenguaje de
    primer orden L, una L-estructura M (M,I), donde
    M ?? es el dominio (o carrier') e I es la
    función de interpretación que asigna funciones y
    predicados en M a los símbolos en L de la
    siguiente forma
  • 1. Para cada f ? FS, r(f) n gt0 I(f) Mn ? M
  • 2. Para cada c ? CS, I(c) ? M
  • 3. Para cada P ? PS, r(P) n gt0, I(P) Mn ?
    BOOL
  • (I definida sobre símbolos predicado de aridad 0
    es una valuación en PROP).
  • Notación I(f) se denota como fM, I(c) como cM,
    I(P) como PM .

27
Cálculo de Primer Orden
  • El valor de verdad de una fórmula A dependerá
    generalmente de los asignamientos s de valores
    específicos respecto al dominio M de variables.
  • Se define la semántica de una fórmula A como una
    función AM definida a partir del conjunto de
    asignamientos de valores en M a las variables,
    hacia el conjunto BOOL.
  • Definición (Asignamiento) Dados L y L-estructura
    M, un asignamiento es cualquier función s V ?
    M. Denotamos como V ? M al conjunto de todas
    las funciones de asignamiento.

28
Cálculo de Primer Orden
  • Se denota por AM V ? M ? BOOL la
    interpretación o significado de A en el dominio
    correspondiente M, y V ? M ? BOOL denota el
    conjunto de todas tales funciones.
  • Se necesita extender los conectivos al conjunto
    de funciones V ? M ? BOOL.
  • Definición Dado cualquier dominio M no vacío,
    dado cualquier a ? M y cualquier asignamiento s
    V ? M, sxi a denota el nuevo asignamiento s
    V ? M tal que s(y) s(y), para y ? xi y
    s(xi) a para todo i ? 0, se definen (Ai)M y
    (Ei)M funciones de V ? M ? BOOL hacia V ?
    M ? BOOL como sigue

29
Cálculo de Primer Orden
  • para cada f ? V ? M ? BOOL (Ai)M(f) para
    cada s ? V ? M,
  • (Ai)M(f)(s) F si y sólo si f(sxi a) F
    para algún a ? M
  • (Ei)M(f) para cada s ? V ? M,
  • (Ei)M(f)(s) T si y sólo si f(sxi a) T
    para algún a ? M.
  • Definición Dado el dominio M, las funciones M,
    vM, ?M, ?M sobre V ? M ? BOOL x V ? M ?
    BOOL hacia V ? M ? BOOL y M de V ? M ?
    BOOL a V ? M ? BOOL se definen como sigue

30
Cálculo de Primer Orden
  • para cualesquiera funciones f, g ? V ? M ?
    BOOL, para todo s ? V ? M,
  • (definir los significados para t ? TERML y A ?
    FORML)

31
Cálculo de Primer Orden
  • Definición Dada una L-estructura M, tM V ? M
    ? M es tal que para todo asignamiento s ? V ?
    M, el valor tM se define recursivamente
  • 1. xMs s(x) x ? V
  • 2. cMs cM c ? CS
  • 3. (f t1... tn)Ms f((t1)Ms, ..., (tn)Ms)
  • Se formula una definición recursiva para AM V
    ? M ? BOOL
  • 1. Formulas atómicas
  • para todo asignamiento s ? V ? M,
  • a) (P t1 ... tn)Ms PM((t1)Ms, ...,
    (tn)Ms)
  • b) (? t1t2)Ms if (t1)Ms (t2)Ms then T
    else F
  • c) (?)Ms F.

32
Cálculo de Primer Orden
  • 2. formulas no atómicas
  • a) (A B)M M(AM, BM)
  • b) (A)M M (AM)
  • c) (?xiC)M (Ai)M (CM)
  • d) (?xiC)M (Ei)M (CM )
  • (?xiA)Ms T iff AMsxi m T, para toda
    m ? M
  • (?xiA)Ms T iff AMsxi m T, para algún
    m ? M.
  • Si M es infinito, la evaluación de (?xiA)Ms (o
    ? respectivamente) requiere verificar
    infinitamente muchos valores (de hecho, todos los
    los valores verdaderos AMsxi m,m ? M). Por
    tanto, no existe un algoritmo para calcular su
    valor de verdad.

33
Cálculo de Primer Orden
  • Satisfacción, Validez y Modelo
  • Definición Sea L un lenguaje de primer orden y M
    una L-estructura.
  • 1. A ? FORML, s ? V ? M, M satisface A con S si
    y sólo si AM s T M As.
  • 2. A es satisfactible en M si y sólo si existe
    algún asignamiento s tal que AM s T
    (existencia de M).
  • 3. A es válida en M (o verdadera en M) iif AM s
    T para todo s, M A, (M es un modelo de A)

34
Cálculo de Primer Orden
  • A es universalmente válida si y sólo si A es
    válida en toda estructura A.
  • 4. ? es satisfactible si y sólo si existen una
    estructura M y un s tales que M As para cada
    A ? ?,
  • M es un modelo de ? iif M es un modelo de cada A
    ? ?, M ?.
  • ? iff M ? para toda M.
  • 5. B es una consecuencia semántica de ? ? B
    iif para toda M y toda s, if M As para cada A
    ? ? then M Bs.

35
Cálculo de Primer Orden
  • Teoría de Pruebas el Sistema Gentzen G
  • Se Considera primero el caso para lenguajes de
    primer orden L sin igualdad.
  • El sistema de inferencia G para lógica de primer
    orden mantiene a las reglas de inferencia para
    los conectivos lógicos de G, así que resta por
    introducir las reglas asociadas a los
    cuantificadores

36
Cálculo de Primer Orden
  • donde x es cualquier variable y y es cualquier
    variable libre para x en A, pero acotada en A
    solamente si y x (i.e., y ? FV(A) x). El
    término t es cualquier término libre para x en A.

37
Cálculo de Primer Orden
  • Nótese que tanto en la regla (? ?) como en la
    regla (? ?) la variable y no ocurre libre en el
    secuente inferior (conclusión), en estas reglas y
    se denomina la eigenvariable de la inferencia.
  • La fórmula sobre la cual se aplica la regla (ya
    sea ?x A ó ?x A) se denomina fórmula principal
    mientras que la fórmula At/x (o Ay/x) se
    denomina fórmula lateral de la inferencia.
  • Los axiomas de G son todos los secuentes ???
    tales que ?????.

38
Cálculo de Primer Orden
  • Se define a continuación cuándo un secuente es
    falsificable ó válido
  • Definición 1. Un secuente A1, ..., An ? B1, ...,
    Bm es falsificable si y sólo si para alguna
    estructura M y un asignamiento s
  • M (A1 ... An) (B1 ... Bm)s
  • Cuando n 0 la condición se reduce a
  • M (B1 ... Bm)s
  • y cuando m 0 entonces queda
  • M (A1 ... An)s

39
Cálculo de Primer Orden
  • 2. Un secuente A1, ..., An ? B1, ..., Bm es
    válido si y sólo si para toda estructura M y todo
    asignamiento s
  • M (A1 v ... v An v B1 v ... v Bm)s
  • lo cual se denota por A1, ..., An ? B1, ...,
    Bm.
  • Un secuente es válido únicamente cuando no es
    falsificable.
  • Los árboles de deducción y de prueba para G se
    definen de igual forma que para el caso
    proposicional pero aplicando obviamente las
    reglas que se han descrito.

40
Cálculo de Primer Orden
  • Ejemplo Sea A ?x (P ? Q(x)) ? (P ? ?z Q(z)),
    donde P es un símbolo proposicional y Q un
    símbolo predicado unario.
  • El siguiente es un árbol de prueba para A, note
    que Py1/x P.
  • ax
  • ax Q(y1), P ? Q(y1), ?zQ(z)
  • P ? P, ?z Q(z) Q(y1), P ? ?zQ(z) (? ?)
  • P, P ? Q(y1) ? ?zQ(z) (? ?)
  • P ? Q(y1) ? P ? ?zQ(z) (? ?)
  • ?x(P ? Q(x)) ? P ? ?zQ(z) (? ?)
  • ? ?x(P ? Q(x)) ? (P ? ?zQ(z)) (? ?)

41
Cálculo de Primer Orden
  • Sea ahora A (?xP(x) ?yQ(y)) ? (P(f(v))
    ?zQ(z)), donde P, Q y f son unarios. El siguiente
    es un árbol de prueba para A
  • ax
  • P(f(v)), ?xP(x), Q(u) ? Q(u)
  • P(f(v)), ?xP(x), Q(u) ? ?zQ(z) (? ?)
  • II P(f(v)), ?xP(x), ?yQ(y) ? ?zQ(z) (? ?)
  • P(f(v)), ?xP(x), ?yQ(y) ? P(f(v)) ?zQ(z) (? )
  • ?xP(x), ?yQ(y) ? P(f(v)) ?zQ(z) (? ?)
  • ?xP(x) ?yQ(y) ? P(f(v)) ?zQ(z) ( ?)
  • ? (?xP(x) ?yQ(y)) ? (P(f(v)) ?zQ(z)) (? ?)
  • donde II P(f(v)), ?xP(x), ?yQ(y) ? P(f(v)).

42
Cálculo de Primer Orden
  • Completitud de G
  • Dado un secuente (posiblemente infinito) ???, el
    propósito es intentar falsificarlo, para lo cual
    el procedimiento búsqueda debe tener las
    siguientes propiedades
  • 1. Si el secuente original es válido, búsqueda se
    detiene después de un número finito de pasos,
    produciendo un árbol de prueba.
  • 2. Si el secuente original es falsificable,
    búsqueda produce un árbol posiblemente infinito,
    y a lo largo de alguna rama (posiblemente
    infinita) se puede demostrar que un conjunto
    Hintikka existe, el cual produce un contra
    ejemplo para el secuente.

43
Cálculo de Primer Orden
  • Fundamentalmente el problema es modificar el
    procedimiento expansión para tomar en
    consideración los cuantificadores.
  • Dado ??? se puede asumir que el conjunto de todas
    las variables que ocurren libres en alguna
    fórmula en el secuente es disjunto del conjunto
    de todas las variables que ocurren acotadas en
    alguna fórmula en el secuente.
  • Ésta condición asegura que los términos que
    ocurren en alguna fórmula en el secuente son
    libres para realizar substituciones.

44
Cálculo de Primer Orden
  • Primero, también es conveniente extender las
    reglas de los cuantificadores de la siguiente
    forma
  • Definición Las reglas extendidas (??) y (??)
    son
  • donde t1, ..., tk son términos libres para x en
    A cualesquiera.

45
Cálculo de Primer Orden
  • Se mantiene una pareja de listas de control para
    el uso de los términos y variables nuevas
  • Sea TERM0 una lista no vacía de términos y
    variables definida de la siguiente forma. Si no
    hay variables ni constantes en alguna fórmula de
    ???
  • TERM0 lt y0 gt,
  • donde y0 es la primer variable del conjunto V
    que no ocurre en ninguna fórmula de ???. De lo
    contrario,
  • TERM0 lt u0, ..., up gt,
  • es una lista de todas las variables libres y
    constantes que ocurren en ???. Sea
  • AVAIL0 lt y1, ..., yn, ... gt,
  • una lista contable disjunta de TERM0 que
    contiene variables que no ocurren en ninguna
    fórmula de ???.

46
Cálculo de Primer Orden
  • Los términos en TERM0 y las variables de AVAIL0
    se utilizarán como las t's y las y's para las
    aplicaciones de las reglas de cuantificadores
    (??) y (??).
  • Dado que las variables de TERM0 no ocurren
    acotadas en el secuente original y las variables
    de AVAIL0 son nuevas, las substituciones At/x y
    Ay/x son libres.
  • Conforme la búsqueda de un contraejemplo para el
    secuente original progrese, se debe registrar en
    cada paso cual de las u0, ..., up, y1, y2, ...
    han sido utilizadas (activadas) hasta el momento.

47
Cálculo de Primer Orden
  • Cada vez que una regla (??) ó (??) sea aplicada,
    se utilizará como variable y a la que se
    encuentre al inicio de la lista AVAIL0,
    eliminándose y se incorpora y al final de la
    lista TERM0.
  • Cada vez que se apliquen las reglas (??) y (??)
    se utilizará como término t a cada uno de los
    términos u0, ..., uq de la lista TERM0 que no
    hayan sido previamente utilizados como término t
    para esa misma regla en la misma fórmula
    principal. Por tanto, se debe registrar también
    sobre que fórmula ha sido utilizado un término ui.

48
Cálculo de Primer Orden
  • Si un secuente tiene la propiedad que todas sus
    fórmulas no son ni atómicas ni de la forma ?xA (o
    ?xA) tal que todos los términos en TERM0 ya han
    sido utilizados como términos para las reglas
    (??) y (??), y este secuente no es un axioma,
    entonces nunca se volver a un axioma y se puede
    detener su expansión.
  • La lista TERM0 será una lista de registros de la
    forma lt ui, FORM0(i) gt donde sus campos son ui
    es un término y FORM0(i) es una lista de fórmulas
    de la forma ?xA (o ?xA) que han utilizado a ui
    como el término t para las reglas (??) y (??).
    Inicialmente, cada FORM0(i) es la lista vacía, y
    serán actualizadas cada vez que un término t se
    utilice en una regla (??) y(??).

49
Cálculo de Primer Orden
  • Finalmente, se necesita tomar en consideración la
    actualización cuidadosa de las listas al final de
    una ronda, así las mismas substituciones serán
    aplicadas a todas las ocurrencias de una fórmula.
  • Por tanto, se mantendrá una variable auxiliar
    TERM1 local dentro de búsqueda, durante una
    ronda, TERM1 se actualiza y solo al final de la
    ronda TERM0 recibe la versión actualizada de
    TERM1.
  • Una hoja del árbol construído por el
    procedimiento buscar está finalizada si y sólo si
    , ya sea que.
  • 1. El secuente está etiquetado por un axioma, o
  • 2. El secuente contiene solamente átomos o
    fórmulas ?xA (o ?xA) que pertenecen todos a las
    listas FORM0(i) para cada una de las lt ui,
    FORM0(i) gt en FORM0.

50
Cálculo de Primer Orden
  • El procedimiento buscar se obtiene modificando el
    procedimiento para el caso proposicional e
    incorporando la iniciación de TERM1 y AVAIL0.
  • Definición. (procedimiento búsqueda) La entrada
    es un árbol de un nodo etiquetado con el secuente
    ??? y la salida en un árbol posiblemente infinito
    T denominado árbol de deducción sistemático.
  • Ejemplo. Sea A ?x(P ? Q(x)) ? (P ? ?zQ(z)).
  • AVAIL0 lt y1, y2, ... gt, dado que A no tiene
    variables libres, TERM0 ltlt y0, nil gtgt. Después
    de la primer ronda, se tiene el siguiente árbol.
  • ?x(P ? Q(x)) ? P ? ?zQ(z)
  • ? ?x(P ? Q(x)) ? (P ? ?zQ(z)) (? ?)

51
Cálculo de Primer Orden
  • TERM0 y AVAIL0 no cambiaron.
  • A continuación, cuando se aplica (??) se utiliza
    y1 de la cabeza de AVAIL0 y se obtiene el
    siguiente árbol.
  • P, P ? Q(x) ? ?zQ(z)
  • P ? Q(y1) ? P ? ?zQ(z) (? ?)
  • ?x(P ? Q(x)) ? P ? ?zQ(z) (? ?)
  • ? ?x(P ? Q(x)) ? (P ? ?zQ(z)) (? ?)
  • Al final de esta ronda. TERM0 ltlt y0, nil gt, lt
    y1, nil gtgt, AVAIL0 lt y2, ... gt.

52
Cálculo de Primer Orden
  • Para la siguiente ronda, cuando se aplica la
    regla (? ?) a la fórmula ?zQ(z) con los términos
    y0 y y1 se obtiene el siguiente árbol.
  • ax Q(y1), P ? Q(y0), Q(y1),
    ?zQ(z)
  • P ? P, ?zQ(z) Q(y1), P ? ?zQ(z) (? ?)
  • P, P ? Q(y1) ? ?zQ(z) (? ?)
  • P ? Q(y1) ? P ? ?zQ(z) (? ?)
  • ?x(P ? Q(x)) ? P ? ?zQ(z) (? ?)
  • ? ?x(P ? Q(x)) ? (P ? ?zQ(z)) (? ?)
  • Quedando TERM0 ltlt y0, ?zQ(z) gt, lt y1,
    ?zQ(z) gtgt. Este último árbol es un árbol de
    prueba para A.

53
Cálculo de Primer Orden
  • Correctitud de G
  • Procedimiento Búsqueda
  • procedure busqueda (???. secuente, var T. arbol)
  • begin
  • sea T el árbol de un nodo etiquetado con ???
  • TERM0 . ltltu0, nil gt, ..., ltup, nil gtgt, AVAIL0
    . lt y1, y2, ... gt
  • while not todas las hojas de T estén TERMinadas
    do
  • T0 . T, TERM1 . TERM0,
  • for each hoja de T0 (en orden lexicográfico) do
  • if not finalizado(nodo) then
    expandir(nodo, T) endif
  • endfor TERM0 . TERM1,
  • endwhile,
  • if todas las hojas son axiomas then write (T es
    una prueba)
  • else write (??? es falsicable')
  • endif end

54
Cálculo de Primer Orden
  • Procedimiento Expansión
  • procedure expandir(nodo. dir-arbol, var T. arbol)
  • begin
  • sea A1, ..., Am ? B1, ..., Bn la etiqueta del
    nodo,
  • sea S el árbol de un nodo etiquetado con el
    secuente anterior
  • for i1 to m do
  • if noatomico(Ai) then grow-left(Ai, S)
  • endif
  • endfor,
  • for i1 to n do
  • if noatomico(Bi) then grow-right(Bi, S)
  • endif
  • endfor,
  • T. substitucion(T, nodo, S),
  • end

55
Cálculo de Primer Orden
  • Procedimiento Crece-por-la-izquierda
  • procedure grow-left(A . formula, var S. arbol)
  • begin
  • case A of B C, B v C, B ? C, B Extender cada
    hoja no axioma de S aplicando la regla izquierda
    correspondiente,
  • ?xB for cada término uk ? TERM0 tal
    que A ? FORM0(k) do
  • extender cada hoja no axioma de S aplicando la
    regla
  • (? ?) utilizado el término uk
  • FORM1(k) append(FORM1(k), A)
  • endfor,
  • ?xB extender la hoja no axioma de S aplicando
    la regla (? ?)
  • utilizando y head(AVAIL0) TERM1
    append (TERM1,
  • lt y, nil gt) AVAIL0 tail( AVAIL0)
  • endcase
  • end

56
Cálculo de Primer Orden
  • Procedimiento Crece-por-la-derecha
  • procedure grow-right(A formula, var S arbol),
  • begin
  • case A of B C, B v C, B ? C, B Extender cada
    hoja no axioma de S aplicando la regla derecha
    correspondiente.
  • ?xB for cada término uk ? TERM0 tal que A ?
    FORM0(k) do
  • extender cada hoja no axioma de S aplicando la
    regla
  • (? ?) utilizado el término uk
  • FORM1(k) append(FORM1(k),A)
  • endfor
  • ?xB extender la hoja no axioma de S aplicando
    la regla (? ?)
  • utilizando y head (AVAIL0) TERM1
    append(TERM1,
  • lt y, nil gt) AVAIL0 tail(AVAIL0)
  • endcase
  • end
Write a Comment
User Comments (0)
About PowerShow.com