Definition procedure_family(A : nat -> Type) := forall n, A n.Definition efficiency_predicate := forall (A : nat -> Type), procedure_family A -> Prop.

Theorem expected_poly_time_bind_f : forall (A : nat -> Type)(B C : nat -> Set) (b : forall n, A n -> Comp (B n)) (c : forall n, A n -> B n -> Comp (C n)), efficient _ b -> efficient _ c -> efficient _ (fun n a => (Bind (b n a) (c n a))).