abstract machine bpp bqp big o notation blum axioms co-np co-np-complete co-re co-re-complete computability theory computational complexity theory computational model decision problem expspace exptime function problem list of complexity classes list of undecidable problems mathematical logic michael garey nexptime np-complete np-hard neil immerman non-deterministic turing machine p-complete pspace pspace-complete polynomial space polynomial time re-complete recursive language subset zpp