Announcement
- No class on Feb 8th (due to Korea Conference on Sofware Engineering (KCSE) 2012).
- Mid-term exam on March 27 (Tues) 9:00 - 11:00 AM
- We have a class on April 17, but no class on April 19 (due to IEEE Intl. Conf. on Software Testing, Verification and Validation (ICST)).
- Make-up class on May 2nd (Wed) 8:00 PM
- HW#5 deadline is delayed to May 29th (Tue) 11:59 PM.
- Final exam: May 22nd 9:00 - 12:00 AM
Administrative Information
- Instructor: Moonzoo Kim
Office: 2434 (located at the east wing)
Phone: 042-350-3543
E-mail: moonzoo@cs.kaist.ac.kr
Office hour: 3:00-4:30 Mon, 10:30 - 12:00 Tues
- Teaching assistants: Shin Hong and YoungJoo Kim
- Lecture room: Rm#3445 (a.k.a. Lecture room #6)
- Lecture hours: 9:00-10:30 Tues/Thur
-
Grading: attendance, quiz, class participation: 20%, HW: 30%, midterm exam.: 25%, final exam.: 25%
- Late HW is accepted with 20% penalty in 1 day, 40% penalty in 3 days. HW will not be accepted after that.
- You should submit both hadcopy and softcopy. Missing either format will receive 10% penalty.
- More than 8 absences of class will get F grade
- Late attendance is considered as 1/3 absence, so to start class on time.
- Note: The official language in the class is English. All students should submit homework and exam in English.
-
Pre-requisite:
- CS204 Discrete mathematics
- basic understanding of Unix/Linux shell and utilities and C programming (this course does NOT provide support for tool installation and error handling during tool usage)
- CS 402 BBS at NOAH: All class attendants are encouraged to write questions or comments on the class at the BBS.
Course Material
Main text:
- "Mathematical Logic for Computer Science" by M.Ben-Ari, Springer, 2nd Edition
- "Logic in Computer Science" by M.Huth and M.Ryan, Cambridge university press, 2nd edition
- Ch 2-3
Recommended reading list:
- "A Mathematical Introduction to Logic" by H.B.Enderton, Academic Press, 2nd edition
- "Logic and Structure" by D.V.Dalen, Springer, 4th edition
Course Schedule
Wk 1: Introduction
- Feb 7: Administrative Introduction
- Feb 14: "Intro. to logic (1/2)"
- Feb 16: "Intro. to logic (2/2)"
- Feb 21: Propositional logic - semantics (1/3)
- Feb 23: Propositional logic - semantics (2/3)
- Feb 28: Propositional logic - semantics (3/3)
- Mar 6: Propositional normal forms
- Mar 8: Prop. logic application 1: How to solve Sudoku?
- Mar 13: Prop. logic application 2: How to Test/Verify my C program?
- Mar 15: Propositional logic - deductive systems (natural deduction), Propositional logic -deductive Systems (Gentzen system g)
- Mar 20: Propositional logic -deductive Systems (Hilbert system H))
- Mar 22: Propositional logic- soundness and completeness of H
Wk 8: Midterm exam
- Apr 3: Predicate logic - semantics (1/3)
- Apr 5: Predicate logic - semantics (2/3)
- Apr 10: Predicate logic - semantics (3/3)
- Apr 12: First order theories, Examples of First Order Theories
- Apr 17: Pred. logic application 1: SMT lib
- Pred. logic application 2: Concolic testing
- Apr 24: Predicate logic - semantic tableau (1/2), Predicate logic - semantic tableau (2/2)
- Apr 26: Predicate logic - natural deduction (1/2), Predicate logic - natural deduction (2/2)
- May 2: Undecidability of Predicate Logic
- May 3: Temporal logic (1/2), Temporal logic (2/2)
- May 3: Temporal logic- model checking, Temporal logic -NuSMV example
- May 8: temporal-logic5.pdf Temporal logic - branching time logic (1/2)
- May 10: Temporal logic - branching time logic (2/2)
- May 15: Temporal logic - LTL, CTL, and CTL*
Homeworks
Resources
- Wikipedia
- SAT competition 2007 (look at input format section)
- Minisat
- The Quest for Efficient Boolean Satisfiability Solvers
- Cygwin: a linux-like platform for Windows
- MikTek: the best typesetter for mathematical/logical formulas
- CBMC: A bound model checker based on SAT solver for C programs
- Table of mathematical symbols from Wikipedia
- NuSMV