Czy istnieje nietrywialny typ, który jest równy jego własnej pochodnej?


20

Artykuł zatytułowany The Derivative of a Regular Type to Type One-Hole Contexts pokazuje, że „zamek błyskawiczny” typu - jego konteksty z jedną dziurą - są zgodne z regułami różnicowania w algebrze typów.

Mamy:

xx1x00x10x(S+T)xS+xTx(S×T)xS×T+S×xT

Możemy użyć tego modelu do ustalenia, że ​​pochodna jednostki jest nieważna, że ​​pochodna listy jest iloczynem dwóch list (sufiks razy prefiks) i tak dalej.

Naturalne pytanie, które należy zadać, to: „jaki rodzaj ma własną pochodną?” Oczywiście mamy już , co mówi nam, że pustka (typ niezamieszkany) jest własną pochodną, ​​ale nie jest to bardzo interesujące. Jest to analogiczny fakt, że pochodna zera wynosi zero w zwykłym rachunku nieskończenie małym.x00

Czy istnieją inne rozwiązania równania ? W szczególności, czy istnieje algebra typu x e x = e x ? Dlaczego lub dlaczego nie?xTTxex=ex


5
Istnieje teoria gatunków kombinatorycznych i odpowiada ona gatunkom zbiorów (skończonych), ale to nie odpowiada typowi danych algebraicznych.
Derek Elkins opuścił SE

1
Co rozumiesz przez „równy”? Czy w twoim świecie i ( S U ) × ( T U ) są równe? Jak o N and L ı s T ( N ) ? (S+T)U(SU)×(TU)NList(N)
Andrej Bauer

1
@AndrejBauer Pierwsze tak, drugie nie. jest w moim umyśle równe iloczynowi iloczynu 1 + N + N × N + N × N × N + = n = 0 N n . To powiedziawszy, nie mam w głowie rygorystycznego modelu równości typów, a jeśli masz model, możesz mnie wskazać, chętnie go przeczytam. List(N)1+N+N×N+N×N×N+=n=0Nn
Matthew Piziak

3
@DerekElkins, jak to się dzieje, kolejny artykuł McBride'a, zatytułowany Clowns to the Left of me, Jokers to the Right zauważa, że: „W przypadku struktur skończonych [iteracja operatora na zamkach błyskawicznych] prowadzi do sformułowania szeregów mocy typów danych bezpośrednio, znajdując wszystkie elementy od lewej do prawej ... Istnieje zatem znaczący związek z pojęciem gatunków kombinatorycznych ". Nie zdziwiłbym się zatem, gdyby gatunki kombinatoryczne miały jakąś interesującą rolę do odegrania również w kontekście tego pytania.
Matthew Piziak

@MatthewPiziak Zdecydowanie tak. Brent Yorgey dużo o tym mówił . Zobacz także jego pracę magisterską .
Derek Elkins opuścił SE

Odpowiedzi:


15

Rozważ skończone multisety . Jego elementy są podane przez { x 1 , , x n } wyrażone przez permutacje, tak że { x 1 , , x n } = { x π 1 , , x π n } dla dowolnego π S n . Jaki jest kontekst z jednym otworem dla elementu w takiej rzeczy? Cóż, musieliśmy mieć n > 0, aby wybrać pozycję dla otworu, więc pozostało nam pozostałe n -BagX{x1,,xn}{x1,,xn}={xπ1,,xπn}πSnn>0 elementy, ale nie jesteśmy mądrzejsi o tym, gdzie jest. (To w przeciwieństwie do list, w których wybór pozycji dołka wycina jedną listę na dwie sekcje, a druga pochodna wycina zaznacza jedną z tych sekcji i tnie ją dalej, jak „punkt” i „zaznacz” w edytorze, ale dygresję. ) Kontekst z jednym otworem w B a gn1 jest zatem B a gBagX i każdy B a gBagX może powstać jako taki. Myśląc przestrzennie, pochodna B a gBagX powinien być sobą.BagX

Teraz,

BagX=nNXn/Sn

wybór krotki , z krotką n elementów do grupy permutacji rzędu n ! , co daje nam dokładnie rozszerzenie szeregu mocy e x .nnn!ex

Naiwnie możemy scharakteryzować typy kontenerów za pomocą zestawu kształtów i zależnej od kształtu rodziny pozycji P : s : S X ( PSP tak, że kontener jest wybierany przez wybór kształtu i mapy od pozycji do elementów. Z torbami i tym podobnymi dodatkami.

s:SX(Ps)

„Kształt” torby to trochę ; „pozycje” to { 1 , , n } , skończony zestaw wielkości n , ale mapa od pozycji do elementów musi być niezmienna w permutacjach z S n . Nie powinno być możliwości uzyskania dostępu do torby, która „wykrywa” rozmieszczenie jej elementów.nN{1,,n}nSn

Konsorcjum East Midlands Container Consortium pisało o takich strukturach w Konstruowaniu programów polimorficznych z typami ilorazowymi dla Matematyki Budowy Programów 2004. Kontenery ilorazowe rozszerzają naszą zwykłą analizę struktur o „kształty” i „pozycje”, umożliwiając grupie automorfizmów działanie na pozycjach , pozwalając rozważyć struktury, takie jak para nieuporządkowana , z pochodnej X . Nieuporządkowana n- liczba jest podana przez X n / n ! , i jej pochodna (gdy n > 0 jest nieuporządkowanym n - 1X2/2XnXn/n!n>0n1krotka). Torby biorą ich sumę. Możemy grać w podobne gry z cyklicznymi kropkami, X n / n , w których wybranie pozycji dla otworu powoduje obrót obrotu w jednym miejscu, pozostawiając X n - 1 , krotkę mniejszą bez permutacji.nXn/nXn1

„Podział typów” jest ogólnie trudny do zrozumienia, ale iloraz według grup permutacyjnych (jak w gatunkach kombinatorycznych) ma sens i jest przyjemny do zabawy. (Ćwiczenie: formułuje zasadę indukcji strukturalną nieuporządkowanych pary liczb, i użyć go do realizacji dodawania i mnożenia, tak że są przemienne o budowie).N2/2

Charakterystyka „kształtów i pozycji” pojemników nie narzuca skończoności żadnemu. Gatunki kombinatoryczne mają tendencję do organizowania się według wielkości , a nie kształtu, co sprowadza się do zbierania terminów i obliczania współczynnika dla każdego wykładnika. Ilorazowe pojemniki z zestawami pozycji skończonych i gatunki kombinatoryczne to w zasadzie różne spiny tej samej substancji.


Pojawia się oryginalny autor! Dziękujemy za przybycie i pokazanie nam tego pięknego wyniku.
Matthew Piziak

3

A co z nieskończoną sumą Pochodna to i , j N X i + + X i i + 1, która jest równa oryginałowi przez asocjatywność i przemienność sum.

i,jNXi?
i,jNXi++Xii+1

Ponadto, nieskończona suma jest równa ), więc możemy spróbować obliczyć pochodną za pomocą list.jNList(X)


Pochodną listy jest para list (sufiks razy prefiks). Według reguły sumowania pochodną listy list jest lista par list. Czy lista par list jest izomorficzna z listą list?
Matthew Piziak

iNN×XiiNi×N×XiiNi×Nex=ixi/n!+Nan=(n+1)an+1

ni
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.