Logic for Verification
Jo˜ ao Martins August 4, 2012
- J. Martins ()
Logic for Verification August 4, 2012 1 / 96
Logic for Verification Jo ao Martins August 4, 2012 J. Martins () - - PowerPoint PPT Presentation
Logic for Verification Jo ao Martins August 4, 2012 J. Martins () Logic for Verification August 4, 2012 1 / 96 1 Introduction 2 Syntax 3 Semantics 4 Verification Truth Tables Resolution Natural Deduction 5 Beyond Propositional Logic
Logic for Verification August 4, 2012 1 / 96
Logic for Verification August 4, 2012 2 / 96
Introduction
Logic for Verification August 4, 2012 3 / 96
Introduction
Logic for Verification August 4, 2012 4 / 96
Introduction
Logic for Verification August 4, 2012 5 / 96
Introduction
Logic for Verification August 4, 2012 6 / 96
Introduction
Logic for Verification August 4, 2012 7 / 96
Syntax
Logic for Verification August 4, 2012 8 / 96
Syntax
Logic for Verification August 4, 2012 9 / 96
Syntax
Logic for Verification August 4, 2012 10 / 96
Syntax
Logic for Verification August 4, 2012 11 / 96
Syntax
Logic for Verification August 4, 2012 12 / 96
Syntax
1 Peter went to the doctor and got sick. 2 Peter is home sick 3 Peter is sick if he has the flue 4 Peter does not have flue if he does not have fever 5 Peter is home because he got sick 6 Peter stays home only if he is sick 7 Peter got sick, but has already been to the doctor 8 Being sick or going to the doctor make Peter annoying 9 If Peter went to the doctor because he is sick, then he’s not home 10 Peter goes to the doctor if he’s sick and Hannah is bored, unless the
Logic for Verification August 4, 2012 13 / 96
Syntax
Logic for Verification August 4, 2012 14 / 96
Semantics
Logic for Verification August 4, 2012 15 / 96
Semantics
Logic for Verification August 4, 2012 16 / 96
Semantics
Logic for Verification August 4, 2012 17 / 96
Semantics
Logic for Verification August 4, 2012 18 / 96
Semantics
Logic for Verification August 4, 2012 19 / 96
Semantics
Logic for Verification August 4, 2012 20 / 96
Semantics
1 a ∧ ¬a 2 a ∧ b 3 (a → b) ∧ (a ∧ ¬b)
1 a ∨ ¬a 2 a → (a ∨ b) 3 ¬(a ∨ b) → ¬a 4 ((a → b) ∧ a) → b
Logic for Verification August 4, 2012 21 / 96
Semantics
Logic for Verification August 4, 2012 22 / 96
Semantics
1 {¬(a ∧ b), a} |
2 {¬(a → b), ¬b} |
3 {a → b, ¬a → b} |
4 {a → b} |
5 {(a ∧ b) → c, d → a} |
Logic for Verification August 4, 2012 23 / 96
Semantics
Logic for Verification August 4, 2012 24 / 96
Semantics
Logic for Verification August 4, 2012 25 / 96
Semantics
Logic for Verification August 4, 2012 26 / 96
Semantics
Logic for Verification August 4, 2012 27 / 96
Semantics
Logic for Verification August 4, 2012 28 / 96
Semantics
Logic for Verification August 4, 2012 29 / 96
Semantics
1 ∨ C2, from which we conclude C ≡ C ′.
Logic for Verification August 4, 2012 29 / 96
Semantics
Logic for Verification August 4, 2012 30 / 96
Verification
Logic for Verification August 4, 2012 31 / 96
Verification
Logic for Verification August 4, 2012 32 / 96
Verification Truth Tables
Logic for Verification August 4, 2012 33 / 96
Verification Truth Tables
Logic for Verification August 4, 2012 34 / 96
Verification Truth Tables
s c l ¬c s ∧ ¬c (s ∧ ¬c) → l X X X 1 X X X 1 X X X 1 1 X X X 1 X X X 1 1 X X X 1 1 X X X 1 1 1 X X X
Logic for Verification August 4, 2012 35 / 96
Verification Truth Tables
s c l ¬c s ∧ ¬c (s ∧ ¬c) → l 1 X X 1 1 X X 1 X X 1 1 X X 1 1 X X 1 1 1 X X 1 1 X X 1 1 1 X X
Logic for Verification August 4, 2012 36 / 96
Verification Truth Tables
s c l ¬c s ∧ ¬c (s ∧ ¬c) → l 1 X 1 1 X 1 X 1 1 X 1 1 1 X 1 1 1 1 X 1 1 X 1 1 1 X
Logic for Verification August 4, 2012 37 / 96
Verification Truth Tables
s c l ¬c s ∧ ¬c (s ∧ ¬c) → l 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Logic for Verification August 4, 2012 38 / 96
Verification Truth Tables
Logic for Verification August 4, 2012 39 / 96
Verification Truth Tables
Logic for Verification August 4, 2012 39 / 96
Verification Truth Tables
Logic for Verification August 4, 2012 40 / 96
Verification Resolution
Logic for Verification August 4, 2012 41 / 96
Verification Resolution
Logic for Verification August 4, 2012 42 / 96
Verification Resolution
Logic for Verification August 4, 2012 43 / 96
Verification Resolution
Logic for Verification August 4, 2012 44 / 96
Verification Resolution
1 {aba, acc, qwertyuiopasdfghjklzxcvbnmd} 2 {ab, ab, cac} 3 {abc, ab, a, abc}
Logic for Verification August 4, 2012 45 / 96
Verification Resolution
1 ⊥ → a 2 (a ∧ b) ∨ (¬a ∧ ¬a) 3 (a → b) ∧ (a → ¬b) 4 (a ∨ b) ∧ ¬a ∧ (¬a ∧ ¬b)
Logic for Verification August 4, 2012 46 / 96
Verification Natural Deduction
Logic for Verification August 4, 2012 47 / 96
Verification Natural Deduction
Logic for Verification August 4, 2012 48 / 96
Verification Natural Deduction
Logic for Verification August 4, 2012 49 / 96
Verification Natural Deduction
Logic for Verification August 4, 2012 50 / 96
Verification Natural Deduction
Logic for Verification August 4, 2012 51 / 96
Verification Natural Deduction
Logic for Verification August 4, 2012 52 / 96
Verification Natural Deduction
Logic for Verification August 4, 2012 53 / 96
Verification Natural Deduction
Logic for Verification August 4, 2012 54 / 96
Verification Natural Deduction
Logic for Verification August 4, 2012 55 / 96
Verification Natural Deduction
Logic for Verification August 4, 2012 56 / 96
Verification Natural Deduction
Logic for Verification August 4, 2012 57 / 96
Verification Natural Deduction
Logic for Verification August 4, 2012 58 / 96
Verification Natural Deduction
Logic for Verification August 4, 2012 59 / 96
Verification Natural Deduction
Logic for Verification August 4, 2012 59 / 96
Verification Natural Deduction
Logic for Verification August 4, 2012 60 / 96
Verification Natural Deduction
Logic for Verification August 4, 2012 60 / 96
Verification Natural Deduction
Logic for Verification August 4, 2012 61 / 96
Verification Natural Deduction
Logic for Verification August 4, 2012 61 / 96
Verification Natural Deduction
Logic for Verification August 4, 2012 62 / 96
Verification Natural Deduction
Logic for Verification August 4, 2012 62 / 96
Verification Natural Deduction
1
2
3
4
5
6
7
8
9
10 ⊢ (a → (b → c)) → ((a → b) → (a → c)) 11 ⊢ a ↔ ¬¬a 12 ⊢ ((a → b)) ↔ (¬b → ¬a) 13 ⊢ a ∨ ¬a
Logic for Verification August 4, 2012 63 / 96
Verification Natural Deduction
Logic for Verification August 4, 2012 64 / 96
Verification Natural Deduction
Logic for Verification August 4, 2012 65 / 96
Verification Natural Deduction
Logic for Verification August 4, 2012 66 / 96
Verification Natural Deduction
Logic for Verification August 4, 2012 67 / 96
Verification Natural Deduction
Logic for Verification August 4, 2012 67 / 96
Beyond Propositional Logic
Logic for Verification August 4, 2012 68 / 96
Beyond Propositional Logic First Order Logic
Logic for Verification August 4, 2012 69 / 96
Beyond Propositional Logic First Order Logic
Logic for Verification August 4, 2012 70 / 96
Beyond Propositional Logic First Order Logic
Logic for Verification August 4, 2012 71 / 96
Beyond Propositional Logic First Order Logic
Logic for Verification August 4, 2012 72 / 96
Beyond Propositional Logic First Order Logic
1 A and B are sons of C 2 Since noone is its own ancestor, if A is an ancestor of B, then B isn’t
3 Sons of the same mother are brothers 4 No even number is a prime 5 Not all primes are odd 6 Any prime is equal to 2, or odd 7 Any transitive, anti-reflexive (binary) relation is anti-symmetric 8 Every hour someone is robbed. We’ll meet him today
Logic for Verification August 4, 2012 73 / 96
Beyond Propositional Logic First Order Logic
Logic for Verification August 4, 2012 74 / 96
Beyond Propositional Logic First Order Logic
Logic for Verification August 4, 2012 75 / 96
Beyond Propositional Logic First Order Logic
Logic for Verification August 4, 2012 75 / 96
Beyond Propositional Logic First Order Logic
1 ¬∀xA 2 ∃xA
Logic for Verification August 4, 2012 76 / 96
Beyond Propositional Logic First Order Logic
1 ¬∀xA 2 ∃xA
Logic for Verification August 4, 2012 76 / 96
Beyond Propositional Logic First Order Logic
Logic for Verification August 4, 2012 77 / 96
Beyond Propositional Logic Modal Logics
Logic for Verification August 4, 2012 78 / 96
Beyond Propositional Logic Modal Logics
Logic for Verification August 4, 2012 79 / 96
Beyond Propositional Logic Modal Logics
Logic for Verification August 4, 2012 80 / 96
Beyond Propositional Logic Modal Logics
Logic for Verification August 4, 2012 81 / 96
Beyond Propositional Logic Modal Logics
Logic for Verification August 4, 2012 81 / 96
Beyond Propositional Logic Modal Logics
Logic for Verification August 4, 2012 82 / 96
Beyond Propositional Logic Modal Logics
Logic for Verification August 4, 2012 83 / 96
Beyond Propositional Logic Dynamic Logic
Logic for Verification August 4, 2012 84 / 96
Beyond Propositional Logic Dynamic Logic
Logic for Verification August 4, 2012 85 / 96
Beyond Propositional Logic Dynamic Logic
Logic for Verification August 4, 2012 86 / 96
Beyond Propositional Logic Dynamic Logic
Logic for Verification August 4, 2012 87 / 96
Beyond Propositional Logic Dynamic Logic
Logic for Verification August 4, 2012 88 / 96
Beyond Propositional Logic Dynamic Logic
Logic for Verification August 4, 2012 89 / 96
Beyond Propositional Logic Dynamic Logic
Logic for Verification August 4, 2012 90 / 96
Beyond Propositional Logic Dynamic Logic
Logic for Verification August 4, 2012 91 / 96
Beyond Propositional Logic Hybrid systems and Differential Dynamic Logic
Logic for Verification August 4, 2012 92 / 96
Beyond Propositional Logic Hybrid systems and Differential Dynamic Logic
Logic for Verification August 4, 2012 93 / 96
Beyond Propositional Logic Hybrid systems and Differential Dynamic Logic
Logic for Verification August 4, 2012 94 / 96
Beyond Propositional Logic Hybrid systems and Differential Dynamic Logic
Logic for Verification August 4, 2012 95 / 96
Beyond Propositional Logic Hybrid systems and Differential Dynamic Logic
Logic for Verification August 4, 2012 96 / 96