1 Introduction

The index of the book “The Gröbner Cover” [1] is the following

  • Preface

  • 1. Preliminaries

  • Part 1. Theory

  • 2. Constructible sets

  • 3. Comprehensive Gröbner Systems

  • 4. I-regular functions on a locally closed set

  • 5. The Canonical Gröbner Cover

  • Part 2. Applications

  • 6. Automatic Deduction of Geometric Theorems

  • 7. Geometric Loci

  • 8. Geometric Envelopes

  • Appendix

  • Bibliography

  • Index

2 The Gröbner Cover

The existence of the Gröbner Cover of a parametric polynomial \(I\subset K[{\mathbf {a}}][{\mathbf {x}}]\) ideal is a consequence of Wibmer’s Theorem. It was described in (2010) by Montes and Wibmer [2].

Wibmer’s theorem establishes that for an homogeneous parametric polynomial ideal \(I\subset K[{\mathbf {a}}][{\mathbf {x}}]\) ideal,

  • There exists a canonical partition of the parameter space into locally closed segments \(S_i={\mathbf {V}}({\mathfrak {p}}_i) {\setminus } {\mathbf {V}}({\mathfrak {q}}_i)\);

  • Each segment accepts a set of I-regular functions \(B_i\) that specializes to the reduced Gröbner basis for every point \(\mathbf{a}\in S_i\),

  • Preserving the set of leading power products (\({\text {lpph}}_i\)) of the basis,

  • And each segment \(S_i\) having a different set of \({\text {lpph}}_i\).

The set of triplets \(({\text {lpph}}_i,B_i,S_i)\) constitutes the Gröbner Cover of the homogeneous ideal I.

For a non-homogeneous parametric ideal we proceed as follows:

  • Homogenize the ideal,

  • Determine its Gröbner Cover,

  • And dehomogenize.

The result is the canonical Gröbner Cover of the non-homogeneous ideal. It can contain segments with the same set of \({\text {lpp}}_i\), but deriving from different sets of \({\text {lpph}}_i\) of the homogenized ideal, it is still canonic.

2.1 Example: The Singular Points of a Conic

We give an example to show the reduced number of segments that GC generates, and the canonical character of the output. We consider a conic

$$\begin{aligned} F:=x^2+2cxy+by^2+2dx+2ey+f=0 \end{aligned}$$

and determine their singular points, depending on the parameter values, by considering the system \([F, \frac{\partial {F}}{\partial {x}}, \frac{\partial {F}}{\partial {y}}]\). We can see that the result represents the canonical classification of a conic by its singular points. We consider the ideal

$$\begin{aligned}\left\{ \begin{array}{l} x^2+2cxy+by^2+2dx+2ey+f=0\\ 2x+2cy+2d=0\\ 2cx+2by+2e=0.\\ \end{array} \right. \end{aligned}$$

and apply the grobcov command of the Singular “grobcov.lib” library [3, 4]. We use the option “showhom”,1 in order to show the \({\text {lpph}}_i\) that provides information about the behaviour of the singularities at infinity, which is significant for this problem. The algorithm uses the auxiliary variable @t for homogeneizing. The Gröbner Cover determines four distinct segments, depending on the parameter values. The result can be summarized in the following table:

1. Generic case: \({\text {lpp}}=\{1\}\)

Basis: \(\{1\}\)

Segment:\({\mathbb {C}}^5 {\setminus } {\mathbf {V}}(bd^2-bf+c^2f-2cde+e^2)\)

Description: Non-degenerate conic without singular points.

lpph=1

2. \({\text {lpp}}=\{y,x\}\)

Basis: \(\displaystyle \left\{ y-\frac{d^2-f}{cd-e},\, x-\frac{cf-de}{cd-e}\right\} \)

Segment: \({\mathbf {V}}(bd^2-bf+c^2f-2cde+e^2) {\setminus } {\mathbf {V}}(cd-e,b-c^2)\)

Description: A unique singular point: two intersecting lines.

lpph=y,x

3. \({\text {lpp}}=\{x\}\)

Basis: \(\{x+cy+d\}\)

Segment: \(({\mathbf {V}}(d^2-f,cf-de,cd-e,b-c^2)\)

Description: Singular double line.

lpph=x

4. \({\text {lpp}}=\{1\}\)

Basis: \(\{1 \}\).

Segment: \(={\mathbf {V}}(cd-e,b-c^2) {\setminus } {\mathbf {V}}(d^2-f,cf-de,cd-e,b-c^2)\)

Description: Special case without singular points: two parallel lines.

lpph=@t,x

The above table gives a precise and complete discussion, classifying the conics by their singular points into 4 segments given as the difference between two varieties. The default option determines the P-representation (Prep) of the segment, which in this example is almost the same as the C-representation (Crep), because the segments have one single component with one single hole. (Using option “rep”,1 we would obtain the Crep). The lpph represents the set of lpp of the homogenized ideal that uses the technical auxiliary homogenizing variable @t.

Even if segments 1 and 4 have the same basis \(\{1\}\), showing that the system has no singular points, they correspond to two different types of conics. In segment 1 there is no singular point even considering the points at infinity, as shown by lpph=1, so that the homogenized ideal does not have any solution either. Thus the conic has no singular point at infinity.

For segment 4 the basis is also 1, showing that the conic has no singular points. But lpph=@t,x shows that at infinity it has a solution. Substituting the values of \(b=c^2\) and \(e=cd\), determined by the segment, the variety becomes

$$\begin{aligned} V&={\mathbf {V}}(x^2+2cxy+c^2y^2+2dx+2cdy+f)\\&={\mathbf {V}}\left( (x+cy+d+\sqrt{d^2-f})(x+cy+d-\sqrt{d^2-f})\right) \\&={\mathbf {V}}\left( x+cy+d+\sqrt{d^2-f}\right) \cup {\mathbf {V}}\left( x+cy+d-\sqrt{d^2-f}\right) , \end{aligned}$$

showing that, for \(d^2-f\ge 0\), it consists of two real parallel lines. The two lines intersect at infinity in the projective space, thus the conic has a singular point at infinity. This is the reason why segments 1 and 4 are separated in the Gröbner Cover, for which the different segments correspond to different lpph. (The segments are lpph-segments).

In the Application part, the book selects three problems for which the Gröbner Cover offers valuable new perspectives: Automatic Deduction of Geometric Theorems, Geometric Loci and Geometric Envelopes.

3 Automatic Deduction of Geometric Theorems

Consider a geometric proposition of the form

$$\begin{aligned} (H \wedge \lnot H_1) \Rightarrow (T \wedge \lnot T_1). \end{aligned}$$

The book provides an automatic algorithm (ADGT) for obtaining supplementary conditions for transforming the proposition into a theorem. Consider as example the orthic triangle.

Let \(A(-1,0), B(1,0), C(x,y)\) be the vertices of a triangle, and let \(A'(x_1,y_1), B'(x_2,y_2)\), \(C'(x,0)\) be the foots of the heights. The orthic triangle of ABC is \(A'B'C'\). See Fig. 1.

Fig. 1
figure 1

Orthic triangle

Associated to the orthic triangle, consider the following ideals of hypothesis and thesis.

HypothesisH: The triangle \(A'B'C'\)is the orthic triangle of ABC

$$\begin{aligned} H&=-yx_1+(x-1)y_1+y,\ (x-1)(x_1+1)+yy_1,\\&\quad -yx_2+(x+1)y_2-y, (x+1)(x_2-1)+yy_2 \end{aligned}$$

Hypothesis\(H_1\): The triangle ABC is degenerate (we shall deny it):

$$\begin{aligned} H_1=y \end{aligned}$$

ThesisT: The orthic triangle \(A'B'C'\)is isosceles (\(\overline{A'C'}=\overline{B'C'}\)):

$$\begin{aligned} T=(x_1-x)^2+y_1^2-(x_2-x)^2-y_2^2 \end{aligned}$$

Thesis\(T_1\): The orthic triangle \(A'B'C'\) is degenerate (points aligned, we shall deny it):

$$\begin{aligned} T_1=x(y_1-y_2)-y(x_1-x_2)+x_1y_2-x_2y_1 \end{aligned}$$

We consider now two propositions.

Proposition 3.1

\(H \Rightarrow T.\) The orthic triangle is isosceles.

Calling sequence: \(\texttt {ADGT}(H,T,1,1)\); Result:

$$\begin{aligned} (x,y) \in&S_1 \cup S_2 \cup S_3\\ S_1&={\mathbf {V}}(x^2-y^2-1) {\setminus } {\mathbf {V}}(y^2+1,x) \\ S_2&= {\mathbf {V}}(x^2+y^2-1)\\ S_3&={\mathbf {V}}(x) {\setminus } {\mathbf {V}}(y^2+1,x) \end{aligned}$$

We obtain three components, except complex points that are irrelevant, for the supplementary conditions for Proposition 3.1 to become a theorem (See Fig. 2, left). But part of the supplementary conditions correspond to degenerate triangles ABC or degenerate orthic triangles \(A'B'C'\). Thus we consider a new proposition, in which we eliminate degenerate triangles.

Proposition 3.2

\(H \wedge \lnot H_1 \Rightarrow T \wedge \lnot T_1\). The orthic triangle \(A'B'C'\) of a non-degenerate triangle ABC is isosceles but non-degenerate.

Calling sequence: \(\texttt {ADGT}(H,T,H_1,T_1);\) Result:

$$\begin{aligned} (x,y) \in (S_1 {\setminus } (A \cup B )) \cup (S_3 {\setminus } O) \end{aligned}$$

The result is that the points of the x-axis, which correspond to degenerate ABC are eliminated from the supplementary conditions, as well as the component \(S_2\) which corresponds to degenerate \(A'B'C'\). (See Fig. 2, right).

Fig. 2
figure 2

Left: Complementary conditions for Proposition 3.1. Right: Complementary conditions for Proposition 3.2

4 Geometric Loci

Loci problems are usually considered in 2d or at most 3d, and are obtained by elimination techniques with unprecise definition (See [5]).

Using the Gröbner Cover we are able to

  • Generalize them for n-dimensional space,

  • Precise their irreducible components,

  • And assign a taxonomy to every component.

A locus problem has

  • A tracer point\(T({\mathbf {x}})=T(x_1,\dots ,x_n)\), corresponding to the coordinates \({\mathbf {x}}\) of the locus points.

  • A set of auxiliary variables\({\mathbf {u}}=(u_1,\dots ,u_m)\) containing eventually a mover point\(M(w_1,\dots ,w_n)\). Alternatively we can consider as mover variables the set of all auxiliary variables u. Doing so, the taxonomy becomes more precise.

  • An ideal\(F[{\mathbf {x}},{\mathbf {u}}]\) expected to have \(n-1\) degrees of freedom.

locus allows to define and determine the taxonomy of its components.

Consider the solution of the system:

$$\begin{aligned} {\mathbf {V}}(F)=\{({\mathbf {x}},{\mathbf {u}}) \in {\mathbb {C}}^{n+m}: \forall f\in F, f({\mathbf {x}},{\mathbf {u}})=0\}. \end{aligned}$$

Denote \(\pi _1\), \(\pi _2\) the projections onto the \({\mathbf {x}}\) and the \({\mathbf {u}}\) spaces respectively:

$$\begin{aligned} \begin{array}{llll} \pi _1:&{}\quad {\mathbb {C}}^{n+m} \rightarrow {\mathbb {C}}^n &{}\qquad \pi _2:&{}\quad {\mathbb {C}}^{n+m} \rightarrow {\mathbb {C}}^m\\ &{}\quad ({\mathbf {x}},{\mathbf {u}})\mapsto {\mathbf {x}}&{}&{} \quad ({\mathbf {x}},{\mathbf {u}}) \mapsto {\mathbf {u}}\end{array} \end{aligned}$$

and the anti-image\({\mathcal {A}}({\mathbf {x}})\) of a locus point \({\mathbf {x}}\) on the \({\mathbf {u}}\) space, and \({\mathcal {A}}_m({\mathbf {x}})\) on the \({\mathbf {w}}\) space of the mover variables.

$$\begin{aligned} \begin{array}{llllllll} {\mathcal {A}}: &{}\quad {\mathbb {C}}^{n} &{} \rightarrow &{} {\mathbb {C}}^m &{} {\mathcal {A}}_m:&{}\quad {\mathbb {C}}^{n}&{} \rightarrow &{} {\mathbb {C}}^{n'}\\ &{}\quad {\mathbf {x}}&{} \mapsto &{}\pi _2\left( {\mathbf {V}}(F) \cap \pi _1^{-1}({\mathbf {x}}) \right) &{}&{} \quad {\mathbf {x}}&{} \mapsto &{} \pi _3({\mathcal {A}}({\mathbf {x}})) \end{array} \end{aligned}$$

We can give a formal generic definition of locus in algebraic terms.

Definition 4.1

(Algebraic locus) The locus L associated to the parametric polynomial system \(F({\mathbf {x}},{\mathbf {u}})\), is the set

$$\begin{aligned} L=\pi _1({\mathbf {V}}(F)) \subset {\mathbb {C}}^n. \end{aligned}$$

Definition 4.2

(Normal and non-normal locus) We define two class of locus points \({\mathbf {x}}\in {\mathbb {C}}^n\):

$$\begin{aligned} \begin{array}{ll} \hbox {Normal point } {\mathbf {x}}\hbox { if } &{}\qquad \qquad {{\mathrm{dim}}}( {\mathcal {A}}_m({\mathbf {x}})) = 0.\\ \hbox {Non-normal point } {\mathbf {x}}\hbox { if } &{} \qquad \qquad {{\mathrm{dim}}}( {\mathcal {A}}_m({\mathbf {x}})) > 0 \end{array} \end{aligned}$$

The set of all normal points is called the normal locus and the set of all non-normal points is called the non-normal locus.

Proposition 4.3

The normal locus \(L_{\mathrm{nor}}\) and the non-normal locus \(L_{\mathrm{nonor}}\) are disjoint constructible sets. We have \(L=L_{\mathrm{nor}} \oplus L_{\mathrm{nonor}}\), and each of both subsets can be decomposed into irreducible components

$$\begin{aligned} C_i={\mathbf {V}}({\mathfrak {p}}_i) {\setminus } \left( \bigcup _j {\mathbf {V}}({\mathfrak {p}}_{ij}) \right) \end{aligned}$$
(4.1)

where all the \({\mathfrak {p}}_i\) and all the \({\mathfrak {p}}_{ij}\) are prime ideals, being

$$\begin{aligned} L_{\mathrm{nor}}= \bigcup _{j} C_{\mathrm{nor},j}, \qquad L_{\mathrm{nonor}}= \bigcup _{j} C_{\mathrm{nonor},j} \end{aligned}$$

We can assign a taxonomy to each component of a locus

Definition 4.4

(“Normal” and “Special” components) Let C be a component of the normal locus and let \({\mathbf {w}}\) be the subset of the auxiliary variables \({\mathbf {u}}\) representing the mover coordinates (if they exist), or the last \(n'\) auxiliary variables \({\mathbf {u}}\) conveniently chosen. A component C of the normal locus is “Normal” if \(\mathrm{dim}(C)=\mathrm{dim}({\mathcal {A}}_m(C))\). But it can happen that \(\mathrm{dim}(C)>\mathrm{dim}({\mathcal {A}}_m(C))\), and then the component is “Special”.

Definition 4.5

(“Degenerate” and “Accumulation” components) A component of the non-normal locus is “Degenerate” if its dimension is \(n-1\). If its dimension is smaller than \(n-1\), then it is an “Accumulation” component.

Example 4.6

Richard Serra surfaces.

Richard Serra is an artist that has constructed very nice mathematical sculptures, and particularly in the Guggenheim museum of Bilbao. They are generated by two curves located in two parallel planes in the 3-dimensional space, generating a surface. The surface is obtained in the following way:

Consider a parabola \(y_1=x_1^2\) on the plane \(z_1=-1\) (floor) and a parabola \(x_2=y_2^2\) on the plane \(z_2=1\) (ceiling):

Determine the locus formed by the lines relying the points of both parabolas having parallel tangents. The tangent vectors are respectively \((-2x_1,1,0)\) and \((1,-2y_2,0)\). The condition of being parallel is \(4x_1y_2-1=0\). The system is:

$$\begin{aligned} F=&\,x_1^2-y_1, z_1+1,\\&y_2^2-x_2, z_2-1,\\&4x_1 y_2-1,\\&x-x_1-\lambda (x_2-x_1), y-y_1-\lambda (y_2-y_1), z-z_1-\lambda (z_2-z_1) \end{aligned}$$

Applying locus we have the following calling sequence:

$$\begin{aligned}&> \hbox { LIB ``grobcov.lib''};\\&> \hbox { ring R}=(0,x,y,z),(\lambda ,x_2,y_2,z_2,x_1,y_1,z_1), \hbox { lp};\\&> \hbox { ideal F}=x_1^2-y_1, y_2^2-x_2, 4 x_1 y_2-1, z_1+1, z_2-1,\\&\quad \quad \qquad x-x_1-\lambda (x_2-x_1), y-y_1-\lambda (y_2-y_1), \\&\quad \quad \qquad z-z_1-\lambda (z_2-z_1); \\&> \hbox { locus(F)};\\ \end{aligned}$$

and obtain the result

$$\begin{aligned} S=&\ {\mathbf {V}}(2048 x^3 z+2048 x^3-4096 x^2 y^2+1152 x y z^2-1152 x y\\&\quad -2048 y^3 z+2048 y^3+27 z^4-54 z^2+27) \\&\quad {\setminus } ({\mathbf {V}}(z+1,y) \cup {\mathbf {V}}(z-1,x))\\ T=&\ \hbox {Special}\\ A_m=&\ {\mathbf {V}}(z_1+1, x_1^2-y_1) \end{aligned}$$
Fig. 3
figure 3

Richard Serra surface

We highlight two questions.

  1. (1)

    locus obtains the equation of the surface and characterizes it as “Special” component. The “Special” taxonomy is the consequence of the 2-dimensional locus surface being generated by the parabola \({\mathbf {V}}(z_1+1, x_1^2-y_1)\) in the mover variables \((x_1,y_1,z_1)\) which has dimension 1 (see Fig. 3). If we use instead as mover variables the set of all auxiliary variables \((\lambda , x_2, y_2, z_2, x_1, y_1, z_1)\), the taxonomy becomes “Normal”, because the anti-image of C corresponds then to the parabolas and free value of \(\lambda \), and so \(\mathrm{dim}(C)=\mathrm{dim}(A_m(C))=2\).

  2. (2)

    locus also determines that the lines \({\mathbf {V}}(z + 1, x)\) and \({\mathbf {V}}(z - 1, x)\) do not form part of the affine locus. The reason is that each of these lines, included in the top of the envelope, would be generated by the tangent to one of the parabolas at the vertex, whose corresponding point in the second parabola is at infinity but not at any real point of them.

5 Envelopes

Usually the definition of Envelope concerns a family of curves or a family of surfaces with \(n-1\) degrees of freedom (Fig. 3). We generalize the problem to an n dimensional space with higher degrees of freedom. We have the following definitions and theorems.

Definition 5.1

(Family of hyper-surfaces) We say that

$$\begin{aligned} F({\mathbf {x}},{\mathbf {u}})=F(x_1,\dots ,x_n;u_1,\dots ,u_m)=0 \end{aligned}$$

and the independent restrictions\(C=\{g_1,\dots ,g_s\}\) (with \(s<m\))

$$\begin{aligned} \left\{ \begin{array}{c} g_1(u_1,\dots ,u_m)=0\\ \dots \\ g_{s}(u_1,\dots ,u_m)=0\\ \end{array}\right. \end{aligned}$$

represent a family of hyper-surfaces of \({{\mathbb {C}}}^n\), if F depends at least on 1 parameteru. Thus, if the \(g_i\) are independent

$$\begin{aligned}d=\dim (C)=m-s \ge 1.\end{aligned}$$

Definition 5.2

(Envelope) Given a family of hyper-surfaces \( F(x_1,\dots ,x_n;u_1,\dots ,u_m)=0\) with m parameters \({\mathbf {u}}\), constrained by the \(s<m\) independent equations \(C=\langle g_1({\mathbf {u}}),\dots ,g_s({\mathbf {u}}) \rangle \), let

$$\begin{aligned} J=&\displaystyle \frac{\partial (F,g_1,\dots ,g_{s})}{ \partial (u_1,\dots ,u_m)}; J_c=\left\{ \hbox {minors}(J)\ \hbox { of order } (s+1) \times (s+1) \right\} . \end{aligned}$$

The set of \(\left( {\begin{array}{c}m\\ s+1\end{array}}\right) \) equations \(J_c\), imply that the rank of the Jacobian is less than or equal than s. Consider the ideal S

$$\begin{aligned} S=\langle F, \ C, \ J_c \rangle , \end{aligned}$$

The algebraic envelope of FC, if it exists, is

$$\begin{aligned} L={\texttt {locus}}(S). \end{aligned}$$

Theorem 5.3

(Associated Tangent element) Let \( F(x_1,\dots ,x_n;u_1,\dots ,u_m)=0\) be a family of hyper-surfaces with m parameters \({\mathbf {u}}\), constrained by the \(s<m\) equations \(C=\langle g_1({\mathbf {u}}),\dots ,g_s({\mathbf {u}}) \rangle . \)

Let E be the envelope, and \(E_i={\mathbf {V}}(p_i({\mathbf {x}})){\setminus } {\mathbf {V}}({\mathfrak {q}}_i({\mathbf {x}}))\) the C-representation of a “Normal” standard \((n-1)\)-dimensional component of E corresponding to a hyper-surface, and \( {\mathbf {x}}^{(0)} \in E_i\) be a regular point of \(p_i({\mathbf {x}})=0\).

Then there exists one Associated Tangent hyper-surface \(F({\mathbf {x}}, {\mathbf {u}}^{(0)})\) of the family F (or more than one) that passes at point \({\mathbf {x}}^{(0)}\) (i.e. \(F({\mathbf {x}}^{(0)},{\mathbf {u}}^{(0)}) = 0\)) and is tangent to \({\mathbf {V}}(p_i({\mathbf {x}})) \) at point \({\mathbf {x}}^{(0)}\).

The Singulargrobcov.lib library has incorporated the following algorithms and commands related to envelopes:

  1. 1.

    envelop: Determines the envelope components and their taxonomies.

  2. 2.

    AssocTanToEnv: Determines the associated tangent element of the family passing at a regular point of a “Normal” component.

  3. 3.

    FamElemsAtEnvComPoints Determines all the elements of the family passing at a point of the envelope.

  4. 4.

    discrim Determines the discriminant with respect to a variable, when an equation is of degree 2.

Example 5.4

Consider the family of spheres of radius 1, centered at point \((x_1,y_1,z_1)\) of a sphere of center (0, 0, t) and radius \(\sqrt{t}\). We have the following family and restrictions:

$$\begin{aligned} F=&\,(x-x_1)^2+(y-y_1)^2+(z-z_1)^2-1,\\ C=&\,\langle x_1^2+y_1^2+(z_1-t)^2-t \rangle . \end{aligned}$$

Applying envelop(FC) we obtain 2 components:

$$\begin{aligned} E_1 =&\, {\mathbf {V}}( 16x^6+48x^4y^2+16x^4z^2-32x^4z-56x^4+48x^2y^4+32x^2y^2z^2\\&\,-64x^2y^2z-112x^2y^2-32x^2z^3-24x^2z^2+29x^2+16y^6\\&\,+16y^4z^2-32y^4z-56y^4-32y^2z^3-24y^2z^2+29y^2\\&\,+16z^4-24z^3-15z^2+38z-15) {\setminus } {\mathbf {V}}(z-1,x^2+y^2)\\&\, \hbox {Normal} \\ E_2 =&\, {\mathbf {V}}( z-1,y,x) \\&\, \hbox {Accumulation} \\ \end{aligned}$$

The envelope has a “Normal” component \(E_1\), and an “Accumulation” point. As the restriction C has degree 2 in t, we can compute its discriminant with respect to t

$$\begin{aligned} \Delta _t=4z_1-1-4x_1^2-4y_1^2, \end{aligned}$$

which divides the space into two regions. On the region \(\Delta _t(x_1,y_1,z_1)\ge 0\) there can exist centers of family spheres, but they cannot exist on the region \(\Delta _t(x_1,y_1,z_1)< 0\). These regions also separate both parts of the envelope, \(E_{ext}\), for \(\Delta _t(x_1,y_1,z_1)<0\) and \(E_{int}\) for \(\Delta _t(x_1,y_1,z)_1>0\) (Fig. 4).

Fig. 4
figure 4

Envelope and surface \(\Delta _t=0\) 2d-Section

Fig. 5
figure 5

Section for \(y=0\)

In Fig. 5 left is represented a section at \(y=0\) of the envelope, the separating paraboloid, and a set of family spheres with centers in the paraboloid. We observe that these spheres are tangent to both parts \(E_{ext}\) and \(E_{int}\) of the envelope. In Fig. 5 right are also represented circles of the family centered everywhere.

Considering a point \(P=(x,y,z)\) of the envelope component \(E_1\), AssocTanToEnv\((F,C,E_1)\) gives:

$$\begin{aligned} t&=-\frac{12x^4+24x^2y^2-4x^2z^2-28x^2z-31x^2 +12y^4-4y^2z^2-28y^2z-31y^2-16z^4-28z^3-3z^2+10z+10}{16z^3+24z^2+12z-25}\\ z_1&=-\frac{24x^4+48x^2y^2-8x^2z^2-56x^2z -62x^2+24y^4-8y^2z^2-56y^2z-62y^2-32z^4-40z^3+18z^2+32z-5}{32z^3+48z^2+24z-50}\\ y_1&=-\frac{6x^4yz+32x^4y+32x^2y^3z +64x^2y^3+16x^2yz^3-16x^2yz^2-100x^2yz-116x^2y+16y^5z +32y^5}{32z^4+16z^3-24z^2-74z+50}\\&\quad -\frac{16y^3z^3-16y^3z^2-100y^3z-116y^3-48yz^4-68yz^3}{32z^4+16z^3-24z^2-74z+50}\\ x_1&=-\frac{16x^5z+32x^5+32x^3y^2z+64x^3y^2 +16x^3z^3-16x^3z^2-100x^3z-116x^3+16xy^4z+32xy^4}{32z^4+16z^3-24z^2-74z+50}\\&\quad -\frac{16xy^2z^3-16xy^2z^2-100xy^2z-116xy^2-48xz^4-68xz^3 -36xz^2+36xz+35x}{32z^4+16z^3-24z^2-74z+50} \end{aligned}$$

determining the values of \((t,x_1,y_1,z_1)\) of the parameters of the associated tangent sphere to \(E_1\) at P(xyz).

For example, at point \(P_1= (-3.519505319, 0, 6) \), the associated tangent sphere has center \((-2.538358523, 0., 6.193264030)\). It is represented in red in Fig. 6. This sphere is also the associated tangent sphere of the family at point \(P_2=(-1.557188274,0,6.386408905)\).

We can observe two disjoint real parts of the component \(E_1\). In order to obtain the true real envelope, we determine all family elements passing at a point of \(E_1\), calling

\(\textsc {FamElemsAtEnvComp Points}(F,C,E_1)\), we obtain:

$$\begin{aligned} {\text {lpp}}=&\,\{z_1^2,t^2\}\\ B =&\,\{z_1^2-2zz_1+y_1^2-2yy_1+x_1^2-2xx_1+x^2+y^2+z^2-1,\\&\,t^2-2tz_1-t+2zz_1+2yy_1+2xx_1-x^2-y^2-z^2+1\}, \end{aligned}$$

and compute the discriminant of both polynomials. After some manipulation we obtain:

$$\begin{aligned} \hbox { discrim}(B[1],z_1)=&-(y-y_1)^2+(x-x_1)^2+(z-z_1)^2-1)) +(z-z_1)^2 = (z-z_1)^2,\\ \hbox { discrim}(B[2],t)=&(y-y_1)^2+(x-x_1)^2+(z-z_1)^2-1))- -\left( x_1^2+y_1^2-z_1-\frac{1}{4}\right) \\ =&-\left( x_1^2+y_1^2-z_1-\frac{1}{4}\right) \end{aligned}$$
Fig. 6
figure 6

Envelope \(E_1\) and the associated tangent sphere at point \(P_1\)

The first discriminant is always positive, but the second is only positive when

$$\begin{aligned} z_1 \ge x_1^2+y_1^2-\frac{1}{4}. \end{aligned}$$

Computing the envelope of the set of spheres F with the restriction of having their centers in the separating paraboloid \(z_1=x_1^2+y_1^2-\frac{1}{4}\), we obtain the same result as for the initial problem. This indicates that the real envelope is the external part of \(E_1\), i.e.,

$$\begin{aligned} \hbox { Real envelope} = E_{ext}=\left\{ (x,y,z)\in E_1 : z<x^2+y^2-\frac{1}{4}\right\} {.} \end{aligned}$$