End MATCH_GENVS.
Section MATCH_PROGRAMS.
Context {C F1 V1 F2 V2: Type} {LC: Linker C} {LF: Linker F1} {LV: Linker V1}.
Variable match_fundef: C -> F1 -> F2 -> Prop.
Variable match_varinfo: V1 -> V2 -> Prop.
Variable ctx: C.
Variable p: program F1 V1.
Variable tp: program F2 V2.
Hypothesis progmatch: match_program_gen match_fundef match_varinfo ctx p tp.

(* Specifications: *)
Lemma globalenvs_match:
match_genvs (match_globdef match_fundef match_varinfo ctx) (globalenv p) (globalenv tp).
Theorem find_def_match_2:
forall b, option_rel (match_globdef match_fundef match_varinfo ctx)
(find_def (globalenv p) b) (find_def (globalenv tp) b).
Lemma globalenvs_match:
match_genvs (match_globdef match_fundef match_varinfo ctx) (globalenv p) (globalenv tp).
Theorem find_def_match_2:
forall b, option_rel (match_globdef match_fundef match_varinfo ctx)
(find_def (globalenv p) b) (find_def (globalenv tp) b).