Обращение кванторов является важным свойством, которое часто стоит за хорошо известными теоремами.
Например, в анализе разница между и - это разница между точечной и равномерной непрерывностью. Хорошо известная теорема гласит, что каждое поточечное непрерывное отображение равномерно непрерывно, если область хороша, т. Е. Компактна .∀ϵ>0.∀x.∃δ>0∀ϵ>0.∃δ>0.∀x
Фактически, компактность лежит в основе изменения квантификатора. Рассмотрим два типа данных и из которых является откровенное и компактно (см ниже для объяснения этих терминов), и пусть будет полуразрешимым связь между и . Заявление можно прочитать следующим образом: каждая точка в покрыта некоторой . Поскольку множества "вычислимо открыты" (полуразрешимы) иXYXYϕ(x,y)XY∀y:Y.∃x:X.ϕ(x,y)yYUx={z:Y∣ϕ(x,z)}UxYкомпактен, существует конечное подпокрытие. Мы доказали, что
подразумевает, что
Часто мы можем сократить существование конечного списка до одного . Например, если линейно упорядочен и является монотонным по относительно порядка, то мы можем взять как наибольшее из .
∀y:Y.∃x:X.ϕ(x,y)
∃x1,…,xn:X.∀y:Y.ϕ(x1,y)∨⋯∨ϕ(xn,y).
x1,…,xnxXϕxxx1,…,xn
Чтобы увидеть, как этот принцип применяется в знакомом случае, давайте посмотрим на утверждение, что является непрерывной функцией. Мы сохраняем как свободную переменную, чтобы не запутаться во внешнем универсальном квантификаторе:
Поскольку является компактным, а сравнение вещественных чисел полуразрешимо, утверждение полуразрешима. Положительные реалы явные и компактны, поэтому мы можем применить принцип:
f:[0,1]→Rϵ>0
∀x∈[0,1].∃δ>0.∀y∈[x−δ,x+δ].|f(y)−f(x)|<ϵ.
[x−δ,x+δ]ϕ(x,δ)≡∀y∈[x−δ,x+δ].|f(y)−f(x)|<ϵ[0,1]∃δ1,δ2,…,δn>0.∀x∈[0,1].ϕ(δ1,x)∨⋯ϕ(δn,x).
Поскольку является антимонотонным в наименьший из выполняет свою работу, поэтому нам просто нужен один :
То, что мы получили, это
равномерная непрерывность .
ϕ(δ,x)δδ1,…,δnδ∃δ>0.∀x∈[0,1].∀y∈[x−δ,x+δ].|f(y)−f(x)|<ϵ.
f
Неопределенно говоря, тип данных является компактным, если он имеет вычислимый универсальный квантификатор, и явным, если он имеет вычислимый экзистенциальный квантификатор. (Неотрицательные) целые числа явные, потому что для того, чтобы решить, ли , с полуразрешимым , мы выполняем поиск паралелей, используя ласточкин хвост . Пространство Кантора компактно и открыто, как объясняется в книге Пола Тейлора " Абстрактная двойственность камня" и в книге Мартина Эскардо " Синтетическая топология типов данных и классических пространств " (см. Также связанное понятие поисковых пространств ).N∃n∈N.ϕ(n)ϕ(n)2N
Давайте применим принцип к примеру, который вы упомянули. Мы рассматриваем язык как карту от (конечных) слов по фиксированному алфавиту до логических значений. Поскольку конечные слова находятся в вычислимом биективном соответствии с целыми числами, мы можем рассматривать язык как карту от целых чисел до логических значений. Таким образом, тип данных всех языков, с точностью до вычислимого изоморфизма, является именно пространством Кантора nat -> bool
или в математической записи , который является компактным. Машина Тьюринга за полиномиальное время описывается программой, представляющей собой конечную строку, поэтому пространство всех (представлений) машин Тьюринга можно принять равным или , что является явным.2Nnat
N
Учитывая машину Тьюринга и язык , оператор который говорит, что «язык отклонен », является полуразрешимым, потому что на самом деле он разрешим: просто запустите с помощью ввода и посмотрите, что оно делает. Условия по нашему принципу выполнены! Утверждение «каждая оракул-машина имеет язык такой, что не принимается » символически записывается как
После инверсии кванторов получим
Mcrejects(M,c)cMMcMbbMb
∀M:N.∃b:2N.rejects(Mb,b).
∃b1,…,bn:2N.∀M:N.rejects(Mb1,b1)∨⋯∨rejects(Mbn,bn).
Итак, мы до конечного числа языков. Можем ли мы объединить их в один? Я оставлю это как упражнение (для себя и для тебя!).
Возможно, вас также заинтересует немного более общий вопрос о том, как преобразовать к эквивалентному утверждению вида или наоборот. Есть несколько способов сделать это, например:∀x.∃y.ϕ(x,y)∃u.∀v.ψ(u,v)