No primeiro sistema, o que você chama de subtipagem são essas duas regras:
Γ,x:T1⊢M:SΓ,x:T1∧T2⊢M:S(∧E1)Γ,x:T2⊢M:SΓ,x:T1∧T2⊢M:S(∧E2)
Eles correspondem às regras de eliminação para ; sem eles o conectivo ∧ é mais ou menos inútil.∧∧
No segundo sistema (com conectivos e → , aos quais também podemos adicionar um ⊥ ), as regras de subtipagem acima são irrelevantes, e acho que as regras que você tinha em mente são as seguintes:∨→⊥
Γ,x:T1⊢M:SΓ,x:T2⊢M:SΓ,x:T1∨T2⊢M:S(∨E)Γ,x:⊥⊢M:S(⊥E)
Pelo que vale a pena, esse sistema permite digitar (usando a regra ⊥ E ), que não pode ser digitada apenas com tipos simples, que têm uma forma normal, mas não é altamente normalizante.(λx.I)Ω:A→A⊥E
Pensamentos aleatórios: (talvez valha a pena perguntar no TCS)
Isso me leva a supor que as propriedades relacionadas são algo como:
- um termo λ admite um tipo que não contém ⊥ se M N tem uma forma normal para todos os N que têm uma forma normal. ( δ falha nos dois testes, mas o termo λ acima é aprovado)M⊥MNNδ
- um termo λ pode ser digitado sem usar a regra ⊥ E se M N estiver fortemente normalizando para todos os N fortemente normalizados .M⊥EMNN
Exercício: prove que estou errado.
Também parece ser um caso degenerado, talvez devêssemos considerar adicionar esse cara à imagem. Tanto quanto me lembro, permitiria obter ?A∨(A→⊥)