Let $\Omega \subset \mathbb{R}^n$ be an open and bounded set. Let $\{f_n\}_{n \in \mathbb{N}} \subset L^2(\Omega)$ and $\{g_n \}_{n \in \mathbb{N}} \subset L^{\infty}(\Omega)$. Suppose there exists $c > 0$ such that
$$\|g_n\|_{L^{\infty}} \geq c, \ \forall n \in \mathbb{N}$$ and also that $$\int_{\Omega}(\|g_n\|_{L^{\infty}} f_n(x) - \|g_m\|_{L^{\infty}} f_m(x) )(f_n(x)-f_m(x)) \ \mathrm{d} x \leq 0 \ \forall n, m \in \mathbb{N}$$ a) Suppose that $\|g_n\|_{L^{\infty}} \leq \|g_{n+1} \|_{L^{\infty}}$ for all $n \in \mathbb{N}$. Prove that $\{f_n\}_{n \in \mathbb{N}}$ is convergent in $L^2(\Omega)$.
b) Suppose that $\|g_n\|_{L^{\infty}} \geq \|g_{n+1} \|_{L^{\infty}}$ for all $n \in \mathbb{N}$ and that $\{f_n \}_{n \in \mathbb{N}} $ is bounded in $L^2(\Omega)$. Prove that $\{f_n\}_{n \in \mathbb{N}}$ is convergent in $L^2(\Omega)$.
Here's what I tried: consider the function $h_n: \Omega \to \mathbb{R}$ defined by $h_n(x)=\|g_n\|_{L^{\infty}}(f_{n+1}(x)-f_n(x))^2$. By the hypotheses, we have in particular that:
$$ \begin{aligned} 0 &\geq \int_{\Omega}(\|g_{n+1}\|_{L^{\infty}} f_{n+1}(x) - \|g_n\|_{L^{\infty}} f_n(x) ) (f_{n+1}(x)-f_n(x)) \ \mathrm{d} x \\ &\geq \int_{\Omega}\|g_{n}\|_{L^{\infty}} (f_{n+1}(x)-f_n(x))^2 \ \mathrm{d} x \geq 0 \end{aligned}$$ it follows that $h_n \equiv 0$ for all $n \in \mathbb{N}$, and hence that $\{f_n \}_{n \in \mathbb{N}}$ is constant, and thefore convergent. A very similar argument would work for b). But here's the thing: this is too simple, it doesn't even use the boundedness in b), I must've done something wrong along the way (this was an exam question and my professor gave me zero marks for this argument, so it is probably wrong). Where is it that I made a mistake? And how do I actually prove both a) and b) correctly?
Your proof for a seems good. Maybe he didn't like that you restricted to m = n+1 and that you skipped many steps of "justification" in part a). I didn't try part b, because I spent too much time stuck on a. But after reading your argument I think its good. You are using that |gn| is positive but don't say it, for example (which is where you actually use the constant c for your proof of a). Some teachers take away lots of points for missing details.