kalkül für aussagenlogik - informatik.uni-augsburg.de · semantik von ausdrücken gegeben eine...

30
Kalkül für Aussagenlogik ϕ, Γ ϕ, Δ (axiom) false, Γ Δ (false left) Γ true, Δ (true right) Γ Δ Γ Δ (weakening, Γ Γ, Δ Δ) Γ ϕ, Δ ϕ, Γ Δ Γ Δ (cut formula) Γ ϕ, Δ ¬ ϕ, Γ Δ (negation left) ψ, Γ Δ Γ ¬ ψ , Δ (negation right) ϕ,ψ, Γ Δ ϕ ψ , Γ Δ (conjunction left/right) Γ ϕ, Δ Γ ψ, Δ Γ ϕ ψ , Δ ϕ, Γ Δ ψ, Γ Δ ϕ ψ , Γ Δ (disjunction left/right) Γ ϕ,ψ, Δ Γ ϕ ψ , Δ Γ ϕ, Δ ψ, Γ Δ ϕ ψ , Γ Δ (implication left/right) ϕ, Γ ψ, Δ Γ ϕ ψ , Δ Γ ϕ,ψ, Δ ϕ,ψ, Γ Δ ϕ ψ , Γ Δ (equivalence left/right) ϕ, Γ ψ, Δ ψ, Γ ϕ, Δ Γ ϕ ψ , Δ 25

Upload: others

Post on 09-Sep-2019

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Kalkül für Aussagenlogik - informatik.uni-augsburg.de · Semantik von Ausdrücken Gegeben eine Algebra A und eine Belegung v. Dann ist die Semantik [[e]]A,v eines Ausdrucks eder

Kalkül für Aussagenlogik

ϕ,Γ ⊢ ϕ,∆(axiom)

false,Γ ⊢ ∆(false left)

Γ ⊢ true,∆(true right)

Γ′ ⊢ ∆′

Γ ⊢ ∆(weakening, Γ′ ⊆ Γ,∆′ ⊆ ∆)

Γ ⊢ ϕ,∆ ϕ,Γ ⊢ ∆

Γ ⊢ ∆(cut formula)

Γ ⊢ ϕ,∆

¬ ϕ,Γ ⊢ ∆(negation left)

ψ,Γ ⊢ ∆

Γ ⊢ ¬ ψ,∆(negation right)

ϕ,ψ,Γ ⊢ ∆

ϕ ∧ ψ,Γ ⊢ ∆(conjunction left/right)

Γ ⊢ ϕ,∆ Γ ⊢ ψ,∆

Γ ⊢ ϕ ∧ ψ,∆

ϕ,Γ ⊢ ∆ ψ,Γ ⊢ ∆

ϕ ∨ ψ,Γ ⊢ ∆(disjunction left/right)

Γ ⊢ ϕ,ψ,∆

Γ ⊢ ϕ ∨ ψ,∆

Γ ⊢ ϕ,∆ ψ,Γ ⊢ ∆

ϕ→ ψ,Γ ⊢ ∆(implication left/right)

ϕ,Γ ⊢ ψ,∆

Γ ⊢ ϕ→ ψ,∆

Γ ⊢ ϕ,ψ,∆ ϕ,ψ,Γ ⊢ ∆

ϕ↔ ψ,Γ ⊢ ∆(equivalence left/right)

ϕ,Γ ⊢ ψ,∆ ψ,Γ ⊢ ϕ,∆

Γ ⊢ ϕ↔ ψ,∆25

Page 2: Kalkül für Aussagenlogik - informatik.uni-augsburg.de · Semantik von Ausdrücken Gegeben eine Algebra A und eine Belegung v. Dann ist die Semantik [[e]]A,v eines Ausdrucks eder

Regeln für Quantoren und Gleichungen

•ϕτ

x,∀ x.ϕ,Γ ⊢ ∆

∀ x.ϕ,Γ ⊢ ∆(all left)

Γ ⊢ ϕτx,∃ x.ϕ,∆

Γ ⊢ ∃ x.ϕ,∆(exists right)

•ϕy

x,Γ ⊢ ∆

∃ x.ϕ,Γ ⊢ ∆(exists left)

Γ ⊢ ϕyx,∆

Γ ⊢ ∀ x.ϕ,∆(all right)

ϕτx die Substitution von x durch einen beliebigen Term τ in ϕ.

y ist eine neue Variable, i.e. eine die nicht frei in Q x.ϕ,Γ,∆ (Q ∈ {∀,∃})vorkommt.

Genauer: y 6∈ (free(ϕ)\{x}) ∪ free(Γ) ∪ free(∆)

•Γ ⊢ τ = τ ,∆

(reflexivity right)x = τ,Γτ

x ⊢ ∆τx

x = τ,Γ ⊢ ∆(insert equation)

26

Page 3: Kalkül für Aussagenlogik - informatik.uni-augsburg.de · Semantik von Ausdrücken Gegeben eine Algebra A und eine Belegung v. Dann ist die Semantik [[e]]A,v eines Ausdrucks eder

Variablen und freie Variablen eines Ausdrucks

Die Variablen eines Ausdrucks (Var(e))

Var(x) = {x} x ∈ X

Var(op(t1, . . . , tn)) =⋃n

i=1 Var(ti)

Var(e = e′) = Var(e) ∪ Var(e′)

Var(Qx.ϕ) = {x} ∪ Var(ϕ) Q ∈ {∀,∃}

Die freien Variablen einer Formel (free(ϕ)) sind genauso definiert ausser:

free(Qx.ϕ) = free(ϕ) \ {x} Q ∈ {∀,∃}

27

Page 4: Kalkül für Aussagenlogik - informatik.uni-augsburg.de · Semantik von Ausdrücken Gegeben eine Algebra A und eine Belegung v. Dann ist die Semantik [[e]]A,v eines Ausdrucks eder

Substitution

die Substitution einer Variablen x durch einen Ausdruck t in e (etx)

xtx = t

ytx = y falls x 6= y

op(e1, . . . , en)tx = op((e1)tx, . . . , (en)tx)

(e1 = e2)tx = (e1)

tx = (e2)

tx)

(Qy.ϕ)tx =

Qy.ϕ falls y = x ∨ x 6∈ free(ϕ)

Qy.ϕtx falls y 6= x, y 6∈ free(t), x ∈ free(ϕ)

Qz.(ϕzy)

tx falls y 6= x, y ∈ free(t), x ∈ free(ϕ)

(z neu, d. h. z 6∈ Var(ϕ) ∪ Var(t))

(Q ∈ {∀,∃})

28

Page 5: Kalkül für Aussagenlogik - informatik.uni-augsburg.de · Semantik von Ausdrücken Gegeben eine Algebra A und eine Belegung v. Dann ist die Semantik [[e]]A,v eines Ausdrucks eder

KIV: Organisation in Projekte

Grundlegende Organisation:

• In KIV arbeitet man in (SW-Entwicklungs-) Projekten

• Jedes Projekt definiert Spezifikationen (Σ + Ax + Weiteres)

• Spezifikationen können aufeinander aufbauen

⇒ Entwicklungsgraph

• Über jeder Spezifikation kann man

Theoreme formulieren und beweisen

29

Page 6: Kalkül für Aussagenlogik - informatik.uni-augsburg.de · Semantik von Ausdrücken Gegeben eine Algebra A und eine Belegung v. Dann ist die Semantik [[e]]A,v eines Ausdrucks eder

KIV: Projektauswahl- und Projektebene

4 Ebenen:

1. Projektauswahlebene• Projekte anlegen, löschen, auf einem Projekt arbeiten

2. Projektebene• zeigt den Entwicklungsgraph der Spezifikationen• Spezifikationen anlegen, ändern, löschen• Auf einer Spezifikation arbeiten

30

Page 7: Kalkül für Aussagenlogik - informatik.uni-augsburg.de · Semantik von Ausdrücken Gegeben eine Algebra A und eine Belegung v. Dann ist die Semantik [[e]]A,v eines Ausdrucks eder

KIV: Spezifikations- und Beweisebene

3. Spezifikationsebene⋆ Theoreme anlegen, ändern, löschen⋆ einen Beweis führen

4. Beweisebene⋆ Beweise führen durch interaktive Anwendung von Regeln⋆ Zwei Regelsätze: Basisregeln/für’s Beweisen optimierte Regeln⋆ Backtracking, Pruning⋆ Simplifikation + Heuristiken zur automatischen Anwendung von

Regeln

31

Page 8: Kalkül für Aussagenlogik - informatik.uni-augsburg.de · Semantik von Ausdrücken Gegeben eine Algebra A und eine Belegung v. Dann ist die Semantik [[e]]A,v eines Ausdrucks eder

KIV: Verzeichnisstruktur

Verzeichnisstruktur:

• Ein Projektverzeichnis <projektname>

• darin:⋆ ein Unterverzeichnis specs⋆ [eine Datei devgraph für den Entwicklungsgraph]

• in specs: ein Unterverzeichnis <specname> für jede Spezifikation

• darin:⋆ eine Datei specification für Signatur, Axiome etc.⋆ eine Datei sequents für Theoreme⋆ [ein Verzeichnis proofs das geladene Theoreme, geführte Beweise

etc. speichert]

32

Page 9: Kalkül für Aussagenlogik - informatik.uni-augsburg.de · Semantik von Ausdrücken Gegeben eine Algebra A und eine Belegung v. Dann ist die Semantik [[e]]A,v eines Ausdrucks eder

Semantik vonFormeln und Sequenzen

33

Page 10: Kalkül für Aussagenlogik - informatik.uni-augsburg.de · Semantik von Ausdrücken Gegeben eine Algebra A und eine Belegung v. Dann ist die Semantik [[e]]A,v eines Ausdrucks eder

Grundidee der Verwendung vonLogik im Software Entwurf

Syntax: Menge von Formeln= Axiome Ax

beschreiben

��

⊢ K

„ist beweisbar”

Ko-rrekt-

keit

��

Formel ϕ

beschreibt

��Semantik:

Software-Systeme:Menge von Algebren

{A,B, . . .}

|=„ist gültig in”

Voll-ständig-

keit

OO

Eigenschaft ϕA

34

Page 11: Kalkül für Aussagenlogik - informatik.uni-augsburg.de · Semantik von Ausdrücken Gegeben eine Algebra A und eine Belegung v. Dann ist die Semantik [[e]]A,v eines Ausdrucks eder

Grundidee der Verwendung vonLogik im Software Entwurf (1)

Semantik (i.e. der Inhalt, dessen was wir tun):

• 1. Schritt: Wir wollen Softwaresysteme und funktionale Anforderungenan solche beschreiben

• SW-Systeme sind Datenstrukturen, Programme etc. bei eingebettetenSystemen evtl. inclusive Umgebung.

• 2. Schritt: Gegeben eine beliebige Implementierung, die dieAnforderungen erfüllt, wollen wir Eigenschaften wie z.B. Korrektheit undSicherheit nachweisen

Mathematik: Das allgemeinste Modell für ein SW-System ist eine Algebra A.

Wir wollen also Algebren beschreiben, und Eigenschaften von Algebrennachweisen.

35

Page 12: Kalkül für Aussagenlogik - informatik.uni-augsburg.de · Semantik von Ausdrücken Gegeben eine Algebra A und eine Belegung v. Dann ist die Semantik [[e]]A,v eines Ausdrucks eder

Grundidee der Verwendung vonLogik im Software Entwurf (2)

Mathematik: Sprachen zum Beschreiben von Algebren und ihrenEigenschaften heissen Logiken

Bem.: auch Prog.sprachen sind spezielle Beschreibungen von Algebren!

Syntax

• Algebren kann man durch Formelmengen Ax beschreiben

• Eigenschaften werden durch Formeln ϕ beschreiben

• Statt informell zu überlegen ob eine Eigenschaft gilt, verwenden wireinen Kalkül K, und zeigen formal: Ax ⊢K ϕ

Gewinn: Garantie, dass SW-System Eingenschaft hat

keine absolute Garantie: nur so gut, wie genau man das SW-Systembeschrieben wurde (insbes. die Umgebung bei eingebetteten Systemen!)

36

Page 13: Kalkül für Aussagenlogik - informatik.uni-augsburg.de · Semantik von Ausdrücken Gegeben eine Algebra A und eine Belegung v. Dann ist die Semantik [[e]]A,v eines Ausdrucks eder

Semantik: Σ-Algebren

Eine Σ-Algebra A = ((As)s∈S , (opA)op∈OP )zu einer Signatur Σ = (S,OP) ist ein Paar mit:

• nichtleeren Mengen As für jede Sorte s ∈ S (Trägermengen)

• Die Trägermenge Abool ist immer gleich {tt ,ff}

• Funktionen opA : As1× . . .×Asn

→ As′ für alle op : s1, . . . , sn → s′

• Die vordefinierten booleschen Symbole haben in jedem Adie “normale” Bedeutung (Wahrheitstafeln):trueA = tt , ∧A(tt ,ff) = ff , ∨A(tt ,ff) = tt etc.

Die Menge aller Σ-Algebren über Σ wird mit Alg(Σ) bezeichnet.

37

Page 14: Kalkül für Aussagenlogik - informatik.uni-augsburg.de · Semantik von Ausdrücken Gegeben eine Algebra A und eine Belegung v. Dann ist die Semantik [[e]]A,v eines Ausdrucks eder

Semantik: Belegungen von Variablen

Eine Belegung (engl. valuation; auch: ein Zustand)

v :⋃

s∈S vs : Xs → As

ist eine Abbildung, die jedem Variablensymbol in Xs einen Wert in As

zuordnet

Die Abänderung vax der Belegung v für x ∈ Xs und a ∈ As ist definiert durch:

vax :=

{

v(y) falls x 6= y

a falls x = y

38

Page 15: Kalkül für Aussagenlogik - informatik.uni-augsburg.de · Semantik von Ausdrücken Gegeben eine Algebra A und eine Belegung v. Dann ist die Semantik [[e]]A,v eines Ausdrucks eder

Semantik von Ausdrücken

Gegeben eine Algebra A und eine Belegung v. Dann ist die Semantik [[e]]A,v

eines Ausdrucks e der Sorte s das folgende Element aus As:

• [[x]]A,v := v(x) für x ∈ Xs

• [[op(e1, . . . , en)]]A,v := opA([[e1]]A,v, . . . , [[en]]A,v) für op ∈ OP undei ∈ Expr(Σ,X)

• [[e1 = e2]]A,v := tt , falls [[e1]]A,v = [[e2]]A,v (sonst := ff)

• [[∀ x.ϕ]]A,v := tt , falls für alle a ∈ As′ gilt: [[ϕ]]A,va

x

= tt (sonst := ff)(x ∈ Xs′)

• [[∃ x.ϕ]]A,v := tt , falls es ein a ∈ As′ gibt mit [[ϕ]]A,va

x

= tt (sonst := ff)(x ∈ Xs′)

Hinweis: Falls ϕ eine Formel ist, so ist [[ϕ]]A,v immer tt oder ff .(“die Formel ist wahr oder falsch in A mit v”)

39

Page 16: Kalkül für Aussagenlogik - informatik.uni-augsburg.de · Semantik von Ausdrücken Gegeben eine Algebra A und eine Belegung v. Dann ist die Semantik [[e]]A,v eines Ausdrucks eder

Gültigkeit und Erfüllbarkeit

Für ϕ ∈ For(Σ,X) und Ax ⊆ For(Σ,X) definiert man:

• A, v |= ϕ :⇔ [[ϕ]]A,v = tt

• A |= ϕ :⇔ für jedes v gilt: A, v |= ϕ

Gesprochen: „ϕ gilt in A“, „A Modell von ϕ “

• A |= Ax :⇔ A |= ϕ für alle ϕ ∈ Ax

• Ax |= ϕ :⇔ für alle A ∈ Alg(Σ) gilt: A |= Ax ⇒ A |= ϕ

Gesprochen: „ϕ folgt aus Ax “

• ϕ Tautologie, |= ϕ :⇔ für alle A ∈ Alg(Σ) gilt A |= ϕ

• ϕ erfüllbar :⇔ es gibt A ∈ Alg(Σ) mit A |= ϕ

• Ax erfüllbar :⇔ es gibt A ∈ Alg(Σ) mit A |= Ax

40

Page 17: Kalkül für Aussagenlogik - informatik.uni-augsburg.de · Semantik von Ausdrücken Gegeben eine Algebra A und eine Belegung v. Dann ist die Semantik [[e]]A,v eines Ausdrucks eder

Eigenschaften der Prädikatenlogik (1)

1. A, v |= ϕ⇔ Nicht A, v |= ¬ ϕ (kurz: A, v 6|= ¬ ϕ)

2. A, v |= ϕ oder A, v |= ¬ ϕ

3. v(x) = v′(x) für alle x ∈ free(ϕ) ⇒ (A, v |= ϕ⇔ A, v′ |= ϕ)

4. Nur, wenn free(ϕ) = ∅: A |= ϕ oder A |= ¬ ϕ

5. Nur, wenn free(ϕ) = ∅: A |= ϕ⇔ A 6|= ¬ ϕ

6. A |= ϕ⇔ A |= Cl∀(ϕ)

Bedeutung: Cl∀(ϕ) - Allquantifizierung aller freien Variablen in ϕ

41

Page 18: Kalkül für Aussagenlogik - informatik.uni-augsburg.de · Semantik von Ausdrücken Gegeben eine Algebra A und eine Belegung v. Dann ist die Semantik [[e]]A,v eines Ausdrucks eder

Eigenschaften der Prädikatenlogik (2)

Substitutionstheorem

A, v[[t]]

A,v

x |= ϕ⇔ A, v |= ϕtx

Korollar (Instanzierung und Umbenennung)Es gilt:

|= (∀ x. ϕ) → ϕtx

Wenn z 6∈ free(ϕ) \ {x}, so gilt außerdem:

• A, v |= ∀ y. ϕ⇔ A, v |= ∀ z. ϕzy

• |= (∀ y. ϕ) ↔ (∀ z. ϕzy)

42

Page 19: Kalkül für Aussagenlogik - informatik.uni-augsburg.de · Semantik von Ausdrücken Gegeben eine Algebra A und eine Belegung v. Dann ist die Semantik [[e]]A,v eines Ausdrucks eder

Semantik von Sequenzen

Definition (Semantik von Sequenzen)A, v |= Γ ⊢ ∆ ⇔ A, v |=

Γ →∨

FolgerungenFür ϕ ∈ For(Σ,X) und Ax ⊆ For(Σ,X) gilt

A |= ϕ ⇔ A |= ⊢ ϕ

A |= ¬ ϕ ⇔ A |= ϕ ⊢

Ax |= ϕ ⇔ Ax |= ⊢ ϕ

Ax |= ¬ ϕ ⇔ Ax |= ϕ ⊢

43

Page 20: Kalkül für Aussagenlogik - informatik.uni-augsburg.de · Semantik von Ausdrücken Gegeben eine Algebra A und eine Belegung v. Dann ist die Semantik [[e]]A,v eines Ausdrucks eder

Korrektheit der basic rules

Satz (Regelkorrektheit der basic rules)Für alle basic rules gilt:

A |= {Γ1 ⊢ ∆1, . . . ,Γn ⊢ ∆n} ⇒ A |= (Γ ⊢ ∆)

alles andere wäre nicht sehr sinnvoll!

Satz (Invertierbarkeit der basic rules)Für alle basic rules außer Abschwächung gilt:

A |= (Γ ⊢ ∆) ⇒ A |= {Γ1 ⊢ ∆1, . . . ,Γn ⊢ ∆n}

Wichtige Konsequenz:Durch Regelanwendung wird aus einer beweisbaren Sequenz nie eineunbeweisbare!

(man kann nichts falsch machen, nur unnötiges und umständliches)44

Page 21: Kalkül für Aussagenlogik - informatik.uni-augsburg.de · Semantik von Ausdrücken Gegeben eine Algebra A und eine Belegung v. Dann ist die Semantik [[e]]A,v eines Ausdrucks eder

Korrektheit und Vollständigkeit von PL

Erhält man aus der Formelmenge Ax durch Anwendung der basic rules dieSequenz ⊢ ϕ, dann schreibt man

Ax ⊢PL ϕ.

Das ist genau dann der Fall, wenn es einen KIV-Beweisbaum für ⊢ ϕ aus Ax

gibt.

Satz (Korrektheit)Für eine Formel ϕ und eine Formelmenge Ax gilt

Ax ⊢PL ϕ ⇒ Ax |= ϕ

Satz (Vollständigkeit)Für eine Formel ϕ und eine Formelmenge Ax gilt

Ax |= ϕ ⇒ Ax ⊢PL ϕ

45

Page 22: Kalkül für Aussagenlogik - informatik.uni-augsburg.de · Semantik von Ausdrücken Gegeben eine Algebra A und eine Belegung v. Dann ist die Semantik [[e]]A,v eines Ausdrucks eder

Unentscheidbarkeit von PL

Satz (Unentscheidbarkeit von PL)

Es gibt kein Entscheidungsverfahren für die Allgemeingültigkeit vonprädikatenlogischen Formeln. Zählt man alle Beweise desSequenzenkalküls auf, so wird darin jede allgemeingültige Formelirgendwann vorkommen, aber das Verfahren kann nicht so verschärftwerden, daß es auch für alle nicht allgemeingültigen Formeln immerabbricht.

Beachte: Für reine Aussagenlogik ist Sequenzenkalkül einEntscheidungsverfahren: man kann blind einfach Regeln anwenden,das terminiert immer. Genau wenn der Beweis geschlossen wird ist dieFormel allgemeingültig!

Das Problem bei PL liegt wo ?

46

Page 23: Kalkül für Aussagenlogik - informatik.uni-augsburg.de · Semantik von Ausdrücken Gegeben eine Algebra A und eine Belegung v. Dann ist die Semantik [[e]]A,v eines Ausdrucks eder

Unentscheidbarkeit von PL

Satz (Unentscheidbarkeit von PL)

Es gibt kein Entscheidungsverfahren für die Allgemeingültigkeit vonprädikatenlogischen Formeln. Zählt man alle Beweise desSequenzenkalküls auf, so wird darin jede allgemeingültige Formelirgendwann vorkommen, aber das Verfahren kann nicht so verschärftwerden, daß es auch für alle nicht allgemeingültigen Formeln immerabbricht.

Beachte: Für reine Aussagenlogik ist Sequenzenkalkül einEntscheidungsverfahren: man kann blind einfach Regeln anwenden,das terminiert immer. Genau wenn der Beweis geschlossen wird ist dieFormel allgemeingültig!

Das Problem bei PL liegt bei der Frage welche Terme τ man beiden Regeln all left/exists right wählen soll.

46

Page 24: Kalkül für Aussagenlogik - informatik.uni-augsburg.de · Semantik von Ausdrücken Gegeben eine Algebra A und eine Belegung v. Dann ist die Semantik [[e]]A,v eines Ausdrucks eder

Der KIV-KalkülSimplifier und Heuristiken

47

Page 25: Kalkül für Aussagenlogik - informatik.uni-augsburg.de · Semantik von Ausdrücken Gegeben eine Algebra A und eine Belegung v. Dann ist die Semantik [[e]]A,v eines Ausdrucks eder

KIV-Kalkül: Überblick

• Versuch 1: basic rules, ab Versuch 2: KIV-Kalkül

• Sequenzenkalkül kennt keine Beweisstrukturierung:⇒ Lemmas + Regeln zum Anwenden von Lemmas

• Beobachtung: Sequenzenkalkül ist sehr elementar:⇒ viele Regeln automatisch anwendbar

• Deshalb: Definition eines Simplifiers, der alle unkritischen Regelnimmer automatisch macht.

• Regeln mit 2 Prämissen (disjunction left, conjunction right etc.) sind derIdee nach alle Fallunterscheidung⇒ Zusammenfassen zu einer Regel case distinction

• Automatisches Anwenden von Regeln durch Heuristiken, die manjederzeit dazu- oder wegschalten kann

48

Page 26: Kalkül für Aussagenlogik - informatik.uni-augsburg.de · Semantik von Ausdrücken Gegeben eine Algebra A und eine Belegung v. Dann ist die Semantik [[e]]A,v eines Ausdrucks eder

Nachtrag zum Basiskalkül:cut und weakening

Wozu braucht man:

Γ′ ⊢ ∆′

Γ ⊢ ∆(weakening, Γ′ ⊆ Γ,∆′ ⊆ ∆)

Γ ⊢ ϕ,∆ ϕ,Γ ⊢ ∆

Γ ⊢ ∆(cut formula)

49

Page 27: Kalkül für Aussagenlogik - informatik.uni-augsburg.de · Semantik von Ausdrücken Gegeben eine Algebra A und eine Belegung v. Dann ist die Semantik [[e]]A,v eines Ausdrucks eder

Nachtrag zum Basiskalkül:cut und weakening

Wozu braucht man:

Γ′ ⊢ ∆′

Γ ⊢ ∆(weakening, Γ′ ⊆ Γ,∆′ ⊆ ∆)

Γ ⊢ ϕ,∆ ϕ,Γ ⊢ ∆

Γ ⊢ ∆(cut formula)

Erinnerung: Wenn Axiome (in KIV auch: Lemmas) gegeben sind, dürfendiese als Prämissen in Beweisebäumen übrigbleiben

49

Page 28: Kalkül für Aussagenlogik - informatik.uni-augsburg.de · Semantik von Ausdrücken Gegeben eine Algebra A und eine Belegung v. Dann ist die Semantik [[e]]A,v eines Ausdrucks eder

Nachtrag zum Basiskalkül:cut und weakening

Wozu braucht man:

Γ′ ⊢ ∆′

Γ ⊢ ∆(weakening, Γ′ ⊆ Γ,∆′ ⊆ ∆)

Γ ⊢ ϕ,∆ ϕ,Γ ⊢ ∆

Γ ⊢ ∆(cut formula)

Erinnerung: Wenn Axiome (in KIV auch: Lemmas) gegeben sind, dürfendiese als Prämissen in Beweisebäumen übrigbleiben

• Regeln werden nur benötigt, um Axiome als Prämissenhinzubekommen

• im Basiskalkül: insert axiom, erzeugt eine Prämisse

• im KIV-Kalkül: insert lemma & insert rewrite-lemma

⊢ Ax Cl∀ (Ax ),Γ ⊢ ∆

Γ ⊢ ∆(insert axiom)

49

Page 29: Kalkül für Aussagenlogik - informatik.uni-augsburg.de · Semantik von Ausdrücken Gegeben eine Algebra A und eine Belegung v. Dann ist die Semantik [[e]]A,v eines Ausdrucks eder

KIV-Kalkül: Lemmaanwendung

Beim Anwenden von Axiome will man nicht umständlich cut, all left (undevtl. insert equation) machen

Γ′ ⊢ ∆′ Γ ⊢ Θ(∧

Γ′),∆ Θ(∨

∆′),Γ ⊢ ∆

Γ ⊢ ∆(insert lemma)

• Γ′ ⊢ ∆′ is das Lemma (Axiom oder anderes Theorem)

• Θ ist eine Substitution für die freien Variables des Lemmas

• die Prämisse mit dem Lemma wird vom System als geschlossenbeachtet

50

Page 30: Kalkül für Aussagenlogik - informatik.uni-augsburg.de · Semantik von Ausdrücken Gegeben eine Algebra A und eine Belegung v. Dann ist die Semantik [[e]]A,v eines Ausdrucks eder

KIV-Kalkül: Ersetzungslemmas

Γ′ ⊢ ϕ→ σ = τ Γ ⊢ Θ(∧

Γ′ ∧ ϕ),∆ Γ′′ ⊢ ∆′′

Γ ⊢ ∆(insert rewrite lemma)

• Γ′ ⊢ ϕ→ σ = τ ist das Lemma (Γ und Vorbedingung ϕ dürfen fehlen)

• Θ ist eine Substitution für die freien Variables des Lemmas

• Γ′′ ⊢ ∆′′ entsteht aus Γ ⊢ ∆ durch Ersetzen von Θ(σ) durch Θ(τ)

• Lemmas der Form Γ′ ⊢ ϕ→ (ψ ↔ χ) mit ψ Literal erlaubt:Dann wird Θ(ψ) durch Θ(χ) ersetzt

• Wird kontextsensitiv unterstützt: Klicken auf das führendeFunktionssymbol von σ in der Sequenz bietet passendeRewrite-Regeln an

51