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, …
Mich interessiert, warum natürliche Zahlen bei den Autoren von Büchern über Programmiersprachentheorie und Typentheorie so beliebt sind (z. B. J. Mitchell, Grundlagen für Programmiersprachen und B. Pierce, Typen und Programmiersprachen). Die Beschreibung des einfach getippten Lambda-Kalküls und insbesondere der PCF-Programmiersprache basiert normalerweise auf Nat's und Bool's. Für die Menschen, die …
Wie viel Rechenleistung kann eine C-Implementierung haben, wenn wir uns an das Buch halten (oder an eine andere Version der Sprachspezifikation, wenn Sie dies vorziehen)? Beachten Sie, dass „C-Implementierung“ eine technische Bedeutung hat: Es handelt sich um eine bestimmte Instanz der C-Programmiersprachenspezifikation, in der das implementierungsdefinierte Verhalten dokumentiert ist. Die …
Als Nebenprojekt schreibe ich eine Sprache mit Python. Ich habe mit einem Flex / Bison-Klon namens Ply angefangen, stoße aber an die Grenzen dessen, was ich mit dieser Art von Grammatik ausdrücken kann, und ich bin nicht daran interessiert, meine Sprache zu zerhacken, weil die Impedanz nicht mit der übereinstimmt …
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. …
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?
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 …
Da es bei Lambda the Ultimate keine Antwort gab, versuche ich es hier noch einmal: Term Rewriting-Systeme werden beispielsweise in automatisierten Theoremen verwendet, um eine symbolische Berechnung zu beweisen und natürlich formale Grammatiken zu definieren. Es gibt einige Programmiersprachen, die auf dem Umschreiben von Begriffen basieren, aber nach meinem Verständnis …
1) In welcher Beziehung stehen statische Typisierung und formale Grammatik? 2) Wäre es insbesondere für einen linear begrenzten Automaten möglich, zu überprüfen, ob beispielsweise ein C ++ - oder SML-Programm gut typisiert war? Ein verschachtelter Stapelautomat? 3) Gibt es eine natürliche Möglichkeit, statische Schreibregeln in formalen Grammatikbegriffen auszudrücken?
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 …
Typen und Programmiersprachen konzentrieren sich ziemlich stark auf Subtypisierung, aber soweit ich das beurteilen kann, scheint die Subtypisierung nicht besonders grundlegend zu sein. Gibt es bei der Subtypisierung mehr als bei abhängigen Typen? Das Arbeiten mit abhängigen Typen ist sicherlich aufwändiger, sodass ich verstehen kann, warum Untertypen in der Praxis …
Nach dem, was ich verstehe (was sehr wenig ist, bitte korrigieren Sie mich, wo ich mich irre!), Beschäftigt sich die Theorie der Programmiersprachen oft mit "intuitionistischen" Beweisen. Nach meiner eigenen Interpretation müssen wir die Konsequenzen der Berechnung für Logik und Beweisbarkeit ernst nehmen . Ein Beweis kann nur existieren, wenn …
Inspiriert von den umfangreichen Hierarchien in der Komplexitätstheorie, habe ich mich gefragt, ob solche Hierarchien auch für Typsysteme vorhanden sind. Die beiden Beispiele, die ich bisher gefunden habe, ähneln jedoch eher Checklisten (mit orthogonalen Merkmalen) als Hierarchien (mit immer aussagekräftigeren Schriftsystemen). Die beiden Beispiele, die ich gefunden habe, sind der …
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.