Zeiger für CS-Anwendungen der Logik


17

Ich bin ein Student der Mathematik mit einem soliden Hintergrund in Logik. Ich habe einen einjährigen Abschlusskurs in Logik zusammen mit Abschlusskursen in endlicher Modelltheorie und einem weiteren Kurs in Erzwingungs- und Mengenlehre belegt. Die meisten CS-Texte scheinen nur einen sehr bescheidenen logischen Hintergrund anzunehmen, der hauptsächlich die Grundlagen der Aussagenlogik und der Logik erster Ordnung abdeckt.

Ich möchte einige Hinweise für CS-Anwendungen erhalten, bei denen umfangreicheres Material aus der Logik verwendet wird. Ein Interesse von mir wäre Typentheorie und formale Methoden im Allgemeinen. Könnte jemand eine gute Lektüre nach den einführenden Büchern über Modellprüfungs- und Programmiersprachen vorschlagen?


Ich habe diese CW gemacht, da die Liste sehr lang ist. Werfen Sie einen Blick auf 11 Bände von Handbook of Logic in Computer Science und Handbook of Logic in AI.
Kaveh

Ein guter Ausgangspunkt ist die folgende Abhandlung: - Samuel R. Buss, Alexander A. Kechris, Anand Pillay und Richard A. Shore, " Perspektiven für mathematische Logik im einundzwanzigsten Jahrhundert ", 2001. Insbesondere der Abschnitt von Sam Buss.
Kaveh

Diese Frage könnte erweitert und einheitlich strukturiert beantwortet werden, sodass diese Seite schließlich zu einer nützlichen Ausgangsressource für die Rechenlogik wird. Bitte beteiligen Sie sich an der Diskussion über Meta.
Vijay D

Antworten:


15

Ich habe hier einige Bereiche kurz besprochen und versucht, mich auf Ideen zu konzentrieren, die jemanden mit einem Hintergrund in fortgeschrittener mathematischer Logik ansprechen.

Finite-Modell-Theorie

Die einfachste Einschränkung der klassischen Modelltheorie aus Sicht der Informatik besteht darin, Strukturen über ein endliches Universum zu untersuchen. Diese Strukturen treten in Form von relationalen Datenbanken, Graphen und anderen kombinatorischen Objekten auf, die überall in der Informatik auftreten. Die erste Beobachtung ist, dass mehrere grundlegende Theoreme der Modelltheorie erster Ordnung versagen, wenn sie auf endliche Modelle beschränkt sind. Dazu gehören der Kompaktheitssatz, der Vollständigkeitssatz von Godel und Ultraproduktkonstruktionen. Trakhtenbrot hat gezeigt, dass im Gegensatz zur klassischen Logik erster Ordnung die Erfüllbarkeit über endliche Modelle nicht zu entscheiden ist.

Die grundlegenden Werkzeuge in diesem Bereich sind Hanf-Lokalität, Gaifman-Lokalität und zahlreiche Variationen von Ehrenfeucht-Fraisse-Spielen. Die untersuchten Themen umfassen Infinitary Logics, Logics mit Counting, Fixed Point Logics usw., wobei der Schwerpunkt immer auf endlichen Modellen liegt. Es gibt Arbeiten zur Expressivität in endlich variablen Fragmenten der Logik erster Ordnung, die über Kiesel-Spiele charakterisiert werden. Eine andere Richtung der Untersuchung besteht darin, Eigenschaften klassischer Logik zu identifizieren, die die Beschränkung auf endliche Modelle überleben. Ein jüngstes Ergebnis in dieser Richtung von Rossman zeigt, dass bestimmte Homomorphismusbewahrungssätze immer noch über endliche Modelle verfügen.

  1. Finite-Modell-Theorie , Ebbinghaus und Flum
  2. Elemente der endlichen Modelltheorie , Libkin
  3. Über Gewinnstrategien bei Ehrenfeucht-Fraisse-Spielen , Arora und Fagin, 1997.
  4. Bewahrungstheoreme des Homomorphismus , Rossman

Der aussagekräftige Kalkülμ

Eine Reihe von Arbeiten aus den späten 60er Jahren zeigte, dass zahlreiche Eigenschaften von Programmen in Erweiterungen der Aussagenlogik zum Ausdruck gebracht werden können, die die Argumentation über Fixpunkte unterstützen. Die Modal- Rechnung ist eine Logik, die in dieser Zeit entwickelt wurde und in automatisierten formalen Methoden eine breite Palette von Anwendungen gefunden hat. Viele formale Methoden sind mit zeitlicher Logik oder Hoare-artigen Logiken verbunden, und ein Großteil davon kann in Form des μ- Kalküls betrachtet werden. Tatsächlich habe ich gehört, dass der μ- Kalkül die Assemblersprache der zeitlichen Logik ist.μμμ

μμμμμ

  1. μ
  2. μ
  3. μ
  4. μ
  5. Die modale Mu-Kalkül-Wechselhierarchie ist streng , Bradfield, 1996
  6. Die variable Hierarchie des mu-Kalküls ist streng , Berwanger, E. Grädel und G. Lenzi, 2005

Lineare zeitliche Logik

Die lineare zeitliche Logik wurde aus der philosophischen Logik in die Informatik übernommen, um über das Verhalten von Computerprogrammen nachzudenken. Es wurde als gute Logik angesehen, da es Eigenschaften wie Invarianz (Fehlen von Fehlern) und Beendigung ausdrücken konnte. Die Beweistheorie der zeitlichen Logik wurde von Manna und Pnueli (und anderen, später) in ihren Artikeln und Büchern entwickelt. Die Modellprüfung und das Erfüllbarkeitsproblem für LTL können beide in Bezug auf Automaten über unendliche Wörter gelöst werden.

Pnueli hat in seinem Originalartikel auch fundamentale Antworten auf LTL gefunden und die Logik für die Argumentation über Programme eingeführt. Vardi und Wolper gaben eine viel einfachere Zusammenstellung von LTL-Formeln in Buchi-Automaten. Die Verbindung zur zeitlichen Logik hat zu einer intensiven Untersuchung von Algorithmen geführt, mit denen Automaten effizient aus LTL abgeleitet und Buchi-Automaten bestimmt und ergänzt werden können. Kamps Theorem zeigt, dass LTL mit seit und bisωμμ

  1. Die zeitliche Logik von Programmen , Pnueli 1977
  2. Aus der Kirche und vor PSL , Vardi, 2008
  3. Ein automaten-theoretischer Ansatz zur linearen Zeitlogik , Vardi und Wolper, 1986
  4. Die zeitliche Logik reaktiver und gleichzeitiger Systeme: Spezifikation , Manna und Pnueli
  5. Eine Bis-Hierarchie und andere Anwendungen eines Ehrenfeucht-Fraïssé-Spiels für zeitliche Logik , Etessami und Wilke, 2000

Computational-Tree-Logik

μ

Das Modellprüfungsproblem für CTL über endlichen Strukturen liegt in der Polynomzeit. Das Modellprüfungsproblem für CTL * ist EXPTIME abgeschlossen. Die Axiomatisierung von CTL * war ein herausforderndes offenes Problem, das schließlich von Reynolds 2001 gelöst wurde. Das Analogon von van Benthems Theorem für die Modallogik und Kamps Theorem für LTL wird für CTL * durch ein Theorem von Hafer und Thomas gegeben, das zeigt, dass CTL * entspricht ein Fragment einer monadischen Logik zweiter Ordnung über binären Bäumen. Eine spätere Charakterisierung von Hirschfeld und Rabinovich ist, dass CTL * dem bisimulationsinvarianten Fragment von MSO mit Pfadquantifizierung ausdrücklich äquivalent ist.

  1. "Manchmal" und "nicht nie" wiederholt: Über Verzweigung gegen lineare zeitliche Zeitlogik , Emerson und Halpern, 1986
  2. Über die Ausdruckskraft von CTL , Möller, Rabinovich, 1999
  3. Computation Tree Logic CTL * und Pfadquantifikatoren in der monadischen Theorie des binären Baums , Hafer und Thomas, 1987
  4. Eine Axiomatisierung der vollständigen Berechnungsbaumlogik , Reynolds, 2001

Sprachen der unendlichen Wörter

ω

ωωω-Wörter. Darüber hinaus zeigten sie unter Verwendung der Elementartopologie, dass jede lineare Zeiteigenschaft als Schnittpunkt einer Sicherheits- und einer Lebendigkeitseigenschaft ausgedrückt werden kann. Dieses Ergebnis hat erhebliche praktische Konsequenzen, da es bedeutet, dass keine komplexen Eigenschaftsprüfer erstellt werden müssen, sondern lediglich ein Sicherheits- und ein Verfügbarkeitsprüfer erstellt werden muss. Eine weitere Reduzierung zeigt, dass es ausreicht, einen Invarianzprüfer und einen Terminierungsprüfer zu erstellen. Die Charakterisierung des Sicherheitslebens wurde von Manolios und Trefler auf Bäume und in jüngerer Zeit auf Spuren von Clarkson und Schneider im Rahmen der Hypereigenschaften ausgedehnt.

  1. Unendliche Wörter: Automaten, Halbgruppen, Logik und Spiele , Perrin und Pin, 2004
  2. ω
  3. ω
  4. Zu syntaktischen Kongruenzen für ω-Sprachen , Maler und Staiger, 1993

Automaten auf unendlichen Wörtern

Wo es Sprachen gibt, werden Informatiker Automaten haben. Geben Sie die Theorie der Automaten über unendliche Wörter und unendliche Bäume ein. Es ist äußerst traurig, dass, obwohl Automaten über unendliche Wörter innerhalb von zwei Jahren nach Automaten über endliche Wörter erschienen, dieses grundlegende Thema in den üblichen Lehrplänen der Informatik selten behandelt wird. Automaten über unendlichen Wörtern und Bäumen bieten einen sehr robusten Ansatz, um die Entscheidbarkeit der Erfüllbarkeit für eine sehr reiche Familie von Logiken zu beweisen.

ω

  1. Entscheidbarkeit von Theorien zweiter Ordnung und Automaten auf unendlichen Bäumen , Rabin, 1969
  2. Automaten auf unendlichen Objekten , Thomas, 1988
  3. Automata: Von der Logik zum Algorithmus , Vardi, 2007

Unendliche Spiele

Logische und unendliche Spiele sind ein aktives Forschungsgebiet. Spieltheoretische Vorstellungen tauchen in der Informatik überall in der Dualität zwischen Nichtdeterminismus und Parallelismus (Alternation), einem Programm und seiner Umgebung, universeller und existentieller Quantifizierung, Box- und Diamantmodalitäten usw. auf. Spiele erwiesen sich als a gute Möglichkeit, Eigenschaften der verschiedenen Arten von nicht-klassischen Logiken zu studieren, die oben aufgeführt sind.

Wie bei den Akzeptanzkriterien für Automaten gelten für Spiele unterschiedliche Gewinnbedingungen, und es kann gezeigt werden, dass viele davon gleichwertig sind. Da Sie nach klassischen Ergebnissen gefragt haben, liegen das Borel-Determinacy-Theorem und Gale-Stewart-Spiele häufig diskret im Hintergrund mehrerer von uns untersuchter Spielmodelle. Eine dringende Frage unserer Zeit war die Komplexität der Lösung von Paritätsspielen. Jurdzinski gab einen Algorithmus zur Strategieverbesserung an und zeigte, dass die Entscheidung über den Gewinner im Schnittpunkt der Komplexitätsklassen UP und coUP lag. Die genaue Komplexität von Jurdzinskis Algorithmus war offen, bis Friedmann ihm 2009 eine Exponentialzeituntergrenze gab.

  1. Die Entscheidung über den Sieger bei Paritätsspielen liegt bei UP ∩ co-UP , Jurdzinski, 1998
  2. Spiele für die μ-Rechnung , Niwinski und Walukiewicz, 1996
  3. Eine exponentielle Untergrenze für den Algorithmus zur Verbesserung der Paritätsspielstrategie, wie wir ihn kennen , Friedmann, 2009

10

Edmund M. Clarke, Doron A. Peled, Orna Grumberg: Modellprüfung . MIT Press 1999 ist ein schönes Buch (für mich) über die Modellprüfung.

Glynn Winskel: Die formale Semantik von Programmiersprachen: eine Einführung . MIT Press 1994 ist eines der Standardlehrbücher für Programmiersprachen.

Mordechai Ben-Ari: Mathematische Logik für die Informatik . Springer 2001 ist vielleicht das, wonach Sie suchen.


7

Die Datenbanktheorie ist ein weites Feld, das viele Anwendungen der Logik bietet. Beschreibende Komplexität und Finite-Modell-Theorie sind eng miteinander verbundene Bereiche. Soweit ich das beurteilen kann, verwenden alle diese Bereiche eher algebraische Stile der Logik (auf den Spuren von Birkhoff und Tarski) als Beweistheorie. Einige Arbeiten von Peter Buneman , Leonid Libkin , Wenfei Fan , Susan Davidson , Limsoon Wong , Atsushi Ohori und anderen Forschern, die in den 80er und 90er Jahren bei UPenn arbeiteten, versuchten jedoch, Theorie und Datenbanken der Programmiersprache zu vereinen. Dies scheint zu erfordern, dass man mit beiden Logikstilen vertraut ist. Gleiches gilt für neuere Arbeiten von James Cheneyund Philip Wadler .

In Bezug auf bestimmte Referenzen steht das Standardlehrbuch online zur Verfügung, damit Sie es bequem nachschlagen können:

Leider kenne ich keine aktuellen allgemeinen Lehrbücher oder Umfragen, die dieses sich schnell bewegende Gebiet abdecken. Ich habe zwei ältere Umfragen nützlich gefunden. Zuerst,

zeigt, wie die Punkte zwischen Tarski und einer bestimmten Unterfeld-Einschränkungsdatenbank verbunden werden. Zweite,

Die Datenbanktheorie im Stil von 1996 dient als Grundlage für endliche Modelltheoretiker und beleuchtet dabei viele interessante Anwendungen der Logik in Datenbanken. Für neuere Arbeiten (wie XML-Theorie, Provenienz, Streaming-Modelle oder Graphendatenbanken) ist das Lesen von häufig zitierten Forschungsarbeiten ein vernünftiger Ansatz.



4

Eine wichtige Verwendung der Logik in CS ist die Programmlogik, auch Hoare-Logik genannt.

2(π17)

Eine ähnliche Situation ergibt sich bei der Untersuchung der Modallogik, die (nochmals vereinfacht) nicht so aussagekräftig ist wie die Logik erster Ordnung, aber was sie ausdrücken kann, drücken sie mit kürzeren Formeln und Beweisen aus.

Das Identifizieren geeigneter Fragmente von ZFC ist für einfache Programmiersprachen nicht schwer, wird jedoch schnell schwieriger, da Programmiersprachen mehr Funktionen erhalten. In den letzten Jahren wurden in diesem Bereich erhebliche Fortschritte erzielt.

Die Veröffentlichung Eine axiomatische Grundlage für die Computerprogrammierung von T. Hoare wird oft als Grundlage für das Studium der Programmlogik angesehen. Sie ist leicht zu lesen und wahrscheinlich eine gute Möglichkeit, sich in die Praxis zu wagen. Die gleiche Logik wird in Winskels Buch "Formale Semantik von Programmiersprachen", das von @vb le zitiert wird, genauer untersucht.

Die Typentheorie kann in einem ähnlichen Licht gesehen werden. Das Hauptverkaufsargument der Typentheorie ist die Identifizierung von Beweisen mit (rein funktionalen) Programmen, die zu einer hohen Wirtschaftlichkeit der Konzepte und zu einer starken Automatisierung führen (in Form von Typinferenz und interaktiven Theorembeweisen). Der Preis dafür, dass die Typentheorie eine elegante Methode zur Organisation von Beweisen ist, ist, dass sie mit nicht rein funktionalen Programmiersprachen anscheinend nicht so gut funktioniert.

Ein neuerer und durch und durch moderner Text, der die Programmlogik typentheoretisch einführt, ist Software Foundations von Pierce et al. Es führt Sie direkt an den (a) neuesten Stand der Forschung im Bereich der Programmüberprüfung und gibt als Lehrbuch wahrscheinlich einen Einblick, wie Informatik und Mathematik in Zukunft unterrichtet werden.

Sobald eine Programmlogik für eine Sprache entwickelt wurde, ist der nächste Schritt die Automatisierung oder Teilautomatisierung: Die Erstellung von Beweisen für nicht triviale Programme ist arbeitsintensiv, und wir möchten, dass die Maschinen so viel wie möglich davon tun. Viel aktuelle Forschung in formalen Methoden, um mit einer solchen Automatisierung zu tun.


3

In der Informatik gibt es eine sehr starke Tradition der Logik. Die Probleme, die wir untersuchen, und die Ästhetik der Computerlogik-Community sind nicht identisch mit der der mathematischen Logik-Community. Sie haben vollkommen Recht, dass signifikante Entwicklungen in der Modelltheorie, der Meta-Theorie der Logik erster Ordnung und der Mengen-Theorie in der Computerlogik nicht häufig verwendet werden. Man kann Computerlogik erfolgreich erforschen, ohne Ultrafilter, Nicht-Standard-Analyse, Forcen, das Paris-Harrington-Theorem und eine Vielzahl anderer faszinierender Konzepte zu sehen oder zu verwenden, die in der klassischen Logik als wichtig angesehen werden.

So wie man mathematische Ideen auf das Studium der Logik und logische Ideen auf das Studium der Mathematik anwendet, wenden wir Logik auf das Studium der Informatik an und wenden rechnerische Perspektiven auf das Studium der Logik an. Dieser unterschiedliche Fokus hat ziemlich dramatische Konsequenzen für die Arten von Ergebnissen, die für uns wichtig sind.

Hier ist ein Zitat von John Baez über Logik und Informatik. Ich bin nicht genau der gleichen Ansicht, weil ich mit fortgeschrittener mathematischer Logik nicht sehr vertraut bin.

Als ich ein Student war, interessierte ich mich sehr für Logik und die Grundlagen der Mathematik - ich suchte immer nach den umwerfendsten Konzepten, die mir einfielen, und Goedels Satz, der Satz von Loewenheim-Skolem und so weiter Genau dort oben, was die Quantenmechanik und die allgemeine Relativitätstheorie betrifft. [...] Ich erinnere mich, dass ich damals das Gefühl hatte, dass Logik weniger revolutionär geworden war als zu Beginn des Jahrhunderts. Mir schien, dass Logik zu einem Teilgebiet der Mathematik geworden war, das wie jedes andere die undurchsichtigen Eigenschaften von Modellen der Zermelo-Fraenkel-Axiome untersuchte, anstatt die in diesen Axiomen implizierten Grundannahmen in Frage zu stellen und neue, unterschiedliche Ansätze zu wagen. [...]

Jedenfalls ist mir jetzt ziemlich klar, dass ich einfach nicht das Richtige gelesen habe. Ich denke, Rota hat gesagt, dass die wirklich interessante Arbeit in der Logik jetzt unter dem Namen "Informatik" [...] bekannt ist - Woche 40, Find this week, John Baez

Die Logik in der Informatik ist ein weites und sich schnell entwickelndes Gebiet. Ich finde, dass jede Perspektive der klassischen Logik modifiziert werden kann, um eine Perspektive auf die Computerlogik abzuleiten. Der Wikipedia-Eintrag zur mathematischen Logik unterteilt das Feld in Mengen-, Modell-, Beweis- und Rekursionstheorie. Sie können diese Bereiche im Wesentlichen einnehmen und ihnen eine Rechenart hinzufügen und ein Teilfeld der Rechenlogik erhalten.

Modelltheorie Wir beschäftigen uns gerne mit der Modelltheorie nichtklassischer Logik und nichtklassischer Modelle klassischer Logik. Damit meine ich, dass wir modale, zeitliche und substrukturelle Logiken studieren und dass wir Logiken über Bäume, Wörter und endliche Modelle studieren, im Gegensatz zu klassischen Modellen wie Algebren. Die beiden grundlegenden Probleme sind Erfüllbarkeit und Modellprüfung. Beide haben eine immense praktische und theoretische Bedeutung. Im Gegensatz dazu sind diese Probleme in der klassischen Logik weniger zentral.

Proof-Theorie Wir untersuchen die Komplexität und Effizienz, mit der wir Proofs in klassischen Proofsystemen erstellen können, sowie die Entwicklung neuer, nicht klassischer Proofsysteme, bei denen Komplexität und Effizienz berücksichtigt werden. Automatisierte Deduktionsstudien maschinengestützte Proofgenerierung, allgemein gesprochen. Der Prozess kann eine menschliche Interaktion beinhalten oder vollständig automatisch ablaufen. An der Entwicklung von Entscheidungsverfahren für logische Theorien wird viel gearbeitet. Die Beweiskomplexität konzentriert sich auf die Größe der Beweise und die rechnerische Komplexität der Erzeugung von Beweisen. Es gibt eine faszinierende Reihe von Arbeiten, die Programme mit Beweisen in Verbindung bringen. Diese verbinden sich mit Arbeiten, die von der linearen Logik abstammen, um Beweise und folglich Programmiersprachen zu entwickeln, die ressourcensensitiv sind.

Rekursionstheorie Unsere Rekursionstheorie ist die Komplexitätstheorie. Anstatt zu untersuchen, was berechenbar ist, untersuchen wir, wie effizient wir rechnen können. Es gibt viele Analoga der Rekursionstheorie in der Komplexitätstheorie, aber die Ergebnisse und Trennungen der Rekursionstheorie gelten nicht immer für ihre komplexitätstheoretischen Analoga. Anstelle von berechenbaren Mengen und einer arithmetischen Hierarchie haben wir eine Polynomzeit, wobei die Polynomzeithierarchie und der Polynomraum die Hierarchie einschließen. Anstelle einer beschränkten Quantifizierung in der arithmetischen Hierarchie haben wir eine Erfüllbarkeit und quantifizierte Boolesche Formeln und eine beschränkte Quantifizierung von Booleschen Formeln.

Der Umfrage-Artikel

Über die ungewöhnliche Wirksamkeit der Logik in der Informatik

Dies ist ein guter Ausgangspunkt, um sich einen Überblick über die Rechenlogik zu verschaffen. Ich werde einige logisch orientierte Gebiete der Informatik auflisten. Ich hoffe, dass andere diese Antwort bearbeiten und dieser Liste hier hinzufügen und möglicherweise einen Link zu einer Antwort auf dieser Seite hinzufügen.

  1. Finite-Modell-Theorie
  2. Komplexität beweisen
  3. Algorithmische Deduktion (Entscheidungsverfahren für logische Theorien)
  4. Logik von Programmen
  5. Dynamische Logik
  6. Lineare Zeitlogik und ihre Varianten
  7. Computational Tree Logic und seine Varianten
  8. Erkenntnistheorie
  9. Datenbanktheorie
  10. Typentheorie
  11. Automaten über unendliche Wörter
  12. Kategoriale Logik
  13. Parallelitätstheorie und Prozessalgebra
  14. Domänentheorie
  15. Lineare Logik
  16. Beschreibende Komplexität
  17. Modellprüfung
  18. Fixpunktkalküle und transitive Verschlusslogiken

1

Ein Bereich, in dem sich Logik und Informatik stark überschneiden, ist die automatisierte Beweisführung , z. B. [4]. auch zB ref [1] ist die Verwendung des Boyer-Moore-Theorembeweisers zum Prüfen / Verifizieren von Godels Theorem. Ein weiteres wichtiges / eindrucksvolles Ergebnis der jüngsten Zeit ist der Abschluss der Software-Überprüfung des Vierfarbensatzes (und anderer, wie Odd Order und Feit-Thompson [3]) bei Microsoft Research von Gonthier. [2]

[1] Metamathematik, Maschinen und Gödels Beweis (Cambridge Tracts in Theoretical Computer Science von Shankar

[2] Ein computergeprüfter Beweis des Vierfarbensatzes Georges Gonthier

[3] Interessante Algorithmen zur Formalisierung des Feit-Thompson-Theorems? tcs.se

[4] Wo und wie haben Computer geholfen, einen Satz zu beweisen? tcs.se

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.