Qual é o logaritmo ou operação raiz no espaço de texto?


27

Recentemente, eu estava lendo As duas dualidades da computação: tipos negativo e fracionário . O artigo expande tipos de soma e tipos de produtos, fornecendo semântica para os tipos a - be a/b.

Ao contrário da adição e multiplicação, não há um, mas dois inversos de exponenciação, logaritmos e enraizamento. Se os tipos de função (a → b) são exponenciação da teoria dos tipos, dado o tipo a → b(ou b^a), o que significa ter o tipo logb(c)ou o tipo a√c?

Faz sentido estender logaritmos e raízes a tipos?

Em caso afirmativo, houve algum trabalho nessa área e quais são algumas boas orientações sobre como compreender as repercussões?

Tentei procurar informações sobre isso via lógica, esperando que a correspondência de Curry-Howard pudesse me ajudar, mas sem sucesso.

Respostas:


40

Um tipo tem um logaritmo de base de X de P exactamente quando C P X . Isto é, C pode ser visto como um recipiente de X elementos em posições dadas por P . Na verdade, é uma questão de pedir para que poder P devemos levantar X para obter C .CXPCPXCXPPXC

Faz sentido trabalhar com onde F é um functor, sempre que o logaritmo existir, o que significa l o glogFF . Observe que se FlogX(FX) , então nós certamente temos FFXlogFX , então o contêiner não nos diz nada de interessante além de seus elementos: os contêineres com uma escolha de formas não possuem logaritmos.F11

Leis familiares de logaritmos fazem sentido quando você pensa em termos de conjuntos de posições

log(K1)=0no positions in empty containerlogI=1container for one, one positionlog(F×G)=logF+logGpair of containers, choice of positionslog(FG)=logF×logGcontainer of containers, pair of positions

Também ganhamos onde Z = l o glogX(νY.T)=μZ.logXT sob o fichário. Ou seja, ocaminhopara cada elemento em alguns codados é definido indutivamente pela iteração do logaritmo. Por exemplo,Z=logXY

logStream=logX(νY.X×Y)=μZ.1+Z=Nat

Dado que a derivada nos diz o tipo em contextos de um buraco e o logaritmo nos indica posições, devemos esperar uma conexão e, de fato,

F11logFF1

Onde não há escolha de forma, uma posição é igual a um contexto de um orifício com os elementos apagados. De maneira mais geral, sempre representa a escolha de umaforma F junto com uma posição do elemento nessa forma.F1F

Receio ter menos a dizer sobre raízes, mas é possível partir de uma definição semelhante e seguir o nariz. Para mais usos de logaritmos de tipos, consulte "Funções de memorando de Ralf Hinze, politipicamente!". Tenho que correr ...


3
A resposta do próprio Da Man. Bem-vindo Conor!
27413 Andrej Bauer

Hmm, estou interessado em ver o que são tipos de raiz, pois exigiriam tipos com número imaginário de habitantes. A menos que eu esteja errado. Aceitarei sua resposta, mas se você tiver tempo para elaborar as raízes, isso seria muito apreciado.
efrey

Isso pode estar relacionado à série Taylor de ln (1 + x) de alguma forma?
yatima2975

2
Com logaritmos e exponenciais, eu me pergunto ... o que precisamos para construir um objeto Napier ? (por exemplo, o objecto supostamente original ede modo a que ∂e = e)
Rhymoid

1

Não conheço nenhum trabalho que persiga essa linha, mas alguns instantes pensei nela me levou a essa hipótese: a "raiz" do tipo exponencial não seria apenas o codomain e o "logaritmo" da exponencial apenas o domínio?


Certo, acho que sua intuição é boa, mas sua conclusão está errada. A operação raiz e a operação de logaritmo são o que você obtém quando "inverte" o codomain ou o domínio, respectivamente, não o (co) domínio em si. A questão é: o que entendemos por inverter e qual é a operação do tipo binário que ela produz?
efrey

xyyxxy

Desculpe, não fui totalmente claro em minha terminologia. Não pretendo perguntar "qual é a raiz, qual é o resultado da aplicação da função logaritmo". Eu estou querendo saber o que é a operação de enraizamento. Qual é a operação de encontrar o logaritmo. Se for expenenciação, o que são dois tipos na operação raiz. O que são dois tipos na operação de logaritmo. O que quero dizer com "inverter o argumento" é algo que não há tempo para explicar aqui. Vou esclarecer minha pergunta, obrigado.
Efrey # 25/13

O artigo que vinculei fornece uma semântica para o tipo a - be o tipo a / b. Não estou preocupado com o resultado da redução do logaritmo e da raiz das operações, mas em entender sua semântica como operadores do tipo binário.
Efrey # 25/13
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.