Module NodesetFacts := FSetFacts.Facts(Nodeset).Definition match_prog (p: LTL.program) (tp: Linear.program) :=
  match_program (fun ctx f tf => transf_fundef f = OK tf) eq p tp.

Lemma nodeset_of_list_correct: forall l s s', nodeset_of_list l s = OK s' -> list_norepet l /\ (forall pc, Nodeset.In pc s' <-> Nodeset.In pc s \/ In pc l) /\ (forall pc, In pc l -> ~Nodeset.In pc s).