Frage

in lemma 30.3.9, Pierce steuert eine Confluence-Eigenschaft für $ f _ {\ omga} $ :

$ s \ to_ * t \ land s \ to_ * \ \ Impliziert \ existiert v. t \ to_ * v \ land u \ to_ * v $ < / p>

Er gibt dann den folgenden Vorschlag an:

$ S \ LEFTRIGHTARROW_ * T \ Impliziert \ existiert u \ s \ to_ * u \ land t \ to_ * u $

Er verwendet jedoch nicht das oben genannte Eigentum, um es zu beweisen. Ich erinnere mich daran, dass dies der Fall für andere Bücher auf den Begriffsrückschreibungssysteme war, die ich gelesen habe. Für mich sieht es jedoch sehr einfach aus, mit dem Confluence-Lemma zu beweisen.

aus $ s \ lightrightarrow_ * t $ man hat $ s \ to_ * t $ und < Span-Klasse="Math-Container"> $ s \ to_ * t \ to_ * s $ Somit durch Confluence $ \ existiert U. s \ to_ * \ land t \ to_ * u $ .

Warum ist dieser Ansatz nicht korrigiert?

War es hilfreich?

Lösung

$ S \ LEFTRIGHTARROW ^ * T $ bedeutet nicht, dass $ S \ Righarrow ^ * T $ und $ t \ Rightarrow ^ * s $ ! Es bedeutet, dass es eine Kette von Reduktionen gibt $ s= S_0 \ RightLEFTHARPOONS_1 S_1 \ RightLEFTHARPOONS_2 S_2 \ RightLEFTHARPOONS_3 \ CDS \ RightLEFTHARPOONS_N S_N= T $ wo jede der $ \ RightLEFTHARPOONS_I $ ist möglicherweise entweder $ \ RightOrrow $ oder $ \ auf dem freienProw $ . Die Anweisungen können beliebige Anzahl abwechseln.

Die Confluence-Eigenschaft impliziert allgemein, dass, wenn $ s \ lefTrightarrow ^ * t $ dann vorhanden ist $ W $ < / span> so, dass $ s \ rightarrow ^ * w \ still einarrow ^ * t $ , aber es dauert etwas mehr Arbeit, um es zu zeigen. Sie können Reduktionen in $ S \ LEFTRIGHTHARROW ^ * T $ bis aufeinander folgende Reduzierungen in derselben Richtung zusammenfügen: $ s= T_0 \ LISTEUPROW ^ * u_1 \ rightOrrow ^ * T_1 \ LeftAsteher ^ * u_2 \ RightsArrow ^ * T_2 \ LeftAsteher ^ * \ CDs \ LeftAsteher ^ * u_n \ rightarrow ^ * u_n \ rightarrow ^ * t $ t $ . Durch Zusammenfluss auf $ T_ {N-1} \ lancusarrow ^ * u_n \ rightarrow ^ * t_n $ , gibt es $ v_n $ so, dass $ T_ {N-1} \ RightArrow ^ * v_n \ lancusarrow ^ * t_n $ . Also haben wir $ T_ {N-2} \ lancusarrow ^ * u_ {n-1} ^ ^ ~ {n-1} \ rightarrow ^ * t_ {n-1} \ rightarrow ^ * v_n \ lancesarrow ^ * t_n $ .

$$ \ begin {matrix} & & & & & & & & & _ * \ Swarrow & & \ SEARROW ^ * & \ Swarrow & & \ * \ Swarrow & & \ searrow ^ * & \ * \ Swarrow & & \ searrow ^ * & \\ {N-2} & & & & & & & & & & & & & & & & & & &?? & \ color {grün} {\ searrow ^ *} & \ color {grün} {_ * \ Swarrow} & \\ & & & & &w. {{v_n} {v_n} & & & & & & & \ end {matrix} $$

Wenden Sie nun die Confluence-Eigenschaft erneut an $ T_ {N-2} \ lancusarrow ^ * u_ {n-1} \ rightarrow ^ * v_n $ , um < Span-Klasse="Math-Container"> $ v_ {n-1} $ so, dass $ T_ {N-2} \ RightArrow ^ * v_ {n-1} \ lindearrow ^ * v_n \ lancesOraw ^ * t_n $ . Wiederholen Sie sich, bis Sie $ W= V_1 $ so erhalten, dass $ T_0 \ RightArrow ^ * v_1 \ lancyArrow ^ * T_N $ . Formal ist dies ein Nachweis durch Induktion an der Anzahl der Anweisungen der Richtungswechsel in der Kette $ S \ LEFTRIGHTARROW ^ * T $ . Mit Confluence können Sie jeweils eine Abwechslung entfernen. In der farbenfrohen Sprache lässt Sie Confluence, dass Sie "eine Knicke knallen"; Jedes Mal, wenn Sie eine Knicke knallen, verbinden Sie zwei Depressionen zusammen, und wenn Sie dies weiterhin tun, erhalten Sie schließlich eine einzige Depression.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit cs.stackexchange
scroll top