Koncepció: Specifikáció: e par exp i = eb imp bod ib Specifikáció elemzése: tulajdonságok felírása a koncepció alapján + tulajdonságok bizonyítása.

Slides:



Advertisements
Hasonló előadás
Integritási tartományok
Advertisements

Deduktív adatbázisok.
A digitális számítás elmélete
Események formális leírása, műveletek
Készítette: Kosztyán Zsolt Tibor
Algebrai struktúrák.
Egyismeretlenes lineáris egyenletek
Adatbázisrendszerek elméleti alapjai 2. előadás
Probléma formálisan specifikált: valós világ (domai) (hibás eredmény) ködös határ (félreértés, hiba) formális világ (megoldás) A specifikáció csak nagyvonalakban.
Függvények Egyenlőre csak valós-valós függvényekkel foglalkozunk.
Lambda kalkulus.
Determinisztikus programok. Szintaxis: X : Pvalt program változók E : Kifkifejezések B : Lkiflogikai kifejezések C : Utsutasítások.
MI 2003/9 - 1 Alakfelismerés alapproblémája: adott objektumok egy halmaza, továbbá osztályok (kategóriák) egy halmaza. Feladatunk: az objektumokat - valamilyen.
Kötelező alapkérdések
Kalman-féle rendszer definíció
Műveletek mátrixokkal
Matematika I. Deák Ottó 2. heti előadás mestertanár
Vektormező szinguláris pontjainak indexe
1. A KVANTUMMECHANIKA AXIÓMÁI
1.) A programfejlesztés hagyományos életciklus modellje és adattípus.
Copyright, 2009 © Szlávi Péter A kupac és a prioritási sor típuskonstrukciók Szlávi Péter ELTE IK Média- és Oktatásinformatikai Tanszék
Euklidészi gyűrűk Definíció.
Egy f  R[x] polinom cS -beli helyettesítési értéke
4. Helyes zárójelezés algoritmusa
Csoport részcsoport invariáns faktorcsoport részcsoport
Gyűrűk Definíció. Az (R, +, ·) algebrai struktúra gyűrű, ha + és · R-en binér műveletek, valamint I. (R, +) Abel-csoport, II. (R, ·) félcsoport, és III.
4. VÉGES HALMAZOK 4.1 Alaptulajdonságok
Bernoulli Egyenlőtlenség
Algebra a matematika egy ága
Bizonyítások Harmath Zsolt.
Bizonyítási stratégiák
Determinisztikus véges automaták csukva nyitva m s kbsm csukva nyitva csukva nyitva csukvanyitva 1. Példa: Fotocellás ajtó s b m m= mindkét helyen k= kint.
Év eleji információk Előadó: Hosszú Ferenc II. em Konzultáció: Szerda 9:50 – 10:35 II. em
III. előadás.
Differenciál számítás
Lineáris algebra Mátrixok, determinánsok, lineáris egyenletrendszerek
Integrálszámítás Mire fogjuk használni az integrálszámítást a matematikában, hova szeretnénk eljutni? Hol használható és mire az integrálszámítás? (már.
Bevezetés a matematikába I
Valós számok Def. Egy algebrai struktúra rendezett test, ha test és rendezett integritási tartomány. Def. Egy (T; +,  ;  ) rendezett test felső határ.
Reprezentációs függvény. Adva egy adattípus absztrakt és konkrét specifikációja: d a = ( A, F, E a ); d c = ( C, G, E c ); A = {A 0,..., A n };C = {C 0,...,
1. előadás. 1.) Szoftverfejlesztés, mint mérnöki tevékenység. Számítási eszközfejlődés. Számítási eszközfejlődés: hazai viszonyok. Mérföldkő: Simula 67.Klasszikus.
6. előadás Parametrikus polimorfizmus. Generikus programozás. Az Ada sablonok.
Alphabet is a type specification = sorts: alphabet oprs: a:  alphabet,...,z:  alphabet end alphabet; nat is a type specification = sorts:nat oprs:zerus:
Nem determinisztikusság és párhuzamosság. A nem determinisztikusság a párhuzamosságban gyökeredzik. Példa: S par  parbegin x:=0   x:=1   x:=2 parend;
A számfogalom bővítése
Asszimptotikus viszonyok. Asszimptotikus viszonyok számításánál felhasználható ismeretek: 1.Az asszimptotikus viszonyok reláció-tulajdonságai: A következő.
Halmazelmélet és matematikai logika
A digitális számítás elmélete
Lineáris programozás Elemi példa Alapfogalmak Általános vizsg.
A kondicionális törvényei
Termelő-fogysztó modell. A probléma absztrakt megfogalmazása: informális leírás. Adott egy N elemű közösen használt tároló, N  1. Adott a folyamatoknak.
Határozatlan integrál
Copyright, 1999 © Szlávi Péter Sor típuskonstrukció Szlávi Péter ELTE IK Média- és Oktatásinformatikai Tanszék
Lineáris algebra.
Kijelentések könyve: mindegyik oldalon egy kijelentés. Egyes igaz kijelentések axiómák. Az axiómákból bizonyítható kijelentések mind igazak, és a cáfolható.
Műveletek, függvények és tulajdonságaik Mátrix struktúrák:
A MATEMATIKA FELÉPÍTÉSÉNEK ELEMEI
Adva S  parbegin S 1 ...  S n parend; Párhuzamos programszerkezet két vagy több olyan folyamatot tartalmaz, amelyek egymással közös változó segítségével.
Kiterjesztések szemantikája: Szemantikai tartomány : Adatoknak, vagy értékeknek egy nem üres halmazát szemantikai tartománynak nevezzük. Jelölése: D. Egy.
Paraméter továbbítás. (parameter passing) Paraméteres specifikációk: Pl.: string(spec) : hasonló specifikációk családja; string(nat); string(data); string(integer);
Iteráció, rekurzió, indukció. Iteráció iterációs módszer –egy adott műveletsort egymás után, többször végrehajtani megvalósítás –ciklusokkal pl. –hatványozás.
1 Relációs kalkulusok Tartománykalkulus (DRC) Sorkalkulus (TRC) - deklaratív lekérdezőnyelvek - elsőrendű logikát használnak - relációs algebra kifejezhető.
Félcsoport (semigroup) = ({s},{ *: s s  s [infix]}. semigroup is a type specification = sorts: s oprs: *: s s  s [infix] eqns: m 1, m 2, m 3  s (m 1.
Monadikus predikátumlogika, szillogisztika, Boole-algebra
Paraméterátadó-morfizmus diagramja: p: tartalmazás SPEC SPEC 1 h : SPEC  SPEC' h 1 : SPEC 1  SPEC 1 ' SPEC' SPEC 1 ' p': tartalmazás SPEC: paraméter.
Példa. Az ábrázolás szemléltetése.  = ({stack, elem },{ create :  stack; push : stack elem  stack}),  = ( {vector, nat, elem}, { create c :  vector.
II. konzultáció Analízis Sorozatok Egyváltozós valós függvények I.
Példa: Dinteger = {..., -1,0,1,...}; Dboolean = {true, false};
Bevezetés a matematikába I
Absztrakt problémák Q  I  S, az absztrakt probléma kétváltozós reláció az esetek (I) és a megoldások (S) halmazán Példa: legrövidebb út Eset: gráf és.
Előadás másolata:

Koncepció: Specifikáció: e par exp i = eb imp bod ib Specifikáció elemzése: tulajdonságok felírása a koncepció alapján + tulajdonságok bizonyítása.

SPEC = (S,OP,E); SPEC = ( ,E); Szignatúra morfizmus:   '; A h:   ' szignatúra morfizmus kiterjesztése változókra: Ahol X, X' rendre a ,  ' változói. T  (X), T  '(X') rendre a ,  ' termeknek halmazai. Példa:  ';  = (null..., succ..., plusz...);  '= (0..., _+1..., _+_... ;); h(plusz(succ(x),null)) = (x+1) + 0; A h:   ' szignatúra morfizmus kiterjesztése egyenletek formájában adott axiómákra.

Definíció. Termek származtatása (termek derivációja). Adva SPEC = (S,OP,E). Helyettesítési szabály: t 1  t 2. Ha -a t 1  t 2 szabály alkalmazható egy t  T OP (X) term-re, -és t 1 a t-nek egy rész term-je, akkor t 1 helyettesítése t 2 term-mel a t term-ben egy újabb t' term-et eredményez. Jelölés: t' = t(t 1 /t 2 ). Rögzített X = X e, minden e = (X,L,R)  E két helyettesítési szabályt definiál: L  R; R  L; (t' term közvetlen származtatása t term-nek az E axiómái által a t 1  t 2 szabály felhasználásával).

Adott a t 0  t 1 ...  t n (közvetlen származtatások egy sorozata) Elnevezés: Az e'= (t, t') egyenlet E-ből származtatott egyenletnek nevezzük rögzített X mellett, ha t = t 0 és t' = t n. Jelölés: t  t'. Definíció. A származtatott egyenlet helyes az A szigmaalgebra szerint, ha minden ass: X  A ass(t) = ass(t').

bool is a type specification = sorts: bool oprs: T:  bool F:  bool ~_ : bool  bool  : bool bool  bool [infix] eqns: b  bool; ~T = F ~(~b) = b b  T = b b  F = F end bool;

Tétel: ~F = T; 1.) AxiómaTétel b  T ~(T)  F ~(~b) = b  ~(~(T)) = T  ~ F = T; 2.) Tétel:Axióma ~ T  F T  b ~ F = T  ~(~(T)) = T  ~(~b) = b

PAREXP  = (S,OP);  -algebra = (S A,OP A ); SPEC A = (S A, OP A, E A ); d a = (A, F, E a ); d a = ({A 0, A 1,..., A n }, {f 0  A 0,..., f m : A i... A j  A k }, {...,  (a)  f s (f c (a)) = h(a),... }; a  A : (a i,...,a k )  (A i ...  A j ); Jelölések: F = F c  F s ; f c  F c ; f s  F s ; Egyenlőség axióma: a 1 = a 2  ([a 1 = f 0  a 2 = f 0 ]  [(  f s  F s )(f s (a 1 ) = f s (a 2 ))]); A helyettesítési szabály: a 1 = a 2  ([a 1 = f 0  a 2 = f 0 ]  [(  f s  F s )(f s (a 1 ) = f s (a 2 ))]); Például: n 1 = n 2  ([n 1 = zerus  n 2 = zerus]  [ prec(n 1 ) = prec(n 2 )]);

Egyenlőségi axióma: a 1 = a 2  ([a 1 = f 0  a 2 = f 0 ]  [(  f s  F s )(f s (a 1 ) = fs(a 2 ))]); A helyettesítési szabály: a 1 = a 2  ([a 1 = f 0  a 2 = f 0 ]  [(  f s  F s )(fs(a 1 ) = f s (a 2 ))]); Például: n 1 = n 2  ([n 1 = zerus  n 2 = zerus]  [ prec(n 1 ) = prec(n 2 ) ]); Példa. Axióma: prec(succ(n)) = n; Tétel: n  zerus  succ(prec(n)) = n; Bizonyítás: n 1 = n 2  prec(n 1 ) = prec(n 2 ) n  zerus  succ(prec(n)) = n  prec(succ(m))  m prec(succ(prec(n))) = prec(n)  (prec(n) = prec(n))  T.

Strukturális indukció. Adott  = (S,OP); a szignatúrához tartozó X változókkal és p: T OP (X)  bool. Ha bebizonyítjuk, hogy 1. (  t  K és  t  X)(p(t) = "true"); (A strukturális indukció bizonyítása;) 2. (  N(t 1,...,t n )  T OP (X)); esetén Ha (p(t 1 ) = "true" ...  p(t n ) = "true")  p(N(t 1,...,t n )) = "true"; (Strukturális indukciós lépés;) Akkor p(t)= "true" minden t  T OP (X) esetén;

Támadási stratégiák Támadási stratégia 1. Adott  = (S,OP); t  T OP (X); Tétel:H 1 (f s (t)) = H 2 (t); Legyen t 1 = H 1 (f s (t)); t 2 = H 2 (t); Tekintsük az f s (f c (t)) = H sc (t); axiómát. Bizonyítás. Alapeset. Bizonyítsuk be f 0 konstans szimbólumra, hogy t = f 0 esetén: H 1 (f s (f 0 )) = H 2 (f 0 ); Strukturális indukciós lépés: Mutassuk ki minden t = f c (t')  T OP (X) konstrukciós műveletre: H 1 (f s (f c (t'))) = H 2 (f c (t'))  T, akkor H 1 (f s (t)) = H 2 (t)  T;

Példa. Verem. Axiómák: pop(create) = create; top(create) =  ; pop(push(s,e)) = s; top(push(s,e)) = e; Egyenlőségi axióma: s1 = s2  (s1 = create  s2 = create)  ( pop(s1) = pop(s2)  top(s1) = top(s2)); Tétel: push(pop(s), top(s)) = s; Bizonyítás: Alapeset: s = create; (push(pop(s), top(s)) = s)  (push(pop(create), top(create)) = create)  (push(create,  ) = create)  (create = create)  T. Indukciós lépés: s = push(s',e); (push(pop(s), top(s)) = s)  (push(pop(push(s',e)), top(push(s',e))) = push(s',e)  (push(s',e) = push(s',e))  T.

Támadási stratégia 2. Adott  = (S,OP); t  T OP (X); Legyen t 1 = f c (H 1 (t)); t 2 = H 2 (t); Tekintsük az f s (f c (t)) = H SC (t); axiómát. Tétel:f c (H 1 (t)) = H 2 (t); Alkalmazva az egyenlőség axiómát, kapjuk az egyenlőség származtatási szabályát: f s (f c (H 1 (t))) = f s (H 2 (t))  T  H SC (H 1 (t)) = f s (H 2 (t))  T

Példa. Halmaz. Axióma: has(insert(s,e),a) = if e = a then "true" else has(s,a) fi; Egyenlőség axióma: s 1 = s 2  (s 1 = empty  s 2 = empty)  (  a  elem)(has(s 1,a) = has(s 2,a)); Tétel: insert(insert(s,e),e) = insert(s,e); Bizonyítás. has(insert(insert(s,e),e),a) = has(insert(s,e),a)  if e = a then "true" else has(insert(s,e),a) fi = has(insert(s,e),a);

Kettős specifikáció: e par exp i = eb imp bod ib absztrakt specifikáció konkrét specifikáció Reprezentációs függvény.

Adva egy adattípus absztrakt és konkrét specifikációja: d a = ( A, F, E a ); d c = ( C, G, E c ); A = {A 0,..., A n };C = {C 0,..., C m }; F = {f 0 :  A 0,..., f i : A j...A k  A /,... }; G = {g 0 :  C 0,..., g i : C j... C k  C /,... }; Az absztrakt és konkrét objektumok az egymáshoz való viszonya:  : C  A  = (  0,...,  n ), ahol  0 : C 0  A 0 ;  1 : C 1  A 1 ;...;  n : C n  A n ; Definíció. A C objektumhalmazt az A objektumhalmaz egy reprezentánsának nevezzük az adott  mellett, ha minden a  A objektumnak létezik legalább egy c  C reprezentánsa, azaz a =  (c).

Tétel (reprezentáció tétele). Adva d a absztrakt és d c konkrét típusspecifikációk azonos szingatúrával.  : C  A morfizmus. F c  F a konstrukciós műveletek halmaza. Feltevés:  f c  F c konstrukciós műveletre fennáll a  A  f c (a)  A  c  C  g c (c)  C  a =  (c), esetén: Állítás. Ha (  c  C  f c  F c )(f c (  (c)) =  (g c (c))), akkor C objektumhalmaz az A egy reprezentációja. Bizonyítás. Strukturális indukcióval: Alapeset : a = f 0. f 0  A 0, g 0  C 0, feltevésünk szerint f 0 =  (g0). (Tehát a = f 0 esetén létezik olyan c  C 0, hogy a =  (c)). Indukció: a' = f c (a), ahol feltesszük, hogy a =  (c) és c  C 0. Tehát a' = f c (  (c)) és művelettartásra vonatkozó feltevésünk alapján: a'=  (g c (c)), és c' = g c (c) választás mellett a' =  (c') és c'  C 0.