Ltac decomp :=
  match goal with
  | [ H: _ \/ _ |- _ ] => destruct H; decomp
  | [ H: S _ _ _ = S _ _ _ |- _ ] => inv H
  | [ H: False |- _ ] => contradiction
  end.

(* Specifications: *)
Lemma loc_arguments_64_bounded: forall ofs ty tyl ir fr ofs0, In (S Outgoing ofs ty) (regs_of_rpairs (loc_arguments_64 tyl ir fr ofs0)) -> ofs + typesize ty <= size_arguments_64 tyl ir fr ofs0.
Lemma loc_arguments_bounded: forall (s: signature) (ofs: Z) (ty: typ), In (S Outgoing ofs ty) (regs_of_rpairs (loc_arguments s)) -> ofs + typesize ty <= size_arguments s.
Lemma loc_arguments_main: loc_arguments signature_main = nil.