Любое разделение классов, закрытых под «полиномиальными ресурсами», имеет оракула, делающего их равными. (Это при условии, что механизм оракула является справедливым и позволяет обеим моделям машин делать запросы полиномиальной длины и не более).
Пусть будет « T C 0 с воротами для оракула O ». Обозначая O как P S P A C E -полный язык при сокращениях T C 0 , мы имеем T C 0 O = P S P A C E = P S P A C E O = P P O , где в механизме оракула для П С ПTC0OTC0OOPSPACETC0TC0O=PSPACE=PSPACEO=PPO , мы рассчитываем использование пространства оракуловой лентой вместе с остальной памятью. (Таким образом, запрашиваются только полиномиальные запросы.) Такое равенство выполняется для многих классов, «закрытых по полиномиальным ресурсам», в том смысле, что они могут задавать полиномиальные запросы к оракулу, но не больше. Эти классы включают такие вещи, как A C 0 , T C 0 , L O G S P A C E (по другому механизму оракула, который не учитывает запросы оракула в направлении границы пространства), P , N P , P H и PPSPACEAC0TC0LOGSPACEPNPPH . Поэтому любое разделение классов в этом списке обязательно должно использовать некий «нерелятивизирующий» аргумент. Это также подразумевает (например), что естественные доказательства таких вещей, как четность не в A C 0, являются нерелятивизирующими (но это еще проще: все, что вам здесь нужно, это оракул для четности, поэтому вы получаете A C 0 [ 2 ] ).PPAC0AC0[2]
Я полагаю, что в совокупности доказательств, которые вы цитируете, большинство из них (если не все) работают, предполагая, что и получая противоречие. Результаты такого рода называются «косвенной диагонализацией». Так релятивизация их доказательство было бы сказать: «если T C 0 O = P P O , то противоречие ...» , но это предположение на самом деле верно для некоторых оракулов O .TC0=PPTC0O=PPOO
В комментариях было указано, что как я использую его. Это просто тонкости с механизмом оракула. На стороне LOGSPACE лента запроса не может быть частью ограниченного пространства, поскольку запросы имеют полиномиальную длину. На стороне PSPACE, лента запроса являетсяLOGSPACEO=PSPACEOберется как часть пространства, связанного. Это должно было сделать вещи "справедливыми". Но если вы дадите им точно такой же механизм оракула, тогда вы действительно сможете снова разделить их диагонализацией. Например, если запросы не учитываются в пределах пробела, то в PSPACE ^ {PSPACE} вы можете задавать экспоненциально длинные вопросы PSPACE, так что это фактически содержит EXPSPACE. Я прошу прощения за то, что не сказал это явно ранее.
Ограниченные в пространстве вычисления очень тонки по отношению к оракулам. Обратитесь к странице 5 этой статьи от Fortnow, чтобы получить хорошее представление о том, почему вычисления в Oracle и ограниченные пространства не всегда смешиваются.