# Formal Languages and Logic, Fall 2017

#### Jacobs University Bremen, Fall 2017, Herbert Jaeger

**Class sessions:**** Thursdays and Fridays** 9:45 – 11:00, East Hall 4

**Topics:** Formal languages, discrete automata,
first-order logic. This course gives an introduction to the most basic
themes of theoretical computer science. Formal languages and discrete
automata are the fundaments of programming languages and their parsing
and compiling. First-order logic is the basis of artificial
intelligence, program verification and advanced data base systems.

**Lecture notes***: self-contained, complete set of lecture notes (last update October 18, corrected some font conversion errors)*

**Further helpful documents:**

A collection of exercises and exams with solutions from 2003 (pdf)

A collection of exercises and exams with solutions from 2004 (pdf)

A collection of exercises and exams with solutions from 2005 (pdf)

The midterm and final exam questions with solutions, 2006 (pdf)

The final exam from 2010 with solutions (multiple choice format) (pdf)

**Additional reading:** a condensed intro to RDF,
written by Jan Wilken Dörrie. To be enjoyed at the end of the lecture
as this concerns a marriage between logic and grammars, of central
importance for “semantic web” techologies.

**Course culture. **The online lecture notes are a fully
self-contained, textbook-style, detailed text. All exam questions are
based solely on what is in the lecture notes. Thus, a student could
perfectly pass this course by just home-studying the lecture notes,
tuning his/her skills on the weekly homeworks, sit in the exams, and be
done without ever seeing me. Ooops. I *do* want to see my
students… Easy: I make classroom attendance mandatory. Ooops again -
mandatory boredom? Solution: (i) mandatory classroom presence, (ii)
mandatory pre-reading of the lecture note portion of the day, (iii) in
class I will only briefly rehearse the pre-read lecture note material,
making sure that everybody has a good grasp of it, and then (iv) I will
spend most of the classroom time telling you stuff that is related to
the lecture note material, but outside of it – stuff you will not find
in typical lecture notes: historical background, applications,
connections of computer science to other sciences, tricky problems and
open questions, math minitutorials, and more. This “extra” stuff will, I
hope, make attendance worth its while, although it is not
exam-relevant. You will, I hope very much, be amazed how deeply the
technical material of this lecture is connected to realities outside CS.

**Grading and exams:** Grading and exams: The final
course grade will be composed from homeworks (15%), presence sheets
(10%), and quizzes/exams. There will be four miniquizzes (written in
class, 20 minutes), the best three of which will each account to 15% of
the final grade (worst will be dropped), and one final exam, counting
30%. All quizzes and the final exam are open book. Each quiz or exam
yields a maximum of 100 points. The total semester points Pts_total are
computed as the weighted semester point average (each quiz points are
weighted by 0.15, the final by 0.30, etc.), and from Pts_total the final
grade is computed by the standard Jacobs formula.

Miniquiz makeup rules: if a miniquiz is missed without excuse, it will be graded with 0 points. An oral makeup will be offered for medically excused miniquizzes according to the Jacobs rules (especially, the medical excuse must be announced to me before the miniquiz). Non-medical excuses can be accepted on a case-by-case basis.

**References (optional! the online lecture notes suffice)**

- Hopcroft, John E., Motwani, Rajeev, and Ullman, Jeffrey:
*Introduction to Automata Theory*, 2nd (Addison-Wesley).*The standard textbook for most parts of this lecture, except for the logic part*. IRC: QA267 .H56 2001 -
Schoening, Uwe: Logic for Computer Scientists (Progress in Computer Science and Applied Logic, Vol 8), (Birkhauser). The book contains what its title suggests. IRC: QA9 .S363 1989

**Schedule (this will be filled in synchrony with reality as we go along)**

Sep 7 |
no class |

Sep 8 | no class |

Sep 14 | Introduction |

Sep 15 | Basic notions (lecture notes Section 2) (no homework this week) |

Sep 21 | Two kinds of infinity. Deterministic finite automata. Reading: Lecture notes Section 2 to end, Section 3 up to (including) example 3.2 Exercise sheet 1 |

Sep 22 | Nondeterministic finite automata. Reading: LN Section 3 up to Proposition 3.1 (including proof) |

Sep 28 | String search with DFAs. epsilon-NFAs. Moore- and Mealy Machines. Reading: LN Section 3.1 to end Exercise sheet 2 |

Sep 29 | Regular expressions and their equivalence with DFAs. Reading: LN Section 3.2 |

Sep 29, 19:15 | (make-up session, miniquiz 1, venue: CNLH) Finite-state dynamical systems (slides) |

Oct 5 | no class (make-up session on Sep 29, evening) |

Oct 6 | no class (make-up session to be announced) |

Oct 12 | Pumping Lemma and closure properties of regular languages. Reading: LN Sections 3.4, 3.5 Exercise sheet 3 |

Oct 13 | Myhill-Nerode theorem and table-filling algorithm to minimize a DFA. Reading: LN Section 3.6 |

Oct 19 | Grammars: basic definitions. Ambiguity. Grammars for regular languages. Reading: LN Sections 4.1, 4.2, 4.3 Exercise sheet 4 |

Oct 20 | Pushdown automata: definition and examples. No reading |

Oct 20, 19:15 | (make-up session for Oct 6, miniquiz 2, venue: CNLH) The world of XML Reading: LN 4.4 |

Oct 26 | PDAs: completing the picture. Chomsky Normal Form: basic idea. Reading: LN Section 4.5 (all) and Section 4.6 first four paragraphs (up to and excluding “Step 1”). Exercise sheet 5 |

Oct 27 | Chomsky Normal Form and the CYK algorithm. Reading: LN Section 4.6 and 4.8 (skip Section 4.7) |

Nov 2 | Introducing first-order logic: motivation. Signatures. Reading: LN Section 6, Section 7 up to (including) Example 7.2 Exercise sheet 6 |

Nov 3 | Syntax of FOL. Reading: LN Section 7.1 |

Nov 9 | Training session: formalizing parts of the real world in FOL. No reading. Exercise sheet 7 |

Nov 10 | Semantics of FOL: S-structures. Reading: LN Section 7.2 up to Def. 7.7. |

Nov 16 | S-interpretations and logical entailment. Reading: LN Section 7 complete Exercise sheet 8 |

Nov 17 | (Miniquiz 3: we meet in CNLH -
19:15, will take about 25 min. The morning lecture takes place as usual)
Training session: Playing with S-structures, S-expressions, and
interpretations. No reading. |

Nov 23 | The sequent calculus. Reading: LN Section 8 up to the summary table of derivation rules Exercise sheet 9 |

Nov 24 | Derivations. Reading: LN Section 8, complete |

Nov 30 | Derivation - finishing. Exercise sheet 10 |

Dec 1 | Training session: Playing with derivations. No reading. |

Dec 7 | Completeness of FOL: importance and sketch of proof idea. |

Dec 8 | (Miniquiz 4: CNLH - 19:15 The morning lecture takes place as usual) (Online course evaluation - please bring your favourite internet access box!). |

Dec 19 | Final exam 12:30 - 14:30, CNLH |