Proof of $\sup AB=\max\{\sup A\sup B,\sup A\inf B,\inf A\sup B,\inf A\inf B\}$ I want to prove the following result:
Theorem $\quad $ If $A$ and $B$ are bounded sets of real numbers, then
    \begin{gather*}\tag{$\star$}
  \sup(A\cdot B)=\max\{\sup A\cdot\sup B, \sup A\cdot\inf B, \inf A\cdot\sup B, \inf A\cdot\inf B\}.
 \end{gather*}
Although in the thread Show that  sup(A⋅B)=max{supA⋅supB,supA⋅infB,infA⋅supB,infA⋅infB}, some suggestions are given, but I have trouble in understanding them. So
I have tried to prove as follows. Please check whether it is right or wrong. Note that $AB$ is defined by $$AB=\{z\in\mathbb{R}\mid \exists x\in A, y\in B: z=xy\}.$$
In order to prove this theorem, we need the following lemma.
Lemma $\quad $
    Let $A$ and $B$ be nonempty sets of nonnegative real numbers. Suppose that $A$ and $B$  are bounded  above. Then
    \begin{gather*}
  \sup AB=\sup A\cdot\sup B.
 \end{gather*}
Proof.
    Let $A\subset [0,+\infty)$ and $B\subset [0,+\infty),$ and $A,B$ nonempty, bounded above.  Put $a=\sup A, b=\sup B, c=\sup AB.$ Since $A\subset [0,+\infty)$ and $B\subset [0,+\infty),$   we see that $0$ is a lower bound of both $A$ and $B,$ so $a, b, c$ are nonnegative.  Let $z\in AB.$ Then there are $x\in A, y\in B$ such that $z=xy.$  Since $0\leq x\leq a$ and $0\leq y\leq b,$ we have $xy\leq ab.$  So $z\leq ab.$ By arbitrariness of $z,$ we deduce that $ab$ is an upper bound  of $AB.$  Hence $c\leq ab.$   Note that $c\geq0.$  If $c<ab,$ then we have $a>0$ and $b>0.$ It follows that $\frac{c}{b}<a=\sup A.$  Hence there exists $x_1\in A$ such that $\frac{c}{b}<x_1.$  So $x_1>0.$ Then we deduce that $\frac{c}{x_1}<b=\sup B.$ So there exists $y_1\in B$ such that $\frac{c}{x_1}<y_1.$ From $x_1>0$ it follows that $c<x_1y_1.$  But $x_1y_1\in AB,$ so we have $\sup AB=c<x_1y_1\in AB,$ which is absurd.  Hence we have $c\geq ab.$ And thus we conclude that $\sup AB=c=ab=\sup A\cdot \sup B.$  $\qquad\Box$
Proof of the theorem.
let $A$ and $B$ be bounded sets of real numbers. Put 
 \begin{gather*}
  a=\sup A, \quad a'=\inf A,\quad b=\sup B,\quad b'=\inf B, \quad c=\sup AB.
 \end{gather*} 
 We shall prove that $c=\max\{ab,a'b,ab',a'b'\}.$   And we plan to prove this statement by cases.
(i)   Case $a'\geq 0, b'\geq 0.$   Thus, for $x\in A$ and $y\in B,$ we have $a\geq x\geq a'\geq 0, b\geq y\geq b'\geq 0,$ so $A\subset [0,+\infty), B\subset [0,+\infty),$ and  $a'b\leq ab,  ab'\leq ab, a' b'\leq ab,$ which implies  that $\max\{ab,a'b,ab',a'b'\}=ab.$  By the above Lemma , we have $\sup AB=\sup A\cdot \sup B=ab.$ Hence in this case the desired equality $(\star)$ holds.
(ii) $a'\geq 0, b'<0.$   In this case we have for all $x\in A,$  $x\geq a'\geq 0,$ and so $x\geq 0.$ We consider two sub-cases. 
(ii.1) $b>0.$  In this case $0\leq a'\leq a,  b'<0<b,$ so $a'b\leq ab, ab'\leq a'b'\leq 0\leq ab,$ which gives that 
 $\max\{ab,a'b,ab',a'b'\}=ab.$ 
 Let $z\in AB,$ then there exists $x\in A, y\in B$ such that $z=xy.$ Since $x\geq 0,$  $xy\leq xb\leq ab.$ And so $c\leq ab.$  If $a=0,$ then we deduce that $a'=0,$ and so $A=\{0\}=AB,$ which shows the desired result is obvious.  If $a>0,$ then, for every $0<\epsilon<\min\{a,b\},$ we have $a-\epsilon>0, b-\epsilon>0.$ Hence there exist $x_1\in A, y_1\in B$ such that $x_1>a-\epsilon >0, y_1>b-\epsilon>0,$ which implies that $x_1y_1>(a-\epsilon)(b-\epsilon)=ab-\epsilon(a+b-\epsilon).$ Since $\lim_{\epsilon\to 0+}\epsilon(a+b-\epsilon)=0,$ we have, by the order preserving property of limit, $x_1y_1\geq ab,$ and so $c\geq ab.$   It follows  that $c=ab.$  Hence we have proved, in this case, that $\sup AB=c=ab=\max\{ab,a'b,ab',a'b'\}.$
(ii.2) $b\leq 0.$ Then $a'b'\leq a'b$ and $ab'\leq ab\leq a'b.$  So $\max\{ab,a'b,ab',a'b'\}=a'b.$  Let $z\in AB,$ then  there are $x\in A, y\in B$ such that $z=xy\leq xb\leq a'b,$ which implies that $c\leq a'b.$  On the other hand, for every $\epsilon >0,$   there exists $x_2\in A, y_2\in B,$ such that $0\leq x_2<a'+\epsilon, 0\geq b\geq y_2>b-\epsilon,$ it follows that $x_2y_2\geq (a'+\epsilon)y_2>(a'+\epsilon)(b-\epsilon)=a'b+\epsilon(b-a'-\epsilon),$ which implies that $x_2y_2\geq a'b.$  Thus $c\geq a'b.$  As a result, $c=a'b=\max\{ab,a'b,ab',a'b'\}.$  
(iii) $a'<0, b'\geq 0.$  Swapping $A$ and $B,$ and   using Case (ii), the desired result follows.
(iv) $a'<0, b'<0.$ There are four sub-cases.  
(iv.1)  $a> 0, b>0.$  That is, $a'<0<a, b'<0<b.$ Because in this case $a'b<0<a'b'\leq \max\{ab,a'b'\}$ and $ab'<0<ab\leq \max\{ab,a'b'\},$  we deduce that $\max\{ab,a'b,ab',a'b'\}=\max\{ab,a'b'\}.$ 
 Then, for any $x\in A$ and $y\in B,$ we have $xy\leq \max\{ab, a'b'\}.$  Assume first that $\max\{ab, a'b'\}=a'b'.$  For sufficiently small $\epsilon>0,$ such that $a'+\epsilon<0$ and $b'+\epsilon<0,$  there exist $x^*\in A$ and $y^*\in B$ for which $x^*<a'+\epsilon<0$ and $y^*<b '+\epsilon<0.$ This gives $x^*y^*>(a'+\epsilon)(b'+\epsilon)=a'b'+\epsilon(a'+b'+\epsilon).$
 Hence $\sup AB=c\geq x^*y^*\geq a'b'.$  Therefore $a'b'$ is the least upper bound  of $A\cdot B.$  In the case where $\max\{ab, a'b'\}=ab,$   for sufficiently small $\epsilon>0,$  such that 
 $a-\epsilon>0$ and $b-\epsilon>0,$
 there exists $x_1\in A$ and $y_1\in B$ such that  $x_1>a-\epsilon>0,  y_1>b-\epsilon>0.$ This gives $x_1y_1>(a-\epsilon)(b-\epsilon)=ab-a\epsilon-\epsilon(b-\epsilon)=ab-\epsilon\big(a+b-\epsilon\big).$ Since 
 $\lim_{\epsilon\to 0+}\epsilon\big(
 a+b-\epsilon\big)=0,$ the order preserving property of limit gives that $x_1y_1\geq ab,$ and hence $c\geq ab.$  Therefore $\sup (AB)=c=ab=\max\{ab,a'b,ab',a'b'\}.$ Therefore we have proved that, in this sub-case, $\sup AB=\max\{ab,ab',a'b,a'b'\}.$
(iv.2) $a>0, b\leq 0.$  Then $ab\leq 0\leq a'b\leq a'b',  ab'\leq 0\leq a'b',$ which gives that $\max\{ab,a'b,ab',a'b'\}=a'b'.$ 
 In this case, for every $y\in B,$  $y\leq 0.$  Let $z\in AB,$ then there exist $x\in A, y\in B$ such that $z=xy.$  If $x\geq 0,$ then  since $a'< x\leq a,$ so $z=xy\leq a'y\leq a'b';$ while if $x<0,$ then $z=xy\leq a'y\leq a'b'.$  Hence $a'b'$ is an upper bound of $AB.$  Since $a'<0$ and $b'<0,$ for sufficiently small $\epsilon>0,$ 
 such that $a'+\epsilon<0$ and $b'+\epsilon<0,$
  there exist $x_1\in A, y_1\in B$ such that $x_1<a'+\epsilon<0, y_1<b'+\epsilon<0,$ which implies that 
 $x_1y_1>(a'+\epsilon)(b'+\epsilon)=a'b'+\epsilon(a'+b'+\epsilon)\to a'b', $ as $\epsilon\to 0+0.$ Hence $x_1y_1\geq a'b'.$  Thus $c=\sup AB\geq x_1y_1\geq a'b'.$  Therefore we have $\sup AB=c=a'b'=\max\{ab,a'b,ab',a'b'\}.$ 
(iv.3)  $a\leq 0, b>0.$  Similar to sub-case (iv.2), or you can argue by simply swapping  $A$ and $B.$
(iv.4) $a\leq 0, b\leq 0.$  Because in this case $a,a',b,b'$ are non-positive, $ab\leq a'b\leq a'b',$ and $ab'\leq a'b',$ we deduce that $\{ab,a'b,ab',a'b'\}=a'b'.$ 
  For every $x\in A, y\in B,$ we have $a'\leq x\leq a\leq 0, b'\leq y\leq b\leq 0,$ so 
 $xy\leq a'b'.$  From this it follows that $a'b'$ is an upper bound of $AB.$   Let $\epsilon>0$ be sufficiently small such that
 $a'+\epsilon<0$ and $b'+\epsilon<0.$
  Then there exist $x_1\in A, y_1\in B$ such that $x_1<a'+\epsilon<0, y_1<b'+\epsilon<0.$ So $x_1y_1>(a'+\epsilon)(b'+\epsilon)=a'b'+\epsilon(a'+b'+\epsilon). $  It follows  that $c\geq a'b'.$  As a consequence, we have $c=a'b'=\max\{ab,a'b,ab',a'b'\}.$
$\qquad\Box$
 A: Given a set $A \subset \mathbb{R}$, define $A^-=A \cap (-\infty, 0]$ and $A^+=A \cap (0, +\infty)$. Of course, $A=A^- \cup A^+$.
Observe that 
$$AB=(A^- \cup A^+) \cdot (B^- \cup B^+)$$
$$=(A^- B^-) \cup (A^- B^+) \cup (A^+ B^-) \cup (A^+ B^+)$$
So $\sup(AB)=\max(\sup(A^- B^-), \ \sup(A^- B^+), \ \sup(A^+ B^-), \ \sup(A^+ B^+))$. Here, I'm considering $\sup \emptyset = -\infty$.
Suppose first that $A^-, A^+, B^-$ and $B^+$ are all nonempty.
Then 
$$ \sup A \sup B = \sup A^+ \sup B^+ =^{lemma} \sup A^+ B^+$$
$$ \sup A \inf B = \sup A^+ \inf B^- = -\sup A^+ \sup (-B^-)=^{lemma} - \sup(-A^+ B^-) = \inf(A^+ B^-) \le \sup(A^+ B^-)$$
$$ \sup B \inf A = \sup B^+ \inf A^- = -\sup B^+ \sup (-A^-)=^{lemma} - \sup(-B^+ A^-) = \inf(B^+ A^-) \le \sup(B^+ A^-)$$
$$ \inf A \inf B = \inf A^- \inf B^- = \sup(- A^-) \sup (-B^-) =^{lemma} \sup A^- B^-$$
Consider $S= \max(\sup A \sup B, \ \sup A \inf B, \ \sup B \inf A, \ \inf A \inf B)$. Then $S \le \sup(AB)$. Since it is clear that $S \ge \sup(AB)$, it follows that $S = \sup(AB)$.
The other cases can be dealt with, similarly.
A: If using the Lemma you provided, it can easier to write the answer:
Let A = A+ U A-, B = B+ U B-, where A+ are the non-negative part of A, similar to others.
Note that: 
(a) A+B- <= 0, A-B+ <=0, A+B+ >= 0, A-B- >= 0
(b) sup(A) = sup(A+), inf(A) = inf(A-), similar to B.
Then consider the cases of A+, A-, B+, B- about whether they are empty.
(1) if none of them are empty, since, then:
    sup (AB) = sup(sup(A+B+), sup(A-B-))
(2) if only one of them is empty, without losing generality, say A+ or A-.
    if A+ is empty, Sup(AB) = sup(inf(A-B-))
    if A- is empty, Sup(AB) = Sup(sup(A+B+))
(3) if two of them are empty, without losing generality, say (A+, A-), (A+, B+), (A+, 
    B-). you can do a similar discussion.
(4) if three of them are empty or all of them are empty, it becomes trivial cases.
combine them together and (b), you can summarize them all in your expression.
