# Can formal logic give a precise notion of “canonical”?

Coming off of this discussion, I'm wondering what the term "canonical" really means. In that thread, many suggested category theory as a way to formalize the concept of what "canonical" means, using the precise term "natural" (and, many suggested that the two were not the same thing). Beyond its formal equivalent in category theory, the word natural seems to have nothing other than an intuitive or even "theological" meaning.

However, I was wondering if there is some way to define the notion of canonical by using formal logic.

Here's my own idea: After all, when we choose something we have to use some sort of logical procedure. The notion of canonicity then might mean that there actually exists some logical way to pick out a particular element, morphism, etc. When there's no canonical choice, it might mean that there is no logical way to pick out one choice over another.

-
Might, but not always. –  Will Sawin Jun 4 '12 at 20:54
There are two obviously logical ways of picking a shoe from a pair, neither seems canonical to me... –  François G. Dorais Jun 4 '12 at 21:20
I am more interested in the canonical definition of formal logic. –  Sniper Clown Jun 4 '12 at 21:55
As far as i am concerned, a way to get an object from another, is 'canonical' if it is given by an "application" between the two class of object (application is between brackets only because thats between class and not between set and hence you have to have a precise notion off "class" to give a precise meaning to this definition). Natural mean that this application can be made into a functor. –  Simon Henry Jun 4 '12 at 22:33
François makes an excellent point. To push it further: suppose I hand you a set X with two distinguished elements, x and y, and I ask you to choose an element of X. Depending on how you want to use words, you might say that there is no canonical choice, or that there are two canonical choices. But I guess everyone would agree that even if the rules "pick x" and "pick y" aren't completely canonical, they are in some sense more canonical than "pick an arbitrary element of X". –  Tom Leinster Jun 5 '12 at 13:42

The term 'canonical' is very general and any attempt to create a "precise notion" may be questioned and can never be proved as such. However, there is a canonical candidate, which at least concerns canonical morphisms for constructs and other structured sets, which has a clear logical character.

First, every mathematical structure on a set is determined by relations between sets. For group structures there is a primary relation $r$ that is a function $G\times G \overset {r}\longrightarrow G$, $(x,y)\underline{r} z \Leftrightarrow z=x\centerdot y$ and some secondary relations which are conditions on $r$ (associativity, unit element and inverses). For a topological space the primary relation could be $2^X \overset{r}\longrightarrow X$, where $2^X$ is the set of all subsets of $X$ and $M\underline{r}x$ is the relation $x\in \bar{M}$ (the closure of $M$).

Whenever the main relation of a mathematical structure is given on the form $F(X)\rightarrow X$, for a functor $F$ in the category Rel (where sets are objects and binary relations are morphisms) which maps morphisms $X\overset {f}\longrightarrow Y$ on $F(X)\overset {F(f)}\longrightarrow F(Y)$, it is possible to define morphisms between the structures as diagrams: $\require{AMScd}$ \begin{CD} F(X) @>F(f)>> F(Y)\\ @VrV V @VVsV\\ X @>>f> Y \end{CD} such that

(1) $\rho\underline{F(f)}\sigma \Rightarrow (\rho\underline{r}x\Rightarrow\sigma\underline{s}f(x))$.

This condition on $f$ gives the canonical morphisms to every construct that provide canonical morphisms.

Example: If $F$ is the (contravariant) functor defined as $2^X\overset{2^f}\longrightarrow 2^Y$, where $M\underline{2^f}M'\Leftrightarrow M=f^{-1}(M')$ and $r,s$ are defined as above, then due to (1):

$M=f^{-1}(M')\Rightarrow (x\in \bar{M}\Rightarrow f(x)\in \bar{M}')$, so $x\in \overline{f^{-1}(M')}\Rightarrow f(x)\in \bar{M}'$. (Continuity).

-