proposition: Lemma refine_under_bind {A B} : forall c (x y : A -> Comp B), (forall a, c ↝ a -> refine (x a) (y a)) -> refine (a <- c; x a) (a <- c; y a).
proof: Proof. t_refine. Qed.
imports: Coq.Strings.String Coq.Sets.Ensembles Coq.Bool.Bool Fiat.Common Fiat.Common.BoolFacts Fiat.Common.LogicFacts Fiat.Computation.Core Fiat.Computation.Monad Fiat.Computation.SetoidMorphisms Fiat.Computation.Refinements.Tactics