Se un sistema di tipi può assegnare un tipo a λ x . x x
, o al non terminante (λx . x x) (λ x . x x)
, allora quel sistema è incoerente di conseguenza? Ogni tipo sotto quel sistema è abitato? Puoi dimostrare falso?
Se un sistema di tipi può assegnare un tipo a λ x . x x
, o al non terminante (λx . x x) (λ x . x x)
, allora quel sistema è incoerente di conseguenza? Ogni tipo sotto quel sistema è abitato? Puoi dimostrare falso?
Risposte:
Certamente, assegnando un tipo a non è sufficiente per incoerenza: nel sistema F , possiamo derivare λ x . x x : ( ∀ X . X ) → ( ∀ X . X )
in un modo abbastanza semplice (questo è un buon esercizio!). Tuttavia, non può essere ben digitato in questo sistema, assumendo la coerenza ω dell'aritmetica del 2 ° ordine, poiché ciò implica che tutti questi termini ben tipizzati si stanno normalizzando.
Inoltre, il sistema è coerente. Ciò deriva dal sia la normalizzazione, come si può dimostrare che qualsiasi termine di tipo ∀ X . X non può avere una forma normale, o un argomento molto più semplice, in cui ogni tipo è assegnato un insieme, sia ∅ o { ∅ } e può essere dimostrato che tutti i tipi derivabili sono assegnati { ∅ } , e ∀ X . X è assegnato ∅ (e quindi non è derivabile).
Quest'ultimo argomento può essere svolto in aritmetica di primo ordine. Il fatto che può essere ben digitato in un sistema coerente può essere visto come un po 'inquietante, ed è una conseguenza dei sistemi impredicativity . Non dovrebbe sorprendere che alcune persone mettano in dubbio l'affidabilità dei sistemi di logica impredicativa. Tuttavia, finora non sono state rilevate incoerenze in tali sistemi.
Maggiori dettagli sono disponibili nella mia risposta a una domanda correlata: /cstheory//a/31321/3984