• Keine Ergebnisse gefunden

Formale Techniken der Software-Entwicklung

N/A
N/A
Protected

Academic year: 2021

Aktie "Formale Techniken der Software-Entwicklung"

Copied!
62
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Formale Techniken der Software-Entwicklung

Matthias H¨ olzl, Christian Kroiß

15. April 2014

(2)

Sequenzenkalk¨ ul

I

Kann man mit den Schlussregeln falsche Aussagen ableiten?

I

Gibt es wahre Aussagen, die man nicht ableiten kann?

I

Warum braucht man ¨ uberhaupt Schlussregeln?

(3)

Sequenzenkalk¨ ul

I

Korrektheit

I

Vollst¨ andigkeit

I

(Teil)-Automatisches Schließen, PVS

(4)

Korrektheit

I

Zu zeigen:

I Wenn alle Voraussetzungen einer Schlussregel wahr sind

I Dann ist auch die Konklusion wahr

I

Induktion ¨ uber die Struktur der Herleitung

(5)

Vollst¨ andigkeit

I

Zu zeigen:

I Wenn eine Aussage eine Tautologie ist

I Dann kann man das auch mit dem Sequenzenkalk¨ul beweisen

I

Beweis: Finden eines Ableitungsbaumes f¨ ur jede wahre Formel

(6)

De Morgan’sche Regeln

¬(φ ∧ ψ) ⇐⇒ ¬φ ∨ ¬ψ

¬(φ ∨ ψ) ⇐⇒ ¬φ ∧ ¬ψ

(7)

Beweis durch Wahrheitstabelle

Sei χ = ¬(φ ∧ ψ) ⇐⇒ ¬φ ∨ ¬ψ

φ ψ ¬φ ¬ψ φ ∧ ψ ¬(φ ∧ ψ) ¬φ ∨ ¬ψ χ

false false true true false true true true false true true false false true true true true false false true false true true true true true false false true false false true Entsprechend zeigt man die Allgemeing¨ ultigkeit von

¬(φ ∨ ψ) ⇐⇒ ¬φ ∧ ¬ψ.

(8)

Beweis im Sequenzenkalk¨ ul

Sp¨ ater

(9)

Konjunktion/Disjunktion von Formelmengen

Wir definieren

^

1

, . . . , φ

n

} =

n

^

i=1

φ

i

= φ

1

∧ · · · ∧ φ

n

und

_

1

, . . . , φ

n

} =

n

_

i=1

φ

i

= φ

1

∨ · · · ∨ φ

n

(10)

Konjunktion/Disjunktion von Formelmengen

Oft lassen wir dabei die Mengenklammern weg und schreiben

^

φ

1

, . . . , φ

n

oder

^

Γ Wir definieren die Spezialf¨ alle

^

∅ = true

_

∅ = false

(11)

Notation

Formel φ ist wahr unter Belegung η

| =

η

φ oder η | = φ

Formel φ ist eine Tautologie (d.h. wahr unter jeder Belegung)

| = φ

(12)

Semantischer Folgerungsbegriff

ψ folgt semantisch aus φ

φ | = ψ

genau dann, wenn jede Belegung, die φ erf¨ ullt auch ψ erf¨ ullt:

f¨ ur alle η gilt | =

η

φ impliziert | =

η

ψ

(13)

Semantischer Folgerungsbegriff

ψ

1

, . . . , ψ

n

folgt semantisch aus φ

1

, . . . φ

m

φ

1

, . . . , φ

m

| = ψ

1

, . . . , ψ

n

genau dann, wenn jede Belegung, die alle φ

i

erf¨ ullt auch (mindestens) ein ψ

j

erf¨ ullt, wenn also gilt

^

φ

1

, . . . , φ

m

| =

_

ψ

1

, . . . , ψ

n

(14)

Deduktionstheorem

Seien Γ eine endliche Menge von Formeln, φ und ψ Formeln. Dann gilt

Γ, φ | = ψ (1)

genau dann, wenn

Γ | = φ = ⇒ ψ (2)

gilt.

(15)

Beweis

(1) ⇒ (2): Es gilt Γ, φ | = ψ. Sei η eine Belegung, die Γ erf¨ ullt.

Wenn η φ nicht erf¨ ullt, so gilt φ ⇒ ψ und somit (2). Erf¨ ulle also η φ. Damit erf¨ ullt η auch Γ, φ, und da Γ, φ | = ψ gilt, erf¨ ullt η dann auch ψ. Somit erf¨ ullt η auch φ = ⇒ ψ.

(2) ⇒ (1): Es gilt Γ | = φ = ⇒ ψ. Sei η eine Belegung, die Γ, φ

(und damit auch Γ und φ einzeln) erf¨ ullt. Da η | = Γ gilt, erf¨ ullt η

auch φ ⇒ ψ, somit erf¨ ullt η auch ψ, und damit gilt Γ, φ | = ψ.

(16)

Verallgemeinerte De Morgan’sche Regeln

Man kann die De Morgan’schen Regeln leicht auf Formelmengen verallgemeinern:

¬

^n

i=1

φ

i

⇐⇒

n

_

i=1

¬φ

i

¬

_n

i=1

φ

i

⇐⇒

n

^

i=1

¬φ

i

(Beweis durch Induktion ¨ uber n.)

(17)

Sequenzen

Eine Sequenz Γ ` ∆ entspricht einer Implikation:

V

Γ ⇒

W

∆ Wir k¨ onnen mit der Definition von ⇒ und den De Morgan’schen Regeln folgendermaßen umformen

^

φ

i

= ⇒

_

ψ

j

¬(

^

φ

i

) ∨

_

ψ

j

_

¬φ

i

_

ψ

j

Es ist also φ

1

, . . . , φ

m

` ψ

1

, . . . ψ

n

¨ aquivalent zu

¬φ

1

∨ · · · ∨ ¬φ

m

∨ ψ

1

∨ · · · ∨ ψ

n

(18)

Beispiel

φ, ψ, χ ` χ

ψ, χ ` φ ⇒ χ ψ ` ψ, φ ⇒ χ ψ, ψ ⇒ χ ` φ ⇒ χ

φ, ψ ⇒ χ ` φ, χ ψ ⇒ χ ` φ, φ ⇒ χ φ ⇒ ψ, ψ ⇒ χ ` φ ⇒ χ

(φ ⇒ ψ) ∧ (ψ ⇒ χ) ` φ ⇒ χ

` (φ ⇒ ψ) ∧ (ψ ⇒ χ) = ⇒ (φ ⇒ χ)

(19)

Ableitung im Sequenzenkalk¨ ul

Eine Formel ψ ist im Sequenzenkalk¨ ul ableitbar, wenn es eine Herleitung von ψ mit leerem Antezedens gibt:

φ

1

, . . . , φ

m

` ψ

1

, . . . , ψ

n

≡ ¬φ

1

∨ · · · ∨ ¬φ

m

∨ ψ

1

∨ . . . , ∨ψ

n

` ψ ≡ ψ

Eine Implikation φ = ⇒ ψ ist im Sequenzenkalk¨ ul genau dann ableitbar, wenn die Sequenz φ ` ψ ableitbar ist.

` φ

1

∧ · · · ∧ φ

m

= ⇒ ψ

1

∨ . . . , ∨ψ

n

≡ φ

1

∧ · · · ∧ φ

m

= ⇒ ψ

1

∨ . . . , ∨ψ

n

≡ ¬φ

1

∨ · · · ∨ ¬φ

m

∨ ψ

1

∨ . . . , ∨ψ

n

≡ φ

1

, . . . , φ

m

` ψ

1

, . . . , ψ

n

(20)

Notation

Eine Sequenz Γ ` ∆ ist im Sequenzenkalk¨ ul ableitbar”

seq

Γ ` ∆ oder Γ

seq

∆ Eine Formel φ ist im Sequenzenkalk¨ ul ableitbar:

seq

φ

(21)

Korrektheit und Vollst¨ andigkeit

I

Korrektheit

Γ

seq

∆ impliziert Γ | = ∆

I

Vollst¨ andigkeit

Γ | = ∆ impliziert Γ

seq

(22)

Sequenzenkalk¨ ul (1)

Γ

1

` ∆

1

Γ

2

` ∆

2

W

if Γ

1

⊆ Γ

2

∧ ∆

1

⊆ ∆

2

Γ, φ ` φ, ∆

Ax

Γ, ⊥ ` ∆ ⊥

Γ ` >, ∆ >

Γ ` φ, ∆

Γ, ¬φ ` ∆ ¬ ` Γ, φ ` ∆

Γ ` ¬φ, ∆ ` ¬

(23)

Sequenzenkalk¨ ul (2)

φ, ψ, Γ ` ∆

φ ∧ ψ, Γ ` ∆ ∧ ` Γ ` φ, ∆ Γ ` ψ, ∆ Γ ` φ ∧ ψ, ∆ ` ∧

φ, Γ ` ∆ ψ, Γ ` ∆

φ ∨ ψ, Γ ` ∆ ∨ ` Γ ` φ, ψ, ∆ Γ ` φ ∨ ψ, ∆ ` ∨

ψ, Γ ` ∆ Γ ` φ, ∆

φ ⇒ ψ, Γ ` ∆ ⇒` Γ, φ ` ψ, ∆

Γ ` φ ⇒ ψ, ∆ `⇒

(24)

Abschw¨ achung (Weakening)

Γ

1

` ∆

1

Γ

2

` ∆

2W

if Γ

1

⊆ Γ

2

∧ ∆

1

⊆ ∆

2

φ

1

, . . . , φ

m

` ψ

1

, . . . ψ

n

φ

1

, . . . , φ

m

, φ

m+1

, . . . , φ

p

` ψ

1

, . . . ψ

n

, ψ

n+1

, . . . , ψ

q

(25)

Abschw¨ achung (Weakening)

φ

1

, . . . , φ

m

` ψ

1

, . . . ψ

n

φ

1

, . . . , φ

m

, φ

m+1

, . . . , φ

p

` ψ

1

, . . . ψ

n

, ψ

n+1

, . . . , ψ

q

¬φ

1

∨ · · · ∨ ¬φ

m

¬φm+1∨ · · · ∨ ¬φp

ψ

1

∨ · · · ∨ ψ

n∨ψn+1∨ · · · ∨ψq

(26)

Wahrheitstabelle

φ

1

. . . φ

m+1

. . . ψ

1

. . . ψ

n+1

. . . φ ψ

? . . . false . . . ? . . . false . . . ? true

? . . . false . . . ? . . . true . . . ? true

? . . . true . . . ? . . . false . . . ? ?

? . . . true . . . ? . . . true . . . ? true

(27)

Axiom (propositional)

Γ, φ ` φ, ∆

Ax

¬Γ ∨

¬φ∨φ

∨ ∆

(28)

Negation

Γ ` φ, ∆ Γ, ¬φ ` ∆ ¬ `

¬Γ ∨

φ

∨ ∆

¬Γ ∨

¬¬φ

∨ ∆ Γ, φ ` ∆ Γ ` ¬φ, ∆ ` ¬

¬Γ ∨

¬φ

∨ ∆

¬Γ ∨

¬φ

∨ ∆

(29)

Konjunktion

φ, ψ, Γ ` ∆ φ ∧ ψ, Γ ` ∆ ∧ `

¬φ∨ ¬ψ

∨ Γ ∨ ∆

¬(φ∧ψ)

∨ Γ ∨ ∆ Γ ` φ, ∆ Γ ` ψ, ∆

Γ ` φ ∧ ψ, ∆ ` ∧ (¬Γ ∨

φ

∨ ∆) ∧ (¬Γ ∨

ψ

∨ ∆)

¬Γ ∨

(φ∧ψ)

∨ ∆

(30)

Konjunktion

φ, ψ, Γ ` ∆ φ ∧ ψ, Γ ` ∆ ∧ `

¬φ∨ ¬ψ

∨ Γ ∨ ∆

¬(φ∧ψ)

∨ Γ ∨ ∆ Γ ` φ, ∆ Γ ` ψ, ∆

Γ ` φ ∧ ψ, ∆ ` ∧ (φ ∨ (¬Γ ∨ ∆)) ∧ (ψ ∨ (¬Γ ∨ ∆))

(φ∧ψ)

∨ (¬Γ ∨ ∆)

(31)

Implikation

ψ, Γ ` ∆ Γ ` φ, ∆ φ ⇒ ψ, Γ ` ∆ ⇒`

(¬ψ ∨ ¬Γ ∨ ∆)

(¬Γ ∨

φ

∨ ∆)

¬(¬φ∨ψ)

∨ ¬Γ ∨ ∆

(φ∧ ¬ψ)

∨ ¬Γ ∨ ∆

Γ, φ ` ψ, ∆ Γ ` φ ⇒ ψ, ∆ `⇒

¬Γ ∨

¬φ∨ψ

∨ ∆

¬Γ ∨

(¬φ∨ψ)

∨ ∆

(32)

Sequenzenkalk¨ ul

φ, ψ,Γ`∆

φ∧ψ,Γ`∆∧ ` Γ`φ,∆ Γ`ψ,∆ Γ`φ∧ψ,∆ ` ∧

φ,Γ`∆ ψ,Γ`∆

φ∨ψ,Γ`∆ ∨ ` Γ`φ, ψ,∆ Γ`φ∨ψ,∆ ` ∨

ψ,Γ`∆ Γ`φ,∆

φ⇒ψ,Γ`∆ ⇒` Γ, φ`ψ,∆ Γ`φ⇒ψ,∆ `⇒

(33)

PVS

I

Theorien

I

Syntax

I

Umgang mit dem Theorembeweiser

(34)

PVS Theorien

I

(Momentan) Sammlung von aussagenlogischen Formeln

I

Axiome A

1

, . . . , A

n

I

Propositionen P

1

, . . . , P

n

(Lemmata, Theoreme, . . . )

I

A

1

, . . . , A

m

| = P

1

∧ · · · ∧ P

n I

Oft keine Axiome

(35)

Syntax

name

: THEORY BEGIN

V

1

, V

2

: bool P

1

: PROPOSITION

V

1

OR NOT(V

1

) P

2

: THEOREM

(V

1

=> V

2

) <=> (NOT(V

2

) => NOT(V

1

))

END

name

(36)

Beispiel

lecture_1 : THEORY BEGIN

A, B, C: bool

tertium_non_datur: PROPOSITION A OR NOT (A) double_negation_1: PROPOSITION A => NOT(NOT(A)) double_negation_2: PROPOSITION A <=> NOT(NOT(A)) counterpositive: PROPOSITION

(A => B) <=> (NOT(B) => NOT(A)) transitivity: PROPOSITION

(A => B) AND (B => C) => (A => C)

END lecture_1

(37)

PVS Emacs

(38)

PVS Context

I

Alle Interaktionen mit PVS erfolgen innerhalb eines Kontexts

I

Der Kontext enth¨ alt (Hilfs-)Theorien, angefangene Beweise, etc.

I

Am Anfang jeder PVS-Session muss mit M-x

change-context in den richtigen Kontext gewechselt werden

(39)

Interaktives Beweisen

I

Nach dem Laden einer PVS-Theorie kann man sie auf syntaktische und Typfehler ¨ uberpr¨ ufen und die darin enthaltenen Aussagen interaktiv beweisen

I

Der Theorembeweiser wird mit dem Kommando M-x prove-theory aufgerufen

I

Falls im Kontext schon vorhergehende Beweise oder

Beweisversuche existieren k¨ onnen diese nochmals ausgef¨ uhrt

werden

(40)

PVS Bewiesene Theorie

(41)

Interaktives Beweisen

I

Mit M-x prove oder C-c p kann der interaktive Theorembeweiser aufgerufen werden.

I

Die zu beweisende Sequenz wird in einem Fenster angezeigt, Beweiskommandos werden im gleichen Fenster eingegeben:

Installing rewrite rule sets.singleton_rew (all instances)

tertium_non_datur :

|---

{1} A OR NOT (A) Rule?

(flatten 1)

Applying disjunctive simplification to flatten sequent,

Q.E.D.

(42)

Sequenzenkalk¨ ul in PVS

φ, ψ,Γ`∆

φ∧ψ,Γ`∆∧ ` Γ`φ,∆ Γ`ψ,∆ Γ`φ∧ψ,∆ ` ∧

Γ`φ, ψ,∆

Γ`φ∨ψ,∆ ` ∨ φ,Γ`∆ ψ,Γ`∆ φ∨ψ,Γ`∆ ∨ `

Γ, φ`ψ,∆

Γ`φ⇒ψ,∆ `⇒ ψ,Γ`∆ Γ`φ,∆ φ⇒ψ,Γ`∆ ⇒`

(flatten) (split)

(43)

Sequenzenkalk¨ ul in PVS

I

Der Beweisbaum wird von unten nach oben abgearbeitet

I

Man arbeitet immer an einem Pfad durch den Beweis

I

Durch (postpone) kann man vor¨ ubergehend in einen anderen Pfad wechseln

I

Manche Vereinfachungen werden immer durchgef¨ uhrt

I

Mit (undo) kann man falsche Beweisschritte r¨ uckg¨ angig machen

I

Neben den einfachen Regeln stehen auch komplexe Strategien zur Verf¨ ugung

I

Beweiskommandos k¨ onnen auf einzelne Terme (durch Angabe

der Nummer), den Antezedens/Sukzedens (durch -, +) oder

alle Terme angewendet werden

(44)

Wichtige Beweiskommandos

I

(flatten): F¨ uhrt Regeln aus, die den Beweisbaum nicht weiter aufspalten

I

(flatten-disjunct): Weniger leistungsf¨ ahige Version von (flatten), gut zum Verstehen der Arbeitsweise des

Theorembeweisers

I

(split): F¨ uhrt Regeln aus, die den Beweis in mehrere ¨ Aste aufspalten

I

(prop): F¨ uhrt propositionale Vereinfachung durch

I

(grind): Leistungsf¨ ahigste Strategie, kann auch viele

nicht-propositionale Theoreme beweisen

(45)

PVS

I

Veranschaulichen der Korrektheit und Vollst¨ andigkeit des von PVS-verwendeten Sequenzenkalk¨ uls mit PVS

I

Das ist nat¨ urlich kein g¨ ultiger Beweis, aber f¨ ur den Umgang

mit PVS instruktiv

(46)

Erf¨ ullbarkeit (SAT)

I

Beschreibung des SAT Problems

I

NP-Vollst¨ andigkeit

I

Normalformen

I

Praktische L¨ osbarkeit

I

Ans¨ atze zur L¨ osung

(47)

SAT

Gegeben sei eine aussagenlogische Formel φ. Das

Erf¨ ullbarkeitsproblem (SAT) ist die Frage nach einer erf¨ ullenden Belegung: Gibt es ein η mit

| =

η

φ?

SAT war das erste Problem, das als NP-vollst¨ andig bewiesen

wurde.

(48)

NP

Ein Pr¨ ufprogramm (Verifier) f¨ ur eine Sprache A ist ein Algorithmus V , f¨ ur den gilt

A = {w | V akzeptiert hw , c i f¨ ur eine Zeichenkette c } c heißt Zertifikat oder Beweis.

NP ist die Klasse der Sprachen, die in polynomialer Zeit verifiziert

werden k¨ onnen. (Das heißt, dass Zertifikate maximal polynomiale

L¨ ange haben d¨ urfen.)

(49)

NP-Vollst¨ andigkeit

Eine Sprache B ist NP-vollst¨ andig, wenn

I

sie in NP enthalten ist und

I

jedes A in NP in polynomialer Zeit auf B reduziert werden

kann.

(50)

Cook-Levin Theorem

SAT ist NP-vollst¨ andig

I

Beweisskizze: Tableau der zertifikatspr¨ ufenden Turing-Maschine l¨ asst sich in Aussagenlogik codieren

I

Konsequenzen f¨ ur Algorithmen:

I Wahrscheinlich gibt es keinen Algorithmus, der im schlechtesten Fall besser ist als Wahrheitstabellen

I In der Praxis lassen sich fast alleSAT-Probleme gut l¨osen

(51)

Normalformen

I

Warum Normalformen?

I

Konjunktive Normalform (CNF)

I

Disjunktive Normalform (DNF)

I

. . .

I

Algorithmus zur Umwandlung in CNF

(52)

Warum Normalformen?

I

Einfacher f¨ ur Computer

I

Theoretische Erkenntnisse

(53)

Konjunktive Normalform

I

Ein Literal L ist eine Variable A oder eine negierte Variable ¬A L = A | ¬A

I

Eine Klausel K ist eine Disjunktion von Literalen:

K = L

1

∨ L

2

∨ · · · ∨ L

m

I

Eine Formel C ist in konjunktiver Normalform (KNF, CNF), wenn sie eine Konjunktion von Klauseln ist:

C = K

1

∧ K

2

∧ · · · ∧ K

n

= (L

11

∨ · · · ∨ L

1p

) ∧ · · · ∧ (L

k1

∨ · · · ∨ L

kp

)

(54)

Anwendung von CNF

I

Uberpr¨ ¨ ufen von Allgemeing¨ ultigkeit

I

Eine Klausel ist allgemeing¨ ultig genau dann, wenn sie Literale L

i

, L

j

enth¨ alt, so dass L

i

= ¬L

j

I

Eine Formel in CNF ist allgemeing¨ ultig, wenn jede ihrer Klauseln allgemeing¨ ultig ist

I

Beispiel:

(A ∨ B ∨ ¬C ∨ ¬B) ∧ (B ∨ ¬C ∨ E ∨ F )

ist nicht allgemeing¨ ultig, da die zweite Klausel nicht

allgemeing¨ ultig ist

(55)

Konvertierung in CNF

I

Gibt es zu jeder Formel φ eine ¨ aquivalente Formel ψ in CNF?

I

Ja, aber ψ ist nicht eindeutig:

I

ψ

1

= φ und ψ

2

= φ ∧ (φ ∨ χ) sind beide CNF f¨ ur φ

I

Die Entwicklung von Algorithmen, die ein ψ mit m¨ oglichst

geringen “Kosten” berechnen ist ein wichtiges Problem f¨ ur

formale Methoden

(56)

Algorithmus zur Konvertierung in CNF

I

Rekursion ¨ uber die Struktur der Formel

Wenn φ = φ

1

∧ φ

2

dann ψ = ψ

1

∧ ψ

2

I

Beweis der Korrektheit durch strukturelle Induktion

(57)

Algorithmus zur Konvertierung in CNF

I

Ersetze φ ⇐⇒ ψ durch φ = ⇒ ψ ∧ ψ = ⇒ φ

I

Ersetze φ = ⇒ ψ durch ¬φ ∨ ψ

I

Schiebe Negationen nach innen; streiche doppelte Negation (Negationsnormalform)

I

Dann: Ist φ ein Literal so ist ψ gleich φ

I

Hat φ die Form φ

1

∧ φ

2

, so hat ψ die Form ψ

1

∧ ψ

2

wobei ψ

1

und ψ

2

rekursiv berechnet werden

I

Hat φ die Form φ

1

∨ φ

2

, so berechne ψ rekursiv als ψ

1

∨ ψ

2

und wende das Distributivgesetz an

(58)

Beispiel

φ ⇔ (ψ ∨ χ)

φ ⇒ (ψ ∨ χ) ∧ (ψ ∨ χ) ⇒ φ

(¬φ ∨ ψ ∨ χ) ∧ (¬(ψ ∨ χ) ∨ φ)

(¬φ ∨ ψ ∨ χ) ∧ ((¬ψ ∧ ¬χ) ∨ φ)

(¬φ ∨ ψ ∨ χ) ∧ (¬ψ ∨ φ) ∧ (¬χ ∨ φ)

(59)

Praktische L¨ osungsverfahren

I

Analyse von Problemen: nur wenige sind schwer

I

DPLL

I

WalkSat

(60)

Implementierung eines DPLL-Solvers

I

Rekursiver Algorithmus

I

Effizientere Implementierung

I Iterativer Algorithmus

I Heuristik zur Variablenauswahl

I Lernen von Klauseln

I Conflict-directed Backjumping

I Beobachtete Literale

(61)

Rekursives DPLL

I

Grundidee: Rekursive Berechnung der Wahrheitstabelle

I

Eingabe in CNF

I

Fr¨ uhzeitiger Abbruch

I

“Pure Symbol” Heuristik

I

“Unit Clause” Heuristik

(62)

Implementierung eines WalkSat-Solvers

I

Unvollst¨ andige Methode

I

Random restarts

Referenzen

ÄHNLICHE DOKUMENTE

Pr¨ adikate werden durch Relationen ¨ uber A interpretiert: jedem n-stelligen Pr¨ adikat entspricht eine n-stellige Relation ¨ uber A Gleichheit wird durch die Gleichheit auf

Eine vollst¨ andige axiomatisierbare Theorie T ist entscheidbar, d.h., es gibt einen Algorithmus, der f¨ ur jede Formel φ aus L(T ) in endlicher Zeit bestimmen kann ob φ ∈ T oder

Eine Menge von Klauseln S ist genau dann unerf¨ ullbar, wenn S f¨ ur jede H-Struktur von S falsch ist. Beweis: ⇒ ist klar, denn wenn S unerf¨ ullbar ist, dann ist S in jeder

Die Semantik von Termen der Pr¨ adikatenlogik zweiter Stufe wird genau wie f¨ ur die Pr¨ adikatenlogik erster Stufe definiert, nur muss jetzt auch Termen mit Quantoren ¨ uber

Einf¨ ugeschritts: wenn x das Pr¨ adikat pp erf¨ ullt und jedes Element aus A das Pr¨ adikat pp erf¨ ullt, dann erf¨ ullt auch jedes Element aus dem durch Einf¨ ugen von x in

Sei M eine Kripke-Struktur, die ein (nebenl¨ aufiges System) mit endlich vielen Zust¨ anden beschreibt, und sei φ eine temporallogische Formel, die eine gew¨ unschte Eigenschaft

Resolution ist nicht vollst¨ andig: Sei C eine Formel in CNF (also eine Menge von Klauseln) und K eine Klausel. Nachdem in {B , ¬C , D} aber keine komplement¨ aren Literale

Eine Person schnippt eine M¨unze (z. Zwei- fr¨ankler) mit dem Daumen senkrecht in die H¨ohe, eine andere Person misst die maximale H¨ohe der M¨unze ¨uber dem Daumen (h) und die