1
$\begingroup$

Here's the problem I'm doing;

Let $L_P$ be the language of propositional logic (consisting of parentheses, $\lnot$, $\rightarrow$ and a countable set of atomic formulae). Let $\alpha$ be any formula of $L_p$. Let $s(\alpha)$ be the number of atomic formulas in $\alpha$ (counting repetitions) and let $c(\alpha)$ be the number of occurences of $\rightarrow$ in $\alpha$. Show that $s(\alpha) = c(\alpha)+1$.


Proof Attempt:

We proceed by induction on the number of left-parentheses of a given formula. Suppose that a given formula has $0$ left-parentheses. Then, it has $0$ right-parentheses. Hence, it can only be an atomic formula. So, $s(\alpha) = 1 = 1+0 = 1+c(\alpha)$, where $c(\alpha) = 0$ because $\rightarrow$ does not appear in an atomic formula. So, the assertion holds in the base case.

Now, suppose that the assertion holds for any formula with $n$ left-parentheses. Let $\alpha$ be such a formula. Then, there are only 3 ways to construct a new formula with $n+1$ left-parentheses:

  1. $(\lnot \alpha)$

  2. $(\alpha \rightarrow A_n)$

  3. $(A_n \rightarrow \alpha)$

where $A_n$ is an arbitrary but fixed atomic formula. In the first case, the number of occurences of $\rightarrow$ does not change and the number of atomic formulae does not change. So, the assertion holds for this formula. In the last two cases, the number of occurrences of $\rightarrow$ and the number of atomic formulae in the given formulas each increase by $1$. So, the assertion will hold for them as well.

Hence, the assertion holds for any formula with $n+1$ left parentheses. This proves that the assertion holds for all formulas of $L_P$. $\Box$

Does the proof above work? If it doesn't, then why? How can I fix it?

$\endgroup$
4
  • $\begingroup$ The proof does not work. It does not cover all possible cases for the proposed statement under which that statement holds true. For example, ((A$\rightarrow$B)$\rightarrow$(C$\rightarrow$D)) does not fall under any of the cases in the induction step, nor in the base step. (((A$\rightarrow$B)$\rightarrow$F)$\rightarrow$((C$\rightarrow$D)$\rightarrow$G)) also does not. $\endgroup$ Commented Nov 2, 2020 at 20:47
  • $\begingroup$ Hmm but in the induction step, we are trying to prove the result for formulas with $n+1$ left-parentheses, yes? So, we can't consider formulas of the form $((A \to B) \to (C \to D))$ because that would introduce more parentheses? The same thing would apply for the basis step, where we are looking specifically at formulas with $0$ left-parentheses. Do you have an alternative strategy in mind for the problem? Why is my approach incorrect? $\endgroup$
    – Mousedorff
    Commented Nov 2, 2020 at 20:51
  • $\begingroup$ Bump, I still wouldn't be opposed to more feedback about my solution haha $\endgroup$
    – Mousedorff
    Commented Nov 2, 2020 at 21:29
  • $\begingroup$ Bump, I still wouldn't mind having my argument completely verified haha $\endgroup$
    – Mousedorff
    Commented Nov 3, 2020 at 2:15

1 Answer 1

1
$\begingroup$

The induction must be on the rank of $\alpha$, i.e. on the number of connectives in the formula.

You have already verified the base case.

The case for $\lnot$ is trivial: no new atoms and no new occurrences of $\to$.

The only case left is $\to$.

We have that $\alpha$ is $(\alpha_1 \to \alpha_2)$ and we assume that the property holds for $\alpha_i, i=1,2$, i.e.

$s(\alpha_i)=c(\alpha_i)+1$.

Now compute: $s(\alpha)=s(\alpha_1)+s(\alpha_2)$; no new atoms added to those already present.

$c(\alpha)=c(\alpha_1)+c(\alpha_2)+1$, because we add a new occurrence of $\to$.

Substituting:

$$s(\alpha)=s(\alpha_1)+s(\alpha_2)=[c(\alpha_1)+1]+[c(\alpha_2)+1]=[c(\alpha_1)+c(\alpha_2)+1]+1=c(\alpha)+1.$$

$\endgroup$
5
  • $\begingroup$ Why is it incorrect to do it on the number of left parentheses instead? Would that also not be doing induction on the structure of the formula? So, I follow your argument but why would it generally be incorrect to do this sort of induction in the way that I did? $\endgroup$
    – Mousedorff
    Commented Nov 3, 2020 at 8:27
  • 1
    $\begingroup$ @Abhi - It works... in your case, but in general we may have syntax without parentheses. $\endgroup$ Commented Nov 3, 2020 at 8:30
  • $\begingroup$ So, the main reason why I ask is because the book I’m using doesn’t specify what the induction should be on. So, I assumed that it’s okay to do an induction on the number of left parentheses in a formula (since that is always going to be unique for each formula). $\endgroup$
    – Mousedorff
    Commented Nov 3, 2020 at 8:31
  • $\begingroup$ Ohhhh, so when we have syntax without parentheses, it would be better to do the induction on the rank of the formula? That makes a lot of sense, thank you very much $\endgroup$
    – Mousedorff
    Commented Nov 3, 2020 at 8:32
  • 1
    $\begingroup$ @Abhi - you are welcome. $\endgroup$ Commented Nov 3, 2020 at 8:43

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .