In rechnerischer Hinsicht ist ein sequentieller Kalkülterm eine Sequentialisierung eines Lambda-Terms. Das heißt, als Typensystem betrachtet, kann die sequentielle Berechnung so gesehen werden, dass sie eine Bewertungsreihenfolge eines Lambda-Terms ergibt.
So nehme und & Ggr; ⊢ e 2 : A .Γ Γ e1: A → B.Γ Γ e2: A.
In natürlicher Ableitung lautet der Begriff für die Implikationseliminierung - dh Anwendung. Beachten Sie jedoch, dass dies uns nicht sagt, ob wirzuerst e 1 oder zuerst e 2 bewerten sollen.Γ Γ e1e2: B.e1e2
In der sequentiellen Berechnung muss eine entsprechende Zuordnung der Beweisbegriffe so aussehen
letf=e1inletv=e2inletx=fvinx
sonst muss es so aussehen
letv=e2inletf=e1inletx=fvinx
Hier ist die Let-Form der Beweisbegriff, der der Verwendung der Cut-Regel entspricht, und da alle linken Regeln nur auf Hypothesen / Variablen wirken, zwingt dies uns, alle Zwischenergebnisse an Variablen zu binden. Diese Anforderung stellt sicher, dass wir gezwungen sind, explizit zu sagen, welches von oder e 2 wir zuerst reduzieren und an eine Variable binden.e1e2
Für rein funktionale Sprachen spielt diese Aussage keine Rolle, aber wenn Sie Effekte hinzufügen, wird es einfacher, mit sequentiellen Kalkülen zu arbeiten. Aus diesem Grund werden Dinge wie Steuereffektkalküle / klassische Logik typischerweise als sequentielle Kalküle dargestellt.