21 Arbol estructural, recursion, induccion

Remark 21.1.
Example 21.2.

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)))\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)))
Example 21.3.

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\left\{0\right\}
φ\displaystyle\varphi
f(φ)= num conectivas\displaystyle{}\longmapsto f(\varphi)=\text{ num conectivas }
  1. 1.

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

    Alternativamente si φ\varphi es atomica,

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

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

  3. 3.

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

  4. 4.

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

  5. 5.

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

Example 21.4.

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 φ\varphi es atomica,

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

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

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

    Sea PP es un pred. de aridad nn con t1,,tnt_{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 tt es termino atomico, g(t)=1g(t)=1.

    2. (b)

      Terminos compuestos:

      Sea hh un simbolo de funcion de aridad nn y t1,,tnt_{1},\ldots,t_{n} terminos: g(h(t1,,tn))=g(t1)+g(t2)++g(tn)+1g(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)+1f(P(t_{1},t_{2},\ldots,t_{n}))=g(t_{1})+g(t_{2})+\cdots+g(t_{n})+1

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

  2. 2.

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

  3. 3.

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

  4. 4.

    Sea φℱ︀1\varphi\in\mathcal{{F}}_{1}

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