Beispiel dafür, wo eine Verletzung der strengen Positivitätsbedingung bei induktiven Typen zu Inkonsistenzen führt

9

Die meisten abhängigen typisierten Systeme haben strenge Positivitätsbedingungen für induktive Typen. Kennt jemand ein Beispiel, bei dem eine Verletzung der Bedingung zu Inkonsistenzen im System führt?

Konstantin Solomatov
quelle

Antworten:

10

Es ist tatsächlich möglich, strenge Positivität zu lockern und konsequent zu bleiben. Zum Beispiel reicht es aus, nur eine Positivitätsbedingung zu haben. Das heißt, wir können Typdefinitionen wie akzeptieren

Tμα.(α2)2

Dabei treten rekursive Typvariablen links von einer geraden Anzahl von Pfeilen auf und behalten die Konsistenz bei.

TTP(P(T))

Da abhängige Typentheorien häufig zur Formalisierung der Mathematik verwendet werden, zögern ihre Designer normalerweise, Prinzipien hinzuzufügen, die nicht mit einer satztheoretischen Semantik kompatibel sind, selbst wenn sie konsistent sind.

T

FμFα.(Fαα)α

FF:

map:α,β.(αβ)FαFβ
mapid=idmapfmapg=map(fg

Jetzt können wir einen Typoperator für das Doppel-Powerset definieren

C=λα.(α2)2

α

mapC=λf:αβ,a:(α2)2,k:β2.a(λa:α.k(fa))

T=μC

Neel Krishnaswami
quelle
Können wir ein Beispiel finden, das von sich aus eine Inkonsistenz erzeugt? Ihr Beispiel ist inkonsistent, wenn wir auch (genug) ausgeschlossene Mitte annehmen.
Andrej Bauer
Ein weiterer Grund ist, dass wir den FAN-Satz zu Agda hinzufügen können, wonach wir beweisen können, dass der fragliche Typ (isomorph zu) natürlichen Zahlen ist.
Andrej Bauer
μα.(α2)α
1
Ah, ich habe die Frage falsch verstanden - der Punkt ist, dass strenge Positivität eine ausreichende, aber nicht notwendige Bedingung ist. Ihr Beispiel (mit einem tatsächlichen negativen Vorkommen) ist inkonsistent.
Neel Krishnaswami
Ja, das habe ich gerade gemerkt. Mein Beispiel enthält kein Wasser.
Andrej Bauer