I have a homogeneous ideal $I=\langle f_1,\ldots,f_r\rangle$ of the polynomial ring $\mathbb C[X_1,\ldots,X_n]=:R$ where each of the $f_i$ is actually over $\mathbb Z$. My computations are usually performed over $\mathbb Q$. As an additional note, the $f_i$ are all homogeneous of the same degree. I also have a monomial $\mu = X^\alpha$, where $\alpha\in\mathbb N^n$ is some multi-index. I don't know if it matters that $\mu$ is a monomial.

Several computer algebra systems (magma, sage, macaulay2) can tell me that $\mu\in I$, but only in SAGE I could find a method to compute $g_1,\ldots,g_r\in R$ with $\sum_{i=1}^r g_i f_i = \mu$. Unfortunately, this method seems to crash the SAGE kernel, because after a couple of minutes the execution simply stops with no result, and SAGE has forgotten everything from the session. I have two questions:

- How do Computer Algebra systems check ideal membership without actually creating a certificate? In other words, how do they know $\mu\in I$ without having the $g_i$ that prove it?
- I would really like to know those $g_i$. Given that SAGE just flat-out crashes on me, do you know any other options I could try? There might be routines in other computer algebra systems that I am simply unaware of and which I could try.