Semantik formalisieren

Semantik der Aussagenlogik

Auswertungsfunktion der Aussagenlogik

B={f,t}\mathcal{B}=\{\mathbf{f}, \mathbf{t}\} Wahrheitswerte

I:AV↦BI: A V \mapsto \mathcal{B} Interpretation

I={I∣I:AV↦B}\mathcal{I}=\{I \mid I: A V \mapsto \mathcal{B}\} Environment


Auswertung von Aussagenlogische Formeln mit Interpretation festgelegt durch Funktion:

val : I×AF↦B \text {val : } \mathcal{I} \times \mathcal{A} \mathcal{F} \mapsto \mathcal{B} 

  1. val⁡I(A)=I(A)\operatorname{val}_{I}(A)=I(A)

    wenn A∈AVA \in A V

  1. val⁡I(T)=t\operatorname{val}_{I}(T)=\mathbf{t}

    wenn val⁡I(⊥)=f\operatorname{val}_{I}(\perp)= \mathbf{f}

  1. val⁡I(¬F)= not val⁡I(F) \operatorname{val}_{I}(\neg F)=\text { not } \operatorname{val}_{I}(F) 
  1. val⁡I((F∗G))=val⁡I(F)⊛val⁡I(G) \operatorname{val}_{I}((F * G))=\operatorname{val}_{I}(F) \circledast \operatorname{val}_{I}(G) 

    wobei ⊛\circledast die logische Operation zu ∗* ist.

Aussagenlogische Funktionen

Wichtig: Wir nutzen hier ≡\equiv um metasprachliche Äquivalenz auszudrücken.

Semantik der Prädikatenlogik

Ausdrucksstärke der Prädikatenlogik

  • Beispiel: Relation

    Prädikat: " RR ist eine Äquivalenzrelation" mit Signatur ⟨{R‾},{},{}⟩\langle\{\underline{R}\},\{\},\{\}\rangle lässt sich ausdrücken als F1∧F2∧F3F_{1} \wedge F_{2} \wedge F_{3} .

    F1=∀xR‾(x,x)F2=∀x∀y[R‾(x,y)⊃R‾(y,x)]F3=∀x∀y∀z[(R‾(x,y)∧R‾(y,z))⊃R‾(x,z)] \begin{aligned}&F_{1}=\forall x \underline{R}(x, x) \\&F_{2}=\forall x \forall y[\underline{R}(x, y) \supset \underline{R}(y, x)] \\&F_{3}=\forall x \forall y \forall z[(\underline{R}(x, y) \wedge \underline{R}(y, z)) \supset \underline{R}(x, z)]\end{aligned} 

Prädikatenlogische InterpretationI=⟨D,Φ,ξ⟩\small \mathcal I=\langle D, \Phi, \xi\rangle

Zur Erinnerung:

SignaturΣ\small \Sigmaals Menge von Symbolen

ModellstrukturD\small \mathcal Dals Beziehungen zwischen Symbol und Funktion für meaning-function

Prädikatenlogische Interpretation über Signatur Σ=⟨PSΣ,KSΣ,FSΣ⟩ \small \Sigma=\left\langle P S_{\Sigma}, K S_{\Sigma}, F S_{\Sigma}\right\rangle  :

D\small D Domäne

Φ\small \Phi Signaturinterpretation

Man übergibt der FunktionΦ\small \Phiein Symbol und erhält die jeweilige Funktion.

P∈PSΣ⟶Φ(P):Dn↦{f,t} \small P \in P S_{\Sigma} \longrightarrow \Phi(P): D^{n} \mapsto\{\mathbf{f}, \mathbf{t}\} 

c∈KSΣ⟶Φ(c)∈D \small c \in K S_{\Sigma} \longrightarrow \Phi(c) \in D 

f∈FSΣ⟶Φ(f):Dn↦D \small f \in F S_{\Sigma} \longrightarrow \Phi(f): D^{n} \mapsto D 

ξ\small \xi Variablenbelegung

ξ:IVS↦D\small \xi: I V S \mapsto D


Man sagt man interpretiert einen Ausdruck über eine (Modell-)StrukturD\small \mathcal{D}(zBZ,N,S\small \mathbb{Z}, \mathbb{N}, \mathbb{S}) und VariablenbelegungI\small I.

Jede PL-Interpretation I\small \mathcal I bestimmt eine Modellstruktur DI=⟨D;PD,KD,FD⟩ \small \mathcal{D}_{\mathcal{I}}=\left\langle D ; P_{D}, K_{D}, F_{D}\right\rangle  und Variablenbelegung:

Man erhält die Menge aller Funktionen für die Modellstruktur aus der PL-Interpretation, indem man alle Zeichen aus der Signatur in die Φ\small \Phi-Funktion einsetzt.

PD={Φ(P)∣P∈PSΣ} \small P_{D}=\left\{\Phi(P) \mid P \in P S_{\Sigma}\right\} 

KD={Φ(c)∣c∈KSΣ} \small K_{D}=\left\{\Phi(c) \mid c \in K S_{\Sigma}\right\} 

FD={Φ(f)∣f∈FSΣ} \small F_{D}=\left\{\Phi(f) \mid f \in F S_{\Sigma}\right\} 

Die Menge aller PL-Interpretationen I\small \mathcal I : PINTΣ\small PINT_{\Sigma}

Auswertungsfunktion für PL-Formeln

val⁡I:PINTΣ×PFΣ→{f,t} \operatorname{val}_{\mathcal{I}}: P I N T_{\Sigma} \times \mathcal{P} \mathcal{F}_{\Sigma} \rightarrow\{\mathbf{f}, \mathbf{t}\} 

  1. val⁡I(⊤)=t,val⁡I(⊥)=f \small \operatorname{val}_{\mathcal{I}}(\top)=\mathbf{t}, \operatorname{val}_{\mathcal{I}}(\perp)=\mathbf{f} 
  1. val⁡I(P(t1,…,tn))=Φ(P)(MT(ξ,t1),…,MT(ξ,tn)) \small \operatorname{val}_{\mathcal{I}}\left(P\left(t_{1}, \ldots, t_{n}\right)\right)=\Phi(P)\left(\mathcal{M}_{\mathcal{T}}\left(\xi, t_{1}\right), \ldots, \mathcal{M}_{\mathcal{T}}\left(\xi, t_{n}\right)\right) 
  1. val⁡I(s=t)=t \small \operatorname{val}_{\mathcal{I}}(s=t)=\mathbf{t} 

    genau dann wenn Mτ(ξ,s)=MT(ξ,t) \small \mathcal{M} \mathcal{\tau}(\xi, s)=\mathcal{M} \mathcal{T}(\xi, t)  sonst f\small \mathbf f .

  1. val⁡I(¬F)=¬val⁡I(F) \small \operatorname{val}_{\mathcal{I}}(\neg F)=\neg \operatorname{val}_{\mathcal{I}}(F) 
  1. val⁡I((F∧G))=val⁡I(F) and val⁡I(G) \small \operatorname{val}_{\mathcal{I}}((F \wedge G))=\operatorname{val}_{\mathcal{I}}(F) \text { and } \operatorname{val}_{\mathcal{I}}(G) 
  1. val⁡I((F∨G))=val⁡I(F) or val⁡I(G) \small \operatorname{val}_{\mathcal{I}}((F \vee G))=\operatorname{val}_{\mathcal{I}}(F) \text { or } \operatorname{val}_{\mathcal{I}}(G) 
  1. val⁡I((F⊃G))=val⁡I(F) implies val⁡I(G) \small \operatorname{val}_{\mathcal{I}}((F \supset G))=\operatorname{val}_{\mathcal{I}}(F) \text { implies } \operatorname{val}_{\mathcal{I}}(G) 
  1. val⁡I(∀vF)=t⟺val⁡I′(F)=t fu¨r alle I′∼vI \small \operatorname{val}_{\mathcal{I}}(\forall v F)=\mathbf{t} \Longleftrightarrow \operatorname{val}_{\mathcal{I}^{\prime}}(F)=\mathbf{t} \text { für alle } \mathcal{I}^{\prime} \stackrel{v}{\sim} \mathcal{I} 
  1. val⁡I(∃vF)=t⟺val⁡I′(F)=t fu¨r ein I′∼vI \small \operatorname{val}_{\mathcal{I}}(\exists v F)=\mathbf{t} \Longleftrightarrow \operatorname{val}_{\mathcal{I}^{\prime}}(F)=\mathbf{t} \text { für ein } \mathcal{I}^{\prime} \stackrel{v}{\sim} \mathcal{I} 


I′∼vI\small \mathcal{I}^{\prime} \stackrel{v}{\sim} \mathcal{I} bedeutet

I=⟨D,Φ,ξ⟩\small \mathcal{I}=\langle D, \Phi, \xi\rangle

I′=⟨D,Φ,ξ′⟩ \small \mathcal{I}^{\prime}=\left\langle D, \Phi, \xi^{\prime}\right\rangle 

Und das wiederum bedeutet ξ∼vξ′\small \xi \stackrel{v}{\sim} \xi^{\prime} :

Gleiche Variablenbelegung ξ(w)=ξ′(w)\small \xi(w)=\xi^{\prime}(w) für alle Variablen w∈IVS\small w \in IVS außer der Variable vv(alsov≠w\small v \ne w). Dennv\small vist die Variable die vom Quantor gebunden wurde.

Semantische Grundbegriffe

Formel F∈PFΣF \in \mathcal{P F}_{\Sigma}

(allgemein) gültig wenn für alle I∈PINTΣ\mathcal{I} \in P I N T_{\Sigma} immer val⁡I(F)=t\operatorname{val}_{\mathcal{I}}(F)=\mathbf{t}

Immer wahr - dann nennt man es "Tautologie"

Alle Interpretationen sind Modelle

erfüllbar wenn für mindestens eine I∈PINTΣ\mathcal{I} \in P I N T_{\Sigma} gilt val⁡I(F)=t\operatorname{val}_{\mathcal{I}}(F)=\mathbf{t}

Mind. bei 1 Fall wahr - dann nennt man es "Modell vonF"

widerlegbar wenn für mindestens eine I∈PINTΣ\mathcal{I} \in P I N T_{\Sigma} gilt val⁡I(F)=f\operatorname{val}_{\mathcal{I}}(F)=\mathbf{f}

Mind. bei 1 Fall falsch - dann nennt man es "Gegenbeispiel" / "Gegenmodell"

unerfüllbar wenn für alle I∈PINTΣ\mathcal{I} \in P I N T_{\Sigma} immer val⁡I(F)=f\operatorname{val}_{\mathcal{I}}(F)=\mathbf{f}

Immer falsch

Alle Interpretationen sind Gegenbeispiele

Bei einer Menge von Formeln FF : F⊆PFΣ\mathcal{F} \subseteq \mathcal{P F}_{\Sigma}

erfüllbar wenn für mindestens eine I∈PINTΣ\mathcal{I} \in P I N T_{\Sigma} gilt ∀f∈F:val⁡I(f)=t \forall f\in F: \operatorname{val}_{\mathcal{I}}(f)=\mathbf{t} 

widerlegbar wenn für mindestens eine I∈PINTΣ\mathcal{I} \in P I N T_{\Sigma} gilt ∀f∈F:val⁡I(f)=f \forall f\in F: \operatorname{val}_{\mathcal{I}}(f)=\mathbf{f} 

Für gegebene Modellstrukturen D\mathcal D und Signaturinterpretationen Φ\Phi - sind Formeln F∈PFΣF \in \mathcal{P F}_{\Sigma}

zB erfüllbar in D\mathcal D bezüglich Φ\Phi wenn es mindestens ein I\mathcal{I} gibt mit DI=D\mathcal{D_I=D} für das gilt val⁡I(F)=t\operatorname{val}_{\mathcal{I}}(F)=\mathbf{t} .

Dann heißt I\mathcal I bezüglich Φ\Phi ein Modell von D\mathcal D in FF für alle ξ\xi .

Satz

FF hat keine endlichen Modelle.

Für alle Interpretationen I\mathcal I folgt mit val⁡I(F)=t\operatorname{val}_{\mathcal{I}}(F)=\mathbf{t} , dass die Domäne DD unendlich ist.

Modellierung mit PL

Auswahl der Stelligkeit

Richtige Anzahl hängt vom Kontext ab

  • Beispiel

    " Max liest Zeitung "

    Mögliche Prädikate:

    (0-stellig) Max_liest_Zeitung \text {Max\_liest\_Zeitung }

    (1-stellig) Liest_Zeitung(max)\text{Liest\_Zeitung(max)}

    (2-stellig) Liest(max, zeitung)\text{Liest(max, zeitung)}

Formalisierung natürlicher Sprache

  • Eigenschafen → Nomen

    Immer die Nomen als Argument nutzen, nie Eigenschaften

    Vermeiden: Sokrates_ist(sterblich)\text{Sokrates\_ist(sterblich)}

    Sinnvol: Ist_sterblich(sokrates)\text{Ist\_sterblich(sokrates)}

  • Pronomen

    "max liebt mia - mia liebt max"

    Sinnvoll: Liebt(mia, max)∧Liebt(max, mia) \text{Liebt(mia, max)} \wedge \text{Liebt(max, mia)} 

  • Unbestimmte Fürwörter

    "Ich kann nichts sehen."

    ¬∃x Kann_sehen(chris, x) \neg \exists x \text { Kann\_sehen}(\text {chris, } x) 

  • Fürwörter, Bindewörter

    "Vor mir ist etwas großes und es ist hungrig."

    ∃x(Befindet_sich_vor(x, chris)∧Groß⁡(x)∧ Hungrig (x)) \exists x(\text {Befindet\_sich\_vor}(x, \text { chris}) \wedge \operatorname{Groß}(x) \wedge \text { Hungrig }(x)) 

  • Quantoren, Typen und Beziehungen

    "Jeder Student ist jünger als irgendein Professor."

    ∀x(Stud⁡(x)⊃∃y(Prof⁡(y)∧Ju¨nger⁡(x,y))) \forall x(\operatorname{Stud}(x) \supset \exists y(\operatorname{Prof}(y) \wedge \operatorname{Jünger}(x, y))) 

    "Alle vernünftigen Leute verabscheuen Gewalt"

    ∀x(Vernu¨nftig(x)⊃ Verabscheut(x, gewalt)) \forall x(\text {Vernünftig}(x) \supset \text { Verabscheut}(x, \text { gewalt})) 

    "Es gibt vernünftige Leute die Gewalt verabscheuen"

    ∃x( Vernu¨nftig (x)∧ Verabscheut (x, gewalt )) \exists x(\text { Vernünftig }(x) \wedge \text { Verabscheut }(x, \text { gewalt })) 

    Vertauschung von unterschiedlichen Quantoren

    "Jeder hat eine Mutter"

    ∀x∃y Mutter(y,x)\forall x \exists y \text { Mutter}(y, x)

    yy hängt vom gewählten xx ab

    "Jemand ist die Mutter von allen"

    ∃y∀xMutter⁡(y,x) \exists y \forall x \operatorname{Mutter}(y, x) 

    yy ist unabhänging vom gewählten xx

  • Funktionssymbole

    "Jedes Kind ist jünger als seine Mutter"

    ∀x∀y[(Kind⁡(x)∧Mutter⁡(y,x))⊃Ju¨nger⁡(x,y)] \forall x \forall y[(\operatorname{Kind}(x) \wedge \operatorname{Mutter}(y, x)) \supset \operatorname{Jünger}(x, y)] 

    Dadurch wird nicht berücksichtigt, dass jedes Kind eine biologische Mutter hat.

    Mutter sollte besser als Funktion aufgefasst werden, die jedem Kind seine eindeutig bestimmte Mutter zuordnet.

    ∀x(Kind (x)⊃Ju¨nger⁡(x, mutter (x)) \forall x(\text {Kind }(x) \supset \operatorname{Jünger}(x, \text { mutter }(x)) 

    Eindeutige Beziehung

  • Beschränkung der Anzahl

    "Eva hat höchstens 2 Söhne"

    ∃x∃y∀z(Sohn⁡(z, eva )⊃(z=x∨z=y)) \exists x \exists y \forall z(\operatorname{Sohn}(z, \text { eva }) \supset(z=x \vee z=y)) 

    "Kain hat mindestens 3 Söhne"

    ∃x∃y∃z(Sohn⁡(x, kain)∧Sohn⁡(y, kain)∧Sohn⁡(z, kain)∧x≠y∧x≠z∧y≠z) \exists x \exists y \exists z(\operatorname{Sohn}(x, \text { kain}) \wedge \operatorname{Sohn}(y, \text { kain}) \wedge \operatorname{Sohn}(z, \text { kain}) \\~~ \wedge ~x \neq y \wedge x \neq z \wedge y \neq z) 

Formalisierung formaler Inhalte

Nicht-totale Funktionen als nach-eindeutige Relationen

Relation R(x1,…,xn,xn+1)R\left(x_{1}, \ldots, x_{n}, x_{n+1}\right) ist nach-eindeutig in D\mathcal D wenn gilt:

∀y∀z∀x1⋯∀xn[(R(x1,…,xn,y)∧R(x1,…,xn,z))⊃y=z] \forall \textcolor{pink}y \forall \textcolor{pink}z \forall x_{1} \cdots \forall x_{n}\left[\left(R\left(x_{1}, \ldots, x_{n}, \textcolor{pink}y\right) \wedge R\left(x_{1}, \ldots, x_{n}, \textcolor{pink}z\right)\right) \supset \textcolor{pink}y=\textcolor{pink}z\right] 

Satz von Gödel, Church, Turing

Jede partiell berechenbare Funktion lässt sich über N\N ausdrücken.

Logisches Schließen

Schlüsse, Konsequenz, Theorien

F⊨IG\mathcal{F} \models_\mathcal{I} G

F1,…,Fn⊨IGF_{1}, \ldots, F_{n} \models_{\mathcal{I}} G

Immer wenn alle Prämissen / Annahmen in allen beliebigen Interpretationen I\mathcal I wahr sind, ist auch die Konklusion / Folgerung in I\mathcal I wahr.

Spezialfall:F={}:⊨G\mathcal{F}=\{\}: ~~\models GbedeutetGGist gültig.


GG folgt aus F\mathcal F genau dann wenn F∪{¬G}\mathcal{F} \cup\{\neg G\} unerfüllbar ist.

Semantisches Schließen

F1,…,Fn⊨GF_{1}, \ldots, F_{n} \models G genau dann wenn F1⊃(F2⊃⋯(Fn⊃G)⋯) F_{1} \supset\left(F_{2} \supset \cdots\left(F_{n} \supset G\right) \cdots\right)  bzw (F1∧⋯∧Fn)⊃G\left(F_{1} \wedge \cdots \wedge F_{n}\right) \supset G gültig ist.

Logische Äquivalenz

F↔GF \lrarr G wenn F⊨GF \models G und G⊨FG \models F

bzw ⊨(F⊃G)∧(G⊃F)\models(F \supset G) \wedge(G \supset F) .

Axiomatische Theorien

Eine Theorie ist eine Menge von Formeln.

Eine axiomatische Theorie T\mathcal T ist gegeben durch

eine Menge Axiome A\mathcal A

sodass T={F∣A⊨F}\mathcal{T}=\{F \mid \mathcal{A} \models F\}

Man sagt: A\mathcal A axiomatisiert T\mathcal T .

Wir wollen dass A\mathcal A möglichst endlich oder zumindest entscheidbar ist.

Theorie einer (Modell-)Struktur

Für jede Struktur I\mathcal I ist Th⁡(I)={F∣val⁡I(F)=t} \operatorname{Th}(\mathcal{I})=\left\{F \mid \operatorname{val}_{\mathcal{I}}(F)=\mathbf{t}\right\}  die Theorie.

Logische Unabhängigkeit (von anderen Formeln)

Eine Formel GG heißt unabhängig von der Formel-Menge F\mathcal F , wenn

F⊨G\mathcal{F} \models G und F⊨¬G\mathcal F \models \neg G nicht gelten.

Dafür muss man zwei Modelle I,I′\mathcal I, \mathcal I' finden für die gilt val⁡I(G)=f\operatorname{val}_{\mathcal{I}}(G)=\mathbf{f} und val⁡I′(G)=t\operatorname{val}_{\mathcal{I}^{\prime}}(G)=\mathbf{t} .