Conforme definido pela Wikipedia,
(A correspondência de Curry-Howard) é uma generalização de uma analogia sintática entre sistemas de lógica formal e cálculos computacionais que foi descoberta pela primeira vez pelo matemático americano Haskell Curry e pelo lógico William Alvin Howard.
Relacionado a ele, está o cubo λ, que é uma representação gráfica dos possíveis eixos de refinamento, de tipos simples ao cálculo de construções, que tem uma interpretação lógica:
Até onde eu sei, a correspondência de Curry-Howard é uma conexão entre a teoria dos tipos e a lógica clássica. Minha pergunta é: existe alguma correspondência analógica entre sistemas de tipos e lógicas lineares ?
logic
type-theory
functional-programming
MaiaVictor
fonte
fonte
Respostas:
Você pode impor requisitos semelhantes em seu sistema de tipos, o que significa exigir que os objetos nunca sejam destruídos nem duplicados. Para um exemplo de aplicação prática, consulte Tipos lineares podem mudar o mundo! por Philip Wadler, que especifica regras de digitação para isso. Também mostra como um sistema de tipos pode combinar tipos lineares e não lineares.
Para uma aplicação prática disso, dê uma olhada no
std::unique_ptr
C ++. Aqui, a linearidade garante que a desalocação sempre ocorra exatamente uma vez.Em uma linguagem funcional, a linearidade também oferece a possibilidade de atualizações destrutivas (que parecem puras para o programador). No entanto, na prática, parece que as mônadas são uma abordagem mais comum para resolver esse problema.
Atualização : notei que, na tabela de Trinitarianismo Computacional do NLab, a ausência de contração em uma lógica (isto é, ser incapaz de duplicar uma suposição) corresponde ao Teorema da Não-Clonagem da mecânica quântica. Eu (infelizmente) não entendo as implicações disso, mas achei que você poderia achar interessante.
fonte
A lógica linear corresponde a um sistema de tipos para um cálculo de processo (uma variante do π-cálculo interno ), em que:
Esta é uma área de pesquisa bastante ativa. Enquanto as pessoas esperavam uma correspondência entre a lógica linear e algum modelo de simultaneidade desde o início da lógica linear por Girard [1987] , encontrar algo que seja satisfatório tanto da perspectiva da modelagem lógica quanto da simultaneidade tem sido um tanto esquivo.
Aqui está um resumo dos principais desenvolvimentos até agora.
Se você está procurando alguns documentos para começar, eu começaria a partir de [Wadler, 2014] e depois de [Kokke et al., 2019] (para ver o sistema mais recente).
fonte