Qual é a diferença entre framework lógico e teoria de tipos? Ambos têm tipos, termos e baseiam-se no cálculo lambda de tipo dependente.
Temos Edinburg LF, que é baseado no cálculo lambda-pi, no entanto, parece-me que há alguma diferença sutil lá.
Qual é a diferença entre framework lógico e teoria de tipos? Ambos têm tipos, termos e baseiam-se no cálculo lambda de tipo dependente.
Temos Edinburg LF, que é baseado no cálculo lambda-pi, no entanto, parece-me que há alguma diferença sutil lá.
Respostas:
Resumo. Uma estrutura lógica é uma meta-linguagem para a formalização de sistemas dedutivos, onde deduções se tornam objetos sintáticos.
Obviamente, o que conta como meta-linguagem é bastante vago e é útil entender o desenvolvimento histórico de estruturas lógicas. O primeiro arcabouço lógico foi o Automath (1) de Bruijn, baseado em -calculus. Muitas das idéias da família de idiomas Automath chegaram às estruturas lógicas modernas. O trabalho de Martin-Löf sobre teorias construtivas de tipos, também baseado em -calculi, também foi influente.
O LF de Edimburgo (2) é uma estrutura lógica muito influente. Edinburgh LF é o que você obtém quando enriquece o -calculus simplesmente digitado com dependência de tipo. Isso é tudo. Para tornar a dependência de tipo precisa, é necessário substituir o operador de espaço de função nos tipos pela abstração de tipo, geralmente escrita e introduza o tipo de tipos, bem como a abstração de tipos. Em termos de regras, a chave está na regra de eliminação para , resp. :Um → B Π x Uma . B Um → B Π x Uma . B
À esquerda, temos a regra para o -calculus simplesmente digitado ; à direita, a regra que generaliza a esquerda com dependência de tipo. Vemos que um valor 'flui' para o tipo na conclusão à direita.
Eu acho que a assistente interativa de provas Isabelle usa lógica intuicionista de segunda ordem com base em -calculus, sem nenhum número ou tipos de dados recursivos como estrutura lógica. Vários outros foram propostos.
Uma vantagem de usar -calculi como estrutura lógica é que construções de ligação como quantificadores universais podem ser implementadas usando o encadernador estrutura. Observe que a maioria das estruturas lógicas é expressivamente fraca: as estruturas suportam o raciocínio no nível do objeto, mas são insuficientes para executar muito raciocínio metateórico, além do fato de que uma determinada instrução no nível do objeto é um teorema. De fato, a lógica do metal é geralmente tão fraca que até provar o teorema da dedução para uma lógica de objetos no estilo Hilbert é impossível. Obviamente, nada impede você de usar teorias de tipos mais poderosas como estrutura lógica.λ
Por essas razões práticas e históricas, a maioria das estruturas lógicas em uso atualmente são do tipo -calculi, isto é, teorias de tipos. Veja (3, 4) para discussões mais aprofundadas sobre estruturas lógicas.
N. de Bruijn: A linguagem matemática AUTOMATH, seu uso e algumas de suas extensões.
RF Harper, F. Honsell, G. Plotkin: Uma estrutura para definir lógicas .
F. Pfenning: estruturas lógicas.
F. Pfenning: Estruturas Lógicas - Uma Breve Introdução .