[step:Simulate a truth-table reduction with an oracle Turing machine]
Assume $A \le_{tt} B$. By definition, there is a total computable truth-table procedure which, on input $x \in \mathbb{N}$, computes a finite list of queries
\begin{align*}
q_1(x), q_2(x), \dots, q_{k(x)}(x) \in \mathbb{N},
\end{align*}
where $k(x) \in \mathbb{N}$ is computable from $x$, and computes a Boolean function
\begin{align*}
\beta_x: \{0,1\}^{k(x)} &\to \{0,1\},
\end{align*}
such that
\begin{align*}
\mathbb{1}_A(x)
=
\beta_x\bigl(\mathbb{1}_B(q_1(x)),\mathbb{1}_B(q_2(x)),\dots,\mathbb{1}_B(q_{k(x)}(x))\bigr).
\end{align*}
Construct an oracle Turing machine $M^B$ as follows. On input $x \in \mathbb{N}$, the machine first runs the computable truth-table procedure to obtain $k(x)$, the query list $q_1(x),\dots,q_{k(x)}(x)$, and a code for $\beta_x$. It then asks the oracle $B$ each query $q_i(x)$, records the answer bit
\begin{align*}
b_i := \mathbb{1}_B(q_i(x)) \in \{0,1\}
\end{align*}
for each $i \in \{1,\dots,k(x)\}$, and finally computes
\begin{align*}
\beta_x(b_1,\dots,b_{k(x)}).
\end{align*}
All non-oracle computation performed by $M^B$ is computable, the number of oracle queries is finite for each input, and the oracle answers are exactly the bits required by the truth-table procedure. Therefore $M^B$ halts on every input $x$ and outputs $\mathbb{1}_A(x)$. Hence $A \le_T B$.
[/step]