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?

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


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.