### Coding and Definability in Computable Structures

Antonio Montalbán
2018 Notre Dame Journal of Formal Logic
In computable structure theory, we study the computational aspects of mathematical structures. We are interested in questions like the following: How difficult is it represent a certain structure? Which structures can be represented computably? How difficult is it to recognize a given structure? How can information be coded in the isomorphism type of a structure? How difficult is to compute certain relations on a structure, or perform certain constructions on it? We are particularly interested
more » ... n answers that connect computational properties with algebraic or combinatorial properties of the structure. Let K be a class of countable structures, like, for example, the class of all countable linear orderings. Let n be a natural number. The reader may start assuming n = 1, as this case is already interesting enough. In this course we will analyse the following two questions: Can we characterize all the relations on the structures of K that can be defined within n Turing jumps? How much information can be encoded into the (n − 1)th Turing jump of the structures in K? We will see that these two questions are closely connected. Furthermore, we will see that these questions are connected with other a structural property of the class K, namely the number of n-back-and-forth equivalence classes in K. The idea of the course is to introduce some basic concepts about computable structures and to develop all the background necessary to present the main result from [Mon10]. We will give lots of examples along the way. A large number of these examples will be about the class of linear orderings, as this is a class that has been well studied by computability theorist and that presents an interesting behavior. We will start the paper introducing the notions of Turing degree and degree spectrum of a structure. Then, in the second section, we will look at the information that is encoded on a structure and possible ways to decode it. Section 3 is about the relations that can be defined in a structure within a certain number of jumps. In Section 4 we will present a standard technique to build copies of a structures that we will use to prove some fundamental theorems from the previous sections. Then, in Section 5, we introduce the notion of the jump of a structure. Finally, in the last section, we will show the main theorem from [Mon10], that for a class of structures K and for a number n, either we can nicely characterize all the relations in the structures of K that are defined within n jumps, or we can (weakly) code any set in the (n − 1)st jump of some structure from K, but not both-either one or the other. This proof requires introducing the useful notion of n-back-and-forth relations.