21 Arbol estructural, recursion, induccion

Observación V.2.
Ejemplo V.2.

Dibujar el arbol estructural de la formula:

∀x(P(a,f(x))∧Q(f(a)))→(p∨P(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)))
Ejemplo V.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 φ,ψ∈ℱ︀1⇒f((φ∘ψ))=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)

Ejemplo V.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 φ∈ℱ︀1⇒f(¬φ)=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