Definition kept (id: ident) : Prop := IS.In id used.

(* Specifications: *)
Lemma kept_main: kept p.(prog_main).
Lemma kept_public: forall id, In id p.(prog_public) -> kept id.
Lemma transform_find_symbol_1: forall id b, Genv.find_symbol ge id = Some b -> kept id -> exists b', Genv.find_symbol tge id = Some b'.
Lemma transform_find_symbol_2: forall id b, Genv.find_symbol tge id = Some b -> kept id /\ exists b', Genv.find_symbol ge id = Some b'.