Module VSD := VSD.

Lemma subst_list_denote_sound_union0 : forall (l : list pure_atom) i e B, list_denote pure_atom_denote (@orp state) B (map (subst_pure i e) l) = match l with | nil => B | x :: t => (@orp state) (pure_atom_denote (subst_pure i e x)) (list_denote pure_atom_denote (@orp state) B (subst_pures i e t)) end.