In order to account for this observation, Emde Boas (1990) introduced a distinction between two classes of models of computation which he labels the first and  second machine classes. The first machine class contains the basic Turing machine model \(\mathfrak{T}\) as well as other models which satisfy the Invariance Thesis with respect to this model. As we have seen, this includes the multi-tape and multi-head Turing machine models as well as the RAM model. On the other hand, the second machine class is defined to include those deterministic models whose members can be used to efficiently simulate non-deterministic computation. This can be shown to include a number of standard models of parallel computation such as the PRAM machine which will be discussed in   Section 3.4.3.  For such models the definitions of polynomial time, non-deterministic polynomial time, and polynomial space coincide.