Instance RatRel_trans : 
  forall (R : Rat -> Rat -> Prop),
    RatRel R -> Transitive R.Instance RatRel_flip : 
  forall R,
    RatRel R ->
    RatRel (Basics.flip R).(* The class includes equality and inequality. *)

Instance eqRat_RatRel : RatRel eqRat.Instance leRat_RatRel : RatRel leRat.

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