Ich bin Anfänger und arbeite an Methoden zum Nachweis der Programmäquivalenz. Ich habe einige Artikel über das Definieren logischer Beziehungen oder Simulationen gelesen, um zu beweisen, dass zwei Programme gleichwertig sind. Aber ich bin ziemlich verwirrt über diese beiden Techniken. Ich weiß nur, dass logische Beziehungen induktiv definiert werden, während …
Dies ist eine Folgefrage zu Was ist der Unterschied zwischen Beweisen und Programmen (oder zwischen Aussagen und Typen)? Welches Programm würde einem nicht konstruktiven (klassischen) Beweis der Form ∀k T(e,k)∨¬∀k T(e,k)∀k T(e,k)∨¬∀k T(e,k)\forall k \ T(e,k) \lor \lnot \forall k \ T(e,k) ? (Angenommen, TTT ist eine interessante entscheidbare Beziehung, …
Ich versuche, Notationen für große abzählbare Ordnungszahlen auf "natürliche Weise" zu erstellen. Mit "natürlich" meine ich, dass bei einem induktiven Datentyp X diese Gleichheit die übliche rekursive Gleichheit sein sollte (die gleiche, die deriving Eqin Haskell erzeugt würde) und die Reihenfolge die übliche rekursive lexikographische Reihenfolge sein sollte (die gleiche, …
Angenommen, ich wollte Turings Beweis für das Stopp-Problem formalisieren, damit eine Maschine ihn überprüfen kann. Einige der bekannten automatisierten Theoremprüfungssysteme umfassen Mizar, Coq und HOL4. Ich habe Coq heruntergeladen und experimentiert, aber es gibt keine Bibliothek für Turing-Maschinen. Ich überlegte, selbst einen Code zu schreiben, fand das Tutorial jedoch nicht …
Ich bin verwirrt über den subtilen Unterschied zwischen Aussagen und Urteilen, wenn ich der Theorie des intuitionistischen Typs ausgesetzt bin. Kann mir jemand erklären, woran es liegt, sie zu unterscheiden und was sie unterscheidet? Besonders im Hinblick auf den Curry-Howard Isomorphsim.
Ich habe kürzlich Die zwei Dualitäten der Berechnung gelesen: Negative und fraktionale Typen . Das Papier erweitert die Summen- und Produkttypen und gibt den Typen a - bund eine Semantik a/b. Im Gegensatz zu Addition und Multiplikation gibt es nicht nur eine, sondern zwei Umkehrungen von Potenzierung, Logarithmus und Wurzelbildung. …
In SAT-Solvern finden Sie häufig Schnittebenenmethoden, variable Propagierung, Branch-and-Bound, Klausellernen, intelligentes Backtracking oder sogar handgewebte menschliche Heuristiken. Doch seit Jahrzehnten verlassen sich die besten SAT-Löser stark auf Auflösungsprüftechniken und verwenden eine Kombination aus anderen Dingen, um die Suche zu erleichtern und den Auflösungsstil zu steuern. Offensichtlich wird vermutet, dass JEDER …
Ich habe vor kurzem einige der Ideen und die Geschichte der bahnbrechenden Arbeit gelesen, die verschiedene Logik- und Mathematiker in Bezug auf die Berechenbarkeit geleistet haben. Während mir die einzelnen Konzepte ziemlich klar sind, versuche ich, die Zusammenhänge und die abstrakte Ebene, auf der sie alle miteinander verbunden sind, klar …
Es sieht so aus, als hätten George Gonthier und seine Mitarbeiter den Satz der ungeraden Ordnung fertig formalisiert . In seiner früheren Arbeit zum Vier-Farben-Theorem hat Gonthier eine Reihe neuer Algorithmen (hauptsächlich Varianten von BDDs und Graph-Algorithmen) erfunden, die sich besonders für die formale Verifikation eignen. Ich frage mich, welche …
Gibt es in Anbetracht der Tatsache, dass die Curry-Howard-Korrespondenz so weit verbreitet / erweitert ist, einen Unterschied zwischen Beweisen und Programmen (oder zwischen Aussagen und Typen)? Können wir sie wirklich identifizieren?
Ist es möglich, eine Boolesche Formel B in eine äquivalente Konjunktion von Horn-Klauseln zu übersetzen? Der Wikipedia-Artikel über HornSAT scheint zu implizieren, dass dies der Fall ist, aber ich konnte keine Referenz aufspüren. Beachten Sie, dass ich nicht "in polynomialer Zeit" meine, sondern "überhaupt".
ACSL (Ansi C Specification Language) ist eine mit speziellen Kommentaren versehene Spezifikation für C-Code, mit der C-Code formal verifiziert werden kann. Ich habe es nicht untersucht, aber ich stelle mir vor, dass die in ACSL- Verifizierern verwendeten formalen Methoden Hoare Logic ähneln würden. Für reine funktionale Sprachen wie Haskell kann …
Ich habe viel über Typsysteme und dergleichen gelesen und verstehe ungefähr, warum sie eingeführt wurden (um Russels Paradoxon zu lösen). Ich verstehe auch in etwa deren praktische Relevanz in Programmiersprachen und Proofsystemen. Ich bin jedoch nicht ganz sicher, dass meine intuitive Vorstellung, was ein Typ ist, richtig ist. Meine Frage …
Betrachten Sie diese Frage als gelöst. Ich werde nicht die beste Antwort auswählen, da sie alle zu meinem Verständnis des Themas beigetragen haben. Ich bin mir nicht sicher, welchen Nutzen es hat, die Semantik der Prädikatenlogik formal zu definieren. Aber ich sehe Wert darin, eine formale Beweisrechnung zu haben. Mein …
In seiner Antwort auf diese Frage , Stephane Gimenez wies mich auf eine Normalisierungsalgorithmus Polynom-Zeit für Beweise in linearer Logik. Der Proof in Girards Papier verwendet Proof-Netze, die ein Aspekt der linearen Logik sind, über den ich eigentlich nicht viel weiß. Jetzt habe ich bereits versucht, Aufsätze über Proof-Netze zu …
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.