§ Sheaves in geometry and logic 1.3: Characteristic functions of subobjects
!
S --> 1
v |
| | true
v v
X---->2
phi(S)
-
true: 1 -> 2 is the unique monic such that true(1) = 1 (where 2 = {0, 1}) - For all monic
m: S -> X , there must be a unique phi(S): X -> 2 such that the diagram is a pullback. - Then
1 -true-> 2 is called as the subobject classifier. See that 1 is also determined (it is terminal object). So the only "choice" is in what 2 is and what the morphism 1 -true-> 2 is. - The definition says that every monic is the pullback of some universal monic
true.
§ Subobject category
- Define an equivalence relation between two monics
m, m': S, S' -> X where m ~ m'iff there is an iso i: S -> S'' such that the triangle commutes:
S --i--> S'
\ /
m\ /m'
v v
X
- SubC(X) is the set of all subobjects of X.
- to make the idea more concrete, let
C = Set and let X = {1, 2}. This has subobjects [{}], [{1}], [{2}], [{1, 2}]. - To be clear, these are given by the map
m0: {} -> {1, 2} (trivial), m1: {*} -> {1, 2} where m1(*) = 1, m2: {*} -> {1, 2} where m2(*) = 2, and finally m3: {1, 2} -> {1, 2} given by id. - The category C is well powered when SubC(X) is a small set for all X. That is, the class of subobjects for all X is set-sized.
- Now given any arrow f:Y→X, then pulllback of a monic m:S−>X along f is another monic m′:S′→Y. (recall that pullback of monic along any arrow is monic).
- This means that we can contemplate a functor SubC:Cop→Set which sends an object Cto its set of subobjects, and a morphism f:Y→X to the pullback of the subobjects of X along f.
- If this functor is representable, that is,
§ G bundles
- If E→X is a bundle, it is a G-bundle if E has a G action such that π(e)=π(e′) iff there is a unique g such that ge=e′. That is, the base space is the quotient of E under the group, and the group is "just enough" to quotient --- we don't have redundancy, so we get a unique g.
- Now define the space GBund(X) to be the set of all G bundles over X.
- See that if we have a morphism f:Y→X, we can pull back a G bundle E→X to get a new bundle E′→Y.
- Thus we can contemplate the functor
GBund: Space^op -> Set which sends a space to the set of bundles over it. - A bundle
V -> B is said to be a classifying bundle if any bundle E -> X can be obtained as a pullback of the universal bundle V -> B along a unique morphism X -> B. - in the case of the orthogonal group
Ok, let V be the steifel manifold. Consider the quotient V/Ok, which is the grassmanian. So the bundle V -> Gr is a G bundle. Now, some alg. topology tells us that is in fact the universal bundle for Ok. - The key idea is that this universal bundle
V -> B represents the functor that sends a space to its set of bundles, This is because any bundle E -> X is uniquely determined by a pullback X -> B! So the base space B determines every bundle. We can recover the bundle V -> B by seeing what we get along the identity B -> B.
§ Sieves / Subobject classifiers of presheaves
- Let
P: C^op -> Set be a functor. -
Q: C^op -> Set is a subfunctor of P iff Q(c) ⊂ P(c) for all c ∈ Cand that Qf is a restriction of Pf. - The inclusion
Q -> P is a monic arrow in [C^op, Set]. So each subfunctor is a subobject. - Conversely, all subobjects are given by subfunctors. If
θ: R -> P is a monic natural transformation (ie, monic arrow) in the functor category [C^op, Set], then each θC: RC -> PC is an injection (remember that RC, PClive in Set, so it's alright to call it an injection) - For each
C, let QC be the image of θC. So (QC = θC(RC)) ⊂ PC. - This
Q is manifestly a subfunctor. - For an arbitrary presheaf
C^ = [C^op, Set], suppose there is a subobject classifier O. - Then this
O must at the very least classify yonedas (ie, must classify yC = Hom(-, C): [C^op, Set]. - Recall that
Sub_C(X) was the functor that sent X ∈ C to the set of subobjects of X, and that the category C had a subobject classifier O iff Sub_C(X) is represented by the subobject classifier O. Thus we must have that Sub_C(X) ~= Hom(X, O). - Let
y(C) = Hom(-, C). Thus we have the isos Sub_C^(yC) = Hom_C^(yC, O) =[yoneda] O(C). - This means that the subobject classifier
O: C^op -> Set, if it exists, must be defined on objects as O(C) = Sub_C^(yC). This means we need to build the set of all subfunctors of Hom(-, C).
§ Sieves
- for an object
c, a sieve on c is a set S of arrows with codomain c such that f ∈ S and for all arrows fh which can be defined, we have fh ∈ S. - If we think of paths
f as things allowed to get through c, this means that some path to some other b (via a h) followed by an allowed path to c (via f is allowed). So if b -f-> c is allowed, so is a -h-> b -f-> c. - If
C is a monoid, then a sieve is just a right ideal - For a partial order, a sieve on
c is a set of elements that is downward closed/smaller closed. If b is in the sieve, then so too is any element a such that a . So a sieve is a smaller closed subset: if a small object passes the sieve, then so does anything smaller! Let Q ⊂ Hom(-, c) = yc be a subfunctor. Then define the set S_Q = { f | f: a -> c and f ∈ Q(a) }. Another way of writing it maybe to say that we take S_q = { f ∈ Hom(a, c) | f ∈ Q(a) }. This is a sieve because fh is pulling back f: a -> c along h: z -> a, and the action on the hom functor will pull back the set Hom(a, c) to Hom(z, c), which will maintain sieveiness, as if f ∈ Hom(a, c) then fh ∈ Hom(z, c). This means that a sieve on c is the same as a subfunctor on yc = Hom(c, -). this makes us propose a subobject classifier on [C^op, Set] to be defined as O(c) = set of sieves of Hom(c, -).