<?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=Typentheorie</id>
	<title>Typentheorie - 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=Typentheorie"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Typentheorie&amp;action=history"/>
	<updated>2026-05-30T01:12:48Z</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=Typentheorie&amp;diff=493187&amp;oldid=prev</id>
		<title>imported&gt;Passive Walker: Link hinzugefügt</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Typentheorie&amp;diff=493187&amp;oldid=prev"/>
		<updated>2025-09-30T13:19:23Z</updated>

		<summary type="html">&lt;p&gt;Link hinzugefügt&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;In [[Mathematische Logik|mathematischer Logik]] und [[Theoretische Informatik|theoretischer Informatik]] sind &amp;#039;&amp;#039;&amp;#039;Typentheorien&amp;#039;&amp;#039;&amp;#039; [[Formales System|formale Systeme]], in denen jeder Term einen Typ hat und Operationen auf bestimmte Typen beschränkt sind. Einige Typentheorien werden als Alternative zur [[Axiomatische Mengenlehre|axiomatischen Mengenlehre]] als [[Grundlagen der Mathematik|Grundlage]] für die moderne Mathematik benutzt.&lt;br /&gt;
&lt;br /&gt;
Typentheorien haben Überschneidungen mit [[Typisierung (Informatik)#Typsystem|Typsystemen]], die ein Merkmal von [[Programmiersprache]]n zur Fehlervermeidung darstellen.&lt;br /&gt;
&lt;br /&gt;
Zwei populäre Typentheorien, die als mathematische Grundlagen genutzt werden, sind [[Alonzo Church]]s [[Lambda-Kalkül#Typisierter Lambda-Kalkül|typisierter Lambda-Kalkül]] und [[Per Martin-Löf]]s [[intuitionistische Typentheorie]].&lt;br /&gt;
&lt;br /&gt;
== Geschichte ==&lt;br /&gt;
Zwischen 1902 und 1908 schlug [[Bertrand Russell]] verschiedene Typentheorien vor, mit denen die [[Russellsche Antinomie]] der [[Naive Mengenlehre|naiven Mengenlehre]] [[Gottlob Frege]]s vermieden werden sollte. Seine „verzweigte“ Typentheorie und das [[Reduzibilitätsaxiom]] spielten eine wichtige Rolle in den zwischen 1910 und 1913 veröffentlichten [[Principia Mathematica]]. [[Alfred North Whitehead|Whitehead]] und Russell versuchten dort, Russells Paradoxon durch eine Hierarchie von Typen zu vermeiden, wobei jeder mathematischen Entität ein Typ zuzuordnen ist. Objekte eines bestimmten Typs können nur aus Objekten niederen Typs aufgebaut sein, so dass Schleifen vermieden werden. In den 1920er Jahren schlugen [[Leon Chwistek]] und [[Frank P. Ramsey]] eine einfachere Theorie vor, die heute als „einfache Typentheorie“ bekannt ist.&lt;br /&gt;
&lt;br /&gt;
Üblicherweise besteht eine Typentheorie aus Typen und einem [[Termersetzungssystem]]. Ein bekanntes Beispiel ist der [[Lambda-Kalkül]]. Auf ihm basiert die [[Logik höherer Stufe]].&lt;br /&gt;
&lt;br /&gt;
In einigen Bereichen der [[Konstruktive Mathematik|konstruktiven Mathematik]] und auch für den Beweisassistenten [[Agda]] wird die intuitionistische Typentheorie verwendet. Dagegen beruht der Beweisassistent [[Coq (Software)|Coq]] auf dem [[Konstruktionskalkül]] CoC. Ein aktives Forschungsgebiet ist die [[Homotopietypentheorie]].&lt;br /&gt;
&lt;br /&gt;
== Grundlegende Konzepte ==&lt;br /&gt;
In einer Typentheorie hat jeder Term einen Typ und Operationen werden nur für Terme eines bestimmten Typs definiert. Ein Typurteil &amp;lt;math&amp;gt;M\colon A&amp;lt;/math&amp;gt; besagt, dass der Term &amp;lt;math&amp;gt;M&amp;lt;/math&amp;gt; vom Typ &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; ist. Zum Beispiel ist &amp;lt;math&amp;gt;\mathrm{Nat}&amp;lt;/math&amp;gt; der Typ der [[Natürliche Zahl|natürlichen Zahlen]] und &amp;lt;math&amp;gt;0,1,2,\ldots&amp;lt;/math&amp;gt; sind Terme von diesem Typ. &amp;lt;math&amp;gt;2\colon \mathrm{Nat}&amp;lt;/math&amp;gt; ist das Urteil, dass &amp;lt;math&amp;gt;2&amp;lt;/math&amp;gt; vom Typ &amp;lt;math&amp;gt;\mathrm{Nat}&amp;lt;/math&amp;gt; ist.&lt;br /&gt;
&lt;br /&gt;
Eine Funktion wird in der Typentheorie durch einen Pfeil &amp;lt;math&amp;gt;\to&amp;lt;/math&amp;gt; bezeichnet. Die [[Nachfolger (Mathematik)|Nachfolger-Funktion]] &amp;lt;math&amp;gt;\mathrm{addOne}&amp;lt;/math&amp;gt; hat das Urteil &amp;lt;math&amp;gt;\mathrm{addOne}\colon \mathrm{Nat}\to\mathrm{Nat}&amp;lt;/math&amp;gt;. Der Aufruf einer Funktion wird gelegentlich auch ohne Klammer geschrieben, also &amp;lt;math&amp;gt;\mathrm{addOne}\,2&amp;lt;/math&amp;gt; anstelle von &amp;lt;math&amp;gt;\mathrm{addOne}(2).&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eine Typentheorie kann auch Termumformungsregeln enthalten. Zum Beispiel sind &amp;lt;math&amp;gt;2+1&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;3&amp;lt;/math&amp;gt; syntaktisch unterschiedliche Terme, der erste lässt sich aber auf den zweiten reduzieren. Man schreibt &amp;lt;math&amp;gt;2+1\twoheadrightarrow 3&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Typentheorien ==&lt;br /&gt;
=== Lambda-Kalkül (nach Church) ===&lt;br /&gt;
{{Hauptartikel|Lambda-Kalkül}}&lt;br /&gt;
&lt;br /&gt;
[[Alonzo Church]] benutzte den Lambda-Kalkül, um 1936 sowohl eine negative Antwort auf das [[Entscheidungsproblem]] zu geben als auch eine Fundierung eines logischen Systems zu finden, wie es den Principia Mathematica von Bertrand Russell und Alfred North Whitehead zugrunde lag. Mittels des untypisierten Lambda-Kalküls kann man klar definieren, was eine [[Berechenbarkeit|berechenbare]] Funktion ist. Die Frage, ob zwei Lambda-Ausdrücke &amp;#039;&amp;#039;(s. u.)&amp;#039;&amp;#039; äquivalent sind, kann im Allgemeinen nicht algorithmisch entschieden werden. In seiner typisierten Form kann der Kalkül benutzt werden, um [[Logik höherer Stufe]] darzustellen. Der Lambda-Kalkül hat die Entwicklung [[Funktionale Programmierung|funktionaler Programmiersprachen]], die Forschung um Typsysteme von Programmiersprachen im Allgemeinen sowie moderne Teildisziplinen in der [[Logik]] wie die Typtheorie wesentlich beeinflusst.&lt;br /&gt;
&lt;br /&gt;
=== Intuitionistische Typentheorie (nach Martin-Löf) ===&lt;br /&gt;
{{Hauptartikel|Intuitionistische Typentheorie}}&lt;br /&gt;
&lt;br /&gt;
Die intuitionistische Typentheorie nach [[Per Martin-Löf]] ist eine auf den Prinzipien des [[Konstruktive Mathematik|Konstruktivismus]] aufbauende Typentheorie und alternative Grundlegung der [[Mathematik]].&lt;br /&gt;
&lt;br /&gt;
Sie beruht auf einer Analogie zwischen Propositionen und Typen: eine Proposition wird mit dem Typ ihres Beweises identifiziert. So ist z.&amp;amp;nbsp;B. der Typ aller [[Geordnetes Paar|geordneten Paare]] vergleichbar mit [[Konjunktion (Logik)|logischer Konjunktion]]: Ein solches geordnetes Paar kann nur existieren, falls beide Typen mindestens ein Element besitzen. Hierdurch können viele logische Prinzipien verallgemeinert werden.&lt;br /&gt;
&lt;br /&gt;
Ein ebenfalls sehr relevanter Aspekt der Typentheorie sind induktive Definitionen. Ein Beispiel dafür sind die [[Natürliche Zahl|natürlichen Zahlen]]: Sie werden explizit als Konstruktion aus der Null und einer Nachfolgerfunktion definiert. Diese werden nicht wie in der [[Mengenlehre]] speziell definiert, sondern ihre Existenz wird angenommen oder durch eine verallgemeinerte Konstruktion erlaubt. Zusammen mit diesen Konstruktoren existiert auch ein &amp;#039;&amp;#039;&amp;#039;Induktionsschema&amp;#039;&amp;#039;&amp;#039;, das die Erstellung von Funktionen über die natürlichen Zahlen oder auch Beweisen, die für jede natürliche Zahl gelten, erlaubt.&lt;br /&gt;
&lt;br /&gt;
Im Allgemeinen wird die intuitionistische Typentheorie oft als näher zur mathematischen Praxis gesehen als fundamentale Mengenlehre, da in dieser jegliches [[mathematisches Objekt]] als Menge betrachtet wird.&lt;br /&gt;
&lt;br /&gt;
=== Calculus of Constructions (nach Coquand) ===&lt;br /&gt;
{{Hauptartikel|Calculus of Constructions}}&lt;br /&gt;
&lt;br /&gt;
Die Typentheorie Calculus of Constructions (CoC) nach [[Thierry Coquand]] ist ein Lambda-Kalkül höherer Ordnung, der die Grundlage sowohl für einen konstruktiven Aufbau der Mathematik als auch für das computerisierte Beweissystem [[Coq (Software)|Coq]] ist.&lt;br /&gt;
&lt;br /&gt;
=== Homotopietypentheorie ===&lt;br /&gt;
Die &amp;#039;&amp;#039;&amp;#039;Homotopietypentheorie&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;HoTT&amp;#039;&amp;#039;&amp;#039;) bezeichnet Entwicklungen der intensionalen Typentheorie von Martin-Löf, basierend auf der Interpretation von Typen als Objekte der [[Homotopie]]theorie ([[Vladimir Voevodsky]]). Homotopietypentheorie kann als Alternative zur [[Mengenlehre]] als Grundlage für jegliche Mathematik benutzt werden. Aktuelle Forschung umfasst deshalb u.&amp;amp;#8239;a. die Formulierung herkömmlicher Mathematik auf Grundlage von Typentheorie und die Umsetzung in [[Maschinengestütztes Beweisen|Beweisassistenten]].&lt;br /&gt;
&lt;br /&gt;
Im akademischen Jahr 2012/2013 entstand in einem gemeinsamen Forschungsprojekt am [[Institute for Advanced Study]] ein Buch über die Grundlagen dieser Disziplin.&amp;lt;ref&amp;gt;[https://homotopytypetheory.org/book/ Homotopy Type Theory: Univalent Foundations of Mathematics]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Spezielle Typen ==&lt;br /&gt;
* [[Einheitstyp]] – void oder 0-Tupel (Englisch: void type), hat nur einen einzigen Wert, ähnlich:&lt;br /&gt;
* [[Bottom-Typ]] – leerer Typ ohne Werte (null oder ⊥) (hat keinen Wert)&lt;br /&gt;
* [[Top-Typ]] – der universelle Typ (object oder ⊤) (alle anderen Typen sind Subtypen)&lt;br /&gt;
&lt;br /&gt;
== Typkonstruktoren ==&lt;br /&gt;
Mit einem [[Typkonstruktor]] lassen sich aus vorhandenen (einfachen) Typen neue konstruieren. Beispiele sind &amp;#039;&amp;#039;&amp;#039;setof&amp;#039;&amp;#039;&amp;#039;&amp;lt;ref&amp;gt;siehe [[PL/pgSQL#Rückgabe der Funktion|PL/PostgreSQL]]&amp;lt;/ref&amp;gt; entsprechend der Russellschen Typhierarchie (auch iteriert zu einem Basistyp) und Konstruktoren für geordnete Paare oder auch &amp;#039;&amp;#039;n&amp;#039;&amp;#039;-Tupel: Wenn Komponenten verschiedene Typen haben,&amp;lt;ref&amp;gt;Jedenfalls wenn die Basistypen entsprechend der Russellschen Typhierarchie verschieden sind; bei verschiedenen Typstufen innerhalb derselben Hierarchie kann man die Paardarstellung noch geeignet modifizieren.&amp;lt;/ref&amp;gt; ist eine [[Geordnetes Paar#Darstellung geordneter Paare|Paardarstellung]] nach [[Kazimierz Kuratowski|Kuratowski]] (oder ähnlich) nicht möglich und es muss die Existenz eines Paartyps axiomatisch (per Paaraxiom) gefordert werden. In der Anwendung bei Programmiersprachen werden ähnliche Konstruktoren &amp;#039;&amp;#039;&amp;#039;record&amp;#039;&amp;#039;&amp;#039; oder &amp;#039;&amp;#039;&amp;#039;struct&amp;#039;&amp;#039;&amp;#039; genannt, allerdings haben deren Komponenten gewöhnlich Namen statt Indexnummern wie bei Tupelkoordinaten.&amp;lt;ref&amp;gt;Entsprechend einer [[Feature-Logik]].&amp;lt;/ref&amp;gt; Siehe dazu auch [[Monade (Informatik)|Monaden]], [[Lambda-Kalkül#Typisierter Lambda-Kalkül|Lambda-Kalkül §Typisierter Lambda-Kalkül]], [[Haskell (Programmiersprache)#Typsystem|Typkonstruktoren in der Programmiersprache Haskell]].&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Von-Neumann-Hierarchie]] der kumulativen Typen&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* Bertrand Russell: &amp;lt;!--http://isites.harvard.edu/fs/docs/icb.topic1341338.files/Russell1908.pdf PDF--&amp;gt;&amp;lt;!--http://www.cfh.ufsc.br/~dkrause/pg/cursos/selecaoartigos/Russell(1905).pdf--&amp;gt;[https://web.archive.org/web/20140813072910/http://www.cfh.ufsc.br/~dkrause/pg/cursos/selecaoartigos/Russell(1905).pdf &amp;#039;&amp;#039;Mathematical logic as based on the theory of types.&amp;#039;&amp;#039;] (englisch; PDF; 1,9&amp;amp;nbsp;MB), in: &amp;#039;&amp;#039;{{lang|en|American Journal of Mathematics.}}&amp;#039;&amp;#039; 30, 1908, S. 222–262 (im Web-Archiv vom 23. August 2014).&lt;br /&gt;
* Álvaro Pelayo, Michael A. Warren: [http://www.ams.org/journals/bull/2014-51-04/S0273-0979-2014-01456-9/S0273-0979-2014-01456-9.pdf &amp;#039;&amp;#039;Homotopy type theory and Voevodsky&amp;#039;s univalent foundations.&amp;#039;&amp;#039;] (englisch; PDF), in: &amp;#039;&amp;#039;Bull. Amer. Math. Soc. (N.S.).&amp;#039;&amp;#039; 51, no. 4, 2014, S. 597–648.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [https://ncatlab.org/nlab/show/type+theory Type Theory] (nLab)&lt;br /&gt;
* {{SEP|https://plato.stanford.edu/entries/type-theory/|Type Theory|Thierry Coquand}}&lt;br /&gt;
* {{SEP|https://plato.stanford.edu/entries/type-theory-church/|Church’s Type Theory|Christoph Benzmüller, Peter Andrews}}&lt;br /&gt;
* {{SEP|https://plato.stanford.edu/entries/type-theory-intuitionistic/|Intuitionistic Type Theory|Peter Dybjer,  Erik Palmgren}}&lt;br /&gt;
* http://glossar.hs-augsburg.de/Typentheorie zur Typentheorie&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Normdaten|TYP=s|GND=4121795-0|LCCN=sh85139126}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Typentheorie| ]]&lt;br /&gt;
[[Kategorie:Mengenlehre]]&lt;br /&gt;
[[Kategorie:Bertrand Russell]]&lt;br /&gt;
[[Kategorie:Teilgebiet der Mathematik]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Passive Walker</name></author>
	</entry>
</feed>