Definition: Assume that $\phi(q)$ is of the form $\exists y \leq 2^{p(n)} \varphi(q,y)$, where $p$ is a polynomial and $n = |q|$ (i.e. $n$ is the length of the binary representation of $q$). Then a witness query $q$ to $\phi$ returns a witness $y \leq 2^{p(n)}$ satisfying $\varphi(q,y)$, if such exists, and returns $2^{p(n)} + 1$, otherwise.

Question: Let $f$ be a function in $FP^{\Sigma^p_1}[wit]$, i.e. $f$ is computed by a polynomial time Turing machine $M$ that makes polynomially many witness queries to a $\Sigma^p_1$ oracle $\phi(q) \equiv \exists y \leq 2^{p(n)} \varphi(q,y)$. My question is the following: Can we somehow construct a polynomial time Turing machine $M_1$ which makes polynomially many witness queries to $\phi(q)$ in parallel (i.e. all the queries to $\phi$ come first, then the sequence of replies to the queries come after) and such that $M^{\phi}_1(x) = M^{\phi}(x)$.