Now we just take our pattern and plug it into our pattern-matcher, as usual.
Presumably, the pattern is the query category. What is the target category? (not to be confused with the part of the pattern you called target—use different names?)
Sorry, there’s a few too many things here which need names. The pattern (original category + copy + etc) is the query; the target is whatever category we like. We’re looking for the original category and a model of it, all embedded within some other category. I should probably clarify that in the OP; part what makes it interesting is that we’re looking for a map-territory pair all embedded in one big system.
UPDATE: changed the source-target language to system-model for natural transformations.
Good question, I spent a while chewing on that myself.
Vertical composition is relatively simple—we’re looking for two natural transformations, where pattern-target of one is pattern-source of the other. Equivalently, we’re pattern-matching on a pattern which has three copies of the original category stacked one-on-top-the-other, rather than just two copies.
Horizontal composition is trickier. We’re taking the pattern for a natural transformation (i.e. two copies of the original category) and using that as the original category for another natural transformation. So we end up with a pattern containing four copies of the original category, connected in a square shape, with arrows going from one corner (the pattern-source for the composite transformation) to the opposite corner (the pattern-target for the composite transformation).
I think the query category is the pattern, as you say, and the target category is [original category + copy + edges between them]. That way, if the matching process returns a match, that match corresponds to a path-that-is-equivalent-to-the-path-in-the-query-category.
Presumably, the pattern is the query category. What is the target category? (not to be confused with the part of the pattern you called target—use different names?)
Sorry, there’s a few too many things here which need names. The pattern (original category + copy + etc) is the query; the target is whatever category we like. We’re looking for the original category and a model of it, all embedded within some other category. I should probably clarify that in the OP; part what makes it interesting is that we’re looking for a map-territory pair all embedded in one big system.
UPDATE: changed the source-target language to system-model for natural transformations.
Natural transformations can be composed (in two ways) - how does your formulation express this?
Good question, I spent a while chewing on that myself.
Vertical composition is relatively simple—we’re looking for two natural transformations, where pattern-target of one is pattern-source of the other. Equivalently, we’re pattern-matching on a pattern which has three copies of the original category stacked one-on-top-the-other, rather than just two copies.
Horizontal composition is trickier. We’re taking the pattern for a natural transformation (i.e. two copies of the original category) and using that as the original category for another natural transformation. So we end up with a pattern containing four copies of the original category, connected in a square shape, with arrows going from one corner (the pattern-source for the composite transformation) to the opposite corner (the pattern-target for the composite transformation).
I think the query category is the pattern, as you say, and the target category is [original category + copy + edges between them]. That way, if the matching process returns a match, that match corresponds to a path-that-is-equivalent-to-the-path-in-the-query-category.
But the pattern was already defined as [original category + copy + edges between them + path equivalences] :(
I believe query and target category are the same here, but after reading it again, I see that I don’t fully understand the respective paragraph.