Exercises in elementary analysis often require students to find the boundary of certain sets of $\mathbb{R^n}$ which may usually look like this:
$$S=\{ (x,y,z)\in\mathbb{R^3} : F(x,y,z)\leq c \}$$
where $F(x,y,z)$ is a polynomial in three variables, e.g. $F(x,y,z)=x^2+y^2+z^2$, and $c$ is a real number.
Now, most of the times, the set is quite easy to draw, and one can visually infer what the boundary is with little effort (and it usually turns out to be $F(x,y,z)=c$); however, this is not always the case. I was wondering, therefore, whether an algorithm to find the boundary of a set given the inequalities that define it existed, and which does not appeal to drawings/visualizations.
More formally, suppose I have $n$ polynomial functions $F_i: \mathbb{R^m}\rightarrow \mathbb{R}$, and the $n$ sets $S_i=\{(x_1,...,x_n)\in \mathbb{R^m} : F_i(x_1,...,x_n)\leq c_i\}$, where $1\leq i \leq n$ and $c_i$ are real numbers. Is there a not-too-laborious algorithm to determine the boundary of $$\bigcap_{1\leq i\leq n} S_i$$?