Möglichkeiten der Gleichheitsbehandlung TBSE - Gleichheitseliminierung - Gleichheit in nicht-klassischer Logik Nuria Brede 8. November 2005 Zusammenfassung Die universelle Anwendbarkeit des Gleichheitsprädikats lässt eine spezielle Gleichheitsbehandlung in automatischen Beweisverfahren wünschenswert erscheinen. Dabei will man möglichst die unentscheidbare Simultane Starre E-Unifikation vermeiden, was in klassischer Logik auch möglich ist - in intuitionistischer Logik jedoch nicht. Im folgenden sollen in diesem Zusammenhang drei Verfahren von Voronkov, bzw. Voronkov und Degtyarev vorgestellt werden: zum einen zwei Kalküle zur Gleichheitsbehandlung in klassischer Logik, die auf Tableaux arbeiten (Tableau Basic Superposition with Equality Solution und GleichheitsEliminierung für das Tableau Verfahren); zum anderen das Kalkül LJ= c für intuitionistische Logik mit Gleichheit, das im Kontext der Probleme, die sich für nicht-klassiche Logiken ergeben, betrachtet wird. Neben konstruktiver Logik kommen auch die Modallogiken kurz zur Sprache. Inhaltsverzeichnis 1 Einleitung 1.1 Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2 2 Zwei Kalküle zur Gleichheitsbehandlung in klassischer Logik 2.1 TBSE - Tableaux Basic Superposition with Equality Solution . . . . . . . . . . . 2.2 Gleichheits-Eliminierung für Tableaux . . . . . . . . . . . . . . . . . . . . . . . . 2 2 3 3 Gleichheitsbehandlung in nicht-klassischen Logiken 3.1 Intuitionistische Logik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Modallogiken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 8 11 4 Ausblick 11 1 Einleitung Die Gleichheit spielt eine herausragende Rolle (nicht nur) in der Logik. Durch ihre universelle Anwendbarkeit ist sie das wichtigste Prädikat und lässt eine spezielle Gleichheitsbehandlung in automatischen Beweisverfahren wünschenswert erscheinen. Dabei besteht die Schwierigkeit darin, vollständige und korrekte Verfahren zu finden, die Gleichheiten gesondert verarbeiten deren Komplexität aber gleichzeitg nicht zu groß ist. Im folgenden sollen drei Verfahren für diese Aufgabe von Voronkov, bzw. Voronkov und Degtyarev vorgestellt werden. Dabei handelt es sich zum einen um zwei Kalküle zur Gleichheitsbehandlung in klassischer Logik, die auf Tableaux arbeiten (TBSE - Tableau Basic Superposition with Equality Solution; Gleichheits-Eliminierung für das Tableau Verfahren); 1 zum anderen um das Kalkül LJ= c für intuitionistische Logik mit Gleichheit, das im Kontext der Schwierigkeiten, die sich für nicht-klassiche Logiken ergeben, betrachtet werden soll. Neben konstruktiver Logik soll in diesem Zusammenhang auch die Modallogik (bzw. die Modallogiken) zur Sprache kommen. Abschließend gibt ein kurzer Ausblick Hinweise auf Implementationen und offene Fragen. 1.1 Notation Um Unklarheiten bezüglich der Notation zu vermeiden, seien folgende Bezeichnungen vereinbart: • u, v, w, x, y, z sind Variablen, a, b, c, d Konstanten und s und t Terme. . • Das Gleichheitsprädikat wird als = dargestellt. . • Starre Gleichungen haben die Form E ` s = t, wobei E eine endliche Menge starrer, gültiger Gleichungen ist und s und t Terme bezeichnen, die unter der Annahme unifizierbar sind, daß alle in E enthaltenen Terme gültig sind. • [s/x] bezeichnet eine Substitution einer Variablen x durch einen Term s. • u[s] bezeichnet einen Term u, der möglicherweise einen Term s enthält, der durch einen Term t substituiert werden kann. • Polaritäten in Tableau-Beweisen haben die Form ϕT , ϕF oder ϕX wobei ϕ die Formel ist und T TRUE entspricht, F FALSE und X einer beliebigen Polarität. 2 Zwei Kalküle zur Gleichheitsbehandlung in klassischer Logik 2.1 TBSE - Tableaux Basic Superposition with Equality Solution Das Kalkül Tableaux Basic Superposition with Equality Solution - im weiteren kurz TBSE - wurde 1996 von Degtyarev und Voronkov in Zusammenhang mit Verfahren für die Simultane starre E-Unifikation entwickelt. Bei TBSE handelt es sich gewissermaßen um eine Zusammenführung des Kalküls BSE (Basic Superposition with Equality Solution [DV96b]) mit einer Paramodulationsregel für Tableaux. Ein zur Paramodulation analoges Verfahren, das auf Tableaux arbeitet, wurde vorher bereits von Loveland (1978, nur im Zusammenhang mit Modellelimination) und Fitting [Fit90] betrachtet. Diese Versionen der Tableaux-Paramodulation besitzen allerdings den Nachteil, daß es durch Anwendung bestimmter Regeln zu unendlichen Folgen von Paramodulationen kommen kann. Zur Vermeidung dieses Effekts, erlegen Voronkov und Degtyarev ihrem Verfahren an den entsprechenden Stellen einige Beschränkungen auf: • es gibt (anders als bei Fitting) keine Funktions-Reflexivitäts-Regel • es darf nicht in Variablen paramoduliert werden • Ordnungen werden benutzt, um Zyklen zu vermeiden (z.B. x darf nicht mehr nach fx zurückgeschrieben werden) • in nicht-variable Terme, die durch Unifikation eingeführt worden sind, darf nicht paramoduliert werden Diese Verfeinerungen lehnen sich an BSE+TK, die korrekte und vollständige Anwendung von BSE auf Tableaux mit Antwort-Constraints an. Wie auch BSE+TK arbeitet TBSE mit Constraint Tableaux T · C - die Ersetzunsbedingungen werden also in Constraints abgelegt. Dabei sind die Constraints ebenfalls Mengen, die Gleichheiten von Literalen sowie Ordnungsbedingungen enthalten - allerdings wird in TBSE für das gesamte Tableau nur ein Constraint verwandt, der jeweils entsprechend erweitert wird. 2 Die α, β, γ, und¬-Regeln von TK werden analog zur folgenden α-Regel angepasst und die Regel abc so veraändert, daß sie den Constraint erweitert: Γ 1 , AT , B F | Γ 2 | . . . | Γ n · C (abc) Γ2 | . . . | Γn · C ∪ {A = B} Γ1 , ϕ ∧ ψ T | . . . | Γ n · C (α) Γ 1 , ϕT , ψ T | . . . | Γ n · C Für die Regeln tbs und teqs ist es jeweils notwendig, daß der Constraint in der Konklusion erfüllbar ist. . Die Anwendung von tbs erfordert des weiteren, daß die signierte Formel u[t] = v X nicht in Γ1 vorkommt, 0 sowie daß der Term s keine Variable ist: . . . Γ1 , s = tT , u[s0 ] = v X | . . . | Γn · C Γ1 , s = t F | Γ2 | . . . | Γ n · C (teqs) (tbs) . T . X Γ2 | . . . | Γn · C ∪ {s = t} Γ1 , s = t , u[t] = v | . . . | Γn · C ∪ {s t, u[s0 ] v, s = s0 } Abbildung 1: Der Kalkül TBSE. Soll eine Formel ϕ mit TBSE bewiesen werden, so bildet man zunächst die Skolem NegationsNormalform ψ aus ¬ϕ (die Skolemisierung erübrigt δ-Regeln) und beginnt mit dem Constraint Tableau ψ·∅. Anschließend versucht man, das leere Tableau #·C abzuleiten, wobei der Constraint C erfüllbar sein muß. Um die Regeln des Tableau-Kalküls TK als Basis für TBSE benutzen zu können, werden diese so angepasst, daß die Expansions-Regeln (α, β, γ, ¬) den Constraint nicht verändern und die Regel abc für den Abschluß eines Beweiszweiges den Constraint erweitert. Durch Hinzufügen der Regeln tbs - tableau basic superposition - und teqs - tableau equality solution - ergibt sich der formale Kalkül TBSE (Abb. 1). TBSE ist ein vollständiger und korrekter Kalkül. Der Beweis hierfür basiert auf Vollständigkeit und Korrektheit von TK+BSE, da sich die Regeln von BSE durch die entsprechenden TBSE-Regeln simulieren lassen und der resultierende Constraint der Vereinigung der AntwortConstraints von TK+BSE entspricht. Der entscheidende Vorteil von TBSE gegenüber Fittings System zeigt sich bei den Terminierungseigenschaften. TBSE terminiert immer, solange keine Tableau-Expansions-Regeln angewandt werden, während es bei Fitting auch ohne Anwendung von Expansions-Regeln zu unendlicher Suche kommen kann. . . . . F g(y, f c, f d)) ∧ (c = d ⇒ g(u, x, y) = g(v, f a, f b))) und der Start-Constraint ∅. Das zugehörige Tableau findet sich in Abb. 2. Nacheinander werden die Regeln γ, β, α (letztere auf beide entstandenen Zweige) angewandt, die den Constraint nicht verändern. Da an dieser Stelle noch keine gültige Substitution zum Abschluss der Zweige gefunden werden kann, muß erneut auf ϕ zurückgegriffen werden, um neue Instanzen zu erzeugen. Im Ableitungsbaum sind diese weiteren notwendigen Expansionsschritte durch (. . .) angedeutet. Nun ist es möglich tbs anzuwenden (die beiden hierbei enstehenden Literale sind in Abb.2 unterstrichen), wodurch sich der Constraint . . . {g(x2 , u2 , v2 ) = g(y2 , f c, f d), c d, g(y1 , f c, f d) g(x1 , u1 , v1 ), c = c, g(x1 , u1, v1 ) = . . . g(y1 , f d, f d), a b, a = a, g(v1 , f a, f b) g(u1 , x1 , y1 ) = g(v1 , f b, f b), g(u3 , x3 , y3 ) = g(v3 , f a, f b)} ergibt. Dieser ist durch folgende Substitution erfüllbar: [f b/x1 , f b/y1 , f d/u1 , f d/v1 , b/x2 , b/y2 , f c/u2 , f d/v2 , d/u3 , d/v3 , f a/x3 , f b/y3 ]. Beispielableitung in TBSE: Die zu widerlegende Formel ϕ ist ∃xyuv((a = b ⇒ g(x, u, v) = 2.2 Gleichheits-Eliminierung für Tableaux Die Methode der Gleichheits-Eliminierung für das Tableau Verfahren Tξ (bzw. Equality Elimination for the Tableau Method) wurde ebenfalls von Voronkov und Degtyarev vorgestellt [DV96a]. Die Motivation zur Entwicklung dieses Verfahrens geht auf zwei Grundgedanken zurück. Zum einen benutzen Tableau-basierte Methoden mit freien Variablen (wie z.B. bei Fitting [Fit90]) Simultane Starre E-Unifikation (SSEU) um alle Beweiszweige eines Tableaus zu schlie- 3 . . . . ∃xyuv((a = b ⇒ g(x, u, v) = g(y, f c, f d)) ∧ (c = d ⇒ g(u, x, y) = g(v, f a, f b)))F . . . . (a = b ⇒ g(x1 , u1 , v1 ) = g(y1 , f c, f d)) ∧ (c = d ⇒ g(u1 , x1 , y1 ) = g(v1 , f a, f b))F . . a = b ⇒ g(x1 , u1 , v1 ) = g(y1 , f c, f d)F . . (c = d ⇒ g(u1 , x1 , y1 ) = g(v1 , f a, f b))F . a = bT .F g(x1 , u1 , v1 ) = g(y1 , f c, f d) . c = dT .F g(u1 , x1 , y1 ) = g(v1 , f a, f b) (. . .) . a = bT .F g(x2 , u2 , v2 ) = g(y2 , f c, f d) (. . .) . c = dT .F g(u2 , x2 , y2 ) = g(v2 , f a, f b) .F g(x1 , u1 , v1 ) = g(y1 , f d, f d) . a = bT g(x3 , y3 , v3 )F . = g(y3 , f c, f d) .F g(u1 , x1 , y1 ) = g(v1 , f b, f b) . c = dT g(u3 , x3 , y3 )F . = g(v3 , f a, f b) Abbildung 2: Beispiel-Tableau zu TBSE. ßen. Die SSEU wurde jedoch 1996 von Voronkov und Degtyarev als unentscheidbar bewiesen - und somit wurde es wünschenswert, Methoden zu finden, die nicht von simultaner starrer EUnifizierbarkeit abhängen. (Daher benutzt Tξ die NP-vollständige Teilmengen-Unifikation und most general unifiers mgu). Zum anderen gab es das folgende, von Maslov 1983 aufgebrachte Problem: Ursprünglich basieren alle Sequenzensysteme mit freien Variablen auf zwei Sorten von Regeln - einerseits Expansions-Regeln, andererseits Regeln, mit denen Beweiszweige abgeschlossen werden. Der gemeinsame Nachteil dieser Methoden ist dabei, daß die zweite Art von Regeln ,,global” arbeiten. D.h. Bevor festgestellt werden kann, ob sich alle Beweiszweige unter einer gemeinsamen Substitution schließen lassen, wird eine Art Vorableitung (Prededuction) durchgeführt. Der Aufwand für diese Ableitung ist jedoch umsonst, falls sich keine entsprechende Substitution finden lässt. Die Gleichheits-Eliminierung Tξ soll nun existierende Tableau-Beweiser um einen BottomUp-Gleichheits-Löser ergänzen, der Gleichungen ,,lokal” löst und damit Beweiszweige abschliesst. Zur Ableitung einer Formel benutzt Tξ dabei zum einen Tableaux, zum anderen Closures (die später noch genauer definiert werden). Im Tableau wird die Zielformel in ihre konjunktiven Teilformeln zerlegt, die mit speziellen ξ-Namen bezeichnet werden. Den Closures kommt die Funktion zu, Abschlussbedingungen für die mit den ξ-Namen bezeichneten Teilformeln zu verwalten. Die Taktik, sich auf konjunktive Teilformeln zu konzentrieren, dient der Effizienzesteigerung. Folgende Überlegung verdeutlicht den Nutzen der Betrachtung konjunktiver Teil- und Oberformeln: Falls ψ eine geringste konjunktive Oberformel von ϕ ist, gilt die Beziehung ` ∀(ϕ ⇒ ψ), und falls ϕ keine konjunktive Oberformel besitzt, gilt sogar ` ∀(ϕ ⇒ ξ). Deterministische Beweisketten mit ∨ oder ∃, die man sonst in Sequenzensystemen findet, erübrigen sich also, da sie in einem Schritt ausgeführt werden. Nun zur konkreten Vorgehensweise: Für das Verfahren wird die zu beweisende Formel ξ wiederum in Skolem Negations-Normalform angegeben und es wird o.B.d.A. vorrausgesetzt, daß alle verschiedenen Vorkommen von Quantoren in ξ auch unterschiedliche Variablen binden. Teilformeln (Subformulas)von ξ und deren Oberformeln (Superformulas) werden anhand ihres Vorkommens in ξ identfiziert, z.B. in der Reihenfolge ihres Auftretens. Da die konjunktiven Teilformeln in Tξ eine so wichtige Rolle spielen, sollen sie im Folgenden noch einmal präzise definiert werden. So heißt eine Teilformel ϕ konjunktiv, falls sie Teil einer Formel ϕ ∧ ψ oder ψ ∧ ϕ ist. Eine konjunktive Oberformel ist dementsprechend eine (nicht notwendigerweise echte) Oberformel ψ von ϕ, die konjunktiv ist. Falls jede andere konjunktive Oberformel von ϕ auch Oberformel von ψ ist, so heißt ψ geringste konjunktive Oberformel von 4 ϕ (ein ausführliches Beispiel zu geringsten konjunktiven Oberformeln findet sich in [DV01]). Alle konjunktiven Teilformeln der Zielformel ξ werden in der Reihenfolge ihres Auftretens durchnummeriert zu ξ1 , . . . , ξk , so daß die Bezeichnung der k-ten Teilformel als ξk von ξ unzweitdeutig ist. Seien nun A1 , . . . , An Prädikatsymbole, die nicht in ξ vorkommen. Dann wird die atomare Formel Ak (x1 , . . . , xm ) ξ-Name einer Teilformel ϕ von ξ genannt, falls folgende Bedingungen erfüllt sind: 1. die geringste konjunktive Oberformel von ϕ ist ξk und 2. x1 , . . . , xm sind alle freien Variablen von ξk in der Reihenfolge ihres Auftretens Da nicht jede Teilformel von ξ eine konjunktive Oberformel besitzt, existiert auch nicht für jede ein ξ-Name - aber falls dieser existiert, so ist er eindeutig. Allerdings folgt aus der Definition, daß mehrere Teilformeln mit demselben ξ − N amen bezeichnet sein können. Im weiteren wird die Menge der ξ − N amen einer Teilformel verwendet, die je nachdem, ob der ξ − N ame existiert oder nicht, entsprechend leer oder einelementig {Ak (x1 , ..., xm )} ist. Der oben bereits erwähnte Begriff der Closure 1 definiert sich hier wie folgt: Unter einer Closure wird ein Paar C · σ verstanden, wobei C eine Klausel und σ eine Substitution ist. Auf diesen Vorüberlegungen baut nun das deduktive System Tξ der Gleichheits-Eliminierung für Tableaux auf. Die Axiome von Tξ sind initial closure und initial tableau und werden wie folgt definiert: werden aus einer der folgenden drei Regeln erzeugt: . 1. wenn ein Literal s 6= t in ξ vorkommt und C die Menge der ξ-Namen dieses Vorkommens . ist, dann ist die Closure s = t, C · ε eine initial closure . 2. wenn ein Literal s = t in ξ vorkommt und C die Menge der ξ-Namen dieses Vorkommens . ist, dann ist die Closure s 6= t, C · ε eine initial closure 3. Seien P (s1 , . . . , sn ) und ¬P (t1 , . . . , tn ) zwei Literale, die in ξ vorkommen und C1 , C2 als Mengen von ξ-Namen besitzen; Sei σ eine Substitution, die die Variablen so umbenennt, daß die Variablen von P (s1 , . . . , sn )σ und ¬P (t1 , . . . , tn ) disjunkt sind. Dann ist die Closure . . s1 σ 6= t1 , . . . , sn σ 6= tn , C1 σC2 · ε eine initial closure Initial Closures Im Prinzip greift man also Gleichheiten oder aber unifizierbare Literale mit entgegengesetzten Polaritäten aus den Teilformeln heraus und speichert die Bedingung(en) oder Möglichkeiten, . unter der(denen) man einen Widerspruch erhielte (wie z.B. in Fall(1): es kommt s 6= t vor, also . ist s = t Abschlussbedingung). Initial Tableau ist das aus der leeren Klausel bestehende Tableau 2. Bei der Definition der fünf Inferenzregeln des Kalküls wird angenommen, daß die Prämissen disjunkte Variablen besitzen (was im Zweifelsfall durch Umbenennung zu erreichen wäre). Basic Right and Left Superposition . . s = t, C · σ1 u[s0 ] 6= v, D · σ2 (bls) . u[t] 6= v, C, D · σ1 σ2 θ . . s = t, C · σ1 u[s0 ] = v, D · σ2 (brs) . u[t] = v, C, D · σ1 σ2 ρ wobei folgende Bedingungen erfüllt sein müssen: 1. θ ist mgu von sσ1 2. tσ1 θ sσ1 θ und vσ2 θ u[s0 ]σ2 θ 1 um die Namen der Kalkülsregeln ohne Verwirrung beibehalten zu können, wird im weiteren der englische Begriff verwendet 5 3. s0 ist keine Variable . 4. (nur für bls) u[s0 ] 6= v ist die am weitesten links stehende Ungleichung in der zweiten Prämisse bls und brs fügen also jeweils zwei Closures durch Superposition zusammen. Equality Solution . s 6= t, C · σ (eqs) C · σmgu(sσ, tσ) . wobei s 6= t die am weitesten links stehende Ungleichung der Prämisse ist. eqs löst in Closures vorhandene Ungleichungen auf, indem eine Substitution gefunden und der Closure hinzugefügt wird, die die beiden Seiten der Ungleichung gleich und diese somit widersprüchlich machen würde. Tableau Expansion D1 |D2 | . . . |Dm (teξ ) (C1 , D1 |C2 , D1 |D2 | . . . |Dm )σ Dabei seien C1 , C2 und C die Mengen von ξ-Namen von ϕ, ψ und ϕ ∧ ψ (mit ϕ ∧ ψ Teilformel von ξ) und σ ein minimaler Teilmengen-Unifikator (subset unificator ) von C gegen D1 . Diese Regel ist gewissermaßen eine Anpassung der β-Regel von TK und verzweigt das Tableau. Branch Closure C1 |C2 | . . . |Cm (bcξ ) (C2 | . . . |Cm )σ wobei C eine beliebige Lösungs-Klausel sei und σ ein minimaler Teilmengen-Unifikator von C gegen C1 . Diese Regel ist offensichtlich analog zu abc aus TK. Der so definierte Kalkül Tξ ist korrekt und vollständig für Logik erster Stufe, d.h. eine Formel ξ ist beweisbar in Logik erster Stufe g.d.w. eine Ableitung des leeren Tableaus # in Tξ existiert. Folgendes Beispiel veranschaulicht die Anwendung der Regeln von Tξ : . . ξ = ∃x((a 6= x ∨ ¬G(b) ∨ G(f f x)) ∧ (¬G(f x) ∨ x = b)) ξ enthält zwei konjunktive Teilformeln mit den angegebenen Mengen von ξ-Namen: . a 6= x ∨ ¬G(b) ∨ G(f f x) . ¬G(f x) ∨ x = b {A1 (x)} {A2 (x)} Aus dieser Struktur ergibt sich, daß in dieser Ableitung alle Anwendungen von teξ folgendermaßen aussehen (die Variable y kommt dabei in der Prämisse nicht vor): D1 |D2 | . . . |Dm (A1 (y), D1 |A2 (y), D1 |D2 | . . . |Dm ) Als Ordnungsrelation wird die lexikographische Pfadordnung verwendet, die durch die Vorgängerrelation f > a > b induziert wird. Ableitung (abgeschlossene Zweige des Tableaus werden unterstrichen): 1. Start mit initial tableau 2 2. Anwendung von teξ ergibt A1 (x) . 3. initial closure x 6= b, A2 (x) · ε A2 (x) 4. eqs angewandt auf (3) ergibt closure A2 (x) · {b/x} 6 5. bcξ aus (2) und (4) wendet die Substitution {b/x} global auf das tableau an und schließt den Beweiszweig ab A1 (b) A2 (b) 6. teξ aus (5) erweitert das Tableau A1 (b) A2 (b) A1 (x) A2 (x) . 7. a = x, A1 (x) · ε ist initial closure . 8. b 6= f f x, A1 (x), A1 (y) · ε ergibt sich als inital closure aus ¬G(b) ∨ G(f f x) . 9. auf (7) und (8) wird bls angewandt und leitet die closure b 6= a, A1 (x), A1 (y), A1 (z) · {f f y/x} ab . 10. bls angewandt auf (7) und (9) erzeugt b 6= u, A1 (u), A1 (x), A1 (y), A1 (z) · {f f y/x} 11. eqs aus (10) ist die closure A1 (u), A1 (x), A1 (y), A1 (z) · {f f y/x, b/u} 12. bcξ angewandt auf (11) und das Tableau aus (6) führt die Substitution wieder global durch und ergibt das Tableau A1 (b) A1 (f f b) A2 (b) A2 (f f b) 13. teξ aus (12) erweitert das Tableau wiederum zu A1 (b) A1 (f f b) A2 (b) A2 (f f b) A1 (x) A2 (x) . 14. f x 6= f f y, A2 (x), A1 (y) · ε ergibt sich als initial closure aus G(f f x) in A1 und ¬G(f x) aus A2 15. A2 (x), A1 (y) · {f y/x} wird erzeugt durch Anwednung von eqs auf (14) 16. jetzt kann die Substitution wieder global durchgeführt werden und bcξ auf die closure aus (15) und das Tableau aus (13) angewandt werden: A1 (b) A1 (f f b) A2 (b) A2 (f f b) A1 (f b) A2 (f b) 17. und eine erneute Anwendung von bcξ , diesmal mit der closure aus (15) auf das Tableau aus (16) erzeugt das leere Tableau # und schließt somit den Beweis ab: A1 (b) A1 (f f b) A2 (f f b) A1 (f b) 7 A2 (b) A2 (f b) 3 Gleichheitsbehandlung in nicht-klassischen Logiken Gleichheit in nicht-klassischen Logiken speziell zu behandeln, ist besonders problematisch, und es existieren kaum maschinen-orientierte Beweisverfahren. Im folgenden soll auf die Rolle der Simultanen Starren E-Unifikation für die intuitionistische Logik und gewisse Modallogiken eingegangen, das Verfahren LJ= c [Vor96] vorgestellt und kurz eine alternative Charakterisierung der Gleichheit für Modallogiken [Fit91] beschrieben werden. 3.1 Intuitionistische Logik Prozeduren für klasssiche Logik lassen sich nicht ohne Weiteres auf intuitionistische Logik übertragen, wie auch klassische Beweise sich auch nur mit einigem Aufwand in kontruktive Beweise umwandeln lassen. Bei der Entwicklung eines Deduktionssystems treten zunächst folgende Einschränkungen auf: Es gibt kein Äquivalent zur Skolemisierung (also müssen δ-Regeln miteinbezogen werden), die Beweise sind nicht konfluent (die Reihenfolge der Regelanwendungen ist somit von entscheidender Bedeutung) und das klassische Axiom des ausgeschlossenen Dritten gilt nicht. Beweise erfordern also die Konstruktion eines positiven Beispiels. Betrachtet man Sequenzensysteme für intuitionistische Logik, so ändert sich in erster Linie die Definition einer Sequenz. Dies ist nötig, da konstruktive Beweise keine Alternative im Sukzedenten erlauben. Unter Berücksichtigung dieser Einschränkung ergibt sich aus dem Sequenzenkalkül mit Gleichheit LK= der Kalkül LJ= für intuitionistische Logik mit Gleichheit (die formalen Regeln von LJ= finden sich in [DV01], Abb.3.1 zeigt die modifizierte Version LJ= c ). Vorhandene vollständige, terminierende Verfahren für Logik erster Stufe mit Gleichheit (wie u.a. die in Abschnitt 2 vorgestellten) funktionieren nicht für intuitionistische Logik. Diese Erkenntnis ergibt sich aus der von Voronkov in [Vor96] dargestellten Beobachtung, daß die unentscheidbare Simultane Starre E-Unifikation in intuitionistischer Logik mit Gleichheit eine gewissermaßen ,,natürliche Repräsentation” besitzt. Tatsächlich ist es möglich zu zeigen, daß sich simultane starre E-Unifizierbarkeit in polynomieller Zeit auf das Problem der Ableitbarkeit in LJ= reduzieren lässt. Da somit für jedes vollständige Verfahren eine Behandlung von SSEU nötig ist, stellt sich einerseits die Frage nach der Effizienz einer solchen Prozedur. Andererseits gibt es Fragmente der SSEU, die durchaus entscheidbar sind: So ist der Fall ohne Funktionssymbole NP-vollständig und das Pränex-Fragment ∀∗ ∃∀∗ entscheidbar und EXPTIME-hart. Ebenfalls entscheidbar sind Fälle mit nur einer Variable und nur einem unären Funktionssymbol. Es wäre also sinnvoll, diese Fragemente seperat zu betrachten. Um eine Implementation möglich zu machen, entwickelt Voronkov in [Vor96] ein für die = Automatisierung geeignetes, constraint-basiertes Ableitungssystem LJ= c , das äquivalent zu LJ ist. Dabei wird angenommen, es existiere eine Semi-Entscheidungs-Prozedur für SSEU, die bei Bedarf aufgerufen werden kann. Das System LJ= c besteht aus zwei Teilen: Zum einen der Konstruktion eines Ableitungsskeletts (die genaue Definition findet sich unten), zum anderen aus der Überprüfung der Erfüllbarkeit eines aus diesem Skelett berechneten Constraints. Die Erzeugung des Skeletts lässt sich in etwa mit Tableau-Expansionsschritten vergleichen. Um den Kalkül LJ= c genauer zu beschreiben, ist es also nötig, zunächst die Begriffe AbleitungsSkelett und Constraint einzuführen bzw. für diesen Zusammenhang zu definieren. Ein AbleitungsSkelett (derivation sekeleton) wird wie eine Ableitung ohne Sequenzen dargestellt und ist ein wie folgt aufgebauter Baum: Seine Knoten werden mit den Namen von Inferenzregeln aus LJ = (in diesem Falle außer der Gleichheits-Regeln) respektive LJ= c bezeichnet, die Zahl der Elternknoten eines Knotens ergibt sich aus der Anzahl der Prämissen der mit ihm identifizierten Inferenzregel, und alle Knoten, deren Label Antezedenten-Regeln oder aber (Ax) sind, werden nummeriert, Auf diese Weise abstrahieren Skelette von der Instanziierung der Variablen in Quantoren-Regeln 8 (Ax) . . Γ, A(s1 , . . . , sn ), ∆ → A(t1 , . . . , tn ) · Γ=. ∪ ∆=. ` s1 = t1 ∧ . . . ∧ Γ=. ∪ ∆=. ` sn = tn Γ, Λ, ∆ → ϕ · > . . . (=) Γ → s = t · Γ=. ` s = t (Λ) Γ, ϕ, ψ, ∆ → χ · C (∧ →) Γ, ϕ ∧ ψ, ∆ → χ · C Γ, ϕ, ∆ → χ · C1 Γ, ψ, ∆ → χ · C2 (∨ →) Γ, ϕ, ∨ψ, ∆ → χ · C1 ∧ C2 Γ → ϕ · C1 Γ → ψ · C2 (→ ∧) Γ → ϕ ∧ ψ · C 1 ∧ C2 Γ→ϕ·C (→ ∨1 ) Γ→ϕ∨ψ·C Γ, ψ, ∆ → χ · C1 Γ, ϕ ⇒ ψ, ∆ → ϕ · C2 (⇒→) Γ, ϕ ⇒ ψ, ∆ → χ · C1 ∧ C2 Γ, ϕ[y/x], ∀xϕ, ∆ → χ · C (∀ →) Γ, l∀xϕ, ∆ → χ · ∃yC Γ→ψ·C (→ ∨2 ) Γ→ϕ∨ψ·C ϕ, Γ → ψ · C (→⇒) Γ→ϕ⇒ψ·C Γ → ϕ[y/x] · C (→ ∀) Γ → ∀xϕ · ∃y(y 6 {v1 , . . . , vn } ∧ C Γ, ϕ[y/x], ∆ → χ · C (∃ →) Γ, ∃xϕ, ∆ → χ · ∃y(y 6 {v1 , . . . , vn } ∧ C Γ → ϕ[y/x]· (→ ∃) Γ → ∃xϕ · ∃yC Abbildung 3: Der Sequenzenkalkül LJ= c für intuitionistische Logik mit Gleichheit und Constraints und (in LJ= ) von der Reihenfolge, in der die Gleichheitsregeln angewandt werden. Den Zusammenhang zwischen einem solchen Ableitungs-Skelett und der Ableitbarkeit einer Formel in LJ= ergibt sich aus dem Skelett-Instanziierungs-Problem. Dieses Problem betrifft die Frage, ob zu einer gegebenen geschlossenen Sequenz S und einem Skelett S eine Ableitung von S in LJ= mit dem Skelett S exitiert. Dieses Problem ist zwar für Formeln ohne Gleichheit entscheidbar und NP-vollständig - für Formeln mit Gleichheit jedoch unentscheidbar: Die simultane starre E-Unifizierbarkeit lässt sich auch auf das Skelett-Instanziierungsproblem reduzieren. Als weitere Voraussetzung für den Kalkül LJ= c ist es nun notwendig, die Art der hier benutzten Constraints genau zu definieren - sie unterscheiden sich deutlich von den bisher benutzten. Die Definition der Constraints für LJ= c erfolgt induktiv: 1. 2. 3. 4. 5. > ist ein Constraint, für Terme t, t1 , . . . , tn ist t 6 {t1 , . . . , tn } Constraint, . . . starre Gleichungen der Form s1 = t1 , . . . , sn = tn ` s = t sind Constraints, falls C1 , C2 Constraints sind, dann ist auch C1 ∧ C2 Constraint, Ist C ein Constraint und x eine Variable, dann ist auch ∃xC Constraint. Zum besseren Verständnis kann man einen solchen Constraint als Formel erster Ordnung interpretieren. Für diese Sichtweise benutzt man die atomaren Formeln >, t 6 {t1 , . . . , tn } und . E ` s = t dergestalt, daß man . . . 6 . . . und . . . ` . . . als Familie von Prädikatsymbolen beliebiger Stelligkeit betrachtet. Unter der Erfüllbarkeit eines Constraints C durch eine Substitution σ versteht man dementsprechend (analog zum Erfüllbarkeitsbegriff in Logik erster Stufe), daß C unter σ wahr ist. Falls eine Substitution σ existiert, die C erfüllt, so heißt C erfüllbar. Dargestellt wird die ,,erfüllt”Beziehung als σ C und ebenfalls induktiv genauer definiert: 1. 2. 3. 4. 5. für jede Substitution σ gilt σ >, . . σ E ` s = t falls σ eine Lösung der starren Gleichung E ` s = t ist, σ t 6 {t1 , . . . , tn } falls tσ eine Variable ist und tσ nicht in t1 σ, . . . , tn σ vorkommt, σ C1 ∧ C2 falls σ C1 und σ C2 , σ ∃xC falls es eine Substitution τ gibt mit τ C und yτ = yσ für jede Variable y. Zum Einführung des Constraint-Sequenzenkalküls LJ= c sei noch folgende Notation festgelegt: . . Sei Γ eine Sequenz, dann sei Γ=. := {s = t|s = t ∈ Γ}. Die Ableitungsregeln des Kalküls finden 9 sich in Abb. 3.1. Wie zu sehen ist, verabeitet der Kalkül LJ= c Constraint-Sequenzen der Form S · C, wobei S eine Sequenz und C ein Constraint wie oben definiert sind. Zunächst wird ein Ableitungs-Skelett konstruiert, indem man eine mögliche Reihenfolge von Regelanwendungen auf die Zielformel betrachtet. Dann ist es möglich, den -gewissermaßen synthetisch- den resultierenden Constraint zu bestimmen. Von dessen Erfüllbarkeit hängt es schließlich ab, ob diese Ableitungsfolge zu einem Beweis der Zielformel führt oder nicht. Um zu veranschaulichen, wie eine Ableitung in LJ= c konkret aussehen kann, folgen nun zwei Beipiele. . . . Beweis der Formel ∀x(x = a ∨ x = b ⇒ ∃y(f (x, y) = b)) ⇒ . ∃u∃v∃w(f (f (u, v), w) = b) - zunächst ein kürzerer Ableitungsversuch, der nicht zum Ziel führt, danach ein längerer, erfolgreicher Beweis der Formel. Um das Beispiel etwas übersichtlicher zu gestalten, wird . . . die Teilformel ∀x(x = a ∨ x = b ⇒ ∃y(f (x, y) = b)) mit ϕ bezeichnet. Beispielableitung in LJ= c : . . . (=) ϕ → f (f (u, v), w) = b· ` f (f (u, v), w) = b . . (→∃) ϕ → ∃w(f (f (u, v), w) = b) · ∃w(` f (f (u, v), w) = b) . . (→∃) ϕ → ∃v∃w(f (f (u, v), w) = b) · ∃v∃w(` f (f (u, v), w) = b) . . (→∃) ϕ → ∃u∃v∃w(f (f (u, v), w) = b) · ∃u∃v∃w(` f (f (u, v), w) = b) . . (→⇒) → ϕ ⇒ ∃u∃v∃w(f (f (u, v), w) = b) · ∃u∃v∃w(` f (f (u, v), w) = b) . Der hier ermittelte Constraint ∃u∃v∃w(` f (f (u, v), w) = b) ist offensichtlich nicht erfüllbar (es sind ja gar keine zu lösenden Gleichungen vorhanden). Im zweiten Beispiel wird bei der Skelett-Konstruktion anders vorgegangen: Nach der Introduktion des ersten Existenzquantors wird ϕ miteinbezogen, bevor die restlichen Existenzquantoren betrachtet werden. So wird es möglich, im Constraint die notwendigen starren Gleichungen zu erhalten. Die Constraints werden nun aus Platzgründen mit C1 − C12 bezeichnet und im Nachhinein angegeben. . (=) . . . f (x1 , y1 ) = b, f (x2 , y2 ) = b, ϕ → f (f (u, v), vw) = b · C1 . (→∃) (=) . . . . f (x1 , y1 ) = b, f (x2 , y2 ) = b, ϕ → ∃w(f (f (u, v), vw) = b) · C2 . . . → x2 = b · C 3 (∃→) (→∨2 ) . . . . . f (x1 , y1 ) = b, ∃y(f (x2 , y2 ) = b), ϕ → ∃w(f (f (u, v), vw) = b) · C4 . . . → x2 = a ∨ x 2 = b · C 3 (⇒→) . . . . . f (x1 , y1 ) = b, x2 = a ∨ x2 = b ⇒ ∃y(f (x2 , y2 ) = b), ϕ → ∃w(f (f (u, v), w) = b) · C5 (∀→) . . f (x1 , y1 ) = b, ϕ → ∃w(f (f (u, v), vw) = b) · C6 . (=) (→⇒∃) . . . f (x1 , y1 ) = b, ϕ → ∃v∃w(f (f (u, v), vw) = b) · C7 . . . → x2 = a · C 8 (∃→) (→∨1 ) . . . . ∃y(f (x1 , y1 ) = b), ϕ → ∃v∃w(f (f (u, v), vw) = b) · C9 . . . → x2 = a ∨ x 2 = b · C 8 (⇒→) . . . . x2 = a ∨ x2 = b ⇒ ∃y(f (x1 , y1 ) = b), ϕ → ∃v∃w(f (f (u, v), vw) = b) · C10 (→∀) . ϕ → ∃v∃w(f (f (u, v), w) = b) · C11 (→∃) . ϕ → ∃u∃v∃w(f (f (u, v), w) = b) · C12 (→⇒) . → ϕ ⇒ ∃u∃v∃w(f (f (u, v), w) = b) · C12 . . . C1 f (x1 , y1 ) = b, f (x2 , y2 ) = b ` f (f (u, v), w) = b . . . C2 ∃w(f (x1 , y1 ) = b), f (x2 , y2 ) = b ` f (f (u, v), w) = b . . C3 f (x1 , y1 ) = b ` x2 = b . . . C4 ∃y2 (y2 6 {x1 , y1 , x2 , u, v} ∧ ∃w(f (x1 , y1 ) = b), f (x2 , y2 ) = b ` f (f (u, v), w) = b C5 C 3 ∧ C 4 C6 ∃x2 (C3 ∧ C4 ) C7 ∃v∃x2 (C3 ∧ C4 ) . C8 ` x1 = a C9 ∃y1 (y1 6 {x1 , u} ∧ ∃v∃x2 (C3 ∧ C4 ) . C10 ∃y1 (y1 6 {x1 , u} ∧ ∃v∃x2 (C3 ∧ C4 )∧ ` x1 = a . C11 ∃x1 (∃y1 (y1 6 {x1 , u} ∧ ∃v∃x2 (C3 ∧ C4 )∧ ` x1 = a) . C12 ∃u∃x1 (∃y1 (y1 6 {x1 , u} ∧ ∃v∃x2 (C3 ∧ C4 )∧ ` x1 = a) 10 Γ, ϕT (T ) Γ, ϕT Γ T , ∆F , ϕ F (F ) Ξ, ΓT , ♦∆F , ϕF Γ T , ∆F , ϕ T (T ♦) Ξ, ΓT , ♦∆F , ♦ϕT Γ, ϕF (F ♦) Γ, ♦F Abbildung 4: Der Kalkül S4= für die Modallogik S4 mit Gleichheit 3.2 Modallogiken Für Modallogiken stellt sich die Gleichheitsbehandlung als sehr kontrovers heraus. Zwar existieren einige Modallogiken wie beispielsweise S4, für die die Gleichheit axiomatisiert ist. Trotzdem ist die Definition des Gleichheitsbegriffes für modale Logiken nicht einheitlich. Ursprünglich gilt die Substitutivität als die entscheidende Eigenschaft der Gleichheit. Dies gilt uneingeschränkt für Objekte - jedoch nicht mehr, wenn über Objekte gesprochen wird. Dieses Dilemma beschreibt das Morgenstern/Abendstern-Problem: Es gilt, daß Morgenstern = Abendstern; also sollte man in jedem Zusammenhang beide Begriffe beliebig gegeneinander austauschen können, ohne daß sich der Wahrheitswert einer Aussage dadurch verändert. Ersetzt man jedoch in der wahren Aussage ,,Die Griechen wussten, dass der Morgenstern der Morgenstern ist.” das zweite Vorkommen von ,,Morgenstern”, so erhält man die falsche Aussage ,,Die Griechen wußten, daß der Morgenstern der Abendstern ist.”. Angesichts solcher Schwierigkeiten ist es nicht überraschend, daß es offenbar nur wenige Ansätze für eine spezielle Gleichheitsbehandlung gibt. Voronkov und Degtyarev stellen in [DV01] ein Kalkül S4= vor, ohne alternative Gleichheitsbegriffe zu berücksichtigen (S4= entsteht aus LK= durch hinzufügen der in Abb.3.2 dargestellten Regeln). Dieses Kalkül lässt sich zwar auf mit S4 verwandte Logiken übertragen - wirft jedoch gleichzeitig das nächste Problem auf: Anhand von S4= skizzieren Degtyarev und Voronkov einen Beweis dafür, dass hier die simultane starre E-Unifikation genauso unumgänglich ist wie für intuitionistische Logik mit Gleichheit. Fitting beschäftigt sich in [Fit91] mit dem Problem der oben beschriebenen Diskrepanz zwischen der Gleichheit von Objekten und Gleichheit ihrer Bezeichner. Seine Lösung sieht wie folgt aus: Er definiert ein nicht-starres Kripke Modell als normal, falls in jeder möglichen Welt . die Interpretation des zweistelligen Prädikats = die Gleichheitsrelation ist. Um Gleichheit von Objekten behandeln zu können, ergänzt er folgende Regeln zum Tableaukalkül: Reflexive Rule: Für jede verfügbare obejct expression o und jedes verfügbare Präfix σ darf der verallgemeinerte Satz σo = o zum Ende jedes beliebigen Zweigs hinzugefügt werden. Substitution Rule: Falls Φ(x) eine Formel, in der nur x frei vorkommt, dann darf zu jedem Tableau Zweig, der σΦ(o1 ) und σo1 = o2 enthält σΦ(o2 ) hinzufügen (wobei o1 und o2 ebenfalls object expressions sind). 4 Ausblick Während für Gleichheitsbehandlung in klassischer Logik einige vollständige und korrekte Verfahren unabhängig von der Unentscheidbarkeit der SSEU existieren (wie beispielsweise die vorgestellte Gleichheits-Eliminierung) , ist diese für intuitionistische sowie vergleichbare nichtklassische Logiken unumgänglich. Dementsprechend gibt es bisher auch kaum Erfolge in diesen Bereichen - also wäre es durchaus sinnvoll, nach effektiveren Verfahren für simultane starre EUnifizierbarkeit zu suchen. Ausserdem wäre es interessant, nicht-klassische Logiken zu finden, für die eine Gleichheitsbehandlung analog zu klassischer Logik möglich wäre. Auch alternative Charakterisierungen von Gleichheit bieten sich für weitere Betrachtungen an. So gibt es beispielsweise einen Theorem Beweiser für intuitionistische Logik von Sahlin, Franzén und Haridi, der einen abweichenden Gleichheitsbegriff benutzt. Laut [Vor96] gibt es 11 auch Pläne, Gleichheit in Tammets Beweiser für intuitionistische Logik einzubauen. Dieser Beweiser implementiert im Übrigen auch die von Voronkov erstmals 1985 entwickelte Strategie, sich auf konjunktive Teilformeln der Zielformel zu konzentrieren. Implementationen der Gleichheitseliminierung (die ja ebenfalls auf dieser Methode aufbaut) existieren offenbar derzeit genausowenig wie Umsetzungen von TBSE. Die Frage, ob beispielsweise eine Implementation der Gleichheitseliminierung mit resolutionsbasierten Beweisern konkurrieren könnte, bleibt somit offen. Literatur [DV96a] Anatoli Degtyarev and Andrei Voronkov. Equality elimination for the tableau method. In DISCO, pages 46–60, 1996. [DV96b] Anatoli Degtyarev and Andrei Voronkov. What you always wanted to know about rigid E-unification. In JELIA, pages 50–69, 1996. [DV01] A. Degtyarev and A. Voronkov. Equality reasoning in sequent-based calculi. In A. Robinson and A. Voronkov, editors, Handbook of Automated Reasoning, volume I, chapter 10, pages 611–706. Elsevier Science, 2001. [Fit90] Melvin C. Fitting. First order logic and automated theorem proving. Berlin: SpringerVerlag, Berlin, 1990. [Fit91] Melvin C. Fitting. Modal logic should say more than it does. In Jean-Louis Lassez and Gordon Plotkin, editors, Computational Logic, Essays in Honor of Alan Robinson, pages 113–135. MIT Press, Cambridge, MA, 1991. [Vor96] Andrei Voronkov. On proof-search in intuitionistic logic with equality, or back to simultaneous rigid E-unification. Technical report, June 05 1996. 12