This paper deals with some basic notions of convex analysis and convex optimization via convex semi-closed functions. A decoupling-type result and also a sandwich theorem are proved. As a consequence of the sandwich theorem, we get a convex sub-differential sum rule and two separation results. Finally, the derived convex sub-differential sum rule is applied to solving the convex programming problem