МАТЕМАТИКА

УДК 519.68:510

С. А. Нигиян, С. А. Аветисян

О решениях рекурсивных уравнений с отделяющейся
переменной в бестиповом

(Представлено академиком Н.У. Аракеляном 30/XI 2000)

   1. Используемые определения и результаты (см.[1]). Зафиксируем счетное множество переменных V. Множество термов L является наименьшим множеством, удовлетворяющим следующим условиям: 1) если x О V, то x О L; 2) если t1,t2 О L, то (t1t2) О L; 3) если x О V и t О L, то (lx.t) О L.
   Введем сокращенную запись термов: терм (ј (t1t2)tk), где ti О L,    i = 1,, k, k > 1, условимся обозначать t1t2 ј tk; терм (lx1(lx2(ј (lxm.t)ј), где xj О V, t О L, условимся обозначать lx1x2 ј xm.t, j = 1,ј,m, m > 0.
   Традиционным образом вводятся понятия свободного и связанного вхождения переменной в терм, понятие свободной переменной терма. Множество всех свободных переменных терма t условимся обозначать FV(t). Терм, не содержащий свободных переменных, назовем замкнутым. Множество всех замкнутых термов будем обозначать L0.
   Через t[x] условимся обозначать терм t с указанием интересующей нас переменной x. Через t[tў] обозначим терм, полученный в результате одновременной подстановки терма tў в терм t вместо всех свободных вхождений переменной x. Через t{x, ј ,x} условимся обозначать терм t с указанием всех k і 0 свободных вхождений переменной x (слева направо). Через t{t1, ј , tk} обозначим терм, полученный в результате одновременной подстановки термов t1,ј,tk в терм t вместо соответственно первого, второго и т. д., k-го свободных вхождений переменной x.
   Подстановку назовем допустимой, если ни одна свободная переменная подставляемого терма не связывается в результате подстановки. Мы будем рассматривать только допустимые подстановки.
   Термы t1 и t2 назовем конгруэнтными (обозначим t1 є t2), если один терм можно получить из другого переименованием связанных переменных. Далее мы не будем отличать конгруэнтные термы.
   Напомним понятие b-редукции:
b = {(lx.t[x])tў, t[tў]) | t,tў О L, x О V}.

   Одношаговая b-редукция (®b), b-редукция (®®b) и b-равенство (=b) определяются обычным образом. Далее условимся отношение ®b обозначать ®, отношение ®®b обозначать ®®, отношение =b обозначать =, т. е. опуская символ b.
   Напомним, что терм (lx.t[x])tў называется b-редексом (далее просто редексом). Терм, не содержащий редексов, называется b-нормальной формой (далее просто нормальной формой). Множество всех нормальных форм условимся обозначать NF. Множество всех замкнутых нормальных форм - NF0. Будем говорить, что терм t имеет нормальную форму, если существует такой терм t О NF, что t = tў.
   Напомним теорему о неподвижной точке, которая гласит о том, что для всякого терма t О L имеет место следующее:

t(Yt) = Yt ,

где Y є lh.(lx.h(xx))(lx.h(xx)) - конструктор неподвижной точки, x,h О V.    Мы будем широко использовать следствие теоремы Чёрча - Россера (CR-теоремы), утверждающее, что для любого терма t О L имеют место следующие два утверждения:

t = tў, tў О NF Ю  t ®® tў,
t = tў, t = tўў, tў, tўў О NF Ю  tў є tўў.

   Мы также будем использовать теорему о замене для b-равенства, которая состоит в следующем: пусть tt1 есть терм с фиксированным вхождением подтерма t1, а tt2 - терм, полученный из терма tt1 в результате замены фиксированного вхождения подтерма t1 на терм t2, тогда t1 = t2 Ю  tt1 = tt2.
   2. Уравнения с отделяющейся переменной и свойства их решений. Рассмотрим уравнение

f = t[f],     (1)
где f О V,  t[f] О L,    FV(t[f]) М {f}. Рассмотрим решение t уравнения (1)
t є Y(lf.t[f]).     (2)
   Теорема 1. Пусть дано уравнение (1) и его решение (2), пусть термы t0,n1,n2,ј,nk О NF0, где k і 0, тогда
tn1n2јnk ®® t0 Ы  $n і 1, tn[f]n1n2јnk ®® t0,

где t0[f] є f,    tm[f] є t[tm-1[f]],    m і 1.
   Перед тем как перейти к непосредственному доказательству теоремы 1, введем одно понятие и докажем лемму 1.
   Пусть t[f] О L,   f О V,   FV(t[f]) = {f} и не существует такого tў О L0, что t[f] ®® tў. Всякий терм вида (lx.t1[xx])(lx.t2 [xx]), где x О V,    t1,t2 О L,   t[f] ®® t1[f],    t[f] ®® t2 [f], назовем ядром. Одношаговую редукцию назовем ядерной, если её редексом является ядро.
   Лемма 1. Пусть t[f] О L,   f О V,   FV(t[f]) = {f} и не существует такого tў О L0, что t[f] ®® tў. Пусть О L,   y О V,  [(lx.t[xx])(lx.t[xx])] ®® t0, где t0 О NF0 и число ядерных редукций равно r і 0. Тогда [tn[f]] ®® t0, если n і r.
   Доказательство леммы следует из утверждения 1.
   Утверждение 1. Пусть t[f] О L,   f О V,  FV(t[f]) = {f} и не существует такого tў О L0, что t[f] ®® tў.
   Пусть О L,   y О V и є {y, ј , y}, где число свободных вхождений переменной y в терм равно k і 0.
   Пусть ti[f],  tiў[f] О L, t[f] ®® ti [f],    t[f] ®® tiў[f],   i = 1, ј , k, и {(lx.t1[xx])(lx.t1ў[xx]), ј , (lx.tk[xx])(lx.tkў[xx])} ®® t0, где t0 О NF0 и число ядерных редукций, редексы которых получены в процессе редукции из подставленных в терм {y, ј , y} ядер, равно r і 0.
   Тогда {tn1[f], ј ,  tnk[f]} ®® t0, если ni і r,   i = 1, ј , k.
   Доказательство. Пусть r = 0, тогда очевидно, что {tn1 [f], ј , tnk[f]} ®® t0. Пусть r > 0 и утверждение 1 верно для r - 1. Докажем для r. Легко видеть, что имеет место следующее:

{(lx.t1[xx])(lx.t1ў[xx]),ј,(lx.tk[xx])(lx. tkў[xx])} ®®
_
t¢1
 
{(lx . _
t¢1
 
[xx])(lx . _
t¢1
 
[xx]), ј , (lx . _
ti
 
[xx])(lx . _
t¢
 
[xx]),ј,(lx . _
ts
 
[xx])(lx . _
t¢s
 
[xx])},

где (lx .[xx])(lx .[xx]), i = 1, ј , s, s і 1, есть все ядра, полученные в процессе редукции из ядер, подставленных в терм {y,ј,y}, и число ядерных редукций, редексами которых являются такие ядра, равно 0. Далее мы фиксируем момент первой интересующей нас ядерной редукции:

~
t¢1
 
{(lx . _
t1
 
[xx])(lx . _
t¢1
 
[xx]), ј , (lx . _
ti
 
[xx])(lx . _
t¢i
 
[xx]), ј , (lx . _
ts
 
[xx])(lx . _
t¢s
 
[xx])}®
~
t¢1
 
{(lx . _
t1
 
[xx])(lx . _
t¢1
 
[xx]), ј , _
ti
 
[(lx . _
t¢i
 
[xx])(lx . _
t¢i
 
[xx])], ј , (lx . _
ts
 
[xx])(lx . _
t¢s
 
[xx])} є
~
t1
 
{(lx . _
t1
 
[xx])(lx . _
t¢1
 
[xx]), ј , (lx . _
t¢i
 
[xx])(lx . _
t¢i
 
[xx]), ј , (lx . _
t¢i
 
[xx])(lx . _
t¢i
 
[xx]),ј
ј , (lx .[xx])(lx .[xx])} ®® (число ядерных редукций, редексы которых получены в процессе редукции из подставленных в термядер, равно r - 1) ®® t0.
   С другой стороны:
~
t
 
{ tn1[f], ј , tnk[f]} ®® ~
t¢1
 
{ tn1ў[f],ј,tniў[f], ј , tnsў[f]} ,

где nўi О { n1,ј, nk} , i = 1,ј,s, s і 1. Далее имеем: { tnў1[f],ј,tnўi[f],ј,tnўs[f]} ®® {tnў1[f],ј,[tnўi-1[f]],ј,tnўs[f]} є {tnў1[f],ј,tnўi-1[f],ј,tnўi-1[f],ј,tnўs[f]} ®® (по предположению индукции) ®® t0.
   Утверждение 1 доказано.
   Доказательство теоремы 1. (Ь) Пусть tn[f]n1n2јnk ®® t0 для некоторого n > 0. Тогда, как легко видеть, tn[t]n1n2јnk ®® t0. Так как t - решение уравнения (1), то t = tn[t],    tn1n2јnk = tn[t]n1n2јnk, и по следствию CR-теоремы имеем: tn1n2јnk ®® t0.
   (Ю) Пусть tn1n2јnk ®® t0. Возможны два случая:
   a)      $tў О V0, t[f] ®® tў,
   b)      Ш$tў О V0, t[f] ®® tў.
   Рассмотрим случай (a). Так как t[f] ®® tў и tў О V0, то t[t] ®® tў. Так как t - решение уравнения (1), то t = t[t] и tn1n2јnk = t[t]n1n2јnk = tўn1n2јnk. Следовательно, согласно следствию CR-теоремы, tўn1n2јnk ®® t0. Таким образом, t[f]n1n2јnk ®® tўn1n2јnk ®® t0, и n = 1.
   Рассмотрим случай (b). Легко видеть, что t є Y(lf.t[f]) є (lh.(lx.h(xx))(lx.h(xx))) (lf.t[f]) ® (lx.(lf.t[f])(xx))(lx.(lf.t[f])(xx)) ®® (lx.t[xx])(lx.t[xx]) ® t[(lx.t[xx])(lx.t[xx])].
   Следовательно, tn1n2јnk = t[(lx.t[xx])(lx.t[xx])]n1n2јnk є [(lx.t[xx]) (lx.t[xx])]. По следствию CR-теоремы имеем: [(lx.t[xx])(lx.t[xx])] ®® t0, где число ядерных редукций равно некоторому r, r і 0. Пусть n = r + 1. Тогда, согласно лемме 1, имеем:

tn[f]n1n2јnk є t[tn-1[f]]n1n2јnk є[tn-1[f]] ®® t0.

   Теорема 1 доказана.
   Теорема 2. Не существует такого алгоритма, который по каждому уравнению (1) и термам n1,n2,ј,nk О NF0, где k і 0, отвечает на вопрос о существовании такого n і 1, при котором терм tn[f]n1n2јnk имеет замкнутую нормальную форму.
   Доказательство. Проблема существования нормальной формы для замкнутого терма, которая является неразрешимой (см. [1]), сводится к рассматриваемой проблеме. Пусть терм t О L0. Рассмотрим уравнение f = t[f],    f О V, и возьмем k = 0. Очевидно, что для любого n і 1   tn[f] є t[f], так как терм t замкнут. Следовательно, вопрос о существовании требуемого n эквивалентен вопросу о существовании нормальной формы для терма t. Теорема 2 доказана.
   Теорема 3. Существует алгоритм, который по каждому уравнению (1) и термам n1,n2,ј,nk О NF0, k і 0, таким, что терм tn[f]n1n2јnk имеет замкнутую нормальную форму для некоторого n і 1, строит такое n.
   Доказательство следует из теоремы 1 и леммы 1.
   Рассмотрим уравнение (1) и последовательность замкнутых нормальных форм n1,n2,ј,nk,   k і 0. Определим   вычислительную  последовательность t1[f],ј,tn[f],ј, состоящую из нормальных форм, которую обозначим Seq(t[f],) (если k = 0, то Seq(t[f]) обозначает ту же последовательность, что и Seq(t[f],)). Последовательность Seq(t[f],) может быть либо пустой, либо конечной, либо бесконечной. В бесконечной последовательности все её члены - незамкнутые нормальные формы. Члены конечной последовательности либо все незамкнуты, либо замкнут только последний её член. Вычислительная последовательность Seq(t[f],) пуста, если терм t[f]n1n2јnk не имеет нормальной формы. Если терм t[f]n1n2јnk имеет нормальную форму, то вычислительная последовательность не пуста и определяется следующим образом:
   t1[f] есть нормальная форма терма t[f]n1n2јnk. Пусть уже построена подпоследовательность t1[f],ј,ti[f],  i і 1, определим, как строится еe продолжение.
   Если ti[f] О NF0 или терм ti[t[f]] не имеет нормальной формы, то ti[f] есть последний член вычислительной последовательности.
   Если ti[f] О NF\NF0 и терм ti[t[f]] имеет нормальную форму, то ti+1[f] есть нормальная форма терма ti[t[f]].
   Теорема 4. Пусть дано уравнение (1), его решение (2) и последовательность замкнутых нормальных форм n1,n2,ј,nk,  k і 0, тогда:
   a) eсли вычислительная последовательность Seq(t[f],) конечна и имеет вид t1[f],ј,tn[f], где tn[f] О NF0, n і 1, то tn1n2јnk ®® tn[f];
   b) eсли вычислительная последовательность Seq(t[f],) бесконечна, то терм tn1n2јnk не имеет нормальной формы;
   c) eсли вычислительная последовательность Seq(t[f],) пуста, или конечна и при этом имеет вид t1[f],ј,tn[f], где n і 1,  tn[f] О NF\NF0 и терм tn[t[f]] не имеет нормальной формы, то терм tn1n2јnk может как иметь, так и не иметь нормальную форму.
   Доказательство. (a) Seq(t[f],) есть вычислительная последовательность t1[f],ј,tn[f], где:

t[f]n1n2јnk ®® t1[f],    t1[f] О NF\NF0,
t1[t[f]] ®® t2 [f],               t2 [f] О NF\NF0,
            ј                              ј
tn-2[t[f]] ®® tn-1[f],       tn-1[f] О NF\NF0,
tn-1[t[f]] ®® tn[f],           tn[f] О NF0.
    Легко видеть, что имеет место следующее:
tn[f]n1n2јnk є t[tn-1[f]]n1n2јnk ®® t1[tn-1[f]] ®® t2 [tn-2[f]] ®® ј 
ј ®® tn-1[t[f]] ®® tn[f].

   Следовательно, согласно теореме 1, tn1n2јnk ®® tn[f].
   (b) В этом случае вычислительная последовательность t1[f],ј,tn[f],ј бесконечна. Покажем, что для любого n і 1 терм tn[f]n1n2јnk имеет незамкнутую нормальную форму. Аналогично пункту (a) имеем: tn[f]n1n2јnk ®® tn[f], где tn[f] О NF\NF0, n і 1. Таким образом, не существует такого n і 1, что tn[f]n1n2јnk ®® t0 и t0 О NF0. Следовательно, согласно теореме 1, терм tn1n2јnk не имеет нормальной формы, так как он замкнут.
   (c) Перед доказательством данного пункта введем обозначения для некоторых термов. Пусть x,y О V, тогда:
   I є lx.x,    T є lxy.x,    F є lxy.y,   W є (lx.xx)(lx.xx),
   if t1 then t2 else t3 є t1t2 t3, где t1,t2 ,t3 О L,
   й0щ є I,  йn + 1щ є lx.xFйnщ, где n = 0,1,2,ј,
   Zero є lx.xT,     S+ є lyx.xFy,    P- є lx.xF.
Для каждого t О L терм S+t условимся обозначать t+, а терм P-t - t-.
   Рассмотрим уравнение

f = W,

где f О V. Легко видеть, что последовательность Seq(W) пуста, так как терм W не имеет нормальной формы. Не имеет нормальной формы и терм t є Y(lf.W) є (lh.(lx.h(xx))(lx.h(xx)))(lf.W) ® (lx.(lf.W)(xx))(lx.(lf.W)(xx)) ®® (lx.W)(lx.W) ® W.
   Рассмотрим уравнение
                         f = lx. if Zero x then lx.I else (fx-)W є t[f],
где x,f О V. Покажем, что последовательность Seq(t[f], й1щ) пуста.
t[f]й1щ є (lx. if Zero x then lx.I else (fx-)W)й1щ ®® f й0щW, следовательно, терм t[f]й1щ не имеет нормальной формы. Однако, согласно теореме 1, 1щ ®® I, так как t2[f]й1щ ®® I. Покажем это: t2 [f]й1щ є (lx. if Zero x then lx.I else ((lx. if Zero x then lx.I else (fx-)W)x-)W)й1щ ®® ((lx. if Zero x then lx.I else (fx-)W)й0щ)W ®® (lx.I)W ® I.
   Рассмотрим уравнение
                           f = lx. if Zero x then fx+ else W є t[f],
где x,f О V. Покажем, что последовательность Seq(t[f], й0щ) состоит из одного элемента t1[f], представляющего собой незамкнутую нормальную форму.
t[f]й0щ є (lx. if Zero x then fx+ else W)й0щ ®® f й1щ є t1[f] О NF\NF0.
t1[t[f]] є (lx. if Zero x then fx+ else W)й1щ ®® W, следовательно, терм t1[t[f]] не имеет нормальной формы. Согласно теореме 1, не имеет нормальной формы и терм 0щ, так как для любого n > 1   tn[f]й0щ = W.
   Рассмотрим уравнение
   f = lx. if Zero x then fx+ else (if Zero  x- then (fx+)W else lx.I) є t[f],
где x,f О V.
Покажем, что последовательность Seq(t[f], й0щ) состоит из одного элемента t1[f], представляющего собой незамкнутую нормальную форму.
t[f]й0щ є (lx. if Zero x then fx+ else (if Zero x- then (fx+)W else lx.I))й0щ ®® f й1щW є t1[f] О NF\NF0.
t1[t[f]] є (lx. if Zero x then fx+ else (if Zero x- then (fx+)W else lx.I))й1щ ®®  fй2щW, следовательно, терм t1[t[f]] не имеет нормальной формы. Однако, согласно теореме 1, 0щ ®® I, так как t3[f]й0щ ®® I.
   Теорема 4 доказана.
   Теорема 5. Пусть дано уравнение (1), его решение (2) и термы t0,n1,n2,ј,nk О NF0, где k і 0. Пусть - некоторое решение уравнения (1). Тогда: tn1n2јnk ®® t0 Ю  tўn1n2јnk ®® t0.
   Доказательство. Пусть tn1n2јnk ®® t0, тогда, согласно теореме 1, существует такое n і 1, что tn[f]n1n2јnk ®® t0. Следовательно, и tn[]n1n2јnk ®® t0. Так как - решение уравнения (1), то = tn[], tўn1n2јnk = tn[]n1n2јnk и, согласно следствию CR-теоремы, tўn1n2јnk ®® t0. Теорема 5 доказана.
   Теорема 6. Существует такое уравнение (1), такое его решение , и такие термы t0,n1,n2,ј,nk О NF0, где k і 0, что:

tўn1n2јnk ®® t0,    однако   tn1n2јnk t0.

   Доказательство. Рассмотрим уравнение f = f, где f О V, и его решение є lx.x. Терм t0 є lx.x и k = 0. Очевидно, что tў®® t0. Покажем, что терм t не имеет нормальной формы: t є Y(lf.f) є (lh.(lx.h(xx))(lx.h(xx)))(lf.f) ® (lx.(lf.f)(xx))(lx.(lf.f)(xx)) ®® (lx.xx)(lx.xx) є W. Теорема 6 доказана.

   Ереванский государственный университет
   ЕрНИИ АСУ

Литература

   1. Barendregt H.P. The Lambda Calculus, Its Syntax and Semantics. North-Holland Pub. Comp., 1981 (рус. пер. Барендрегт Х. Ламбда-исчисление, его синтаксис и семантика. М.: Мир, 1985).