Instance list_order A : @PCM_order (list_PCM (discrete_PCM A)) list_incl.
Instance set_PCM A : Ghost := { valid := fun _ : Ensemble A => True;
Join_G a b c := Disjoint a b /\ c = Union a b }.

Corollary ghost_set_remove : forall {A} g a (s : Ensemble A) (Hdec : forall b, b = a \/ b <> a),
In s a -> ghost_set g s = ghost_set g (Singleton a) * ghost_set g (Subtract s a).