Lonely Points in Simplices

Given a lattice \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$L\subseteq \mathbb Z^m$$\end{document}L⊆Zm and a subset \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$A\subseteq \mathbb R^m$$\end{document}A⊆Rm, we say that a point in A is lonely if it is not equivalent modulo \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$L$$\end{document}L to another point of A. We are interested in identifying lonely points for specific choices of \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$L$$\end{document}L when A is a dilated standard simplex, and in conditions on \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$L$$\end{document}L which ensure that the number of lonely points is unbounded as the simplex dilation goes to infinity.


Introduction
The geometric problem considered in this article arose from an attempt to construct an algorithm for simplifying so-called C-finite sequences. A sequence (a n ) ∞ n=0 in the field C of complex numbers is called C-finite [11] if it satisfies a linear recurrence with constant coefficients 1 , i.e., if there are constants c 0 , . . . , c r ∈ C, not all zero, such that c 0 a n + c 1 a n+1 + · · · + c r a n+r = 0 for all n ∈ N. A standard example is the sequence of Fibonacci numbers (take c 0 = c 1 = 1 and c 2 = −1). C-finite sequences and their properties are very well understood [7,11,12,16,17]. In particular, it is known that a sequence is C-finite if and only if it can be expressed as a linear combination of exponential terms with polynomial coefficients, i.e., if there are polynomials p 1 , . . . , p m ∈ C[x] and constants φ 1 , . . . , φ m ∈ C, such that a n = p 1 (n)φ n 1 + · · · + p m (n)φ n m for all n ∈ N. We note that N, as it is used in this paper, always contains 0. If the φ i are pairwise distinct and all the p i are nonzero, then the order r of the corresponding recurrence turns out to be m + m i=1 deg( p i ). One of the consequences of the characterization above is that the class of C-finite sequences is closed under addition and multiplication, i.e., when the sequences (a n ) ∞ n=0 and (b n ) ∞ n=0 are C-finite, then so are the sequences (a n + b n ) ∞ n=0 and (a n b n ) ∞ n=0 . In particular, when we plug a C-finite sequence into a polynomial, the result is again a C-finite sequence. For example, since the sequence (F n ) ∞ n=0 of Fibonacci-numbers is C-finite, so is the sequence (5F 3 n − 7F 2 n + 9F n − 4) ∞ n=0 obtained by plugging (F n ) ∞ n=0 into the polynomial 5x 3 . Given a C-finite sequence (a n ) ∞ n=0 , specified by a recurrence of order r and a set of initial values, we want to decide whether there is a polynomial q ∈ C[x] of positive degree such that the C-finite sequence (q(a n )) ∞ n=0 satisfies a recurrence of order less than r . This problem is of interest because certain number-theoretic questions about Cfinite sequences can at the moment only be answered when the recurrence order is not too large. In particular, the question whether for a given C-finite sequence (a n ) ∞ n=0 there exists an index n such that a n = 0 is only known to be decidable for C-finite sequences satisfying recurrences of small order. See [14] for a detailed discussion of the state of the art. By using results of our paper to pass from (a n ) ∞ n=0 to (q(a n )) ∞ n=0 , we hope to extend the scope of these algorithms and advance, for example, their use in applications of static analysis of computer systems. Static program analysis requires the synthesis of polynomials q ∈ C[x] corresponding to polynomial invariants q(x) = 0 among program variables x. These invariants in turn describe algebraic relations among Cfinite sequences (a n ) ∞ n=0 induced by the value distributions of program variables at arbitrary loop iterations n ≥ 0. Moreover, one is interested in synthesizing a minimal set of polynomial invariants q(x) = 0, in particular polynomial invariants with small degrees enabling scalable approaches to static analysis. As such, results of our paper may potentially contribute to the full and efficient automation of polynomial invariant generation within software verification. See for example [9,10] for further details.
The construction of an algorithm for finding q ∈ C[x], such that (q(a n )) ∞ n=0 yields a C-finite sequence of lower order than a, has led us to the following geometric problem. Let S ⊆ R m be the standard simplex, i.e., the convex hull of 0 and the unit vectors e 1 , . . . , e m ∈ R m . Moreover, let L ⊆ Z m be a lattice, i.e., an additive subgroup of Z m . Two points u, v ∈ R m are called equivalent modulo L if we have u − v ∈ L. We consider the integer points in a dilation d S of S, for some d > 0. A point u ∈ d S ∩ Z m is called lonely if there does not exist any other point v ∈ d S ∩Z m such that u −v ∈ L. Equivalently, u is lonely if it is covered exactly once in the lattice arrangement L +d S. In this paper, we are interested in describing properties of these lonely points.
In Sect. 2, we will give some more details on how the original problem about Cfinite sequences leads to the consideration of lonely points. This material is provided only as background information and not strictly needed for the rest of the paper. In Sect. 3, we summarize basic definitions and facts about cones, simplices, and lattices, and fix the notation we use. In Sect. 4 we present algorithms that for a given lattice L and a given d determine all the lonely points, and recognize whether the number is unbounded as d goes to infinity. Finally, in Sect. 5 we derive a sufficient condition on the lattice that guarantee that the number of lonely points is unbounded.

Ansatz and Exponent Lattice
Consider a C-finite sequence (a n ) ∞ n=0 which satisfies a recurrence of order r . We want to know whether there is a polynomial q ∈ C[x] \ C such that (q(a n )) ∞ n=0 satisfies a recurrence of lower order. If we have an upper bound d on the degree of q, then this question can be answered as follows: 1. Compute p 1 , . . . , p m ∈ C[x] and φ 1 , . . . , φ m ∈ C such that a n = p 1 (n)φ n 1 + · · · + p m (n)φ n m for all n ∈ N (see [11] for how to do this). 2. Make an ansatz q = q 0 + q 1 x + · · · + q d x d with undetermined coefficients q 0 , . . . , q d , plug the closed form representation of step 1 into q. 3. Write the resulting expression in the form u 1 ψ n 1 +· · ·+u ψ n where the ψ i ∈ C are pairwise distinct and the u i are polynomials in n whose coefficients are C-linear combinations of the unknowns q 0 , . . . , q d . 4. For every subset I ⊆ {1, . . . , } such that |{1, . . . , } \ I | = r − 1, equate the coefficients with respect to n in all the u i belonging to some ψ i with i ∈ I to zero and solve the resulting linear system for the unknowns q 0 , . . . , q d . If the solution space contains a vector (q 0 , . . . , q d ) in which not only q 0 is nonzero, return the corresponding polynomial q 0 + q 1 x + · · · + q d x d . Otherwise, try the next I . 5. When no subset I yields a solution, return "there is no such q". Example 2.1 1. The C-finite sequence (a n ) ∞ n=0 with a n = 1 + 2 n + 2 −n satisfies a recurrence of order 3 and no lower order recurrence. With d = 2, the algorithm sketched above finds the polynomial q(x) = x 2 −2x −1. Indeed, q(a n ) = 4 n +4 −n satisfies a recurrence of order 2.
3. The C-finite sequence (a n ) ∞ n=0 with a n = 1 + 2 n − 2 −n satisfies a recurrence of order 3, and with the algorithm sketched above we can show that there is no polynomial q of degree d ≤ 5 such that q(a n ) satisfies a recurrence of order 2.
When we have checked the existence of a polynomial q for a specific degree d and found that no such polynomial exists, we can try again with a larger choice of d. It would be good to know when we can stop: starting from the recurrence of (a n ) ∞ n=0 , can we determine a finite bound on the degree of the polynomials q that may lead to lower order recurrences?
In order to see from where such a bound could emerge, restrict the search to polynomials q with q d = 1. Observe what happens in step 2 of the procedure sketched above. Plugging the expression p 1 (n)φ n 1 + · · · + p m (n)φ n m into the ansatz for q produces so the ψ i 's appearing in step 3 are precisely the products φ v 1 1 . . . φ v m m with v 1 + · · · + v m ≤ d. If these products are all distinct, then there is no way for the above expression to vanish identically. More generally, a necessary condition for the above expression to vanish identically for some choice of q 0 , . . . , q d−1 , not all zero, is that a sufficient amount of cancellation takes place among the various exponential sequences . This leads to the consideration of the so-called exponent lattice which also plays an important role for determining the algebraic relations among C-finite sequences [13]. For example, for the Fibonacci numbers, where we have φ 1 = (1 + √ 5)/2 and φ 2 = (1 − √ 5)/2, the exponent lattice is generated by (2,2). A term (φ v 1 1 . . . φ v m m ) n appearing in (1) cannot be canceled unless there is some other point (ṽ 1 , . . . ,ṽ m ) ∈ N m withṽ 1 + · · · +ṽ m ≤ d and If d is such that r or more of the terms have no partner for cancellation, then it is clear that there is no solution q of degree d. Moreover, if L is such that the number of (a) 2d lattice in 2d space.
(b) 2d lattice in 3d space. terms without partner tends to infinity as d increases, then there is a finite bound on the degree that a solution q may have.

Lattices and Cones
We start by recalling some basic concepts from discrete geometry. Further background can be found in [2], for example. We always view a lattice L ⊆ Z m as a set of points in the ambient space R m , spanned by the unit vectors e 1 , . . . , e m . In addition, it will be convenient to let e 0 be the zero vector. Note that we allow the dimension dim(L) of a lattice to be smaller than the dimension m of its ambient space.
We can also describe it as an intersection of translated cones. Subsequently, we will only be concerned with finitely generated cones. We can therefore assume that a cone C is always given as a finite set of points c i , such that for each i, [c i ] is an edge of C, and for j = i we have The standard simplex in R m has m + 1 distinct corner cones C 0 , . . . , C m , and the set of all integer points in d S, d ∈ N, is equal to the intersection m i=0 (C i − de i ), as illustrated for dimension 2 in Fig. 2.
As we outlined in the earlier sections, we look for integer points in d S that are not connected to any other integer points in d S via a given lattice L. The next definition formalizes this idea not only for simplices but general subsets of R m .  It is easy to show that in Z 2 there is no lattice (other than {0}) such that the number of lonely points in d S grows indefinitely with d. Our goal is to count the lonely points in a dilated simplex. As we will use the translated corner cones to characterize the points inside of a dilated simplex, we want to make sure that lonely points stay lonely after any translation.

Counting and Identifying Lonely Points
In this section we develop algorithms for deciding whether in a given setting the number of lonely points is finite or infinite, as well as an algorithm which in the finite case determines how many lonely points there are. First we characterize loneliness of points in cones, and then we relate the loneliness of points in a dilated simplex d S to the loneliness of points in its corner cones. (i) If C has any lonely points, then 0 is one of them.

(ii) C has lonely points if and only if L
Proof (i) If 0 is not lonely, it is equivalent to some other point of C, say to u = 0.
Then u = u − 0 ∈ L. Let v be an arbitrary element of C. Since u ∈ C, we have v + u ∈ C, and since v and v + u are equivalent, v is not lonely. (ii) If C has lonely points, then, by the previous item, 0 is one of them, hence L ∩C = {0}. For the other direction, if L ∩ C = {0}, then 0 is lonely. (iii) If u is not lonely, then there existsũ ∈ C \{u} with u ∼ũ. Then also u +v ∼ũ +v, and sinceũ + v is in C and different from u + v, the claim follows.
The conditions of Proposition 4.1 give rise to the following algorithm for deciding whether a cone contains infinitely many lonely points.

Algorithm 1 (hasInfinitelyManyLonelyPoints)
Output: true or false, depending on whether C contains infinitely many lonely points 4

return false
The tests in lines 1 and 3 can be performed using integer linear programming [15].
Similarly, in order to check whether and only if the optimal solution is β 1 = . . . = β n = 0. In our setting, we can always assume that c 1 , . . . , c n are linearly independent over Q, and in this case, the condition When there are only finitely many lonely points, we can next determine how many there are. Part (iii) of Lemma 4.1 says that when some v ∈ C is not lonely, then no point in the translated cone v + C is lonely either. It follows from Dickson's lemma ( [3], see also Lemma 4 of [1]) that the set of nonlonely points in C is in fact a finite union of such translated cones v + C, quite similar to the leading-term ideals in Gröbner basis theory [3,4,6]. Inspired by the FGLM-algorithm from that theory [6,8], we arrive at the following algorithm for counting the number of lonely points in a cone. 2 if 0 is not lonely, return 0 3 todo = {e 1 , . . . , e n } ⊆ R n (( list of unit vectors of length n )) 4 B = ∅ (( collected nonlonely points )) 5 npoints = 1 (( number of lonely points seen so far )) 6 while |todo| > 0 do:

return npoi nts
Three aspects need to be discussed in order to justify this algorithm: (1) that all indicated operations can be performed algorithmically, (2) that it returns the correct output, and (3) that it terminates for every input. Concerning the first point, the only questionable steps are the checks in steps 2 and 9 whether a given point is lonely. In order for v to be not lonely, there must be integers α 1 , . . . , α k , not all zero, such that v + α 1 1 + · · · + α k k also belongs to C, where 1 , . . . , k are generators of L. Whether such integers exist can be determined with integer linear programming [15].
For the correctness, observe first that the output npoints is a lower bound on the number of lonely points, because the counter is only incremented when we have found a new lonely point. Since we always consider the candidate of least 1-norm and in line 13 always add elements of larger 1-norm to the todo-list, it is excluded that we count the same point more than once. In order to see that the output is also an upper bound, observe that (iii) of Lemma 4.1 implies that when b is not lonely, then all the points in b + C are not lonely either, so it is fair to exclude them from consideration in step 12. Since all other points will be considered, there is no danger of undercounting. This establishes the correctness.
Finally, for justifying the termination, observe that the number of iterations of the main loop is bounded by the number of lonely points plus the number of points that are not lonely but also not contained in a translated cone b + C where b is a nonlonely point discovered earlier. By line 1, the number of lonely points is finite when the algorithm reaches the main loop, and we have already argued above that the number of nonlonely points not contained in a translated cone rooted at an earlier discovered nonlonely point is finite as well.
(iii) The following are equivalent: Assuming, as we may, that d > α 0 + · · · + α m , we have that de i + is an interior point of d S which is equivalent to de i , proving that de i is not lonely. "⇐" We show: if de i is not a lonely point of d S, then 0 is not a lonely point of the corner cone. Indeed, suppose that de i is equivalent to another point v of d S, say to v = β 1 e 1 + · · · + β m e m for some β 1 , . . . , β m ≥ 0 whose sum is at most d.
belongs to the ith corner cone, so 0 is not a lonely point of that cone. (ii) Denote the set on the right hand side by A d . Then A d ⊂ lonely L (d S) holds for any d: For a specific d ∈ N, there are only finitely many points in d S, and for each of them, we can decide whether it is lonely in a similar way as described above for a given point in a cone. The issue reduces to an integer linear programming question. What we are interested in is how far the number of lonely points can grow as d increases. Proposition 4.2 says that the lonely points in d S for sufficiently large d are essentially the lonely points of the corner cones. When a cone has only finitely many lonely points, they are all clustered near the apex, so as soon as d is sufficiently large, the number of lonely points in the dilated simplex d S is exactly the sum of the number of lonely points in its corner cones. When at least one corner cone has infinitely many lonely points, then the number of lonely points in d S is unbounded as d goes to infinity. In summary, we obtain the following algorithm.  2 )) 5

return s
The algorithms described in this section are easy to implement. A proof of concept implementation in Mathematica consists of less than 100 lines of code. This code is available at http://www.kauers.de/software/loneley.m. It is not designed to be efficient but merely meant for the sake of illustration.

Lonely Points for Small Lattices
It is clear that all integer points in d S are lonely when L = {0} and that there are no lonely points when L = Z m . More generally, geometric intuition suggests that there should be more lonely points when L is "small". The main result of the present section quantifies this intuition. We show that whenever the dimension of L is less than a certain constant multiple of the ambient dimension m, then there is a corner cone which satisfies the conditions of part (ii) of Proposition 4.1 and thus has infinitely many lonely points.
In the subsequent proofs we make use of sign vectors and sign equations. . . , v k , v ∈ R m , such that v 1 + · · · + v k = v and for each i = 1, . . . , k, s i is a valid sign vector for v i and s is a valid sign vector for v. We use a shorthand matrix notation

Example 5.1 For the equation
for the sign equation s 1 + · · · + s k = s, with the square brackets indicating that the columns of the matrix are summed up to obtain the right hand side. To further shorten notation, we use ⊕ and for nonempty square blocks of the form · · · · · − ⊕ and + · · · · · · · · · + + + + + + + + + + · · · · · · · · · + respectively, where the number of rows/columns is either clear from the context or irrelevant. Similarly we use + , − , and 0 for blocks that only contain +, −, or 0 respectively, with the difference that these blocks do neither have to be square blocks nor nonempty. Proof Let π : R m → R k be the projection on the components with indices r 1 , . . . , r k , and π the projection on the complementary components. The sign equation implies that τ (π(v i )) ≤ 0 for all v i . It follows that τ (π(v)) has to be less than or equal to 0 as well. As π(v) only contains nonnegative entries, this is only possible if π(v) is the zero vector. This shows the first part and also implies the equation Since no summand on the left hand side is strictly positive, all the τ (π(v i )) have to be equal to 0. As every v i lies in some corner cone, and their negative components only have indices contained in {r 1 , . . . , r k }, we get that all the π(v i ) only have nonpositive components. Now it follows that all π(v i ) are equal to zero, since where the ± reflect the fact that the α i and β i can be positive or negative. We show that there is no combination of signs for the α i and β i such that both equalities hold, unless V can be decomposed into a direct sum. We first look at (3). From the last row we see that at least one β i has to be strictly negative, as no v i on the left hand side has a negative entry at index m, and v m is nonzero. So we can split the vectors into two groups: those with positive β i and those with strictly negative β i . After changing the summation order and reorganizing the rows if necessary, (3) becomes Suppose at least one β i is strictly positive. Then Lemma 5.1 implies that some components have to be zero, and we get a block diagonal form Thus, the v i appearing with a nonzero coefficient in (2) span a vector space that can be decomposed into a direct sum if at least one β i is strictly positive. Otherwise, with the analogous reasoning for v m−1 , we can suppose that all the α i and β i are nonpositive, and conclude that the sign equations for v m−1 and v m are of the form If all α i (implicitly used in (4)) were nonzero, then the last row in (4) implies that the last components of all the v i would have to be zero, which is incompatible with the last row in (5). Again with the analogous reasoning for the β i we see that not all α i and not all β i are nonzero. As before we split the vectors on the left hand side of each equation into two blocks: vectors that appear with a nonzero coefficient in only one of the equations and vectors that are shared in both equations with nonzero coefficients, which gives, after reordering the rows and summands if necessary: We use Remark 5.1 to determine zero components in the first equation: Then, doing the same for the second equation, and using the fact that we already know some zero components in the shared vectors, we get: Denote the number of shared vectors by s. If s is greater than 0, we look at the rows in the equation for v m−1 where the shared vectors are nonzero: As all nonshared vectors on the left hand side only have negative components, we can bring them to the right hand side and get: Note that here, all the hidden entries of the shared vectors are zero. We can suppose that the shared vectors are linearly independent, otherwise we could replace some coefficients with zero. As they are linearly independent, however, they span the whole space R s , thus the shared vectors can be replaced by unit vectors, which leads to a decomposition of V into a direct sum of vector spaces. It remains to handle the case where there are no shared vectors in (4) and (5). In that case, certain components in (4) and (5) have to be zero: The zero entries on the left hand side imply that the space spanned by V can be decomposed into a direct sum. This completes the proof. In order to derive a dimension bound such that both conditions in part (ii) of Proposition 4.1 are met, we need the following lemma that allows us to construct a nonlonely point in a corner cone from a nonlonely point in a different corner cone. A geometric interpretation of the statement is given in Fig. 4.
Then, with β := γ − α ∈ N * , we get + β(−c) = + (α − γ )c =ṽ ∈ C j . position. We first show that each i, j is either i-visible, j-visible, or has exactly two strictly negative entries, at indices i and j. For the moment, we focus on i = 1, j = 2, allowing us to drop both indices. The reasoning for all other pairs i, j is analogous. We get the equation + αc = v. If α ≤ 0, we can add −αc to both sides of the equation, not perturbing the 1-visibility of the right hand side, which shows that is 1-visible. Otherwise, we get a sign equation with unknown entries for , The signs for all but two components of are immediate: As τ (c) = 0 and τ (v) ≤ 0, we get that τ ( ) ≤ 0. Thus, if the second component of is positive, then it follows that is 1-visible with a strictly negative first component.
If the second component of is negative, we can apply Lemma 5.2 to see that there exists a β ∈ N * such that + β(−c) is 2-visible, yielding With the same reasoning as above we can determine that is either 2-visible or its first component is strictly negative. This shows our claim for the i, j . It follows that for each pair (i, j), the vector i, j is such that it has a strictly negative entry at i, or j, or both. Thus we can find at least m/2 pairwise different 1 , . . . , m/2 ∈ L such that no two i have a negative entry at the same index, and for each index in {1, . . . , m}, there is exactly one i with a negative entry at that position. We now map these lattice elements to i-visible vectors, i = 1, . . . , m/2 − 2, in Z m/2 .
There are n(m) := m!/2 m/2 many such maps. We say a vector u and a map ψ π are compatible, if: u is i-visible for some i, and ψ π (u) = 0. If a ∈ N is such that π(a) = i, then ψ π is (a + 1)/2 -visible. u contains exactly two strictly negative entries at indices i and j, and there is an odd integer a such that π(a) = i and π(a + 1) = j, i.e., when applying ψ π on v, the two negative entries are added together to give an ((a + 1)/2)-visible vector. We now show that there exists a permutation π such that at least m/2 − 2 many i are compatible to ψ π . In fact we can choose π such that all i with exactly two negative entries are compatible with ψ π , as they do not have negative entries at the same indices. This leaves us with some even number k ≥ 0 of indices not yet considered for π and k many i that could potentially be incompatible to such a permutation. Furthermore, there are n(k) many permutations left to choose from. Each of the remaining i is contained in a different corner cone, say C i , and so i is incompatible if ψ π ( i ) = 0. For k > 2, each i can be in the kernel of at most n(k − 2) many of the remaining permutations (this is the case if i is contained in a slanted edge of a corner cone). As there are k (k > 2, even) many such i , there has to be a ψ π for which the number of i-visible i that are mapped to zero is at most For k = 2, there is only one choice for π , and we could be in the situation where both of the i have to be mapped to zero. For any such π , the images of the i therefore contain at least m/2 − 2 many nonzero vectors with m/2 − 2 different sign patterns (after potentially reordering the rows) ⎛ This proves the claim.
Without further restrictions on L, there is no analogous result for straight edges, i.e., there is no upper bound for the dimension proportional to m such that lower dimensional lattices necessarily lead to infinitely many lonely points on at least one straight edge. For any m, the lattice generated by (1, 0, . . . , 0) yields only finitely many lonely points on any straight edge.

Conclusion and Open Questions
We translated the problem of reducing the order of a C-finite sequence to questions about which points in a dilated simplex are not connected to any other point in the simplex via a specific lattice. Our answers to these questions are in the form of algorithms that determine when the number of these points grows indefinitely with the dilation, and also compute the exact number if there are only finitely many lonely points. Furthermore we showed that if the dimension of the lattice is small enough, then the number of lonely points always grows indefinitely. Theorem 5.1 is helpful for our original application to C-finite sequences, because the lattices appearing in this context are typically small, often even empty. We do not know however whether the bound of Theorem 5.1 is tight enough to cover all cases of interest. If it is not, we can still use the algorithms from Sect. 4 to see whether there are enough lonely points to derive a finite degree bound for the ansatz.

Example 6.1
The Perrin numbers (P n ) ∞ n=0 are defined by P n+3 = P n + P n+1 and P 0 = 3, P 1 = 0, P 2 = 2. Using the results of this paper, we an show that there is no polynomial p(x) such that the C-finite sequence ( p(P n )) ∞ n=0 satisfies a recurrence of lower order. Indeed, the exponent lattice in this example is generated by (1, 1, 1), and Algorithm 1 applied to this lattice asserts that there are infinitely many lonely points. This means that all the points of at least one edge of a dilated simplex d S are lonely. This in turn means that in step 3 of the algorithm from Sect. 2, we have ≥ d, and since we need ≤ 4 in order to ensure that in step 4 we have at least one I of size 2 that does not contain a lonely point, we get the degree bound d = 4. As the algorithm returns "no solution" for d = 4, we can conclude that there does not exist a polynomial p of any degree such that ( p(P n )) ∞ n=0 satisfies a recurrence of order 2.
As for extensions of our theoretical results, there are immediate questions that are rooted in discrete geometry: Can we find a closed form expression depending on d for the number of lonely points in d S for a given lattice? How many lonely points are there in more involved convex polytopes? How do linear transformations on the lattice affect lonely points? Although questions of this kind are not directly related to our initial number theoretic motivation, their pursuit may still lead to valuable insight.
Funding Open access funding provided by the Austrian Science Fund (FWF).
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.