Ссылка для неопределимости модуля непрерывности функционала в ПКФ?

10

Может ли кто-нибудь указать мне на ссылку на неопределяемость модуля функционала непрерывности в PCF?

Андрей Бауэр написал очень хороший пост в блоге, в котором более подробно рассматриваются некоторые вопросы, но я кратко изложу его пост, чтобы дать некоторый контекст этому вопросу. Бэровский этом множество последовательностей натурального числа, или , что эквивалентно множество функций от натуралий к Naturals NN . В этом вопросе мы ограничимся только потоками, которые можно вычислить.BNN

Теперь функция непрерывна, если для каждого x s B значение f ( x s ) зависит только от конечного числа элементов x s , и оно вычислимо непрерывно, если мы действительно можем вычислить верхнюю границу на сколько элементов х годов необходимы. В некоторых моделях вычислений, это на самом деле можно написать программу т о д у л у ев : ( B B Of:BboolxsBf(xs)xsxs который принимает вычислимую функцию на пространстве Бэра и элемент пространства Бэра и возвращает верхнюю границу для числа элементов потока.modulus:(Bbool)BN

Один из способов реализовать это - использовать локальное хранилище для записи максимального индекса в видимый поток:

let modulus f xs =
  let r = ref 0 in
  let ys = fun i -> (r := max i !r; xs i) in 
    f ys;
    !r

Конечно, ysаргумент больше не является чисто функциональной программой. Мой интерес к этой программе исходит из того , что он делает только использование местного магазина, и поэтому является экстенсионально чистым. Я работаю (помимо прочего) с императивным программированием высшего порядка и разрабатываю теории типов, которые могли бы классифицировать это как чистую функцию.

Есть и более практичные примеры, такие как запоминание и пул соединений, но я считаю это особенно красивым примером.

Нил Кришнасвами
источник

Ответы:

4

Доказательство спрятано где-то в Troelstra и van Dalen, Конструктивизм в математике, том 2, я полагаю. Скорее всего, это можно найти в расследованиях Troelstra , если вы можете возложить на это руки.

λPER(Pω)PωAC2,0AC2,0

См. Также М. Эскардо, Т. Штрайхер: В реализуемости домена не все функционалы непрерывны , опубликовано в « Математической логике ежеквартально», том 48, выпуск 1, стр. 41–44, 2002 .

Андрей Бауэр
источник
Я посмотрел это. Это в Troelstra и van Dalen "Конструктивизм в математике, том 2", раздел 6.10, страница 500. Я думаю, что выложу это в своем блоге, потому что его ужасно трудно найти.
Андрей Бауэр
AC2,0
AC(X,Y)(xXyY.R(x,y))fYXxX.R(x,f(x))AC2,0AC(NNN,N)
Хорошо, вот половина доказательства: math.andrej.com/2011/07/27/…
Андрей Бауэр