CS510 Software Engineering
Propositional Logic
- Asst. Prof. Mathias Payer
Department of Computer Science Purdue University TA: Scott A. Carr Slides inspired by Xiangyu Zhang http://nebelwelt.net/teaching/15-CS510-SE
CS510 Software Engineering Propositional Logic Asst. Prof. Mathias - - PowerPoint PPT Presentation
CS510 Software Engineering Propositional Logic Asst. Prof. Mathias Payer Department of Computer Science Purdue University TA: Scott A. Carr Slides inspired by Xiangyu Zhang http://nebelwelt.net/teaching/15-CS510-SE Spring 2015 Additional
Department of Computer Science Purdue University TA: Scott A. Carr Slides inspired by Xiangyu Zhang http://nebelwelt.net/teaching/15-CS510-SE
Mathias Payer (Purdue University) CS510 Software Engineering 2015 2 / 60
Mathias Payer (Purdue University) CS510 Software Engineering 2015 3 / 60
Syntax of propositional logic
1
2
3
4
5
Mathias Payer (Purdue University) CS510 Software Engineering 2015 4 / 60
Syntax of propositional logic
Mathias Payer (Purdue University) CS510 Software Engineering 2015 5 / 60
Syntax of propositional logic
Mathias Payer (Purdue University) CS510 Software Engineering 2015 6 / 60
Semantics of propositional logic
1
2
3
4
5
Mathias Payer (Purdue University) CS510 Software Engineering 2015 7 / 60
Semantics of propositional logic
Mathias Payer (Purdue University) CS510 Software Engineering 2015 8 / 60
Semantics of propositional logic
Mathias Payer (Purdue University) CS510 Software Engineering 2015 9 / 60
Semantics of propositional logic
Mathias Payer (Purdue University) CS510 Software Engineering 2015 10 / 60
Semantics of propositional logic
Mathias Payer (Purdue University) CS510 Software Engineering 2015 11 / 60
Semantic entailment
1
2
3
4
5
Mathias Payer (Purdue University) CS510 Software Engineering 2015 12 / 60
Semantic entailment
Mathias Payer (Purdue University) CS510 Software Engineering 2015 13 / 60
Semantic entailment
Mathias Payer (Purdue University) CS510 Software Engineering 2015 14 / 60
Semantic entailment
Mathias Payer (Purdue University) CS510 Software Engineering 2015 15 / 60
Semantic entailment Natural deduction of proof system
Mathias Payer (Purdue University) CS510 Software Engineering 2015 16 / 60
Semantic entailment Natural deduction of proof system
Mathias Payer (Purdue University) CS510 Software Engineering 2015 17 / 60
Semantic entailment Natural deduction of proof system
Mathias Payer (Purdue University) CS510 Software Engineering 2015 18 / 60
Semantic entailment Natural deduction of proof system
Mathias Payer (Purdue University) CS510 Software Engineering 2015 19 / 60
Semantic entailment Natural deduction of proof system
Mathias Payer (Purdue University) CS510 Software Engineering 2015 20 / 60
Semantic entailment Natural deduction of proof system
Mathias Payer (Purdue University) CS510 Software Engineering 2015 21 / 60
Semantic entailment Natural deduction of proof system
Mathias Payer (Purdue University) CS510 Software Engineering 2015 22 / 60
Semantic entailment Natural deduction of proof system
Mathias Payer (Purdue University) CS510 Software Engineering 2015 23 / 60
Semantic entailment Natural deduction of proof system
Mathias Payer (Purdue University) CS510 Software Engineering 2015 24 / 60
Semantic entailment Natural deduction of proof system
Mathias Payer (Purdue University) CS510 Software Engineering 2015 25 / 60
Semantic entailment Natural deduction of proof system
Mathias Payer (Purdue University) CS510 Software Engineering 2015 26 / 60
Semantic entailment Natural deduction of proof system
Mathias Payer (Purdue University) CS510 Software Engineering 2015 27 / 60
Semantic entailment Natural deduction of proof system
Mathias Payer (Purdue University) CS510 Software Engineering 2015 28 / 60
Semantic entailment Soundness and completeness
Mathias Payer (Purdue University) CS510 Software Engineering 2015 29 / 60
Validity and Satisfiability
1
2
3
4
5
Mathias Payer (Purdue University) CS510 Software Engineering 2015 30 / 60
Validity and Satisfiability
Mathias Payer (Purdue University) CS510 Software Engineering 2015 31 / 60
Validity and Satisfiability
Mathias Payer (Purdue University) CS510 Software Engineering 2015 32 / 60
Validity and Satisfiability
Mathias Payer (Purdue University) CS510 Software Engineering 2015 33 / 60
Validity and Satisfiability
Mathias Payer (Purdue University) CS510 Software Engineering 2015 34 / 60
Validity and Satisfiability
Mathias Payer (Purdue University) CS510 Software Engineering 2015 35 / 60
Validity and Satisfiability Conjunctive normal forms
Mathias Payer (Purdue University) CS510 Software Engineering 2015 36 / 60
Validity and Satisfiability Conjunctive normal forms
Mathias Payer (Purdue University) CS510 Software Engineering 2015 37 / 60
Validity and Satisfiability Conjunctive normal forms
Mathias Payer (Purdue University) CS510 Software Engineering 2015 38 / 60
Validity and Satisfiability Conjunctive normal forms
Mathias Payer (Purdue University) CS510 Software Engineering 2015 39 / 60
Validity and Satisfiability Conjunctive normal forms
1
2
3
Mathias Payer (Purdue University) CS510 Software Engineering 2015 40 / 60
Validity and Satisfiability Conjunctive normal forms
Mathias Payer (Purdue University) CS510 Software Engineering 2015 41 / 60
Validity and Satisfiability Conjunctive normal forms
Mathias Payer (Purdue University) CS510 Software Engineering 2015 42 / 60
Validity and Satisfiability Conjunctive normal forms
Mathias Payer (Purdue University) CS510 Software Engineering 2015 43 / 60
Validity and Satisfiability Conjunctive normal forms
Mathias Payer (Purdue University) CS510 Software Engineering 2015 44 / 60
Validity and Satisfiability Conjunctive normal forms
Mathias Payer (Purdue University) CS510 Software Engineering 2015 45 / 60
Validity and Satisfiability Conjunctive normal forms
Mathias Payer (Purdue University) CS510 Software Engineering 2015 46 / 60
SAT Solver
1
2
3
4
5
Mathias Payer (Purdue University) CS510 Software Engineering 2015 47 / 60
SAT Solver
Mathias Payer (Purdue University) CS510 Software Engineering 2015 48 / 60
SAT Solver
Mathias Payer (Purdue University) CS510 Software Engineering 2015 49 / 60
SAT Solver
Mathias Payer (Purdue University) CS510 Software Engineering 2015 50 / 60
SAT Solver
Mathias Payer (Purdue University) CS510 Software Engineering 2015 51 / 60
SAT Solver
1
2
3
Mathias Payer (Purdue University) CS510 Software Engineering 2015 52 / 60
SAT Solver
∧ ¬ ¬ ∧ ¬ ¬ ¬ q p
Mathias Payer (Purdue University) CS510 Software Engineering 2015 53 / 60
SAT Solver
∧ ¬ ∧ ¬ ¬ ∧ q p
Mathias Payer (Purdue University) CS510 Software Engineering 2015 54 / 60
SAT Solver
¬ ∧ ¬ ∧ ¬ ¬ ∧ q p
Mathias Payer (Purdue University) CS510 Software Engineering 2015 55 / 60
SAT Solver
Mathias Payer (Purdue University) CS510 Software Engineering 2015 56 / 60
SAT Solver
1
2
3
4
5
Mathias Payer (Purdue University) CS510 Software Engineering 2015 57 / 60
SAT Solver
∧ ¬ ¬ ∧ q r ∧ ¬ ∧ q r ¬ ∧ ¬ q r
4T 4F 5T 5F 5F 6T 6T 6T 6T 6T 6T 6T 7T 7T 7T 7T 8T 8T 8T
Mathias Payer (Purdue University) CS510 Software Engineering 2015 58 / 60
SAT Solver
∧ ¬ ¬ ∧ q r ∧ ¬ ∧ q r ¬ ∧ ¬ q r 1T 2T 2T 3F 3F 4T 4T 4T 5F 5F 5F 6F 6T 7T 7T 8F
Mathias Payer (Purdue University) CS510 Software Engineering 2015 59 / 60
SAT Solver
Mathias Payer (Purdue University) CS510 Software Engineering 2015 60 / 60