Pytania otagowane jako type-theory

systemy formalne określające właściwości obiektów


4
Co oznacza wiodący operator kołowrotu?
Wiem, że różni autorzy używają różnych notacji do reprezentacji semantyki języka programowania. W rzeczywistości Guy Steele rozwiązuje ten problem w ciekawym filmie . Chciałbym wiedzieć, czy ktoś wie, czy wiodący operator bramki obrotowej ma dobrze rozpoznane znaczenie. Na przykład nie rozumiem wiodącego operatora na początku mianownika:⊢⊢\vdash x:T1⊢t2:T2⊢λx:T1.t2 : T1→T2x:T.1⊢t2):T.2)⊢λx:T.1.t2) : …

1
Dlaczego nie badamy więcej w kierunku gwarancji czasu kompilacji?
Uwielbiam wszystko, co jest czasem kompilacji i uwielbiam pomysł, że po skompilowaniu programu powstaje wiele gwarancji dotyczących jego wykonania. Mówiąc ogólnie, system typu statycznego (Haskell, C ++, ...) wydaje się dawać silniejsze gwarancje czasu kompilacji niż jakikolwiek system typu dynamicznego. Z tego, co rozumiem, Ada idzie jeszcze dalej w zakresie …


2
Zredukowanie produktów w HoTT do kodowania kościoła / Scotta
Więc idę z książką HoTT z niektórymi ludźmi. Stwierdziłem, że większość typów indukcyjnych, które zobaczymy, można zredukować do typów zawierających tylko zależne typy funkcji i wszechświaty, przyjmując typ rekurencji za inspirację dla typu równoważnego. Zacząłem szkicować, jak sądzę, że to zadziała i po pewnym potknięciu doszedłem do tego, co uważałem …

1
Czy właściwości, takie jak wykorzystanie pamięci przez funkcję, można wyrazić w języku zależnym od typu?
Załóżmy, że ktoś chce argumentować o właściwościach kodu wykraczających poza takie rzeczy, jak totalność i czystość funkcjonalna - dba się również o zużycie pamięci lub złożoność algorytmiczną funkcji. Czy można tego dokonać za pomocą zależnych systemów pisania i efektów?

1
Co to jest w rachunku konstrukcji?
Patrzę na Rachunek Konstrukcji i jego miejsce w Kostce Lambda . Jeśli dobrze rozumiem, każdą oś sześcianu można uznać za dodanie innej operacji obejmującej typy do rachunku zwykłego, . Pierwsza oś dodaje operatory typu „typ do terminu”, drugie operatory typu „typ do typu”, a trzecia zależna typowanie, czyli operatory typu …

1
Wnioskowanie o rodzajach uściślenia
W pracy miałem za zadanie wnioskować o pewnych typach informacji o dynamicznym języku. Przepisuję sekwencje instrukcji na letwyrażenia zagnieżdżone , tak jak poniżej: return x; Z => x var x; Z => let x = undefined in Z x = y; Z => let x = y in Z if …
11 programming-languages  logic  type-theory  type-inference  machine-learning  data-mining  clustering  order-theory  reference-request  information-theory  entropy  algorithms  algorithm-analysis  space-complexity  lower-bounds  formal-languages  computability  formal-grammars  context-free  parsing  complexity-theory  time-complexity  terminology  turing-machines  nondeterminism  programming-languages  semantics  operational-semantics  complexity-theory  time-complexity  complexity-theory  reference-request  turing-machines  machine-models  simulation  graphs  probability-theory  data-structures  terminology  distributed-systems  hash-tables  history  terminology  programming-languages  meta-programming  terminology  formal-grammars  compilers  algorithms  search-algorithms  formal-languages  regular-languages  complexity-theory  satisfiability  sat-solvers  factoring  algorithms  randomized-algorithms  streaming-algorithm  in-place  algorithms  numerical-analysis  regular-languages  automata  finite-automata  regular-expressions  algorithms  data-structures  efficiency  coding-theory  algorithms  graph-theory  reference-request  education  books  formal-languages  context-free  proof-techniques  algorithms  graph-theory  greedy-algorithms  matroids  complexity-theory  graph-theory  np-complete  intuition  complexity-theory  np-complete  traveling-salesman  algorithms  graphs  probabilistic-algorithms  weighted-graphs  data-structures  time-complexity  priority-queues  computability  turing-machines  automata  pushdown-automata  algorithms  graphs  binary-trees  algorithms  algorithm-analysis  spanning-trees  terminology  asymptotics  landau-notation  algorithms  graph-theory  network-flow  terminology  computability  undecidability  rice-theorem  algorithms  data-structures  computational-geometry 

1
Wnioskowanie typu na podstawie ograniczeń z danymi algebraicznymi
Pracuję nad językiem genealogicznym ML opartym na wyrażeniach, więc oczywiście wymaga wnioskowania typu> :) Teraz próbuję rozszerzyć oparte na ograniczeniach rozwiązanie problemu wnioskowania typów, oparte na prostej implementacji w EOPL (Friedman i Wand), ale są to eleganckie algebraiczne typy danych. To, co mam do tej pory, działa płynnie; Jeśli wyrażenie …

1
Co to jest indukcja indukcyjna?
Co to jest indukcja indukcyjna ? Zasoby, które znalazłem to: książka HoTT na końcu rozdziału 5.7. Artykuł nLab artykuł zatytułowany Definicje indukcyjno-indukcyjne ten post na blogu wspomina także o typach indukcyjno-indukcyjnych Pierwsze dwa odniesienia są dla mnie za krótkie, a dwa ostatnie są zbyt techniczne. Czy ktoś może to wytłumaczyć …

2
Uniwersalna / egzystencjalna kwantyfikacja?
Usiłuję zrozumieć cel uniwersalnej i egzystencjalnej kwantyfikacji typów. Bawię się pisząc zabawkowy język na podstawie rachunku konstrukcji . Czytałem o Morte i Henku, aby pomóc mi lepiej zrozumieć. Nie rozumiem, dlaczego CoC ma zarówno lambda, jak i całkowitą abstrakcję. (λx:A.B)(λx:A.B)(\lambda x:A . B) (∀x:A.B)(∀x:A.B)(\forall x:A . B) Wydaje mi się, …

2
Wszechświaty w teorii typów zależnych
Czytam o teorii typów zależnych w książce online The Homotopy Type Theory . W sekcji 1.3 rozdziału Teoria typów wprowadza pojęcie hierarchii wszechświatów : , gdzieU0:U1:U2:⋯U0:U1:U2:⋯\mathcal{U}_0 : \mathcal{U}_1 : \mathcal{U}_2 : \cdots każdy wszechświat jest elementem następnego wszechświata . Ponadto zakładamy, że nasze wszechświaty są kumulatywne, to znaczy, że wszystkie …

1
Zwięzły przykład wykładniczego kosztu wnioskowania typu ML
Zwrócono mi uwagę, że koszt wnioskowania o typ w funkcjonalnym języku, takim jak OCaml, może być bardzo wysoki. Twierdzenie jest takie, że istnieje ciąg wyrażeń taki, że dla każdego wyrażenia długość odpowiedniego typu jest wykładnicza względem długości wyrażenia. Wymyśliłem sekwencję poniżej. Moje pytanie brzmi: czy znasz sekwencję z bardziej zwięzłymi …

2
Jak uzyskać eliminatory o typie zależnym?
W programowaniu zależnym są dwa główne sposoby dekompozycji danych i wykonania rekurencji: Zależne dopasowanie wzorca : definicje funkcji podano w postaci wielu klauzul. Ujednolicenie zapewnia, że ​​wszystkie pominięte przypadki są niemożliwe, a zewnętrzny solver zapewnia, że ​​rekurencja jest uzasadniona. Eliminatory : Każda indukcyjnego typu danych posiada powiązaną stałej E D …

1
Dlaczego typy rekurencyjne są potrzebne jako prymitywy dla prób w systemach typu zależnego?
Jestem stosunkowo nowy w teorii typów i programowaniu zależnym. Studiowałem rachunek różniczkowy konstrukcji (CoC) i inne systemy czystego typu. Szczególnie interesuje mnie wykorzystanie go jako pośredniej reprezentacji zabezpieczającej system kompilatora. Rozumiem, że typy (ko) rekurencyjne są reprezentatywne , obliczeniowo , przy użyciu jako jedynego konstruktora typów. Przeczytałem jednak, że nie …

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.