21 Arbol estructural, recursion, induccion

Observación.
Ejemplo.

Dibujar el arbol estructural de la formula:

x(P(a,f(x))Q(f(a)))(pP(g(b,y),a)y(Q(y)(g(a,a)=x)))\displaystyle\forall x(P(a,f(x))\wedge Q(f(a)))\rightarrow(p\vee P(g(b,y),a)% \leftrightarrow\exists y(Q(y)\wedge(g(a,a)=x)))
Ejemplo.

Recursion. Definir por recursion una fubcion que, dada una formula cualquiera de la logica de predicados, devuelva el numero de conectivas que aparecen en la formula.

f:1\displaystyle f\colon\mathcal{{F}}_{1} {0}\displaystyle\longrightarrow\mathbb{N}\cup\{0\}
φ\displaystyle\varphi f(φ)= num conectivas\displaystyle\longmapsto f(\varphi)=\text{ num conectivas }
  1. 1.

    Para formulas atomicas, f()=1\displaystyle f(\top)=1, f()=1\displaystyle f(\perp)=1. Si p\displaystyle p es un simbolo de proposicion atomica, f(p)=0\displaystyle f(p)=0. f(P(t1,,tn))=0\displaystyle f(P(t_{1},\ldots,t_{n}))=0, f(t1=b1)=0\displaystyle f(t_{1}=b_{1})=0

    Alternativamente si φ\displaystyle\varphi es atomica,

    f(φ)={1 si φ=,0 en el resto de casos\displaystyle f(\varphi)=\begin{dcases}1\text{ si }\varphi=\top,\perp\\ 0\text{ en el resto de casos}\end{dcases}
  2. 2.

    Si φ1\displaystyle\varphi\in\mathcal{{F}}_{1}, entonces f(¬φ)=f(φ)+1\displaystyle f(\neg\varphi)=f(\varphi)+1.

  3. 3.

    Si φ,ψ1f((φψ))=f(φ)+f(ψ)+1\displaystyle\varphi,\psi\in\mathcal{{F}}_{1}\Rightarrow f((\varphi\circ\psi))% =f(\varphi)+f(\psi)+1

  4. 4.

    f(xφ)=f(φ)\displaystyle f(\forall x\varphi)=f(\varphi)

  5. 5.

    f(xφ)=f(φ)\displaystyle f(\exists x\varphi)=f(\varphi)

Ejemplo.

Definir por recursion una funcion que, dada una formula cualquiera de la logica de predicados, devuelva el numero de simbolos no auxiliares que aparecen en esa formula.

f:1\displaystyle f\colon\mathcal{{F}}_{1} \displaystyle\longrightarrow\mathbb{N}
φ\displaystyle\varphi f(φ)=num simbolos no aux\displaystyle\longmapsto f(\varphi)=\text{num simbolos no aux }
  1. 1.

    Si φ\displaystyle\varphi es atomica,

    f()=1\displaystyle f(\top)=1

    f()=1\displaystyle f(\perp)=1

    p\displaystyle p simb de prop atomica f(p)=1\displaystyle\Rightarrow f(p)=1

    Sea P\displaystyle P es un pred. de aridad n\displaystyle n con t1,,tn\displaystyle t_{1},\ldots,t_{n} terminos.

    Necesito una funcion nueva que cuente el numero de simbolos no auxiliares de un termino, que vamos a definir tambien por recursion.

    g:𝒯\displaystyle g\colon\mathcal{{T}} \displaystyle\longrightarrow\mathbb{N}
    t\displaystyle t g(t)= num simbolos no aux\displaystyle\longmapsto g(t)=\text{ num simbolos no aux }
    1. a)

      Si t\displaystyle t es termino atomico, g(t)=1\displaystyle g(t)=1.

    2. b)

      Terminos compuestos:

      Sea h\displaystyle h un simbolo de funcion de aridad n\displaystyle n y t1,,tn\displaystyle t_{1},\ldots,t_{n} terminos: g(h(t1,,tn))=g(t1)+g(t2)++g(tn)+1\displaystyle g(h(t_{1},\ldots,t_{n}))=g(t_{1})+g(t_{2})+\cdots+g(t_{n})+1

    Luego f(P(t1,t2,,tn))=g(t1)+g(t2)++g(tn)+1\displaystyle f(P(t_{1},t_{2},\ldots,t_{n}))=g(t_{1})+g(t_{2})+\cdots+g(t_{n})+1

    Si t1,t2\displaystyle t_{1},t_{2} son terminos, f((t1=t2))=g(t1)+g(t2)+1\displaystyle f((t_{1}=t_{2}))=g(t_{1})+g(t_{2})+1

  2. 2.

    Sea φ1f(¬φ)=f(φ)+1\displaystyle\varphi\in\mathcal{{F}}_{1}\Rightarrow f(\neg\varphi)=f(\varphi)+1

  3. 3.

    Sea φ,ψ1\displaystyle\varphi,\psi\in\mathcal{{F}}_{1} f((φψ))=f(φ)+f(ψ)+1\displaystyle\Rightarrow f((\varphi\circ\psi))=f(\varphi)+f(\psi)+1

  4. 4.

    Sea φ1\displaystyle\varphi\in\mathcal{{F}}_{1}

    f(xφ)=f(φ)+2\displaystyle f(\forall x\varphi)=f(\varphi)+2 f(xφ)=f(φ)+2\displaystyle f(\exists x\varphi)=f(\varphi)+2