Machen Selbsttypen die Berechnung induktiver Konstruktionen überflüssig?

10

Selbsttypen sind eine Erweiterung der Konstruktionsrechnung [1], mit der die Sprache algebraische Datentypen ausdrücken kann, die durch die Scott-Codierung codiert werden. Die Scott-Codierung bietet die Möglichkeit zur Musterübereinstimmung O(1), was einer der Hauptgründe für die Aufnahme induktiver Definitionen in CC ist. Selbsttypen sind jedoch eine viel einfachere und elegantere Basistheorie und scheinen nicht weniger mächtig zu sein.

Machen Selbsttypen unter theoretischen Gesichtspunkten CIC überflüssig, oder gibt es noch einen Aspekt, bei dem CIC in Bezug auf Selbsttypen günstig ist?

[1] http://staff.computing.dundee.ac.uk/pengfu/document/talks/mvd-2012.pdf

MaiaVictor
quelle
2
Vielleicht fehlt mir etwas, aber warum sind Selbsttypen nicht nur allgemeine rekursive Typen (z. B. nicht gesund?). Dies ist nicht für alle abhängig getippten Dinge ein Ziel, aber es ist sicherlich wichtig, dass CiC solide ist. Die verknüpfte Präsentation hat auch Typ-in-Typ, aber ich denke nicht, dass dies verwandt / notwendig ist.
Daniel Gratzer
@jozefg In der Tat: "Wird Inkonsistenz als Logik sein, aber kein Problem für Programme." Sie sollten dies als Antwort posten.
Gilles 'SO - hör auf böse zu sein'
Ist dieser Kommentar nicht adressiert für * : *@GIlles, nicht für Self?
MaiaVictor
@srvm mit den Schreibregeln, die sie geschrieben haben, sind beide Ursachen für Unklarheiten. Haben Sie einen Link zum Papier?
Daniel Gratzer
@jozefg Ich nehme an, es ist dies: staff.computing.dundee.ac.uk/pengfu/document/papers/…
gallais

Antworten:

5

Ich bin kein Experte in dieser Arbeit, aber es scheint mir, dass das Hauptproblem ein Mangel an SN-Beweisen ist, selbst mit Einschränkungen. Diese Beweise sind jedoch notorisch schwierig, selbst wenn der Kalkül korrekt ist, also würde ich ihm ein wenig Zeit geben. Die Arbeit ist sicherlich sehr vielversprechend.

Zu beachten ist, dass diese Einschränkungen eigentlich nicht trivial auszudrücken sind, was einen großen Teil der Komplexität der Formulierung der induktiven Familien im CIC ausmacht. Das eigentliche Verkaufsargument eines solchen Ansatzes wäre die präzise Formulierung dieser Bedingungen.

Es ist ein seit langem offenes Problem, eine abhängig getippte Sprache zu haben

  • Konsistent / Normalisierend
  • Kann alle Typfamilien von Coq (oder sogar Agda) ausdrücken
  • Ermöglicht einen einfachen Ausdruck der Rekursion über diese Familien
  • Einfach oder hat eine kleine Anzahl von Kernkonstruktionen ( ).Π,Σ,μ

Ein solcher Versuch, den ich kenne, ist die Sprache Altenkirch & al , der ebenfalls eine vollständige metatheoretische Studie fehlt (und die auch ohne weitere Einschränkungen nicht konsistent ist).ΠΣ

Cody
quelle