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.
Proof (mge_defs globalenvs_match).

Theorem find_def_match:
forall b g,
find_def (globalenv p) b = Some g ->
exists tg,
find_def (globalenv tp) b = Some tg /\ match_globdef match_fundef match_varinfo ctx g tg.