What is the definition of "canonical"? I've seen it first while studying about dual spaces. A canonical isomorphism between a vector space and its double dual. I've been searching for a while in a little bit more advanced-topic books likes algebraic structures, category theory and representation theory for a formal definition. They are using a LOT the word "canonical", but I couldn't see any record of it in any of those books. How come it is so "hard" for the writer to define the word he used so much? I mean, you probably can find any definition you want in a book just by finding the first time it's been used - this will probably be the definition. Why is it so comfortable to use the word "canonical" so much without any formal definition?
 A: The only defined usage of "canonical" is when we use it to mean "natural." While both of these words are sometimes used colloquially, a natural transformation has an actual definition.
For example, a (finite dimensional) vector space $V$ is naturally isomorphic to its double dual $V^{**}$ via the mapping $v\mapsto \hat v$, where $\hat v\colon V^*\to \Bbb F$ is the evaluation map $\hat v(f)=f(v)$. We can prove that this is natural in the sense that the following diagram commutes:
\begin{array}{ccc}
V & \overset{f}\rightarrow & W\\
\downarrow & & \downarrow\\
V^{**} & \overset{f^{**}}\rightarrow & W^{**}
\end{array}
If $V$ is finite dimensional, then $V$ is also isomorphic to $V^*$, but there is no natural isomorphism $V\tilde\to V^*$.
A: This is an extrapolation on Randall's comment. 
In mathematical books, there is always two languages at use: the mathematical language, rigorously defining its objects, and plain english/french/italian/whatever, giving contexts and matter to the reader. Humans are not type-checkers, also they need incentives to understand what another mathematician wants to pass on.
"Canonical", in "canonical isomorphism", is not defined because it is part of the common language in which the book is written. The word is used for the reader to grasp the notions at hand, not as a mathematical construction. It is an incentive for the reader to recognize the importance and self-obviousness of the isomorphism. 
If your read some category theory, you probably encountered "forgetful functor" without definition: the mathematical part is "functor", the word "forgetful" is just giving the reader something to hold on, something that eases its comprehension of the functor at hand. (To be quite fair, some authors sometimes define forgetful functors as faithful functors having a let adjoint, but it still leaves out functors you still want to think as "forgetful".) 
Yet another example is "trivial". When an author write "the proof is trivial", he does not mean that there is a predicate $\mathsf{triv}(x)$ on formal proofs and that this precise proof happens to validate this predicate. He just means : do the proof it is easy for the reader that can follow up to here. Again it is an incentive for the reader, much more compelling that "the proof exists".
All in all, if you were to write the entire book in a formal setting (say Coq) "canonical" would not be translated, you would just use the definition of the isomorphism to refer to it. Because formal systems do not respond to incentives, we do.
A: "Canonical" is an informal term often used in mathematics. Sometimes it means you and your neighbour would come up with the same map. Sometimes it means it doesn't use any choice. Sometimes it means it does use some choice but it is independent of such choice.
A: When you have an equivalence class of objects, "canonical" refers to your favourite or the most obvious element of the equivalence class to call the class by. For example, with the equivalence classes used to define the rational numbers the canonical element is the fraction in reduced form, i.e. $\frac{1}{2}$ instead of $\frac{2}{4}$. We could just as easily call the fraction by the latter but this is not as "natural". Another example is denoting equivalence classes of matrices by their reduced row echelon form. And so on...
A: Sometimes you can prove that two object $A$ and $B$ of a given category are isomorphic but you are not able to exhibit an explicit morphism $f \in \text{Hom}(A,B)$ which is an isomorphism. This situation can occur but is in general not very interesting. In most situations, we want to know explicitely what are the isomorphisms that occur in a given construction.
If you can exhibit such a $f$ (in general there is only "one intuitive and natural isomorphism"), then you can say that it is a canonical isomorphism. 
A: Cannonical Meaning Explained in Both Math and Computer Science Field

In mathematics and computer science, a canonical, normal, or standard form of a mathematical object is a standard way of presenting that object as a mathematical expression. ... In this context, a canonical form is a representation such that every object has a unique representation.
