29. fejezet - Matematikai eszközök

Tartalom

29.1.Temporális logika
29.1.1.Elágazó idejű temporális logika
29.1.2.Lineáris temporális logika alapműveletei
29.2. Leképezések fixpontja
29.2.1.Parciális rendezés, irányított halmaz
29.2.2.Teljes hálók
29.2.3.Monoton leképezések tulajdonságai, fixpontok

29.1.Temporális logika

A temporális logikák a klasszikus logika [[???Pász 93]] lehetséges kiterjesztései. A temporális logikai nyelvek szemantikájának definiálásakor szükségünk lesz az időpontok halmazáraAz időpont fogalmát absztrakt értelemben használjuk. Nem foglalkozunk az időpontok halmaza felett metrika definiálásával. Az ismertett modell egyelőre nem terjed ki a programok valós idejű végrehejtásának leírására [[???Mel 87]].. Az egyes formulákat egy olyan modell felett értelmezzük amelyben a formulák igazságértéke általában időpontról időpontra változó A temporális logikák a modális logikák körébe tartoznak [[???Rácz 92]]. A klasszikus logikai formula igazságértéke a modális logikák formalizmusa szerint, a logika típusa alapján nemcsak az individumváltozóktól, hanem valamilyen más paramétertől, pl.: helytől, időtől, stb. is függ. Defniálhatnánk pl. olyan modális logikát is, amelyben a paraméter időpillanat helyett időintervallum [[???Mel 87]]. Egy ilyen logika alkalmas lehet valós egyidejűség leírására. A modális paramétertér felett egy elérési reláció definiált. A különböző paraméterértékekhez tartozó univerzumokban egyszerre értelmezzük ugyanazon formulák igazságértékét. A formula igazságértéke egy adott paraméterérték által meghatározott univerzumban általában függ ugyanazon vagy más formulák az elérési reláció felhasználásával meghatározott univerzumokban felvett értékeitől. Az ilyen jellegű összefüggések leírására vezetik be a modális operátorokat, amelyek segítségével a modális paraméter ill. az elérési reláció explicit használata elkerülhető. A modális operátorokat tekinthetjük az egzisztenciális és az univerzális kvantor általánosításának. Az általánosított kvantor jelentése az elérési reláció tulajdonságaitól függ..

A nyelv szemantikájának definiálásakor megadjuk, hogy adott időpontban mely atomi formulák teljesülnek. Az időpontok halmaza felett egy, adott tulajdonságokkal rendelkező relációRelációnak nevezzük halmazok direktszorzatának egy részhalmazát. Bináris relációról beszélünk, ha a reláció pontosan két halmaz direktszorzatának része. definiált [[???Ben 88]]. Időstruktúráról beszélünk, ha az időpillanatok halmaza felett definiált reláció tulajdonságai megfelelnek az időről alkotott alapvető elképzeléseinknek, azaz a relációazaz a modális logika elérési relációja irreflexív és tranzitív. A reláció további tulajdonságai határozzák meg az időstruktúra temporális logikai típusát. Megkülönböztethetünk pl. lineáris ( ), majdnem összefüggő ( ), ill. elágazó idejű modellt, ahol a jövőbe vezető utak diszjunktak. Vannak véges ill. végtelen ( ), diszkrét ( , ill. sűrű struktúrák. Megkövetelhető az idő homogenitása, azaz bármely időpontpárhoz található olyan relációtartó automorfizmus, amely -et -ba viszi. Izotróp egy struktúra, ha izomorf azzal, amelyben a rendezési reláció fordított, azaz amelyben -nek felel meg.

A nyelv szintaxisa szempontjából ugyanúgy, ahogyan a klasszikus logikában, a temporális logika esetén is megkülönböztetjük a 0-ad és magasabbrendű logikai nyelveket. 0-ad rendű esetben a klasszikus logika 0-ad rendű formuláiból és a temporális operátorokból építjük fel a nyelvet. A temporális operátorok használatára vonatkozó szintaktikus szabályok határozzák meg a nyelv temporális logikai típusát. Ennek megfelelően választható ki a nyelvet interpretáló időstruktúra. Az időpillanatok halmaza megadható, mint egy program programállapotainak halmaza.Az elágazó idejű temporális logika formuláinak interpretációjához használt szokásos modellek [[???Eme Sri 88]] és az általunk definiált program ( def.) könnyen megfeleltethető egymásnak. Endogenous az a logika, amelynek időstruktúráját egyetlen program állapotai alapján definiálják, ill. exogenous a logika, ha programkonstrukciók is megengedettek.

Azt mondjuk, hogy egy temporális logikai formulának modellje egy időstruktúra, ha a struktúrában van olyan időpont, amelyben a formula teljesülHa megadjuk, hogy a feladat (. def.) átemenet- és peremfeltételeinek megfelelő temporális logikai formulákat hogyan írjuk fel, akkor a megoldás definícióját visszavezethetjük arra, hogy formulák egy halmazának matematikai logikai értelemben modellje-e a programnak megfelelő temporális logikai struktúra. Haladási feltételek lineáris temporális logikai megfogalmazására mutat példát [[???Lam 91]] a 22.2.3. bekezdésben.. Egy adott probléma megoldása a temporális logika terminológiája szerint a feladatot leíró formulahalmaz egy modelljének megtalálása lehet. Az automatikus programszintézishez modellkereső algoritmusokra van szükség. A szakirodalomban ismertetett eredmények [[???Eme Sri 88]] azt mutatják, hogy ezek az algoritmusok általában nagyon rossz hatékonyságúak, a megoldás előállításához a specifikáció hosszával exponenciálisan arányos időre van szükség. Az előállított megoldás minősége szempontjából az sem közömbös, hogy a formulahalmazt kielégítő modellek melyikét találja meg az algoritmus.

A továbbiakban egy rögzített interpretációban értelmezzük a 0-ad rendű elágazó idejű temporális logika operátorait.Egy rögzített program programállapotai által definiált időstruktúra esetén egy formula az állapottér felett értelmezett logikai függvényt definiál (. fejezet). Az alábbi temporális logikai műveletek segítségével tehát rögzített absztrakt program esetén logikai függvényekből új logikai függvényeket konstruálhatunk.

Az egyes temporális logikák között a leglényegesebb különbség a kifejezőerőben van. Általában minél nagyobb a logika kifejezőereje, annál bonyolultabb a logika eldöntési problémája. A bizonyításelmélet eldöntési problémájának nevezik azt a feladatot, amely úgy szól, hogy egy adott, tetszőleges formula bizonyítható-e. Az eldöntésprobléma megoldását jelenti az automatikus tételbizonyítás algoritmusának megadása. A modellelmélet eldöntésproblémája az a feladat, amely úgy szól, hogy egy adott, tetszőleges formula érvényes-e [[???Pász 93]].

29.1.1.Elágazó idejű temporális logika

Az elágazó idejű temporális logikában az időpillanatok halmaza felett olyan parciális rendezés (. def.) definiált, amely az időpillanatokat összefüggő fába rendezi. Az időstruktúra több lehetséges jövőt ír le.

Az elágazó idejű temporális logikák egyike a CTL (Computation Tree Logic). Az alábbiakban követjük [[???Eme Sri 88]] leírásmódját és a CTL-en keresztül mutatjuk be az elágazó idejű temporális logikákat. Megadjuk a CTL egy változata, a CTL szintaxis és szemantika formális definícióját (., . def.).

Programok elágazó idejű temporális logikai jellemzése során a programot irányított fának feleltetik meg, azaz a leíró szemantikai tartomány elemei fák. A fa csúcsai állapotok, az éleket pedig az állapotátmenetet megvalósító programkomponens azonosítójával címkézik. Az irányított fa csúcsaira ill. útjaira állításokat fogalmaznak meg [[???Eme Sri 88]].

Tekintsük példaként a következő CTL formulát: . Az alakú formula egy állapotra vonatkozik, ún. állapotformula. A formula egy útra vonatkozó kikötés. ún. útformula.

Röviden ismertetjük az , , , , formulák jelentését:

  • , ha minden -ból induló útra

  • , ha van olyan -ból induló út, hogy

  • , ha a út minden pontjára

  • , ha a úton van olyan pont, amelyre

  • , ha a út után következő pontjára

Az , , , , stb. operátorok a szintaktikus szabályok (. def.) betartásával egymásbaágyazhatóak.

  • - elkerülhetetlen,

  • - majdnem mindenütt , jelölésben:

  • - végtelenül gyakran , jelölésben:

  • - lehetséges

  • - legközelebb

  • - elvezet -hoz

Az alábbi definíció használja a 0-ad rendű klasszikus logika formalizált nyelvének atomi formula fogalmátHa egy n-változós predikátumszimbólum és termek, akkor atomi formula. Az változószimbólum term. Ha -változós függvényszimbólum és termek, akkor term. Minden term e két szabály véges számú alkalmazásával áll elő [[???Pász 93]].. Jelölje az atomi formulák halmazát.

29.1. Definíció.

A CTL szintaxisának szabályai: S1. Minden atomi formula állapotformula. S2. Ha és állapotformula, akkor és is állapotformula. S3. Ha útformula, akkor állapotformula. P1. Bármely állapotformula egyben útformula is. P2. Ha és útformula, akkor és is útformula. P3. Ha és útformula, akkor és is útformula.

29.1. Megjegyzés.

Az alábbi formulák rövidítések:

29.2. Definíció.

Az S1,S2,S3,P1,P2,P3 szabályok véges sokszori alkalmazásával generált formulák alkotják a CTL nyelvet.

A CTL szemantikáját az rendezett hármas által definiált időstruktúra felett adjuk meg, ahol az állapotok halmaza, bináris reláció az állapotok felett: , , pedig egy címkézés, amely az állapotokhoz atomi formulákat rendel, .

29.3. Definíció.

Az reláció értelmezési tartománya:

29.4. Definíció.

az reláció végtelen pontlánca, ha

29.5. Definíció.

Legyen . az reláció véges pontlánca, ha

Teljes útnak nevezzük és -szel jelöljük az egy végtelen pontláncát. Az időpillanatok halmazát az által generált teljes utakon elhelyezkedő pontok, programállapotok alkotják. A címkézés megadja, hogy mely időpillanatban mely atomi formulák igazak. Az időpontok felett értelmezett relációt az definiálja.

Jelölés: , , ha az struktúra állapotára ill. teljes útjára teljesül . Ha a struktúra rögzített, akkor elhagyható a jelölésből. Ha -t ill. -et elhagyjuk, akkor bármely állapotra ill. útra teljesül . az teljes út suffix-ét jelöli, .

29.6. Definíció.

A CTL szemantikájának szabályai: S1. , ha . S2. , ha és . , ha nem teljesül . S3. , ha van olyan teljes út, hogy és . P1. , ha és állapotformula. P2. , ha és . , ha nem teljesül . P3. , ha . , ha és .

29.7. Definíció.

A állapotformuláról azt mondjuk, hogy érvényes, ha . kielégíthető, ha . Ha , akkor modellje -nek. A útformuláról azt mondjuk, hogy érvényes, ha .

Ha a 0-ad rendű klasszikus logika tautológiáiba állapotformulákat helyettesítünk, akkor érvényes formulákhoz jutunk. Érvényesek az alábbi összefüggések is:

További érvényes formulákra mutat példákat [[???Eme Sri 88]].

Bevezetjük az egyszerű útkifejezések fogalmát. Egészítsük ki a . definíció szabályhalmazát az alábbi szabállyal: „P0. bármely atomi formula útformula.” Ekkor a P0,P2 szabályok véges sokszori alkalmazásával kapjuk az egyszerű 0-ad rendű formulákat.

29.8. Definíció.

A P0,P2,P3 szabályok véges sokszori alkalmazásával kapjuk az egyszerű útkifejezéseket.

29.9. Definíció.

Megszorított útkifejezés egy egyszerű útkifejezés, ha minden temporális operátor argumentuma egyszerű 0-ad rendű formula és minden 0-ad rendű formula egy temporális operátor hatáskörében van.

29.1. Példa.

megszorított útkifejezésre:

Különböző pártatlan ütemezési feltételeket (. fejezet) definiálhatunk a bevezetett operátorok, az és az atomi formulák segítségével. akkor igaz, ha az adott állapotot közvetlenül megelőzően a . programkomponens került végrehajtásra. Az pedig akkor, ha a megelőző állapotban a . programkomponens őrfeltétele igaz volt, vagy másképp: a . programkomponens végrehajtásra kész volt.

29.10. Definíció.

Azt mondjuk, hogy az ütemezés

  • feltétlenül pártatlan, ha

  • gyengén pártatlan, ha

  • szigorúan pártatlan, ha

29.2. Megjegyzés.

Az feltétel ún. atomi élfeltétel. Az élfeltételek szemantikájának megadásához bevezetjük az ún. multiprocessz struktúrákat . az állapotok halmaza, , , az atomi formulák halmaza, , ahol az hatványhalmaza, pedig az atomi élfeltételek véges nem üres halmaza. Kikötjük, hogy . Jelöljük -vel -t. Ha azt jelenti, hogy az adott állapotátmenetért a . folyamat felelős, akkor ezen folyamatot jellemzi (v.ö. . def.). Kiegészítjük a . szemantikus szabályokat a P0 , ha szabállyal, ahol egy atomi élfeltétel.

Ha csak a feltétlenül pártatlan ütemezésnek megfelelő végrehajtási utakra akarunk kikötéseket tenni, akkor a Fair Computation Tree Logic műveleteit kell alkalmazni. A formula akkor teljesül egy végrehajtási útra, ha minden folyamatra igaz, hogy a végrehajtását azonosító atomi élfeltétel az út mentén végtelen sokszor szerepel.

29.11. Definíció.

  • ,

  • ,

29.3. Megjegyzés.

Ha a struktúra csak a feltétlen pártatlan ütemezésnek megfelelő utakat tartalmazza, akkor nincs szükség az műveletek bevezetésére. Ebben az esetben azonban a . alakú szemantikamegadás nem lehetséges, ún. általánosított szemantikadefinícióra van szükség [[???Eme Sri 88]]. Általánosított szemantikát egy M=(A,X,L) struktúra felett adhatunk meg, ahol X az utak halmaza. A . alakú szemantikamegadás akkor lehetséges, ha az utak halmaza előállítható mint egy reláció véges és végtelen pontláncainak halmaza, azaz az utak halmaza -generálható. -gal jelöljük az elemeiből képzett véges vagy végtelen sorozatok halmazát. Az utak halmaza pontosan akkor -generálható, ha suffix zárt ( ) és fúzió zárt ( állapotok véges, állapotok végtelen sorozatát jelöli.) és limit zárt ( ). Könnyen belátható, hogy a feltétlenül pártatlan ütemezésnek megfelelő utak gráfja nem generálható egy relációval, azaz nem -generálható, mert nem zárt utak egyesítésére.

Az elágazó idejű temporális logika operátorait az alábbi módon szokták még jelölni:

  • .

  • .

  • . Megj.: megfelel -nek, tehát lehetőséget fejez ki.

  • . A tehát nem lehetőséget fejez ki ( ), hanem bizonyosságot! Nem ekvivalens -tal [[???Eme Sri 88]].

29.1.2.Lineáris temporális logika alapműveletei

Lineáris temporális logika esetén az időstruktúrát egy program által generált sorozatok halmazának tekinthetjük. A sorozatok a lehetséges végrehajtási utak. A program éppen aktuális végrehajtásának megfelelő sorozatra, -re tehetünk kikötéseket.

  • [[???Krö 87]].

  • [[???Krö 87]].

  • [[???Krö 87]]. (not never)

  • . (sometimes, eventually). Megj.: [[???Eme Sri 88]].

  • (weak until) [[???Krö 87]].

Ha egy program működését akarjuk specifikálni, akkor úgy tekintjük, hogy minden egyes lineáris temporális logikai feltétel elé implicit módon odaírtuk azt is, hogy a feltétel minden a kezdőállapotból kiinduló (lehetséges) végrehajtási sorozatra teljesüljön. A lineáris temporális logikai formulával felírt specifikációt tehát alakra fogalmazhatjuk át elágazó temporális logikában, de az operátor nem disztributív [[???Eme Sri 88]]: ( )! „Sometime” is Sometimes „Not Never” (Lamport).

Hasonló a helyzet a processzalgebrából ismert (időben elágazó szemantikát kifejező) összefüggés temporális logikai megfelelője esetén: [[???Ben 88]].