SW wykład 12 - Slajd15: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Mengel (dyskusja | edycje)
Nie podano opisu zmian
 
Tarlecki (dyskusja | edycje)
Nie podano opisu zmian
 
Linia 2: Linia 2:


[[Grafika:sw1214.png|frame|center|]]
[[Grafika:sw1214.png|frame|center|]]
Rozpatrzmy prosty przykład w (rozszerzonym o wywołania dowolnych
funkcji w wyrażeniach) języku TINY. Ciało powyższej pętli albo
zmniejsza o jeden wartość zmiennej <math>y</math> albo zmniejsza o
jeden wartość zmiennej <math>x</math> zmieniając przy tym wartość
zmiennej <math>y</math> w bliżej nieokreślony sposób. Zakładamy
jednak, że zmiana ta nie powoduje błędu i nie wyprowadza poza liczby
naturalne.  Bez dalszych informacji o funkcji <math>f</math> nie można
liczyć na dowód całkowitej poprawności tej pętli na mocy pierwotnej
reguły dowodzenia całkowitej poprawności dla instrukcji pętli (opartej
o licznik o wartościach naturalnych). Jednak dowód całkowitej
poprawności zgodny z metodą przedstawioną na poprzednim slajdzie jest
łatwy: wystarczy rozważyć oczywistą funkcję w pary liczb naturalnych,
która przy każdym wykonaniu ciała pętli zmniejsza swą wartość względem
leksykograficznego (dobrze ufundowanego) porządku na takich parach.

Aktualna wersja na dzień 22:10, 16 paź 2006

<<powrót do strony wykładu

Zadanie programistyczne Przykład Problemy z logiką Hoare'a Poprawność całkowita Poprawność całkowita, c.d. Poprawność całkowita, c.d. Reguła dla pętli Poprawność systemu dowodzenia dla Tiny Pełność systemu dowodzenia dla Tiny Przykład Uogólnienie Poprawność i pełność Relacje dobrze ufundowane Dowodzenie poprawności całkowitej Przykład Przykład Kolejny problem Binarne warunki końcowe Warunki poprawności Reguły dowodzenia Reguły dowodzenia, c.d. Przykład Logika algorytmiczna System dowodzenia

Rozpatrzmy prosty przykład w (rozszerzonym o wywołania dowolnych funkcji w wyrażeniach) języku TINY. Ciało powyższej pętli albo zmniejsza o jeden wartość zmiennej y albo zmniejsza o jeden wartość zmiennej x zmieniając przy tym wartość zmiennej y w bliżej nieokreślony sposób. Zakładamy jednak, że zmiana ta nie powoduje błędu i nie wyprowadza poza liczby naturalne. Bez dalszych informacji o funkcji f nie można liczyć na dowód całkowitej poprawności tej pętli na mocy pierwotnej reguły dowodzenia całkowitej poprawności dla instrukcji pętli (opartej o licznik o wartościach naturalnych). Jednak dowód całkowitej poprawności zgodny z metodą przedstawioną na poprzednim slajdzie jest łatwy: wystarczy rozważyć oczywistą funkcję w pary liczb naturalnych, która przy każdym wykonaniu ciała pętli zmniejsza swą wartość względem leksykograficznego (dobrze ufundowanego) porządku na takich parach.