(** ** Generalised Induction *)

Fixpoint size {b} (phi : form b) :=
  match phi with
  | Pr _ _ | Q | Fal => 1
  | Impl phi1 phi2 => 1 + size phi1 + size phi2
  | All n phi => 1 + size phi
  end.

(* Specifications: *)
Lemma size_subst {b : logic} x t phi : size (subst x t phi) = size phi.
Lemma dec_fresh y A : dec (fresh y A).
Lemma enum_prv b s A : enum (@prv s b A) (L_ded A).