Section Ghosts.
Variables (A : Type) (s : spec A) (p : pre).

Lemma impC (B : Type) (q1 q2 : heap -> B -> Prop) (r : B -> post A) :
conseq s p (fun y i m => forall x, q1 i x -> q2 i x -> r x y i m) <->
conseq s p (fun y i m => forall x, q1 i x /\ q2 i x -> r x y i m).