Want to take part in these discussions? Sign in if you have an account, or apply for one below
Vanilla 1.1.10 is a product of Lussumo. More Information: Documentation, Community Support.
This came up in another thread, where it was not really on-topic. I want to re-post it here so that it gets due attention and maybe finds a resolution:
I find the content at canonical morphism unsatisfactory to the extent that I am voting to replace it by something else.
First why I find it unsatisfactory: the entry describes a proposal by Jim Dolan from some time ago for how to give a formal meaning to the colloquial use of “canonical” in mathematics, but it seems to me that
nobody, not even Jim Dolan himself, ever used that in practice;
it does not actually capture much at all about the colloquial use of “canonical” (see below for a proposal of mine of what a proper formalization would involve);
the only almost-application mentioned at the bottom of the entry, which is about morphisms of QFTs, has nothing of the “canonical” flavor to it at all (on the contrary!), and the curious notion discussed there actually becomes natural if one instead considers QFTs with boundaries, as formalized on the last pages of Lurie’s “classification of TFT” article.
In summary, I find that the article gives an ill-motivated definition which is actually misleading and has no support from usage/practice.
If this sounds harsh, please take it as motivation to convince me otherwise. I’ll be happy to be convinced by a good argument and will use it to improve the entry accordingly.
But currently I think the entry content should be replaced with something else. I would tend to think that a formalization of “canonical” should involve something as follows, instead.
It should involve some notion of constructiveness. What is canonical, in colloquial meaning of the word, is that which we can actually construct, with given data (given terms).
For instance for just any set without further information, the reason why is the canonical map from to itself is because this is the only one we can actually name, whose term we can actually construct. There are all these other maps, but we can’t actually name them with the given information.
Or: the reason why are the canonical coordinates on the plane is because they are the two which one can actually construct given the data by which the plane was constructed, namely the two projection maps out of the project. The reason why all the other coordinates that we might put on are “not canonical” is that while they “exist” in the sense of existence of mathematics, we cannot actually construct them with the given data.
I expect that somebody with more genuine type-theoretical practice can easily see what I am getting at here and maybe give it a more pronounced formulation.
Neil Ghani suggested that this is answered in part by the theory of “logical relations”, but I confess I didn’t completely understand his talk. Perhaps Mike knows, since he wrote about them once.
I guess probably what Neil is thinking of is that a “canonicity” property of a type in a type theory says that every term of type which is definable in the empty context is automatically equal to one of a specified (“canonical”) list. For instance, canonicity for says that every term of type definable in the empty context is equal to a numeral. At higher types a similar property is called “parametricity”, e.g. the only term of type that is definable in the empty context is the polymorphic identity function.
Okay, this is a notion of “canonicity” different from the one I was aiming for and different from what the entry canonical morphism is supposed to be aiming for. This “canoninicity” is more like “admits normal form”.
What I am after here the problem of approximate formalization of what one means in mathematical writing when one says things like “consider now the canonical element of…”.
One says this all the time to mean that there is only one such element which the reader will immediately understand.
One may or may not care about giving this colloquial use of the word “canonical” a precise sense. Maybe it’s not too interesting. However, I do remember MO discussion where people were asking for a kind fo definition. But in any case, since we do have an entry that tries to formalize “canonical” in the above sense, we should at least make sure that the entry at least not increases the confusion. I think currently it does.
Interesting that you say this is different from what you were aiming for, since your first example:
For instance for just any set without further information, the reason why is the canonical map from to itself is because this is the only one we can actually name
is also a standard example of parametricity. Similarly, I expect that the two projections out of a cartesian product can be identified in this way as the canonical/parametric elements of . If you look beyond the use of syntax and normal forms to describe the definition, I think there is a certain relationship to what you’re thinking of.
Ah, I see. Okay, thanks!
Now hopefully some day somebody finds the time to sort this out and edit the nLab entry accordingly.
I don’t have time to dig deeper into this right now, though I would very much enjoy reading an account of Ghani’s proposed formalization of “canonical elements”, as that sounds right (now that I get the above comments).
For the moment I have just droppped a query box into the beginning of the entry canonical morphism “flagging it as problematic”.
If the set has exactly elements, then there is another function from to that you can actually name with the given information: the swap function (the nontrivial auto-bijection of ). If you're willing to assume the law of excluded middle (so still talking about what you can construct but not actually being a constructivist), then you can generalize this to an arbitrary set : use the swap function if has exactly elements but the identity function otherwise. That you can define this with the information at hand (and in fact write this down with a term in a type theory that has an LEM-parsing operation) is precisely what Jim meant to formalize.
This is not to defend the current state of the article, only to defend Jim's definition. The article focusses on defining a morphism of a category from an object of a category (because that's the context that Jim discussed with me once), which led to using the term ‘canonical transformation’ (which was already taken!) and then ‘canonical morphism’ (which is ambiguous since it leaves out the data). But really, the point is that ‘canonical’ (definable from the information at hand) means the same as ‘non-evil’ (respecting the operations of the relevant (higher) groupoids). I think that this is an important insight, showing (in a way that David Corfield would like) how (higher) category theory has philosophical implications and properly organizes logic (where people usually discuss definability issues).
use the swap function if X has exactly 2 elements but the identity function otherwise.
That doesn’t feel very “canonical” to me. If someone said “the canonical map ” I would never guess that they meant that one.
If you say ‘the’, then you're using the meaning of ‘canonical’ as ‘usual’. This is an odd map, sure enough, but it is definable from the data at hand, which is the meaning of ‘canonical’ that Urs has been discussing.
Well, Urs did say “construct”. You can’t construct this map in the sense that a constructivist would mean, since you used LEM. Maybe Urs could clarify what he meant?
You can’t construct this map in the sense that a constructivist would mean, since you used LEM.
I can construct it out of an arbitrary set and a surjection from to . Of course, a constructivist may not believe that the latter exists, but the construction is still a perfectly valid hypothetical construction out of that data.
Alternatively, take the starting datum to be a finite set (in the strictest sense of ‘finite’). The map that I mentioned can be constructed from that datum alone. That is probably a better example, so as not to be distracted by LEM. The real issue is definability.
Right, but in neither case can you construct it given only the set . In the first case you have to also be given the surjection and in the second case you have to be given a proof that is finite.
Note also that this example (the nonstandard but still canonical = core-natural/functorial = definable endomap on an arbitrary finite set ) is definable by parametric polymorphism (which is another formalization that captures the same idea). You can write down the definition by doing a case analysis on the cardinality. (The version for an arbitrary set would require a case analysis on the proposition that the set has cardinality , which could be done with an LEM-parsing operation in the underlying type theory.)
If you believe in excluded middle, then you have a surjection .
Are we really foundering over whether excluded middle is true? Don't we all agree that this sort of thing is simply optional?
Urs suggested in his warning query box on the page:
canonical elements are those that are given by parametric polymorphism
I entirely agree! But polymorphism is a concept from the logical side of computational trinitarianism. Core-functoriality/naturality is the corresponding concept on the categorial side. And that's exactly what Jim was talking about.
I think we need Urs to clarify what he meant. He said that his notion of canonical “should involve some notion of constructiveness”, which I thought could be interpreted to mean constructive in the constructivism sense.
Are we really foundering over whether excluded middle is true?
Heh, I believe in EM when I’m playing Minesweeper. :-)
Thanks for all the input.
But I am not sure why you are all waiting for me to say again what I want. The colloquial notion “canonical element” is used all over the place in mathematical writing, so I think we all know what we want when we say we want a formal statement that at least comes close to characterizing what the colloquial term “canonical element” means.
And as Mike said in #9: what Toby suggests doesn’t seem to capture what we colloquially mean when we say “canonical” in mathematical writing.
It is true that I suggested that the answer has to do with terms that we can actually construct. But okay, to the extent then that Toby constructs more elements than should be called “canonical”, evidently we need to refine that proposal. Maybe add something like “without using this or that”.
I do see the point that Toby makes above: that Jim’s notion captures an “principle of equivalence” which is inherent in constructive mathematics. That’s nice. But I think it is clear that Jim’s notion has nothing much at all to do with the colloquial use of “canonical”. By Jim’s definition every map between groupoids is canonical. That is pretty much the opposite of what one usually means by “canonical”.
So I would suggest, if I may, that you constuctivism experts try to play a bit more with formalizing that idea that “A term is canonical if it can be constructed without… or in every context such that…”. I am not sure how to fill in the blanks, but I suppose you can figure it out. It must be some genericity condition that rules out the specifica case-analyses that Toby is suggesting above. A case-analysis, too, is somehow opposite to what “canonical” should be. For a canonical term I make no analysis and no choices. I just immediately know which one it should be. How can we formalize this?
There has to be some context-dependence here. If you “know” that is a 2-element set, then there is certainly a definable non-trivial endomorphism of . I think it’s reasonable to say that it is canonical. But if you “forget” that is a 2-element set then the only possible endomorphism is . Similarly, if you “know” that is a object in an abelian category, then there is a definable automorphism of that is non-trivial in general, namely . If you “forget” the -enrichment but remember the -enrichment, then you can still define the endomorphism. And so on.
Perhaps one can apply a principle of simplicity?
Personally, I like the term “core-natural” for transformations that are natural with respect to isomorphisms. I would actually rather not try to give any precise mathematical meaning to “canonical”; I’d rather leave some common English words to use when speaking English. It’s bad enough that “natural” has a precise meaning. What’s next, a precise mathematical definition of “obvious”?
By Jim’s definition every map between groupoids is canonical.
I think that you may be making a level slip here. Any functor between groupoids may be used to define a canonical object of , given an object of . But there is no canonical functor between two groupoids, given those groupoids; that would be defined by a core-natural transformation between the projections , and there is no such thing. So, it would be a mistake to say that there is a canonical map between groupoids.
I like the term “core-natural” for transformations that are natural with respect to isomorphisms.
For that precise technical concept, you are probably correct. After all, that's what I have to say here when I find that I have to clarify what I mean! The current page is probably most easily turned into a page on those (which we should have since they are not an entirely trivial concept). But I would still like to have something on what it means to have a canonical such-and-such, with a discussion of the principle of equivalence, parametric polymorphism, and definability. (Maybe we're not in a position to write that yet.) Defining canonical morphisms by core-natural transformations is just one example of this.
And I really don't think that any of this has much to do with constructivism! The issue is definability. It's true, of course, that more things are classically definable than are constructively definable, and that's interesting, but this still applies to classical mathematics as well. (This is an anti-Jim argument, if I may put it that way. One might hope that bringing in constructivism would remove the allegedly pathological example of a canonical function from a set to itself, making his terminology seem more correct; but even constructively, there is still another canonical function from a finite set to itself.)
What’s next, a precise mathematical definition of “obvious”?
At least for theorems, ‘obvious’ means that you should be able to prove it, while ‘trivial’ means that you should have already proved it (perhaps immediately upon hearing it, perhaps earlier). People often mix these up. Of course, there are other meanings of ‘trivial’. I see here (which I found while searching fruitlessly for a different joke) that the tangent bundle of any orientable -dimensional manifold is trivial but that this isn't obvious. (Of course, that depends on who you are!)
But if you “forget” that is a 2-element set then the only possible endomorphism is .
If you're willing to use the law of excluded middle, then there is another definable endomorphism of , which is (at least for some ) different. It just has a complicated definition that begins with a case analysis on whether is a -element set or not.
Mike, as I said, maybe it’s a bad idea to try to formalize “canonical”, but if one does have an nLab page that claims to do so, then that should at least be a reasonable attempt – and currently it is not. One need not do it, but if one does it then one should do it right.
So maybe if we can’t figure out how to fully formalize “canonical”, then I guess we can still agree to rename the entry that is currently at canonical morphism to maybe core-natural transformation. Anyone opposed to doing that?
Yes, let’s do that renaming, and then maybe someone can make a new page canonical that discusses all the possible meanings and points to this thread.
I have done that renaming and put an adjective page at canonical for now.
The newly named core-natural transformation still needs rewriting, but I need to go to bed now.
Okay, thanks!
1 to 27 of 27