Local Notation "'un'" := (@orp _).

Lemma factor_hyp_lem gamma delta l s : (listd pure_atom_denote inter TT gamma s -> listd (fun atms s => listd pure_atom_denote un FF (atms ++ delta) s) inter TT l s) -> listd (fun (atms : list pure_atom) (s' : state) => listd pure_atom_denote inter TT gamma s' -> listd pure_atom_denote un FF (atms ++ delta) s') inter TT l s.