computation

Definition

Oracle Turing Machine

Let be a language (the oracle). An oracle Turing machine for is a multitape Turing machine equipped with a distinguished query tape and three special states such that:

  1. During a computation on input , may enter . The string currently written on the query tape is interpreted as a query .

  2. In one abstract step, the machine is moved without changing any other tape contents (except possibly the head positions specified by the transition) to:

  • if

  • if

  1. otherwise behaves like an ordinary Turing machine.

We write for with oracle . The language decided by is:

Time measure: Unless stated otherwise, each oracle call counts as one unit of time. The running time of on is the number of ordinary steps plus the number of oracle calls.