Page 73 - 6571
        P. 73
     {C Ù    pre ( )} { }a  a C .                           (1)
                  Таким чином, критичне твердження  C  є інваріантним щодо
            дії присвоєння a.
                  Як приклад розглянемо останню з наведених вище програм.
            Передумова першого процесу є критичним твердженням. На ньо-
            го не впливає оператор присвоєння в другому процесі, оскільки
            істинна наступна трійка:
                  {(x == 0 Úx == 2) Ù (x == 0 Úx == 1)}
                  x = x+2;
                  {x == 0 Úx == 2}
                  Перший предикат спрощується до x == 0, тому після дода-
            вання 2 до змінної x значення змінної x буде або 0, або 2. Дана
            трійка висловлює наступний факт: якщо другий процес викону-
            ється перед першим, то на початку виконання першого процесу
            змінна x буде мати значення 2. У даній програмі є ще три крити-
            чних твердження: постумова першого процесу та перед- і посту-
            мова  другого  процесу.  Усі  інші  докази  взаємного  невтручання
            аналогічні наведеному.
                  Запитання для самоперевірки
                  1. Що розуміють під терміном «логіка програмування»?
                  2. Із яких правил складається будь-яка формальна логічна си-
            стема?
                  3. Коли логіка програмування є несуперечливою щодо інтер-
            претації?
                  4. Коли логіка програмування є повною щодо інтерпретації?
                  5. Як називаються формули у логіці програмування?
                  6. З чого складається «трійка» у логіці програмування?
                  7. Які чотири найбільш важливих правила виведення у логіці
            програмування Ви знаєте?
                  8. Що таке інваріант циклу у паралельній програмі?
                  9. У якому випадку говорять, що один процес втручається в
            (впливає на) інший?
                  10. В чому полягає принцип взаємного невтручання?
                                                        72





