<<

PropositionalPropositional CalculusCalculus -- HilbertHilbert systemsystem HH Moonzoo Kim CS Division of EECS Dept. KAIST

[email protected] http://pswlab.kaist.ac.kr/courses/cs402-07

Intro. to 1 CS402 Fall 2007 ReviewReview

„ Goal of logic „ To check whether given a formula φ is valid „ To prove a given formula φ

Sound & Complete ` φ ≡ ² φ Syntactic method Semantic method (proof system G, H,etc) (, etc) S C o ≡ u & o d te m n ≡ n e d u l p & o p le Semantic S m t o e tableau C

Intro. to Logic 2 CS402 Fall 2007 ReviewReview (cont.)(cont.)

„ Remember the following facts „ Although we have many binary operators ({Ç,Æ,→,←,↔, ↓, ↑,⊕}), ↑ can replace all other binary operators through semantic equivalence. Similarly, {→, ¬} is an adequate of binary operators. „ 2 φ does not necessarily mean ² ¬φ „ Deductive proof cannot disprove φ (i.e. claiming that there does not exist a proof for φ) while semantic method can show both and satisfiability of φ „ Very few have decision procedure for validity check (i.e., truth table). Thus, we use deductive proof in spite of the above weakness. „ A proof tree in G grows up while a proof tree in H shrinks down according to characteristics of its rules „ Thus, a proof in G is easier than a proof in H in general Intro. to Logic 3 CS402 Fall 2007 SoundSound verificationverification toolstools

„ Suppose that „ there is a target software S „ there is a formal requirement R

„ We can make a state machine (automata) of S, say AS „ A state of AS consists of all variables including a program counter. „ Any state machine can be encoded into a predicate logic formual φ as „ We will see this encoding in the first order logic classes „ Program verification is simply to prove φ R AS ² „ For this purpose, we use a formal verification tool V so that φ ` R AS V „ We call V is sound whenever S has a bug, V always detects the bug „ φ R ⇒ φ R (iff φ ` R ⇒ φ R ) AS 2 AS 0V AS V AS ² „ We call V is complete whenever V detects a bug, that bug is a real bug. „ φ R → φ R (iff φ R ⇒ φ ` R) AS 0V AS 2 AS ² AS V „ In reality, most formal verification tools are just sound, not complete (I.e., formal verification tools may raise false alarms). However, for debugging purpose, is great.

Intro. to Logic 4 CS402 Fall 2007 TheThe HilbertHilbert systemsystem HH

„ Def 3.9 H is a deductive system with three schemes and one . „ For any formulas A,B,C, the following formulas are (in fact axiom schemata): „ Axiom1: ` (A → (B → A)) „ Axiom2: ` (A → (B → C)) →((A → B) → (A → C)) „ Axiom3: ` (¬B → ¬A)→ (A → B)) „ The rule of inference is called (MP). For any formulas A,B A A B ` B` → ` „ Note that axioms used in a proof in H are usually very long because the MP rule reduces a length of formula (see Thm 3.10) „ at least one premise (` A→ B) is longer than conclusion (B)

Intro. to Logic 5 CS402 Fall 2007 GG v.sv.s.. HH

„ GG isis aa deductivedeductive systemsystem forfor aa setset ofof formulasformulas whilewhile HH isis aa deductivedeductive systemsystem forfor aa singlesingle formulaformula „ GG hashas oneone formform ofof axiomaxiom andand manymany rulesrules (for(for 88 αα-- rulesrules andand 77 ββ--rules)rules) whilewhile HH hashas severalseveral axiomsaxioms (in(in factfact axiomaxiom schemes)schemes) butbut onlyonly oneone rulerule

Intro. to Logic 6 CS402 Fall 2007 DerivedDerived rulesrules

„ Def. 3.12 Let U be a set of formulas and A a formula. The notation U ` A means that the formulas in U are assumptions in the proof of A. If Ai ∈ U, a proof of U ` A may include an of the form U ` Ai „ Rule 3.13 Deduction rule U A B U∪{A }`B ` → „ Note that deduction rule increase the size of a formula, thus making a proof easier

Intro. to Logic 7 CS402 Fall 2007 SoundnessSoundness ofof deductiondeduction rulerule U A B premise ∪{ }` U A B conclusion ` → „ ThmThm 3.143.14 TheThe deductiondeduction rulerule isis aa soundsound derivedderived rulerule „ By induction on the length n of the proof U ∪ {A} ` B „ For n=1, B is proved in one step, so B must be either an element of U ∪ {A} or an axiom of H „ If B is A, then ` A→B by Thm 3.10 (` A → A), so certainly U ` A → B. „ Otherwise (i.e., B∈U or B is an axion), the following is a proof of U ` A → B

U ` B U ` B→(A→B) MP U ` A → B

Intro. to Logic 8 CS402 Fall 2007 SoundnessSoundness ofof deductiondeduction rulerule U A B premise ∪{ }` U A B conclusion ` →

„ For n>1, the last step in the proof of U∪{A}`B is either „ a one-step inference of B „ the result holds by the proof for n =1 „ an inference of B using MP. „ there is a formula C such that formula I in the proof is U ∪ {A} ` C and formula j is U ∪ {A} ` C → B, for I, j < n. By the inductive hypothesis U ` A → C and U ` A → (C → B). A proof of U ` A → B is given by U ` A → B U ` A→ (C U ` A→(C→B) → B MP

Intro. to Logic U ` A → B 9 CS402 Fall 2007 TheoremsTheorems andand derivedderived rulesrules inin HH

„ Note that any of the form U ` A → B justifies a derived rule of the form U A simply by using MP on A and A → B U `B ` „ Rule 3.15 Contrapositive rule U B A „ by Axiom 3 ` (¬B→¬A) → (A→B)) U`¬A→B¬ ` → „ Rule 3.17 Transitivity rule U A BUB C ` → ` → „ by Thm 3.16 ` (A→B)→[(B→C)→(A→C)] U A C ` →

„ Rule 3.19 Exchange of antecedent rule U A (B C) ` → → „ by Thm 3.18 ` [(A→ (B→C)] → [(B→(A→C)] U B (A C) Intro. to Logic 10 CS402 Fall 2007 ` → →