Survey

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Survey

Document related concepts

no text concepts found

Transcript

LOGIC IN COMPUTER SCIENCE: LECTURE 1 Neil D. Jones DIKU 2005 I Supplementary notes: see web page I Some slides today based on Nils Andersens’ (from 2004) PRACTICAL DETAILS ABOUT THE COURSE I Book: Logic in Computer Science 2nd Edition; by Michael Huth and Mark Ryan, Cambridge University Press, 2004. I The book has a WWW tutor page. I Mondays: lecture 09:15-11:00 I Wednesdays 09:15-12:00: • 2 hours lecture, • 1 hour discussion, eg exercises I Exercises assigned Monday and/or Wednesday, due following Monday (not optional, 5 out of 7 sets must be accepted for 7.5 ECTS points course credit) I Final exam optional, if you wish credit with a grade on the 13-scale. Week 44 (31 October or 2 November) —1 — INTRODUCTION. PROPOSITIONAL LOGIC I Why learn logic ? I History of logic I Formal logic as a science I The three worlds: • The real world • Proofs and theorems • Models and validity I Today: begin Propositional logic • Sentences • Natural deduction —2 — WHY LEARN LOGIC ? Correctness of constructed systems: telephones, computers (eg CPUs, floating point, cache, etc.), control systems for autos (e.g., ABS, emissions), factories, power plants (including nuclear), computer graphics, etc, etc, etc. I Traditional approach: debugging. (Build it first, then test, then release.) I Problem: too late, e.g., correcting an already-constructed system can be • expensive (eg, the Pentium floating-point unit fiasco) or • impossible (eg, an auto ABS system, airplane control, nuclear plant) I Prevention (of bugs) is better than cure Applied logic is showing its worth for describing, building and analysing complex systems (both harware and software). Many people are employed in applied logic, particularly in England, Germany, France and the United States. —3 — ROLES OF LOGIC Descriptive I Propositional logic, e.g., circuits I Predicate logic, e.g., theorems Values T, F or 0, 1 Values from a set, e.g., N I Temporal logic, e.g., protocols, systems Mainly control flow Analysis I Test freedom from errors, race conditions,. . . I Test other well-behavedness, e.g., of code from WWW I Test correctness with respect to specifications I Test equivalence, e.g., of circuits Synthesis I Transformation: Specification ⇒ Implementation I Formal reasoning, proofs —4 — LOGIC IN ANTIQUITY The science of inferring correctly. Some conclusions only depend on the form of the argument and not on the actual contents. Doesn’t deal with how humans think (psychology) or whether the statements actually agree with facts (theory of knowledge). Socrates (approx. 469–399), Plato (427–347), Aristotle (384–322). All M are P All S are M All S are P All P are M Some S are not M Some S are not P Syllogisms Four kinds of statements: All/Some . . . are/are not . . . two premises, a conclusion (256 “modes”, 19 (15) valid ones). —5 — LOGIC SYSTEMS Formalism. A “game” with symbols The actual (or imagined) world Logic ⊆ Philosophy, Logic ⊆ Mathematics. Circularity? Mathematics used in logic, but logic used in (or even founding?) mathematical reasoning. Desirable properties of a formal system: sufficiency (expressibility): Has formulas for the items that interest us. necessity : No superfluous symbols or notions. consistency : Two contradictory statements never concluded. soundness : Only true statements concluded. completeness : All true statements concluded. decidability : Checkable if a statement is concluded or not. —6 — MODERN FORMAL LOGIC Gottfried Wilhelm Leibniz (1646–1716). George Boole (1815–64). Gottlob Frege (1848–1925). Guiseppe Peano (1858–1932). Bertrand Russell (1872– 1970). Alfred North Whitehead (1861–1947). Michael R.A. Huth, Mark D. Ryan, Logic in Computer Science: Modelling and reasoning about systems, Cambridge University Press 2004. Symbols, formalism Real world (objects) proof, theorem, deduc- model, consequence, vation, ` p lidity, |= p, Alfred Tarski (1902–83) 1933 premises : allegedproof → statements∗ conclusion : allegedproof → statements checkproof : allegedproof → bool computable! —7 — THREE WORLDS, TWO VIEWS ON MODELING ' $ Engineering * & ' $ The real world & “model” in the - sense of science % HH % HH H HH H ' $ World of models, meanings & M HH H ' HH j H “model” in the sense of logic % |= $ World of logical formulas & % φ I Left side: scientific experiments, measurements, what is “out there”? Purpose: analytic, to understand nature. I Right side: specifications to define what is to be done! Purpose: synthetic, to construct systems. —8 — MODEL THEORY VERSUS PROOF THEORY M |= φ Model (or system) M satisfies statement φ (a formula) - This says something about how system M behaves - It is about validity or truth (Alfred Tarski, 1930s) Γ`φ Model M satisfies formula φ - This says that formula φ can be proven from assumptions Γ (dates back to the ancient Greeks) - It is about a formal system, not about truth Amazingly, these two approaches are often equivalent: One can prove: true properties about systems by means of : formal manipulation of symbols This is the central point of this course. (in spite of what sometimes looks like pedantic symbol pushing.) —9 — MODELING (|=) VERSUS PROVING (`) A major theme is the equivalence of the two: I Soundness: ` implies |=: What can be is true. I Completeness: |= implies `: What is true can be proven. Propositional logic: ` is equivalent to |=, but nontrivial (in spite of the simplicity of truth tables). Reason: SAT is NP-hard. Predicate logic: ` is equivalent to |=. However I ` and |= are undecidable. Further, I Gödel proved equivalence on universal models, but I Gödel also proved that ` is weaker than |= for arithmetic (the natural numbers) Model checking via temporal logic: I Weaker than Predicate logic (formulas have no variables) I Stronger in another way (temporal operator like “Finally”)) I There are several different temporal logics I Designed so that ` equals |= I - and there exist efficient algorithms called model checkers — 10 — PROPOSITIONAL LOGIC Judgements formed with propositional variables p, q, r, p1, . . ., and operators: Negation φ, −φ, ¬φ Disjunction Classically exclusive (lat. aut . . . aut . . . ), now always inclusive (lat. vel . . . vel . . . ), φ v ψ, φ ∨ ψ, φ + ψ Conjunction φ & ψ, φ · ψ, φψ, φ ∧ ψ Implication φ ⊃ ψ, φ < ψ, φ ⇒ ψ, φ → ψ Absurdity, contradiction 0, F, 6 ◦, Λ, ⊥ (bottom) Priorities: ¬ binds tighter than {∨, ∧}, We don’t decide on a priority between ∧ and ∨.) Other logical operators: Exclusive disjunction +, ⊕. Equivalence =, ≡, ⇔, ↔. W Tautology 1, T, , > — 11 — NATURAL DEDUCTION A sequent φ1, . . . , φn ` ψ Gerhard Gentzen (1909–45) The rules for conjunction φ ψ φ∧ψ ∧i φ∧ψ φ Example 1.4: p ∧ q, r ` q ∧ r ∧e1 φ∧ψ ψ ∧e2 Proof trees p∧q ∧e2 q q∧r Proofs in linear form 1 p ∧ q premise 2 r premise 3 q ∧e2 1 4 q ∧ r ∧i 3,2 — 12 — q ∧i THE RULES OF DOUBLE NEGATION ¬¬φ φ ¬¬e φ ¬¬φ ¬¬i (Later we shall see that the second rule can be derived from other rules.) Example 1.5: p, ¬¬(q ∧ r) ` ¬¬p ∧ r Example 1.6: (p ∧ q) ∧ r, s ∧ t ` q ∧ s — 13 — IMPLICATION Modus ponens (MP) φ→ψ φ →e ψ p, p → q, p → (q → r) ` r Introduce →: φ .. ψ φ→ψ →i Modus tollens (MT) φ→ψ ¬ψ ¬φ Example 1.7: p → (q → r), p, ¬r ` ¬q MT Example 1.8: ¬p → q, ¬q ` p; p → ¬q, q ` ¬p — 14 — EXAMPLE 1.9 ¬q → ¬p ` p → ¬¬q 1 2 3 4 5 ¬q → ¬p premise p assumption ¬¬p ¬¬i 2 ¬¬q MT 1,3 p → ¬¬q →i 3,2 Example 1.11: ` (q → r) → ((¬q → ¬p) → (p → r)) Example 1.13–1.14: p ∧ q → r a` p → (q → r) Example 1.15: p → q ` p ∧ r → q ∧ r — 15 — DISJUNCTION φ φ∨ψ ψ φ∨ψ φ∨ψ ∨i1 ∨i2 φ .. χ χ ψ .. χ ∨e p∨q `q∨p Example 1.16: q → r ` p ∨ q → p ∨ r Example 1.17: (p ∨ q) ∨ r ` p ∨ (q ∨ r) Example 1.18: p ∧ (q ∨ r) ` (p ∧ q) ∨ (p ∧ r) — 16 — NEGATION ⊥ φ ⊥e ¬φ φ Example 1.20: ¬p ∨ q ` p → q ¬e ⊥ φ .. ⊥ ¬φ ¬i Example 1.21: p → q, p → ¬q ` ¬p; p → ¬p ` ¬p Example 1.22: p → (q → r), p, ¬r ` ¬q Example 1.23: p ∧ ¬q → r, ¬r, p ` q — 17 — DERIVED RULES φ→ψ ¬ψ MT ¬φ φ ¬¬φ ¬¬i Reductio ad absurdum is PBC, Proof By Contradiction: ¬φ .. ⊥ PBC φ Tertium non datur (LEM, law of the excluded middle) φ ∨ ¬φ LEM Example 1.24: p → q ` ¬p ∨ q — 18 — PROVABLE EQUIVALENCE ¬(p ∧ q) a` ¬p ∨ ¬q ¬(p ∨ q) a` ¬p ∧ ¬q p → q a` ¬q → ¬p p → q a` ¬p ∨ q p ∧ q → p a` r ∨ ¬r p ∧ q → r a` p → (q → r) — 19 — INTUITIONISTIC LOGIC Luitzen Egbertus Jan Brouwer (1881–1966) Intuitionists claim PBC, LEM, ¬¬e are invalid. Theorem 1.26: There exist positive irrational numbers a and b such that ab is a rational number. Proof (not intuitionistically valid): Choose √ √ √2 1. a = b = 2, if 2 is rational, and √ √2 √ 2. a = 2 , b = 2 otherwise. — 20 —