Wenn ein Typsystem einen Typ dem λ x . x x
oder dem Nicht-Terminierenden zuordnen kann, (λx . x x) (λ x . x x)
ist dieses System in der Folge inkonsistent? Ist jeder Typ unter diesem System bewohnt? Können Sie sich als falsch erweisen?
Wenn ein Typsystem einen Typ dem λ x . x x
oder dem Nicht-Terminierenden zuordnen kann, (λx . x x) (λ x . x x)
ist dieses System in der Folge inkonsistent? Ist jeder Typ unter diesem System bewohnt? Können Sie sich als falsch erweisen?
Antworten:
Sicherlich wird ein Typ zugewiesen . x x ist nicht genug für Inkonsistenz: Im System F können wir λ x ableiten . x x : ( ∀ X . X ) → ( ∀ X . X )
auf eine ziemlich einfache Weise (dies ist eine gute Übung!). Allerdings kann nicht gut in diesem System eingegeben werden, unter der Annahme , ω -Konsistenz 2. Ordnung Arithmetik, da dies bedeutet , dass alle so gut getippt Begriffe Normalisierungs sind.
Darüber hinaus ist System konsistent. Dies folgt aus jeder Normalisierung, da man zeigen kann, dass jeder Term vom Typ ∀ X ist . X kann keine Normalform hat, oder ein viel einfacheres Argument, in dem jeder Typ einen Satz zugeordnet ist, entweder ∅ oder { ∅ } und es kann , dass alle ableitbar Typen zugeordnet sind angezeigt { ∅ } und ∀ X . X ist ∅ zugeordnet (und daher nicht ableitbar).
Das letztere Argument kann in Arithmetik erster Ordnung ausgeführt werden. Die Tatsache, dass kann in einem konsistenten System gut geschrieben werden und kann als etwas störend angesehen werden und ist eine Folge der Impredikativität des Systems . Es sollte nicht überraschen, dass manche Leute die Vertrauenswürdigkeit von improvisierten Logiksystemen in Frage stellen. In solchen Systemen wurden jedoch bisher keine Inkonsistenzen festgestellt.
Weitere Details finden Sie in meiner Antwort auf eine verwandte Frage: /cstheory//a/31321/3984