O Teorema de Riemann-Roch e diferentes formas de generalizar o Semigrupo de Weierstrass