Se um sistema de tipos pode atribuir um tipo a λ x . x x
ou ao não-terminador (λx . x x) (λ x . x x)
, esse sistema é inconsistente como consequência? Todo tipo desse sistema é habitado? Você pode provar falso?
Se um sistema de tipos pode atribuir um tipo a λ x . x x
ou ao não-terminador (λx . x x) (λ x . x x)
, esse sistema é inconsistente como consequência? Todo tipo desse sistema é habitado? Você pode provar falso?
Respostas:
Certamente, atribuindo um tipo a não é suficiente para inconsistência: no sistema , podemos derivar λ x . x x : ( ∀ X . X ) → ( ∀ X . X )
de uma maneira bastante direta (este é um bom exercício!). No entanto, não pode ser bem digitado neste sistema, assumindo a consistência da aritmética de 2ª ordem, pois isso implica que todos esses termos bem digitados estão normalizando.
Além disso, o sistema é consistente. Isso decorre de qualquer normalização, pois é possível mostrar que qualquer termo do tipo não pode ter uma forma normal ou um argumento muito mais simples, no qual cada tipo recebe um conjunto, ou e pode ser mostrado que todos os tipos deriváveis são atribuídos e é atribuído \ varnothing (e, portanto, não é derivável).∀ X . X ∅ { ∅ } { ∅ } ∀ X . X ∅
O último argumento pode ser realizado em aritmética de primeira ordem. O fato de que pode ser bem digitado em um sistema consistente pode ser visto como algo perturbador e é uma conseqüência da impredicatividade do sistema . Não deve surpreender que algumas pessoas questionem a confiabilidade de sistemas impredicativos da lógica. No entanto, nenhuma inconsistência foi encontrada até agora em tais sistemas.
Por outro lado, para poder fazer a afirmação mais geral de que não pode ser bem digitado em um sistema consistente, você precisa ter uma "estrutura lógica" suficiente em seu sistema. sistema de tipos para poder definir claramente a consistência. Então você precisa mostrar que um termo sem a forma normal da cabeça (como a acima) pode ter qualquer tipo, o que também não é óbvio!
Mais detalhes podem ser encontrados na minha resposta a uma pergunta relacionada: /cstheory//a/31321/3984