Why $\det(AB) =\det(A) \det(B)$? I see this in my textbook:

I don't really understand the proof or why elementary matrices are involved. What is going on here?
 A: First, let me give you an slight outline of the approach of your textbook: You first establish the result only for elementary matrices, i.e. that $|EB|=|E|\cdot |B|$. You then generalizes this for arbitrary finite products of elementary matrices, i.e. $|E_1\cdots E_nB|=|E_1|\cdots|E_n||B|$. Why this fondling with elementary matrices? The results above are easy to establish and regular matrices have a representation as a product of elementary matrices. From there on, you can generalize the result.

I want to give you a slightly different approach for a proof: I'm not sure how you have defined the determinant in your textbook, so let me give a convenient definition for my layout. Let $\mathbb{F}$ be a field.

The determinant function of dimension $n$ over $\mathbb{F}$, $\det:(\mathbb{F}^n)^n\to\mathbb{F}$, is the unique such function satisfying
  
  
*
  
*multi-linearity, i.e. $\det$ is linear in each argument.
  
*anti-symmetry, i.e. $a_i=a_j\Rightarrow \det(a_1,\dots,a_n)=0$
  
*normalization, i.e. $\det(e_1,\dots,e_n)=1$ for the unit vectors $e_1,\dots,e_n$ of $\mathbb{F}^n$
  

That this function is unique actually has to be proven, but I skip this. The key thing is to define the determinant directly in the columns of a matrix instead on the whole matrix object. Thus, for a matrix $A\in\mathbb{F}^{(n,n)}$, the expression $\det(A)$ per se has no meaning, but we define $\det(A):=\det(a_1,\dots,a_n)$ for $A=(a_1,\dots,a_n)$ being the corresponding column vector representation, as a an abuse of notation.

Let $A,B\in\mathbb{F}^{(n,n)}$ and let $C=AB$ for $A=(a_1,\dots,a_n), B=(b_1,\dots,b_n)$ and $C=(c_1,\dots,c_n)$ as their column vector representation.
By the rules of matrix multiplication, we have that $c_j=Ab_j$:
$$c_j=Ce_j=\sum_{i=1}^nc_{ij}e_i=ABe_j=Ab_j=A(\sum_{i=1}^nb_{ij}e_i)=\sum_{i=1}^nb_{ij}Ae_i=\sum_{i=1}^nb_{ij}a_i$$
Thus, you we obtain:
$$\det(C)=\det(c_1,\dots,c_n)=\det(Ab_1,\dots,Ab_n)=\det(\sum_{k=1}^nb_{k1}a_k,\dots,\sum_{k=1}^nb_{kn}a_k)=\sum_{k_1=1}^n\sum_{k_2=1}^n\dots\sum_{k_n=1}^n\det(b_{k_11}a_{k_1},\dots,b_{k_nn}a_{k_n})$$
Now, in this nested sum, all these states of the summation indices $k_1,\dots,k_n$ vanish for which the map $i\mapsto k_i$ is not a permutation(bijection) on $\{1,\dots,n\}$ as in these cases anti-symmetry turns the determinant values to $0$. Thus, we can see every remaining such map as a permutation $\sigma$ in the set of all permutation $S_n$. The nested sums vanish and are replaced by one large sum over all permutation, where we additionally pull out(by multi-linearity) the scalar values of $B$. Thus, we have
$$\det(C)=\sum_{\sigma\in S_n}b_{\sigma(1)1}\cdots b_{\sigma(n)n}\det(a_{\sigma(1)},\dots,a_{\sigma(n)})=\sum_{\sigma\in S_n}\mathrm{sign}(\sigma)b_{\sigma(1)1}\cdots b_{\sigma(n)n}\det(a_1,\dots,a_n)=\det(a_1,\dots,a_n)\cdot\sum_{\sigma\in S_n}\mathrm{sign}(\sigma)b_{\sigma(1)1}\cdots b_{\sigma(n)n}=\det(A)\cdot\det(B)$$

In the last steps, I've used two facts about determinants and permutations. First, I've used the following lemma:

Lemma: For any anty-symmetric function $f:(\mathbb{F}^n)^n\to\mathbb{F}$, $\sigma\in S_n$, any $a_1,\dots,a_n\in\mathbb{F}^n$: $$f(a_{\sigma(1)},\dots,a_{\sigma(n)})=\mathrm{sign}(\sigma)f(a_1,\dots,a_n)$$

where $\mathrm{sign}(\sigma)$ is a scalar value, the sign of the permutation $\sigma$. Secondly, I've used that
$$\sum_{\sigma\in S_n}\mathrm{sign}(\sigma)b_{\sigma(1)1}\cdots b_{\sigma(n)n}=\det(B)$$
This is known as the Leibniz-formula for determinants.

EDIT: Since this is a long post and an extensive topic I've tried to cover with the least text possible, any continuing questions or just pointing out errors are/is well-appreciated.
