Pytania otagowane jako coq

Coq jest interaktywnym dowodem twierdzenia.

3
Płytkie kontra głębokie osadzanie
Podczas kodowania logiki w asystencie dowodu, takim jak Coq lub Isabelle, należy dokonać wyboru między użyciem płytkiego a głębokiego osadzenia. W płytkim osadzaniu formuły logiczne są zapisywane bezpośrednio w logice twierdzenia twierdzącego, podczas gdy w głębokim osadzaniu formuły logiczne są reprezentowane jako typ danych. Jakie są zalety i ograniczenia różnych …


3
Dlaczego Coq ma Prop?
Coq ma typ Prop dowodu nieistotne propozycje, które są odrzucane podczas ekstrakcji. Jaki jest tego powód, jeśli używamy Coq tylko do dowodów. Rekwizyt jest impredykatywny, więc Prop: Prop, Coq automatycznie wyszukuje indeksy wszechświata i zamiast tego możemy używać Type (i) wszędzie. Wygląda na to, że Prop bardzo wszystko komplikuje. Czytałem, …

2
Dlaczego Agda i Coq nie zgadzają się co do ścisłej pozytywności?
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 …
24 type-theory  coq 


1
Gdzie jest dowód, że Coq + Wykluczone Środek jest spójny
Widziałem (i słyszałem), że twierdził, że można bezpiecznie dodać klasyczny aksjomat wykluczonego środka do Coq, ale nie mogę znaleźć dokumentu potwierdzającego to twierdzenie. Artykuły, które widzę na liście na wiki Coq o wykluczonym środku, wykazują niespójność z impredykatywnym Setem. Rzeczywiście wydaje się, że Coquand stwierdza, że ​​dodanie Wykluczonego Środka (mieszkańca …

2
Dlaczego nieskończona hierarchia typów?
Coq, Agda i Idris mają nieskończoną hierarchię typów (Typ 1: Typ 2: Typ 3: ...). Ale dlaczego nie zrobić tego zamiast λC, układu w sześcianie lambda najbliższego rachunku różniczkowego konstrukcji, który ma tylko dwa rodzaje, i ◽ , i te reguły?∗∗*◽◽◽ ∅⊢∗:◽∅⊢∗:◽\frac {} {∅ ⊢ * : ◽} Γ⊢T1:s1Γ,x:T1⊢t:T2Γ⊢(λx:T1,t):(Πx:T1,T2)Γ⊢T1:s1Γ,x:T1⊢t:T2Γ⊢(λx:T1,t):(Πx:T1,T2)\frac {Γ …

1
Udowodnić nieistotność dowodu w Coq?
Czy istnieje sposób na udowodnienie następującego twierdzenia w Coq? Theorem bool_pirrel : forall (b : bool) (p1 p2 : b = true), p1 = p2. EDYCJA : Próba krótkiego wyjaśnienia „czym jest nieistotność dowodu” (popraw mnie, jeśli się mylę lub nieścisłość) Podstawowym założeniem jest to, że w świecie propozycja (lub …


2
Eliminowanie cofix w dowodzie Coq
Próbując udowodnić pewne podstawowe właściwości przy użyciu typów koindukcyjnych w Coq, ciągle napotykam na następujący problem i nie mogę go obejść. Wydzieliłem problem na prosty skrypt Coq w następujący sposób. Rodzaj Drzewo definiuje ewentualnie nieskończone drzew z gałęziami oznaczonych elementów typu A . Oddział nie musi być określone dla wszystkich …


2
Formalna semantyka OCaml w Coq
Semantyka dużego podzbioru OCaml, zwanego OCamllight , została sformalizowana w HOL przez Owensa kilka lat temu. Niedawno Kreitz, Hayden i Hickey zaimplementowali w Nuprl teoretyczną semantykę typu mniejszego podzbioru OCaml . Czy istnieje podobny rozwój w Coq?

1
Jak zdefiniować funkcję indukcyjnie na podstawie dwóch argumentów w Coq?
Jak przekonać Coq, że podana poniżej funkcja rekurencyjna kończy się? Funkcja przyjmuje dwa argumenty indukcyjne. Intuicyjnie rekursja kończy się, ponieważ którykolwiek argument jest rozkładany. W szczególności funkcja przyjmuje dwa drzewa jako dane wejściowe. Inductive Tree := | Tip: Tree | Bin: Tree -> Tree -> Tree. Na drzewach lubię stosować …

4
Modelowanie obiektów (OOP) w teorii typów zależnych
Interesuje mnie modelowanie obiektów, od programowania obiektowego, w teorii typów zależnych. Jako możliwą aplikację chciałbym mieć model, w którym mogę opisać różne cechy imperatywnych języków programowania. Znalazłem tylko jeden artykuł na temat modelowania obiektów w teorii typów zależnych, a mianowicie : Programowanie obiektowe w teorii typów zależnych A. Setzer (2006) …

3
Co faktycznie powinien udowodnić dowód poprawności dla sprawdzającego typ?
Programuję od kilku lat, ale nie znam teoretycznej CS. Niedawno próbowałem uczyć się języków programowania, a w ramach tego sprawdzania i wnioskowania. Moje pytanie brzmi: jeśli spróbuję napisać program wnioskowania i sprawdzania języka programowania i chcę udowodnić, że mój program do sprawdzania typów działa, jaki dokładnie jest dowód, którego szukam? …

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.