 So it's really a great pleasure for me to introduce Olivia Caramello, who is in University of Insubria in Como, and all the Gelfand chair in the EHOS. And I mean, who contributed so much, you know, to the theory of toposis. And she will talk about introducing, if you want, the geometric theory of toposis, and the new theory of relative toposis, which with respect to the logical aspect of toposis theory, will surely play a fundamental role in extending the theory to higher order logics. So Olivia, it's your turn. Thank you so much for this excellent introduction. So yes, as Alain said, this course is going to be a geometric introduction to topos theory by using the language of the shifts and stacks in relation with relative topos theory. And by this, I mean, doing the topos theory over an arbitrary base topos. So authorizing a change of the base topos in a similar way as Grottenbeek used to do in algebraic geometry with things. Relativity techniques for schemes play a central role in his re-foundation of algebraic geometry and we are trying to develop a similar formalism for toposis. So the plan of the talk is this. So I shall start this course by reviewing the classical theory of shifts on topological space. In fact, it is quite important to take this as a starting point also with the purpose of developing relative topos theory because we wanted to keep the geometric foundations at the center. And so we infect one of the central ingredients of our approach to relative topos theory will be an adjunction, which provides a wide generalization of the very classical pre-shift bundle adjunction. For topological space. So it is important also to understand these new developments to start from the very classical theory of shifts on topological space and pre-shift more generally. Then I shall proceed to recalling the basic theory of shifts on a site. So we shall get to the definition of the Grottenbeek topos as any category equivalent to the category of shifts on a small site. Then I will make a methodological interlude on the technique of toposis. Because it will be applied both in this course to derive results and also in other lectures or talks at this conference. Especially to derive concrete results in different mathematical contexts by exploiting the possibility of presenting a given topos in multiple ways. So this is a sort of the basic technique that can be used for extracting concrete knowledge from toposis or more precisely from equivalences between toposis presented in different ways or morphisms between the opposite again presented in different ways. So as when we do relative topos theory actually we are concerned with the study of morphisms of toposis because what is a relative topos? Well, it's just a topos which we decided to consider over another topos via a morphism connecting with it. So basically doing relative topos theory essentially amounts to studying morphisms between toposis. And so we shall investigate morphisms between toposis from the point of view of site presentations of toposis. So we shall describe how one can induce morphisms between toposis starting from functions satisfying the suitable properties. We shall see that there are two main classes of functions which induce in a contra variant or in a covariant way morphisms between the associated topos. These are the so-called morphisms and comorphisms of sites. In fact, the morphisms of sites represent an algebraic point of view on morphisms of toposis while comorphisms represent a geometric viewpoint. And in fact, we shall see that they are in a sense dual to each other. Then I shall also review a classical notion already introduced by Grotendick of the function of between sites, the notion of a continuous function between sites, which in fact plays an important role in the context of the vibrations, which are very important for developing relative topos theory. We shall see that whenever one has a morphism of the vibrations, this gives rise to a comorphism of sites in a canonical way, which is more of a continuous. So continuous comorphisms of sites, as we shall see, induce a special kind of morphism between toposis, the so-called essential morphisms, which satisfy pleasant features. And so in preparation for the last part of the course, we shall describe these continuous functions also in relation with the vibration. And then, as I said, the last part of the course will give an introduction to our working progress with Riccardo Zanza on developing relative topos theory by using the language of stacks. So we shall take, as a starting point, Giro's paper, classifying topos, where the notion of classifying topos of stack was originally introduced. We shall extend many of its results. And then we shall also turn our attention to relative shift topos, so we shall introduce a notion of relative site. And we shall also compare our approach with the usual more classical one that has been pursued by category theories, which is based on the notion of internal category and internal site. So we shall see that this formalism of stacks and relative sites is much more flexible than internal categories and internal sites. It allows parametric reasoning. And it will also pave the way, as Alan has mentioned, to an extension of geometric logic, which is, as Loran explained in his course, the logic underlying groten-dictopos is overset to some higher-order geometric logic provided by the fact that we can change the base topos. And so this will allow us to quantify over parameters essentially coming from the base topos in a certain way, which is still to be made precise, but these are developments that we are pursuing at the moment. And so I will present you some of the results we have already obtained in this connection on relative toposes. For the moment, we have mostly focused on the geometric side of the subject. But then, once all the geometric aspects will be completely clarified, we shall also introduce a higher-order relative parametric geometric logic corresponding to relative. Okay, so this is the plan, and so now we can start with recalling the theory of pre-shifts and shifts on etopological space. Okay, so the etopological space, what is a pre-shift on the space? A pre-shift is simply a way of functorially assigning an open to any open set of the space, a set. In a contravariant way, so in a functorial contravariant way, so we want that to any inclusion of open sets corresponds to a function going in the opposite direction. In addition, in fact, traditionally is called a restriction map because the idea one has when the basic example of a pre-shift one has in mind is that of all continuous functions on some open set of a given space. You see that if you pass from an open set to a smaller open set, you can restrict continuous functions on that open set to the smaller open set. And so you see that in this way to an inclusion of open sets corresponds a map going in the other direction from continuous maps on the big open sets to continuous maps on the smaller one given just by restriction. Of course, in general, you can have pre-shifts or even shifts which do not look at all like this, but this example of continuous functions or other kind of functions on a space has been one of the motivating examples in the development of the theory. And so these maps are still called frequently in the literature restriction maps. Okay, so we have said what the pre-shift is. Then of course there is a natural notion of morphism between pre-shifts, which is simply a collection of maps between the sets corresponding to the open sets, which is compatible with respect to the restriction map. Now, the way I have presented pre-shifts so far is very concrete and explicit, but in fact, categorically speaking, one can simply say that the pre-shift is just a factor defined on the opposite of the category of open sets of the space with values. So O of X is a post-set category whose objects are the open sets of the space and whose arrows are just the inclusions between them. So using this language, we can rephrase what the morphism of free shifts is as just a natural transformation between the corresponding functions. So we have a category of pre-shifts on X, which is denoted as written in the slides. So it is basically a category of set valued sum. Okay, so now we are going to define shifts as particular kinds of pre-shifts. So a shift is a pre-shift which satisfies some gluing conditions. So what do I mean by gluing conditions? The idea is that one should be able to define in a unique canonical way a certain global data starting from a set of local data that are compatible with each other. So this idea of gluing from compatible local data is expressed formally by these two conditions in the definition of. So formally the condition refers to coverings of a given open set of the space by a family of open subset. So the gluing condition is formulated with respect to such covering families. So for each such covering family, one requires that whenever one has a set of elements of the pre-shift indexed by open sets in the family, which is compatible, which satisfies these compatibility conditions. You see this is expressed by the fact that their restrictions on the intersections of the two open sets are equal. Then there should be a unique amalgamation of this local data, a unique global data, which restricts to each of these local data. The uniqueness of such a global data is ensured by condition one. So condition one ensures the uniqueness, condition two ensures the existence. So together we have uniqueness and existence of a global amalgamation of a set of locally compatible data. Okay, so now as we did for pre-shifts, we might wonder if it is possible to categorify the notion of shift on a topological space. Now there are a few remarks that we need to make in order to arrive at such a categorical generalization. First of all, we remarked that the shift condition is expressed as we said we respect to covering families of open sets of the space by families of open sets. So if we want to replace the category of open sets of our space with an arbitrary category, and if we want to be able to formulate a shift condition, we need to have a collection of families of arrows going to a given object which should provide a replacement for coverings of an open set by a family of sub-open sets. This, as we shall see, will be provided by the notion of a growth in the topology on a category. This is the first ingredient. Then there is another element which requires some thought in order to arrive at the categorical generalization. It is what you see in condition to concerning the compatibility relation you see for the local data which involves the topological setting considering intersections of open sets. So of course in general in an arbitrary category you will not be able to have an analogue of that. But by using the categorical notion of a sieve we can get around this problem and we will be able to define shifts on any category equipped with a growth in the topology by using this device. I shall give the details in a moment. But for the moment I just wanted to remark that basically three shifts can be just defined as contravariant functors on a category with a losing set. So we don't need any additional data on the category. On the other hand to define shifts we need to specify a collection of covering families and this will be provided by a notion of growth in the topology. Okay, so just a few remarks before going to the categorical generalization. So categorically speaking we can reformulate the shift condition as an equalizer condition because we can consider, so our pre-shifts have values in sets. We can consider arbitrary products and so we have canonical maps as written on the slides. And so you realize immediately that you can formulate the shift condition for a pre-shift as the condition that the canonical map going from f of u to the product of the f of ui where the ui form a covering of u. This canonical map should be the equalizer of the two canonical maps between these two products. And yeah, so it's important to remark that in fact the shift condition is actually a limit kind of condition in the category of sets. And secondly in preparation for the categorical generalization it's important to remark that by using the technical device of shifts we can avoid referring to intersections for formulating the gluing condition. So how does one do this? So given a covering family f of open subset ui of an open set u, you generate a sieve starting from that which in this case will be the collection of all the open sets of u which are contained in some ui. And so by doing this you can basically rephrase the compatibility condition by requiring instead of a family of elements indexed by the open sets in the covering family, you take a family of elements indexed by all the open sets in the sieve. And the compatibility relation becomes the relation that whenever you have an open set w prime included into w, you should get the equality between the value at w restricted at w prime and the value at w prime. So you see that in this way you have eliminated the reference to intersections and so you can see that by using this idea of sieves of taking everything which is below everything which is essentially generated by composition on the right from a certain family of arrows because you can regard this inclusion as arrows in the category of open sets of x. You can avoid referring to intersections and so you can already understand why it is possible to define sieves on an arbitrary category equipped with an essentially arbitrary notion of covering families in it as it will be provided by a so-called growth index. So now we shall go in more details about all of this, but before this I would like to give some examples of the sieves. So I have already mentioned the main motivating example provided by continuous functions on the topological space. Of course, sieves are used in many other areas of mathematics in the context of the differential geometry, analysis, differential algebraic geometry, etc. So for instance, you have sieves of regular functions on a variety of differentiable functions and the differentiable manifolds of allomorphic functions on a complex manifold, etc. In mathematics, sieves arise in many different contexts. Very frequently, sieves appear as endowed with more structure than just the set theoretical one. In fact, for instance, in algebraic geometry, one has a sheaths of modules or sheaths of rings, even sheaths of local rings, etc. So far we have talked about the sheaths of sets and in fact there is a good reason for taking as starting point the sheaths of sets rather than sheaths of more complicated type of structures or even more general structures. In fact, Grotendick himself realized about the importance of first talking about the sheaths of sets in order to have better categorical properties when you consider the whole category of sheaths of sets on an on a topological space or more generally on a side. Because if you replace sets with another category, in many cases you lose some pleasant categorical properties. So it is good to define categories of sheaths of sets. And then try to understand sheaths of more complicated structures as relative to these sheaths of set valued structures. So formally the way this is done, at least for geometric theories in the sense which has been explained by Locang in his lectures is you look for instance at a sheath of models of a certain geometric theory. In particular it could be sheaths of modules or sheaths of rings, sheaths of local rings, etc. You regard this as a model of the theory of such structures, a model of the theory of modules of rings of local rings formalized within geometric logic inside the category of sheaths of sets on the space or the side. So this is the way we can naturally deal with these sheaths of more complicated structures. So yes, this is an important remark to make from a formal view point. Okay, now let's proceed to talk about this fundamental adjunction between pre-sheaths and bundles on a topological space which I mentioned in the introduction of my talk. So after this we shall describe sheaths on a side. Okay, so how does this very classical adjunction work in the topological setting? So first we define given a topological space X a bundle over S simply as a continuous map towards X. We have of course a category of bundles which is simply the slice category. So the top here denotes the category of topological spaces and continuous maps and here I am taking the slice category over X. So then the objects are arrows going to X continuous maps towards X and the arrows are commutative triangles. Okay, now why is it interesting to consider bundles in relation with sheaths? Well, because there is a very nice construction which allows us to build a sheath from an arbitrary bundle through the consideration of the so-called cross sections of the bundle. So given an open set of our space X, a cross section over this open set of a bundle is simply a continuous map defined on that open set going to the domain of the bundle such that when it is composed with the bundle map it gives the inclusion of the open set into the space. So of course you can collect all the cross sections over a given open set in a set and this gives a set, the set of all cross sections over the given open set U. And if you think a minute about this you realize that this operation is factorial in a contra variant way in the open set because if you switch from an open set U to an open set V contained in U, you get the restriction operation because you can restrict a cross section over U to a cross section over V. This is completely clear. So in this way you actually get a factor, a contra variant factor on the category of open sets of X with values in set, namely a pre-sheath. And it is not hard to show that this pre-sheath is actually a sheath and this is called the sheath of cross sections of the bundle T. So given the fact that we can build ships from bundles it is natural to wonder if one can go in the other direction as well. And this is possible through the construction of the so-called bundle of germs of a pre-sheath. So suppose that you started with a pre-sheath on a space X, you can build the bundle out of this by considering germs of sections of the pre-sheaths at the points of the space. So first we have to define what a germ is at a given point of the space. So a germ is an equivalence class of sections defined over open neighbors of the point. And the equivalence relation is what I have written in these slides. So two sections are equivalent in an open neighborhood hub. Of course the open neighborhoods are different so they are considered equivalent if there is some open neighborhood of the point contained both in U and in V on which their restrictions agree. So of course this is an equivalence relation so we can take equivalence classes and we can do this for each point of the space. And so if we fix the point and we take the collection of all germs at this point we get what is called the stalk of the pre-sheath at the given point. And of course we can consider the disjoint union of all the stalks. So it is a union indexed by the points of X. And of course we have a projection map to X which is defined in the obvious way so it takes just the point on which the germs are defined. And we can topologize the domain of this projection map in such a way that it becomes a local homeomorphism. And so what we get is actually what is called the bundle of germs of the given pre-sheath. Okay so now we have two constructions one going in one direction the other one going in the conversed direction and in fact what happens is that so we have these two functors gamma which is the functor of the cross sections and lambda which is the functor going giving the bundle of germs. And in fact these two functors form an adjoint pair so lambda is adjoint on the right. On the left sorry and gamma is actually a global section, well it's a section functor. So in particular if you can apply it to the space itself in this case you get the global sections of the bundle. And so in fact a key result is that this adjunction actually restricts to an equivalence of categories where you have on the one hand sheaths so the pre-sheaths which satisfy the sheath condition and on the other hand some particular bundles which can be characterized as being the etal bundles or also called local homeomorphism. So in fact the restriction of this adjunction is what you get by restricting to the fixed points, fixed points of the adjunction. So in general whenever you have an adjunction you can restricted to an equivalence of categories by restricting to the fixed points. So this is a general process and if you apply it in this case this is what you get. So this is very nice because it allows us to geometrically think about sheaths as particular kinds of bundles, namely the etal bundles. This has several pleasant consequences concerning the geometric understanding of the number of constructions on sheaths and pre-sheaths. So in particular I would like to point out two of these nice insights that such an adjunction brings out. So first of all the sheathification process. If you take most books on Topos Fury you will see that the sheathification is described by using the plus-plus construction which is a technical means of constructing this, but not necessarily very geometrical intuitive. So thanks to this adjunction one has a more geometric understanding of the sheathification process. Because in fact we can think, we can describe the sheathification of a given pre-sheath as simply the result of applying successively the two functions of forming the adjunction. So basically the sheathification of a pre-sheath is simply given by the sheath of cross sections of the bundle of germs of the pre-sheath. You see that this is geometrically much more satisfying because you really get a geometric substance, you get a geometric understanding of what the elements of the sheathification really are. So it's not just a formal portion construction but you have a geometric realization of such elements. And we shall come back to that because in fact we shall be able to get a generalization of this in the context of an arbitrary site and even in the context of the stock. So just keep in mind for the moment these features because we shall then provide the generalization in the categorical and stock theoretic setting. Okay, so we have talked about the sheathification geometrically understood. There are also other advantages of this point of view of sheaths as a tail bundle. For instance, suppose you have a continuous map between topological states and suppose you want to describe the effect on sheaths of such a continuous map. Of course, there is a direct image of sheaths which is defined in a striped forward way basically just composed with the action of the continuous map on open sets of the two spaces. So this is completely striped forward but suppose you want to understand the inverse image of sheaths along this continuous map. Well, this is not completely striped forward if you want to do it in the language of sheaths. We shall see that you can do it by using a can extension for instance. But here by using the identification between sheaths and the tail bundles you have a very nice simple description because taking inverse images of sheaths on Y along F corresponds precisely to take the tool back. Along F of the etal bundles corresponding to these sheaths. So in fact, one can show that taking the pullback of an etal bundle still gives an etal bundle. And so this is how the inverse image operational sheaths actually works. So you see that really this adjunction brings some very nice geometric intuition in the picture. So it has been a question for several years whether one could find a good analog of this working for arbitrary sites or even possibly extending to stats. And in fact, in our joint work with Ricardo Zanfa we have indeed provided such a generalization, not just for pre-sheaths but more generally for indexed categories. So this will be described in the last part of the quiz. Okay, so now that we have talked about this fundamental adjunction, we can go to the categorification of sheaths. So how to define sheaths on an arbitrary site. So for this, as I already anticipated, it is necessary to talk about sheaths because you see sheaths were fundamental for giving a notion of compatible family of local data without requiring the intersection property. You remember about that. So it is a technical device that is essential for defining sheaths in the general categorical setting. So formally, what is a sieve in a category? Well, given a category and an object of this category, a sieve in the category on that object is simply a collection of arrows in the category towards that object, which is closed under composition on the right. So the condition is that whenever an arrow is in the sieve, the composite of this arrow with an arbitrary arrow should again be in the sieve. So you see this is a categorical generalization of the condition we had for topological spaces. We wanted the sieve to contain any other smaller open set, you see, and here we get the condition that it should be closed under composition on the right, which is just the categorification of it. Okay, so sieves are very nice objects, in fact, because you can make a lot of operations on sieves. In fact, you can understand the sieves more abstractly as the sub-objects of the corresponding representable functor in the category of pre-sheaves. So this is an abstract understanding of sieves as sub-functors of representable functors, but you can avoid that point of view. You can reason about the sieves in a perfectly concrete way. So in particular, you can compute pullbacks of sieves, which give rise again to sieves. So here is the operation. So if you have a sieve on an object and an arrow going to that object, you can pull the sieve back along this arrow to get another sieve. So these sieves consist of all the arrows which, when composed with the given arrow, belong to the sieve. So it's a very naturally defined operation, and in fact it really corresponds to taking a pullback in the corresponding pre-sheave topos. But as you see, you have a perfectly concrete description of this operation without involving pre-sheaves. Okay, so now that we have talked about sieves, we can introduce the fundamental notion of a grotendic topology on a category, which will be the basic setting for us to define sheaves. So a grotendic topology is a way of assigning two objects of a category, a collection of sieves on those objects in such a way that some natural conditions are satisfied. So the first condition is called the maximality axiom. So it requires the maximal sieve on each object to be in the topology. So of course, this is quite intuitive. So of course, the maximal thing should be covering. It's quite natural. And we have a second axiom, which is quite important. It's called the stability axiom. So it requires that the pullback of any covering sieve should be covering. Again, this is quite intuitive. In fact, in the topological setting, it corresponds to the fact that if you have a covering of a certain open set by a family of open subsets, when you pass from that open set to a smaller open set, and you intersect each of the open sets in the family with that one, you still get a covering of the smaller open set. So this is stability. So you see that in the topological setting it is satisfied. So it is natural to require it as well on an arbitrary category. Then you have the so-called transitivity axiom, which says that whenever you have a sieve such that the pullbacks of this sieve along all the arrows of the covering sieve is covering, then the sieve itself should be covering. Okay, so this axiom is a bit less important than the other ones, especially the maximality axiom you can always make it hold without any problems. But the stability axiom is really the crucial axiom to have. In fact, for defining sieves, basically you just need maximality and stability. And because then you can generate the groten-dictopology starting from those, and it will have exactly the same sieves. So basically not all the axioms of groten-dictopology have the same statutes. In fact, the most important one is really the stability axiom. In any case, one often works with the basis for groten-dictopologies or some smaller presentations for groten-dictopologies. And in general, it is important to dispose of techniques for computing groten-dictopologies presented by some families of sieves. There are formulas for this. In my book, for instance, you can find a formula for computing the groten-dictopology generated by an arbitrary collection of sieves and some other techniques for computing topologies starting from basis satisfying certain properties. So in general, it is an important theme that being able to compute a groten-dictopology starting from certain sets of data. From a logical point of view, in fact, as Loran will explain in the last part of this course, being able to generate a groten-dictopology starting from a collection of sieves corresponds to deriving theorems within geometric logic starting from certain axes. So as you can see, it's something quite significant, especially when you can really achieve a full description of the groten-dictopology. It means you have a classification of all the geometric logic theorems that are provable in a given theory. Okay, in any case, so the sieves which belong to the topology are called j-covering, where j is the topology. And then a site is defined simply as a pair consisting of a category and a groten-dictopology. So which kind of sites in terms of sites are we going to consider? Well, for defining groten-dictoposis, one restricts two small sites. And by this, I mean that the underlying category of the site should be small to have just a set of objects and arrows. But for technical reasons, it is important also to consider larger sites which still can be studied, can be associated with smaller sites in a meaningful way. So these are called small-generated sites. And in fact, a site is said to be small-generated if the underlying category is locally small and admits a small j-dance subcategory in the sense expressed in the slides. So in particular, it will be convenient from a technical viewpoint to consider a topos itself as a site with a topology called the canonical topology. And you see that a topos in general will not be small, but such canonical sites will always be small-generated by the definition of a topos as a category having a small set of generators. So it's important to keep in mind that while a groten-dictoposis is formally defined as a category of sheets on a small site, in fact, one can extend to all small-generated sites without changing the resulting categories of sheets. Okay, but this is just a technical point on which we shall come back later. Okay, now let's give a number of basic examples of groten-dictopologies to get you familiar with the concept. Of course, we can always put the groten-dictopology on any category by taking as covering sheets just the maximum ones. Then there is a very nice interesting topology that one can put on an arbitrary category. It's called the dense topology, and it's defined by taking as covering sheets precisely the stably non-empty ones. So the ones such that they are pulled back along arbitrary arrows is always non-empty. So this simplifies in the situation where the category satisfies the right or condition, namely the property that you see displayed in the slide, the fact that for any pair of arrows that would come in a codomain you can complete them to a commutative square. So under such hypotheses, in fact, the pullback of any non-empty sieve is again non-empty. And therefore, the dense topology specializes to the so-called atomic topology, whose covering sieves are precisely the non-empty ones. The atomic topology is very important for several purposes in toposphere, in particular in connection with the topospheric interpretation of Galois theory and its categorical generalization. Okay, other examples of topologies. Well, of course, the motivating example for us was sheets on topological space. So in fact, we were considering pre-sheeps and sheeps on the category of open sets of the topological space. On such a category, there is a canonical growth and dik topology one can consider. So in fact, we postulate that the families that should be covering exactly those which give covering families in the usual topological sense. That is, the open set should be the union of all the open sets in the family. This, of course, can be generalized to pointless topological spaces, also called frames or complete hiding algebras. So the frame is a complete lattice in which the infinite distributive law of arbitrary joints with respect to finite needs holds. So you can really see this as it were the lattice of open sets of a topological space, even though in general you might have frames which are not of that form. Only the spatial frames come from topological spaces. There are many other frames which are not of this form and which can be studied and which can be interesting in their own right. And of course, on such a frame, one can define a growth and dik topology by using joints in this frame. Thanks to the fact that these arbitrary joints distribute over finite needs, which ensures that the stability axiom for growth and dik topologies is satisfied. So the topology we define in this way on a frame is called the canonical topology on the frame. Okay, now another set of examples of a different nature. So given a small category of topological spaces which is closed under finite limits, typically one suppose is that and undertaking open sub spaces. There is a natural topology one can define on it called the open cover topology because it's covering families are precisely given by families of open embeddings to which cover the given space. In fact, the open cover topology plays an important role in the construction of growth and dik toposes in the topological setting. In fact, with Ricardo Zanfa, we have introduced a higher analog of this open cover topology on the category of toposes itself. And in fact, we have shown that thanks to this one can essentially regard any growth and dik topos as a sort of petty topos associated with a very big topos related to that by a local morphism, by attraction, etc. And so in fact, this idea of the open cover topology is an interesting one. I will not have the time in this course to talk about this result, but if you are interested, you will be able to read about it in our forthcoming work. Okay, another very important example of growth and dik topology is the Zariski topology, which can be defined on the opposite of the category of finitely presented or equivalently fan-generated commutative rings unit. So of course, this topology plays a key role in algebraic geometry, and it admits a very simple intuitive definition. So the covering cosives for this topology, so I talk about cosives because I switch from the opposite of this category to the category itself. These are those which contain the, which contain finite families of localizations of the given ring at elements of the ring. The families which are characterized by the property that the ideal generated by these elements is the wall ring. So equivalently, this collection of this set of elements is not contained in any proper ideal of the ring. So of course, you understand the geometric significance of this definition. You see, if you think of the Zariski spectrum of overring, you can see that this in fact corresponds also to a more intuitive kind of covering relation at the topological level in terms of spectrum. Then finally, Loran has talked about syntactic sites in his course. And of course, these are very important kind of sites that one can build from any kind of per-order geometric theory. In fact, depending on which fragment of geometric logic you consider, you have different versions of syntactic sites. So if the theory is regular, for instance, you have a regular syntactic site. If the theory is coherent, you have a coherent syntactic site. If the theory is geometric, you have geometric syntactic sites. So different versions of syntactic sites, but which will present always the same classifying topics. And so you have different ways of, say, embodying the syntax and the proof theory of a theory in a site which actually presents its classifying purpose. In fact, it's quite interesting also to compare properties related to different fragments in which a given theory can be considered. There are compatibility relations existing between different fragments. And for instance, you can understand them very well by using the bridges because you have just one classifying purpose and different presentations for it provided by these different fragments. And the point is that you can understand several invariants from these different points of view and they will give rise to such a compatibility relation. So in any case, this is just a remark. So if you want to know more about this, you can take my book and you will find several results, several compatibility results of this kind proved through bridges. Okay, so now we are ready to introduce SHIBs on a site. SHIBs are defined in the obvious way, so simply as contravariant functors with values in sets defined on the given category. Then for defining SHIBs on a site, we have to talk about compatible families of local data indexed by covering families in the Grotendictopology. We define a notion of matching family for a SHIB of elements of a pre-shift. So this is defined as a way of assigning to each arrow in the SHIB, an element of the SHIB, in such a way that this compatibility condition you see is satisfied. And that here the SHIB condition is fundamental because you see that here I am considering the composite of F with G. So I am using the fact that since I had a SHIB and F belongs to the SHIB, also F composed with G belongs to the SHIB and so it makes sense to consider that element because I should have an element for each arrow in the SHIB. And so I can formulate this compatibility condition. And so this is what a matching family is, and then for such a family we can define what should be an amalgamation. So an amalgamation should be a single element of the pre-shift at the given object, which is sent by the pre-shift to all this local data along the arrows of the SHIB. So you see everything is very, very natural, very unsurprising. Okay, so again as in the topological setting we can formulate the SHIB condition in terms of an equalizer. And so by considering all the pre-shifts on a category which are SHIBs, with respect to a given growth and diktology, we get the category of SHIBs. Which is what is denoted like this, so SHIBs on CJ will denote the category of SHIBs on the given site and as arrows the natural transformation between these SHIBs regarded as pre-shifts. Just to remark, the SHIB condition can be expressed categorically in a very nice way. So you see I mentioned that a SHIB can always be considered as a sub-object of the corresponding representable. So you see this vertically in the triangle. And the SHIB condition can be formulated as a sort of extension condition. So a matching family for a given SHIB can be thought as a natural transformation from a given SHIB to the pre-shift. This is quite clear because you see the compatibility condition is amounts precisely to naturality. And so you see the SHIB condition by the Yonida lemma can be formulated by saying that every natural transformation defined on a covering SHIB admits a unique extension as in this diagram. Okay, so finally we can define what Grottenbichtopos is. So Grottenbichtopos is any category which is equivalent to the category of SHIBs on a small site or more generally a small generated site. Okay, so we have got to the central notion of this course. Examples of toposes. Well, here are just three classes of examples. Of course, there are infinitely many examples, but I selected these three just to show you very quickly how general toposes are because you see the first example deals with categories. So whenever you have a category, you have an associated topos, the topos of the SHIBs on that category, which you obtain by keeping the category with the trivial topology. On the other hand, if instead of a category you start with a topological space, you have also a topos associated with that, the topos of SHIBs on the topological space. Also, you can decide to start from a group and to consider the category of actions of the group on discrete sets. So you can also take the group to be topological if you want, and in which case you take the continuous actions of the group on discrete sets. And you can show that in this way you indeed get a group of topos because you can present these topos as the topos of SHIBs on a particular site. So the site whose underlying categories that of non-empty transit actions on the topology is the atomic topology which we introduced here. So you see already these three basic examples show you that topos extend categories, topological spaces and groups. So given the fact that all these concepts play a central role in mathematics, nowadays you can understand why topos have a very big potential to have an impact in essentially across all mathematics. Because they simultaneously generalize all of this. And there is much more to that because of course as we shall see topos can be attached also to other kinds of entities. Loran has talked about how to associate the topos with theories, etc. And there are still many other approaches to the construction of topos that one can introduce.