| version 1.7, 2007/04/29 16:14:20 |
version 1.8, 2007/04/29 19:39:13 |
|
|
| % 26/02/2003 - created |
% 26/02/2003 - created |
| % |
% |
| |
|
| % $Platon: doc/ztp-zbierka/02-programove-schemy.tex,v 1.6 2005-11-23 19:33:59 nepto Exp $ |
% $Platon: doc/ztp-zbierka/02-programove-schemy.tex,v 1.7 2007-04-29 16:14:20 nepto Exp $ |
| |
|
| \chapter{Programové schémy} |
\chapter{Programové schémy} |
| |
|
| Line 412 Herbrandovú interpretáciu schémy $S$\HWw |
|
| Line 412 Herbrandovú interpretáciu schémy $S$\HWw |
|
| |
|
| \end{example} % */ |
\end{example} % */ |
| |
|
| % \begin{solution} ~ % /* BAD |
|
| % |
|
| % \underline{$\Longrightarrow:$} Z definície vieme, že schéma $S$ sa zastaví, ak |
|
| % pre každú interpretáciu $I$ sa zastaví program $(S,~I)$. Program $P~=~(S,~I)$ |
|
| % sa zastaví, ak pre každé ohodnotenie $v$ vstupných premenných $\overline x$ je |
|
| % hodnota $val(S,~I,~v)$ definovaná. Ku každej interpretácii $I$ s ohodnotením |
|
| % $v$ existuje zladená Herbrandová interpretácia. Keďže sme predpokladali, že |
|
| % schéma $S$ sa zastaví, tj. všetky výpočty na nej sa zastavia, zastavia sa aj |
|
| % príslušné zladené Herbrandové interpretácie. |
|
| % |
|
| % \underline{$\Longleftarrow:$} Ku každej Herbrandovej interpretácii schémy $S$ |
|
| % existuje interpretácia $I$ a ohodnotenie vstupných premenných $v$, ktoré sú s |
|
| % ňou zladené. Keďže sme predpokladali, že sa zastavania všetky Herbrandové |
|
| % interpretácie, zastavia sa aj všetky ich zladené výpočty. Ak sa zastavia |
|
| % všetky výpočty na schéme $S$, zastavia sa aj všetky programy. Ak sa zastavia |
|
| % všetky programy $(S,~I)$, potom sa aj schéma $S$ zastaví. |
|
| % |
|
| % \end{solution} % */ |
|
| |
|
| \begin{solution} ~ % /* |
\begin{solution} ~ % /* |
| |
|
| \underline{$\Longrightarrow:$} Z definície vieme, že schéma $S$ sa zastaví, ak |
\underline{$\Longrightarrow:$} Z definície vieme, že schéma $S$ sa zastaví, ak |
| Line 543 rozhodnuteľný. Svoje tvrdenie dokážte\HW |
|
| Line 524 rozhodnuteľný. Svoje tvrdenie dokážte\HW |
|
| |
|
| \end{example} % */ |
\end{example} % */ |
| |
|
| % \begin{solution} % /* BAD! |
|
| % |
|
| % Problém nie je ani čiastočne rozhodnuteľný. |
|
| % |
|
| % Dôkaz vykonáme sporom. Ak by bol problém rozhodnuteľný alebo čiastočne |
|
| % rozhodnuteľný, vedeli by sme rozhodnúť alebo čiastnočne rozhodnúť |
|
| % dosiahnuteľnosť príkazu $\cmd{end}$. Problém dosiahnuteľnosti príkazu |
|
| % $\cmd{end}$ je ale totožný s problémom divergencie. Ak je príkaz $\cmd{end}$ |
|
| % dosiahnuteľný, schéma nie je divergentná. Čiže pomocou dosiahnuteľnosti |
|
| % príkazu $\cmd{end}$ by sme vedeli rozhodovať problém divergencie. Problém |
|
| % divergencie však nie je ani čiastočne rozhodnuteľný a tak aj problém |
|
| % dosiahnuteľnosť koncového príkazu $\cmd{end}$ nie je ani čiastočne |
|
| % rozhodnuteľný. |
|
| % |
|
| % Keďže dosiahnuteľnosť koncového príkazu nie je ani čiastočne rozhodnuteľný |
|
| % problém, potom tiež dosiahnuteľnosť ľubovoľného príkazu v štandardnej schéme |
|
| % nie je ani čiastočne rozhodnuteľný problém. |
|
| % |
|
| % \end{solution} % */ |
|
| |
|
| \begin{solution} % /* |
\begin{solution} % /* |
| |
|
| Problém je čiastočne rozhodnuteľný. |
Problém je čiastočne rozhodnuteľný. |