Program Instance Linker_composite_defs : Linker (list composite_definition) := {
link := link_composite_defs;
linkorder := @List.incl composite_definition
}.
Next Obligation.
apply incl_refl.
Defined.
Next Obligation.
red; intros; eauto.
Defined.
Next Obligation.
apply link_composite_def_inv in H; destruct H as (A & B & C).
split; red; intros; apply C; auto.
Defined.
(** Connections with [build_composite_env]. *)

Lemma composite_consistent_unique:
forall env co1 co2,
composite_consistent env co1 ->
composite_consistent env co2 ->
co_su co1 = co_su co2 ->
co_members co1 = co_members co2 ->
co_attr co1 = co_attr co2 ->
co1 = co2.