Fixpoint find_label (lbl: label) (c: code) {struct c} : option code :=
match c with
| nil => None
| i1 :: il => if is_label lbl i1 then Some il else find_label lbl il
end.

(* Specifications: *)
Lemma find_label_tail:
forall lbl c c', find_label lbl c = Some c' -> is_tail c' c.
Lemma find_label_incl:
forall lbl c c', find_label lbl c = Some c' -> incl c' c.