 This notion was originally introduced by Turing (1939) who described what he referred to as an oracle (or o-) machine variant of the standard Turing Machine model \(\mathbf{T}\). An o-machine is otherwise like a normal Turing machine but also possesses a read-only oracle tape (and corresponding read-only head) on which the characteristic function of a set \(A\) is assumed to be written at the beginning of its computation. The transitions of an o-machine are determined by its internal state together with the currently scanned symbols on both its read-write tape and the oracle tape, thus formalizing the idea that the machine may “consult the oracle” about the characteristic function of \(A\) one or more times during the course of its  computation.[25] 