fact: Fixpoint getSupport(A : Set)(c : Comp A) : list A := match c with | Ret _ a => a :: nil | Bind c1 c2 => getUnique (flatten (map (fun b => (getSupport (c2 b))) (getSupport c1))) (bind_eq_dec c1 c2) | Rnd n => getAllBvectors n | Repeat c1 P => (filter P (getSupport c1)) end.
imports: Bvector List FCF.Blist FCF.EqDec FCF.Fold FCF.EqDec