When designing a logical system, one has to start by distinguishing between logical expressions, which are the proper objects under study and whose interpretations remain fixed across models, and non-logical expressions, whose interpretations are permitted to vary from one model to the other. In particular, this distinction is crucial for the definition of logical truth as truth in all models. But are there principled ways to draw the line between logical and non-logical expressions? Consider any logical system, what is its natural repertoire of logical operations?

The aim of the course will be to review the semantic answers to these questions and to evaluate their consequences with respect to general questions in logic (such as functional completeness results), in linguistics (such as the semantic nature of `functional' or `grammatical' expressions) and in the philosophy of the formal sciences (why is logic different from mathematics?).

I will present the standard approach in terms of permutation invariance, which is generally credited to Tarski, and then introduce a generalized framework for the analysis of various invariance criteria. In particular, I will show how bisimulation invariance and invariance under potential isomorphism come out as natural notions of invariance for modal logic and first-order logic.

Course materials will be made available on my webpage:
http://lumiere.ens.fr/~dbonnay/