I am kind of overwhelmed by this question. Can anyone give me some hints about where to start?
Propositional formulae PF are inductively defined over the Boolean constants B := {1, 0} (true and false), a finite set of propositional variables τ := {P, Q, . . .}, and the connectives {¬, ∧,∨, →}:
• B ⊆ PF
• τ ⊆ PF
• if φ∈PF, then also ¬φ∈PF
• if φ,ψ∈PF, then also φ◦ψ∈PF, for any◦∈{∧,∨,→}.
We define the depth d(φ) of a formula inductively:
• d(φ) = 0, if φ is a constant or a propositional variable,
• d(¬φ) = 1 + d(φ) in the case of a negated formula, and
• d(φ ◦ ψ) = 1 + max(d(φ), d(ψ)), for any of the binary connectives
Furthermore, let’s take the following inductive definition of the set of subformulae sf (φ):
• sf(b)={b}, for b∈B
• sf (P) = {P}, for P ∈ τ
• sf(¬φ)={¬φ} ∪ sf(φ), for φ∈PF
• sf(φ◦ψ) = {φ◦ψ} ∪ sf(φ) ∪ sf(ψ), for φ,ψ∈PF.
For example, the formula φ := P∧ ¬(Q∨R) has depth d(φ) = 3, its subformulae are:
sf(φ):={P,Q,R,(Q∨R),¬(Q∨R), P ∧ ¬(Q∨R)}.
Observe that we only use parentheses for clarity, they are not part of the inductive definition.
Show through induction that:
a) Formulae of depth n ≥ 1 have at most 2^(n+1) − 1 subformulae.
b) For each n ∈ N, there exist formulae with exactly 2^(n+1) − 1 subformulae