Jestem zainteresowany uzyskaniem naprawdę solidnego zrozumienia zależnego pisania. Przeczytałem większość TaPL i przeczytałem (jeśli nie w pełni zaabsorbowane) „Typy zależne” w ATTaPL . Przeczytałem również i przejrzałem kilka artykułów na temat pisania zależnego. Wiele dyskusji na temat teorii typów wydaje się koncentrować na dodawaniu funkcji przyrostowych do poprzednich systemów typów, …
Pytanie: Jak działają „taktyki” w asystentach dowodowych? Wydają się być sposobami na określenie, jak przepisać termin na równoważny (dla pewnej definicji „równoważnego”). Przypuszczalnie istnieją formalne zasady dotyczące tego, w jaki sposób mogę dowiedzieć się, czym one są i jak działają? Czy wiążą się one z czymś więcej niż tylko wyborem …
Chciałbym zrozumieć Applicativew kategoriach teorii kategorii. Dokumentacja dla Applicativetwierdzi, że jest to silny funktor LAX monoidal . Po pierwsze, strona Wikipedii o funktorach monoidalnych mówi, że funktor monoidalny jest luźny lub silny . Wydaje mi się więc, że jedno ze źródeł jest niepoprawne lub używają terminów inaczej. Czy ktoś może …
Przeglądam notatki z kursu na CIS 500: podstawy oprogramowania i ćwiczenia są świetną zabawą. Jestem dopiero na trzecim zestawie ćwiczeń, ale chciałbym dowiedzieć się więcej o tym, co się dzieje, gdy używam taktyki do udowodnienia, żeforall (n m : nat), n + n = m + m -> n = …
Nie sądzę, że rozumiem klasy typów. Czytałem gdzieś, że myślenie o klasach typów jako „interfejsach” (od OO), które implementuje typ, jest błędne i wprowadza w błąd. Problem polega na tym, że mam problem z postrzeganiem ich jako czegoś innego i jak to jest złe. Na przykład, jeśli mam klasę typu …
Czytałem kilka artykułów na temat typów zależnych i umów programowych. Z większości tego, co przeczytałem, wydaje się, że kontrakty są sprawdzane dynamicznie, a typy zależne sprawdzane statycznie. Było kilka dokumentów, które skłoniły mnie do myślenia, że możliwe są kontrakty częściowo sprawdzane statycznie: Hybrid Type Checking (C. Flanagan - 2006) Unifying …
Chcę budować notacje dla dużych policzalnych porządków w „naturalny sposób”. Przez „naturalny sposób” rozumiem, że biorąc pod uwagę typ danych indukcyjnych X, równość ta powinna być zwykłą rekurencyjną równością (ta sama, deriving Eqktórą wytworzyłby Haskell), a kolejność powinna być zwykłym rekurencyjnym porządkiem leksykograficznym (tym samym, co deriving Ordw Haskell dałby …
Interesuje mnie, dlaczego autorzy książek na temat teorii języków programowania i teorii typów tak uwielbiają liczby naturalne (np. J. Mitchell, Podstawy języków programowania i B. Pierce, Typy i języki programowania). Opis prostego rachunku różniczkowego lambda, a zwłaszcza języka programowania PCF, jest zwykle oparty na języku Nat i Bool. Dla osób …
Jestem zdezorientowany subtelną różnicą między twierdzeniami a osądami, gdy jestem narażony na intuicyjną teorię typów. Czy ktoś może mi wyjaśnić, po co je rozróżniać, a co je wyróżnia? Zwłaszcza w świetle curry-Howarda Isomorphsima.
Niedawno czytałem Dwie dualności obliczeń: typy ujemne i ułamkowe . Artykuł rozwija typy sum i typy produktów, nadając semantykę typom a - bi a/b. W przeciwieństwie do dodawania i mnożenia, nie ma jednego, lecz dwa odwrotności potęgowania, logarytmów i rootowania. Jeśli typy funkcji (a → b) są potęgowaniem teoretycznym, biorąc …
Jak stwierdzono w tytule, zastanawiam się nad jakąkolwiek relacją i różnicą między CIC a ITT. Czy ktoś mógłby mi wyjaśnić lub wskazać mi literaturę porównującą te dwa systemy? Dzięki.
Dużo czytałem o systemach typów i takie i rozumiem z grubsza, dlaczego zostały wprowadzone (w celu rozwiązania paradoksu Russela). Rozumiem też z grubsza ich praktyczne znaczenie w językach programowania i systemach sprawdzających. Nie jestem jednak do końca pewien, czy moje intuicyjne wyobrażenie o typie jest prawidłowe. Moje pytanie brzmi: czy …
1) Jaki, jeśli w ogóle, jest związek między pisaniem statycznym a gramatyką formalną? 2) Czy w szczególności byłoby możliwe, aby automat z ograniczeniem liniowym sprawdził, czy, powiedzmy, program C ++ lub SML był dobrze napisany? Automat zagnieżdżonego stosu? 3) Czy istnieje naturalny sposób na wyrażenie zasad pisania statycznego w formalnych …
Natknąłem się na mylące spory między Agdą i Coq, które nie są oczywiście związane z najbardziej znanymi różnicami między ich teoriami typów (np. (Im) predykatywność, indukcja-rekurencja itp.). W szczególności Agda akceptuje następującą definicję: data Ty : Set0 -> Set0 where c1 : Ty ℕ c2 : Ty (Ty ℕ) podczas …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.