Is there any way to universally define the notion of $\text{Isomorphism}$? Suppose we want to give a very general definition of the term Isomorphism, first of all, we'll want an isomorphism to be a bijective function.
Informally, we want our function to preserve whatever 'structure' we're talking about, may it be: multiplication, addition, order if we're about ordered fields, or maybe adjacency if talking about graphs, etc.
However, after thinking about this for a few hours, I could not come up with a precise definition of the term which could fit every context.
Do you think such a definition is possible?
 A: I think category theory answers the question. An isomorphism in a category is just a morphism which has a two-sided inverse. 
Now, what is a morphism? This depends on the category you're working on. For example we have:


*

*the category of topological spaces, where continuous functions are the morphisms;

*the category of vector spaces, where continuous linear maps are the morphisms;

*the category of groups, where group homomorphisms are the morphisms;

*the category of differentiable manifolds, where smooth functions are the morphisms;

*the category of sets, where functions are morphisms,

*etc.


For example, homeomorphisms are the isomorphisms in the category of topological spaces (we even see once in a while people say that homeomorphic topological spaces are topologically isomorphic).
A: Well, since all your examples are first-order structures, let's look at model theory. 
We consider structures of the following form: an underlying set $X$ ("domain") and a bunch of functions, relations, and constants on that set - denoted $\mathcal{M}=(X; ...)$.
In the background is a signature: a set of function, relation, and constant symbols. Really, $\mathcal{M}$ is a set $X$ together with an interpretation in $X$ of each of the symbols in the relevant signature. For instance, in the context of groups the signature (usually) has a binary function symbol, a unary function symbol (inverse), and a constant (identity).
Fixing a signature $\Sigma$, a homomorphims between two $\Sigma$-structures $\mathcal{M}=(X; ...)$ and $\mathcal{N}=(Y; ...)$ is a function $H$ from $X$ to $Y$ which preserves the signature; that is - 


*

*For each constant symbol $c\in \Sigma$, $c^\mathcal{N}=H(c^\mathcal{M})$.

*For each $n$-ary function symbol $f\in\Sigma$ and each tuple $a_1, . . . , a_n\in X$, we have $H(f^\mathcal{M}(a_1, . . . , a_n)=f^\mathcal{N}(H(a_1),  . . . , H(a_n))$.

*And for each $n$-ary relation symbol $R\in\Sigma$ and each tuple $a_1, . . . , a_n\in X$, we have $R^\mathcal{M}(a_1, . . . , a_n)\implies R^\mathcal{N}(H(a_1), . . . , H(a_n))$. Note that this is not an "$\iff$".
Here expressions like "$f^\mathcal{M}$" denote the interpretation of the symbol $f$ in the structure $\mathcal{M}$.
I've been a bit imprecise above. More formally, we start with the signature $\Sigma$, and then a $\Sigma$-structure is a set $X$ (usually assumed to be nonempty) together with a map $\mathfrak{I}$ from $\Sigma$ to $$X\cup[\bigcup_{n\in\mathbb{N}}\mathcal{P}(X^n)]\cup[\bigcup_{n\in\mathbb{N}} X^{(X^n)}]$$ such that for each $n$-ary relation symbol $R$ in $\Sigma$, $\mathfrak{I}(R)\in\mathcal{P}(X^n)$, etc.
This is explained in detail in any good book on model theory.

OK, so what doesn't this capture?
Well, the most glaring example is something like a topological space - where you don't only have properties of elements, but also properties of sets of elements (e.g. "is open" is a property of sets of points). A topological space isn't really a first-order structure.
Now, we can salvage this! We can view a topological space as a structure, with underlying set the disjoint union of $\{$points$\}$ and $\{$sets of points$\}$, and structure given by the relation $\in$ and the predicate "is not open". Then if $\mathcal{M}$ and $\mathcal{N}$ are structures in this signature arising from topological spaces, a homomorphism in the sense above is exactly a continuous map.
But this is kind of unnatural, and it's around this point that category theory really starts to be the right way to do things.
A: I think your question is somewhat backwards.  Saying what the isomorphisms of a kind of structure are is part of what it means to even define that structure.  That is, if you're inventing some new kind of mathematical structure called a "widget", and you just define what a "widget" is, you haven't truly defined what "widget" means.  Only once you've also defined what an "isomorphism of widgets" is do you really know what a widget is.
Let's take the example of a group.  A group is an ordered quadruple $(G,\cdot, 1,{}^{-1})$, where $G$ is a set, $\cdot:G\times G\to G$ is a function, $1\in G$ is an element, ${}^{-1}:G\to G$ is a function, and these satisfy certain axioms ($\cdot$ is associative, $1$ is a unit for $\cdot$, and ${}^{-1}$ maps an element to its inverse with respect to $\cdot$).  The problem with this definition is that it contains too much information.  In particular, we don't actually care what the elements of $G$ are; we only care about how they interact with each other using the other parts of the definition.  To indicate that we don't care about this information, we define what an isomorphism of groups is.  Since an isomorphism of groups is allowed to replace the elements with other elements, that tells us that when we have a group, we don't really care what its elements are.  That is, our choice of definition of "isomorphism" clarifies what parts of the definition we're allowed to change without changing what the "group" really is.
In most familiar cases, "isomorphisms" follow the pattern of groups: the only information they "throw away" is the identities of the elements of the "underlying set" of your structure.  But sometimes you define isomorphisms to ignore more of the structure.  For instance, a smooth manifold is sometimes defined as a topological space with a covering by Euclidean charts with smooth transition functions.  But a "smooth manifold" doesn't actually care about exactly what atlas you put on it; some atlases give rise to the same manifold structure.  To clarify this, you must define what it means for a map to be an isomorphism of smooth manifolds (usually called a diffeomorphism).  (Alternatively, it turns out that any manifold does have a single atlas which is "canonical", namely the maximal atlas.  But in practice, you usually define individual manifolds by just giving some atlas, so it can be convenient to just let your definition allow any atlas.)
So, if isomorphisms are something you must specify when defining a kind of structure, what exactly can they be?  I would say that the only real restriction on what you can define "isomorphisms of widgets" to be is that they must form a groupoid whose objects are widgets.  That is, there is an operation called "composition" which takes isomorphisms $A\to B$ and $B\to C$ and gives isomorphisms $A\to C$, composition is associative, each widget has an isomorphism $A\to A$ which is an identity for composition, and for each isomorphism $A\to B$ there is an isomorphism $B\to A$ which is an inverse with respect to composition.  You should think of this as a "categorification" of the notion of "equivalence relation": isomorphisms are "ways that two widgets are the same", so the relation of being isomorphic (namely, that there exists an isomorphism between two widgets) should be an equivalence relation.  Indeed, the procedure described above of using isomorphisms to "throw away unnecessary information" is very similar to the common procedure of putting an equivalence relation on a set to forget about distinctions between its elements that you don't care about.  The axioms of a groupoid then correspond to the axioms of an equivalence relation: the existence of identities is reflexivity, the existence of inverses is symmetry, and composition is transitivity.  But the groupoid of isomorphisms carries more information than just the equivalence relation "isomorphic", because two widgets can be isomorphic to each other in multiple different ways.
