Prove that for each $f\in L^1([0,1])$ we have $\lim_{n \to\infty}\int_0^1 f(x)g_n(x)dx=0$. I would be glad if someone could help me to prove the following exercise.
Let $\{g_n\}$ be a sequence of measurable functions on $[0,1]$ such that
(a) There exists a constant $C>0$ such that for each $n\in \Bbb N$, $|g_n(x)|\leq C$ for almost all $x\in[0,1]$.
(b) For every $a\in [0,1]$, $\lim_{n\to\infty}\int_0^a g_n(x)dx=0$.
Prove that for each $f\in L^1([0,1])$ we have $\lim_{n \to\infty}\int_0^1 f(x)g_n(x)dx=0$.

Attempt. Suppose $f$ is a step function defined on $[0,1]$. We show that $\lim_{n \to\infty}\int_0^1 f(x)g_n(x)dx=0$. Say $f=\sum_{i=1}^N c_i\chi_{E_i}$ for some disjoint intervals $E_1,\dots,E_N\subseteq [0,1]$. Then
$$ \lim_{n \to\infty}\int_0^1 f(x)g_n(x)dx=\lim_{n\to\infty}\int_0^1 \left(\sum_{i=1}^N c_i\chi_{E_i}(x)\right) g_n(x)dx=\sum_{i=1}^Nc_i\int_{E_i}g_n(x)dx=0$$ since for each $n\in\Bbb N$ and  $a,b\in [0,1]$ with $a\leq b$ we have
$$\int_a^b g_n(x)dx=\int_0^b g_n(x)dx -\int_0^a g_n(x)dx \implies \lim_{n\to\infty}\int_a^bg_n(x)dx=0.$$
Question. Does there exist a sequence $\{f_n\}$ of step functions on $[0,1]$ such that $0\leq f_1\leq f_2\leq\dots$ and $f_n$ converges to $|f|$ pointwise almost everywhere on $[0,1]$?
Even if the answer is yes, I couldn't conclude the proof by monotone convergence theorem. Thanks!
 A: Your beginning is good: Show that on step functions, the claim is true, and then try and generalize. Here is probably the simplest way to approximate a generic function with step functions.
First, the monotone convergence theorem will probably be hard to use here, since the $g_n$ are not non-negative functions. So, instead we approach things differently. It is true that step functions are dense in $L^1$: for every $\epsilon > 0$ and $f \in L^1,$ you can find a step function $s$ so that $\int_0^1 |f - s| < \epsilon.$
(Here's one idea on how to do this approximation. First, recall that simple functions are dense in $L^1,$ and so it suffices to argue that the characteristic function of an arbitrary measurable set is well-approximated by a step function. But this is easy, since by definition of the Lebesgue outer measure, we can find a cover of our measurable set by intervals, so that the measure of the interval cover comes arbitrarily close to the measure of our set.)
Anyways, with this approximation in hand, just notice that
$$\int_0^1 |fg_n - sg_n| \leq \int_0^1 |g_n| \cdot |f-s| \leq C\epsilon.$$
Hence, since you've already shown that for all step functions $s,$ the integral $\int_0^1 sg_n \rightarrow 0,$ you can conclude the claim in general (specifically, you can show that the limsup of $\left|\int_0^1 fg_n\right|$ is bounded above by $C\epsilon$ for every $\epsilon > 0,$ so that letting $\epsilon \rightarrow 0$ you recover the desired statement).
This is a fairly common technique for proving identity about $L^p$ or other function spaces: Never ever ever work with an arbitrary function. Instead, prove it for some easy to work with class of functions (for $L^1$ usually step functions or simply functions are a good choice, and for general spaces usually continuous functions with compact support are a good choice), then approximate arbitrary functions by your 'nice' functions. Never work hard! Almost always you can find some large family of functions for which the claim is trivial (like here with step functions), and then use an easy approximation argument.
