Date: Wednesday, 20-Nov-96 23:19:42 GMT
Server: NCSA/1.3
MIME-version: 1.0
Content-type: text/html
Last-modified: Wednesday, 13-Nov-96 20:05:42 GMT
Content-length: 6267
Logic and Formal Methods
Comp. Sci. 691M: Logic and Formal Methods, Fall, 1996
Meeting Times: MW 9:05-10:20, LGRC: A339
Instructor: Neil Immerman
Aim of the Course: We will provide introductions to propositional,
predicate, and modal logics. These will be studied and used throughout the
course as tools for the specification and verification of properties of
programs and protocols.
Topics:
- First-Order Logic: propositional logic, predicate logic,
completeness and compactness theorems, semantics via quantifier games,
Gödel's incompleteness theorem.
- Modal logic: temporal logic and logics of knowledge, axiomitization,
semantics via Kripke structures.
- Applications: (These may change slightly according to the background and
interests of the students.)
- Evolving Algebras: due to Gurevich et. al., this offers an operatonal
semantics for programming languages and protocols via finite logical
structures.
- Temporal Logic of Actions: Lamport's system of specification and
verification via temporal logic
- Distributed Protocols: we will use logics of knowledge to express
correctness and security of distributed protocols.
- Model Checking: using temporal logic to verify properties of systems
- Symbolic Model Checking: using ordered binary decision diagrams (OBDDs)
to symbolically represent and model-check huge Kripke structures.
Requirements: Students will be expected to participate in class.
There will be three problem sets concerning the introductory material on
first-order and modal logic. Each student will choose a more advanced
topic to study in detail. He or she will write a short paper and give a
lecture on this topic.
Texts: For first-order logic, we will follow Logic and
Structure, Third Edition, by Dirk van Dalen, Springer-Verlag. This is
available at the Jeffery Amherst College Store in downtown Amherst.
For the rest of the course, we will follow selected research papers.
Prerequisites: Sufficient mathematical sophistication. If you are
unsure whether you have it, try looking at van Dalen and/or come
talk with me.
Notes and Handouts:
- Notes:
Sept. 4, 1996
- Notes:
Sept. 9, 1996
- Notes:
Sept. 11, 1996, plus first problem set, Due: 9/25/96
- We have finished Propositional Logic and begun Predicate Logic. See:
Notes:
Sept. 16, 1996
- On Wednesday, Oct. 2, I proved the Completeness Theorem and the
Compactness Theorem for predicate logic. You should have read van Dalen
through page 118. Note that in this course we are only interested in the
countable case, so you do not need to worry about larger cardinalities nor
do you have to remember Zorn's lemma.
- On Monday, Oct. 7, I introduced Ehrenfeucht-Fraisse games. These are
the best and most pleasant way to figure out what can and cannot be
expressed in first-order logics. By then you should have read the handout
pebble games
from my forthcoming book, Descriptive Complexity.
- On Wednesday, Oct. 9, I finished the introduction to Predicate Logic. By now,
please skim the rest of Chapter 3 of van Dalen. Topics that you should pay
particular attention to are: substructures, isomorphism, elementary
equivalence, and skolemization.
- Second
Problem Set, Due: Oct. 16, 1996
- On Oct. 16 I introduced Evolving
Algebra. Please read the
Evolving
Algebra Tutorial, and the paper guide.ps. These are available as
postscript files from anonymous FTP site, ftp.eecs.umich.edu, directory
/groups/Ealgebras, files tutorial.ps and guide.ps.
- On Oct. 21, I concluded my presentation of Evolving Algebras, using
the paper, "Why Use Evolving Algebras for Hardware and Software
Engineering," by Egon Börger, Proc. SOFSEM'95, Springer LNCS. Also
available on the Evolving
Algebra Homepage. I also talked briefly about Denotational Semantics,
using Denotational Semantics by Joseph Stoy, 1977, M.I.T. Press,
Chapter 9, by way of comparison.
- On Oct. 23, 28, and 30, I will give a three-lecture introduction to modal logics,
emphasizing temporal logic and logics of knowledge. Please read the article by
Vardi, ``Why is Modal Logic So Robustly Decidable?'' which I handed out. I
will also use some material from the book by Fagin, Halpern, Moses, and Vardi,
Reasoning about Knowledge, 1995, M.I.T. press.
- On Monday, Nov. 4, I will talk about about an interesting paper that uses
logic of knowledge to discuss security in distributed systems:
A
Logic of Authentication by Burrows, Abadi, and Needham. Please read
this paper before the class.
- On Wednesday, Nov. 6 through Monday, Nov. 18, I will talk about Lamport's
Temporal Logic of Actions.
- You might want to look at the following webpage which has many
pointers to work going on in formal methods: Formal Methods Pointers
- On Wednesday, Nov. 20, I will start talking about Computation Tree
Logic and Model Checking. For a preview, take at look at the following homepage:
Model
Checking at CMU.
- Available slots for student lectures are: Nov. 27, Dec. 2, Dec. 4, and
Dec. 11. I suggest that you get your reservations in early!
- There will be no class on Monday, Dec. 9.