• Keine Ergebnisse gefunden

Formale Methoden der Softwaretechnik 1 Vorlesung vom 02.11.09: Pr¨adikatenlogik erster Stufe

N/A
N/A
Protected

Academic year: 2022

Aktie "Formale Methoden der Softwaretechnik 1 Vorlesung vom 02.11.09: Pr¨adikatenlogik erster Stufe"

Copied!
20
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Formale Methoden der Softwaretechnik 1 Vorlesung vom 02.11.09:

Pr¨adikatenlogik erster Stufe

Christoph L¨uth, Lutz Schr¨oder

Universit¨at Bremen

Wintersemester 2009/10

(2)

Das Tagesmen¨ u

I Logik mitQuantoren

I Von Aussagenlogik zur Pr¨adikatenlogik

I Nat¨urliches Schließen mit Quantoren

I Die Notwendigkeit von Logik h¨oherer Stufe

(3)

Fahrplan

I Teil I: Grundlagen der Formalen Logik

I Einf¨uhrung

I Nat¨urliches Schließen, Aussagenlogik

I Pr¨adikatenlogik 1. Stufe

I Gleichungslogik und nat¨urliche Zahlen

I Teil II: Arbeiten mit Isabelle

I Teil III: Modellierung imperative Programme

(4)

Pr¨ adikatenlogik

I Beschr¨ankung der Aussagenlogik:

I Eine Zahlnist eine Primzahl genau dann wenn sie nicht 1 ist und nur durch 1 und sich selbst teilbar ist.

I Eine Zahlm ist durch eine Zahlnteilbar genau dann wenn es eine Zahlp gibt, so dassm=n·p.

I Nichtin Aussagenlogkformalisierbar.

I Ziel: Formalisierung von Aussagen wie

I AlleZahlen sind ein Produkt von Primfaktoren.

I Es gibtkeinegr¨oßte Primzahl.

(5)

Pr¨ adikatenlogik

I Beschr¨ankung der Aussagenlogik:

I Eine Zahlnist eine Primzahl genau dann wenn sie nicht 1 ist und nur durch 1 und sich selbst teilbar ist.

I Eine Zahlm ist durch eine Zahlnteilbar genau dann wenn es eine Zahlp gibt, so dassm=n·p.

I Nichtin Aussagenlogkformalisierbar.

I Ziel: Formalisierung von Aussagen wie

I AlleZahlen sind ein Produkt von Primfaktoren.

I Es gibtkeinegr¨oßte Primzahl.

(6)

Pr¨ adikatenlogik

I Beschr¨ankung der Aussagenlogik:

I Eine Zahlnist eine Primzahl genau dann wenn sie nicht 1 ist und nur durch 1 und sich selbst teilbar ist.

I Eine Zahlm ist durch eine Zahlnteilbar genau dann wenn es eine Zahlp gibt, so dassm=n·p.

I Nichtin Aussagenlogkformalisierbar.

I Ziel: Formalisierung von Aussagen wie

I AlleZahlen sind ein Produkt von Primfaktoren.

I Es gibtkeinegr¨oßte Primzahl.

(7)

Erweiterung der Sprache

I Termebeschreiben die zu formalisierenden Objekte.

I Formelnsind logische Aussagen.

I UnserAlphabet:

I Pr¨adikatensymbole:P1, . . . ,Pn,= mit˙ Arit¨atar(Pi)N,ar( ˙=) = 2

I Funktionssymbole:f1, . . . ,fm mitArit¨atar(ti)N

I MengeX von Variablen(abz¨ahlbar viele)

I Konnektive:∧,−→,false,∀,abgeleitet:∨,←→,¬,←→,

(8)

Terme

I Menge Termder Termegegeben durch:

I Variablen:X ⊆ Term

I Funktionssymbolf mitar(f) =nundt1, . . . ,tn∈ Term, dann f(t1, . . . ,tn)∈ Term

I Sonderfall:n= 0, dann istf eineKonstante, f ∈ Term

(9)

Formeln

I Menge Form der Formelngegeben durch:

I false∈ Form

I Wennφ∈ Form, dann¬φ∈ Form

I Wennφ, ψ∈ Form, dann φψ∈ Form, φψ∈ Form, φ−→ψ∈ Form, φ←→ψ∈ Form

I Wennφ∈ Form,x X, dann∀x.φ∈ Form,∃x.φ∈ Form

I Pr¨adikatensymbolpmitar(p) =m undt1, . . . ,tm∈ Term, dann p(t1, . . . ,tm)∈ Form

I Sonderfall:t1,t2∈ Term, dannt1=˙ t2∈ Form

(10)

Formeln

I Menge Form der Formelngegeben durch:

I false∈ Form

I Wennφ∈ Form, dann¬φ∈ Form

I Wennφ, ψ∈ Form, dann φψ∈ Form, φψ∈ Form, φ−→ψ∈ Form, φ←→ψ∈ Form

I Wennφ∈ Form,x X, dann∀x.φ∈ Form,∃x.φ∈ Form

I Pr¨adikatensymbolpmitar(p) =m undt1, . . . ,tm∈ Term, dann p(t1, . . . ,tm)∈ Form

I Sonderfall:t1,t2∈ Term, dannt1=˙ t2∈ Form

(11)

Beispielaussagen

I Alle Zahlen sind gerade oder ungerade.

I Keine Zahl ist gerade und ungerade.

I Es gibt keine gr¨oßte Primzahl.

I F¨ur jede Primzahl gibt es eine, die gr¨oßer ist.

I Eine Funktionf ist stetig an der Stelle x0, gdw. es f¨ur jedes ε >0 ein δ >0 gibt, so dass f¨ur alle x mit|x−x0|< δgilt |f(x)−f(x0)|< .

(12)

Beispielaussagen

I Alle Zahlen sind gerade oder ungerade.

I Keine Zahl ist gerade und ungerade.

I Es gibt keine gr¨oßte Primzahl.

I F¨ur jede Primzahl gibt es eine, die gr¨oßer ist.

I Eine Funktionf ist stetig an der Stelle x0, gdw. es f¨ur jedes ε >0 ein δ >0 gibt, so dass f¨ur alle x mit|x−x0|< δgilt |f(x)−f(x0)|< .

(13)

Beispielaussagen

I Alle Zahlen sind gerade oder ungerade.

I Keine Zahl ist gerade und ungerade.

I Es gibt keine gr¨oßte Primzahl.

I F¨ur jede Primzahl gibt es eine, die gr¨oßer ist.

I Eine Funktionf ist stetig an der Stelle x0, gdw. es f¨ur jedes ε >0 ein δ >0 gibt, so dass f¨ur alle x mit|x−x0|< δgilt |f(x)−f(x0)|< .

(14)

Beispielaussagen

I Alle Zahlen sind gerade oder ungerade.

I Keine Zahl ist gerade und ungerade.

I Es gibt keine gr¨oßte Primzahl.

I F¨ur jede Primzahl gibt es eine, die gr¨oßer ist.

I Eine Funktionf ist stetig an der Stelle x0, gdw. es f¨ur jedes ε >0 ein δ >0 gibt, so dass f¨ur alle x mit|x−x0|< δgilt |f(x)−f(x0)|< .

(15)

Beispielaussagen

I Alle Zahlen sind gerade oder ungerade.

I Keine Zahl ist gerade und ungerade.

I Es gibt keine gr¨oßte Primzahl.

I F¨ur jede Primzahl gibt es eine, die gr¨oßer ist.

I Eine Funktionf ist stetig an der Stelle x0, gdw. es f¨ur jedes ε >0 ein δ >0 gibt, so dass f¨ur alle x mit|x−x0|< δgilt |f(x)−f(x0)|< .

(16)

Freie und gebundene Variable

I Variablen int ∈ Term,p∈ Formsind frei,gebunden, oderbindend.

I x bindendin∀x.φ,∃x

I ur∀x.φund∃xistx in Teilformelφgebunden

I Ansonsten istx frei

I FV(φ): Menge derfreienVariablen in φ

I Beispiel:

(q(x)∨ ∃x.∀y.p(f(x),z)∧q(a))∨ ∀r(x,z,g(x))

(17)

Substitution

I ts

x

ist Ersetzungvon x durch s in t

I Definiert durch strukturelleInduktion:

ys

x

def

=

s x =y y x 6=y f(t1, . . . ,tn)s

x

def

= f(t1

s

x

, . . . ,tn

s

x

) falses

x

def

= false (φ∧ψ)s

x

def

= φs

x

∧ψs

x

(φ−→ψ)s

x

def

= φs

x

−→ψs

x

p(t1, . . . ,tn)s

x

def

= p(t1

s

x

, . . . ,tn

s

x

)

(∀y.φ)s

x

def

=





∀y.φ x =y

∀y.(φs

x

) x 6=y,y 6∈FV(s)

∀z.((φh

z y

i )s

x

) x 6=y,y ∈FV(s)

(18)

Nat¨ urliches Schließen mit Quantoren

φ

∀x.φ ∀I (∗) ∀x.φ φt

x

∀E (†)

I (*)Eigenvariablenbedingung:

x nichtfreiin offenen Vorbedingungen von φ(x beliebig)

I (†) Ggf. Umbenennung durch Substitution

I Gegenbeispielef¨ur verletzte Seitenbedingungen

(19)

Der Existenzquantor

∃x.φdef=¬∀x.¬φ

φt

x

∃x.φ ∃I (†) ∃x.φ [φ]

... ψ

ψ ∃E (∗)

I (*)Eigenvariablenbedingung:

x nicht frei inψ, oder einer offenenen Vorbedingung außerφ

I (†) Ggf. Umbenennung durch Substitution

(20)

Zusammenfassung

I Pr¨adikatenlogik: Erweiterung der Aussagenlogik um

I Konstanten- und Pr¨adikatensymbole

I Gleichheit

I Quantoren

I Dasnat¨urliche Schließen mit Quantoren

I Variablenbindungen— Umbenennungen bei Substitution

I Eigenvariablenbedingung

I Das n¨achste Mal: Gleichungenund nat¨urliche Zahlen

Referenzen

ÄHNLICHE DOKUMENTE

die in (a) und (b) genannten Gleichungen sind genau dieselben und werden durch BA1–BA4 axiomatisiert.. Die Umkehrungen zu (a) und (b) sind leicht nachzupr¨

Setzen Sie in die dann erhaltene, neue Gleichung überall für x den Wert 0 ein..

Ziel: Allgemeing¨ultigkeit ist vollst¨ andig in der Klasse der semi-entscheidbaren

Vorlesung vom 23.05.11: Prädikatenlogik erster Stufe.. Till Mossakowski &amp;

Formale Methoden der Softwaretechnik Vorlesung vom 23.05.11: Prädikatenlogik erster Stufe. Till Mossakowski &amp; Christoph Lüth Universität Bremen

I Damit: G¨ ultige (“wahre”) Aussagen berechnen....

I Logik h¨ oherer Stufe (HOL): alle endlichen Quantoren. I Keine wesentlichen Vorteile von

[r]