Флойд әдісі бойынша программаның дұрыстығын дәлелдеу

  1. Флойд әдісі бойынша программаның дұрыстығын дәлелдеу дегенміз соңғышарттың ақиқаттығы алғышарт ақиқаттылығынан және барлық аралықшарттар ақиқаттылығынан шығатындығын дәлелдеу.

Сонымен талданатын Р программасы р12,…,ри программалық бірліктерінен тұрғызылған болсын, яғни, әрбір программалық бірлік р1(t=1,n) меншіктеу операторы, тармақталу операторы, тармақталу операторы, қайталану операторы немесе, топталу операторы болады. Р программасының верификациялау шарты cν (Р,ірр) арқылы белгіленсін, яғни,

cν (Р,ірр)→(ір(Х,)∩rр1(х,у)|р2 )&( rр1(х,у) ∩ rр2(х,у)р2) &…&( rрn-1(х,у) ∩ор(X,y)

  1. Берілген программаның дербес дұрыстығын дәлелдеу, осы программадағы барлық жолдарға арнап құрылған(1), (2) және (3)верификациялаушарттарының ақиқаттығын орнатуға келіп тіреледі.

(1)- формуладан арифметикалық амалдардф орындап біткен соңмынадай x1 ³ & x2 > o É x1=x1& x1³ o логикалық өрнек шығады,мұндағыx1=x1— 2h әр қашанда ақиқат(тавтология), сондықтаноны қысқартыптастапөрнектенмынадай X1³O&x2>OÉx1³ Oформула алуға болады.

(2)- формуладан арифметикалық амалдардыорындап біткен соңжәнеAÉ(BÉС) және A&BÉС түріндегіформулалардыңлогикалық теңмәнділігін,сондай-ақ,конъюнкцияның коммутативтілігінескереотырып, A&BÉA түріндегі аксиоманы (мәні әрқашан ақиқат формуланы) алуға болады, яғни,

x1=y1* x2+y2& y2³x2 &y2³ O Éx1=y1 * x2+y2³x2

AB A

(3)- формуланытүрлендіре отырып DÉ Dтүріндегі аксиоманыалуға болады, мұнда D арқылы мына х1=y1 *x2+y2 & y2& x2> y2 әрнегі белгіленеді.

Енді алынған (1), (2) және (3) верификациялаушарттарыныңақиқаттығынтексеру үшін мән орнату функциясы VAL-ңкөмегімен х1  және х2енгізу айнымалылары үшін нақты тестілікдеректералайық, мысалы, VAL (х1, х2) = (7,3) болсын.Сонда верификациялау шарттарыбойынша айнымалылар үшін келесі мәндерді аламыз:

7³О& 3>ОÉ 7=О*7+7 & 7³О;(1)

7=1*3+4 & 4³O É(43 Й 7=(1+1)* 3+4-3 & 4³3; (2)

7=2*3+1& 1³ O É (3>1É7=2*3+1& 3>1) (3)

(1’’). (2’’)және (3’’)өрнектердіңақиқаттығы көрініп тұр, яғни, P программасын верификациялау шарты сv (Р, і, о )ақиқат болады, ол жоғарыдағы теорема V. 1 бойынша ір {p}op-ңақиқаттығын көрсетеді. Ендеше, біз қарастырған бүтін санды бүтін санға бөлуді орындайтын З программасыдербесдұрыс.