Ltac despec := 
  match goal with
    | [H : comp_spec _ _ _  |- _] => destruct H
  end.

Theorem oc_comp_wf_inv : forall (A B C : Set) (c : OracleComp A B C), well_formed_oc c -> forall (S : Set) (P : S -> Prop)(eqds : EqDec S) (o : S -> A -> Comp (B * S)) (s : S), (forall (a : S) (b : A), P a -> well_formed_comp (o a b)) -> (forall a b s s', P s -> In (b, s') (getSupport (o s a)) -> P s') -> P s -> well_formed_comp (c S eqds o s).