Um artigo chamado A derivada de um tipo regular é seu tipo de contexto de um furo mostra que o "zíper" de um tipo - seus contextos de um furo - segue as regras de diferenciação na álgebra de tipos.
Nós temos:
Podemos usar esse modelo para derivar que a derivada da unidade é nula, que a derivada da lista é um produto de duas listas (prefixo vezes sufixo) e assim por diante.
Uma pergunta natural a ser feita é: "que tipo é seu próprio derivado?" É claro que já temos , o que nos diz que void (o tipo desabitado) é sua própria derivada, mas isso não é muito interessante. É o análogo do fato de que a derivada de zero é zero no cálculo infinitesimal comum.
Existem outras soluções para a equação ? Em particular, existe um análogo de ∂ x e x = E x em tipo álgebra? Por que ou por que não?
fonte
Respostas:
Considere os multisets finitos . Seus elementos são dados por { x 1 , … , x n } quociente por permutações, de modo que { x 1 , … , x n } = { x π 1 , … , x π n } para qualquer π ∈ S n . O que é um contexto de um buraco para um elemento em tal coisa? Bem, devemos ter n > 0 para selecionar uma posição para o buraco, então ficamos com o restante n -BagX {x1,…,xn} {x1,…,xn}={xπ1,…,xπn} π∈Sn n>0 elementos, mas não somos os mais sábios sobre o que é onde. (Isso é diferente das listas, em que a escolha de uma posição para o furo corta uma lista em duas seções, e o segundo corte derivado seleciona uma dessas seções e a corta ainda mais, como "ponto" e "marca" em um editor, mas discordo. ) Um contexto de um buraco em um B a gn−1 é assim um B a gBagX , e todo B a gBagX pode surgir como tal. Pensando espacialmente, a derivada de B a gBagX deveria ser ele mesmo.BagX
Agora,
uma escolha do tamanho da tupla , com uma tupla de n elementos até um grupo de permutações da ordem n ! , fornecendo exatamente a expansão da série de potência de e x .n n n! ex
Ingenuamente, podemos caracterizar tipos de contêineres por um conjunto de formas e uma família de posições dependentes da forma P : ∑ s : S X ( PS P
para que um contêiner seja dado por uma escolha de forma e um mapa de posições a elementos. Com bolsas e coisas do gênero, há um toque extra.
A "forma" de um saco é algumas ; as "posições" são { 1 , … , n } , o conjunto finito de tamanho n , mas o mapa de posições para elementos deve ser invariante sob permutações de S n . Não deve haver maneira de acessar uma bolsa que "detecte" a disposição de seus elementos.n∈N {1,…,n} n Sn
O East Midlands Container Consortium escreveu sobre essas estruturas em Construindo programas polimórficos com tipos de quocientes , para Matemática da construção de programas em 2004. Os contêineres de quocientes estendem nossa análise usual de estruturas por "formas" e "posições", permitindo que um grupo de automorfismo atue nas posições , permitindo-nos a considerar estruturas, tais como pares não ordenadas , com derivado X . Um n- ordenador não ordenado é dado por X n / n ! e sua derivada (quando n > 0 é um n - 1 não ordenadoX2/2 X n Xn/n! n>0 n−1 tupla). Sacos levam a soma destes. Podemos jogar jogos semelhantes com n- pares cíclicos , X n / n , em que a escolha de uma posição para o orifício fixa a rotação em um ponto, deixando X n - 1 , uma tupla menor, sem permutação.n Xn/n Xn−1
A "divisão de tipos" é difícil de entender em geral, mas o quociente por grupos de permutação (como nas espécies combinatórias) faz sentido e é divertido de se brincar. (Exercício: formular um princípio de indução estrutural para pares não ordenadas de números, , e usá-lo para implementar adição e multiplicação de modo a que eles estão conmutativo por construção.)N2/2
A caracterização "formas e posições" dos contêineres não impõe finitude a nenhum deles. As espécies combinatórias tendem a se organizar por tamanho , e não por forma, o que equivale a coletar termos e calcular o coeficiente de cada expoente. Conjuntos de quocientes com conjuntos de posições finitas e espécies combinatórias são basicamente rotações diferentes na mesma substância.
fonte
E a soma infinita A derivada é ∑ i , j ∈ N X i + ⋯ + X i ⏟ i + 1, que é igual ao original por associatividade e comutatividade de somas.
Além disso, a soma infinita é igual a ), para que pudéssemos tentar calcular a derivada usando listas.∑j∈NList(X)
fonte