2

In Logic and Structure, Van Dalen writes,

Theorem 1.1.6 (Defintion by Recursion) Let mappings $H_\square:A^2\rightarrow A$ and $H_\neg:A\rightarrow A$ be given and let $H_{at}$ be a mapping from the set of atoms into $A$, then there exists exactly one mapping $F:PROP\rightarrow A$ such that $F(\phi)=H_{at}(\phi)$ for $\phi$ atomic and $$F((\phi\square\psi))=H_\square(F(\phi),F(\psi))\text{ and }F((\neg\phi))=H_\neg(F(\phi)).$$

One example is the rank function. Let $H_\square:=(n,m)\mapsto\sup(n,m)+1$ be a mapping of $\mathbb{N}^2$ into $\mathbb{N}$, and let $\sigma$ (the successor function) be $H_\neg$. Define $H_{at}(\phi):=0$ for all atomic $\phi$. Then $r:PROP\rightarrow\mathbb{N}$ such that $r(\phi)=0$ for atomic $\phi$, $r(\neg\phi)=H_\neg(r(\phi))=r(\phi)+1$ and $$r((\phi\square\psi))=H_\square(r(\phi),r(\psi))=\sup(r(\phi),r(\psi))+1.$$

Another example is the set of sub formulas $Sub(-)$ of a formula. Here Van Dalen says

Definition 1.1.7 The set of sub formulas $Sub(\phi)$ is given be

  1. $Sub(\phi)=\{\phi\}$ for atomic $\phi$
  2. $Sub(\phi_1\square\phi_2)=Sub(\phi_1)\cup Sub(\phi_2)\cup\{\phi_1\square\phi_2\}$
  3. $Sub(\neg\phi)=Sub(\phi)\cup\{\neg\phi\}$

It seems that $H_{at}$ is the function $\phi\mapsto\{\phi\}$ in this case. What are the function $H_\square$ and $H_\neg$ in this example?

  • The rank is a number. The subformula needs a set of formulas. Thus, the set $A$ to bu used for the general Def by Recursion is $\mathcal P (\text {PROP})$. – Mauro ALLEGRANZA Oct 31 '20 at 18:12
  • To an atomic $\phi$ the mappings gives as output the set ${ \phi }$ – Mauro ALLEGRANZA Oct 31 '20 at 18:12
  • I am going through Van Dalen as well and have come across the subformula definition as well (page 12). Yes, it seems like $A$ should be the power set of propositions, $H_{at}$ should map a propositional variable to the set with that variable as the only member. But I can't see how to define the other $H$ functions. – Porky Jan 12 '24 at 05:26
  • @MauroALLEGRANZA Do you know the $H$ functions that we should be using for the Sub case (other than atomic)? I suspect that you can't use "Definition by Recursion" in this case and another proof is required? – Porky Jan 12 '24 at 05:50
  • @Porky - In all cases the function maps a formula to the set of its subformulas; thus its codomain will be $\mathcal P (\text {PROP})$. Examples with $p,q$ atoms: $Sub (p)= { p }$ and $Sub (p \land q) = { p,q, p \land q }$. – Mauro ALLEGRANZA Jan 12 '24 at 06:49
  • Yes, but we want to show there is a unique function which satisfies the three conditions in the definition of Sub. And Van Dalen intimates that we can do this by using the “Definition by Recursion” theorem. To apply this theorem for this case we need to define all the “$H$” functions and the set $A$. So far, only the atomic “$H$” and the set $A$ has been defined. I think we need a more general “Definition by recursion” theorem and will work on it shortly. – Porky Jan 12 '24 at 07:37

1 Answers1

0

Regarding the second part of the question about $Sub$, intuitively it seems obvious that $Sub$ exists and is unique. To prove formally, however, I don't think you can use the "Defintion by Recursion theorem" as we can't find suitable $H_\neg$ or $H_\square$ as also noted by Pharaz here (although happy to be corrected).

I think you need a more general theorem. Here is a proposed update:

Theorem 1.1.6a (Defintion by Recursion) Let $S$ be the set of all strings in our alphabet. Let mappings $H_\square:A^2$x $S^2 \rightarrow A$ and $H_\neg:A$ x $S \rightarrow A$ be given and let $H_{at}$ be a mapping from the set of atoms into $A$. Then here exists exactly one mapping $F: PROP \rightarrow A$ such that $F(\phi)=H_{at}(\phi)$ for atomic $\phi$ and

$ F((\phi \square \psi))=H_\square(F(\phi), F(\psi),\phi,\psi)$ and $F(\neg\phi)=H_\neg(F(\phi),\phi)$

This can be proved by hacking the proof here.

Then we let $A=\mathcal P(PROP)$, $H_{at}(\phi)=\{\phi\}$, $H_\square(A,B,s_1,s_2)=A \cup B \cup \{concat('(',s_1,'\square',s_2,')')\}$ and $H_\neg(A,s)=A \cup \{concat('\neg',s)\}$.

where $concat$ is the string concatenation fucntion

Porky
  • 1,054