Preskočiť na obsah

Hoareova logika

z Wikipédie, slobodnej encyklopédie

Hoareova logika alebo Floydova-Hoareova logika je formálny systém logických pravidiel používaný pri verifikácii počítačových programov. Po prvýkrát s ním prišiel britský informatik a logik Charles Antony Richard Hoare v roku 1969, neskôr prešiel niekoľkými úpravami. Pôvodná myšlienka však siaha do prác Roberta Floyda, ktorý vyvinul podobný formálny systém pre vývojové diagramy.

Hoareova trojica

[upraviť | upraviť zdroj]

Základným konceptom Hoareovej logiky sú tzv. Hoarove trojice, ktoré popisujú zmenu výpočtového stavu po vykonaní daného príkazu, prípadne programu. Hoarova trojica má tvar

kde S je príkaz, P je tzv. vstupná podmienka a Q je výstupná podmienka. Uvedená Hoareova trojica znamená, že ak pred vykonaním príkazu S platila vstupná podmienka (istá logická formula) P, tak po vykonaní príkazu S bude platiť výstupná podmienka Q.

Formálny systém Hoareovej logiky pozostáva z dvoch axióm:

Axióma prázdneho príkazu

[upraviť | upraviť zdroj]

Axiomatická schéma priradenia

[upraviť | upraviť zdroj]

Inferenčné pravidlá

[upraviť | upraviť zdroj]

Formálny systém Hoareovej logiky pozostáva z nasledujúcich inferenčných pravidiel:

Kompozičné pravidlo

[upraviť | upraviť zdroj]

Alternatívne pravidlo

[upraviť | upraviť zdroj]

Iteratívne pravidlo

[upraviť | upraviť zdroj]

Pravidlo následku

[upraviť | upraviť zdroj]

Tento článok je čiastočný alebo úplný preklad článku Hoare logic na anglickej Wikipédii.