You're reading the public-facing archive of the Category Theory Zulip server.
To join the server you need an invite. Anybody can get an invite by contacting Matteo Capucci at name dot surname at gmail dot com.
For all things related to this archive refer to the same person.
As well-known, a functor between categories gives a functor between their presheaf categories (given by precomposition with ) which has both a left and right adjoint. Does the left adjoint of preserve monics? I see no reason it should, but I haven't found a counterexample yet. What's the simplest counterexample, if there is one?
Functors that preserve pullbacks also preserve monics, so in particular all right adjoint functors preserve monics. Or did I misunderstand the question?
Sorry, I meant left. I'll fix the question.
See Theorem 2.32 here. If I take a monoid as a one-object category and consider the unique functor to the terminal category, the left adjoint of the induced functor between presheaf categories preserves monomorphisms iff the monoid satisfies the right Ore condition.
(More generally, I can replace my monoid with any category, and "right Ore condition" becomes the dual of what is more commonly called the "amalgamation property". I think the proof generalises. You can find the equivalence between this property and the property of the presheaf topos being De Morgan in Johnstone's Sketches of an Elephant)
(I should also mention that I have a proposal for a Masters research project on my website with the goal of verifying and exploring this connection :wink: )
I think this left adjoint is the functor between the free cocompletions of and induced by . Is that right? If doesn't preserve a certain monic, the induced map between free cocompletions doesn't either. (The Yoneda embedding preserves and reflects monics.)
Great point! So from that perspective, the simplest example would be the inclusion of a composable pair into the "walking mono" (I'll let you figure out notation for that if you need it). On the other hand, the free monoid on two elements isn't right Ore so the terminal functor on that category gives an example where all monos are trivially preserved but the extension still doesn't preserve monos!
Great! Thanks for all these examples. By the way, this is a question that came up in our team's work on agent-based modeling: we were wondering whether (and when) "data migration" along such a left adjoint preserves the monicity requirement of the left arrow in a "double pushout rewrite rule" $$L \lhookarrow I \to R$$. So y'all have helped us understand this.
By the way, how does the inclusion of a composable pair into the "walking mono" fail to preserve monics? It seems more like that functor fails to reflect monics. Maybe I'm not understanding what you meant, @Morgan Rogers (he/him).
I don’t understand what the walking mono is even supposed to be, since being a mono isn’t an equational condition. The free thing-with-a-mono in a category of mono-preserving functors is just the arrow, and the free thing-with-a-mono in a category of arbitrary functors doesn’t exist; are we talking about the walking split mono?
I think the counterexample functor that I want is the inclusion of the "walking arrow" category, with an arrow and no other morphisms but identities, into the "walking non-mono" category, with an arrow , two arrows , a single arrow from to , so that , and no other morphisms but identities.
I would guess that the "walking mono" is a finite limit theory, or a sketch, or another such object, such that a model is precisely a monomorphism.
By the way, my calling the category "the walking non-mono" was intended humorously, since I'm working in the doctrine of plain categories, and functors don't preserve non-monicness, so it's easy to find a functor that maps this non-mono to a mono. A more precise name would have been "the walking pair of parallel arrows that become equal upon postcomposition with a third arrow". A functor from to any other category picks out a pair of parallel arrows that become equal upon postcomposition with a specified third arrow.
The walking [[fork]]
https://thumbs.dreamstime.com/b/fork-metal-legs-walking-fork-metal-legs-queue-line-walking-d-illustration-horizontal-isolated-over-white-135160466.jpg
May I ask more about the example, @John Baez ? I ask because we've encountered a similar problem before in algebraic data integration: namely, if f and g and monos, we want the pushout of f and g to be monos, because that guarantees a conservativity property that ensures the pushout didn't "over integrate" data. In our example f and g will themselves arise from the left adjoint to pre-composition (our 'sigma' operation), so we have an interest in your question as well. For the pushout question David had a UROP work out some special cases and write a report, am looking for it now.
May I ask more about the example, John Baez?
Sure! What do you want to know about it?
Sure, I'm curious what the failure of mono-ness "means" for your example: would it indicate the same thing as what we mean by "over-integration", for example. And are there other places where you also need mono-ness to rule out more examples of your phenomenon? I'm also just curious to see examples of the functor F that arises in your context. Thanks!
Okay! As you know, graphs, combinatorial structures of various other kinds, and databases can be seen as presheaves on various categories. In 'double pushout rewriting' we look for instances of some pattern in a presheaf and replace it with some other pattern . By 'pattern' I simply mean another presheaf. So, we specify a double pushout rewriting rule using a diagram
where are presheaves. is the pattern whose instances we will look for, is the pattern we replace it, and is what these two patterns have in common. For this to work well we need the morphism to be monic.
So far all this is happening in some fixed presheaf category, say the category of presheaves on , which I will call . But a functor induces a functor
which has a left adjoint
This left adjoint is - as you well know - useful for converting presheaves on into presheaves on , a process called " migration" when our presheaves are thought of as databases.
It's interesting whether a rewrite rule for presheaves on can be converted into a rewrite rule for presheaves on via this process of migration. Given
we get
But does being monic imply that is monic?
No! Not in general.
I didn't think it would, but I couldn't see a counterexample. That's been solved now, thanks to the power of the folks here.
By the way, for people who prefer -sets (objects of ) to presheaves (objects of ), it's worth remembering that the specific counterexample I mentioned needs to be "opped" to work for -sets.
Thanks for being so explicit! To elaborate my question, I'm wondering about what "works well" means. For example, if I -> L is not monic, what would "go wrong"? I'll compare your answer with what happens in algebraic data integration when the related pushout diagrams "go wrong" due to failure to be monic, to see if the phenomenon you're witnessing is in fact the perennial problem of "over-integrating".
@Kris Brown understands this better than me, but to actually "apply" a rule in double pushout rewriting, you need to find something called a [[pushout complement]], and to be sure this is unique (up to isomorphism) you want to be monic.
I could say more about how double pushout rewriting works, but what I don't have is an example of how the non-monicness of this map causes the nonuniqueness of the pushout complement, and how that in turn makes double pushout rewriting "bad".
Here's the simplest example (rewriting in Set) where there are three possible pushout complements (two, up to isomorphism).
Screenshot-2024-05-10-at-12.02.18AM.png
I'm trying to understand this in terms of logic/database theory. In logical terms, f : I -> L can be read as a sequent in regular logic, and g : I -> R is called a "trigger"; in such a circumstance, we may "repair" R to admit a map from L (this being called "chasing" database R with formula f on trigger g). However, this map from L need not be unique, and when f is mono the map might be unique (I'd have to look this up). Pushout complement diagrams seem to arise in some related process. So I think the requirement that f be a mono probably is related to "over-integrating" data (or rather, 'damaging' a pre sheaf when extending it: https://intranet.csc.liv.ac.uk/~frank/publ/cons.pdf). Thanks for the replies!
Sure. Now I'll finally ask: what's "over-integrating"?
John Baez said:
I think the counterexample functor that I want is the inclusion of the "walking arrow" category, with an arrow and no other morphisms but identities, into the "walking non-mono" category
Umm yes oops, the "non-" in "walking non-mono" was quite a significant omission on my part... Sorry for the confusion folks. And you only need to include the one arrow, I think the train of thought that led me to "composable pair" was the (largely unrelated) example of an essential geometric morphism which is not locally connected.
Ryan, what’s this you’re saying about a pushout of monos not being mono, by the way? This can’t happen in a topos, right? Maybe you mean something different than what I’m thinking of.
I'd like to ask about the converse of something we've seen in this thread.
We start with a functor between categories. From this we get a functor between their presheaf categories given by precomposition with . Then we look at the left adjoint of that, say . We've seen that if fails to preserve monics, so does . What about this: if preserves monics, must preserve monics?
report.pdf
Here's the paper about the mono pushout property. Not sure about topoi, but the mono pushout property holds in Set and Ab and fails in Cmon and CRing if I understand that paper correctly. @Kevin Carlson
Screenshot-2024-05-10-at-11.17.03AM.png
@John Baez "over integration" is the failure of Sigma_F(I), considered as a theory, to be conservative over I, considered as a theory, when both theories extend a common theory (say integers or strings). In data integration, the common theory is usually the data types- strings, integers, etc, and I is an attributed copresheaf over the common theory, and non-conservativity means that Sigma_F(I) proves a fact about strings/integers etc that I does not, probably indicating an error (i.e., we don't usually want 1 = 2 in Sigma_F(I) if 1 != 2 in I). The paper I mentioned above, 'Did I damage my ontology', describes this phenomenon in the context of description logic. I've attached a screen shot of an example in CQL, where we are moving data from a schema about people with salaries and ssns to a schema where salaries and ssns must be equal. For some inputs this over-integrates, in the sense that if you have a person with salary 1 and ssn 2, then in the Sigma'd result you have 1 = 2. So it's natural to look for conditions on F which guarantee this can't arise (and I think we have such a result, I'm asking David; it might answer your most recent question). In the non-attributed case, you can make this precise using different machinery, which I can describe if there's interest.
Ryan Wisnesky said:
report.pdf
Here's the paper about the mono pushout property. Not sure about topoi, but the mono pushout property holds in Set and Ab and fails in Cmon and CRing if I understand that paper correctly. Kevin Carlson
Oh I see, you have funny pushouts in the algebraic theory of the attributes, sure. Yeah, pushouts of monos are mono in any topos, so any presheaf category, or any abelian category.
John Baez said:
I'd like to ask about the converse of something we've seen in this thread.
We start with a functor between categories. From this we get a functor between their presheaf categories given by precomposition with . Then we look at the left adjoint of that, say . We've seen that if fails to preserve monics, so does . What about this: if preserves monics, must preserve monics?
No; if is terminal then just takes a colimit. will always preserve monos since the only map in is a mono, but colimit functors don’t always preserve monos, even when the colimits are in Set. Coequalizers are the easiest counterexample: if you make a relation on a fixed set bigger, that gives a mono of parallel pairs, but it makes the coequalizer/set of equivalence classes smaller.
Similar problems happen with pushouts; in fact the colimits that commute with pullbacks in Set are precisely the coproducts of filtered colimits. Since in general is a left Kan extension, which involves taking colimits along a bunch of comma categories , maybe we could show that in general preserves monos if and only if does and all the are coproducts of filtered categories (ie have filtered connected components.)
Thanks!
Morgan Rogers (he/him) said:
On the other hand, the free monoid on two elements isn't right Ore so the terminal functor on that category gives an example where all monos are trivially preserved but the extension still doesn't preserve monos!
Although it was preceded by a confusing sentence, I did give an answer to your question before you asked it @John Baez :sweat_smile:
Okay, true. I think anytime I see the term "Ore" my mind blanks out and I find myself in a gutter later that night.