On the Number of Ordinary Lines Determined by Sets in Complex Space

Kelly’s theorem states that a set of n points affinely spanning C3\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${\mathbb {C}}^3$$\end{document} must determine at least one ordinary complex line (a line incident to exactly two of the points). Our main theorem shows that such sets determine at least 3n / 2 ordinary lines, unless the configuration has n-1\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$n-1$$\end{document} points in a plane and one point outside the plane (in which case there are at least n-1\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$n-1$$\end{document} ordinary lines). In addition, when at most n / 2 points are contained in any plane, we prove stronger bounds that take advantage of the existence of lines with four or more points (in the spirit of Melchior’s and Hirzebruch’s inequalities). Furthermore, when the points span four or more dimensions, with at most n / 2 points contained in any three-dimensional affine subspace, we show that there must be a quadratic number of ordinary lines.


Introduction
Let V = {v 1 , v 2 , . . . , v n } be a set of n points in C d . We denote by L(V) the set of lines determined by points in V, and by L r (V) (resp. L ≥r (V)) the set of lines in L(V) that contain exactly (resp. at least) r points. Let t r (V) denote the size of L r (V). Throughout the write-up we omit the argument V when the context makes it clear. We refer to L 2 as the set of ordinary lines, and L ≥3 as the set of special lines.
A well-known result in combinatorial geometry is the Sylvester-Gallai theorem. The statement was conjectured by Sylvester in 1893 [23], and the first published proof is by Melchior [18]. Later proofs were given by Gallai in 1944 [11] and others; there are now several different proofs of the theorem. Of particular interest is the following result by Melchior [18].

Theorem 1.2 (Melchior's inequality)
Let V be a set of n points in R 2 that are not collinear. Then Theorem 1.2 in fact proves something stronger than the Sylvester-Gallai theorem, i.e., there are at least three ordinary lines. A natural question to ask is how many ordinary lines must a set of n points, not all on a line, determine. This led to what is known as the Dirac-Motzkin conjecture. There were several results on this question (see [6,16,19]), before Green and Tao [12] resolved it for large enough point sets. [12]) Let V be a set of n points in R 2 , not all on a line. Suppose that n ≥ n 0 for a sufficiently large absolute constant n 0 . Then t 2 (V) ≥ n/2 for even n and t 2 (V) ≥ 3n/4 for odd n.

Theorem 1.4 (Green and Tao
There are several survey articles on the topic, see for example [4], and [12] provides a nice history of the problem. The Sylvester-Gallai theorem is not true when the field R is replaced by C. The wellknown Hesse configuration, realized by the nine inflection points of a non-degenerate cubic, provides a counterexample. A more general example is the following: Examples 1.5 (Fermat configuration) For any positive integer k ≥ 3, let V be inflection points of the Fermat Curve X k + Y k + Z k = 0 in PC 2 . Specifically, let where ω is a kth root of −1.
The point set V does not determine any ordinary lines. It is easy to check that the sets V 1 , V 2 and V 3 lie on the lines X = 0, Y = 0, and Z = 0, respectively. Every other line contains exactly three points. Indeed, consider, without loss of generality, points u = [0 : 1 : ω i ] = [0 : ω −i : 1] ∈ V 1 and v = [ω j : 0 : 1] ∈ V 2 . Then the point w = [−ω j : ω −i : 0] = [1 : −ω −i− j : 0] = [1 : ω k−i− j : 0] ∈ V 3 is collinear with u and v. 1 In response to a question of Serre [22], Kelly [15] showed that when the points span more than two dimensions, the point set must determine at least one ordinary line. Theorem 1.6 (Kelly's theorem [15]) Let V be a set of n points in C 3 that are not contained in a plane. Then there exists an ordinary line determined by points of V.
Kelly's proof of Theorem 1.6 used a deep result of Hirzebruch [14], referred to as Hirzebruch's inequality, from algebraic geometry. More elementary proofs of Theorem 1.6 were given in [10] and [9]. To the best of our knowledge, no lower bound greater than one is known for the number of ordinary lines determined by point sets spanning C 3 . Improving on the techniques of [9], we make the first progress in this direction. Theorem 1.7 Let V be a set of n ≥ 24 points in C 3 not contained in a plane. Then V determines at least 3n/2 ordinary lines, unless n − 1 points are on a plane in which case there are at least n − 1 ordinary lines.
In the latter case, let v be the point not on the plane. Every line determined by V containing v is ordinary, so there are at least n − 1 ordinary lines. On the other hand, it is possible that there are exactly n − 1 ordinary lines. In particular, let V consist of the Fermat Configuration, for some k ≥ 3, on a plane, and one point v not on the plane. Then V has 3k + 1 points, and the only ordinary lines determined by V are lines that contain v, so there are exactly 3k ordinary lines. We are not aware of any examples that achieve the 3n/2 bound when at most n − 2 points are contained in any plane. Using a similar argument, for point sets in R 3 , Theorems 1.4 and 1.7 give us the following easy corollary. Corollary 1.8 Let V be a set of n points in R 3 not contained in a plane. Suppose that n ≥ n 0 for a sufficiently large absolute constant n 0 . Then V determines at least 3(n − 1)/2 ordinary lines.
Hirzebruch's inequality is similar in spirit to Melchior's inequality and gives bounds on the number of ordinary lines by taking into consideration the number of lines with four or more points. Theorem 1.9 (Hirzebruch's inequality [14]) Let V be a set of n points in C 2 , such that t n (V) = t n−1 (V) = t n−2 (V) = 0. Then More recently, Bojanowski [3] and Pokora [20] used a theorem of Langer [17] to prove the following result. Theorem 1.10 (Langer's Inequality) Let V be a set of n points in C 2 , such that t j (V) = 0 for j > 2n/3. Then While imposing a stricter condition on the point set, Theorem 1.10 is strictly better than Theorem 1.9 as long as there is a line containing at least five points. For more detail on Langer's inequality and combinatorial implications, see [8]. In C 3 , when V is sufficiently non-degenerate, i.e., no plane contains too many points, we are able to give a more refined bound by taking into account the existence of lines with more than three points. In particular, we show the following (the constant 1/2 in Theorem 1.11 is arbitrary and can be replaced by any positive constant smaller than 1):

Theorem 1.11
There exists an absolute constant c > 0 and a positive integer n 0 such that the following holds. Let V be a set of n ≥ n 0 points in C 3 with at most n/2 points contained in any plane. Then Suppose that V consists of n − k points on a plane, and k points not on the plane. There are at least n − k lines incident to each point not on the plane, at most k − 1 of which could contain three or more points. So we get that there are at least k(n − 2k) ordinary lines determined by V. Then if k = εn, for 0 < ε < 1/2, we get that V has ε (n 2 ) ordinary lines, where the hidden constant depends on ε. Therefore, the bound in Theorem 1.11 is only interesting when no plane contains too many points.
On the other hand, having at most a constant fraction of the points on any plane is necessary to obtain a bound as in Theorem 1.11. Indeed, let V consist of the Fermat Configuration for some k ≥ 3 on a plane and o(k) points not on the plane. Then V has O(k) points and determines o(k 2 ) ordinary lines. On the other hand, r ≥4 r 2 t r (V) = (k 2 ). Both Hirzebruch's and Langer's inequalities (which also give bounds in C 3 , though without requiring that every plane contains not too many points) only give lower bounds on t 2 (V) + 3t 3 (V)/4, whereas both Theorems 1.7 and 1.11 give lower bounds on the number of ordinary lines, i.e., t 2 (V). We also note that lines with four points do not play any role in the previous inequalities, where the summation starts at r = 5. This is not the case for Theorem 1.11, which also takes into account lines with four points.
Finally, when a point set V spans four or more dimensions in a sufficiently nondegenerate manner, i.e., no three-dimensional affine subspace contains too many points, we prove that there must be a quadratic number of ordinary lines.

Theorem 1.12
There exists an absolute constant c > 0 and a positive integer n 0 such that the following holds. Let V be a set of n ≥ n 0 points in C 4 with at most n/2 points contained in any three-dimensional affine subspace. Then Here, again, the constant 1/2 is arbitrary and can be replaced by any positive constant less than 1. However, increasing this constant will shrink the constant c in front of n 2 .
While we state Theorems 1.7 and 1.11 over C 3 and Theorem 1.12 over C 4 , the same bounds hold in higher dimensions as well, since projecting a point set in C d onto a generic lower dimensional subspace can only increase the number of incidences. A quadratic lower bound may also be possible under the weaker hypothesis of at most n/2 points are contained in any two-dimensional space, but we have no proof or counterexample. A recent result of de Zeeuw [7] resolves this question for points over the reals. Theorem 1.13 For every α < 1 there is a c α > 0 such that, if a set P of n points in R 3 has at most αn points on any plane, then P spans at least c α n 2 ordinary lines.
Organization: In Sect. 2, we give a short overview of the new ideas in our proof (which builds upon [9]). In In Sect. 3, we develop the necessary machinery on matrix scaling and Latin squares. In Sect. 4, we prove some key lemmas that will be used in the proofs of our main results. Section 5 gives the proof of Theorems 1.7 and 1.12, which are considerably simpler than Theorem 1.11. In Sect. 6, we develop additional machinery needed for the proof of Theorem 1.11. The proof of Theorem 1.11 is presented in Sect. 7.

Proof Overview
The starting point for the proofs of Theorems 1.7, 1.11 and 1.12 is the method developed in [2,9] which uses rank bounds for design matrices-matrices in which the supports of different columns do not intersect in too many positions. We augment the techniques in these papers in several ways which give us more flexibility in analyzing the number of ordinary lines. We devote this short section to an overview of the general framework (starting with [9]) outlining the places where new ideas come into play.
Let V = {v 1 , . . . , v n } be points in C d and denote by V the n ×(d +1) matrix whose i th row is the vector (v i , 1) ∈ C d+1 , i.e., the vector obtained by appending a 1 to the vector v i . The dimension of the (affine) space spanned by the point set can be seen to be equal to rank(V )−1. We would now like to argue that too many collinearities in V (or too few ordinary lines) imply that all (or almost all) points of V must be contained in a low dimensional affine subspace, i.e., rank(V ) is small. To do this, we construct a matrix A, encoding the dependencies in V, such that AV = 0. Then we must have rank(V ) ≤ n − rank(A), and so it suffices to lower bound the rank of A.
We construct the matrix A in the following manner so that each row of A corresponds to a collinear triple in V. For any collinear triple {v i , v j , v k }, there exist coefficients a i , a j , a k such that a i v i + a j v j + a k v k = 0. We can thus form a row of A by taking these coefficients as the non-zero entries in the appropriate columns. By carefully selecting the triples using constructions of Latin squares (see Lemma 3.11), we can ensure that A is a design matrix. Roughly speaking, this means that the supports of every two columns in A intersect in a small number of positions. Equivalently, every pair of points appears together only in a small number of triples.
The proof in [9] now proceeds to prove a general rank lower bound on any such design matrix. To understand the new ideas in our proof, we need to "open the box" and see how the rank bound from [9] is actually proved. To get some intuition, suppose that A is a matrix with 0/1 entries. To bound the rank of A, we can consider the matrix M = A * A and note that rank(M) = rank(A). Since A is a design matrix, M has the property that the diagonal entries are very large (since we can show that each point is in many collinear triples) and that the off-diagonal elements are very small (since columns have small intersections). Matrices with this property are called diagonal dominant matrices, and it is easy to lower bound their rank using trace inequalities (see Lemma 3.5).
However, the matrix A that we construct could have entries of arbitrary magnitude and so bounding the rank requires more work. To do this, [9] relies on matrix scaling techniques. We are allowed to multiply each row and each column of A by a non-zero scalar and would like to reduce to the case where the entries of A are "mostly balanced" (see Theorem 3.3 and Corollary 3.4). Once scaled, we can consider M = A * A as before and use the bound for diagonal dominant matrices.
Our proof introduces two new main ideas into this picture. The first idea has to do with the conditions needed to scale A. It is known (see Corollary 3.4) that a matrix A has a good scaling if it does not contain a "too large" zero submatrix. This is referred to as having Property-S (see Definition 3.2). The proof of [9] uses A to construct a new matrix B, whose rows are the same as those of A but with some rows repeating more than once. Then one shows that B has Property-S and continues to scale B (which has rank at most that of A) instead of A. This loses the control on the exact number of rows in A which is crucial for bounding the number of ordinary lines. We instead perform a more careful case analysis: If A has Property-S then we scale A directly and gain more information about the number of ordinary lines. If A does not have Property-S, then we carefully examine the large zero submatrix that violates Property-S. Such a zero submatrix corresponds to a set of points and a set of lines such that no line is incident to any of the points. We argue in Lemma 4.4 that such a submatrix implies the existence of many ordinary lines. In fact, the conclusion is slightly more delicate: We either get many ordinary lines (in which case we are done) or we get a point with many ordinary lines incident to it (but not enough to complete the proof). In the second case, we need to perform an iterative argument which removes the point we found and applies the same argument again to the remaining points.
The second new ingredient in our proof comes into play only in the proof of Theorem 1.11. Here, our goal is to improve on the rank bound of [9] using the existence of lines with four or more points. Recall that our goal is to give a good upper bound on the off-diagonal entries of M = A * A. Consider the (i, j)th entry of M, obtained by taking the inner product of columns i and j in A. The ith column of A contains the coefficients of v i in a set of collinear triples containing v i (we might not use all collinear triples). In [9] this inner product is bounded using the Cauchy-Schwartz inequality, and uses the fact that we picked our triple family carefully so that v i and v j appear together in a small number of collinear triples. This does not use any information about possible cancellations that may occur in the inner product (considering different signs over the reals or angles of complex numbers). One of the key insights of our proof is to notice that having more than three points on a line, gives rise to such cancellations (which increase the more points we have on a single line).
To get a rough idea, let us focus on a set of points over the reals. Consider two points v 1 , v 2 on a line that has two more points v 3 , v 4 on it. Suppose that v 3 is 'between' v 1 and v 2 and that v 4 is outside the interval v 1 , v 2 . Then, in the collinearity equation for the triple v 1 , v 2 , v 3 the signs of the coefficients of v 1 , v 2 will be the same. On the other hand, in the collinearity equation for v 1 , v 2 , v 4 the signs of the coefficients of v 1 , v 2 will be different (one will be positive and the other negative). Thus, if both of these triples appear as rows of A, we will have non-trivial cancellations! Of course, we need to also worry about the magnitudes of the coefficients but, luckily, this is possible since, if the coefficients are of magnitudes that differ from each other too much, we can "win" in another Cauchy-Schwartz (which again translates into a better rank bound, see Lemma 6.6). To formalize the previous example, let v 1 , v 2 , v 3 , v 4 be collinear points in R d . Then there exist coefficients such that Now at least one of r (1 − r ), s(1 − s) and t(1 − t) must be negative, and at least one must be positive. Without loss of generality, say r (1 − r ) is positive and s(1 − s) is negative. In order for the Cauchy-Schwarz inequality to be tight, we need that r (1 − r ) = s(1 − s), which cannot happen because one is positive and the other is negative. This phenomena is captured in Lemma 6.3 which generalizes this idea to the complex numbers. The lemma only analyzes the case of four points since we can bootstrap the lemma for lines with more points by applying it to a random four tuple (see Item 4 of Lemma 6.4).

Matrix scaling and Rank Bounds
One of the main ingredients in our proof is rank bounds for design matrices. These techniques were first used for incidence type problems in [2] and improved upon in [9]. We first set up some notation. For a complex matrix A, let A * denote the matrix conjugated and transposed. Let A i j denote the entry in the i th row and j th column of A, and R k := R k (A) and C i := C i (A) denote the rows and column, respectively, of A. For Central to obtaining the rank bounds for matrices is the notion of matrix scaling. We now introduce this notion and provide some definitions and lemmas. Definition 3.1 (Matrix scaling) Let A be an m × n matrix over some field F. For every ρ ∈ F m and γ ∈ F n with all entries non-zero, the matrix A with A i j = A i j · ρ i · γ j is referred to as a scaling of A. We refer to the elements of the vectors ρ and γ as the scaling coefficients. Note that two matrices that are scalings of each other have the same rank and the same pattern of zero and non-zero entries.
We will be interested in scalings of matrices that control the row and column sums.
The following property provides a sufficient condition under which such scalings exist.

Definition 3.2 (Property-S) Let
A be an m × n matrix over some field. We say that A satisfies Property-S if for every zero submatrix of size a × b, we have The following theorem is given in [21].

Theorem 3.3 (Matrix Scaling Theorem) Let A be an m × n real matrix with nonnegative entries satisfying Property-S. Then, for every ε > 0, there exists a scaling
A of A such that the sum of every row of A is at most 1 + ε, and the sum of every column of A is at least m/n − ε. Moreover, the scaling coefficients are all positive real numbers.
In fact, in the above theorem, we may assume that the sum of every row of A is exactly 1 + ε, since scaling the rows to make the row sums 1 + ε can only increase the column sums.
The following corollary to Theorem 3.3 appeared in [2].
Moreover, the scaling coefficients are all positive real numbers.
Corollary 3.4 is obtained by applying Theorem 3.3 to the matrix obtained by squaring the absolute values of the entries of the matrix A. Once again, we may assume that To bound the rank of a matrix A, we will bound the rank of the matrix M = A * A , where A is some scaling of A. Then we have that rank(A) = rank(A ) = rank(M). We use Corollary 3.4, along with rank bounds for diagonal dominant matrices. The following lemma is a variant of a folklore lemma on the rank of diagonal dominant matrices (see [1]) and appeared in this form in [9]. Lemma 3.5 Let A be an n × n complex hermitian matrix, such that |A ii | ≥ L for all i ∈ n. Then The matrix scaling theorem allows us to control the 2 norms of the columns and rows of A , which in turn allows us to bound the sums of squares of entries of M. For this, we use a variation of a lemma from [9]. While the proof idea is the same, our proof requires a somewhat more careful analysis.
For any x 1 , x 2 , . . . , x n ∈ R, a standard application of the Cauchy-Schwarz inequality implies with equality if and only if x 1 = x 2 = · · · = x n . As mentioned in Sect. 2, a key ingredient in our proof is to use information about cancellations in the inner product.
To this end, we make use of the following: The latter term on the LHS in (2) quantifies the difference between the terms on two sides of (1). The proof for Lemma 3.7 will use (2) twice. To simplify the presentation, we need the following definitions: Definition 3.6 Let A be an m × n matrix over C, and let supp(i, j) := supp(C i ) ∩ supp(C j ). Then we define: Note that both D(A) and E(A) are non-negative real numbers.

Discussion on D(A) and E(A):
To give some insight into the proof, we include a brief discussion about D(A) and E(A). Consider the matrix An obvious improvement here comes from the fact the supports of any two columns intersect in only two entries, giving Equality holds if and only if all non-zero entries in row k are equal., e.g., when k ∈ 2, 3, 4. Otherwise, e.g., when k = 1, E(A) quantifies the difference.
In Sect. 6, we will show that for the dependency matrix, each row will either have all non-zero entries far from each other, i.e., it will contribute to E(A), or it will, together with other rows, contribute to D(A).
We now give the main result for this section.

Lemma 3.7
Let A be an m × n matrix over C. Suppose that each row of A has 2 norm < α, the supports of every two columns of A intersect in at most t locations, and the size of the support of every row is at most q. Let M = A * A. Then Here the last equality uses the fact that the only terms contributing to the sum in the inner summation come from k ∈ supp(i, j). Since the supports of any two columns of A intersect in at most t locations, |supp(i, j)| ≤ t for all i = j. Combining this with (2) gives: We now use (2) again to bound the second term in the expression above. This time we may restrict our attention to the at most q non-zero entries in each row. This gives From this, we get the following easy corollary.

Latin Squares
Latin squares play a central role in our proof. While Latin squares play a role in both [9] and [2], our proof exploits their design properties more strongly.
Proof For r ≥ 3, the existence of r × r diagonal Latin squares was proved by Hilton [13]. Therefore, we need only show the second part of the theorem. For this we rely on self-orthogonal Latin squares. Two Latin squares L and L are called orthogonal if every ordered pair (k, l) ∈ [r ] 2 occurs uniquely as (L i j , L i j ) for some i, j ∈ [r ]. A Latin square is called selforthogonal if it is orthogonal to its transpose, denoted by L T . A theorem of Brayton, Coppersmith, and Hoffman [5] proves the existence of r × r self-orthogonal Latin squares for r ∈ N, r = 2, 3, 6. Let L be a self-orthogonal Latin square. Since L ii = L T ii , the diagonal entries give all pairs of the form (i, i) for every i ∈ [r ], i.e., the diagonal entries must be a permutation of [r ]. Without loss of generality, we may assume that L ii = i and so L is also a diagonal Latin square. Clearly a self-orthogonal Latin square satisfies the property that This leaves us only with the case r = 6, which requires separate treatment. It is known that 6 × 6 self-orthogonal Latin squares do not exist. Fortunately, the property we require is weaker and we are able to give an explicit construction of a matrix that is sufficient for our needs. Let L be the following matrix: It is straightforward to verify that L has the required properties.
The following lemma is a strengthening of a lemma from [2].  , and every value appears once in each row and column. So for i = j ∈ [r ], it cannot happen that L i j = i or L i j = j and we get Property 1, i.e., all elements of a triple must be distinct.
For Property 2, note that a pair i, j appears once as (i, j, L i j ) and once as ( j, i, L ji ). And since every element appears exactly once in every row and column, we have that i must appear once in the j th row, j must appear once in the i th row and the same for the columns. It follows that each of ( * , j, i), ( j, * , i), ( * , i, j) and (i, * , j) appears exactly once, where * is some other element of [r ]. This gives us that every pair appears in exactly six triples.
For r ≥ 4 and i = j, since L i j = L ji , the triples (i, j, L i j ) and ( j, i, L ji ) are sufficient to satisfy Property 3.

The Dependency Matrix
Let V = {v 1 , . . . , v n } be a set of n points in C d . We will use dim(V) to denote the dimension of the linear span of V, and by affine-dim(V) the dimension of the affine span of V (i.e., the minimum r such that points of V are contained in a shift of a linear subspace of dimension r ). We projectivize C d and consider the set of vectors 1) is the vector in C d+1 obtained by appending a 1 to the vector v i . Let V be the n × (d + 1) matrix whose i th row is the vector v i . Now note that We now construct a matrix A, which we refer to as the dependency matrix of V. The construction we give here is preliminary, but suffices to prove Theorems 1.7 and 1.12. A refined construction is given in Sect. 6, where we select the triples more carefully. The rows of the matrix will consist of linear dependency coefficients, which we define below.  3 are collinear if and only if there exist non-zero coefficients a 1 , a 2 , a 3 ∈ C such that We refer to the a 1 , a 2 and a 3 as the linear dependency coefficients between v 1 , v 2 , v 3 . Since these coefficients are determined up to scaling by a complex number, we fix a canonical choice by setting a 3 = 1.

Definition 4.2 (Dependency matrix)
For every line l ∈ L ≥3 (V), let V l denote the points lying on l. Then |V l | ≥ 3 and we assign each line a triple system T l ⊆ [|V l |] 3 , the existence of which is guaranteed by Lemma 3.11. Let A be the m × n matrix obtained by going over every line l ∈ L ≥3 and for each triple (i, j, k) ∈ T l , adding as a row of A a vector with three non-zero coefficients in positions i, j, k corresponding to the linear dependency coefficients among the points v i , v j , v k . We refer to A as the dependency matrix for V.
Note that we have AV = 0. Every row of A has exactly three non-zero entries. By Property 2 of Lemma 3.11, the supports of any distinct two columns intersect in exactly six entries when the two corresponding points lie on a special line, and are disjoint otherwise. That is, the supports of any two distinct columns intersect in at most six entries.
We say a pair of points v i , v j , i = j, appears in the dependency matrix A if there exists a row with non-zero entries in columns i and j. The number of times a pair appears is the number of rows with non-zero entries in both columns i and j.
Every pair of points that lies on a special line appears exactly six times. The only pairs not appearing in the matrix are pairs of points that determine ordinary lines. There are n 2 pairs of points, t 2 (V) of which determine ordinary lines. So the number of pairs appearing in A is n 2 − t 2 . The total number of times these pairs appear is then 6 n 2 − t 2 . Every row gives three distinct pairs of points, so it follows that the number of rows of A is Note that m > 0, unless t 2 = n 2 , i.e., all lines are ordinary. As mentioned in the proof overview, we will consider two cases: when A satisfies Property-S and when it does not. We now prove lemmas dealing with the two cases. The following lemma deals with the former case.

Lemma 4.3 Let V be a set of n points affinely spanning C d , d ≥ 3, and let A be the dependency matrix for V. Suppose that A satisfies Property-S. Then
Proof Fix ε > 0. Since A satisfies Property-S, by Corollary 3.4 there is a scaling A such that the 2 norm of each row is at most √ 1 + ε and the 2 norm of each column is at least √ m/n − ε. Let M := A * A . Then M ii ≥ m/n − ε for all i. Since every row in A has support of size three, and the supports of any two columns intersect in at most six locations, Corollary 3.8 gives us that i = j |M i j | 2 ≤ 4m(1 + ε) 2 . Applying Lemma 3.5 to M, we have rank(M) ≥ n 2 (m/n − ε) 2 n(m/n − ε) 2 Taking ε to 0, and combining with (4) gives .
We now consider the case when Property-S is not satisfied.

Lemma 4.4 Let V be a set of n points in C d , and let A be the dependency matrix for V.
Suppose that A does not satisfy Property-S. Then, for every integer b * , 1 < b * < 2n/3, at least one of the following holds:

Proof Since
. We may assume that U is maximal, so every row in the submatrix X × W has at least one non-zero entry. Partition the rows of X into three parts: Let X 1 , X 2 and X 3 be rows with one, two and three non-zero entries in columns of W respectively. We will get a lower bound on the number of ordinary lines containing exactly one point in V 1 and one point in V\V 1 by bounding the number of pairs {v i , w}, with v i ∈ V 1 and w ∈ V\V 1 , that lie on special lines. Note that there are at most b(n − b) such pairs, and each pair that does not lie on a special line determines an ordinary line. Each row of X 1 gives two pairs of points {v i , w 1 } and {v i , w 2 } that lie on a special line, where v i ∈ V 1 and w 1 , w 2 ∈ V\V 1 . Each row of X 2 gives two pairs of points {v i , w} and {v j , w}, where v i , v j ∈ V 1 and w ∈ V\V 1 that lie on special lines. Each row of X 3 has all zero entries in the submatrix supported on X × Y , so does not contribute any pairs. Recall that each pair of points on a special line appears exactly six times in the matrix. This implies that the number of pairs that lie on special lines with at least one point in V 1 and one point in V\V 1 is (2|X 1 | + 2|X 2 |)/6 ≤ 2|X |/6. Hence, the number of ordinary lines containing exactly one of v 1 , .
Substituting m ≤ n 2 − n (a consequence of (4)) gives This gives that the number of ordinary lines containing exactly one point in V 1 is at least We now have that there exists v ∈ V 1 such that the number of ordinary lines containing v is at least . We will determine a lower bound for t 2 (V) by counting the number of non-zero pairs of entries A i j , A i j with j = j , that appear in the submatrix U × Y . There are n−b 2 pairs of points in V\V 1 , each of which appears at most six times, therefore the number of pairs of such entries is at most 6 n−b 2 . Each row of U has three pairs of non-zero entries, i.e., the number of pairs of entries equals 3a. It follows that Combining (4) with the fact that a/m + b/n > 1 implies Equations (5) and (6) together give Finally, solving for t 2 (V), we have

Proofs of Theorems 1.7 and 1.12
The proofs of both Theorems 1.7 and 1.12 rely on Lemmas 4.3 and 4.4. Together, these lemmas imply that there must be a point with many ordinary lines containing it, or there are many ordinary lines in total. As mentioned in the proof overview, the theorems are then obtained by using an iterative argument removing a point contained in many ordinary lines, and then applying the same argument to the remaining points.

Proof of Theorem 1.7
We get the following easy corollary from Lemmas 4.3 and 4.4.

Corollary 5.1
Let V be a set of n ≥ 5 points in C d not contained in a plane. Then at least one of the following holds: 1. There exists a point v ∈ V contained in at least 2n/3 − 7/3 ordinary lines; Proof Let A be the dependency matrix for V. If A satisfies Property-S, then we are done by Lemma 4.3. Otherwise, let b * = 3, and note that Lemma 4.4 gives us the statement of the corollary when n ≥ 5.
We are now ready to prove Theorem 1.7. For convenience, we state the theorem again. Theorem 1.7 Let V be a set of n ≥ 24 points in C 3 not contained in a plane. Then V determines at least 3n/2 ordinary lines, unless n − 1 points are on a plane in which case there are at least n − 1 ordinary lines.
Proof If t 2 (V) ≥ 3n/2 then we are done. Else, by Corollary 5.1, there exists a point v 1 incident to at least (2n − 7)/3 ordinary lines and hence, at most (n + 4)/6 special lines. Let V 1 = V\{v 1 }. If V 1 is planar, then there are exactly n − 1 ordinary lines incident to v 1 . This is the only case where there exists fewer than 3n/2 ordinary lines.
In the latter case there exists a point v 2 ∈ V 1 with at least (2n − 9)/3 ordinary lines determined by V 1 incident to it. At most one of these could contain v 1 , so there are at least (2n − 7)/3 + (2n − 9)/3 − 1 = (4n − 19)/3 ordinary lines incident to one of v 1 or v 2 . Note also that the number of special lines containing one of v 1 or v 2 is at most (n + 4)/6 + (n + 3)/6 = (2n + 7)/6. Let V 2 = V 1 \{v 2 }. If V 2 is contained in a plane, there are at least n − 3 ordinary lines incident to each of v 1 and v 2 giving a total of 2n − 6 ordinary lines determined by V. It follows that when n ≥ 12, t 2 (V) ≥ 3n/2.
Otherwise, V 2 is not contained in a plane, and again Corollary 5.1 gives two cases. If there are 3(n − 2)/2 ordinary lines determined by V 2 , then the total number of ordinary lines is When n ≥ 11, this implies t 2 (V) ≥ 3n/2. Otherwise, there exists a point v 3 contained in at least 2(n − 2)/3 − 7/3 ordinary lines. At most two of these could contain v 1 or v 2 , so there are 2(n − 2)/3 − 7/3 − 2 = (2n − 17)/3 ordinary lines incident to v 3 determined by V. Summing up the number of lines containing one of v 1 , v 2 and v 3 , we have When n ≥ 24, this implies t 2 (V) ≥ 3n/2.

Proof of Theorem 1.12
We get the following easy corollary from Lemmas 4.3 and 4.4.

Corollary 5.2
There exists a positive integer n 0 such that the following holds. Let V be a set of n ≥ n 0 points in C d not contained in a three-dimensional affine subspace. Then at least one of the following holds: 1. There exists a point contained in at least n/2 ordinary lines; Proof Let A be the dependency matrix of V. If A satisfies Property-S, then we are done by Lemma 4.3. Otherwise, let b * = n/6. Now by Lemma 4.4, either the number of ordinary lines or, there exists a point v ∈ V, such that the number of ordinary lines containing v is at least We are now ready to prove Theorem 1.12. For convenience, we state the theorem again.

Theorem 1.12
There exists an absolute constant c > 0 and a positive integer n 0 such that the following holds. Let V be a set of n ≥ n 0 points in C 4 with at most n/2 points contained in any three-dimensional affine subspace. Then Proof The basic idea of the proof uses the following algorithm: We use Corollary 5.2 to find a point incident to a large number of ordinary lines, "prune" this point, and then repeat this on the smaller set of points. We stop when either we cannot find such a point, in which case Corollary 5.2 guarantees a large number of ordinary lines, or when we have accumulated enough ordinary lines.
Consider the following algorithm: Let V 0 := V and j = 0.
Since no three-dimensional subspace contains more than n/2 points, at no point will the algorithm stop because the configuration becomes three-dimensional. That is, we can use Corollary 5.2 at every step of the algorithm.
We now analyze the two stopping conditions for the algorithm, and show that we can always find enough ordinary lines by the time the algorithm stops.
Suppose that we stop because V j satisfies Case 2 of Corollary 5.2 for some 1 ≤ j < n/2. Case 2 of Corollary 5.2 implies On the other hand, each pruned point v i , 1 ≤ i ≤ j, is incident to at least (n − i + 1)/2 > (n − i)/2 ordinary lines determined by V i−1 , and hence, at most (n − i − (n − i + 1)/2)/2 < (n − i)/4 special lines. An ordinary line in V i might not be ordinary in V i−1 if it contains v i . Thus, in order to lower bound the total number of ordinary lines in V, we sum over the number of ordinary lines contributed by each of the pruned points v i , 1 ≤ i ≤ j, and subtract from the count the number of potential lines that could contain v i . Then the number of ordinary lines in V contributed by the pruned points is at least Combining (7) and (8) gives This is an increasing function for j < n − 3/2, i.e., j ≤ n − 2 implying that We now consider the case when the algorithm stops because j ≥ n/2. Note that at this point, we will have pruned exactly j points. Each pruned point The only way such an ordinary line is not ordinary in V is if it contains one of the previously pruned points. At most i − 1 < i of the ordinary lines incident to v i contain other pruned points v k , k < i. Therefore the total number of ordinary lines determined by V satisfies This gives us that for some absolute constant c > 0 and n large enough,

A Dependency Matrix for a More Refined Bound
In this section we give a refined construction for the dependency matrix of a point set V. Recall that we defined the dependency matrix in Definition 4.2 to contain a row for each collinear triple from a triple system constructed on each special line. The goal was to not have too many triples containing the same pair (as can happen when there are many points on a single line). At the end of this section (Definition 6.7) we will give a construction of a dependency matrix that will have an additional property (captured in Item 4 of Lemma 6.4) which is used to obtain cancellation in the diagonal dominant argument, as outlined in the proof overview. We denote the argument of a non-zero complex number z by arg z, and use the convention that arg z ∈ (−π, π]. Definition 6.1 (Angle between two complex numbers) We define the angle between two non-zero complex numbers a and b to be the the absolute value of the argument of ab, denoted by arg ab . Note that the angle between a and b equals the angle between b and a. Definition 6.2 (Co-factor) Let v 1 , v 2 and v 3 be three distinct collinear points in C d , and let a 1 , a 2 and a 3 be the linear dependency coefficients among the three points.
Define the co-factor of v 3 with respect to (v 1 , v 2 ), denoted by C 1,2 (3), to be a 1 a 2 |a 1 ||a 2 | . Notice that this is well defined with respect to the points, and does not depend on the choice of coefficients.
The next lemma will be used to show that "cancellations" must arise in a line containing four points (as mentioned earlier in the proof overview). We will later use this lemma as a black box to quantify the cancellations in lines with more than four points by applying it to random four tuples inside the line. 3 , v 4 be four collinear points in C d . Then at least one of the following holds: 1. The angle between C 1,2 (3) and C 1,2 (4) is at least π/3; 2. The angle between C 1,3 (4) and C 1,3 (2) is at least π/3; 3. The angle between C 1,4 (2) and C 1,4 (3) is at least π/3. 1), i.e., the vector obtained by appending 1 to v i . Since v 1 , v 2 , v 3 , v 4 are collinear, there exist a 1 , a 2 , a 3 ∈ C such that We may assume, without loss of generality, that a 3 = b 4 = 1. Now (9) and (10) give us that C 1,2 (3) = a 1 a 2 |a 1 ||a 2 | , C 1,2 (4) = b 1 b 2 |b 1 ||b 2 | , C 1,3 (2) = a 1 |a 1 | and C 1,4 (2) = b 1 |b 1 | . Combining (9) and (10), we get the following linear equation: From (11), we get C 1,3 (4) = (b 2 a 1 −b 1 a 2 )b 2 |b 2 a 1 −b 1 a 2 ||b 2 | and C 1,4 (3) = − (b 2 a 1 −b 1 a 2 )a 2 |b 2 a 1 −b 1 a 2 ||a 2 | . Then the angle between C 1,2 (3) and C 1,2 (4) is arg The angle between C 1,3 (4) and C 1,3 (2) is The angle between C 1,4 (2) and C 1,4 (3) is Note that the product of expressions inside the arg functions in (12), (13) and (14) is a negative real number, and so the sum of (12), (13) and (14) must be π . It follows that one of the angles must be at least π/3. Our final dependency matrix will be composed of blocks, each given by the following lemma. Roughly speaking, we construct a block of rows A(l) for each special line l. The rows in A(l) will be chosen carefully and will correspond to triples that will eventually give nontrivial cancellations. Lemma 6.4 Let l be a line in C d and V l = {v 1 , . . . v r } be points on l with r ≥ 3. Let V l be the r × (d + 1) matrix whose i th row is the vector (v i , 1). Then there exists an (r 2 − r ) × r matrix A = A(l), which we refer to as the dependency matrix of l, such that the following hold: , construct a matrix A σ in the following manner: Let T l be the triple system on V 3 l induced by σ and T r . For each triple (v i , v j , v k ) ∈ T l , add a row with three non-zero entries in positions i, j, k corresponding to the linear dependency coefficients between v i , v j and v k .
Note that for every σ , A σ has r 2 −r rows and r columns. Since the rows correspond to linear dependency coefficients, clearly we have A σ V l = 0 satisfying Property 1. Properties 2 and 3 follow from properties of the triple system from Lemma 3.11.
We will use a probabilistic argument to show that there exists a matrix A that has Property 4. Let be the collection of all bijective maps from [r ] to the points V l , and let σ ∈ be a uniformly random element. Consider A σ . Since every pair of points occurs in at least two distinct triples, for every row R k of A σ , there exists a row R k such that the supports of R k and R k intersect in two entries. Suppose that R k and R k have supports contained in {i, j, s, t}. Suppose that σ maps {v i , v j , v s , v t } to {1, 2, 3, 4} and that (1,2,3) and (1,2,4) are triples in T r . Without loss of generality, assume v i maps to 1. Then by Lemma 6.3, the angle between at least one of the pairs , C i,t (s)} must be at least π/3. That is, given that v i maps to 1, we have that the probability that R k satisfies Property 4 is at least 1/3. Then it is easy to see that Pr(R k satisfies Property 4) ≥ 1 3 .
Define the random variable X to be the number of rows satisfying Property 4, and note that we have It follows that there exists a matrix A in which at least 1/3 of the rows satisfy Property 4.
To argue about the off-diagonal entries of M, we will use the following notion of balanced rows. The main idea here is that, if there are many rows that are not balanced then we win in one of the Cauchy-Schwartz applications and, if many rows are balanced then we win from cancellations that show up via the different angles. Definition 6.5 (η-Balanced row) Given an m × n matrix A, we say a row R k is ηbalanced for some constant η if |A ki | 2 − |A k j | 2 ≤ η, for every i, j ∈ supp(R k ). Otherwise, we say that R k is η-unbalanced. When η is clear from the context, we say that the row is balanced/unbalanced.
Proof Recall that A is an (r 2 − r ) × r matrix, that the support of every row has size exactly three, and that the supports of any two distinct columns of A intersects in six locations. Clearly, any scaling A of A will also satisfy these properties. Applying Lemma 3.7 to A gives We are able to give a lower bound on D(A ) + 2E(A ) using Property 4 of Lemma 6.4. From here on, we focus on the rows mentioned in Property 4. Recall that there are at least (r 2 − r )/3 such rows. For some η to be determined later, suppose that β fraction of these rows is η-unbalanced. We will show each such row contributes to either D(A ) or E(A ).
If a row R k is η-imbalanced, we have Alternatively suppose that R k is η-balanced. Recall that n i=1 |A ki | 2 = α, and note that we must have that |A ki | 2 ∈ [α/3 − 2η/3, α/3 + 2η/3] for all i ∈ supp(R k ). Suppose that both R k and R k have non-zero entries in columns i and j, but R k has a third non-zero entry in column s and R k has a third non-zero entry in column t, where s = t. Suppose further that the angle θ between the co-factors C i, j (s) and C i, j (t) is at least π/3, i.e., cos θ ≤ 1/2. Then Any positive real numbers a, b satisfy Substituting a = A ki A k j and b = A k i A k j gives Summing over the η-unbalanced rows, we have Summing over all the η-balanced rows gives Combining the lower bounds for D(A) and E(A), and setting η = α/10 gives To bound the sum of squares of the off-diagonal entries, we go back to the construction of the dependency matrix. Recall that the matrix A was obtained by taking the union of rows of matrices A(l), for each l ∈ L ≥3 . Then we have that A is the union of scalings of the rows of the matrices A(l), for each l ∈ L ≥3 . Note that |M i j | = C i , C j and that the intersection of the supports of any two distinct columns in contained within a scaling of A(l), for some l ∈ L ≥3 . Therefore, to get a bound on i = j |M i j | 2 , it suffices to consider these component matrices. Combining the bounds obtained from Lemma 6.6, with α = 1 + ε, we have Let F = c 0 n r ≥4 (r 2 − r )t r . Lemma 3.5 implies Taking ε to 0, we get rank(M) ≥ n 2 (m/n) 2 n (m/n) 2 + 4m − F = n − 4n 2 m − n 2 F m 2 + 4mn − n F .
The following lemma will be crucially used in the proof of Theorem 1.11.

Lemma 7.3
Let V be a set of n points in C d , and V = V\{v} for some v ∈ V. Then r ≥4 (r 2 − r )t r (V ) ≥ r ≥4 (r 2 − r )t r (V) − 4(n − 1).
Proof Note that when we remove v from the set V, we only affect lines that contain v. In particular, ordinary lines containing v are removed and the number of points on every special line containing v goes down by 1. Every other line remains unchanged and so it suffices to consider only lines that contain the point v. We consider the difference (r 2 − r )t r (V ).
We will consider the contribution of a line l determined by V to the difference K . Each line l ∈ L ≥5 (V), i.e., a line that has r ≥ 5 points, that contains v contributes r 2 − r to the summation r ≥4 (r 2 − r )t r (V). In V , l has r − 1 points, and contributes (r − 1) 2 − (r − 1) to the summation r ≥4 (r 2 − r )t r (V ). Therefore, l contributes 2(r − 1) to the difference K . We may charge this contribution to the points on l that are not v. There are r − 1 other points on l, so each point contributes 2 to K .
Each line l ∈ L 4 (V) that contains v contributes r 2 − r = 12 to the summation r ≥4 (r 2 − r )t r (V). These lines contain three points in V , and so do not contribute anything in the r ≥4 (r 2 − r )t r (V ) term. Once again, we charge this contribution to the points lying on l that are not v. Each such line has three points on it other than v, so each point contributes 12/3 = 4 to K .
There is a unique line containing v and any other point, and each point either contributes 0, 2 or 4 to K . This gives r ≥4 Rearranging completes the proof.
We are now ready to prove the main theorem. For convenience, we restate the theorem. Theorem 1.11 There exists an absolute constant c > 0 and a positive integer n 0 such that the following holds. Let V be a set of n ≥ n 0 points in C 3 with at most n/2 points contained in any plane. Then t 2 (V) ≥ 3 2 n + c r ≥4 r 2 t r (V).