(************************************************************************)

Fixpoint below_form (a : form) (i : Int) {struct a} : Prop :=
  match a with
  | Falsum => True
  | Atom j => Less j i
  | AndF a0 a1 => below_form a0 i /\ below_form a1 i
  | OrF a0 a1 => below_form a0 i /\ below_form a1 i
  | Imp a0 a1 => below_form a0 i /\ below_form a1 i
  end.Definition below_list (L : flist) (i : Int) :=
  forall a : form, In a L -> below_form a i.

Lemma below_cons_list : forall (a : form) (l : flist) (i : Int), below_form a i -> below_list l i -> below_list (a :: l) i.