(* Lemmas for manipulating with ghost variables *)
Section GhostRules.
Variables (W : world) (A B C : Type).

(* Pulling the ghosts out of the specification *)
Lemma ghC (p : B -> pre) (q : B -> A -> pre) :
(forall i x, p x i -> i \In Coh W -> verify i e (q x)) ->
conseq e (logvar (fun x => binarify (p x) (q x))).