ALAPFOGALMAK 1 Á l l a p o t t é r Legyen I egy véges halmaz és legyenek A i, i I tetszőleges véges vagy megszámlálható, nem üres halmazok Ekkor az A= A i halmazt állapottérnek, az A i halmazokat pedig típusértékhalmazoknak nevezzük A f e l a d a t Az állapottér segítségével megfogalmazzuk, hogy egy adott állapotból ( azaz az állapottér egy eleméből, pontjából) milyen állapotba (azaz az állapottér mely pontjába) akarunk eljutni Feladatnak nevezzük egy relációt A p r o g r a m Programnak nevezzük az relációt, ha 1, 2, 3 A p r o g r a m f ü g g v é n y A reláció az program programfüggvénye, ha 1, 2 M e g o l d á s Azt mondjuk, hogy az S program megoldja az F feladatot, ha 1, 2 a S z i g o r í t á s A A Azt mondjuk, hogy az feladat szigorúbb, mint az feladat, ha 1, 2 Programozás módszertan 1 vizsga
KITERJESZTÉS 2 A f e l a d a t k i t e r j e s z t é s e Legyen a B állapottér altere az A állapottérnek Az relációt az feladat kiterjesztésének nevezzük, ha P r o g r a m k i t e r j e s z t é s e Legyen a B állapottér altere A állapottérnek, és jelölje a B kiegészítő alterét A-ra Legyen továbbá S program a B állapottéren Ekkor az A-beli relációt az S program kiterjesztésének nevezzük, ha K i t e r j e s z t é s i t é t e l e k B ő v í t e t t i d e n t i t á s Legyen B altere A-nak a B kiegészítő altere A-ra, reláció A G bővített identitás felett, ha és és V e t í t é s t a r t á s Legyen B altere A-nak, feladat A G vetítéstartó B felett, ha F é l k i t e r j e s z t é s Legyen B altere A-nak, feladat, Azt mondjuk, hogy a G félkiterjesztés H felett, ha K i t e r j e s z t é s t é t e l e k Legyen B altere A-nak, a a B kiegészítő altere A-ra, S program B-n feladat, illetve S-nek, illetve F-nek kiterjesztése A-ra Legyen továbbá olyan feladat, melyre, pedig olyan program, amely ekvivalens S-sel B-n Ekkor az alábbi állítások teljesülnek: 1 ha megoldása -nek, akkor S megoldása F-nek; 2 ha megoldása -nek, akkor S megoldása F-nek; 3 ha megoldása -nek, akkor S megoldása F-nek; 4 a) ha megoldása -nek, és vetítéstartó B felett, akkor S megoldása F-nek; b) ha megoldása -nek, és félkiterjesztés felett, akkor S megoldása F-nek; 5 ha S megoldása F-nek, akkor megoldása -nek; Programozás módszertan 1 vizsga
KITERJESZTÉS 3 6 ha s megoldása F-nek, és bővített identitás felett és vetítéstartó B felett, akkor megoldása -nek; 7 ha S megoldása F-nek, és félkiterjesztés felett, akkor megoldása -nek A 4 tételből következik az első három, hiszen ekvivalens S-sel B-n, és vetítétartó, illetve, és félkiterjesztés -en 4 tétel bizonyítása: Legyen tetszőleges Ekkor megoldás tehát, így a megoldás első kritériumának teljesülését bebizonyítottuk Tekintsük most a második kritériumot; legyen tetszőlegesen rögzített Ekkor Az a esetben, azaz vetítéstartó, akkor -ra Ekkor tetszőleges esetén, mivel a megoldás definíciója miatt, Tehát a megoldás második feltételek is teljesül A b esetben, azaz ha félkiterjesztés, akkor, azaz, és a megoldás definíciója miatt, tehát és ezzel ebben az esetben is beláttuk, hogy az S program megoldja F feladatot, Programozás módszertan 1 vizsga
MEGOLDÁS 4 M e g o l d á s á t n e v e z é s s e l Legyen, feladat és program Azt mondjuk, hogy S az átnevezéssel megoldása F-nek, ha 1 2 A z á l t a l á n o s í t o t t m e g o l d á s Legyen, feladat és program Ha létezik olyan C és D állapottér, hogy, A altere C-nek, B altere D-nek, és S kiterjesztése D-re átnevezéssel megoldása F C-re való kiterjesztettjének, akkor azt mondjuk, hogy S általános értelemben megoldása F-nek R e l á c i ó s z e r i n t i m e g o l d á s Legyen A és B tetszőleges állapottér,, program és Azt mondjuk, hogy S szerint megoldása F-nek, ha 1, és 2 A kompozíció és a szigorú kompozíció megegyezik, ha legalább az egyik reláció függvény, ezért a megoldás átnevezéssel a reláció szerinti megoldás speciális eseteígy a következő tétel arra is alkalmazható R e l á c i ó s z e r i n t i m e g o l d á s t é t e l e Legyen F tetszőleges feladat, az állapottere A, egy paramétere B, elő és utófeltétele pedig és Legyen program és tetszőleges olyan reláció, melyre Definiáljuk a következő függvényeket:, Ekkor, ha, akkor az S program szerint megoldja az F feladatot A szerinti megoldás definíciója két pontjának teljesülését kell belátnunk 1 Programozás módszertan 1 vizsga
MEGOLDÁS 5 Legyen Ekkor Mivel, és Felhasználva, hogy : és Mivel,, tehát 2 Legyen A bizonyítás első részében leírt lépéseket folytatva: mivel, Programozás módszertan 1 vizsga
SPECIFIKÁCIÓ 6 L e g g y e n g é b b e l ő f e l t é t e l Legyen program, állítás Ekkor az S program utófeltételhez tartozó leggyengébb előfeltétele az az függvény, amelyre: és Definiáltuk a reláció szerinti őskép fogalmát is, ennek felhasználásával azonnal látszik, hogy Felhasználva az igazsághalmaz definícióját és a szigorú kompozíció szerinti őskép tulajdonságát: Mivel függvény, a kompozíció és a szigorú kompozíció megegyezik, tehát következő az állítás: 1 A z t u l a j d o n s á g a i Legyen program, állítások Ekkor 1, (csoda kizárása elv) 2 ha, akkor, (monotonitás tulajdonság) 3, 4 S p e c i f i k á c i ó t é t e l e Legyen feladat, B az F egy paramétere,,, F= Legyen, és definiáljuk a következő állításokat: Ekkor ha, akkor az S program megoldja F feladatot, 1, ugyanis: Legyen tetszőleges Ekkor és relációk definíciója miatt és De ekkor a tétel feltételek alapján: 2, ugyanis: Legyen tetszőlegesen rögzített, olyan, amelyre Ekkor a feltétel szerint: Programozás módszertan 1 vizsga
SPECIFIKÁCIÓ 7 J ó s p e c i f i k á c i ó Ha a feladat specifikációjának felírásakor úgy választjuk meg a paramétertere és az elő-, utófeltételt, hogy rájuk a következő két feltétel teljesüljön: 1, 2 vagy és, akkor a specifikáció tételek meg fordítható Azt kell belátni, hogy ha S megoldása F-nek, akkor: a b Az a következik abból, hogy 1 teljesülése esetén, akkor, és a megoldás miatt a b pedig, abból, hogy ha ugyanis 2 miatt az unió egy tagú, vagy minden tagja egyenlő Az állítás két feltételének megfelelő specifikáció jó specifikáció Létezik minden feladat esetén ilyen? Ha a paramétertér az állapottér, az identikus leképezés és, akkor az állítás mindkét feltétele nyilvánvalóan teljesül V á l t o z ó Az A= állapottér egydimenziós projekciós függvényeit változónak nevezzük Ha a paramétertér is direktszorzat alakú, akkor a paramétertér egydimenziós projekciós függvényeit paraméterváltozóknak nevezzük Programozás módszertan 1 vizsga
SZEKVENCIA 8 S z e k v e n c i a Legyen, Legyenek programok relációt az és szekvenciájának nevezzük és -vel jelöljük, ha és S z e k v e n c i a p r o g r a m f ü g g v é n y e Legyen A tetszőleges állapottér, programok A-n, S= Ekkor Legyen tetszőleges Ekkor tehát Legyen Ekkor A s z e k v e n c i a l e v e z e t é s i s z a b á l y a Legyen S=, és adott állítás A-n Ha 1) és 2), akkor Legyen Ekkor 1) miatt és Mivel 2) miatt Továbbá 2) miatt, tehát A szekvencia levezetési szabálya és a specifikáció tétele alapján a következőt mondhatjuk: ha olyan programok, amelyekre a paramétertér pontjában és teljesül, akkor megoldja a párokkal adott feladatot és Programozás módszertan 1 vizsga
ELÁGAZÁS 9 E l á g a z á s Legyenek feltételek, programok -n Ekkor az relációt az -kből képzett, -k által meghatározott elágazásnak nevezzük, és -nel jelöljük, ha ahol és A z e l á g a z á s p r o g r a m f ü g g v é n y e Legyen A tetszőleges állapottér, feltételek A-n Ekkor programok, valamint A z e l á g a z á s l e v e z e t é s i s z a b á l y a Legyen, és adott állítás A-n Ha 1), 2) akkor Legyen, és tegyük fel, hogy valamelyik feltétel igaz -ra, azaz Ekkor, ugyanis Másrészt mivel : azaz Programozás módszertan 1 vizsga
ELEMI PROGRAMOK 10 E l e m i p r o g r a m Eleminek nevezünk egy állapottéren egy programot, ha S K I P A B O R T -nek nevezzük azt a programot, amelyre É r t é k a d á s -tal jelöljük azt a programot, amelyre Legyen és Az program általános értékadás, ha Az általános értékadáson belül speciális eseteket különböztetünk meg: Ha, akkor az programot értékkiválasztásnak nevezzük ( ) Ha az reláció függvény, akkor az programot értékadásnak nevezzük ( ) Ha, akkor parciális értékkiválasztás Ha és determinisztikus ( parciális függvény), akkor parciális értékadás E l e m i p r o g r a m o k p r o g r a m f ü g g v é n y e i : 1 2 3 4 E l e m i p r o g r a m o k l e g g g y e n g é b b e l ő f e l t é t e l e Mivel a program programfüggvénye identikus leképezés, egy tetszőleges utófeltételhez tartozó leggyengébb előfeltétele: Mivel az A program programfüggvénye üres a leggyengébb előfeltétel alapján egy tetszőleges utófeltétel esetén: Az általános értékadás leggyengébb előfeltételét külön vizsgáljuk a determinisztikus és nem determinisztikus, illetve a globális és parciális esetben Programozás módszertan 1 vizsga
ELEMI PROGRAMOK 11 Ha függvény, akkor függvény, és ezért Ha parciális függvény, tehát az értékadás parciális, akkor ennek leggyengébb előfeltétele: Ha nemdeterminisztikus Feltesszük, hogy, az értékkiválasztás leggyengébb előfeltétele Parciális esetben: Programozás módszertan 1 vizsga
TÍPUS 12 T í p u s s p e c i f i k á c i ó A hármast típusspecifikációnak nevezzük, ha teljesülnek rá a következő tételek: 1 az alaphalmaz 2 s specifikációs invariáns 3 a típusérték halmaz 4 a típusműveletek specifikációja, ahol, úgyhogy T í p u s A hármast típusnak nevezzük, ha az alábbi feltételek teljesülnek rá: 1 a reprezentációs függvény (reláció), a típusérzék halmaz az elemi típusérték halmaz 2 típusinvariáns 3, ahol program, úgy, hogy és M e g o l d á s - n k e r e s z t ü l Azt mondjuk, hogy az program a -n keresztül megoldja az feladatot, ha vannak olyan és illeszkedő terek, amelynek altere, illetve, hogy szerint megoldása -nek, ahol a fenti értelemben definiált leképezés, az kiterjesztése -re, pedig az kiterjesztése -re M e g f e l e l és Egy típus megfelel a típusspecifikációnak, ha 1 2 -n keresztül megoldja -et Programozás módszertan 1 vizsga
TÍPUS 13 T í p u s s p e c i f i k á c i ó t é t e l e Legyen és adott típusspecifikáció és típus, és tegyük fel, hogy a reprezentáció helyes, azaz Legyen továbbá, az állapottere, egy paramétere, elő- és utófeltétele pedig és Legyen és tegyük fel, hogy állapottere illesztkedik állapotteréhez Definiáljuk a következő állításokat:,,ahol a program és a feladat állapottere közötti, a -n keresztüli megoldás definíciójában szereplő leképezés Ekkor ha program a -n keresztül megoldja az feladatot, akkor az : A reláció szerinti megoldás tétele miatt csak azt kell belátnunk, hogy nyilvánvaló, mivel föltettük, hogy teljesül Ez pedig M e g f e l e l é s á l t a l á n o s í t á s a Azt mondjuk, hogy típus általános értelemben megfelel a típusspecifikációnak, ha létezik olyan ekvivalens típusspecifikáció, amelynek az eredeti értelemben megfelel A b s z t r a k t t í p u s Legyen egy típus A -t absztrakt típusának nevezzük, ha 1 2 Programozás módszertan 1 vizsga