proposition: Lemma refine_pick_decides' {A} (P : Prop) (Q Q' : Ensemble A) : refine {a | (P -> Q a) /\ (~ P -> Q' a)} (b <- {b | decides b P}; If b Then {a | Q a} Else {a | Q' a}).
proof: Proof. eapply refine_pick_decides_branches; reflexivity. 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