Als «coq» getaggte Fragen

Coq ist ein interaktiver Theorembeweiser.

3
Shallow versus Deep Embeddings
Bei der Codierung einer Logik in einen Proof-Assistenten wie Coq oder Isabelle muss zwischen einer flachen und einer tiefen Einbettung gewählt werden. In einer flachen Einbettung werden logische Formeln direkt in die Logik des Theorembeweisers geschrieben, während in einer tiefen Einbettung logische Formeln als Datentyp dargestellt werden. Was sind die …


3
Warum hat Coq Prop?
Coq hat eine Art Prop of Proof irrelevante Aussagen, die während der Extraktion verworfen werden. Was ist der Grund dafür, wenn wir Coq nur für Proofs verwenden? Prop ist aussagekräftig, daher leitet Coq jedoch automatisch Universumsindizes ein, und wir können stattdessen überall Type (i) verwenden. Es scheint, dass Prop alles …

2
Warum sind sich Agda und Coq nicht einig über strikte Positivität?
Ich bin auf eine verwirrende Meinungsverschiedenheit zwischen Agda und Coq gestoßen, die offensichtlich nicht mit den bekanntesten Unterscheidungen zwischen ihren Typentheorien zusammenhängt (z. B. (Im-) Prädikativität, Induktionsrekursion usw.). Insbesondere wird die folgende Definition von Agda akzeptiert: data Ty : Set0 -> Set0 where c1 : Ty ℕ c2 : Ty …
24 type-theory  coq 


1
Wo ist der Beweis, dass Coq + Excluded Middle konsistent ist?
Ich habe gesehen (und gehört), dass behauptet wird, dass es sicher ist, das klassische Axiom der ausgeschlossenen Mitte zu Coq hinzuzufügen, aber ich kann anscheinend kein Papier finden, das diese Behauptung stützt. Die Papiere, die ich im Coq-Wiki über ausgeschlossene Mitten sehe, weisen Inkonsistenzen mit Impredicative Set auf. Tatsächlich scheint …

2
Warum eine unendliche Typhierarchie?
Coq, Agda und Idris haben eine unendliche Typhierarchie (Typ 1: Typ 2: Typ 3: ...). Aber warum nicht stattdessen λC, das System im Lambda-Würfel, das der Konstruktionsrechnung am nächsten kommt und nur zwei Sorten und und diese Regeln hat?∗∗*◽◽◽ ∅ ⊢ * : ◽∅⊢∗:◽\frac {} {∅ ⊢ * : ◽} …

1
Beweis der Irrelevanz in Coq?
Gibt es eine Möglichkeit, den folgenden Satz in Coq zu beweisen? Theorem bool_pirrel : forall (b : bool) (p1 p2 : b = true), p1 = p2. BEARBEITEN : Ein Versuch, eine kurze Erklärung für "Was ist der irrelevante Beweis" zu geben (korrigiere mich, wenn ich falsch oder ungenau bin) …

3
Welche Rolle spielt Prädikativität bei induktiven Definitionen in der Typentheorie?
Wir wollen oft ein Objekt nach bestimmten Inferenzregeln definieren. Diese Regeln bezeichnen eine Erzeugungsfunktion die, wenn sie monoton ist, einen am wenigsten festen Punkt ergibt . Wir nehmen die "induktive Definition" von sein . Darüber hinaus erlaubt uns die Monotonie von , mit dem "Induktionsprinzip" zu argumentieren, um zu bestimmen, …

2
Eliminierung von Cofix in Coq Proof
Während ich versuche, einige grundlegende Eigenschaften mithilfe von coinduktiven Typen in Coq zu beweisen, stoße ich weiterhin auf das folgende Problem und kann es nicht umgehen. Ich habe das Problem folgendermaßen in ein einfaches Coq-Skript unterteilt. Der Typ Tree definiert möglicherweise unendliche Bäume mit Zweigen, die mit Elementen des Typs …

2
Formale Semantik von OCaml in Coq
Die Semantik einer großen Teilmenge von OCaml namens OCamllight wurde vor einigen Jahren von Owens in HOL formalisiert. In jüngerer Zeit wurde in Nuprl eine typentheoretische Semantik einer kleineren Teilmenge von OCaml von Kreitz, Hayden und Hickey implementiert . Gibt es eine ähnliche Entwicklung bei Coq?


4
Modellieren von Objekten (OOP) in der Theorie abhängiger Typen
Ich interessiere mich für die Modellierung von Objekten aus der objektorientierten Programmierung in der Theorie der abhängigen Typen. Als mögliche Anwendung hätte ich gerne ein Modell, in dem ich verschiedene Funktionen von imperativen Programmiersprachen beschreiben kann. Ich konnte nur einen Artikel zur Modellierung von Objekten in der Theorie abhängiger Typen …


3
Was sollte ein Korrektheitsnachweis für einen Typchecker tatsächlich beweisen?
Ich programmiere seit mehreren Jahren, bin aber mit theoretischer CS sehr unbekannt. Ich habe kürzlich versucht, Programmiersprachen zu studieren und als Teil davon Typprüfung und Inferenz. Meine Frage ist, wenn ich versuche, ein Typinferenz- und Überprüfungsprogramm für eine Programmiersprache zu schreiben, und ich beweisen möchte, dass mein Typechecker funktioniert, was …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.