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
1
Das Tagesmen¨ u
ILogik mitQuantoren
IVon Aussagenlogik zur Pr¨adikatenlogik
INat¨urliches Schließenmit Quantoren
IDie Notwendigkeit von Logik h¨oherer Stufe
2
Fahrplan
ITeil I: Grundlagen der Formalen Logik
IEinf¨uhrung
INat¨urliches Schließen, Aussagenlogik
IPr¨adikatenlogik 1. Stufe
IGleichungslogik und nat¨urliche Zahlen
ITeil II: Arbeiten mit Isabelle
ITeil III: Modellierung imperative Programme
3
Pr¨ adikatenlogik
IBeschr¨ankungder Aussagenlogik:
I Eine Zahlnist eine Primzahl genau dann wenn sie nicht 1 ist und nur durch 1 und sich selbst teilbar ist.
I Eine Zahlmist durch eine Zahlnteilbar genau dann wenn es eine Zahlp gibt, so dassm=n·p.
I Nichtin Aussagenlogkformalisierbar.
IZiel: Formalisierung von Aussagen wie
I AlleZahlen sind ein Produkt von Primfaktoren.
I Es gibtkeinegr¨oßte Primzahl.
4
Erweiterung der Sprache
ITermebeschreiben die zu formalisierenden Objekte.
IFormelnsind logische Aussagen.
IUnserAlphabet:
IPr¨adikatensymbole:P1, . . . ,Pn,= mit˙ Arit¨atar(Pi)∈N,ar( ˙=) = 2
IFunktionssymbole:f1, . . . ,fmmitArit¨atar(ti)∈N
IMengeXvonVariablen(abz¨ahlbar viele)
IKonnektive:∧,−→,false,∀,abgeleitet:∨,←→,¬,←→,∃
5
Terme
IMengeTermderTermegegeben durch:
I Variablen:X⊆ Term
I Funktionssymbolfmitar(f) =nundt1, . . . ,tn∈ Term, dann f(t1, . . . ,tn)∈ Term
I Sonderfall:n= 0, dann istfeineKonstante,f∈ Term
6
Formeln
IMengeFormderFormelngegeben durch:
Ifalse∈ Form
IWennφ∈ Form, dann¬φ∈ Form
IWennφ, ψ∈ Form, dann φ∧ψ∈ Form, φ∨ψ∈ Form, φ−→ψ∈ Form, φ←→ψ∈ Form
IWennφ∈ Form,x∈X, dann∀x.φ∈ Form,∃x.φ∈ Form
IPr¨adikatensymbolpmitar(p) =mundt1, . . . ,tm∈ Term, dann p(t1, . . . ,tm)∈ Form
ISonderfall:t1,t2∈ Term, dannt1=˙t2∈ Form
7
Beispielaussagen
IAlle Zahlen sind gerade oder ungerade.
IKeine Zahl ist gerade und ungerade.
IEs gibt keine gr¨oßte Primzahl.
IF¨ur jede Primzahl gibt es eine, die gr¨oßer ist.
IEine Funktionf ist stetig an der Stellex0, gdw. es f¨ur jedesε >0 ein δ >0 gibt, so dass f¨ur allexmit|x−x0|< δgilt|f(x)−f(x0)|< .
8
Freie und gebundene Variable
IVariablen int∈ Term,p∈ Formsindfrei,gebunden, oderbindend.
Ixbindendin∀x.φ,∃x.ψ
IF¨ur∀x.φund∃x.φistxin Teilformelφgebunden
IAnsonsten istxfrei
IFV(φ): Menge derfreienVariablen inφ IBeispiel:
(q(x)∨ ∃x.∀y.p(f(x),z)∧q(a))∨ ∀r(x,z,g(x))
9
Substitution
Its x
istErsetzungvonxdurchsint IDefiniert durch strukturelleInduktion:
ys x
def
=
s x=y y x6=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(t1s x
, . . . ,tns x )
(∀y.φ)s x
def
=
∀y.φ x=y
∀y.(φs x
) x6=y,y6∈FV(s)
∀z.((φh z y i
)s x
) x6=y,y∈FV(s) mitz6∈FV(s) (zfrisch)
10
Nat¨ urliches Schließen mit Quantoren
φ
∀x.φ∀I (∗) ∀x.φ φt
x ∀E (†)
I(*)Eigenvariablenbedingung:
xnichtfreiin offenen Vorbedingungen vonφ(xbeliebig)
I(†) Ggf.Umbenennungdurch Substitution
IGegenbeispielef¨ur verletzte Seitenbedingungen
11
Der Existenzquantor
∃x.φdef=¬∀x.¬φ
φt x
∃x.φ ∃I (†) ∃x.φ [φ]
... ψ
ψ ∃E (∗)
I(*)Eigenvariablenbedingung:
xnicht frei inψ, oder einer offenenen Vorbedingung außerφ I(†) Ggf.Umbenennungdurch Substitution
12
Zusammenfassung
IPr¨adikatenlogik: Erweiterung der Aussagenlogik um
IKonstanten- und Pr¨adikatensymbole
IGleichheit
IQuantoren
IDasnat¨urliche Schließenmit Quantoren
IVariablenbindungen— Umbenennungen bei Substitution
IEigenvariablenbedingung
IDas n¨achste Mal:Gleichungenundnat¨urliche Zahlen
13