/afs/cs/project/pal/pal-courses-s00 CARNEGIE MELLON UNIVERSITY PROGRAM IN PURE AND APPLIED LOGIC LOGIC AND LOGIC-RELATED COURSES AND SEMINARS FOR SPRING 2000 21-229 Set Theory Instructor: Rami Grossberg MWF 12:30 SH 224 9 Units DESCRIPTION: This is an undergraduate course in set theory. The emphasis is on naive set theory. The intention of this course is to introduce the basic concepts and facts of set theory. Among them basic cardinal arithemtic, the cardinality of some important sets like the reals, borel sets and the cardinality of closed subset of the reals (Cantor-Bendixon theorem). Ordinals, transfinite induction. Equivalence of the Axiom of choice, the well ordering theorem and Zorn's lemma as well as few applications. PREREQUISITE: Only 21-127. TEXT OR REFERENCES: Karel Hrbacek and Thomas Jech, Intro to set theory. 21-602 Intro to Set Theory Instructor: Ernest Schimmerling MWF 1:30 BH 235A 12 Units Description: This is a first graduate course in set theory. The two main topics are constructibility and forcing. Students should have some background in naive set theory (cf. 21-229) and basic logic (cf. 21-700). The textbook is "Set Theory : An Introduction to Independence Proofs," by Kenneth Kunen. We will cover Chapters I and III-VII of the text in order, and refer back to Chapter II as needed. Our primary goal is the independence of the Continuum Hypothesis (CH). Working within the framework of Zermelo-Fraenkel Set Theory with the Axiom of Choice (ZFC), we will develop the theory of relations and functions, ordinal and cardinal numbers, transfinite recursion and induction, absoluteness and reflection, and closed-unbounded and stationary sets. Goedel's proof that CH holds in the Constructible Universe (L) will be studied in detail, as will forcing and Cohen's model in which CH fails. Some aspects of infinitary combinatorics, descriptive set theory, and large cardinals will be included as time permits. 21-603 Model Theory I Instructor: Rami Grossberg MWF 2:30 PH A19D 12 Units DESCRIPTION: Model theory is one of the four major branches of mathematical logic, and has a number of applications to algebra (e.g. field theory, number theory, and group theory). This course is the first in a sequence of three courses. The purpose of this course is to present the basic concepts and techniques of model theory with an emphasis on pure model theory. The main theorem of this course is Morley's theorem. It will be presented in a way that permits several powerful extensions. CONTENTS: Contents include: Similarity types, structures. Downward Lowenheim-Skolem theorem. Construction of models from constants, applications of the compactness theorem, model completeness, elementary decideability results, Henkin's omitting types theorem, prime models. Elementary chains of models, some basic two-cardinal theorems, saturated models (characterization and existence), basic results on countable models including Ryll-Nardzewski's theorem. Indiscernible sequences, and connections with Ramsey theory, Ehrenfeucht-Mostowski models. Introduction to stability (including the equivalence of the order-property to instability), chain conditions in group theory corresponding to stability/superstablity/omega-stability, strongly minimal sets, various rank functions, primary models, and a proof of Morley's categoricity theorem. Basic facts about infinitary languages, computation of Hanf-Morley numbers. PREREQUISITE: An undergraduate level course in logic. TEXT: Most of the material (and much more) appears in the following books: 1. C. C. Chang and H. J. Keisler, Model Theory, North-Holland 1990. 2. S. Shelah, Classification Theory, North-Holland 1991. I will not use a text, but will distribute my own notes on a weekly basis. 80-611 Computability & Incompleteness Instructor: Jeremy Avigad MW 11:30-12:50 DH 1217 12 Units Description: An introduction to the theory of computability and Godel's incompleteness theorems. Topics include formal models of computation (Turing machines, the lambda calculus, and the recursive functions), r.e. and universal r.e. sets, undecidability, formal systems, coding and self- reference, incompleteness,and the undefinability of truth. 21-700 Math Logic II Instructor: Ernest Schimmerling MWF 9:30 DH 1209 Description: This is an introductory level course on mathematical logic. The textbook we will use is ``The Incompleteness Phenomenon: A New Course in Mathematical Logic,'' by Martin Goldstern and Haim Judah. The paperback edition costs around $39. We will start near the beginning of the textbook, in chapter 1, so that students may become accustomed to notation that may differ from that used in Math Logic I. In fact, the course will be accessible to some students who have not taken Math Logic I. The only prerequisites are a familiarity with induction on the integers and truth tables, together with what is commonly called ``mathematical maturity''. We will move quickly with the goal of getting through the book even if it means omitting some sections. Homework assignments will be slightly challenging but grades will be generous. The course will cover many of the basics of modern mathematical logic. Always our focus will be first order logic. We will prove Godel's completeness theorem, which says that a theory is consistent in the proof theoretic sense iff it has a model. (Since the completeness theorem was covered in Math Logic I, students may be expected to fill in some of the details themselves.) Central results such as the compactness theorem and the Lowenheim-Skolem theorem will be included in our discussion of model theory. The highlight of the course will be Godel's 1931 incompleteness theorem, which in a specific sense says that no ``reasonable'' axiomatic system for mathematics is sufficient to derive all truths. This is often described as one of the most surprising and interesting results of the last century. Students who would like more information or would like to look at the textbook are encouraged to drop by my office. 80-713 Category Theory Instructor: Steve Awodey TR 3-4:20pm DH 2122 12 units Prerequisites: 80-310/610, 21-600, or equivalent Catalog Description: Category theory, a branch of abstract algebra, has found many applications in mathematics, logic, and computer science. Like such fields as elementary logic and set theory, category theory provides a basic conceptual apparatus and a collection of formal methods useful for addressing certain kinds of commonly occurring formal and informal problems, particularly those involving structural and functional considerations. This course is intended to acquaint students with these methods, and also to encourage them to reflect on the interrelations between category theory and the other basic formal disciplines. 21-804 Math Logic Seminar Instructor: Rami Grossberg Monday 4:30-6:00 Wean 8427 DESCRIPTION: The purpose of the seminar is to offer a forum for discussion of some recent developments in mathematical logic. We will concentrate in the areas of Model Theory and Set Theory. We will have weekly two hour meetings where faculty and students present papers (typically not authored by local people) at the level which will be appropriate to the level of participants (assume not much more than a first graduate course in mathematical logic). It is possible to take this seminar for credit, and in order to get a grade you will have to present at least one paper (usually 3 - 5 lectures). You may also be interested to participate passively (without giving a talk - not for credit). The structure is like a sequence of several mini-courses. Every few weeks the topic will be changed, and often the subjects of discussion are independent. 15-810 VERIFICATION OF CONCURRENT, REACTIVE, AND REAL-TIME PROGRAMS INSTRUCTOR: Edmund M. Clarke Monday 3:30-4:50 Wean Hall 4601 6 Units This course is a graduate level research seminar on automatic verification techniques for concurrent, reactive, and real-time programs. In addition to core material on model checking, new topics are covered each year, so some students may want to take the course more than once. Auditors are also welcomed. The prerequisites for the course are minimal--basic knowledge of elementary logic and automata theory. Students taking the class for graduate credit will be asked to prepare a short project and give one or two lectures. DETAILED COURSE DESCRIPTION: Logical errors in hardware controllers, communication protocols, and real-time programs are becoming an increasingly important problem. They can delay getting a new product on the market or cause the failure of some critical device that is already in use. The most widely used method for verifying such systems is based on extensive simulation and can easily miss significant errors when the program is very complicated. Many of these programs can be viewed as having only a finite number of states. When this is the case, an alternative verification technique called "model checking" may be used. In this approach specifications are expressed by automata or temporal logic formulas, and programs are modeled as state transition systems. An efficient search procedure is used to determine automatically if the specifications are satisfied by the transition system. The technique has been used in the past to find subtle errors in a number of non-trivial designs. Recently, the size of the state transition systems that can be verified by model checking methods has increased dramatically. By representing transition relations implicitly using Binary Decision Diagrams (BDDs), it has become possible to check some examples with more than 10^100 states! POSSIBLE TOPICS TO BE COVERED: 1. Modeling concurrent programs with state transition systems 2. Temporal logics 3. The mu-calculus and fixpoint theory 4. The basic model checking algorithm 5. Binary decision graphs and symbolic model checking 6. Using Omega-automata to specify properties of concurrent systems 7. Notions of equivalence for concurrent systems (observational equivalence, etc) 8. Compositional reasoning techniques (e.g. the "assume--guarantee" paradigm) 9. Exploiting abstraction and symmetry 10. Using induction to reason about systems with many similar processes 11. True concurrency and models based on partial orders 12. Extending model checking techniques to handle real-time programs 13. Model checking techniques for the mu-calculus 14. Model checking for security and electronic commerce protocols 15. New symbolic model checking algorithms that do not use BDDs. 15-812 Semantics of Programming Languages INSTRUCTOR: Stephen Brookes MWF 10:00-11:00 Wean 4615A DESCRIPTION: This course introduces foundational concepts and techniques of programming language semantics. As a ``starred'' course, it can be used by CS graduate students to fulfill their PL core requirement. We aim to demonstrate the utility of a scientific approach to programming languages in answering questions about the pro's and con's of various languages, about compiler correctness, and for many other practical purposes. We focus on two of the most successful styles of semantic description: denotational and operational. We deal with small ``core'' languages chosen to illustrate specific paradigms. Our approach is incremental, studying each feature in as simple a setting as possible to minimize the potential for confusion and bring out the key issues caused by the feature itself. We use a semantics to analyze programs, to design correct programs, and to prove general laws of program equivalence. TOPICS: Practical uses of semantics Sequential imperative programming (state transformations, axiomatics, jumps and continuations, compiler optimizations) Functional programming (types, polymorphism, call-by-name and call-by-value, continuation-passing style) Parallel imperative programming (shared-variable, communicating processes, dataflow networks, safety and liveness, fairness) Combining functional and imperative programming (Algol-like languages, ML-like languages, objects) Logic programming (if time permits) (unification and resolution, backtracking) REQUIREMENTS: Grading will be based on homeworks, a midterm examination, and a final examination. Homework will include both written and programming assignments. REFERENCES: Lecture notes will be handed out on a regular basis. The following texts are suggested for background reading: Reynolds, Theories of Programming Languages, Cambridge University Press, ISBN 0-521-59414-6 (1998). Winskel, The Formal Semantics of Programming Languages: An Introduction, MIT Press, ISBN 0-262-23169-7. Paulson, ML for the working programmer, Cambridge University Press, ISBN 0-521-39022-2. 15-819 SecA Denotational Semantics of Types Instructor: John Reynolds TTh 10:30-11:50 WeH 4601 12 Units DESCRIPTION: This will be a survey of the meanings given to type systems by denotational semantics using domains. Since the central problem is the perplexing variety of these meanings, we will look for connections and unifications among them. Ultimately, we want to know "What do types (and domains) really mean? The following is a tentative outline: Basic Domain Theory complete partial orders (CPO's) and continuous functions continuous, algebraic, and consistent CPO's products, coproducts, and exponentiation recursion and the least fixed-point theorem recursive types and the inverse limit construction The Simply Typed Lambda Calculus syntax and reduction rules reduction rules an intrinsic set-theoretic semantics an intrinsic domain-theoretic semantics the logical relations theorem The Untyped Lambda Calculus syntax and reduction rules domain-theoretic semantics Partial Equivalence Relations (PER's) PER's on the natural numbers PER's on domains an extrinsic semantics of typed lambda calculus using PER's directed complete relations and recursion relating intrinsic and extrinsic semantics problems with recursive types Retractions retractions, projections, and closures retraction semantics of types recursive types via retractions relating retractions and PER's: bracketing Information Systems (IS's) IS's as logics the connection with domains models of IS's recursively defined IS's qualitative domains and coherent spaces stable functions and the Berry ordering Intersection Types an intrinsic semantics using pullbacks an extrinsic semantics using IS's Polymorphic Types retraction models PER models parametricity TEXT: Class notes and papers to be supplied by the instructor. PREREQUISITES: CS 711 or permission of the instructor.