well, any isomorphism must be a bijection of sets. and isomorphisms must "preserve the operation" that is:

h(x.y) = h(x)*h(y).

note that this means:

h(x) = h(e.x) = h(e)*h(x) for all x in G, so h(e) must be the identity i of H.

for h to be bijective, h(a) must then be b.

but now we need to check that for all x,y in G, h(x.y) = h(x)*h(y). fortunately, G is small, so there are only 4 products to check: e.e, e.a, a.e, and a.a.

note that by the definition of an identity of a group e.a = a.e = a, and e.e = e. what is a.a? there's only two possibilities: a.a = a, or a.a = e.

i claim a.a cannot possibly be a. for a^{-1}is one of {e,a}, so if a.a = a then:

a^{-1}.(a.a) = a^{-1}.a

(a^{-1}.a).a = e (associativity on the left, definition of inverse on the right)

e.a = e (definition of inverse on the left)

a = e (definition of identity on the left).

but this is a contradiction, a is different than e. thus a.a = e (which shows that a is its own inverse).

similar reasoning shows i*i = i, i*b = b*i = b, b*b = i. now we can prove h, defined by:

h(e) = i

h(a) = b is an isomorphism.

h(e.e) = h(e) = i = i*i = h(e)*h(e)

h(a.e) = h(a) = b = b*i = h(a)*h(e)

h(e.a) = h(a) = b = i*b = h(e)*h(a)

h(a.a) = h(e) = i = b*b = h(a)*h(a)

in other words, G and H "act the same" we just "re-named" a to b, e to i, and . to *.