15.08.2013 Views

General Computer Science 320201 GenCS I & II Lecture ... - Kwarc

General Computer Science 320201 GenCS I & II Lecture ... - Kwarc

General Computer Science 320201 GenCS I & II Lecture ... - Kwarc

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

least study the interplay of mathematical statements (which can be true or false) with the copula<br />

“and”, “or” and “not”.<br />

Semantic Properties of Boolean Expressions<br />

Definition 301 Let M := 〈U, I〉 be our model, then we call e<br />

true under ϕ in M, iff Iϕ(e) = T (write M |= ϕ e)<br />

false under ϕ in M, iff Iϕ(e) = F (write M |= ϕ e)<br />

satisfiable in M, iff Iϕ(e) = T for some assignment ϕ<br />

valid in M, iff M |= ϕ e for all assignments ϕ (write M |= e)<br />

falsifiable in M, iff Iϕ(e) = F for some assignments ϕ<br />

unsatisfiable in M, iff Iϕ(e) = F for all assignments ϕ<br />

Example 302 x ∨ x is satisfiable and falsifiable.<br />

Example 303 x ∨ ¬x is valid and x ∧ ¬x is unsatisfiable.<br />

Notation 304 (alternative) Write [e] M<br />

ϕ for Iϕ(e), if M = 〈U, I〉.<br />

(and [e] M , if e is ground, and [e], if M is clear)<br />

Definition 305 (Entailment) (aka. logical consequence)<br />

We say that e entails f (e |= f), iff Iϕ(f) = T for all ϕ with Iϕ(e) = T<br />

(i.e. all assignments that make e true also make f true)<br />

c○: Michael Kohlhase 175<br />

Let us now see how these semantic properties model mathematical practice.<br />

In mathematics we are interested in assertions that are true in all circumstances. In our model<br />

of mathematics, we use variable assignments to stand for circumstances. So we are interested<br />

in Boolean expressions which are true under all variable assignments; we call them valid. We<br />

often give examples (or show situations) which make a conjectured assertion false; we call such<br />

examples counterexamples, and such assertions “falsifiable”. We also often give examples for<br />

certain assertions to show that they can indeed be made true (which is not the same as being<br />

valid yet); such assertions we call “satisfiable”. Finally, if an assertion cannot be made true in any<br />

circumstances we call it “unsatisfiable”; such assertions naturally arise in mathematical practice in<br />

the form of refutation proofs, where we show that an assertion (usually the negation of the theorem<br />

we want to prove) leads to an obviously unsatisfiable conclusion, showing that the negation of the<br />

theorem is unsatisfiable, and thus the theorem valid.<br />

Example: Propositional Logic with ADT variables<br />

Idea: We use propositional logic to express things about the world<br />

(PLNQ ˆ= Predicate Logic without Quantifiers)<br />

Example 306 Abstract Data Type: 〈{B, I}, {. . ., [love: I × I → B], [bill: I], [mary: I], . . .}〉<br />

ground terms:<br />

g1 := love(bill, mary) (how nice)<br />

g2 := love(mary, bill) ∧ ¬love(bill, mary) (how sad)<br />

g3 := love(bill, mary) ∧ love(mary, john) ⇒ hate(bill, john) (how natural)<br />

Semantics: by mapping into known stuff, (e.g. I to persons B to {T, F})<br />

91

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!