Ltac type_induction t :=
  pattern t;
  match goal with
  | |- ?P t =>
    apply type_ind; clear t;
    let t := fresh "t" in
    intros t IH;
    let id := fresh "id" in
    destruct t as [ | id]
  end.

(* Specifications: *)
Lemma typeR_spec_members_aux: forall (m : members), Forall (fun p : ident * type => exists i1 : ident, In (i1, snd p) m) m.