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
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
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ą...
To pytanie zostało przeniesione z przepełnienia stosu, ponieważ można na nie odpowiedzieć na teoretycznej wymianie stosu komputerów. Migrował 8 lat temu . Biorąc pod uwagę, że Korespondencja Curry-Howarda jest tak szeroko rozpowszechniona / rozszerzona, czy istnieje jakaś...
ACSL (Ansi C Specification Language), to specyfikacja kodu C, opatrzona specjalnymi komentarzami, która pozwala na formalną weryfikację kodu C. Nie przyjrzałem się temu, ale wyobrażam sobie, że metody formalne stosowane w weryfikatorach ACSL byłyby podobne do Hoare Logic. Jednak w przypadku czysto...
Ponieważ w Lambda Ultimate nie było odpowiedzi , próbuję tutaj jeszcze raz: systemy przepisywania terminów są używane na przykład w automatycznym twierdzeniu potwierdzającym obliczenia symboliczne i oczywiście do zdefiniowania gramatyki formalnej. Istnieje kilka języków programowania opartych na...
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...
W swojej odpowiedzi na to pytanie , Stephane Gimenez wskazał mi algorytm normalizacji wielomian czasu do dowodów w logice liniowej. Dowód w artykule Girarda wykorzystuje siatki próbne, które są aspektem logiki liniowej, o której tak naprawdę niewiele wiem. Teraz próbowałem już czytać artykuły na...
Typy i języki programowania skupiają się dość mocno na subtypowaniu, ale o ile wiem, subtyping nie wydaje się szczególnie fundamentalny. Czy podtypowanie daje coś więcej niż typy zależne? Praca z typami zależnymi z pewnością będzie wymagała więcej pracy, więc rozumiem, dlaczego podtypy mogą być...
W praktyce, dla języka, który można ostatecznie skompilować / przekształcić w instrukcje na poziomie systemu, czy konieczne jest, aby była to gramatyka bezkontekstowa? np .: Czy wszystkie języki programowania / skryptów są wolne od kontekstu? Java oparta jest na CFG, ale czy w rzeczywistości...
Z tego, co rozumiem (co jest bardzo mało, więc proszę popraw mnie tam, gdzie się mylę!), Teoria języków programowania często dotyczy dowodów „intuicyjnych”. W mojej własnej interpretacji podejście to wymaga od nas poważnego potraktowania konsekwencji obliczeń dla logiki i sprawdzalności. Dowód nie...
Zainspirowany rozległymi hierarchiami obecnymi w teorii złożoności, zastanawiałem się, czy takie hierarchie występują również w przypadku systemów typów. Jednak dwa przykłady, które do tej pory znalazłem, bardziej przypominają listy kontrolne (z funkcjami ortogonalnymi) niż hierarchie (z coraz...
Prawdopodobnie najczęstszym zastosowaniem typów liniowych w PL jest użycie ich do nadania języków, które kontrolują aliasing (tzn. Wartość liniowa ma mniej więcej jeden wskaźnik). Ale istnieje niewielkie niedopasowanie między tym użytkowaniem a typowymi denotacyjnymi modelami logiki liniowej....
Ponieważ nie pozwala na niekończące się obliczenia, Coq niekoniecznie nie jest kompletny w Turingu. Jaką klasę funkcji może obliczyć Coq? (czy istnieje ich interesująca
Czy istnieje przydatny opis przyszłości lub obietnic w kategoriach teorii kategorii? W szczególności, czym może być kategoryczny dualność
Właśnie zdałem sobie sprawę, że zakładam, że odpowiedź na moje pytanie brzmi „tak”, ale nie mam dobrego powodu. Wyobrażam sobie, że może istnieje śmieciarz, który prawdopodobnie wprowadza tylko spowolnienie w najgorszym przypadku. Czy istnieje ostateczne odniesienie, które mogę zacytować? W moim...
Wydaje mi się, że język makr używany przez może być postrzegany jako pewnego rodzaju system przepisywania terminów lub jakiś język programowania z określaniem zakresu według nazw.T.miXT.miX\TeX Nawet współczesne implementacje silnika (np. ) interpretują kod w dość bezpośredni sposób i nie jestem...
Może ktoś będzie w stanie wyjaśnić różnicę między: Algebraiczne typy danych (które dość dobrze znam) Uogólnione algebraiczne typy danych (co czyni je uogólnionymi?) Rodzaje indukcyjne (np. Coq) (Szczególnie typy indukcyjne.)
Ważnym celem metod formalnych jest udowodnienie poprawności systemów, za pomocą środków automatycznych lub kierowanych przez człowieka. Wydaje się jednak, że nawet jeśli podasz dowód poprawności, NIE będziesz w stanie zagwarantować, że system nie zawiedzie. Na przykład: Specyfikacja może...
Szukam materiału instruktażowego, który obejmuje dowody poprawności kompilatora, najlepiej przy użyciu metod denotacyjnych, na poziomie początkującego studenta. Alternatywnie, czy znasz kilka prostych przykładów kompilatora, których mógłbym zilustrować problemy? (Pierwszym przykładem, który...
Ostatnio Dana Scott zaproponowała stochastyczny rachunek lambda, próbę wprowadzenia elementów probabilistycznych do (nietypowego) rachunku lambda w oparciu o semantykę zwaną modelem grafowym. Jego slajdy można znaleźć na przykład w Internecie , a jego artykuł w Journal of Applied Logic , t. 12...