Материал по минимашинам (ММ)

advertisement
Ãëàâà 1
Ìèíèìàøèíû
Ìèíèìàøèíà (ÌÌ), èíîãäà íàçûâàåìàÿ çäåñü ïðîñòî ìàøèíîé, èìååò
• áåñêîíå÷íîå ñåìåéñòâî îñíîâíûõ ðåãèñòðîâ R0 , R1 , R2 . . .,
• áåñêîíå÷íîå ñåìåéñòâî âñïîìîãàòåëüíûõ ðåãèñòðîâ S0 , S1 , S2 . . .,
• êîìàíäíûé ðåãèñòð (èëè ðåãèñòð êîìàíä) ÊÐ
• ïðîãðàììó, ïðåäñòàâëÿþùóþ ñîáîé (âîçìîæíî ïóñòîé) ñïèñîê êîìàíä, ïðîíóìåðîâàííûõ ïîñëåäîâàòåëüíûìè ÷èñëàìè, íà÷èíàÿ ñ 0:
0: Êîìàíäà0
1: Êîìàíäà1
···
k: Êîìàíäàk
Âñå âûøåóïîìÿíóòûå ðåãèñòðû Ri , Si è ÊÐ ïðåäíàçíà÷åíû äëÿ õðàíåíèÿ íàòóðàëüíûõ ÷èñåë.  ëþáîé ìîìåíò âðåìåíè â êàæäîì ðåãèñòðå
çàïèñàíî ðîâíî îäíî ÷èñëî.
Èìååòñÿ øåñòü ëåãêî çàïîìèíàåìûõ òèïîâ êîìàíä, åñòåñòâåííî ðàçäåë¼ííûõ íà 3 ãðóïïû, îïèñàíèå êîòîðûõ ïðèâåäåíî â ñëåäóþùåé òàáëèöå.
1
2
Ãëàâà 1.
G:=m
G:=H
inc G
dec H
if F=0 goto m
goto m
Ìèíèìàøèíû
Êîìàíäû ïðèñâàèâàíèÿ
çàïèñûâàåò â ðåãèñòð G íàòóðàëüíîå ÷èñëî m è
óâåëè÷èâàåò ñîäåðæèìîå ðåãèñòðà êîìàíä íà 1
(ò.å., ÌÌ ïåðåõîäèò ê èñïîëíåíèþ ñëåäóþùåé
ïî ñïèñêó êîìàíäû)
çàïèñûâàåò â ðåãèñòð G çíà÷åíèå, ñîäåðæàùååñÿ
â ðåãèñòðå H, è óâåëè÷èâàåò ñîäåðæèìîå ðåãèñòðà êîìàíä íà 1
Àðèôìåòè÷åñêèå êîìàíäû
óâåëè÷èâàåò ñîäåðæèìîå ðåãèñòðà G íà 1 è óâåëè÷èâàåò ñîäåðæèìîå ðåãèñòðà êîìàíä íà 1
óìåíüøàåò ñîäåðæèìîå ðåãèñòðà H íà 1, åñëè
îíî áîëüøå íóëÿ, è óâåëè÷èâàåò ñîäåðæèìîå ðåãèñòðà êîìàíä íà 1
Êîìàíäû ïåðåõîäà
åñëè ñîäåðæèìîå ðåãèñòðà F ðàâíî 0, òî çàíîñèò
â êîìàíäíûé ðåãèñòð ÷èñëî m, â ïðîòèâíîì ñëó÷àå óâåëè÷èâàåò çíà÷åíèå êîìàíäíîãî ðåãèñòðà
íà 1
çàíîñèò â ðåãèñòð êîìàíä ÷èñëî m
Î÷åâèäíî, ÷òî ëþáàÿ ìèíèìàøèíà ïîëíîñòüþ çàäà¼òñÿ ñâîåé ïðîãðàììîé, è ïîýòîìó èìååò ñìûñë ïðîñòî îòîæäåñòâëÿòü ìèíèìàøèíû
èõ ñ ïðîãðàììàìè.
Ïåðåä íà÷àëîì ðàáîòû ìèíèìàøèíû â å¼ îñíîâíûå è âñïîìîãàòåëüíûå ðåãèñòðû çàíîñÿòñÿ íåêîòîðûå èñõîäíûå äàííûå íàòóðàëüíûå ÷èñëà, à â ðåãèñòð ÊÐ çàíîñèòñÿ ÷èñëî 0. Ìèíèìàøèíà ðàáîòàåò, ïîñëåäîâàòåëüíî èñïîëíÿÿ øàãè. Øàã ðàáîòû ìàøèíû ñîñòîèò â âûïîëíåíèè
êîìàíäû, íîìåð êîòîðîé â äàííûé ìîìåíò çàïèñàí â ÊÐ â ñîîòâåòñòâèè
ñ âûøåîïèñàííîé èíñòðóêöèåé. Âûïîëíèâ øàã, ìèíèìàøèíà ïåðåõîäèò
ê ñëåäóþùåìó øàãó è ò.ä.  ñëó÷àå, êîãäà â ÊÐ îêàæåòñÿ ÷èñëî, íå ÿâëÿþùååñÿ íîìåðîì êàêîéëèáî êîìàíäû èç ïðîãðàììû, ìàøèíà çàâåðøàåò
ñâîþ ðàáîòó è îñòàíàâëèâàåòñÿ.
Îòìåòèì, ÷òî êîìàíäû ïåðåõîäà ìîãóò îñóùåñòâëÿòü êàê ïåðåõîä ê
âûïîëíåíèþ êîíêðåòíûõ êîìàíä òàê è îñòàíîâêó ðàáîòû ìàøèíû â ñëó÷àå, êîãäà êîìàíäà ñ ñîîòâåòñòâóþùèì íîìåðîì îòñóòñòâóåò.
Çàìåòèì, ÷òî êàæäàÿ ïðîãðàììà ìîæåò èçìåíÿòü çíà÷åíèÿ òîëüêî â
òåõ ðåãèñòðàõ, êîòîðûå ÿâíî óïîìÿíóòû â å¼ òåêñòå. Çíà÷åíèÿ â îñòàëü-
3
íûõ ðåãèñòðàõ îíà èçìåíèòü íå ìîæåò.
Ñ êàæäîé ÌÌ P è íàòóðàëüíûì ÷èñëîì n ìîæíî ñâÿçàòü ôóíêöèþ
n
AP : Nn → N, çíà÷åíèå êîòîðîé íà x1 , . . . , xn îïðåäåëÿåòñÿ ñëåäóþùèì
îáðàçîì:
çàíîñèì â ðåãèñòðû R1 , . . . , Rn ñîîòâåòñòâåííî çíà÷åíèÿ x1 ,
. . ., xn , âî âñå îñòàëüíûå ðåãèñòðû çàíîñèì íóëè, â ÊÐ çàíîñèì 0 è çàïóñêàåì ïðîãðàììó P . Êîãäà ìàøèíà çàâåðøèò
ñâîþ ðàáîòó (îñòàíàâëèâàåòñÿ), çíà÷åíèå ôóíêöèè AnP (x1 , . . . , xn )
âîçüì¼ì èç ðåãèñòðà R0 . Åñëè ìàøèíà íèêîãäà íå çàâåðøèò
ñâîþ ðàáîòó, òî ýòî çíà÷åíèå ñ÷èòàåòñÿ íåîïðåäåë¼ííûì.
Çàìåòèì, ÷òî ñîäåðæèìîå ðåãèñòðîâ, íå óïîìÿíóòûõ â ïðîãðàììå (çà
èñêëþ÷åíèåì R0 ), íå èñïîëüçóåòñÿ ýòîé ïðîãðàììîé è íå âëèÿåò íà ðåçóëüòàò ðàáîòû ýòîé ïðîãðàììû ñîäåðæèìîå ðåãèñòðà R0 â êîíöå å¼
ðàáîòû.
Îïðåäåëåíèå 1.0.1 ×àñòè÷íàÿ ôóíêöèÿ èç Nn â N íàçûâàåòñÿ âû÷èñ-
ëèìûîé íà ìèíèìàøèíå, åñëè îíà ñîâïàäàåò ñ ôóíêöèåé âèäà AnP , äëÿ
ïîäõîäÿùåé ïðîãðàììû P .
Ïðèâåä¼ì ïðèìåð ïðîñòîé ïðîãðàììû, âû÷èñëÿþùåé ñóììó ÷èñåë
(ïðåäëàãàåì ÷èòàòåëþ ñàìîñòîÿòåëüíî óáåäèòüñÿ â ýòîì):
0:
1:
2:
3:
4:
R0 :=R1
if R2 =0 goto 5
dec R2
inc R0
goto 1
Òàêèì îáðàçîì, ñëîæåíèå íàòóðàëüíûõ ÷èñåë ÿâëÿåòñÿ áèíàðíîé ôóíêöèåé, âû÷èñëèìîé íà ÌÌ.
 äàëüíåéøåì äëÿ íàñ áóäåò âàæíåå äîêàçûâàòü ñóùåñòâîâàíèå ïðîãðàìì äëÿ âû÷èñëåíèÿ îïðåäåëåííûõ ôóíêöèé, ÷åì ïîëó÷àòü èõ êîíêðåòíûé òåêñò. Äëÿ îáëåã÷åíèÿ òàêèõ äîêàçàòåëüñòâ ìû áóäåì èñïîëüçîâàòü òàê íàçûâàåìûå ðàñøèðåííûå ìèíèìàøèíû (ÐÌÌ). Îíè îòëè÷àþòñÿ îò ìèíèìàøèí òîëüêî òåì, ÷òî â ïðîãðàììàõ äëÿ ýòèõ ìàøèí êðîìå îáû÷íûõ êîìàíä ðàçðåøåíî èñïîëüçîâàòü äîïîëíèòåëüíûå êîìàíäû
âèäà H:=f (H1 ,...,Hk ), äëÿ ïðîèçâîëüíûõ (âîîáùå ãîâîðÿ, ÷àñòè÷íûõ)
4
Ãëàâà 1.
Ìèíèìàøèíû
ôóíêöèé f . Èñïîëíåíèå òàêîé êîìàíäû ñîñòîèò â âû÷èñëåíèè çíà÷åíèÿ
f íà çíà÷åíèÿõ ðåãèñòðîâ H1 , . . . , Hk , ïîìåùåíèè ðåçóëüòàòà â ðåãèñòð H
ñ ïîñëåäóþùèì óâåëè÷åíèåì çíà÷åíèÿ ÊÐ íà 1. Çíà÷åíèÿ âñåõ îñòàëüíûõ ðåãèñòðîâ ðàñøèðåííîé ìàøèíû ïðè ýòîì íå èçìåíÿþòñÿ. Åñëè f
íå îïðåäåëåíà íà äàííûõ çíà÷åíèÿõ, òî ñ÷èòàåòñÿ, ÷òî âû÷èñëåíèå çíà÷åíèÿ f ïðîäîëæàåòñÿ áåñêîíå÷íî, è ïðè ýòîì, ðàçóìååòñÿ, ðàñøèðåííàÿ
ìàøèíà, âûïîëíÿþùàÿ ýòó êîìàíäó, íèêîãäà íå çàâåðøèò ñâîþ ðàáîòó.
Ëåãêî çàìåòèòü, ÷òî ìèíèìàøèíû ÿâëÿþòñÿ ÷àñòíûì ñëó÷àåì ðàñøèðåííûõ ìèíèìàøèí.
Îïðåäåëåíèå 1.0.2 Äâå ðàñøèðåííûõ ìèíèìàøèíû íàçîâ¼ì ýêâèâà-
ëåíòíûìè, åñëè, áóäó÷è çàïóùåíûìè ñ ëþáûìè îäèíàêîâûìè íàáîðàìè
çíà÷åíèé îñíîâíûõ ðåãèñòðîâ è íóëåâûìè çíà÷åíèÿìè âñåõ âñïîìîãàòåëüíûõ ðåãèñòðîâ, îíè ëèáî îáå íèêîãäà íå çàâåðøàò ñâîþ ðàáîòó ëèáî îáå êîãäàíèáóäü çàâåðøàò ñâîþ ðàáîòó è ïîñëå ýòîãî çíà÷åíèÿ âî
âñåõ îñíîâíûõ ðåãèñòðàõ ó íèõ ñîâïàäóò.
Îïðåäåëåíèå ôóíêöèé, âû÷èñëèìûõ íà ÐÌÌ ôîðìóëèðóåòñÿ àíàëîãè÷íûì îáðàçîì.
Ïðåäëîæåíèå 1.0.3 (Ýëèìèíàöèÿ1 äîïîëíèòåëüíûõ êîìàíä) Åñëè
âñå ôóíêöèè, ó÷àñòâóþùèå â ðàñøèðåííûõ êîìàíäàõ íåêîòîðîé ðàñøèðåííîé ìèíèìàøèíû, âû÷èñëèìû íà ìèíèìàøèíàõ, òî ýòà ðàñøèðåííàÿ ìàíèìàøèíà ýêâèâàëåíòíà íåêîòîðîé îáû÷íîé ìèíèìàøèíå.
Äîêàçàòåëüñòâî. Äëÿ äîêàçàòåëüñòâà äîñòàòî÷íî óêàçàòü ìåòîä ïðåîá-
ðàçîâàíèÿ ëþáîé ïðîãðàììû äëÿ ÐÌÌ â ýêâèâàëåíòíóþ åé ïðîãðàììó
äëÿ ÐÌÌ, â êîòîðîé ÷èñëî äîïîëíèòåëüíûõ êîìàíä áóäåò íà åäèíèöó
ìåíüøå.
Äåéñòâèòåëüíî ïóñòü P ïðîãðàììà äëÿ ÐÌÌ, ñîäåðæàùàÿ äîïîëíèòåëüíûå êîìàíäû. Çàôèêñèðóåì â íåé íåêîòîðóþ äîïîëíèòåëüíóþ êîìàíäó H:=f (H1 ,...,Hk ), ãäå ôóíêöèÿ f âû÷èñëÿåòñÿ íåêîòîðîé ïðîãðàììîé Pf , èñïîëüçóþùåé ïîïàðíî ðàçëè÷íûå îñíîâíûå ðåãèñòðû R0 , R1 , . . .,
Rk , è äîïîëíèòåëüíûå ðåãèñòðû S1 , . . ., Sl . Âûáåðåì ñðåäè äîïîëíèòåëüíûõ ðåãèñòðîâ ïîïàðíî ðàçëè÷íûå ðåãèñòðû R0∗ , R1∗ , . . . , Rk∗ è S1∗ , . . . , Sl∗ ,
íå óïîìèíàåìûå â ïðîãðàììàõ P è Pf . Îïðåäåëèì ïðîãðàììó Pf∗ êàê
ðåçóëüòàò îäíîâðåìåííîé çàìåíû â Pf âñåõ ðåãèñòðîâ R0 , R1 , . . . , Rk è
S1 , . . . , Sl ñîîòâåòñòâåííî íà R0∗ , R1∗ , . . . , Rk∗ è S1∗ , . . . , Sl∗ . Íà ìåñòî çàôèêñèðîâàííîé íàìè êîìàíäû H:=f(H1 ,...,Hk ) âñòàâèì â ïðîãðàììó P ïîñëåäîâàòåëüíîñòü êîìàíä
5
R∗1 :=H1
R∗2 :=H2
...
R∗k :=Hk
P∗f
H:=R∗0 ,
çàíîâî ïðîíóìåðóåì ïîëó÷èâøèéñÿ ñïèñîê íàòóðàëüíûìè ÷èñëàìè, íà÷èíàÿ ñ 0, ïîñëå ÷åãî êàê â ÷àñòè Pf∗ òàê è â îñòàâøåéñÿ ÷àñòè ïðîãðàììû
P çàìåíèì âî âñåõ îïåðàòîðàõ ïåðåõîäà if . . . goto m è goto m ÷èñëà m
íà äðóãèå ÷èñëà òàê, ÷òîáû îíè çàäàâàëè
• ïåðåõîä íà òå æå êîìàíäû, ÷òî è ðàíüøå â ñëó÷àå, åñëè îíè çàäàâàëè ïåðåõîä íà êîíêðåòíûå êîìàíäû,
• ïåðåõîä íà êîìàíäó, ñëåäóþùóþ çà âñåìè êîìàíäàìè ôðàãìåíòà P∗f
â ñëó÷àå, êîãäà êîìàíäà ïåðåõîäà ïðåäíàçíà÷åíà äëÿ âûõîäà èç P∗f ,
• ïåðåõîä íà íåñóùåñòâóþùóþ êîìàíäó, åñëè êîìàíäà ïåðåõîäà ïðåäíàçíà÷åíà äëÿ çàâåðøåíèå ðàáîòû ïðîãðàììû.
Íåòðóäíî óáåäèòüñÿ, ÷òî ïîëó÷åííàÿ òàêèì ñïîñîáîì ïðîãðàììà ýêâèâàëåíòíà èñõîäíîé è ïðè ýòîì ñîäåðæèò íà åäèíèöó ìåíüøå äîïîëíèòåëüíûõ êîìàíä. Òàêèì îáðàçîì, äëÿ äîêàçàòåëüñòâà ñóùåñòâîâàíèÿ ïðîãðàìì äëÿ ÌÌ,
âû÷èñëÿþùèõ íåêîòîðóþ ôóíêöèþ, äîñòàòî÷íî äîêàçàòü ñóùåñòâîâàíèå
ïðîãðàìì äëÿ ÐÌÌ, âû÷èñëÿþùèõ òó æå ñàìóþ ôóíêöèþ, ÷òî, êàê ïðàâèëî, íàìíîãî ïðîùå.
Òåîðåìà 1.0.4 Âñå ÷àñòè÷íî ðåêóðñèâíûå ôóíêöèè âû÷èñëèìû íà ÌÌ.
Äîêàçàòåëüñòâî. Íàì äîñòàòî÷íî ñíà÷àëà äîêàçàòü âû÷èñëèìîñòü íà
ÌÌ ïðîñòåéøèõ ôóíêöèé, à ïîòîì äîêàçàòü, ÷òî ïðèìåíåíèå îïåðàòîðîâ
S, R è M ê âû÷èñëèìûì íà ÌÌ ôóíêöèÿì ñíîâà ïðèâîäèò ê ôóíêöèÿì,
âû÷èñëèìûì íà ÌÌ. Çäåñü ìû áóäåì ïîëüçîâàòüñÿ òîëüêî ÷òî äîêàçàííûì ðåçóëüòàòîì îá ýëèìèíàöèè äîïîëíèòåëüíûõ êîìàíä äëÿ ÐÌÌ.
Ïðîñòåéøèå ôóíêöèè âû÷èñëèìû íà ÌÌ. Äåéñòâèòåëüíî, ôóíêöèÿ
s(x) = x + 1 âû÷èñëÿåòñÿ ïðîãðàììîé èç äâóõ êîìàíä 0: R0 :=R1 è 1: inc
6
Ãëàâà 1.
Ìèíèìàøèíû
R0 , ôóíêöèÿ 0(x) = 0 âû÷èñëÿåòñÿ ïðîãðàììîé 0: R0 :=0, à ôóíêöèÿ
n
Im
(x1 , . . . , xn ) âû÷èñëÿåòñÿ ïðîãðàììîé 0: R0 :=Rm .
Äîêàæåì âû÷èñëèìîñòü êîìïîçèöèè ôóíêöèé, âû÷èñëèìûõ íà ÌÌ,
ò.å., ÷òî ïðèìåíåíèå îïåðàòîðà ñóïåðïîçèöèè S ê ôóíêöèÿì, âû÷èñëèìûì íà ÌÌ, ñíîâà äàåò ôóíêöèþ, âû÷èñëèìóþ íà ÌÌ. Ïðåäïîëîæèì,
÷òî ôóíêöèè h1 (x1 , . . . , xn ), . . . , hk (x1 , . . . , xn ) è g(y1 , . . . , yk ) âû÷èñëèìû
íà ÌÌ. Òîãäà èõ êîìïîçèöèÿ âû÷èñëèìà íà ÐÌÌ ïðè ïîìîùè ñëåäóþùåé ïðîãðàììû, â êîòîðîé âî âñåõ ðàñøèðåííûõ îïåðàòîðàõ ó÷àñòâóþò
âû÷èñëèìûå íà ÌÌ ôóíêöèè:
0:
1:
···
k-1:
k:
S1 :=h1 (R1 ,...,Rn )
S2 :=h2 (R1 ,...,Rn )
Sk :=hk (R1 ,...,Rn )
R0 :=g (S1 ,...,Sk ).
Ïîêàæåì, ÷òî ôóíêöèÿ, ïîëó÷àþùàÿñÿ èç ôóíêöèé, âû÷èñëèìûõ íà
ÌÌ, ñ ïîìîùüþ îïåðàòîðà R ïðèìèòèâíîé ðåêóðñèè òàêæå âû÷èñëèìà
íà ÌÌ. Ïðåäïîëîæèì, ÷òî ôóíêöèÿ f (y, x1 , . . . , xn ) çàäà¼òñÿ ïðèìèòèâíî
ðåêóðñèâíîé ñõåìîé
f (0, x1 , . . . , xn )
= g(x1 , . . . , xn )
f (y + 1, x1 , . . . , xn ) = h(x1 , . . . , xn , y, f (y, x1 , . . . , xn )),
è ôóíêöèè g è h âû÷èñëèìû íà ÌÌ. Òîãäà, êàê íåòðóäíî óáåäèòüñÿ,
ôóíêöèÿ f âû÷èñëÿåòñÿ ñëåäóþùåé ïðîãðàììîé äëÿ ÐÌÌ:
0:
1:
2:
3:
4:
5:
6:
R0 :=g (R2 ,...,Rn+1 )
S0 :=0
if R1 =0 goto 7
R0 :=h(R2 ,...,Rn+1 ,S0 ,R0 )
inc S0
dec R1
goto 2
Ïîêàæåì, ÷òî ïðèìåíåíèå îïåðàòîðà ìèíèìèçàöèè M ê ôóíêöèè,
âû÷èñëèìîé íà ÌÌ, ñíîâà ïðèâîäèò ê ôóíêöèè, âû÷èñëèìîé íà ÌÌ.
Ïðåäïîëîæèì, ÷òî ôóíêöèÿ f ïîëó÷àåòñÿ ïðè ïîìîùè îïåðàòîðà ìèíèìèçàöèè èç âû÷èñëèìîé íà ÌÌ ôóíêöèè g êàê
f (x1 , . . . , xn ) = µy(g(x1 , . . . , xn , y) = 0).
7
Òîãäà f ìîæíî âû÷èñëèòü ïðè ïîìîùè ñëåäóþùåé ïðîãðàììû äëÿ ÐÌÌ:
0:
1:
2:
3:
4:
R0 :=0
S0 :=g (R1 ,...,Rn ,R0 )
if S0 =0 goto 5
inc R0
goto 1
Òàêèì îáðàçîì, ìû ïîêàçàëè, ÷òî ëþáàÿ ÷.ð.ô. âû÷èñëèìà íà ÌÌ, è
òåîðåìà äîêàçàíà. Òåîðåìà 1.0.5 Ëþáàÿ âû÷èñëèìàÿ íà ÌÌ ôóíêöèÿ ÿâëÿåòñÿ ÷.ð.ô.
Äîêàçàòåëüñòâî. Ñíà÷àëà ìû îïðåäåëèì êîäèðîâêè íåêîòîðûõ îáúåêòîâ, îòíîñÿùèõñÿ ê ÌÌ, â òîì ÷èñëå è ñàìèõ ÌÌ è óñòàíîâèì èõ
íåêîòîðûå ñâîéñòâà. Ôàêòè÷åñêè, ìû äîêàæåì, ÷òî íåêîòîðûå äåéñòâèÿ
è ïîíÿòèÿ, îòíîñÿùèåñÿ ê ÌÌ, ìîæíî âûðàçèòü ñ ïîìîùüþ ïðèìèòèâíî
ðåêóðñèâíûõ ôóíêöèé, îòêóäà ïîòîì ïîëó÷èì ñàìó òåîðåìó.
Êîä îáúåêòà a ëþáîé ïðèðîäû (ðåãèñòðà, êîìàíäû è ïð.) ñîîòâåòñòâóþùåå åìó íàòóðàëüíîå ÷èñëî áóäåì îáîçíà÷àòü ÷åðåç γ(a). Ïîñëåäîâàòåëüíî îïðåäåëèì êîäû ðàçëè÷íûõ îáúåêòîâ ñëåäóþùèì îáðàçîì:
Êîäèðîâàíèå ðåãèñòðîâ: γ(Ri ) = 2i, γ(Si ) = 2i + 1.
Êîäèðîâàíèå êîìàíä:
γ(Q := m)
γ(Q := H)
γ(inc Q)
γ(dec Q)
γ(if F = 0 goto m)
γ(goto m)
=
=
=
=
=
=
h0, γ(Q), mi,
h1, γ(Q), γ(H)i,
h2, γ(Q)i,
h3, γ(Q)i,
h4, γ(F ), mi,
h5, mi.
Óïðàæíåíèå. Äîêàçàòü, ÷òî ìíîæåñòâî êîäîâ êîìàíä ïðèìèòèâíî
ðåêóðñèâíî.
8
Ãëàâà 1.
Ìèíèìàøèíû
Êîäèðîâàíèå ìàøèí: åñëè 0:c0 , 1:c1 , . . . , k-1:ck−1 ñïèñîê êîìàíä
íåêîòîðîé ÌÌ M , òî êîäîì ýòîé ìàøèíû áóäåì íàçûâàòü ÷èñëî
γ(M ) = hγ(c0 ), . . . , γ(ck−1 )i.
Óïðàæíåíèå. Äîêàçàòü, ÷òî ìíîæåñòâî âñåâîçìîæíûõ êîäîâ ìèíèìàøèí ïðèìèòèâíî ðåêóðñèâíî.
Êàê óæå îòìå÷àëîñü, åñëè êàêîé-ëèáî ðåãèñòð (çà èñêëþ÷åíèåì R0 )
íå óïîìèíàåòñÿ â ïðîãðàììå, òî ðåçóëüòàò âû÷èñëåíèÿ ÷èñëî, ñîäåðæàùååñÿ â ðåãèñòðå R0 ïîñëå çàâåðøåíèÿ ýòîé ïðîãðàììû íå çàâèñèò îò
ñîäåðæèìîãî ýòîãî ðåãèñòðà â íà÷àëå ðàáîòû ïðîãðàììû. Ïîýòîìó ïðè
ðàññìîòðåíèè ðàáîòû ìèíèìàøèíû èìååò ñìûñë ñëåäèòü çà çíà÷åíèÿìè
íå âñåõ å¼ ðåãèñòðîâ, à òîëüêî òåõ, êîòîðûå óïîìÿíóòû â å¼ ïðîãðàììå.
Åñëè ðåãèñòð Ri èëè Si óïîìÿíóò â ïðîãðàììå, òî, ïî ñâîéñòâàì êîäèðîâàíèÿ êîíå÷íûõ ïîñëåäîâàòåëüíîñòåé, åãî êîä (ñîîòâåòñòâåííî 2i èëè
2i + 1) íå ïðåâîñõîäèò êîäà êîìàíäû, â êîòîðîé îí óïîìÿíóò, à ýòîò êîä,
â ñâîþ î÷åðåäü, íå ïðåâîñõîäèò êîä âñåé ïðîãðàììû. Òàêèì îáðàçîì,
ìàêñèìàëüíûé íîìåð ðåãèñòðà, ñîäåðæèìîå êîòîðîãî íàì âîîáùå èìååò
ñìûñë îòñëåæèâàòü, ìîæíî õîòü è ãðóáî, íî çàòî ïðîñòî îöåíèòü ñâåðõó
êîäîì ïðîãðàììû.
Ýòî íàáëþäåíèå îáúÿñíÿåò ñëåäóþùåå îïðåäåëåíèå:
Îïðåäåëåíèå 1.0.6 Êîíôèãóðàöèåé ìàøèíû c êîäîì a â íåêîòîðûé
ìîìåíò âðåìåíè íàçîâ¼ì ïàðó, ñîñòîÿùóþ èç ñîäåðæèìîãî êîìàíäíîãî
ðåãèñòðà c è ïîñëåäîâàòåëüíîñòè çíà÷åíèé ðåãèñòðîâ R0 , S0 , . . . , Ra , Sa ,
êîòîðûå ìû îáîçíà÷èì ñîîòâåòñòâåííî ÷åðåç [R0 ], [S0 ], . . . , [Ra ], [Sa ]. Åñëè C òàêàÿ êîíôèãóðàöèÿ, òî å¼ êîäîì íàçîâ¼ì ÷èñëî
γ(C) = hc, h[R0 ], [S0 ], . . . , [Ra ], [Sa ]ii .
Åñëè â ïðîöåññå çàâåðøèâøåãîñÿ âû÷èñëåíèÿ ìèíèìàøèíà ïîñëåäîâàòåëüíî íàõîäèëàñü â êîíôèãóðàöèÿõ C0 , C1 , . . . , Ck−1 , òî òàêóþ ïîñëåäîâàòåëüíîñòü áóäåì íàçûâàòü âû÷èñëåíèåì íà ýòîé ÌÌ, à êîäîì ýòîãî
âû÷èñëåíèÿ íàçîâ¼ì ÷èñëî hγ(C0 ), γ(C1 ), . . . , γ(Ck−1 )i.
Òåïåðü âñå íåîáõîäèìûå êîäû îïðåäåëåíû, è ìû ìîæåì îïðåäåëèòü
îòíîøåíèå T (a, x, y), èãðàþùåå âàæíåéøóþ ðîëü â òåîðèè âû÷èñëèìîñòè.
9
Îïðåäåëåíèå 1.0.7 Îïðåäåëèì îòíîøåíèå T (a, x, y) êàê
T (a, x, y) ⇔ (a íîìåð íåêîòîðîé ÌÌ) ∧ (seq (x)) ∧
(y êîä âû÷èñëåíèÿ, íà÷àòîãî ïðè ñîäåðæèìûõ
ðåãèñòðîâ Ri , 1 6 i 6 min(a, `h (x)) ðàâíûõ
ñîîòâåòñòâåííî (x)0 , (x)1 , . . . è íóëåâûõ çíà÷åíèÿõ
âî âñåõ îñòàëüíûõ ðåãèñòðàõ)
Ëåììà 1.0.8 Îòíîøåíèå T (a, x, y), ïðèìèòèâíî ðåêóðñèâíî.
 îïðåäåëåíèè ýòîãî îòíîøåíèÿ ó÷àñòâóþò òðè êîíúþíêòèâíûõ ÷ëåíà, ïðè÷¼ì ïðèìèòèâíàÿ ðåêóðñèâíîñòü ïåðâûõ äâóõ ñëåäóåò èç óæå
äîêàçàííîãî. Îñòàâøèéñÿ êîíúþíêòèâíûé ÷ëåí ìîæíî â ñâîþ î÷åðåäü
ïðåäñòàâèòü, êàê êîíúþíêöèþ ñëåäóþùèõ óñëîâèé (ñíà÷àëà ïðèâîäèòñÿ
íåôîðìàëüíîå îïèñàíèå, ïîòîì âûïèñûâàåòñÿ óñëîâèå, ãàðàíòèðóþùåå
åãî ïðèìèòèâíóþ ðåêóðñèâíîñòü):
• y êîä ïîñëåäîâàòåëüíîñòè: seq (y),
• (y)0 íîìåð ïîñëåäîâàòåëüíîñòè äëèíû 2, âòîðîé ýëåìåíò êîòîðîé
êîäèðóåò ïîñëåäîâàòåëüíîñòü äëèíû 2a + 2:
seq ((y)0 ) ∧ `h ((y)0 ) = 2 ∧ seq (((y)0 )1 ) ∧ `h (((y)0 )1 ) = 2a + 2.
•  íà÷àëüíîé êîíôèãóðàöèè âñå çíà÷åíèÿ ðåãèñòðîâ Ri , êîäèðóþùèå
âõîäíûå äàííûå, ðàâíû ñîîòâåòñòâåííî (x)0 , (x)1 , . . .:
∀i 6 min(a, `h (x))(i 6= 0 → (((y)0 )1 )2i = (x)i−̇1 ).
•  íà÷àëüíîé êîíôèãóðàöèè â îñòàëüíûõ Ri ñîäåðæàòñÿ íóëè:
(((y)0 )1 )0 = 0 ∧ ∀i 6 a(i > min(a, `h (x)) → (((y)0 )1 )2i = 0).
•  íà÷àëüíîé êîíôèãóðàöèè âñå âñïîìîãàòåëüíûå ðåãèñòðû ñîäåðæàò
0:
∀i 6 a((((y)0 )1 )2i+1 = 0).
Ïðåæäå, ÷åì ïðîäîëæèòü ïåðå÷èñëåíèå óñëîâèé, ïðåäïîëîæèì, ÷òî ìû
óæå äîêàçàëè ïðèìèòèâíóþ ðåêóðñèâíîñòü ôóíêöèè Next(u, a), âûäàþùåé êîä êîíôèãóðàöèè, ïîëó÷àþùåéñÿ èç êîíôèãóðàöèè ñ êîäîì u çà
îäèí øàã âû÷èñëåíèÿ íà ìàøèíå ñ êîäîì a, åñëè a êîä ìàøèíû è u 10
Ãëàâà 1.
Ìèíèìàøèíû
êîä êîíôèãóðàöèè, è êàêîåíèáóäü (íåâàæíî êàêîå) ÷èñëî, â ïðîòèâíîì
ñëó÷àå. Ýòî ìû ñäåëàåì ÷óòü ïîçæå. Òîãäà ê íàøèì óñëîâèÿì îñòàíåòñÿ
äîáàâèòü åùå ñëåäóþùèå êîíúþíêòèâíûå ÷ëåíû:
• Êàæäàÿ ñëåäóþùàÿ êîíôèãóðàöèÿ ïîëó÷àåòñÿ èç ïðåäûäóùåé â ðåçóëüòàòå èñïîëíåíèÿ øàãà âû÷èñëåíèÿ:
∀i < `h (y)(i + 1 < `h (y) → (y)i+1 = Next((y)i , a).
• Â ñàìîé ïîñëåäíåé êîíôèãóðàöèè íîìåð êîìàíäû äëÿ èñïîëíåíèÿ íå
ñîâïàäàåò íè ñ îäíèì íîìåðîì êîìàíäû â ïðîãðàììå:
((y)`h (y)−̇1 )0 > `h (a)
Ïðèâåä¼ííàÿ âûøå çàïèñü îòíîøåíèÿ T (a, x, y) ïîëó÷àåòñÿ èç îòíîøåíèé è ôóíêöèé, ïðèìèòèâíàÿ ðåêóðñèâíîñòü êîòîðûõ óæå äîêàçàíà,
ñ ïîìîùüþ ëîãè÷åñêèõ ñâÿçîê ∧, ∨, ¬, → è íàâåøèâàíèÿ îãðàíè÷åííûõ
êâàíòîðîâ. Ýòî ãàðàíòèðóåò ïðèìèòèâíóþ ðåêóðñèâíîñòü ýòîãî îòíîøåíèÿ.
Îñòàëîñü ïîêàçàòü ïðèìèòèâíóþ ðåêóðñèâíîñòü ôóíêöèè Next(u, a).
Çàìåòèì, ÷òî êîä êîìàíäû, èñïîëíÿåìîé â êîíôèãóðàöèè ñ êîäîì u (ò.å.,
ñîäåðæèìîå êîìàíäíîãî ðåãèñòðà), ðàâåí Êîì (a, u) = (a)(u)0 . Íàì ïîíàäîáÿòñÿ òàêæå îïèñàííûå íèæå ïðèìèòèâíî ðåêóðñèâíûå ôóíêöèè.
ÇàìÐåã (k, m, u): åñëè k êîä ðåãèñòðà â êîíôèãóðàöèè ñ êîäîì u, òî ýòà
ôóíêöèÿ âûäà¼ò êîä êîíôèãóðàöèè, ïîëó÷åííîé èç êîíôèãóðàöèè
ñ êîäîì u çàìåíîé ñîäåðæèìîãî ðåãèñòðà ñ êîäîì k íà m.
Òàêóþ ôóíêöèþ ìîæíî îïðåäåëèòü, íàïðèìåð, òàê: ïîñêîëüêó ((u)1 )k
ñîäåðæèìîå ðåãèñòðà ñ êîäîì k , äëÿ ïîëó÷åíèÿ òðåáóåìîãî êîäà ñîñòîÿíèÿ ðåãèñòðîâ ìîæíî â ðàçëîæåíèè ÷èñëà (u)1 (ò.å., êîäà ñîñòîÿíèÿ
ðåãèñòðîâ) íà ïðîñòûå ñîìíîæèòåëè óáðàòü âñþ ñòåïåíü ïðîñòîãî pk , ò.å.,
((u) ) +1
ñîìíîæèòåëü pk 1 k è çàìåíèòü
åãî íà pm+1
, ïîëó÷èâ íîâûé êîä ñîñòîk
(u) ·pm+1
ÿíèÿ ðåãèñòðîâ ((u)1 1 )kk +1 à çàòåì `ñîáðàòü' êîä ïîëó÷åííîé êîíôèãóðàpk
(u)1 ·pm+1
k
öèè â âèäå (u)0 , ((u)1 )k +1 . Ïîñëåäíåå âûðàæåíèå êàê ðàç ãîäèòñÿ â
pk
êà÷åñòâå îïðåäåëåíèÿ äëÿ ôóíêöèè ÇàìÐåã (k, m, u), ãàðàíòèðóþùåå å¼
ïðèìèòèâíóþ ðåêóðñèâíîñòü.
Ìû îñòàâëÿåì ÷èòàòåëþ íåñëîæíûå äîêàçàòåëüñòâà ñóùåñòâîâàíèÿ
ïðèìèòèâíî ðåêóðñèâíûõ ôóíêöèé ñî ñëåäóþùèìè ñâîéñòâàìè:
11
ÇàìÊÐ (m, u): åñëè u êîä êîíôèãóðàöèè, òî ýòà ôóíêöèÿ âûäà¼ò êîä
êîíôèãóðàöèè, ïîëó÷åííîé èç êîíôèãóðàöèè ñ êîäîì u çàìåíîé
ñîäåðæèìîãî êîìàíäíîãî ðåãèñòðà íà m.
Ðåã (u, i): åñëè u êîä êîíôèãóðàöèè, òî çíà÷åíèå ýòîé ôóíêöèè ðàâíî
ñîäåðæèìîìó ðåãèñòðà ñ êîäîì i â ýòîé êîíôèãóðàöèè.
ÊÐ (u): åñëè u êîä êîíôèãóðàöèè, òî çíà÷åíèå ýòîé ôóíêöèè ðàâíî
ñîäåðæèìîìó êîìàíäíîãî ðåãèñòðà â ýòîé êîíôèãóðàöèè.
Çàìåòèì, ÷òî åñëè u êîä íåêîòîðîé êîíôèãóðàöèè, òî ïî íåìó ìîæíî îïðåäåëèòü òèï êîìàíäû, èñïîëíÿåìîé â ýòîé êîíôèãóðàöèè. Îí ïîëíîñòüþ îïðåäåë¼í ÷èñëîì (Êîì (a, u))0 (åñëè ýòî 0, òî êîìàíäà èìååò âèä
R:=m, åñëè 1, òî R:=H è ò.ä.).
Ôóíêöèþ Next(u, a) ìîæíî îïðåäåëèòü ìåòîäîì ðàçáîðà ñëó÷àåâ ñëåäóþùèì îáðàçîì.
Êîä èñïîëíÿåìîé êîìàíäû áóäåò ðàâåí Êîì (a, u). Åñëè ýòà êîìàíäà ÿâëÿåòñÿ êîìàíäîé ïðèñâàèâàíèÿ âèäà G:=m, ò.å., (Êîì (a, u))0 = 0,
òî â êîäå íîâîé êîíôèãóðàöèè íóæíî çàìåíèòü ñîäåðæèìîå ðåãèñòðà G,
ò.å., ðåãèñòðà ñ êîäîì (Êîì (a, u))1 íà (Êîì (a, u))2 (â ðåçóëüòàòå ïîëó÷èì
ÇàìÐåã ((Êîì (a, u))1 , (Êîì (a, u))2 , u)); êðîìå òîãî, íóæíî áóäåò ïðèáàâèòü
ê ñîäåðæèìîìó ÊÐ åäèíèöó. Ó÷èòûâàÿ óñòðîéñòâî êîäèðîâêè êîíôèãóðàöèé, ìû âèäèì, ÷òî äëÿ ýòîãî äîñòàòî÷íî óìíîæèòü ïîëó÷åííîå âûðàæåíèå íà p0 . Èòàê, â ñëó÷àå (Êîì (a, u))0 = 0 çíà÷åíèå ôóíêöèè Next(u, a)
ìîæíî âû÷èñëèòü, êàê
p0 · ÇàìÐåã ((Êîì (a, u))1 , (Êîì (a, u))2 , u).
Àíàëîãè÷íî, åñëè ýòà êîìàíäà ÿâëÿåòñÿ êîìàíäîé ïðèñâàèâàíèÿ âèäà G:=H, ò.å., (Êîì (a, u))0 = 1, òî â êîäå íîâîé êîíôèãóðàöèè íóæíî
çàìåíèòü ñîäåðæèìîå ðåãèñòðà G, ò.å., ðåãèñòðà ñ êîäîì (Êîì (a, u))1 íà
ñîäåðæèìîå ðåãèñòðà ñ êîäîì (Êîì (a, u))2 , ò.å. íà Ðåã (u, (Êîì (a, u))2 )
((u)1 )(Êîì (a,u)2 ) (â ðåçóëüòàòå ïîëó÷èì ÇàìÐåã ((Êîì (a, u))1 , Ðåã (u, (Êîì (a, u))2 ), u));
ïðèáàâëÿÿ, êàê è ðàíüøå, åäèíèöó ê ÊÐ, ïîëó÷èì, ÷òî êîä êîíôèãóðàöèè
ïîñëå âûïîëíåíèÿ ýòîãî øàãà áóäåò ðàâåí
p0 · ÇàìÐåã ((Êîì (a, u))1 , Ðåã (u, (Êîì (a, u))2 ), u).
Âûïèñàâ àíàëîãè÷íûì îáðàçîì âûðàæåíèÿ äëÿ îñòàëüíûõ (âçàèìîèñêëþ÷àþùèõ) ñëó÷àåâ, êîãäà êîìàíäà èìååò âèä
12
Ãëàâà 1.
Ìèíèìàøèíû
• inc Q (ò.å., (Êîì (a, u))0 = 2)
• dec Q (ò.å., (Êîì (a, u))0 = 3)
• if F=0 goto m è ïðè ýòîì ñîäåðæèìîå ðåãèñòðà F ðàâíî 0 (ò.å.,
(Êîì (a, u))0 = 4 è Ðåã (u, (Êîì (a, u))1 ) = 0)
• if F=0 goto m è ïðè ýòîì ñîäåðæèìîå ðåãèñòðà F íå ðàâíî 0 (ò.å.,
• (Êîì (a, u))0 = 4 è Ðåã (u, (Êîì (a, u))1 ) 6= 0) goto m (ò.å., (Êîì (a, u))0 =
5),
ìû ïîëó÷èì ïðèìåðíî ñëåäóþùåå îïðåäåëåíèå äëÿ ôóíêöèè Next(u, a)
ìåòîäîì ðàçáîðà ñëó÷àåâ (íå ñëåäóåò ïóãàòüñÿ êîíêðåòíîãî âèäà äàííîé
ôóíêöèè, ãîðàçäî âàæíåå òî, ÷òî å¼ â ïðèíöèïå ìîæíî çàïèñàòü â òàêîì
âèäå):
Next(u, a) =


p0 · ÇàìÐåã ((Êîì (a, u))1 , (Êîì (a, u))2 , u), åñëè (Êîì (a, u))0 = 0





p0 · ÇàìÐåã ((Êîì (a, u))1 , Ðåã (u, (Êîì (a, u))2 ), u),




åñëè (Êîì (a, u))0 = 1






p0 · ÇàìÐåã ((Êîì (a, u))1 , Ðåã (u, (Êîì (a, u))1 ) + 1, u),




åñëè (Êîì (a, u))0 = 2






 p0 · ÇàìÐåã ((Êîì (a, u))1 , Ðåã (u, (Êîì (a, u))1 )−̇1, u),
åñëè (Êîì (a, u))0 = 3
=



ÇàìÊÐ ((Êîì (a, u))2 , u),




åñëè (Êîì (a, u))0 = 4 ∧ Ðåã (u, (Êîì (a, u))1 ) = 0






ÇàìÊÐ (ÊÐ (u) + 1, u),




åñëè (Êîì (a, u))0 = 4 ∧ Ðåã (u, (Êîì (a, u))1 ) 6= 0






 ÇàìÊÐ ((Êîì (a, u))1 , u), åñëè (Êîì (a, u))0 = 5


 0, â îñòàëüíûõ ñëó÷àÿõ.
Ïðèâåä¼ííàÿ çàïèñü ãàðàíòèðóåò ïðèìèòèâíóþ ðåêóðñèâíîñòü ôóíêöèè Next(u, a). Ëåììà äîêàçàíà.
Åñëè y êîä âû÷èñëåíèÿ, òî, ïðîñìàòðèâàÿ îïðåäåëåíèÿ, ìû âèäèì,
÷òî ðåçóëüòàò âû÷èñëåíèÿ ñîäåðæèìîå ðåãèñòðà R0 îïðåäåëÿåòñÿ ñ
ïîìîùüþ ïðèìèòèâíî ðåêóðñèâíîé ôóíêöèè
U (y) = (((y)`h (y)−̇1 )1 )0 .
13
Òàêèì îáðàçîì, ìû ïîëó÷àåì, ÷òî åñëè f (x1 , . . . , xn ) âû÷èñëÿåòñÿ íà
ÌÌ, òî ó ýòîé ÌÌ åñòü íîìåð, ñêàæåì, m, è ïîýòîìó
f (x1 , . . . , xn ) ' U (µyT (m, hx1 , . . . , xn i, y)).
Îòñþäà ñëåäóåò, ÷òî âñÿêàÿ âû÷èñëèìàÿ íà ÌÌ ôóíêöèÿ ÿâëÿåòñÿ ÷.ð.ô.
Òåîðåìà äîêàçàíà.
Òàêèì îáðàçîì, êëàññû ÷.ð.ô. è ôóíêöèé, âû÷èñëèìûõ íà ÌÌ, ñîâïàäàþò.
Ïðîñìàòðèâàÿ äîêàçàòåëüñòâî òåîðåìû, ñ ó÷¼òîì ýòîãî ìû ïîëó÷àåì
ñëåäóþùóþ òåîðåìó:
Òåîðåìà 1.0.9 (Òåîðåìà Êëèíè î íîðìàëüíîé ôîðìå) Ñóùåñòâóþò
ïðèìèòèâíî ðåêóðñèâíàÿ ôóíêöèÿ U (y) è ïðèìèòèâíî ðåêóðñèâíîå îòíîøåíèå T (m, x, y) òàêèå, ÷òî äëÿ ëþáîãî n ∈ N è ëþáîé ÷.ð.ô. f (x1 , . . . , xn )
íàéä¼òñÿ m ∈ N òàêîå, ÷òî
f (x1 , . . . , xn ) ' U (µyT (m, hx1 , . . . , xn i, y)).
(1.1)
Òåîðåìà 1.0.10 (Òåîðåìà îá óíèâåðñàëüíîé ôóíêöèè) Äëÿ ëþáî-
ãî n ∈ N ñóùåñòâóåò n + 1ìåñòíàÿ ÷.ð.ô. ψ(m, x1 , . . . , xn ) òàêàÿ, ÷òî
äëÿ ëþáîé ÷.ð.ô. f (x1 , . . . , xn ) íàéä¼òñÿ m ∈ N òàêîå, ÷òî
f (x1 , . . . , xn ) ' ψ(m, x1 , . . . , xn ).
Äîêàçàòåëüñòâî.  êà÷åñòâå ψ(m, x1 , . . . , xn ) ãîäèòñÿ, íàïðèìåð, ôóíêöèÿ U (µyT (m, hx1 , . . . , xn i, y)).
Òàêèì îáðàçîì, âñå ÷.ð.ô. ñ ôèêñèðîâàííûì ÷èñëîì àðãóìåíòîâ ìîæíî ¾ñîáðàòü¿ â îäíó åäèíñòâåííóþ ôóíêöèþ ñ ÷èñëîì àðãóìåíòîâ íà 1
áîëüøå è ïîëó÷àòü èç îäíîé ýòîé ôóíêöèè âñå ôóíêöèè, ïðîñòî ôèêñèðóÿ ïåðâûé àðãóìåíò. Ïðè ýòîì åñòåñòâåííî äåðæàòü â óìå àíàëîãèþ,
ñîãëàñíî êîòîðîé ýòà ôóíêöèÿ ÿâëÿåòñÿ óíèâåðñàëüíûì âû÷èñëèòåëüíûì óñòðîéñòâîì, â ïåðâûé àðãóìåíò ïðîãðàììîé; èçìåíÿÿ ïðîãðàììó, ìîæíî âû÷èñëÿòü ëþáóþ ôóíêöèþ.
Åñëè m íîìåð ïðîãðàììû P , òî ïîëîæèì
{m}(x1 , . . . , xn ) ' AnP (x1 , . . . , xn ),
14
Ãëàâà 1.
Ìèíèìàøèíû
åñëè æå m íå ÿâëÿåòñÿ íîìåðîì íèêàêîé ïðîãðàììû, òî {m}(x1 , . . . , xn )
ñ÷èòàåì íåîïðåäåë¼ííûì.  ëþáîì ñëó÷àå, ïî äàííîìó m ìîæíî âû÷èñëèòü çíà÷åíèå {m}(x1 , . . . , xn ) ñëåäóþùèì îáðàçîì: ïåðåáèðàåì ïî ïîðÿäêó íàòóðàëüíûå ÷èñëà y = 0, 1, . . . äî òåõ ïîð, ïîêà íå âûïîëíèòñÿ
T (m, hx1 , . . . , xn i, y), è ïîñëå ýòîãî íàõîäèì ðåçóëüòàò â âèäå U (y). Åñëè
m íå êîä êàêîéëèáî ÌÌ, òî ýòî òîæå âûïîëíåíî: â ýòîì ñëó÷àå îáà
çíà÷åíèÿ {m}(x1 , . . . , xn ) è T (m, hx1 , . . . , xn i, y) íå îïðåäåëåíû. Çíà÷èò,
èìååò ìåñòî ðàâåíñòâî
{m}(x1 , . . . , xn ) ' U (µyT (m, hx1 , . . . , xn i, y)) .
Íàðÿäó ñ ïðèâåä¼ííûìè âûøå òåîðåìàìè, ñëåäóþùàÿ òåîðåìà òàêæå
ÿâëÿåòñÿ îäíèì èç âàæíåéøèõ ðåçóëüòàòîâ î âû÷èñëèìîñòè.
Òåîðåìà 1.0.11 (Òåîðåìà î ïàðàìåòðèçàöèè (smnòåîðåìà)) Äëÿ
ëþáîé âû÷èñëèìîé ôóíêöèè F (y1 , . . . , ym , x1 , . . . , xn ) ñóùåñòâóåò ðàçíîçíà÷íàÿ ïðèìèòèâíî ðåêóðñèâíàÿ ôóíêöèÿ s(y1 , . . . , ym ) òàêàÿ, ÷òî äëÿ ëþáûõ y1 , . . . , ym âûïîëíåíî {s(y1 , . . . , ym )}(x1 , . . . , xn ) ' F (y1 , . . . , ym , x1 , . . . , xn ).
Äîêàçàòåëüñòâî. Ôóíêöèÿ
F 0 (x1 , . . . , xn , y1 , . . . , ym ) ' F (y1 , . . . , ym , x1 , . . . , xn )
òàêæå âû÷èñëèìà, è îíà âû÷èñëÿåòñÿ íà ÌÌ íåêîòîðîé ïðîãðàììîé P .
Çàôèêñèðîâàâ ïðîèçâîëüíûå y1 , . . . , ym , ìîæíî ïîñòðîèòü ïðîãðàììó äëÿ
âû÷èñëåíèÿ ôóíêöèè F 0 (x1 , . . . , xn , y1 , . . . , ym ) îò îñòàâøèõñÿ ïåðåìåííûõ
x1 , . . . , xn ñëåäóþùèì îáðàçîì: ñíà÷àëà èäóò îïåðàòîðû
0:
1:
Rn+1 :=y1
Rn+2 :=y2
...
m-1:Rn+m := ym ,
ïîñëå ýòîãî çàïèøåì ïîñëåäîâàòåëüíîñòü êîìàíä P 0 , êîòîðàÿ ïîëó÷àåòñÿ èç ïîñëåäîâàòåëüíîñòè êîìàíä ïðîãðàììû P çàìåíîé âñåõ êîìàíä
if ... goto k íà êîìàíäû if ... goto k+m è êîìàíä goto k íà êîìàíäû goto k+m è â ïîëó÷èâøåìñÿ ñïèñêå êîìàíä ðàññòàâèì íîìåðà ïî ïîðÿäêó, íà÷èíàÿ ñ 0. Íåòðóäíî óáåäèòüñÿ, ÷òî ïðè ëþáûõ y1 , . . . , ym , ïîëó÷åííàÿ òàêèì ñïîñîáîì ïðîãðàììà âû÷èñëèò íàì çíà÷åíèå F 0 (x1 , . . . , xn , y1 , . . . , ym ).
15
Ïóñòü P 0 ïîñëåäîâàòåëüíîñòü êîìàíä c0 , . . . , cl (áåç íîìåðîâ ñëåâà). Òîãäà ñ ó÷¼òîì îïðåäåëåíèÿ êîäîâ ïîñëåäîâàòåëüíîñòåé, ìû ïîëó÷àåì, ÷òî
êîä ïîëó÷èâøåéñÿ â ðåçóëüòàòå ïðîãðàììû áóäåò ðàâåí
γ(c )+1
0 )+1
·. . .·pm+ll
hh0, 2(n + 1), y1 i , h0, 2(n + 2), y2 i , . . . , h0, 2(n + m), ym ii·pγ(c
m
Ïîñëåäíåå âûðàæåíèå äà¼ò íàì ï.ð. ô. s(y1 , . . . , ym ) ñî ñâîéñòâîì
F (x̄, ȳ) ' F 0 (ȳ, x̄) ' {s(ȳ)}(x̄).
Ôóíêöèÿ s ðàçíîçíà÷íà, ò.ê. ïî çíà÷åíèþ s(y1 , . . . , ym ) ìîæíî ëåãêî âîññòàíîâèòü èñõîäíûå àðãóìåíòû y1 , . . . , ym , íàïðèìåð, y1 = ((s(y1 , . . . , ym ))0 )2 ,
y2 = ((s(y1 , . . . , ym ))1 )2 , y3 = ((s(y1 , . . . , ym ))2 )2 , . . . Îòñþäà ñëåäóåò, ÷òî s
îáëàäàåò òðåáóåìûìè ñâîéñòâàìè. 
Download