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 …
Ich gehe die Kursnotizen bei CIS 500 durch: Software-Grundlagen und die Übungen machen viel Spaß. Ich bin erst beim dritten Übungssatz, aber ich würde gerne mehr darüber erfahren, was passiert, wenn ich Taktiken verwende, um Dinge wie zu beweisenforall (n m : nat), n + n = m + m …
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 …
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 …
Da es keine abschließende Berechnung erlaubt, ist Coq notwendigerweise nicht vollständig. Welche Funktionsklasse kann Coq berechnen? (Gibt es eine interessante Charakterisierung davon?)
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 …
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 {} {∅ ⊢ * : ◽} …
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) …
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, …
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 …
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?
Wie kann ich Coq davon überzeugen, dass die unten angegebene rekursive Funktion endet? Die Funktion akzeptiert zwei induktive Argumente. Intuitiv wird die Rekursion abgebrochen, weil eines der beiden Argumente zerlegt wird. Insbesondere nimmt die Funktion zwei Bäume als Eingabe. Inductive Tree := | Tip: Tree | Bin: Tree -> Tree …
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 …
Ich habe nach einer Formalisierung des Kompaktheitssatzes für FOL gesucht, aber keine gefunden. Ist jemandem eine solche Entwicklung oder verwandte Arbeit bekannt?
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 …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.