Specifikáció. 5.1. A leggyengébb előfeltétel



Hasonló dokumentumok
ALAPFOGALMAK 1. A reláció az program programfüggvénye, ha. Azt mondjuk, hogy az feladat szigorúbb, mint az feladat, ha

3. előadás. Programozás-elmélet. A változó fogalma Kiterjesztések A feladat kiterjesztése A program kiterjesztése Kiterjesztési tételek Példa

Programkonstrukciók A programkonstrukciók programfüggvényei Levezetési szabályok. 6. előadás. Programozás-elmélet. Programozás-elmélet 6.

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból

5. előadás. Programozás-elmélet. Programozás-elmélet 5. előadás

Bevezetés a programozásba 1

út hosszát. Ha a két várost nem köti össze út, akkor legyen c ij = W, ahol W már az előzőekben is alkalmazott megfelelően nagy szám.

f(x) vagy f(x) a (x x 0 )-t használjuk. lim melyekre Mivel itt ɛ > 0 tetszőlegesen kicsi, így a a = 0, a = a, ami ellentmondás, bizonyítva

Bevezetés a programozáshoz I. Feladatok

KOVÁCS BÉLA, MATEMATIKA I.

Programozási Módszertan definíciók, stb.

BEVEZETÉS A PROGRAMOZÁSHOZ

9. előadás. Programozás-elmélet. Programozási tételek Elemi prog. Sorozatszámítás Eldöntés Kiválasztás Lin. keresés Megszámolás Maximum.

Relációk Függvények. A diákon megjelenő szövegek és képek csak a szerző (Kocsis Imre, DE MFK) engedélyével használhatók fel!

7.4. A programkonstrukciók és a kiszámíthatóság

Diszkrét matematika 2.

minden x D esetén, akkor x 0 -at a függvény maximumhelyének mondjuk, f(x 0 )-at pedig az (abszolút) maximumértékének.

RE 1. Relációk Függvények. A diákon megjelenő szövegek és képek csak a szerző (Kocsis Imre, DE MFK) engedélyével használhatók fel!

1000 forintos adósságunkat, de csak 600 forintunk van. Egyetlen lehetőségünk, hogy a

Diszkrét matematika 2.C szakirány

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé.

Megoldások 7. gyakorlat Síkgráfok, dualitás, gyenge izomorfia, Whitney-tételei

LEGYEN MÁS A SZENVEDÉLYED!

Numerikus módszerek 1.

4. Fuzzy relációk. Gépi intelligencia I. Fodor János NIMGI1MIEM BMF NIK IMRI

15. LINEÁRIS EGYENLETRENDSZEREK

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 1

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Funkcionálanalízis. n=1. n=1. x n y n. n=1

Formális nyelvek - 9.

BEVEZETÉS A PROGRAMOZÁSHOZ

Itt és a továbbiakban a számhalmazokra az alábbi jelöléseket használjuk:

Programozási módszertan

Diszkrét matematika 2. estis képzés

E-tananyag Matematika 9. évfolyam Függvények

PROGRAM STATIKUS FOGALMA DINAMIKUSAN VÁLTOZÓ ÁLLAPOTTÉRBEN 1

Diszkrét matematika 2. estis képzés

Diszkrét matematika 2.C szakirány

Az R halmazt a valós számok halmazának nevezzük, ha teljesíti az alábbi 3 axiómacsoport axiómáit.

Adatbázisok elmélete 12. előadás

Nagy Gábor compalg.inf.elte.hu/ nagy

Sorozatok, sorok, függvények határértéke és folytonossága Leindler Schipp - Analízis I. könyve + jegyzetek, kidolgozások alapján

f(x) a (x x 0 )-t használjuk.

6. Függvények. Legyen függvény és nem üreshalmaz. A függvényt az f K-ra való kiterjesztésének

Alapfogalmak, valós számok Sorozatok, határérték Függvények határértéke, folytonosság A differenciálszámítás Függvénydiszkusszió Otthoni munka

ismertetem, hogy milyen probléma vizsgálatában jelent meg ez az eredmény. A kérdés a következő: Mikor mondhatjuk azt, hogy bizonyos események közül

Nagy Gábor compalg.inf.elte.hu/ nagy

Diszkrét matematika 1. középszint

1. tétel - Gráfok alapfogalmai

1. Homogén lineáris egyenletrendszer megoldástere

M. 33. Határozza meg az összes olyan kétjegyű szám összegét, amelyek 4-gyel osztva maradékul 3-at adnak!

6. ELŐADÁS DIFFERENCIÁLSZÁMÍTÁS II. DIFFERENCIÁLÁSI SZABÁLYOK. BSc Matematika I. BGRMA1HNND, BGRMA1HNNC

egyenlőtlenségnek kell teljesülnie.


Csima Judit november 15.


Nagyordó, Omega, Theta, Kisordó

Csima Judit BME, VIK, november 9. és 16.

Miért fontos számunkra az előző gyakorlaton tárgyalt lineáris algebrai ismeretek

Leképezések. Leképezések tulajdonságai. Számosságok.

3. Feloldható csoportok

A következő feladat célja az, hogy egyszerű módon konstruáljunk Poisson folyamatokat.

E F O P

Numerikus módszerek 1.

Analízis II. Analízis II. Beugrók. Készítette: Szánthó József. kiezafiu kukac gmail.com. 2009/ félév

A sorozat fogalma. függvényeket sorozatoknak nevezzük. Amennyiben az értékkészlet. az értékkészlet a komplex számok halmaza, akkor komplex

KOVÁCS BÉLA, MATEMATIKA I.

SHk rövidítéssel fogunk hivatkozni.

Az impulzusnyomatékok általános elmélete

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Számelmélet I.

Logika es sz am ıt aselm elet I. r esz Logika 1/36


SZÉLSŐÉRTÉKKEL KAPCSOLATOS TÉTELEK, PÉLDÁK, SZAKDOLGOZAT ELLENPÉLDÁK. TÉMAVEZETŐ: Gémes Margit. Matematika Bsc, tanári szakirány

Diszkrét matematika I.

Jármőtervezés és vizsgálat I. VALÓSZÍNŐSÉGSZÁMÍTÁSI ALAPFOGALMAK Dr. Márialigeti János

Alap fatranszformátorok II


Csima Judit október 24.

Bevezetés az informatikába

ú Ó ő Á Ü ú ú ő ú í Í É ő í ö ü ö ő ö í ö í ő ö ö Ö ö ö ö í Í ö Í É í ö í ö Í ö ö ö É í ö ö ő ő ú ő ö í í í í ő ő ö í ö ú Í ö ö í í ö ö ú É í ö ö Í ő

Az Országos Középiskolai Tanulmányi Verseny tanévi első fordulójának feladatmegoldásai. 81f l 2 f 2 + l 2

Diszkrét matematika 2. estis képzés

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

First Prev Next Last Go Back Full Screen Close Quit

Mátrixjátékok tiszta nyeregponttal

Descartes-féle, derékszögű koordináta-rendszer

Komplex számok. A komplex számok algebrai alakja

Együttműködési ajánlat Kulturális intézmények a köznevelés eredményességéért EFOP Véglegesített pályázat 3.0 (Forrás:

NEM-DETERMINISZTIKUS PROGRAMOK HELYESSÉGE. Szekvenciális programok kategóriái. Hoare-Dijkstra-Gries módszere

Egészrészes feladatok


X Physique MP 2013 Énoncé 2/7

Algoritmusok helyességének bizonyítása. A Floyd-módszer

2014. szeptember 24. és 26. Dr. Vincze Szilvia

Analízis I. Vizsgatételsor

Sorozatok és Sorozatok és / 18

Gy ur uk aprilis 11.

(Diszkrét idejű Markov-láncok állapotainak

Automaták mint elfogadók (akceptorok)


Átírás:

Specifikáció A megoldás definíciója közvetlenül elég nehézkesen használható a programok készítése során, hiszen az, hogy egy program megold-e egy feladatot az a megoldás eddigi definíciója alapján csak nehezen ellenőrizhető. Ezért bevezetünk néhány új fogalmat, majd ezek segítségével egy elégséges feltételt adunk a megoldásra..1. A leggyengébb előfeltétel Először a program futásának adjuk meg egy a programfüggvénynél kényelmesebben használható jellemzését. 1. DEFINÍCIÓ: LEGGYENGÉBB ELŐFELTÉTEL Legyen program, állítás. Ekkor az program utófeltételhez tartozó leggyengébb előfeltétele az az állítás, amelyre: "!$#&%('*),+.-0/2143 %78 "292: A leggyengébb előfeltétel tehát pontosan azokban a pontokban igaz, ahonnét kiindulva az program biztosan terminál, és az összes lehetséges végállapotra igaz. Természetesen a leggyengébb előfeltétel igazsághalmazán kívül is lehetnek olyan pontok, amelyből a program egy futása eljut az utófeltétel igazsághalmazába, csak azokból a pontokból nem garantált, hogy oda jut. Egy program működése úgy is jellemzhető, hogy megadjuk a program tetszőleges utófeltételhez tartozó leggyengébb előfeltételét. A feladat megoldása során az a célunk, hogy olyan programot találjunk, amelyik bizonyos feltételeknek eleget tevő 4

4. SPECIFIKÁCIÓ pontokban terminál. Ezért azt mondhatjuk, hogy ha a számunkra kedvező végállapotokra megadjuk a program leggyengébb előfeltételét, akkor a programfüggvény meghatározása nélkül jellemezzük a program működését. A most következő tétel a leggyengébb előfeltétel néhány fontos tulajdonságát mondja ki. 3. TÉTEL: A TULAJDONSÁGAI Legyen ; ; $ <, program, =>$2?@ állítások. Ekkor (1) AB,CEDF G!HAB,CEDF, (2) Ha =EI J, akkor =KI, J (3) L=KNM L! L=OMP, J J (4) L=KNQ L I =;QP. Az első tulajdonságot a csoda kizárása elvének, a másodikat monotonitási tulajdonságnak nevezzük. Bizonyítás: U 1. Indirekt: Tegyük fel, hogy RS%T' AT "CED7. Ekkor a leggyengébb előfeltétel definíciója szerint: %V'V),+W-X/F1 és %SY AB "CED7 Z[!]\. Ez nyilvánvaló ellentmondás. UJ UJ 2. Indirekt: Tegyük fel, hogy RS%^' =K `_ L a. Ekkor %T'^),+W-X/F1 és %SK =,bm( %S(c d. Ez viszont ellentmond annak a feltételnek, mely szerint = K " 3. Az állítást két részben, a mindkét irányú következés belátásával bizonyítjuk. UJ L a d UJ =K =,.1. ábra. A leggyengébb előfeltétel és a metszet kapcsolata J J (a) L=KNM L I =;MP, ui.: U Legyen %e' L=fgM a. Ekkor %h' L=Ka és %e' azaz %h'h),+w-x/f1 és %S` =,, illetve %7i %7i = kj ",! =OMP", azaz %e' L=lM*a., ". Ekkor azonban

.2. A FELADAT SPECIFIKÁCIÓJA 47 J J (b) =;MPI L=fNM L, ui.: Legyen %m' L=?MB. Ekkor a leggyengébb előfeltétel definíciója alapján %n'o),+.-0/21 és %Sp =omy". Felhasználva, hogy =nm "q! =,ij ", adódik, UJ hogy G %SK UJ =, és %S ", azaz %h' L=Ka és %e' L, tehát %e' =KNM. " L=Ka =, 4. Legyen %e'.2. ábra. A leggyengébb előfeltétel és az unió kapcsolata UJ U U =KFQ. Ekkor %e' L=f vagy %e' Ha %h' L=f, akkor U a monotonitási tulajdonság alapján %e' a. Hasonlóan ha %h' L=f, akkor %h' L=lQP a. U UJ a. =hq.2. A feladat specifikációja A következőkben bevezetjük a feladat megadásának egy másik módját, és kimondunk egy a gyakorlat szempontjából nagyon fontos tételt. Általában a feladat nem függ az állapottér összes komponensétől, azaz az állapottér több pontjához is ugyanazt rendeli. Ezeket a pontokat fogjuk össze egy ponttá a paramétertér segítségével. 17. DEFINÍCIÓ: PARAMÉTERTÉR Legyen ro [ $ < feladat. A s halmazt a feladat paraméterterének nevezzük, ha van olyan rt és rzu reláció, hogy r! rtv E <se rwu sv < K rzukx8rt.: Fontos észrevenni, hogy paraméterteret mindig lehet találni. Például maga a feladat állapottere minden esetben választható paramétertérnek úgy, hogy a definícióban

t 48. SPECIFIKÁCIÓ feladatot választjuk. Ám az, hogy egy konkrét esetben mit is választunk paramétertérnek a feladattól függ. Általában úgy választjuk meg a paraméterteret, hogy a következő tételt kényelmesen tudjuk használni. szereplő r t relációnak az identikus leképezést, r u -nek pedig magát az r 4. TÉTEL: SPECIFIKÁCIÓ TÉTELE Legyen rn ; P k feladat, s az r egy paramétertere, r t l P ks, r u Os k, r$!yr u x8r t : Legyen z"'ps, és definiáljuk a következő állításokat: =K{ }! #.%('< ~3 %z 8'Pr t 9,![r -U t 1 z,{ }! #.%('< E3 zw%s8' r u 9,!yr u z ƒ: Ekkor ha NzO' s K= { I { akkor az program megoldja az r feladatot. Bizonyítás: A megoldás definíciója két pontjának teljesülését kell belátnunk: 1. )K l Y),+W-X/F1, ui. Legyen %e'*)k tetszőleges. Ekkor az rt és rwu relációk definíciója miatt Rˆz"' sv %e' = { 2: De ekkor a tétel feltétele alapján: %e' =f{ak UJ L,{ f Š)"+W-X/F1ƒ: 2. N%e'*) ; %S` Or %S, ui. Legyen %*'<)K tetszőlegesen rögzített, z,'bs olyan, amelyre %P' a feltétel szerint: %S` {,!yr u z 8 lr u r t %Sgk!yr %7 : = {. Ekkor Vegyük észre, hogy a tétel feltételrendszerében használt jelölések felhasználhatók a feladat egy más módon történő leírására. Ha a feldatot úgy definiáljuk, hogy megadjuk az állapotterét ( ), a paraméterterét (s ), valamint az elő- és utófeltételét (= illetve ) a paramétertér egy tetszőleges pontjára, akkor azt mondjuk, hogy a feladatot specifikáljuk. Paramétertérnek általában az állapottér egy alterét szoktuk választani. Azokat a komponenseket válogatjuk ki, amelyek értékétől függ, hogy a feladat mit rendel, amik paraméterezik a feladatot. A specifikáció tétele csak elégséges feltétel a megoldásra, azaz nem megfordítható: lehet adni olyan feladat-program párt, ahol a program megoldja a feladatot, de a specifikáció tétele nem teljesül. Ez természetesen attól is függ, hogy a feladatot hogyan specifikáljuk, azaz milyen paraméterteret választunk, és hogyan bontjuk a feladatot r t és r u relációk kompozíciójára.

.3. A VÁLTOZÓ FOGALMA 49.3. A változó fogalma Az eddig elmondottakból alapján a specifikáció tétele még nem lenne hatékonyan használható, hiszen a paramétertér minden pontjára ellenőriznünk kellene a feltételek teljesülését. Ezért bevezetjük a változó fogalmát, aminek segítségével a feltételrendszer teljesülése egyszerűen ellenőrizhetővé válik. 18. DEFINÍCIÓ: VÁLTOZÓ Az E!Œ t p 4 < "Ž állapottér 8ˆ $ " egydimenziós projekciós függvényeit változóknak nevezzük. A változók használatával egyszerűsíthetjük az állapottéren értelmezett állítások (elő- és utófeltételek, leggyengébb előfeltétel) és relációk (programfüggvény) leírását. Mivel minden változó értelmezési tartománya az állapottér, és értékkészlete egy típusértékhalmaz, egy változót jellemezhetünk egy típussal, azaz beszélhetünk a változó típusáról. Ha a paramétertér is direktszorzat alakú márpedig ez gyakran így van, ugyanis általában az állapottér egy altere akkor a paramétertér egydimenziós projekciós függvényeit paraméterváltozóknak nevezzük. Az állapottér illetve a paramétertér egyes komponenseihez tartozó vátozókat illetve paraméterváltozókat az adott komponens alá írjuk. Tekintsünk egy egyszerű példát: határozzuk meg két egész szám maximumát!! E sš! œ Sœ Az első sor tehát azt jelenti, hogy az állapottér három egész komponensből áll, melyeknek változói rendre, és. Hasonlóan a második sor jelentése: a paramétertér két egész komponensből áll, az első komponens változója œ, a másodiké Sœ. A paramétertér egy tetszőleges z eleméhez tartozó elő- és utófeltétel az állapottér egy tetszőleges % pontjában: =ž&ÿ - { 1 Ÿ - { 1 %S! %Sk! œ z M %7! œ z g "ž Ÿ - { 1 Ÿ - { 1 %S! %S` œ z M %S8 œ z NM %S! œ z NQ %S! œ z g A fenti jelölést tovább szoktuk egyszerűsíteni: mivel az állapottér változói és a paraméterváltozók mindenütt azonos argumentummal szerepelnek, az argumentumot hiszen az nyilvánvaló nem írjuk ki: = ž4ÿu Ÿ! ž4ÿu Ÿ!! œ M! œ œ M œ M! œ Q! œ g A jelölés tovább egyszerűsíthető! Mivel ezek a feltételek a paramétertér pontjaihoz tartoznak, nyilvánvaló, hogy a paraméterváltozók értékeitől függnek. Ha nyilvánvaló, akkor az állítások indexe el is hagyható. A feladat specifikációja tehát:

x 0. SPECIFIKÁCIÓ! E s@! V œ 7œ =~! œ M! œ Œ œ M Sœ M! œ Q! Sœ A változók segítségével könnyen felírhatunk olyan függvényeket, amelyek az állapottér bizonyos komponensein vannak értelmezve. Ha nem okoz félreértést, akkor az 0 :4: : X jelölés helyett az 4: :4: g 0 jelölést használjuk. A későbbiekben bevezetünk majd olyan eszközöket, amelyek segítségével a feladat specifikációjából kiindulva olyan programokat készíthetünk, amelyek megoldják a feladatot..4. A típusspecifikáció tétele A típusspecifikáció és a típus fogalmának bevezetésével tulajdonképpen a feladat fogalmát általánosítottuk, míg a megfeleltetés a megoldás fogalmának volt egyfajta általánosítása. Az imént megismert specifikáció tétele a megoldásra adott elégséges feltételt. Próbáljunk most a -n keresztüli megoldásra egy hasonló feltételt adni! U. TÉTEL: TÍPUSPECIFIKÁCIÓ TÉTELE Legyen â «m! LD «& és ª! FLD L w adott 4 típusspecifikáció és típus, és tegyük fel, hogy a reprezentáció helyes, azaz D.±! D «L. Legyen továbbá rv', az r állapottere, egy paramétertere s, elő és utófeltétele pedig =K{ és {. Legyen ;'P és tegyük fel, hogy állapottere illeszkedik r állapotteréhez. Definiáljuk a következő állításokat: = ²{ }! ³=K{ xg µ "²{ }!,{wxg 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 Nzd' s F= ²{ I ²{ akkor az program a -n keresztül megoldja az r feladatot. Bizonyítás: A -n keresztüli megoldás definíciója két pontjának teljesülését kell belátnunk: º, ui. 1. ) Y) ² +W-X/F1 ² 0¹ Legyen %e'*) &. Ekkor Rˆz"'PsV2%e' =K{. Mivel D.! D «, -U t 1 %7 c!y\imh - t 1 %S8 = ²{ F: UJ Felhasználva, hogy = ²{ K L"²{ : -U t 1 %78 ;),+W-X/F1M± - t 1 %Sg` ²{ 2:

².4. A TÍPUSSPECIFIKÁCIÓ TÉTELE 1 Mivel,²{,! tehát 2.»%('P)K Š >¼ G -U t 1 %7` { xg, %h'h) w¼p -U t 1 Or -U t 1 %Sgi Y) ² +W-X/F1 º ² X¹ : %S, ui. Legyen %E'n)K. A bizonyítás első részében leírt lépéseket folytatva: mivel { xg, - t 1 %Sggi { K lr %Sƒ: Az, hogy a fenti tétel feltételei között kikötöttük, hogy a program állapottere illeszkedik a feladat állapotteréhez tulajdonképpen elhagyható. Ekkor a tétel a feladat és a program olyan kiterjesztéseire mondható ki, amelyek állapotterei illeszkednek egymáshoz (pontosan úgy, ahogy a megfeleltetést definiáltuk nem illeszkedő állapotterek között). A következő példában megmutatjuk, hogy = ²{ -t gyenge igazsáhalmaz helyett erős igazsághalmazzal definiálnánk, akkor a tétel nem lenne igaz. Legyen ª «! D «,! #2½2L¾S9, D «!", V! #.rq9. Legyen r állapottere H! és a paramétertér is legyen ugyanez: s~!. Legyen r specifikációja: = t }! #F½ 92 t }! #W¾79 = u }! \ˆ u }! #F½ 9 Ekkor )K o! #2½ 9 és r ½&(!@#W¾79. Legyen továbbá az elemi értékek halmaza À! #.% z&9, ªŒ! 7D Z,»ÁY'PÀ D ÁG! 3 Á`3!Œ½&, és az egy hosszú sorozatokra: g %SÃgG!$ z ÃG! #F½ ¾792: Tegyük fel, hogy Š!#. 89, o À± q Àq L L, és rendelje az állapottere minden pontjához az önmagából álló egy hosszú sorozatot. Ennek a programnak az állapottere illeszkedik a fenti feladat állapotteréhez, és Ṕ!$. Ekkor tehát =ftxg "!H\ Az viszont könnyen látható, hogy >¼B = t xg I = t xg I G ¼p -U t 1 tehát a típus nem felel meg a specifikációnak. és =ugxg,!y\ˆ t xgń t xgń ½.!E#F½ ¾79qc ;r ½.!E#W¾79

2. SPECIFIKÁCIÓ.. Példák 1. példa: Legyen ~!V#&ÄTÅ.%FÆ program. m!e#ïätå.%fæ sf%7ç È ËÌ Æ s ÊWÉ.Î Legyen továbbá az Œ H állítás: '< $; G! s±%fç4è CEÉ %FÊ.ƃËGÌ ÆƒÍÉWÅFs Ê.É.Î9, H n B ÄTÅ.%FÆ s±%fç4è à s±%7ç È sf%7ç È ËGÌ Æƒs Ê.É.Î Ã ÐCEÉ %FÊ.ÆÑ ËÌ Æƒs ÊWÉ.Πà ÍÉWÅ s ÊWÉ.Îs±%7Ç È LËÌ ÆgÃ9 zeneszerző. Mi lesz a fenti program -hez tartozó leggyengébb előfeltétele? Megoldás: Írjuk fel először a program programfüggvényét: G!E# Ä^Å.%2Æ Lsf%7Ç Èƒ sf%7ç È LCEÉ %2Ê.Æg CEÉ %FÊ.ƃÄTÅ.%FÆ ƒ ËÌ ÆƒLs ÊWÉ.Î ƒ s Ê.É.ÎLËÌ Æg 9 U a,! #&Ä^Å.%2Æ LÍÉWÅ2Ls ÊWÉ.Î9, ui. ÄTÅ.%FÆ Ò! #&s±%7ç ÈN9 " ÍÉWÅ.! #.CEÉ %FÊ.Æ9 " s ÊWÉ.Î Ó! #&ËGÌ Æ9 " G s±%7ç È! #.CEÉ %FÊ.ƃs ÊWÉ.Î9(c CEÉ %FÊ&Æg! #&Ä^Å.%2Æ 9qc " ËGÌ ÆgÑ! #&s Ê.É.Î9(c " Ezek után, a leggyengébb előfeltétel definícióját felhasználva: sf%7ç È LCEÉ %FÊ&Ægà CEÉ %FÊ.ƃÄ^Å.%2Æ Ã ÍÉWÅFLCEÉ %2Ê.Ægà s±%fç4è Ls ÊWÉ.Î ƒ ÍÉWÅFLCEÉ %FÊ.Ægƒ 2. példa: Legyen A t LA u 7. Igaz-e, hogy ha minden O [ $ L programra AetƒG! A>u4, akkor Aet,! A>u? Megoldás: Felhasználva, hogy a leggyengébb előfeltételek minden programra megegyeznek, egy alkalmas program választásával a válasz egyszerűen megadható: rendelje az program az állapottér minden eleméhez az önmagából álló egy hosszúságú sorozatot. Ekkor könnyen látható, hogy tetszőleges utófeltétel esetén: J L!Hq: " Ekkor viszont Aetb! Aet! A>u k![a>u tehát a két feltétel megegyezik. 3. példa: Specifikáljuk a következő feladatot: H![O *Ïrn l E <, r$! # g LÔˆ œ LÔ œ gi3 Ô œ!yôm œ! MPÔ 9

t.. FELADATOK 3 Megoldás:!VÕ? sš!@ö o œ Sœ =n! œ M! 7œ Œ! œ M Sœ NM! Sœ 4. példa: Legyen r p, L program, s egy tetszőleges halmaz. Legyenek továbbá r t $ n Ts és r u Œs B olyan relációk, hogy r!nr u xbr t, valamint Nzd'<s :. = { }! r t z,{g}! r u z : Igaz-e, hogy ha Nzd'<sV =K{GI {g, akkor megoldja r -et? Megoldás: Próbáljuk meg a megoldás definíciója két pontját belátni. Legyen %e'p). Be kellene látnunk, hogy %e'*)"+w-x/f1. Nézzük meg a specifikáció tételének bizonyítását: ott felhasználtuk, hogy ekkor van olyan ze'os, hogy %Y' = {. Igaz ez a = { -re is? Sajnos mivel = { -t ősképpel definiáltuk, ez nem feltétlenül van így. Próbáljunk a fenti gondolatmenet alapján ellenpéldát adni: Legyen!Õ#F½ 9, sš!õ#f½ ¾79, r!ø# ½2 ½.9, rte!õ# ½ ½.ƒ ½ ¾ ƒ9, rzuh!õ# ¾ˆ ½&ƒ9. Ekkor =fti!hè %FÙPÌ és =Kud!HÈ %FÙ*Ì, tehát az állítás feltételei teljesülnek függetlenül a programtól (ui. hamisból minden következik"). Válasszuk most az alábbi programot: Š!~# ½2 Ú$½ 4½ 4:Û:X: Üdƒ9. Ez a program nem megoldása a feladatnak, de teljesülnek rá is az állítás feltételei. Tehát az állítás nem igaz... Feladatok 1. Legyen tetszőleges állapottér, = 2 H@ akkor»ì'<ýh = I = XÞ t Ìk' Ý. Igaz-e, ha J RSÎ '<Ý? L=KŽ7G! R7Î '<ÝH =Žˆgß 2. Igaz-e, hogy ha t&l K! NuW, akkor t8à^ u K! wt&q u? 3. Igaz-e, ha 'T n UJ ' t gá # 9Wga,â U ' u gá # 9Wg, akkor )"+W-X/ 1!l),+W-X/WãL1? 4. t u V p, programok. Igaz-e, ha»aä Ñ esetén t LATf! u A^, akkor t ekvivalens u -vel?

Ù í!! Î ï ë Ž 4. SPECIFIKÁCIÓ. Adott az!yå 8å^ G állapottér åœ!$#2½2l¾ˆæs9w és a s~!yå `å paramétertér, továbbá az r t és r u feladatok. r t!$# % t L% u ƒ z t z u Ôˆg83&Ô>! % t ÜO% u 9F r u specifikációja pedig:!åò åñ? % t % u s@!åò å % œt % œ u =n % t![% œt MP% u!y% œ u ~ =OM % œt ÜO% œ u g Azonosak-e az r t és r u feladatok?. Tekintsük az alábbi két feladatot: rt specifikációja:! s@! œ =n! œ ~ =OM!n3 çk 3 r u!e# g %Lz Ç è7g`3&çi!y%,m 3 è3 ç è±!yçw92: Megadható-e valamilyen összefüggés rt és rwu között? 7. Írd le szövegesen az alábbi feladatot: legyen 2 m,! Ö E EÝZé s@! Ó Ù œ Î œ =n Ù!OÙ œ M*Î![Î œ MeÙêlÎ ~ =OM Ûì tfí Ì g ahol í m #.îˆ ½ 9, Ìa! ½ ha R ' ; Ì! Me ˆð>' ñ Ù :Û: λò ðf8êlù îˆ különben 8. Igaz-e a specifikáció J tételének megfordítása? (Ha megoldja r -et, akkor Nz' s =K{GI L,{g

.. FELADATOK 9. Tekintsük az alábbi feladatot:! E Ô sš! Ô œ =~ Ô(!HÔ œ MPî>ÚlÔˆ Œ =OM± Ê.Ì Ù Me ÌGÜH½ Ê&Ì Ù ahol Ê.ÌJÙ G! prímszám. Mit rendel a fent specifikált feladat az %! Fogalmazd meg szavakban a feladatot! Ì ó3 Ôqô^Ì 3F $3 Ô±ôPZ3 ½&îˆ ½. és a zq! õ ö pontokhoz?

. SPECIFIKÁCIÓ