Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

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.

Hasonló előadás


Az előadások a következő témára: "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."— Előadás másolata:

1 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.

2 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.

3 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).

4 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').

5 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;

6 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

7 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 )]);

8 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.

9 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;

10 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;

11 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.

12 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

13 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);

14 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.

15 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).

16 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.


Letölteni ppt "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."

Hasonló előadás


Google Hirdetések