Term
In der Mathematik ist ein Term ein sinnvoller Ausdruck, der Zahlen, Variablen, Symbole für mathematische Verknüpfungen und Klammern enthalten kann. Terme sind die syntaktisch korrekt gebildeten Wörter oder Wortgruppen in der formalen Sprache der Mathematik.
In der Praxis wird der Begriff häufig benutzt, um über einzelne Bestandteile einer Formel oder eines größeren Terms zu reden. So kann man bspw. für die lineare Funktion f(x)=mx+b{displaystyle f(x)=mx+b} von einem linearen Term mx{displaystyle mx} und einem konstanten Term b{displaystyle b} reden.
Inhaltsverzeichnis
1 Umgangssprachliche Erklärung
2 Formale Definition
2.1 Anmerkungen
2.2 Beispiel
3 Anwendungen
4 Algebraische Umformungen
5 Abgrenzung zum Ausdruck
5.1 Ausdrücke
5.2 Beispiel
6 Terme in vielsortiger Logik
7 Ausdrücke in der vielsortigen Logik
8 Termauswertung
9 Gültigkeit von Ausdrücken
10 Einzelnachweise und Anmerkungen
11 Literatur
12 Weblinks
Umgangssprachliche Erklärung |
Der Begriff „Term“ wird umgangssprachlich für alles verwendet, das eine Bedeutung trägt. Im engeren Sinn sind mathematische Gebilde gemeint, die man prinzipiell ausrechnen kann, zumindest wenn man den darin enthaltenen Variablen Werte zugewiesen hat. So ist zum Beispiel (x+y)2{displaystyle (x+y)^{2}} ein Term, denn weist man den darin enthaltenen Variablen x{displaystyle x} und y{displaystyle y} einen Wert zu, so erhält auch der Term einen Wert. Statt Zahlen können hier auch andere mathematische Objekte in Betracht kommen,[1] so ist etwa (p1∨¬p2)∧p3{displaystyle (p_{1}vee neg p_{2})wedge p_{3}} ein Term, der einen Wert erhält, wenn man den booleschen Variablen p1,p2,p3{displaystyle p_{1},p_{2},p_{3}} einen Wahrheitswert zuordnet.[2] Im Normalfall (einsortige Logik) nimmt die genaue mathematische Definition allerdings keinen Bezug auf die möglichen Wertzuweisungen, wie unten ausgeführt wird.
Grob kann man sagen, dass ein Term eine Seite einer Gleichung oder Relation, z. B. einer Ungleichung, ist. Die Gleichung oder Relation selbst ist kein Term, sie besteht aus Termen.
Mit Termen können üblicherweise folgende Operationen ausgeführt werden:
ausrechnen (dazu rechnet man erst die „inneren“ Funktionen aus und dann die äußeren): (2+3)2=52=25{displaystyle (2+3)^{2}=5^{2}=25}
- nach bestimmten Rechenregeln umformen: (x+y)2=x2+2xy+y2{displaystyle (x+y)^{2}=x^{2}+2xy+y^{2}} durch Anwendung des Distributivgesetzes und einiger anderer „erlaubter“ Regeln.
- miteinander vergleichen, falls Relationen für die passenden Typen definiert sind: 2xy≤x2+y2{displaystyle 2xyleq x^{2}+y^{2}}
- ineinander einsetzen (oft wird ein Term anstelle einer Variable eines anderen Terms eingesetzt). Eine spezielle Form der Einsetzung ist die Substitution, bei der ein Term mit Variablen durch einen anderen Term mit Variablen (meist eine einzelne Variable) ersetzt wird: (x+y)2{displaystyle (x+y)^{2}} entsteht aus z2{displaystyle z^{2}} durch Ersetzung von z{displaystyle z} durch x+y{displaystyle x+y}.
Häufig werden Terme oder Teilterme nach ihrer inhaltlichen Bedeutung benannt. Im Term 12mv2+mgh{displaystyle {tfrac {1}{2}}mv^{2}+mgh}, der in der Physik die Gesamtenergie eines Massepunktes beschreibt, nennt man den ersten Summanden „Term der kinetischen Energie“ und den zweiten „Term der potentiellen Energie“. Oft werden auch charakteristische Eigenschaften zur Benennung herangezogen. So ist mit dem „quadratischen Term“ in x3+7x2−2x+1{displaystyle x^{3}+7x^{2}-2x+1} der Teilterm 7x2{displaystyle 7x^{2}} gemeint, weil dies der Teilterm ist, der die Variable x{displaystyle x} in quadrierter Form enthält.
Formale Definition |
Die genaue mathematische Definition eines Terms, wie sie in der mathematischen Logik gegeben wird, benennt Regeln, nach denen Terme aufgebaut werden. Ein Term ist dann jeder Ausdruck, der durch Anwendung solcher Regeln entsteht:[3][4]
- Jedes Variablensymbol v{displaystyle v} ist ein Term.
- Jedes Konstantensymbol c{displaystyle c} ist ein Term.
- Ist f{displaystyle f} ein k{displaystyle k}-stelliges Funktionssymbol und sind t1,…,tk{displaystyle t_{1},dotsc ,t_{k}} Terme, so ist f(t1,…,tk){displaystyle f(t_{1},dotsc ,t_{k})} ein Term.
Die Menge aller Terme zu einer gegebenen Signatur S{displaystyle {boldsymbol {S}}} und Variablenmenge V{displaystyle {mathcal {V}}} sei TS,V{displaystyle {boldsymbol {mathcal {T}}}_{{boldsymbol {S}},{mathcal {V}}}}, für Terme ohne Variablen (V=∅{displaystyle {mathcal {V}}=emptyset }) einfach TS{displaystyle {boldsymbol {mathcal {T}}}_{boldsymbol {S}}}.
Durch die Funktionssymbole werden Verknüpfungen verschiedener Stelligkeit zwischen den Elementen von TS,V{displaystyle {boldsymbol {mathcal {T}}}_{{boldsymbol {S}},{mathcal {V}}}} bzw. TS{displaystyle {boldsymbol {mathcal {T}}}_{boldsymbol {S}}} induziert, mit denen diese Mengen von Zeichenketten selbst zu einer algebraischen Struktur, der Termalgebra bzw. Grundtermalgebra werden.
Siehe auch Elementare Sprache: §Terme, Logische Formeln.
Anmerkungen |
- Betrachtet man die mit + bezeichnete Addition, ist nach obiger, formaler Definition +(x,y){displaystyle +(x,y)} ein Term, x+y{displaystyle x+y} hingegen nicht. Trotzdem zieht man die leichter lesbare Form x+y{displaystyle x+y} vor, letzteres ist eine alternative, vorteilhafte Schreibweise für den korrekten Term +(x,y){displaystyle +(x,y)}. Demnach ist die Zeichenkette x+y{displaystyle x+y} ein Name für einen Term, das heißt ein metasprachlicher Ausdruck für einen Term. Solange klar ist, dass man solche Zeichenketten jederzeit in die formal korrekte Schreibweise zurückübersetzen könnte, wenn man das wollte, entstehen hier keine Schwierigkeiten.
- Manche Funktionen (beispielsweise die Potenzfunktion, Multiplikation mit Variablen) werden statt durch ein eigenes Funktionssymbol durch Positionierung der Terme zueinander dargestellt (beispielsweise xy{displaystyle x^{y}} oder xy{displaystyle xy})
- Bei verschachtelten Klammersetzungen werden manchmal auch [ ] und { } eingesetzt, um die Zusammengehörigkeit der Klammern deutlicher zu machen, z. B. [2(x+y)]2{displaystyle [2(x+y)]^{2}}
- Es gibt auch klammerfreie Notationen wie etwa die polnische Notation, diese sind in der Regel aber nicht so leicht zu lesen. Die dritte obige Definitionszeile lautet in dieser Notation (vergleiche: Prädikatenlogik erster Stufe §Terme):
o Ist f{displaystyle f} ein k-stelliges Funktionssymbol und sind t1,…,tk{displaystyle t_{1},dotsc ,t_{k}} Terme, so ist ft1,…,tk{displaystyle ft_{1},dotsc ,t_{k}} ein Term.
- Gelegentlich werden die Konstanten als nullstellige Funktionen subsumiert, was sich besonders natürlich in der klammerfreien Notation darstellt.
- Von einem möglichen Einsetzen von Werten in die Variablen, wie es in der obigen umgangssprachlichen Beschreibung vorkam, ist hier gar nicht die Rede. „Term“ ist hier ein rein syntaktischer Begriff, denn er muss nur gewissen Aufbauregeln genügen. Terme erhalten im Nachhinein eine semantische Bedeutung, indem man die möglichen Werte von Variablen in sogenannten Modellen einschränkt. Die Terme (x+y)2{displaystyle (x+y)^{2}} und x2+2xy+y2{displaystyle x^{2}+2xy+y^{2}} sind zunächst als Zeichenketten verschieden. Betrachtet man diese Terme aber im Modell der reellen Zahlen, so zeigt sich, dass sie stets dieselben Werte annehmen. Die Termgleichheit (x+y)2=x2+2xy+y2{displaystyle (x+y)^{2}=x^{2}+2xy+y^{2}} ist dann so zu verstehen, dass Gleichheit für alle x,y∈R{displaystyle x,yin mathbb {R} } besteht. Für andere Modelle kann das durchaus falsch sein, wie zum Beispiel für die Menge der 2×2{displaystyle 2{times }2}-Matrizen.
- Die hier wiedergegebene Definition umfasst keine Terme mit gebundenen Variablen, wie etwa vielgliedrige Summen ∑i=1ni2{displaystyle sum _{i=1}^{n}i^{2}}, Integrale ∫absin(k⋅t)dt{displaystyle int _{a}^{b}sin(kcdot t)dt} oder Grenzwerte limn→∞(2⋅n+3)/n{displaystyle lim _{nto infty }(2cdot n+3)/n}. Da bei der Einbindung von Quantoren in Ausdrücke (s. u.) ebenfalls gebundene Variablen vorkommen, gibt dies ein Beispiel, wie das geschehen könnte.[5] Wie bei den Ausdrücken wird man dann Terme ohne freie Variablen als geschlossen bezeichnen. Ihre Wertzuweisung hängt dann nicht von der Variablenbelegung (s. u. §Termauswertung) ab.[6]
- Neuerdings gewinnt die Baumdarstellung von Termen zunehmend an Bedeutung. Eine ausführliche Darstellung findet sich bei Kleine Büning (2015).[7]
Beispiel |
xy4{displaystyle {tfrac {xy}{4}}} ist ein Term, denn
x{displaystyle x} und y{displaystyle y} sind Terme (als Variablen),
4{displaystyle 4} ist ein Term (als Konstante),
xy{displaystyle xy} ist ein Term („multipliziere(x,y){displaystyle operatorname {multipliziere} (x,y)}“),
xy4{displaystyle {tfrac {xy}{4}}} ist ein Term (Das Divisionssymbol ist der Bruchstrich(−{displaystyle -}) gleich wie xy:4{displaystyle xy:4}, „dividiere(multipliziere(x,y),4){displaystyle operatorname {dividiere} (operatorname {multipliziere} (x,y),4)}“)
Anwendungen |
Bildet man einen Term mit Variablen, so beabsichtigt man in Anwendungen häufig ein Ersetzen dieser Variablen durch bestimmte Werte, die einer gewissen Grundmenge bzw. Definitionsmenge entstammen. Zum Begriff des Terms selbst ist die Angabe einer solchen Menge nach obiger, formaler Definition nicht erforderlich. Man interessiert sich dann nicht mehr für den abstrakten Term, sondern für eine durch diesen Term definierte Funktion in einem bestimmten Modell.
So lautet eine Faustformel zum Ausrechnen des Anhalteweges (Bremsweg plus Reaktionsweg) eines Autos in Metern (x10)2+(x10⋅3){displaystyle left({tfrac {x}{10}}right)^{2}+left({tfrac {x}{10}}cdot 3right)}. Diese Zeichenkette ist ein Term. Wir beabsichtigen, für x{displaystyle x} die Geschwindigkeit des Autos in km pro Stunde einzusetzen, um den Wert, den der Term dann annimmt, als Bremsweg in Metern zu verwenden.
Wenn ein Auto zum Beispiel 160 km/h fährt, liefert die Formel (16010)2+(16010⋅3){displaystyle left({tfrac {160}{10}}right)^{2}+left({tfrac {160}{10}}cdot 3right)} einen Anhalteweg von 304 m.
Wir verwenden den Term hier zur Definition der Zuordnungsvorschrift einer Funktion f:R0+→R0+{displaystyle fcolon mathbb {R} _{0}^{+}to mathbb {R} _{0}^{+}}, x↦(x10)2+(x10⋅3){displaystyle xmapsto left({tfrac {x}{10}}right)^{2}+left({tfrac {x}{10}}cdot 3right)}.
Terme selbst sind weder wahr noch falsch und haben auch keine Werte. Erst in einem Modell, das heißt mit Angabe einer Grundmenge für die auftretenden Variablen, können Terme Werte annehmen.
Algebraische Umformungen |
Lange, komplizierte Terme können oft vereinfacht werden, indem man auf sie Rechenregeln anwendet, die den Wert des Terms unverändert lassen, beispielsweise das Kommutativgesetz, Assoziativgesetz oder Distributivgesetz:
(x+y)(x−y){displaystyle (x+y)(x-y)} Ausmultiplizieren
=x2−xy+yx−y2{displaystyle =x^{2}-xy+yx-y^{2}} Kommutativgesetz anwenden
- =x2−y2{displaystyle =x^{2}-y^{2}}
Der Begriff des Terms sieht gemäß obiger Definition solche Umformungen nicht vor, es handelt sich jeweils um verschiedene Terme. Mit diesen algebraischen Umformungen ist stets gemeint, dass sich die Werte, die ein Term bei Wahl einer bestimmten Grundmenge annehmen kann, durch diese Umformungen nicht ändern. Das hängt von der Grundmenge ab! So sind obige Umformungen nur in solchen Grundmengen korrekt, in denen die verwendeten Gesetze wie zum Beispiel das Kommutativgesetz gelten.
Solche algebraischen Umformungen werden trotzdem Termumformungen genannt, da man nach in der vereinbarten Grundmenge geltenden Regeln von einem Term zu einem anderen übergeht, ohne dessen mögliche Werte zu ändern. Es werden damit folgende Ziele verfolgt:
- Vereinfachung von Termen
- Aufpumpen von Termen zur Erzeugung gewünschter Strukturen wie zum Beispiel bei der quadratischen Ergänzung
- Herauspräparieren gewünschter Teilterme wie zum Beispiel bei der Cardanischen Formel: (u+v)3=u3+v3+3uv(u+v){displaystyle (u+v)^{3}=u^{3}+v^{3}+3uv(u+v)}
Abgrenzung zum Ausdruck |
Ausdrücke |
Ein Ausdruck[8] ist wie ein Term eine formale Zeichenkette; ihr Aufbau ist gemäß einer Logik definiert, z. B. der Prädikatenlogik. In der Prädikatenlogik erster Stufe mit Gleichheit definiert man:[9][10]
- Sind t1,t2{displaystyle t_{1},t_{2}} Terme, so ist t1=t2{displaystyle t_{1}=t_{2}} ein Ausdruck.
- Sind t1,…,tk{displaystyle t_{1},dotsc ,t_{k}} Terme und ist R{displaystyle R} ein k{displaystyle k}-stelliges Relationssymbol, so ist Rt1…tk{displaystyle Rt_{1}dotso t_{k}} ein Ausdruck.
- Sind φ{displaystyle varphi } und ψ{displaystyle psi } Ausdrücke, so sind auch (φ∧ψ){displaystyle (varphi land psi )}, (φ∨ψ){displaystyle (varphi lor psi )}, (φ→ψ){displaystyle (varphi rightarrow psi )}, (φ↔ψ){displaystyle (varphi leftrightarrow psi )}, (∃xφ){displaystyle (exists xvarphi )} und (∀xφ){displaystyle (forall xvarphi )} Ausdrücke.[11]
Damit kann durch mehrfache Anwendung dieser Bildungsgesetze beliebig komplizierte Ausdrücke aufbauen. Nach dieser Definition kann man Terme grob als das beschreiben, was auf einer Seite einer Gleichung stehen oder in eine Relation eingesetzt werden kann; Terme sind genau diese Bestandteile von Ausdrücken.
Die genaue Definition des Ausdrucks hängt von der betrachteten Logik ab, in der Prädikatenlogik zweiter Stufe nimmt man beispielsweise noch das Einsetzen von Termen in Relationsvariablen und Quantifizierungen über Relationen hinzu.
Beispiel |
Zur Beschreibung der reellen Zahlen benutzt man für die Multiplikation das Verknüpfungszeichen ⋅{displaystyle cdot } und für die Ungleichung das Relationssymbol ≤{displaystyle leq }, ferner Konstanten wie 0, 1, 2, … Sind x,y{displaystyle x,y} Variablen, so sind definitionsgemäß auch
x⋅x{displaystyle xcdot x}, die Konstante 0 und y{displaystyle y} Terme.
Nach Definition des Ausdrucks sind
x⋅x=y{displaystyle xcdot x=y} und 0≤y{displaystyle 0leq y}
Ausdrücke, denn die erste Zeichenkette ist die Gleichheit zweier Terme; die zweite ist eine Relation, in die zwei Terme eingesetzt wurden. Damit ist auch
- 0≤y→(∃x(x⋅x=y)){displaystyle 0leq yrightarrow (exists x(xcdot x=y))}
ein Ausdruck und schließlich
- ∀y(0≤y→(∃x(x⋅x=y))){displaystyle forall y(0leq yrightarrow (exists x(xcdot x=y)))}
Dieser Ausdruck ist im Modell der reellen Zahlen wahr. Es ist wichtig zu verstehen, dass obiger Aufbau des Ausdrucks kein Beweis ist; es handelt sich lediglich um die Bildung einer Zeichenkette nach gewissen Regeln. Wahr oder falsch kann eine damit einhergehende Aussage erst in einem Modell sein, dort kann sie gegebenenfalls bewiesen werden. Obige Aussage ist im Modell der rationalen Zahlen bekanntlich falsch.
Terme in vielsortiger Logik |
Bei der Betrachtung heterogener Strukturen wie zum Beispiel Vektorräumen teilt man die Objekte gerne in verschiedene Sorten ein, bei Vektorräumen etwa Vektoren und Skalare. Die auftretenden Terme sind dann nach diesen Sorten zu unterscheiden. Als weitere Komponenten der Theorie kommt daher zunächst eine Menge T{displaystyle T} von Sortenbezeichnern hinzu.
Durch die vielsortige Signatur S{displaystyle {boldsymbol {S}}} wird den Symbolen nicht nur eine einfache Stelligkeitszahl zugeordnet, sondern (bei Relationen und Funktionen) eine Sequenz (Tupel) von Argumentsorten, und (bei Konstanten und Funktionen) eine Wertsorte.
Bezüglich der Variablensorten finden sich in der Literatur im Wesentlichen zwei Vorgehensweisen:[12]
- Es wird eine einzige Variablenmenge V{displaystyle {mathcal {V}}} vorgesehen. Eine (ggf. nur partielle) Abbildung ν:V↛T{displaystyle nu :{mathcal {V}}not to T}, die Variablenbezeichnern eine Sorte zuordnet, heißt Variablendeklaration;[13] eine Variable aus dem Definitionsbereich der Variablendeklararion heißt deklariert. Bei der Interpretation kann diese im Skopus (Wirkungsbereich) des jeweiligen Quantors ersetzt werden durch eine lokale Variante (lokal modifizierte Variablendeklaration)[14]
- Andere Autoren grenzen dagegen die Symbolmengen für die Variablen verschiedener Sorten streng voneinander ab und benutzen jeweils für jede Sorte eine eigene Menge an Variablensymbolen. Die Variablen werden z. B durch einen Sortenindex gekennzeichnet. Die Zuweisung ν{displaystyle nu } einer Sorte zu einer Variablen ist fest und wird nicht lokal modifiziert.[15]
Eine spezielle Bedeutung kommt – wenn vorhanden – der Sorte der logischen Wahrheitswerte {false,true}{displaystyle {operatorname {false} ,operatorname {true} }} zu, sie sei hier mit logical{displaystyle operatorname {logical} } bezeichnet. Relationen können entsprechend ihrer charakteristischen Funktion als Prädikate aufgefasst werden.[16] Insbesondere entsprechen nullstellige Relationen logischen Konstanten, so wie nullstellige Funktionen einer Bildsorte den Konstanten dieser Sorte entsprechen.[17]
Bei der rekursiven Definition der Terme wird auf deren Sortigkeit Bezug genommen, um die in der Einleitung angesprochenen syntaktischen Eigenschaften zu erzielen: Falsche Sortenbeziehungen erscheinen als Syntaxfehler.
Ausdrücke in der vielsortigen Logik |
Ähnlich wie vielsortige Terme werden bei gegebener vielsortiger Signatur die Sortender Argumente und Bildwerte berücksichtigt. Die rekursive Definition zunächst atomarer und dann allgemeiner Formeln (Ausdrücke) erfolgt nach dieser Maßgabe. Falsche Sortenzuweisungen werden daher als Syntaxfehler ausgewiesen.
Im Fall flexibler Variablendeklaration ist zu beachten, dass im Skopus (Geltungsbereich) der Quantoren lokal modifizierte Variablendeklarationen zum Tragen kommen. Auf diese Weise können in diesem Fall dieselben Variablen für unterschiedliche Sorten genutzt werden. Für den Fall, dass eine Variable x{displaystyle x} bereits außerhalb der Quantoren deklariert ist, d. h. wenn x{displaystyle x} bereits im ursprünglichen Definitionsbereich der Deklaration ν{displaystyle nu } enthalten ist, wird diese lokal überschrieben.[18]
Termauswertung |
Sei gegeben eine S{displaystyle {boldsymbol {S}}}-Struktur A{displaystyle {mathcal {A}}} mit Interpretationsfunktion α{displaystyle alpha },
V{displaystyle {mathcal {V}}} der Vorrat an Variablennamen. Im vielsortigen Fall sei zusätzlich gegeben eine Variablendeklaration mittels einer (ggf. nur partiellen) Abbildung ν: V↛T{displaystyle nu {:} {mathcal {V}}not to T}.
Sei nun gegeben eine Variablenbelegung (auch Variablenzuweisung[19]) β{displaystyle beta }. Im einsortigen Fall ist das eine (eventuell nur partielle) Abbildung β: V↛A{displaystyle beta {:} {mathcal {V}}not to A}, im vielsortigen Fall sei für jede Variable x{displaystyle x} das Bild (sofern zugewiesen) ein Element des Wertebereichs der deklarierten Sorte: β(x)∈Aν(x){displaystyle beta (x)in A_{nu (x)}}.
Durch die Variablenbelegung β{displaystyle beta } wird den Termen t{displaystyle t} ein Wert [[t]]{displaystyle [![t]!]} zugeordnet wie folgt:[20][21][22]
[[x]]=β(x){displaystyle [![color {blue}xcolor {black}]!]=beta (color {blue}xcolor {black})} für Variablen x∈V{displaystyle color {blue}xcolor {black}in {mathcal {V}}},
[[f(t1,…tn)]]=α(f)([[t1]],…[[tn]]){displaystyle [![color {blue}f(t_{1},dots t_{n})color {black}]!]=alpha (color {blue}fcolor {black})([![color {blue}t_{1}color {black}]!],dots [![color {blue}t_{n}color {black}]!])} für ein Funktionssymbol f{displaystyle color {blue}fcolor {black}} der Stelligkeit n=σ(f){displaystyle n=sigma (color {blue}fcolor {black})}.
Zeichen und Zeichenketten über dem Gesamtalphabet sind oben zur Verdeutlichung blau hervorgehoben:
- Auf der linken Seite steht die Auswertung eines Terms, also einer Zeichenkette (endliche Folge von Symbolen).
- Auf der rechten Seite wird eine Funktion (Verknüpfung) α(f){displaystyle alpha (f)} angewendet auf ihre Argumente [[t1]],[[t2]],…{displaystyle [![t_{1}]!],[![t_{2}]!],dots }.
Konstanten lassen sich als nullstellige Funktionen auffassen, explizit ist
[[c]]=α(c){displaystyle [![c]!]=alpha (c)} für Konstanten c{displaystyle c}.
Die Abbildung [[ ]]{displaystyle [![ ]!]} wird Termauswertung oder Termzuweisung genannt.
Im vielsortigen Fall ergibt die Auswertung eines Terms t{displaystyle t} der (nicht-logischen) Sorte s{displaystyle s} ein Objekt (Element) des Wertebereichs As=α(s){displaystyle A_{s}=alpha (s)}.
Die Termauswertung ist eine mit der Funktionsinterpretation α|F{displaystyle alpha |_{mathcal {F}}} verträgliche Fortsetzung der Variablenbelegung β{displaystyle beta } und der Konstanteninterpretation α|C{displaystyle alpha |_{mathcal {C}}}. Eine Termauswertung [[ ]]{displaystyle [![ ]!]} ist durch zwei Parameter festgelegt:
- die Interpretationsfunktion α{displaystyle alpha } (steht für die Struktur) und
- die Variablenbelegung β{displaystyle beta }
Unter der Voraussetzung, dass die Wertebereiche As{displaystyle A_{s}} paarweise disjunkt sind, sind die Sorten s=ν(x){displaystyle s=nu (x)} der belegten Variablen x{displaystyle x} durch ihren Wert β(x)∈As{displaystyle beta (x)in A_{s}} eindeutig bestimmt, so dass in diesem Fall die zusätzliche Angabe der Variablendeklaration nicht nötig ist.
Man findet daher auch Notationen in der Art [[ ]]α,β{displaystyle [![ ]!]_{alpha ,beta }} statt [[ ]]{displaystyle [![ ]!]}.[23]
Gültigkeit von Ausdrücken |
So wie sich Terme t{displaystyle t} bei gegebener Struktur (ausgedrückt durch α{displaystyle alpha }) und Variablenbelegung (β{displaystyle beta }) auf ihren Wert einer (nichtlogischen) Sorte s{displaystyle s} auswerten lassen, lassen sich Ausdrücke φ{displaystyle varphi } auf ihren logischen Wert auswerten. Anstelle von [[φ]]α,β{displaystyle [![varphi ]!]_{alpha ,beta }} ist für diese Gültigkeit von Ausdrücken (auch Wahrheitswert oder Formelzuweisung genannt) die Notation (α,β)⊨φ{displaystyle (alpha ,beta )models varphi } üblich. Diese Gültigkeit wird implizit durch die folgenden Regeln definiert:[24][25][26][27]
(α,β)⊨x⇔β(x){displaystyle (alpha ,beta )models color {blue}xcolor {black}Leftrightarrow beta (color {blue}xcolor {black})} ggf. für logische Variablen x∈V{displaystyle color {blue}xcolor {black}in {mathcal {V}}}[28]
(α,β)⊨t1=t2⇔[[t1]]α,β=[[t2]]α,β{displaystyle (alpha ,beta )models color {blue}t_{1}=t_{2}color {black}Leftrightarrow [![color {blue}t_{1}color {black}]!]_{alpha ,beta }color {red}=color {black}[![color {blue}t_{2}color {black}]!]_{alpha ,beta }} für Terme t1,t2{displaystyle color {blue}t_{1}color {black},color {blue}t_{2}color {black}}[29]
(α,β)⊨R(t1,…tk)⇔([[t1]]α,β,…[[tk]]α,β)∈α(R){displaystyle (alpha ,beta )models color {blue}R(t_{1},dots t_{k})color {black}Leftrightarrow ([![color {blue}t_{1}color {black}]!]_{alpha ,beta },dots [![color {blue}t_{k}color {black}]!]_{alpha ,beta })in alpha (color {blue}Rcolor {black})} für ein Relationssymbol R{displaystyle color {blue}Rcolor {black}} der Stelligkeit k=σ(R){displaystyle k=sigma (color {blue}Rcolor {black})} und Terme t1,…tk{displaystyle color {blue}t_{1}color {black},dots color {blue}t_{k}color {black}}, insbesondere
(α,β)⊨R⇔ϵ∈α(R)⇔α(R)≠∅⇔α(R){displaystyle (alpha ,beta )models color {blue}Rcolor {black}Leftrightarrow epsilon in alpha (color {blue}Rcolor {black})Leftrightarrow alpha (color {blue}Rcolor {black})neq emptyset Leftrightarrow alpha (color {blue}Rcolor {black})} ggf. für logische Konstanten, d. h. nullstellige Relationen[30]
(α,β)⊨¬φ ⇔ ¬(α,β)⊨φ{displaystyle (alpha ,beta )models color {blue}neg varphi color {black} Leftrightarrow color {red}neg color {black}(alpha ,beta )models color {blue}varphi color {black}} für Ausdrücke φ{displaystyle varphi }
(α,β)⊨φ∨ψ ⇔ ((α,β)⊨φ) ∨ ((α,β)⊨ψ){displaystyle (alpha ,beta )models color {blue}varphi lor psi color {black} Leftrightarrow ((alpha ,beta )models color {blue}varphi color {black}) ;color {red}lor color {black} ;((alpha ,beta )models color {blue}psi color {black})} für Ausdrücke φ,ψ{displaystyle color {blue}varphi color {black},color {blue}psi color {black}}
- (α,β)⊨φ∧ψ ⇔ ((α,β)⊨φ) ∧ ((α,ν)⊨ψ){displaystyle (alpha ,beta )models color {blue}varphi land psi color {black} Leftrightarrow ((alpha ,beta )models color {blue}varphi color {black}) ;color {red}land color {black} ;((alpha ,nu )models color {blue}psi color {black})}
- (α,β)⊨φ→ψ ⇔ ((α,β)⊨φ) → ((α,β)⊨ψ){displaystyle (alpha ,beta )models color {blue}varphi to psi color {black} Leftrightarrow ((alpha ,beta )models color {blue}varphi color {black}) ;color {red}to color {black} ;((alpha ,beta )models color {blue}psi color {black})}
- (α,β)⊨φ↔ψ ⇔ ((α,β)⊨φ) ↔ ((α,β)⊨ψ){displaystyle (alpha ,beta )models color {blue}varphi leftrightarrow psi color {black} Leftrightarrow ((alpha ,beta )models color {blue}varphi color {black}) ;color {red}leftrightarrow color {black} ;((alpha ,beta )models color {blue}psi color {black})}
(α,β)⊨∀x:s φ ⇔ ∀a∈As:(α,β⟨x↦a⟩)⊨φ{displaystyle (alpha ,beta )models color {blue}forall ;x:s varphi color {black} Leftrightarrow color {red}forall color {black};ain A_{color {blue}scolor {black}}color {red}:color {black}(alpha ,beta _{langle xmapsto arangle })models color {blue}varphi }, wobei s∈T{displaystyle color {blue}scolor {black}in T} eine Sorte, x∈V{displaystyle color {blue}xcolor {black}in {mathcal {V}}} ein Variablensymbol und φ{displaystyle color {blue}varphi color {black}} ein Ausdruck ist, in dem die lokale Variable x{displaystyle color {blue}xcolor {black}} der Sorte s{displaystyle color {blue}scolor {black}} vorkommt.[31]
(α,β)⊨∃x:s φ ⇔ ∃a∈As:(α,β⟨x↦a⟩)⊨φ{displaystyle (alpha ,beta )models color {blue}exists ;x:s varphi color {black} Leftrightarrow color {red}exists color {black};ain A_{color {blue}scolor {black}}color {red}:color {black}(alpha ,beta _{langle xmapsto arangle })models color {blue}varphi }, wobei s{displaystyle color {blue}scolor {black}}, x{displaystyle color {blue}xcolor {black}} und φ{displaystyle color {blue}varphi color {black}} wie zuvor.[31]
Zeichen und Zeichenketten über dem Gesamtalphabet sind oben zur Verdeutlichung blau hervorgehoben, insbesondere gehören dazu die Junktoren und Quantoren auf der linken Seite (Objektsprache).
Die rot markierten auf der rechten Seite sind Abkürzungen für die logische Verknüpfungen etc. der gewöhnliche Sprache (Metasprache), mit der der Sachverhalt dargestellt wird, also für „und“, „oder“, „es gibt ein“, „für alle“, „ist gleich“, etc.[26] Zur Unterscheidung von den Quantorsymbolen ∀…,∃…{displaystyle color {blue}forall color {black}dots ,color {blue}exists color {black}dots } der Objektsprache könnten hier z. B. auch ⋀…,⋁…{displaystyle color {red}textstyle bigwedge limits _{color {black}dots }color {black},color {red}textstyle bigvee limits _{color {black}dots }} Verwendung finden.
Der Wahrheitswert von Sätzen (geschlossenen Ausdrücken, d. h. ohne freie Variablen) hängt nicht von der Variablenbelegung ab.[32]
In der Prädikatenlogik zweiter Stufe mit Relationsvariablen kommen noch zwei weitere Regeln hinzu, in vielsortigen Normalfall sind das:
(α,β)⊨∀X:t φ ⇔ ∀R⊆∏A∘t:(α,β⟨X↦R⟩)⊨φ{displaystyle (alpha ,beta )models color {blue}forall ;X:t varphi color {black} Leftrightarrow color {red}forall color {black};Rsubseteq textstyle prod Acirc {color {blue}tcolor {black}}color {red}:color {black}(alpha ,beta _{langle Xmapsto Rrangle })models color {blue}varphi }, wobei t∈T∗{displaystyle color {blue}tcolor {black}in T^{*}} der Argumenttyp ist, X∈R{displaystyle color {blue}Xcolor {black}in {mathcal {R}}} ein Relationsvariablensymbol und φ{displaystyle color {blue}varphi color {black}} ein Ausdruck, in dem die lokale Relationsvariable X{displaystyle color {blue}Xcolor {black}} vom Typ t{displaystyle color {blue}t} vorkommt.[33]
(α,β)⊨∃X:t φ ⇔ ∃R⊆∏A∘t:(α,β⟨X↦R⟩)⊨φ{displaystyle (alpha ,beta )models color {blue}exists ;X:t varphi color {black} Leftrightarrow color {red}exists color {black};Rsubseteq textstyle prod Acirc {color {blue}tcolor {black}}color {red}:color {black}(alpha ,beta _{langle Xmapsto Rrangle })models color {blue}varphi }, wobei t∈T∗{displaystyle color {blue}tcolor {black}in T^{*}}, X{displaystyle color {blue}Xcolor {black}} und φ{displaystyle color {blue}varphi color {black}} wie zuvor.[33]
Im einsortigen Fall kann das kartesische Produkt der Trägermengen ∏A∘t=At1×…Atk{displaystyle textstyle prod Acirc {color {blue}tcolor {black}}=A_{color {blue}t_{1}color {black}}times dots A_{color {blue}t_{k}color {black}}} zu Ak{displaystyle A^{k}} mit Stelligkeit k{displaystyle k} vereinfacht werden. Meist werden Relationsvariablen mit fester Stelligkeit benutzt (diese gerne als Index notiert), andernfalls muss die Stelligkeit deklariert werden: Für die Stelligkeit k∈N0{displaystyle kin mathbb {N} _{0}} wird dann eine symbolische Darstellung aus weiteren Zeichen i{displaystyle color {blue}i} benötigt mit α(i)=k∈N0{displaystyle alpha (color {blue}icolor {black})=kin mathbb {N} _{0}},[34] der Aufwand ist daher gleich oder etwa gleich wie im mehrsortigen Fall.
Einzelnachweise und Anmerkungen |
↑ Siehe Abschnitt §Terme in vielsortiger Logik.
↑ Gemeint ist hier eine abstrakte Boolesche Algebra als Wertebereich. Zum Spezialfall der Aussagenalgebra: logische Terme versus Ausdrücke siehe unten: §Ausdrücke und §Ausdrücke in vielsortiger Logik.
↑ W. Vogler (2007/2008) S. 3
↑ Kruse/Borgelt (2008) S. 4
↑ Dazu müssen diese Terme zunächst in eine lineare Form (d. h. Zeichenketten) übergeführt werden. Bei den Quantoren entspricht dies dem Ersetzen der Schreibweise mit den Symbolen ⋀…,⋁…{displaystyle bigwedge _{dots },bigvee _{dots }} (ähnlich ∑…,∏…{displaystyle sum _{dots },prod _{dots }}) durch ∀…,∃…{displaystyle forall dots ,exists dots } . Weiteres s. u.: Ausdrücke als quasi ‚logische Terme‘.
↑ Vgl. R. Letz (2004) S. 10
↑ Kleine Büning (2015), S. 8–15
↑ oder Formel
↑ Die Ausdrück gemäß Punkt 1 und 2 nennt man atomar.
↑ W. Vogler (2007/2008) S. 5 f
↑ Eine Variable x∈V{displaystyle xin {mathcal {V}}} heißt gebunden in einem Ausdruck ψ{displaystyle psi }, wenn x{displaystyle x} unmittelba auf den Quantor (∃,∀,…{displaystyle exists ,forall ,dots }) folgt, ansonsten wird x{displaystyle x} als freie Variable bezeichnet. Variablen können im gleichen Ausdruck sowohl frei, als auch (lokal im Gültigkeitsbereich eines Quantors) gebunden vorkommen. Ein Ausdruck ohne freie Variablen heißt geschlossen oder ein Satz. Siehe R. Letz (2004) S. 10
↑ In der Prädikatenlogik zweiter Stufe besteht auch im einsortigen Fall bezüglich der Stelligkeit der Relationsvariablen ebenfalls diese beiden Möglichkeiten, hier findet man meist die zweite Variante vor.
↑ Stefan Brass (2005) S. 54
↑ Stefan Brass (2005) S. 56
↑ A. Oberschelp (1990) Seite 9ff
↑ Siehe Relation §Relationen und Funktionen
↑ Erich Grädel (2009) S. 1
↑ Siehe Stefan Brass (2005) S. 56 und S. 66–68; sowie Ramharter,Eder (2015/16) S. 17.
↑ C. Lutz (2010) S. 8
↑ Kruse, Borgelt (2008) S. 9
↑ R. Letz (2004) S. 7. Der Autor benutzt die Notation u{displaystyle u} für die Objekte (Elemente der Wertebereiche der Sorten), ι{displaystyle iota } für die Interpretationsfunktion α{displaystyle alpha } und A{displaystyle {mathcal {A}}} für die Variablenbelegung β{displaystyle beta }. Anstelle von β⟨x↦a⟩{displaystyle beta _{langle xmapsto arangle }} wird Axu{displaystyle {mathcal {A}}_{x}^{u}} notiert, anstelle von [[ ]]α,β{displaystyle [![ ]!]_{alpha ,beta }} für die Termzuweisung heißt es ιA{displaystyle iota ^{mathcal {A}}}.
↑ Stefan Brass (2005) S. 83
↑ In der ordnungssortierten Logik (englisch: Order Sorted Logic) sind die den Sorten s∈T{displaystyle sin T} zugeordneten Wertebereiche As{displaystyle A_{s}} nicht notwendig disjunkt. Stattdessen ist die Menge der Sorten T{displaystyle T} mit einer partiellen Ordnung ⪯{displaystyle preceq } versehen, so dass für alle Sorten s1,s2{displaystyle s_{1},s_{2}} gilt: Wenn s1⪯s2{displaystyle s_{1}preceq s_{2}}, dann As1⊆As2{displaystyle A_{s_{1}}subseteq A_{s_{2}}}. Jeder Konstanten, Variablen und schließlich jedem Term t{displaystyle t} der Sorte s{displaystyle s} wird eine Sortenmenge <s>={r∈T|s⪯r}{displaystyle <s>={rin T|spreceq r}} (Oberhalbmenge von s) zugeordnet, die alle Sorten r{displaystyle r} umfasst mit s⪯r{displaystyle spreceq r}. Terme t1,t2{displaystyle t_{1},t_{2}} können dann kombiniert werden, wenn die Schnittmenge der Wertebereiche ihrer Sorten der Wertebereich einer definierten Sorte r{displaystyle r} ist , also insbesondere nicht leer ist. Man schreibt dann r=s1⊓s2{displaystyle r=s_{1}sqcap s_{2}} (oder r=s1∩s2{displaystyle r=s_{1}cap s_{2}}). Näheres siehe A. Oberschelp (1989) Seite 11ff. Diese Art von Logik ist Grundlage der Vererbung von Klassen (Klassenhierarchie) in der objektorientierten Programmierung.
↑ Kruse,Borgelt (2008) S. 9
↑ R. Letz (2004) S. 8
↑ ab Stefan Brass (2005) S. 84–88. Der Autor benutzt Wahrheitstabellen für die hier farblich gekennzeichneten logischen Verknüpfungen.
↑ Vergleiche Gültigkeit in der Aussagenlogik
↑ mit ν(x)=logical{displaystyle nu (color {blue}xcolor {black})=operatorname {logical} }
↑ Gerne wird zur Unterscheidung als Gleichheitssymbol in der Objektsprache ≡{displaystyle color {blue}equiv } statt ={displaystyle color {blue}=} benutzt.
↑ mit ϵ=∅{displaystyle epsilon =emptyset }, ∅=false,{∅}=true{displaystyle emptyset =operatorname {false} ,{emptyset }=operatorname {true} }
↑ ab β⟨x↦a⟩{displaystyle beta _{langle xmapsto arangle }} ist die lokal modifizierte Variablenbelegung (x{displaystyle x}-Variante), entsprechend der lokal modifizierten Variablendeklaration ν⟨x↦s⟩{displaystyle nu _{langle xmapsto srangle }}, wegen a∈As=α(s)=ν⟨x↦s⟩(x){displaystyle ain A_{s}=alpha (s)=nu _{langle xmapsto srangle }(x)}.
↑ R. Letz (2004) S. 10
↑ ab β⟨X↦R⟩{displaystyle beta _{langle Xmapsto Rrangle }} ist die lokal modifizierte Relationsvariablenbelegung (X{displaystyle X}-Variante), entsprechend der lokal modifizierten Relationsvariablendeklaration ν⟨X↦t⟩{displaystyle nu _{langle Xmapsto color {blue}tcolor {black}rangle }}, wegen R⊆∏A∘t=∏A∘ν⟨X↦t⟩(X){displaystyle Rsubseteq textstyle prod Acirc {color {blue}tcolor {black}}=textstyle prod Acirc nu _{langle Xmapsto trangle }(X)}.
↑ Zum Beispiel i=||…|⏟k-mal{displaystyle color {blue}icolor {black}=underbrace {color {blue}||color {black}dots color {blue}|color {black}} _{k{text{-mal}}}} (Strichzählung) oder i=SS…S⏟k-malO{displaystyle color {blue}icolor {black}=underbrace {color {blue}SScolor {black}dots color {blue}Scolor {black}} _{k{text{-mal}}}color {blue}Ocolor {black}} mit k=|i|{displaystyle k=|color {blue}icolor {black}|} = Länge von i{displaystyle color {blue}icolor {black}} bzw. O{displaystyle color {blue}O} = Zeichen für Null, S{displaystyle color {blue}S} = Zeichen für Inkrement (‚+1‘), bzw. komplexer eine Binär- oder Dezimaldarstellung.
Literatur |
- Erich Grädel: Mathematische Logik. Mathematische Grundlagen der Informatik, SS 2009. RWTH, Aachen, S. 129 (cs.uni-dortmund.de [PDF]).
- Stefan Brass: Mathematische Logik mit Datenbank-Anwendungen. Martin-Luther-Universität Halle-Wittenberg, Institut für Informatik, Halle 2005, S. 176 (informatik.uni-halle.de [PDF]).
- W. Vogler: Logik für Informatiker. WS 2007/2008. Univ. Augsburg, Institut für Informatik, Augsburg, S. 49 (informatik.uni-augsburg.de [PDF]).
- R. Kruse, C. Borgelt: Grundbegriffe der Prädikatenlogik. Computational Intelligence. Otto-von-Guericke Universität, Magdeburg 2008, S. 14 (cs.ovgu.de [PDF]).
- Reinhold Letz: Prädikatenlogik (PDF). WS 2004/2005. Technische Universität München, Fakultät für Informatik, Lehrstuhl Informatik IV, München, S. 47 (ifi.lmu.de [PDF]).
- Carsten Lutz: Logik. Vorlesung im Wintersemester 2010. Teil 4: Prädikatenlogik zweiter Stufe. Universität Bremen, AG Theorie der künstlichen Intelligenz, 2010, S. 65 (informatik.uni-bremen.de [PDF]).
- Esther Ramharter, Günther Eder: Prädikatenlogik zweiter Stufe. WS 2015/2016. SE Modallogik und andere philosophisch relevante Logiken. Universität Wien, S. 22 (univie.ac.at [PDF]).
- Klaus Grue: Object Oriented Mathematics. Universität Kopenhagen, Department of Computer Science (Datalogisk Institut), 1995, S. 21 (diku.dk [PDF] Generelle Maplet-Notation, ebenfalls eine Notation für lokal modifizierte Variablendeklaration und -belegung).
- Arnold Oberschelp: Order Sorted Predicate Logic. Hrsg.: Karl Hans Bläsius, Ulrich Hedtstück, Claus-Rainer Rollinger. Lecture Notes in Computer Science (LNCS), Band 418: Sorts and Types in Artificial Intelligence, Workshop, Eringerfeld, FRG, April 24–26, 1989 Proceedings. Springer-Verlag, Berlin Heidelberg 1990, ISBN 978-3-540-52337-6, S. 307, doi:10.1007/3-540-52337-6.
- H. Kleine Büning: Sorten und Terme. Wintersemester 2015. Mod. 05 Teil 1. Universität Paderborn, 2015, S. 15.
Weblinks |
Wikibooks: Mathe für Nicht-Freaks: Termumformungen – Lern- und Lehrmaterialien
Wiktionary: Term – Bedeutungserklärungen, Wortherkunft, Synonyme, Übersetzungen
Termumformungen für verschiedene Schularten und Klassenstufen, z. T. mit didaktischen Hinweisen. Landesbildungsserver Baden-Württemberg