Angenommen, wir haben eine einfache Sprache, die aus folgenden Begriffen besteht:
- t r u e
true - f a l s e
false - Wenn Terme sind, ist dies aucht 1 , t 2 , t 3
t1,t2,t3 i ft 1t h e nt 2e l s et 3ift1thent2elset3
Nehmen wir nun folgende logische Auswertungsregeln an:
ich ft r u et h e nt 2e l s et 3 → t 2 [E-IfTrue]ich ff a l s et h e nt 2e l s et 3 → t 3 [E-IfFalse]t1→t ' 1ich ft 1t h e nt 2e l s et 3 → i ft ' 1t h e nt 2e l s et 3 [E-If]
Angenommen, wir fügen auch die folgende Funky-Regel hinzu:
t 2 → t ' 2ich ft 1t h e nt 2e l s et 3 → i ft 1t h e nt ' 2e l s et 3 [E-IfFunny]
Für diese einfache Sprache mit den gegebenen Bewertungsregeln möchte ich folgendes beweisen:
Theorem: Wenn und r \ rightarrow t, dann gibt es einen Ausdruck u, so dass s \ rightarrow u und t \ rightarrow u .r→s
Ich beweise dies durch Induktion auf die Struktur von r
Beweis. Durch Induktion von r
- r
r ist eine Konstante, nichts zu beweisen, da eine normale Form nichts wertet. - r=
r= wenn dann sonst . (a) Beide Ableitungen wurden mit der E-IfTrue-Regel durchgeführt. In diesem Fall ist , es gibt also nichts zu beweisen. (b) Eine Ableitung wurde mit der E-IfTrue-Regel durchgeführt, die andere mit der E-Funny-Regel. Angenommen mit E-iftrue, der andere Fall ist äquivalent bewiesen gemacht wurde. Wir wissen jetzt, dass . Wir wissen auch, dass wenn wahr, dann sonst und dass es eine Ableitung (die Voraussetzung) gibt. Wenn wir nun wählen , schließen wir den Fall ab.r2r2 r3r3 s=ts=t r→sr→s s=r2s=r2 t=t= r′2r′2 r3r3 r2→r′2r2→r′2 u=r′2u=r′2 - r=
r= wenn falsch dann sonst . Äquivalent wie oben bewiesen.r2r2 r3r3 - r=
r= wenn dann sonst mit wahr oder falsch. (a) Beide Ableitungen wurden mit der E-If-Regel durchgeführt. Wir wissen jetzt, dass wenn dann sonst und wenn dann sonst . Wir wissen auch, dass es die Ableitungen und (die Prämissen) gibt. Wir können jetzt die Induktionshypothese verwenden, um zu sagen, dass es einen Term so dassr1r1 r2r2 r3r3 r1≠r1≠ s=s= r′1r′1 r2r2 r3r3 t=t= r″1r′′1 r2r2 r3r3 r1→r′1r1→r′1 r1→r″1r1→r′′1 r‴1r′′′1 r′1→r‴1r′1→r′′′1 und . Wir schließen den Fall nun mit wenn dann sonst und bemerken, dass und durch die E-If-Regel sind. (b) Eine Ableitung wurde durch die E-If-Regel und eine durch die E-Funny-Regel durchgeführt.r″1→r‴1r′′1→r′′′1 u=u= r‴1r′′′1 r2r2 r3r3 s→us→u t→ut→u
Letzterer Fall, in dem eine Ableitung von E-If und eine von E-Funny vorgenommen wurde, ist der Fall, den ich vermisse ... Ich kann die Hypothesen anscheinend nicht verwenden.
Hilfe wird sehr geschätzt.
Antworten:
, , wurde der E-If-Regel abgeleitet und wurde durch Anwendung der E-Funny-Regel abgeleitet: Also wobei und Dabei ist .r=ift1thent2elset3r=ift1thent2elset3 ss tt s=ift′1thent2elset3s=ift′1thent2elset3 t1→t′1t1→t′1 t=ift1thent′2elset3t=ift1thent′2elset3 t2→t′2t2→t′2
Die wir suchen ist . folgt aus der Regel E-Funny und folgt aus der Regel E-If.uu u=ift′1thent′2elset3u=ift′1thent′2elset3 s→us→u t→ut→u
quelle
Ein wenig Terminologie kann helfen , wenn Sie diese bis suchen wollen: Diese Regeln sind Umschreiben Regeln , sie haben nichts mit Typ systems¹ zu tun. Die Eigenschaft, die Sie nachweisen möchten, heißt Zusammenfluss . Insbesondere ist es eine starke Konfluenz : Wenn ein Begriff in einem Schritt auf unterschiedliche Weise reduziert werden kann, können sie im nächsten Schritt wieder zusammenlaufen. Im Allgemeinen erlaubt die Konfluenz, dass es eine beliebige Anzahl von Schritten gibt und nicht nur einen: Wenn r → ∗ s und r → ∗ t, dann gibt es u so, dass s → ∗ u und t → ∗ ur→∗s r→∗t u s→∗u t→∗u - Wenn ein Begriff auf unterschiedliche Weise gekürzt werden kann, unabhängig davon, wie weit sie auseinander gegangen sind, können sie schließlich wieder zusammenlaufen.
Der beste Weg, eine Eigenschaft derartiger induktiv definierter Umschreibregeln zu beweisen, besteht in der Induktion über die Struktur der Herleitung der Reduktion und nicht über die Struktur des reduzierten Terms. Hier funktioniert beides, weil die Regeln der Struktur des linken Ausdrucks folgen, aber die Begründung der Regeln ist einfacher. Anstatt in den Begriff einzutauchen, nehmen Sie alle Regelpaare und sehen, welcher Begriff für beide eine linke Seite sein könnte. In diesem Beispiel erhalten Sie am Ende die gleichen Fälle, jedoch etwas schneller.
In dem Fall, dass Sie Schwierigkeiten haben, reduziert eine Seite den "Wenn" -Teil und die andere Seite den "Dann" -Teil. Es gibt keine Überlappung zwischen den beiden Teilen, die sich ändern ( t 1 in [E-If], t 2 in [E-IfFunny]), und es gibt keine Einschränkung für t 2 in [E-If] oder für t 1 in [E- IfFunny]. Also, wenn Sie einen Begriff haben, für den beide Regeln gelten - die müssen von der Form i f seint1 t2 t2 t1 r 1t h e nr 2e l s er 3 können Sie die Regeln in beliebiger Reihenfolge anwenden:ifr1thenr2elser3
ich fr 1t h e nr 2e l s er 3[E-If] ↙↘ [E-IfFunny] i fr ' 1t h e nr 2e l s er 3ich fr 1t h e nr ' 2e l s er 3 [E-IfFunny] ↘↙ [E-If]ich fr ' 1t h e nr ' 2e l s er 3
¹ Manchmal sieht man Typen und Umschreiben zusammen, aber im Kern handelt es sich um orthogonale Konzepte.
quelle