24.01.2014 Views

Formalny opis rachunku lambda i nie tylko, kolejna wersja

Formalny opis rachunku lambda i nie tylko, kolejna wersja

Formalny opis rachunku lambda i nie tylko, kolejna wersja

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Na chwilę pomalujmy na czerwono redeks R i . Powoduje to, że wszystkie termy<br />

z redukcji od C k do B i zawierają po jednym czerwonym redeksie. W termie B i<br />

czerwonym redeksem jest Q i . Redukując go otrzymujemy B i+1 , term bez zielonych<br />

oraz bez czerwonych redeksów. Term B i+1 jest więc postacią normalną termu<br />

C k dla redukcji kolorowych redeksów. Do postaci normalnej dochodzimy zawsze,<br />

redukując kolorowe redeksy w dowolnej kolejności. Możemy więc najpierw w termie<br />

C k zredukować redeks czerwony (otrzymujemy A i+1 ), a następ<strong>nie</strong> redukować<br />

redeksy zielone zawsze biorąc pierwszy redeks od lewej. Redukując w ten sposób<br />

też otrzymamy postać normalną. W szczególności, ist<strong>nie</strong>je normalna dla zielonych<br />

redeksów redukcja termu A i+1 do B i+1 i standardowa od C k do B i+1 .<br />

Znowu są możliwe dwa przypadki:<br />

Przypadek 2.2.1: k > 0.<br />

W tym przypadku redukcja prowadząca od A 0 do A i , dalej od A i (oznaczanego<br />

też C 0 ) do C k i na ko<strong>nie</strong>c do A i+1 otrzymanego z termu C k przez redukcję redeksu<br />

R i jest standardowa. Jej standardowość wynika z definicji k.<br />

Dodając do <strong>nie</strong>j standardową redukcję prowadzącą od C k do B i+1 otrzymujemy<br />

standardową redukcję od A 0 do B i+1 .<br />

Przypadek 2.2.2: k = 0. Teraz mamy dwie redukcje od A 0 do A i oraz od A i do<br />

A i+1 i dalej do B i+1 , obie standardowe, ale <strong>nie</strong> jest jasne, czy łącząc je otrzymamy<br />

redukcję standardową. Sytuacja została przedstawiona na poniższym rysunku:<br />

C ′ 0 → β C ′ 1 → β C ′ 2 → β . . . → β C ′ n → β B i−1<br />

R i−1 ↓ β<br />

A i<br />

Z 0<br />

−→β C 1<br />

Z 1<br />

−→β C 2<br />

Z 2<br />

−→β . . .<br />

R i ↓ β<br />

Z m−1<br />

−→β C m<br />

Z m<br />

−→β<br />

Q i−1 ↓ β<br />

B i<br />

Q i ↓ β<br />

A i+1 → β . . . → β B i+1<br />

Redeks R i−1 (zgod<strong>nie</strong> z oznaczeniami z rysunku) jest równy p ∗ C ′ 0 ,B i−1 (Q i−1), a redeks<br />

R i = p ∗ A i ,B i<br />

(Q i ). Konstrukcja tych redeksów gwarantuje rów<strong>nie</strong>ż, że leżą one na<br />

lewo od zielonych redeksów w odpowiednich termach.<br />

Aby wspomniane redukcje po połączeniu dały redukcję standardową, redeks<br />

R i−1 powi<strong>nie</strong>n być po lewej stro<strong>nie</strong> redeksu p C ′<br />

0 ,A i<br />

(R i ). Są to różne redeksy. Dla<br />

dowodu <strong>nie</strong> wprost załóżmy, że R i−1 jest po prawej stro<strong>nie</strong> p C ′<br />

0 ,A i<br />

(R i ), a więc słowo<br />

pref C ′<br />

0<br />

(p C ′<br />

0 ,A i<br />

(R i )) samo jest prefiksem pref C ′<br />

0<br />

(R i−1 ).<br />

Na mocy lematu 9.9 zachodzi równość<br />

pref Ai<br />

(R i ) = pref Ai<br />

(p ∗ A i ,B i<br />

(Q i )) = pref Bi<br />

(Q i ).<br />

Z tego samego powodu zachodzi też równość<br />

pref C ′<br />

0<br />

(R i−1 ) = pref C ′<br />

0<br />

(p ∗ C ′ 0 ,B i−1 (Q i−1)) = pref Bi−1<br />

(Q i−1 ).<br />

Z z założenia dowodu <strong>nie</strong> wprost i lematu 8.6 otrzymujemy, że<br />

pref C ′<br />

0<br />

(p C ′<br />

0 ,A i<br />

(R i )) = pref Ai<br />

(R i ).<br />

Teraz do redukcji od C ′ 0 do B i−1 i p C ′<br />

0 ,A i<br />

(R i ) zastosujmy lemat 9.8. Wynika z <strong>nie</strong>go,<br />

że dla pewnego podtermu N wyrażenia B i−1 mamy<br />

pref C ′<br />

0<br />

(p C ′<br />

0 ,A i<br />

(R i )) = pref Bi−1<br />

(N).<br />

23

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!