Ltac binds_notbinds :=
match goal with
[ H0 : binds ?c (Ax ?T ?a) toplevel,
H5 : forall (c : atom) a, not (binds c (Ax ?T a) an_toplevel) |- _  ] =>
unfold not in H5; unfold toplevel in H0; unfold erase_sig in H0;
apply binds_map_3 in H0; destruct H0 as (s' & EQ & B);
destruct s'; simpl in EQ; inversion EQ; subst;
apply H5 in B; contradiction
end.

Lemma Par_Const : forall S D T b,
Par S D (a_Const T) b -> b = a_Const T.