Platon Technologies
not logged in Login Registration
EnglishSlovak
open source software development celebrating 10 years of open source development! Saturday, October 17, 2026

Diff for doc/ztp-zbierka/04-semantika-programov.tex between version 1.4 and 1.5

version 1.4, 2007/06/03 11:33:05 version 1.5, 2007/07/11 00:44:51
Line 10 
Line 10 
 % 26/02/2003 - created  % 26/02/2003 - created
 %  %
   
 % $Platon: doc/ztp-zbierka/04-semantika-programov.tex,v 1.3 2005-11-23 19:33:59 nepto Exp $  % $Platon: doc/ztp-zbierka/04-semantika-programov.tex,v 1.4 2007-06-03 11:33:05 nepto Exp $
   
 \chapter{Sémantika programov}  \chapter{Sémantika programov}
   
Line 212  Konštrukcia riešenia je nasledovná:
Line 212  Konštrukcia riešenia je nasledovná:
                                         platí $\phi_1 = \phi_2$.                                          platí $\phi_1 = \phi_2$.
                                 \item                                  \item
                                         Pri zjednodušovaní používame špeciálne pravidlo,                                          Pri zjednodušovaní používame špeciálne pravidlo,
                                         pomockou ktorého sa dostaneme bližšie k rieŠeniu.                                          pomockou ktorého sa dostaneme bližšie k riešeniu.
   
                                         Musíme používať korektné pravidlo, ktorým máme                                          Musíme používať korektné pravidlo, ktorým máme
                                         garanatované, že nech ho použijeme ako chceme, vždy                                          garanatované, že nech ho použijeme ako chceme, vždy
Line 254  Nájdite jeho pevný bod.
Line 254  Nájdite jeho pevný bod.
         Nájdime jeho pevný bod. Keďže je funkcionál spojitý, môžeme použiť          Nájdime jeho pevný bod. Keďže je funkcionál spojitý, môžeme použiť
         Kleeneho vetu:          Kleeneho vetu:
   
         $$  $$
 \begin{array}{rcl}  \begin{array}{rcl}
 \tau^0[\Omega]  & \equiv        & \Omega\\  \tau^0[\Omega]  & \equiv        & \Omega\\
   \\
 \tau^1[\Omega]  & \equiv        & \cmd{if}~ x = 0 ~\cmd{then}~ 0  \tau^1[\Omega]  & \equiv        & \cmd{if}~ x = 0 ~\cmd{then}~ 0
                                                                 ~\cmd{else}~ x + \tau^0[\Omega](x - 1) ~\cmd{fi}~ \equiv\\                                                                  ~\cmd{else}~ x + \tau^0[\Omega](x - 1) ~\cmd{fi}~ \equiv\\
                                 & \equiv        & \cmd{if}~ x = 0 ~\cmd{then}~ 0                                  & \equiv        & \cmd{if}~ x = 0 ~\cmd{then}~ 0 ~\cmd{else} \perp \cmd{fi}\\
                                                                 ~\cmd{else}~ \perp\\  \\
 \tau^2[\Omega]  & \equiv        & \cmd{if}~ x = 0 ~\cmd{then}~ 0  \tau^2[\Omega]  & \equiv        & \cmd{if}~ x = 0 ~\cmd{then}~ 0
                                                                 ~\cmd{else}~ x + \tau^1[\Omega](x - 1) ~\cmd{fi}~ \equiv\\                                                                  ~\cmd{else}~ x + \tau^1[\Omega](x - 1) ~\cmd{fi}~ \equiv\\
                                 & \equiv        & \cmd{if}~ x = 0 ~\cmd{then}~ 0                                  & \equiv        & \cmd{if}~ x = 0 ~\cmd{then}~ 0
                                                                 ~\cmd{else}~ x + \cmd{if}~ x - 1 = 0                                                                  ~\cmd{else}~ x + (\cmd{if}~ x - 1 = 0
                                                                 ~\cmd{then}~ 0 ~\cmd{else} \perp \cmd{fi}~\cmd{fi}\\                                                                  ~\cmd{then}~ 0 ~\cmd{else} \perp \cmd{fi}) ~\cmd{fi}\\
   \\
 \tau^3[\Omega]  & \equiv        & \cmd{if}~ x = 0 ~\cmd{then}~ 0  \tau^3[\Omega]  & \equiv        & \cmd{if}~ x = 0 ~\cmd{then}~ 0
                                                                 ~\cmd{else}~ x + \tau^2[\Omega](x - 1) ~\cmd{fi}~ \equiv\\                                                                  ~\cmd{else}~ x + \tau^2[\Omega](x - 1) ~\cmd{fi}~ \equiv\\
                                 & \equiv        & \cmd{if}~ x = 0 ~\cmd{then}~ 0                                  & \equiv        & \cmd{if}~ x = 0 ~\cmd{then}~ 0\\
                                                                 ~\cmd{else}~ x + \cmd{if}~ x - 1 = 0                                  &                       & \cmd{else}~ x + (\cmd{if}~ x - 1 = 0
                                                                 ~\cmd{then}~ 0 ~\cmd{else}                                                                  ~\cmd{then}~ 0 ~\cmd{else}~ x - 1 + (\cmd{if}~ x - 1 = 1 ~\cmd{then}~ 0
                                                                 x - 1 + ~\cmd{if}~ x - 1 = 1 ~\cmd{then}~ 0 ~\cmd{else} \perp                                                                  ~\cmd{else} \perp \cmd{fi}) ~\cmd{fi}) ~\cmd{fi}~ \equiv\\
                                                                 \cmd{fi}~\cmd{fi}~ \equiv\\                                  & \equiv        & \cmd{if}~ x = 0 ~\cmd{then}~ 0\\
                                 & \equiv        & \cmd{if}~ x = 0 ~\cmd{then}~ 0 ~\cmd{else}~ x + \cmd{if}~ x + \cmd{if}                                  &                       & \cmd{else}~ x + (\cmd{if}~ x = 1 ~\cmd{then}~ 0
                                 x - 1 = 0 ~\cmd{then}~ 0 ~\cmd{else}~ x - 1 + \cmd{if}~ x = 2 ~\cmd{then}~ 0                                                                                          ~\cmd{else}~ x - 1 + (\cmd{if}~ x = 2 ~\cmd{then}~ 0
                                 ~\cmd{else} \perp \cmd{fi}~\cmd{fi}~\cmd{fi}\\                                                                                                                  ~\cmd{else} \perp \cmd{fi}) ~\cmd{fi}) ~\cmd{fi}\\
 ... & &  \cdots
 \end{array}  \end{array}
 $$  $$
   
Line 299  $$
Line 301  $$
   
 Na tomto mieste je vhodné sa zamyslieť, čo znamená najmenšia horná hranica. To je taký funkcionál,  Na tomto mieste je vhodné sa zamyslieť, čo znamená najmenšia horná hranica. To je taký funkcionál,
 že všetky ostatné sú od neho menej schopné. Takže $k$-ta aproximácia dokáže sumy prvých $i$ čísiel,  že všetky ostatné sú od neho menej schopné. Takže $k$-ta aproximácia dokáže sumy prvých $i$ čísiel,
 ale nie pre ľubovoľné~$i$. Zato pevný bod to dokáže pre hocijaké $i$. Pevný bod je teda všemohúci  ale nie pre ľubovoľné~$i$. Zato pevný bod to dokáže pre hocijaké $i$. Pevný bod je teda najmenší, čo
 a~zároveň najmenší všemohúci, čo dokáže nájsť našu sumu.  dokáže nájsť našu sumu.
   
   \end{solution} % */
   
   \begin{example} % /*
           Majme nasledovnú jednoduchú fukciu:
   
   $$
   \begin{array}{rcl}
           f_a(0) & = & 1\\
           f_a(x) & = & a \cdot f_a(x - 1)
   \end{array}
   $$
   
           Nájdite pevný bod.
   \end{example} % */
   
   \begin{solution} % /*
   
   Najskôr to prepíšeme na funkcionál:
   
   $$
   \begin{array}{rcl}
           \phi(x) & \equiv & \cmd{if}~ x = 0 ~\cmd{then}~ 1 ~\cmd{else}~ a \cdot \phi(x - 1) ~\cmd{fi}
   \end{array}
   $$
   
   Teraz hľadajme pevný bod:
   
   $$
   \begin{array}{rcl}
   \tau^0[\Omega]  & \equiv        & \Omega\\
   \\
   \tau^1[\Omega]  & \equiv        & \cmd{if}~ x = 0 ~\cmd{then}~ 1\\
   & & \cmd{else} \perp \cmd{fi}\\
   \\
   \tau^2[\Omega]  & \equiv        & \cmd{if}~ x = 0 ~\cmd{then}~ 1\\
   & & \cmd{else}~
           a \cdot (\cmd{if}~ x = 1 ~\cmd{then}~ 1 ~\cmd{else} \perp \cmd{fi}) ~\cmd{fi}\\
   \\
   \tau^3[\Omega]  & \equiv        & \cmd{if}~ x = 0 ~\cmd{then}~ 1\\
   & & \cmd{else}~
           a \cdot (\cmd{if}~ x = 1 ~\cmd{then}~ 1 ~\cmd{else}~
                   a \cdot (\cmd{if}~ x = 2 ~\cmd{then}~ 1 ~\cmd{else} \perp \cmd{fi})
           ~\cmd{fi}) ~\cmd{fi}\\
   \cdots
   \end{array}
   $$
   
   Po rozpísaní štvrtého člena už môžeme vidieť ako to pekne aproximuje pevný bod.
   Ten zapíšeme nasledovne:
   
   $$
   \begin{array}{rcl}
           f_p(x)  & \equiv & \cmd{if}~ x = 0 ~\cmd{then}~ 1 ~\cmd{else}~ a^x ~\cmd{fi}
   \end{array}
   $$
   
 \end{solution} % */  \end{solution} % */
   
 % vim: ts=4  % vim: ts=4 tw=100
 % vim600: fdl=0 fdm=marker fdc=0 fmr=/*,*/  % vim600: fdl=0 fdm=marker fdc=0 fmr=/*,*/
   

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

Platon Group <platon@platon.org> http://platon.org/
Copyright © 2002-2006 Platon Group
Site powered by Metafox CMS
Go to Top