599C LAST LECTURE: DISCUSSION POINTS Do you use concepts/results from finite model theory in your research? Feel free to bring this up throughout this lecture. Classical model theory is about arbitrary models (including infinite). Computer science only cares about finite. Discuss applications of results in classical model theory that are useful to CS. Goedel proved a completeness theorem and an incompleteness theorem. Discuss and contrast them. Discuss: "completeness theorem" v.s. "complete theory" v.s. "decidable theory". Discuss the relationship between 0/1 laws and the Erdos-Renyi random graph G(n,p). Explain the principle of how games are used to prove that expressibility results for a logic language. Discuss the meaning of the parameter "k" in Ehrenfeucht-Fraisse games v.s. pebble games; illustrate with the pairs of structures L_n and L_{n+1} on one hand, and C_2n and (C_n \cup C_n) on the other hand. What is a "type"? Discuss the main properties of Second Order Logic and it's restrictions. Discuss consequences of Trakhtenbrot's theorem. Review the notions of "finite model property" and "small model property"; give examples. What logics capture these complexity classes? AC0, NLOGSPACE, PTIME, NP, PSPACE. Where do we need order? Review/discuss the connection between the following problems: (1) the homomorphism problem, (2) constraint satisfaction, (3) conjunctive query evaluation, (4) conjunctive query containment. What is a tree decomposition? What is "tree width"? What is the connection to variable elimination? Discuss the role of semirings in finite model theory.