<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Termalgebra</id>
	<title>Termalgebra - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Termalgebra"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Termalgebra&amp;action=history"/>
	<updated>2026-05-28T08:23:50Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Termalgebra&amp;diff=670808&amp;oldid=prev</id>
		<title>imported&gt;KT1903: /* growthexperiments-addlink-summary-summary:2|0|0 */</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Termalgebra&amp;diff=670808&amp;oldid=prev"/>
		<updated>2025-05-24T00:06:15Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;growthexperiments-addlink-summary-summary:2|0|0&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;In der Mathematik und in der Informatik versteht man unter einer &amp;#039;&amp;#039;&amp;#039;freien Termalgebra&amp;#039;&amp;#039;&amp;#039; eine frei über eine [[Signatur (Modelltheorie)|Signatur]] erzeugte [[algebraische Struktur]]. Die [[Grundmenge]] der Termalgebra sind die [[Term]]e. Die Operationen der Termalgebra haben Terme als Argumente und liefern wieder Terme als Ergebnis. Termalgebren liefern u.&amp;amp;nbsp;a.&lt;br /&gt;
* eine Möglichkeit, den Vorgang des „Ausrechnens“, der [[Interpretation (Logik)|Interpretation ]] eines Term genauer zu betrachten und mathematisch einzuordnen,&lt;br /&gt;
* durch Darstellung der Terme als algebraische Struktur deren Verhältnis zu allen anderen algebraischen Strukturen aufzuhellen,&lt;br /&gt;
* einen Prototyp für das Konzept der freien Erzeugung von algebraischen Strukturen.&lt;br /&gt;
Termalgebren spielen u. a. in der [[Universelle Algebra|universellen Algebra]], der [[Mathematische Logik|mathematischen Logik]] und der [[Theoretische Informatik#Formale Semantik|formalen Semantik]] eine zentrale Rolle.&lt;br /&gt;
&lt;br /&gt;
== Signatur, Term, Termalgebra, Grundtermalgebra ==&lt;br /&gt;
&lt;br /&gt;
Für eine [[algebraische Struktur]] ist zunächst ihre [[Signatur (Modelltheorie)|Signatur]] &amp;lt;math&amp;gt;\boldsymbol S = (\mathcal F, \sigma)&amp;lt;/math&amp;gt; festgelegt, also die Menge &amp;lt;math&amp;gt;\mathcal F&amp;lt;/math&amp;gt; der Operationssymbole zusammen mit ihrer [[Stelligkeit]] &amp;lt;math&amp;gt;\sigma\colon \mathcal F \to \mathbb N_0&amp;lt;/math&amp;gt;. Hat man ferner die Menge der [[Variable (Logik)|Variablen]] &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;, dann erhält man die Terme &amp;lt;math&amp;gt;T(X)&amp;lt;/math&amp;gt; als kleinste Menge, für die gilt:&lt;br /&gt;
: &amp;lt;math&amp;gt;\begin{array}{lll}&lt;br /&gt;
x \in X \quad&amp;amp;\Rightarrow\quad (0,x)&amp;amp;\in T(X)\\&lt;br /&gt;
t_1, \dotsc, t_n \in T(X) \quad \wedge \quad \sigma(f) = n&amp;amp;\Rightarrow\quad (1, f, t_1, \dotsc, t_n)&amp;amp;\in T(X)&lt;br /&gt;
\end{array}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die fundamentalen Operationen &amp;lt;math&amp;gt;f_{T(x)} \in F&amp;lt;/math&amp;gt; der freien Termalgebra &amp;lt;math&amp;gt;(T(X),F)&amp;lt;/math&amp;gt; sind:&lt;br /&gt;
: &amp;lt;math&amp;gt;f_{T(X)}(t_1, \dotsc, t_n) := (1, f, t_1, \dotsc, t_n)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Man bezeichnet die freie Termalgebra mit &amp;lt;math&amp;gt;T(X)&amp;lt;/math&amp;gt;. Für den Fall, dass die Menge &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; leer ist, Variablen also ausgeschlossen sind, spricht man von einer Grundtermalgebra und bezeichnet sie mit &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt;. Sofern nicht ausdrücklich hervorgehoben, sind Variablen immer zugelassen, wenn kürzer von einer Termalgebra anstelle einer freien Termalgebra die Rede ist. Es ist üblich, 0-stellige Operatoren als Konstanten aufzufassen. In der universellen Algebra nennt man eine Signatur auch Typ.&amp;lt;ref&amp;gt;Die hier wiedergegebene Definition der Terme unterscheidet sich von der in [[Term#Anmerkungen|Term §Formale Definition, Anmerkungen]] gegebenen wie folgt:&lt;br /&gt;
* Hier ist klammerfreie Notation ([[polnische Notation]]) benutzt, aber [[Tupel]]schreibweise,&lt;br /&gt;
* eine jedem Tupel von &amp;lt;math&amp;gt;T(X)&amp;lt;/math&amp;gt; vorangestellte Zahl zeigt an, ob eine Variable folgt (0) oder nicht (1). Die Mengen &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;\mathcal F&amp;lt;/math&amp;gt; sind damit frei wählbar.&lt;br /&gt;
* Die Variablenmenge wird hier mit &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;, dort mit &amp;lt;math&amp;gt;\mathcal V&amp;lt;/math&amp;gt; bezeichnet.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wesentliche Eigenschaft der Termalgebra ==&lt;br /&gt;
&lt;br /&gt;
Man hat nun mit der Termalgebra die über den Typ erzeugten Terme als Grundmenge einer Algebra desselben Typs vorliegen. Damit ist es möglich, die Interpretation, also die Bedeutung der Terme mit Mitteln der universellen Algebra selbst zu fassen und die Termalgebra zusammen mit ihren „Verwandten“, den Algebren gleichen Typs, gemeinsam zu betrachten. Die wesentliche Eigenschaft der Termalgebra ist, dass man eine Bedeutung der Terme als strukturverträgliche Abbildung, als [[Homomorphismus]] fassen kann. Hierbei wird zugleich der Vorgang des Ausrechnens durch folgenden Satz fassbar:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Satz:&amp;#039;&amp;#039;&amp;#039; Sei &amp;lt;math&amp;gt;T(X)&amp;lt;/math&amp;gt; eine Termalgebra vom Typ &amp;lt;math&amp;gt;(\mathcal F, \sigma)&amp;lt;/math&amp;gt; über &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;. Dann gibt es für jede Algebra &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; vom selben Typ und jede Abbildung &amp;lt;math&amp;gt;\phi\colon X \to A&amp;lt;/math&amp;gt; genau einen Homomorphismus &amp;lt;math&amp;gt;\bar\phi\colon T(X) \to A&amp;lt;/math&amp;gt;, der &amp;lt;math&amp;gt;\phi&amp;lt;/math&amp;gt; [[Fortsetzung (Mathematik)|fortsetzt]], d.&amp;amp;nbsp;h. &amp;lt;math&amp;gt;\bar\phi_{|x} = \phi&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beweis:&amp;#039;&amp;#039;&amp;#039; &amp;lt;math&amp;gt;\bar\phi\colon T(X) \to A&amp;lt;/math&amp;gt; wird definiert durch:&lt;br /&gt;
[[Datei:TermAlgebra-Diagram-01.svg|120px|rechts]]&lt;br /&gt;
:&amp;lt;math&amp;gt;\begin{array}{ll}&lt;br /&gt;
 \bar\phi((0,x))&amp;amp; := \phi(x)\\&lt;br /&gt;
\bar\phi((1, f, t_1, \dotsc, t_n))&amp;amp; := f_A(\bar\phi(t_1), \dotsc, \bar\phi(t_n))&lt;br /&gt;
\end{array}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Auf diese Weise ist &amp;lt;math&amp;gt;\bar\phi&amp;lt;/math&amp;gt; auf ganz &amp;lt;math&amp;gt;T(X)&amp;lt;/math&amp;gt; definiert und wegen der Eindeutigkeit der Erzeugung sogar [[Wohldefiniertheit|wohldefiniert]]. Wegen &amp;lt;math&amp;gt;f_{T(X)}(t_1, \dotsc, t_n) := (1, f, t_1, \dotsc, t_n)&amp;lt;/math&amp;gt; ist &amp;lt;math&amp;gt;\bar\phi&amp;lt;/math&amp;gt; ein Homomorphismus. &amp;lt;math&amp;gt;\square&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\phi&amp;lt;/math&amp;gt; wird auch [[Belegung (Mathematik)|Belegung]] (der Variablen mit Werten) genannt und gelegentlich mit „ass“ (für engl. assignment) bezeichnet. Die Fortsetzung &amp;lt;math&amp;gt;\bar\phi&amp;lt;/math&amp;gt; nennt man auch [[Auswertung (Informatik)|Auswertungshomomorphismus]] und bezeichnet sie mit „[[eval]]“ (für engl. evaluation). Man findet den Satz oft begleitet von einem Diagramm wie dem rechts gezeigten. Hierin ist &amp;lt;math&amp;gt;i\colon X \to T(X)&amp;lt;/math&amp;gt; die [[Einbettung (Mathematik)|Einbettung]] (&amp;lt;math&amp;gt;i(x) = (0,x)&amp;lt;/math&amp;gt;) von &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; in &amp;lt;math&amp;gt;T(X)&amp;lt;/math&amp;gt;. Das Diagramm „kommutiert“, d.&amp;amp;nbsp;h., es gilt &amp;lt;math&amp;gt;\phi = \bar\phi \circ i&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Kategoriale Definition ==&lt;br /&gt;
&lt;br /&gt;
Aus obigem Satz folgt mit &amp;lt;math&amp;gt;\phi(x) = x&amp;lt;/math&amp;gt; ohne Rückgriff auf die Definition, dass eine Termalgebra [[Isomorphismus|isomorph]] zu jeder anderen Algebra gleichen Typs ist, die diesen Satz erfüllt. Man kann die wesentliche Eigenschaft der Termalgebra damit definitorisch wenden. Dadurch wird, statt einer Angabe einer konkreten „Implementierung“ der Terme und der Operationen, die Aussage des obigen Satzes zur Grundlage der Definition genommen. Die Methode hierfür liefert die [[Kategorientheorie]]. Die betrachtete Kategorie besteht aus den Algebren gleichen Typs als Objekte und deren Homomorphismen als Morphismen.&lt;br /&gt;
&lt;br /&gt;
=== Initialität der Grundtermalgebren ===&lt;br /&gt;
&lt;br /&gt;
Im Fall der Grundtermalgebren ist die Charakterisierung besonders einfach. Obiger Satz verkürzt sich für eine leere Variablenmenge auf die Aussage, dass es zu jeder Algebra &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; in der Kategorie der Algebren gleichen Typs genau einen Homomorphismus von der Grundtermalgebra &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; zu der Algebra &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; gibt. Die Algebra der Grundterme ist also das [[Anfangsobjekt]] dieser Kategorie. In diesem Sinne nennt man die Grundtermalgebra auch &amp;#039;&amp;#039;die initiale Termalgebra.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== Universelle Eigenschaft der freien Termalgebren ===&lt;br /&gt;
&lt;br /&gt;
[[Datei:TermAlgebra-UnivProp-01.svg|240px|rechts]]&lt;br /&gt;
Die freie Termalgebra lässt sich durch die im Bild rechts gezeigte [[universelle Eigenschaft]] definieren.&lt;br /&gt;
&lt;br /&gt;
Dieses Diagramm weicht vom weiter oben gezeigten nur dadurch ab, dass nun die verschiedenen Kategorien, die der Algebren desselben Typs mit ihren Homomorphismen (links) sowie die Kategorie der Mengen und ihrer Abbildungen (rechts) in zwei Teildiagrammen getrennt sind. In jedem der Teildiagramme ist nun die Kompositionsoperation der jeweiligen Kategorie anwendbar. Beide Seiten werden durch den [[Funktor (Mathematik)|Vergissfunktor]] &amp;lt;math&amp;gt;U\colon Alg \to Set&amp;lt;/math&amp;gt; vermittelt. Er überträgt von den Algebren die jeweiligen Grundmengen als Objekte (&amp;lt;math&amp;gt;u(x) = x&amp;lt;/math&amp;gt;) sowie deren Homomorphismen als Funktionen (&amp;lt;math&amp;gt;u(f) = f&amp;lt;/math&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== Beweisverpflichtungen ===&lt;br /&gt;
&lt;br /&gt;
Während eine kategoriale Fassung die besondere Lage der Algebra der Grundterme und der freien Termalgebra deutlich hervorhebt, kann sie das einleitend gegebene Versprechen, die wesentlichen Eigenschaften definitorisch darstellungsneutral zu wenden, nur zum Teil einlösen. Anderes als bei der einleitenden Definition erfordert die kategoriale Fassung als Definition einen Existenz- und einen Eindeutigkeitsbeweis, in dem zu belegen ist, dass das betreffende Objekt in der Kategorie existiert und der Morphismus eindeutig ist. Der Nachweis erfolgt dann wie oben. An dieser Stelle kommt man um die Angabe einer konkreten Präsentation also nicht herum. Allerdings kann die für den Beweis gewählte Präsentation gegebenenfalls auf diesen Nachweis beschränkt bleiben, da in ihm die wesentliche Eigenschaft der Termalgebra vollständig erfasst wird.&lt;br /&gt;
&lt;br /&gt;
== Rolle der Variablen, freie Konstruktion überhaupt ==&lt;br /&gt;
&lt;br /&gt;
Ebenso wie einleitend an die intuitive Vorstellung von Termen als niedergeschriebener Text appelliert wird, werden Terme in vielen Zusammenhängen zunächst als bloße syntaktische Konstruktion eingeführt. So verstanden, stellen die Variablen einfach eine (aufzählbare) Menge von Bezeichnern („a“, „b“, „c“,&amp;amp;nbsp;…) dar, um die herum dann die Funktionssymbole geschrieben werden. In Zusammenhängen, in denen mit Termen als Gegenständen gearbeitet wird, ist diese Auffassung auch vollkommen richtig. Obiger Satz beschreibt dann einfach die Möglichkeit und Weise der [[Auswertung (Informatik)| Auswertung]] oder [[Interpretation (Logik)|Interpretation]]. Hält man aber an dieser Vorstellung der Termalgebra als eine bloß syntaktische Fassung des niedergeschriebenen Terms fest, dann wird der Begriff der freien Termalgebra als Prototyp der freien Konstruktion verpasst.&lt;br /&gt;
&lt;br /&gt;
In der freien Konstruktion steht die Variablenmenge nicht für textuelle Variablen, sondern ist ein Platzhalter für die Grundmenge einer beliebigen anderen Struktur, um die herum die Termalgebra dann frei konstruiert wird.&lt;br /&gt;
&lt;br /&gt;
In der Mathematik findet man eine freie Konstruktion praktisch zu jeder Struktur ([[freies Monoid]], [[freie Gruppe]] usw.), wobei der freien Termalgebra nur die Sonderstellung zukommt, besonders einfach dahingehend zu sein, dass sie außer ihren Funktionen keine weiteren Gesetze mitbringt. Die freie Konstruktion findet in der Informatik ihre Entsprechung bei [[Polymorphie (Programmierung)#Parametrische Polymorphie|parametrischen Datentypen]]. Moderne Programmiersprachen stellen dieses Konzept oft in der einen oder anderen Weise zur Verfügung. So können freie Termalgebren etwa in [[Haskell (Programmiersprache)|Haskell]] direkt definiert werden, während in C++ die [[Template (C++)|Templates]] eine Möglichkeit der freien Konstruktion offerieren. Die Typparameter treten dann in die Rolle, die die Variablenmenge hier hat.&lt;br /&gt;
&lt;br /&gt;
So gewendet, kommt obigem Satz die Aufgabe zu, sicherzustellen, dass durch die Konstruktion die mit &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; gegebene Struktur nicht verletzt wird, diese also frei von den Gesetzmäßigkeiten der um sie herum konstruierten Struktur bleibt.&lt;br /&gt;
&lt;br /&gt;
== Einordnung und Weiterführung ==&lt;br /&gt;
&lt;br /&gt;
In der kategorialen Betrachtung wird deutlich, dass freie Termalgebren eine besondere Lage in der Kategorie der Algebren gleichen Typs insofern haben, als jede Algebra desselben Typs von ihnen ausgehend eindeutig erreichbar ist. Da sie bar jeder weiteren Struktur sind, stellen sie den idealen Ausgangspunkt dar, um andere Algebren aus ihnen zu gewinnen.&lt;br /&gt;
&lt;br /&gt;
In der [[Universelle Algebra|universellen Algebra]] als Teildisziplin der Mathematik wird u.&amp;amp;nbsp;a. untersucht, inwieweit dies definitorisch durch Angabe von Gleichungen möglich ist, wie dies bei vielen algebraischen Strukturen ([[Gruppe (Mathematik)|Gruppen]], [[Ring (Mathematik)|Ringen]]) der Fall ist. Dies führt auf einen [[Gleichheitskalkül]] und Methoden, aus diesen Gleichungen zu der so beschriebenen Algebra zu gelangen, der [[Quotientenalgebra|Quotiententermalgebra]], die eine Termalgebra unter der durch die Gleichungen erzeugten [[Kongruenzrelation|Kongruenz]] ist.&lt;br /&gt;
&lt;br /&gt;
Diese Methode wurde in der Informatik unter dem Titel [[algebraische Spezifikation]] aufgegriffen und erlaubt die [[Spezifikation]] eines [[Abstrakter Datentyp|abstrakten Datentyps]]. Wenn die definierenden Gleichungen direkt über ein [[Termersetzungssystem]] ausführbar sind, liefert diese Spezifikation auch zugleich eine [[Implementierung]].&lt;br /&gt;
&lt;br /&gt;
In der [[mathematische Logik|mathematischen Logik]] wird die Grundtermalgebra im Rahmen der [[Herbrand-Theorie]] unter der Bezeichnung [[Herbrand-Struktur]] eingeführt, um zu einer Interpretation prädikatenlogischer Formeln zu gelangen.&lt;br /&gt;
&lt;br /&gt;
Eine Besonderung der Termalgebren ist, dass die Gleichheit ihrer Terme mit deren Identität zusammenfällt. Jeder Term ist gleich nur mit sich selbst und verschieden von allen anderen. Diese Eindeutigkeit der Darstellung der Terme wird oft konstruktiv genutzt,&lt;br /&gt;
siehe hierzu [[Erzeugungssystem]], [[induktiver Datentyp]] und [[strukturelle Induktion]].&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
&lt;br /&gt;
* [[Thomas Ihringer]]: &amp;#039;&amp;#039;Allgemeine Algebra.&amp;#039;&amp;#039; Teubner, 1988, ISBN 3-519-02083-1.&lt;br /&gt;
* Heinrich Werner: &amp;#039;&amp;#039;Einführung in die allgemeine Algebra.&amp;#039;&amp;#039; Bibliographisches Institut, 1978, ISBN 3-411-00120-8.&lt;br /&gt;
* [[Hartmut Ehrig]] u. a.: &amp;#039;&amp;#039;Mathematisch-strukturelle Grundlagen der Informatik.&amp;#039;&amp;#039; Springer, 2001, ISBN 3-540-41923-3.&lt;br /&gt;
* H. Ehrig, [[Bernd Mahr|B. Mahr]]: &amp;#039;&amp;#039;Fundamentals of Algebraic Specification 1. Equations and Initial Semantics.&amp;#039;&amp;#039; Springer, 1985, ISBN 3-540-13718-1.&lt;br /&gt;
&lt;br /&gt;
== Anmerkungen ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Universelle Algebra]]&lt;br /&gt;
[[Kategorie:Algebraische Struktur]]&lt;br /&gt;
[[Kategorie:Algebra]]&lt;br /&gt;
[[Kategorie:Theoretische Informatik]]&lt;/div&gt;</summary>
		<author><name>imported&gt;KT1903</name></author>
	</entry>
</feed>