First of all, functoriality of restriction is easy. Any intertwinor between -modules is immediately an intertwinor between the restrictions and . Indeed, all it has to do is commute with the action of each on the exact same spaces.
Functoriality of induction is similarly easy. If we have an intertwinor between -modules, we need to come up with one between and . But the tensor product is a functor on each variable, so it’s straightforward to come up with . The catch is that since we’re taking the tensor product over in the middle, we have to worry about this map being well-defined. The tensor is equivalent to . The first gets sent to , while the second gets sent to . But these are equivalent in , so the map is well-defined.
Next: additivity of restriction. If and are -modules, then so is . The restriction is just the restriction of this direct sum to , which is clearly the direct sum of the restrictions .
Finally we must check that induction is additive. Here, the induced matrices will come in handy. If and are matrix representations of , then the direct sum is the matrix representation
And then the induced matrix looks like:
Now, it’s not hard to see that we can rearrange the basis to make the matrix look like this:
There’s no complicated mixing up of basis elements amongst each other; just rearranging their order is enough. And this is just the direct sum .