[proofplan]
We verify the defining conditions for a modular form of weight $k+\ell$ on $SL_2(\mathbb{Z})$. The product of holomorphic functions is holomorphic on $\mathbb{H}$, and the two automorphy factors multiply to give the correct transformation law. At the cusp $\infty$, we use the $q$-expansions of $f$ and $g$; their product has a convergent $q$-expansion with non-negative powers, and if one original constant term is zero then the product constant term is zero.
[/proofplan]
[step:Multiply the transformation laws to obtain weight $k+\ell$]
Let
\begin{align*}
h: \mathbb{H} &\to \mathbb{C} \\
z &\mapsto f(z)g(z)
\end{align*}
be the pointwise product. Since $f$ and $g$ are modular forms of weights $k$ and $\ell$ on $SL_2(\mathbb{Z})$, for every matrix
\begin{align*}
\gamma =
\begin{pmatrix}
a & b \\
c & d
\end{pmatrix}
\in SL_2(\mathbb{Z})
\end{align*}
and every $z \in \mathbb{H}$, we have
\begin{align*}
f(\gamma z) &= (cz+d)^k f(z), \\
g(\gamma z) &= (cz+d)^\ell g(z),
\end{align*}
where $\gamma z := \frac{az+b}{cz+d}$. Multiplying these two identities gives
\begin{align*}
h(\gamma z)
&= f(\gamma z)g(\gamma z) \\
&= (cz+d)^k f(z)(cz+d)^\ell g(z) \\
&= (cz+d)^{k+\ell}h(z).
\end{align*}
Thus $h$ satisfies the modular transformation law of weight $k+\ell$ for $SL_2(\mathbb{Z})$.
[guided]
The transformation law is the algebraic part of the definition of a modular form. We must prove it for the new function $h$, not merely state that products behave well.
Define the product map
\begin{align*}
h: \mathbb{H} &\to \mathbb{C} \\
z &\mapsto f(z)g(z).
\end{align*}
Let
\begin{align*}
\gamma =
\begin{pmatrix}
a & b \\
c & d
\end{pmatrix}
\in SL_2(\mathbb{Z})
\end{align*}
and let $z \in \mathbb{H}$. Since $f$ has weight $k$, its transformation law gives
\begin{align*}
f(\gamma z) = (cz+d)^k f(z).
\end{align*}
Since $g$ has weight $\ell$, its transformation law gives
\begin{align*}
g(\gamma z) = (cz+d)^\ell g(z).
\end{align*}
Multiplying the two equations is legitimate because all quantities are complex numbers. We obtain
\begin{align*}
h(\gamma z)
&= f(\gamma z)g(\gamma z) \\
&= (cz+d)^k f(z)(cz+d)^\ell g(z) \\
&= (cz+d)^{k+\ell}f(z)g(z) \\
&= (cz+d)^{k+\ell}h(z).
\end{align*}
This is exactly the automorphy relation required for weight $k+\ell$.
[/guided]
[/step]
[step:Use holomorphy of products on the upper half-plane]
The functions $f: \mathbb{H} \to \mathbb{C}$ and $g: \mathbb{H} \to \mathbb{C}$ are holomorphic by hypothesis. Since pointwise products of holomorphic complex-valued functions are holomorphic, the map $h: \mathbb{H} \to \mathbb{C}$, $z \mapsto f(z)g(z)$, is holomorphic on $\mathbb{H}$.
[/step]
[step:Multiply the $q$-expansions to prove holomorphy at the cusp]
Set
\begin{align*}
q: \mathbb{H} &\to \mathbb{C} \\
z &\mapsto e^{2\pi i z}.
\end{align*}
Since $f$ and $g$ are holomorphic at the cusp $\infty$, there exist complex sequences $(a_n)_{n=0}^{\infty}$ and $(b_n)_{n=0}^{\infty}$ such that, for all $z \in \mathbb{H}$ with $|q(z)|$ sufficiently small,
\begin{align*}
f(z) &= \sum_{n=0}^{\infty} a_n q(z)^n, \\
g(z) &= \sum_{n=0}^{\infty} b_n q(z)^n,
\end{align*}
and both [power series](/page/Power%20Series) converge in a neighbourhood of $q=0$. Define the sequence $(c_n)_{n=0}^{\infty}$ by
\begin{align*}
c_n := \sum_{r=0}^{n} a_r b_{n-r}.
\end{align*}
The product of two convergent power series has the Cauchy product expansion in a possibly smaller neighbourhood of $q=0$, so
\begin{align*}
h(z)
&= f(z)g(z) \\
&= \left(\sum_{r=0}^{\infty} a_r q(z)^r\right)
\left(\sum_{s=0}^{\infty} b_s q(z)^s\right) \\
&= \sum_{n=0}^{\infty} c_n q(z)^n
\end{align*}
for all $z \in \mathbb{H}$ with $|q(z)|$ sufficiently small. This expansion contains only non-negative powers of $q$, so $h$ is holomorphic at the cusp $\infty$.
[guided]
The cusp condition is best checked in the local coordinate $q=e^{2\pi i z}$. Define
\begin{align*}
q: \mathbb{H} &\to \mathbb{C} \\
z &\mapsto e^{2\pi i z}.
\end{align*}
The condition that $f$ is holomorphic at $\infty$ means that near $q=0$ it has a convergent power series with no negative powers:
\begin{align*}
f(z) = \sum_{n=0}^{\infty} a_n q(z)^n
\end{align*}
for a complex sequence $(a_n)_{n=0}^{\infty}$. Similarly, the condition that $g$ is holomorphic at $\infty$ gives a complex sequence $(b_n)_{n=0}^{\infty}$ such that
\begin{align*}
g(z) = \sum_{n=0}^{\infty} b_n q(z)^n
\end{align*}
near $q=0$.
We now multiply these two expansions. For each integer $n \geq 0$, define the coefficient
\begin{align*}
c_n := \sum_{r=0}^{n} a_r b_{n-r}.
\end{align*}
This is the Cauchy product coefficient of total degree $n$. Since both original power series converge in a neighbourhood of $q=0$, their product is again represented by the Cauchy product in a possibly smaller neighbourhood of $q=0$. Hence, for all $z \in \mathbb{H}$ with $|q(z)|$ sufficiently small,
\begin{align*}
h(z)
&= f(z)g(z) \\
&= \left(\sum_{r=0}^{\infty} a_r q(z)^r\right)
\left(\sum_{s=0}^{\infty} b_s q(z)^s\right) \\
&= \sum_{n=0}^{\infty} c_n q(z)^n.
\end{align*}
No negative powers of $q$ appear in this expansion. Therefore the product $h$ is holomorphic at the cusp $\infty$.
[/guided]
[/step]
[step:Read off the constant term to prove cuspidality]
The constant term of the $q$-expansion of $h$ is
\begin{align*}
c_0 = a_0 b_0.
\end{align*}
If $f \in S_k(SL_2(\mathbb{Z}))$, then $a_0=0$, and hence $c_0=0$. If $g \in S_\ell(SL_2(\mathbb{Z}))$, then $b_0=0$, and hence again $c_0=0$. Thus, whenever at least one of $f$ and $g$ is cuspidal, the product $h$ has zero constant term at $\infty$. Therefore $h \in S_{k+\ell}(SL_2(\mathbb{Z}))$.
Combining the transformation law, holomorphy on $\mathbb{H}$, and holomorphy at the cusp proves $h \in M_{k+\ell}(SL_2(\mathbb{Z}))$, and the preceding paragraph proves the asserted cusp-form statement.
[/step]