Subtypisierung und abhängige Typen sind orthogonale Konzepte.
Die Untertypisierung ist in der Regel mit einem Subsumtionsbegriff ausgestattet, bei dem ein Ausdruck eines Typs an der Stelle erscheinen kann, an der ein Supertyp erwartet wird.
Subtypisierung ist mit größerer Wahrscheinlichkeit entscheidbar und in der Implementierung einfacher zu handhaben.
Abhängiges Tippen ist weitaus aussagekräftiger. Aber wenn Sie eine Gruppe jemals als Monoid betrachten wollen, dann brauchen Sie einen Subsumtionsbegriff, um die zusätzliche Struktur zu vergessen. Oft wird, wie bei der Verwendung von Coq, eine triviale Beweispflicht für die Bewältigung dieser Art von Zwang generiert, sodass in der Praxis durch die Subtypisierung möglicherweise nichts hinzugefügt wird. Was wichtiger ist, ist die Möglichkeit, verschiedene Theorien so zusammenzufassen, dass sie wiederverwendbar sind, z. B. die Wiederverwendung der Theorie der Monoide, wenn über Gruppen gesprochen wird. Typenklassen in Coq sind eine neue Innovation, um solche Dinge zu tun. Module sind ein älterer Ansatz.
Wenn Sie einen kurzen Blick auf "Subtypisierung abhängiger Typen" werfen, finden Sie eine Menge Arbeit, die abhängigen Typen Subtypisierung hinzufügt, hauptsächlich aus der Zeit um das Jahr 2000. Ich stelle mir vor, dass die Metatheorie wirklich herausfordernd ist, sodass in keine Subtypisierung abhängiger Typen vorkommt Beweisassistenten.
Eine zusätzliche Sache, die Subtypisierung gibt, ist, dass Subsumtion impliziert, dass viele Kohärenzeigenschaften gelten. Eine abhängige Typentheorie benötigt auch den Begriff der Beweisrelevanz, um alles zu modellieren, was Sie mit Subtypen tun können. In der Theorie abhängiger Typen können Sie beispielsweise eine Teilmenge mit einem abhängigen Datensatz approximieren:
Sobald Sie das haben, können Sie systematisch die Untertypisierung in die Theorie der abhängigen Typen ausarbeiten. Sehen These von William Lovas finden Sie ein Beispiel für das Hinzufügen von Untertypen zu einer Theorie abhängiger Typen (in diesem Fall Twelf).
quelle