intuition.
eapply (@expected_poly_time_compose _ _ _ _ _ _ (fun n a b => f3 n (f1 n a) b)); eauto.
eapply (@expected_poly_time_compose _ _ _ _ _ _ (fun n a b => f3 n b)); eauto.
eapply expected_poly_time_const.
eauto.
Qed.

(* Specifications: *)
Theorem expected_poly_time_pair_f :
forall (A B C : nat -> Type)(f1 : forall n, A n -> B n)(f2 : forall n, A n -> C n),
efficient _ f1 ->
efficient _ f2 ->
efficient _ (fun n (a : A n) => (f1 n a, f2 n a)).