Klarstellung bezüglich der Substitution im Folgenkalkül

Im Sequent Calculus-Artikel von Wikipedia heißt es:

A [ T / X ] bezeichnet die Formel, die man durch Einsetzen des Terms erhält T für jedes freie Vorkommen der Variable X in Formel A mit der Einschränkung, dass der Begriff T muss für die Variable frei sein X In A (d.h. kein Vorkommen irgendeiner Variablen in T wird eingebunden A [ T / X ] ).

Ist der fettgedruckte Text etwas falsch/verwirrend? Sollte es nicht heißen:

(d.h. kein Vorkommen einer freien Variablen in T wird eingebunden A [ T / X ] )

seit A kann bereits begrenzte Variablen haben.

Antworten (1)

Der ursprüngliche fettgedruckte Text ist korrekt. In der Tat, T ist ein Term, keine Formel, und daher können darin keine Quantifizierer oder andere Bindeglieder vorkommen, also jede darin vorkommende Variable T ist kostenlos (in T ) bei Notwendigkeit. Eigentlich ist Ihre Version des fettgedruckten Textes (der "kostenlos" hinzufügt) nicht falsch, sondern nur überflüssig: Das Hinzufügen von "kostenlos" ändert nichts an der Einschränkung.

Der Punkt ist, dass, wenn Sie ersetzen T für jedes kostenlose Auftreten von X In A , einige Variablen in T (die sind frei in T zwangsläufig, wie oben gesagt) gebunden werden können A [ T / X ] (wegen einiger Quantoren in A ), und das gilt es zu vermeiden.


Allgemeiner gesagt ist der Begriff „frei sein“ nicht absolut, sondern immer relativ zu einem Kontext, in dem Variablen auftreten. Die freien Variablen einer Formel A sind die Variablen, die frei vorkommen in A , dh die nicht durch irgendwelche Bindemittel gebunden sind A . Die freien Variablen eines Terms T sind die Variablen, die frei sind T , dh die nicht durch irgendwelche Bindemittel gebunden sind T (was immer der Fall ist, weil es in einem Begriff in der Logik erster Ordnung keine Binder gibt).

@Taroccoesbroco danke für die Klarstellung. Ich habe eine verwandte Frage gestellt, die Sie interessieren könnte: Substitution in Sequent Calculus vs Substitution in Lambda Calculus .
Kann ein Begriff T keine Variablen haben?
@joseville - Ja, zum Beispiel ein konstantes Symbol C ist ein Term ohne Variablen. Wenn die Sprache der Logik erster Ordnung ohne konstante Symbole ist, enthält jeder Term mindestens eine Variable.