A Geometric View of the Service Rates of Codes Problem and its Application to the Service Rate of the First Order Reed-Muller Codes

Service rate is an important, recently introduced, performance metric associated with distributed coded storage systems. Among other interpretations, it measures the number of users that can be simultaneously served by the storage system. We introduce a geometric approach to address this problem. One of the most significant advantages of this approach over the existing approaches is that it allows one to derive bounds on the service rate of a code without explicitly knowing the list of all possible recovery sets. To illustrate the power of our geometric approach, we derive upper bounds on the service rates of the first order Reed-Muller codes and simplex codes. Then, we show how these upper bounds can be achieved. Furthermore, utilizing the proposed geometric technique, we show that given the service rate region of a code, a lower bound on the minimum distance of the code can be obtained.


I. INTRODUCTION
One of the most significant considerations in the design of distributed storage systems is serving a large number of users concurrently. The service rate has been recently recognized as an important performance metric that measures the number of users that can be simultaneously served by a storage system [1]- [4] that implements an erasure code. Maximizing the service rate reduces the latency experienced by users, particularly in a high traffic regime.
The service rate problem considers a distributed storage system where k files, f 1 , . . . , f k are encoded into n, and stored across n servers. File f i can be recovered by reading data from a single or a set of storage nodes, referred to as a recovery set for file f i . Requests to download file f i arrive at rate λ i , and can be split across its recovery sets. Server l can simultaneously serve multiple requests if their cumulative arrival rate does not exceed the maximum service rate µ l of server l. The service rate problem seeks to determine the service rate region of the coded storage system which is defined as the set of all request arrival rate vectors λ = (λ 1 , . . . , λ k ) that can be served by this system.
The service rate problem has been studied only in some special cases: 1) for MDS codes when n ≥ 2k and binary simplex codes in [2] and 2) for systems with arbitrary n when k = 2 in [2] and k = 3 in [3].
The existing techniques for solving the problem require enumeration of all possible recovery sets, which becomes increasingly complex when the number of files k increases. Thus, introducing a technique which is not depending on the enumeration of recovery sets is of great significance. In this paper, we introduce a novel geometric approach with this goal in mind.

A. Previous and Related Work
The past two decades have seen an ever increasing interest in coding for storage and caching. Special codes that support efficient maintenance of storage under node failures have been proposed in e.g., [5]- [9]. The locality and availability of codes matter in such scenarios. This line of work mostly assumes infinite service rate (immediate service) for servers, and is primarily concerned with reliability of storage rather than with serving a large number of simultaneous users.
Another line of work is focused on caching (see e.g., [10]- [12]). In these work, the limited capacity of the backhaul link is considered as the main bottleneck, and the goal is usually to minimize its traffic by prefetching the popular contents at the storage nodes with limited size. Thus, these work do not address the scenarios such as live streaming, where many users wish to get the same content concurrently given the limited capacity of the access part of the network.
The most related to this work are papers concerned with content download from coded storage. Load balancing in such systems has recently been addressed in [13]. Memory allocation that maximizes the probability of successful content download under limited access to distributed storage was considered in e.g., [14], [15] and references therein. Minimizing the service rate in these scenarios was considered in [1], [4]. This problem is similar to ours but it assumes that all users request the same content which is encoded by an MDS code and stored on nodes with unlimited storage capacity. Fast content download from coded storage was considered in e.g., [16], [17], and references therein. These papers strive to compute the download latency for increasingly complex queueing systems that appear in coded storage [18]- [20]. The service rate problem is related to the stability region of such queues.

B. Main Contributions
We study the service rates of codes problem by introducing a novel geometric approach. This approach overcomes the main drawback of the previous work which are trying to solve this problem by formulating it as a sequence of linear programs (LP). There, one must exactly know all possible recovery sets to enumerate the constraints in each LP, and must also solve all the LPs.
Leveraging our novel geometric technique, we take initial steps towards deriving bounds on the service rates of some parametric classes of linear codes without explicitly listing the set of all possible recovery sets. In particular, we derive upper bounds on the service rates of the first order Reed-Muller codes and simplex codes, as two classes of codes which are most important in theory as well as in practice.
Subsequently, we show how the derived upper bounds can be achieved. Moreover, utilizing the proposed geometric technique, we show that given the service rate region of a code, a lower bound on the minimum distance of the code can be derived. The proofs of Lemmas and Corollaries can be found in the Appendix.

A. Notation
Throughout this paper, we denote vectors by bold-face small letters and matrices by bold-face capital letters. Let N denote the set of the non-negative integer numbers. Let F q be a finite field for some prime power q, and F n q be the n-dimensional vector space over F q . Let us denote a q-ary linear code C of length n, dimension k and minimum distance d by [n, k, d] q . We denote the Hamming weight of x by w(x). For a positive integer k, let 0 and 1 denote the all-zero and all-one column vectors of length k, respectively. Let e i denotes a unit vector of length k, having a one at position i and zeros elsewhere. For a positive integer i, define [i] {1, . . . , i}. Let us denote the cardinality of a set or multiset S by #S.

B. Service Rate of Codes
Consider a storage system in which k files f 1 , . . . , f k are stored over n servers, labeled 1, . . . , n, using a linear [n, k] q code with generator matrix G ∈ F k×n q . Let g j denote the jth column of G. A recovery set for the file f i is a set of stored symbols which can be used to recover file f i . With respect to G, a set R ⊆ [n] is a recovery set for file f i if there exist α j 's ∈ F q such that j∈R α j g j = e i , i.e., the unit vector e i can be recovered by a linear combination of the columns of G indexed by the set R. W.l.o.g., we restrict our attention to the reduced recovery sets obtained by considering non-zero coefficients α j 's and linearly independent columns g j 's.
. . , R i,ti } be the t i ∈ N recovery sets for file f i . Let µ l ∈ R ≥0 be the average rate at which the server l ∈ [n] resolves received file requests. We denote the service rates of servers 1, . . . , n by a vector µ = (µ 1 , . . . , µ n ). We further assume that the requests to download file f i arrive at rate λ i , i ∈ [k]. We denote the request rates for files 1, . . . , k by the vector λ = (λ 1 , . . . , λ k ). We consider the class of scheduling strategies that assign a fraction of requests for a file to each of its recovery sets. Let λ i,j be the portion of requests for file f i that are assigned to the recovery set R i,j , j ∈ [t i ].
The service rate region S(G, µ) ⊆ R k ≥0 is defined as the set of all request vectors λ that can be served by a coded storage system with generator matrix G and service rate µ. Alternatively, S(G, µ) can be defined as the set of all vectors λ for which there exist λ i,j ∈ R ≥0 , i ∈ [k] and j ∈ [t i ], satisfying the following constraints: The constraints (1a) guarantee that the demands for all files are served, and constraints (1b) ensure that no node receives requests at a rate in excess of its service rate.  The service rate problem seeks to determine the service rate region S(G, µ) of a coded storage system with generator matrix G and service rate µ. Based on Corollary 1, the first algorithm for computing the service rate region that comes to mind is enumerating all vertices of the polytope S(G, µ) and then computing the convex hull of the resulting vertices. As we will show shortly, this problem can be formulated as an optimization problem consisting of a sequence of LPs.
, as an immediate consequence of Lemma 1 and Proposition 1, the set conv(J ) is contained in S(G, µ).
Starting with J , one can iteratively enlarge J until the subsequent procedure stops. A facet H of conv(J ) For the chosen facet H described by the vector h ∈ R k ≥0 and η ∈ R ≥0 , one should solve max h ⊤ λ, where λ ∈ R k ≥0 satisfies the demand constraints (1a) and the capacity constraints (1b). If the optimal target value is strictly larger than η, then the solution vector λ ⋆ is added to J and this procedure continues.
For any h = (h 1 , . . . , h k ), the primal LP is given by and the corresponding dual LP is given by Bsaed on the Duality Theorem [22], if both the primal LP and the corresponding dual LP have feasible solutions, then their optimal target values coincide. It can be easily confirmed that a feasible solution for the primal LP (2) can be given by λ i,j = 0 and λ i = 0, and a feasible solution for the dual LP (3) can be given by β i = h i and γ l = k i=1 h i . Thus, given a generator matrix G of a linear code and a service rate µ of the servers in a distributed coded storage system, the LP (2) can be utilized to compute the which is a valid inequality for S(G, µ). The downside of this approach is that we have to exactly know the set of all possible recovery sets for each file and also have to optimally solve all the LP (2). Using the dual LP (3), we run into a similar problem since in order to list all the inequalities in (3), again we require to know the elements of all the recovery sets for each file, which becomes increasingly complex when the number of files k increases. Therefore, determining the service rate region of a code is a challenging problem, and in general we have to be pleased with lower and upper bounds. Thus, characterizing the exact service rate region of some parametric classes of linear codes or deriving some bounds on the service rate of a code without knowing explicitly all recovery sets is of great significance, which we aim to address in this paper. Towards this goal, we introduce a novel geometric approach. Leveraging our geometric approach, we derive upper bounds on the service rates of the first order Reed-Muller codes and simplex codes.

C. Geometric View on Linear Codes [23]-[25]
Definition 1. For a vector space V of dimension v over F q , ordered by inclusion, the set of all F qsubspaces of V forms a finite modular geometric lattice with meet X ∧ Y = X ∩ Y , join X ∨Y = X +Y , and rank function X → dim(X). This subspace lattice of V is known as the projective geometry of V, which is referred to as the v − 1 dimensional projective space over F q . This notion makes sense because of the fact that, up to isomorphism, the projective geometry PG(V) only depends on the order q of the base field and the (algebraic) dimension v, which is justifying the notion PG(v − 1, q) of (geometric) to as k-subspaces, will be denoted by V k q . The cardinality of this set is given by the Gaussian binomial coefficient as follows A multiset is a modification of the concept of a set that, unlike a set, allows for multiple instances for each of its elements. The positive integer number of instances, given for each element is called the multiplicity of this element in the multiset. More formally, a multiset S on a base set X can be identified with its characteristic function χ S : X → N, mapping x ∈ X to the multiplicity of x in S. The cardinality with characteristic function χ P : PG(V) → N, and H denotes a hyperplane in PG(V). The restricted multiset P ∩ H is defined via its characteristic function as follows Let G ∈ F k×n q be the generator matrix of a linear [n, k] q code C, a k-subspace of the n-dimensional be the ith column of G. Suppose that none of the g i 's is 0. (The code C is said to be of full length.) Then each g i determines a point in the projective space PG(k − 1, q), and G := {g 1 , g 2 , . . . , g n } is a set of n points in PG(k − 1, q) if the g i happen to be pair-wise independent.
When dependence occurs, G is interpreted as a multiset and each point is counted with the appropriate multiplicity. In general, G is called n-multiset induced by C. It should be noted that the importance of this correspondence lies in the fact that it relates the codingtheoretic properties of C to the geometric or the combinatorial properties of G.
Proposition 3. Let G ∈ F k×n q be the generator matrix of a linear [n, k, d] q code C, and G be the n-multiset induced by code C. The minimum distance d of code C is given by where H runs through all the hyperplanes of PG(k − 1, q).
Proof: For an arbitrary non-zero row vector a = [a 1 , · · · , a k ] of dimension k, the Hamming weight of codeword aG ∈ C is given by where A is a hyperplane in PG(k − 1, q) with equation a 1 x 1 + · · · + a k x k = 0. Thus, the codeword with minimum Hamming weight is resulted from a hyperplane H in PG(k − 1, q) with maximum #(G ∩ H).
The proof is completed considering the fact that the minimum distance of a code is equal to the minimum Hamming weight of its nonzero codewords. Example 1. Consider the k-dimensional simplex code C over F q . In PG(k − 1, q), the multiset G induced by code C has k 1 q points, and all hyperplanes contain k−1 1 q points. Thus, as an immediate consequence of Proposition 3 and its proof, every non-zero codeword of the corresponding linear code has a Hamming weight of q k−1 , which indicates that the minimum distance of code C is q k−1 . Let H be an arbitrary hyperplane in PG(k − 1, q) and P be the set of all q k−1 points of F k q that are not contained in H. The corresponding code of P is known as a k-dimensional first order Reed-Muller code or as an affine k-dimensional simplex code. [26]- [29] In this paper, we consider binary first order Reed-Muller codes RM 2 (1, k−1) with the integer parameter k ≥ 2. It is known that RM 2 (1, k−1) is a linear [2 k−1 , k, 2 k−2 ] 2 code. For a given k, one way of obtaining this code is to evaluate all multilinear polynomials with the binary coefficients, k − 1 variables and the total degree of one on the elements of F k−1 2 . The encoding polynomial for RM 2 (1, k − 1) can be written as

D. First Order Reed-Muller Codes
For any A ⊆ X , define the indicator vector I A ∈ F k−1 2 as follows,   where s = i∈I s i .
It should be noted that Corollary 3 enables us to derive upper bounds on the service rate of the first order Reed-Muller codes and simplex codes. In what follows, without loss of generality, we assume that the service rate of all servers in the coded storage system is 1, i.e., µ l = 1 for all l ∈ [n]. Thus, by this assumption, the service rate region of a code only depends on the generator matrix G of the code and can be denoted by S(G).

IV. SERVICE RATE REGION OF SIMPLEX CODES
In this section, by leveraging a novel geometric approach, we characterize the service rate region of the binary simplex codes which are special rate-optimal subclass of availability codes that are known as an important family of distributed storage codes. As we will show, the determined service rate region coincides with the region derived in [2, Theorem 1].
Theorem 1. For each integer k ≥ 1, the service rate region of the k-dimensional binary simplex code C, which is a linear [2 k − 1, k, 2 k−1 ] 2 code with generator matrix G is given by Proof: Note that the simplex code is projective. Since the projective space PG(k − 1, 2) contains exactly For the other direction, we consider the hyperplane H given by k i=1 x i = 0, which does not contain any unit vector e i . Thus, for any demand vector λ = (λ 1 , . . . , λ k ) in the service rate region, the Corollary 3 The reason is that half of the vectors in F k 2 which are the columns of G and so the elements of G, are not contained in H.

V. SERVICE RATE REGION OF REED-MULLER CODES
This section seeks to characterize the service rate region of the RM 2 (1, k−1) code with a non-systematic and a systematic generator matrix G constructed as described in section II-D.

A. Non-Systematic First Order Reed-Muller Codes
Theorem 2. For each integer k ≥ 2, the service rate region of first order Reed-Muller code RM 2 (1, k − 1) (or binary affine k-dimensional simplex code) with a non-systematic generator matrix G constructed as described in section II-D, if k ∈ {2, 3} is given by and if k ≥ 4, is given by Proof: The proof consists of a converse and an achievability.
Converse: The unit vector e i for all i ∈ [k − 1] is not a column of G which means that file f i does not have any systematic recovery set. Therefore, for file f i , i ∈ [k − 1], all recovery sets have cardinality at least two, and the minimum system capacity utilized by λ i , i ∈ [k − 1], is 2λ i . For file f k , the cardinality of every reduced recovery set is odd since all columns of generator matrix G has one in the last row.
Hence, for file f k , the unit vector e k that is a column of G, forms a systematic recovery set of cardinality one, while all other recovery sets have cardinality at least three. Hence, the minimum capacity used by λ k ≥ 1 is 1 + 3(λ k − 1). Since the system has 2 k−1 servers, each of service rate (capacity) 1, based on the capacity constraints, the total capacity utilized by the requests for download must be less than 2 k−1 .
Thus, any vector λ = (λ 1 , . . . , λ k ) in the service rate region must satisfy the following valid constraint, Consider the hyperplane H given by k i=1 x i = 0, that does not contain any unit vector e i . The columns of generator matrix G and so the elements of G which are not contained in H, are the vectors in F k 2 with one in the last coordinate that satisfy k−1 i=1 x i = 0. It is easy to see that there are 2 k−2 such vectors. Thus, applying Corollary 3 for hyperplane H impose another valid constraint as follows that any demand vector λ = (λ 1 , . . . , λ k ) in the service rate region must satisfy, It should be noted that for λ k < 2, the Inequality (5) is tighter than (4), while for λ k > 2 Inequality (4) is tighter than (5). This means that for k ∈ {2, 3} Inequality (4) is redundant.
Achievability: For the other direction, we will provide solutions (constructions) for the vertices of the corresponding polytope as follows. Let R ′ ⊆ F k 2 , |R ′ | = 2 k−1 be the set of columns of G with one in the last coordinate. For all i ∈ [k − 1], consider all the 2 k−2 vectors x ∈ R ′ with zero in the ith coordinate, then x + e i ∈ R ′ , and so {x, x + e i } constitutes a recovery set of cardinality two for file f i .
Thus, for each file f i , i ∈ [k − 1], the columns of G can be partitioned into 2 k−2 pairs {x, x + e i } which determines 2 k−2 disjoint recovery sets for file f i , i ∈ [k − 1]. Therefore, the demand vectors 2 k−2 · e i for all i ∈ [k − 1] can be satisfied, i.e., 2 k−2 · e i ∈ S(G). For file f k , there are exactly one systematic recovery set of cardinality one which is the column e k of G, and (2 k−1 − 1).(2 k−1 − 2)/6 recovery sets of cardinality three which are the sets {x, x ′ , x + x ′ + e k } for all pairs x, x ′ ∈ R ′ \ e k . Note that for k = 2, according to Inequality (5), one can readily confirm that λ k ≤ 1. Thus, for k = 2 the systematic recovery set of file f k can be utilized for satisfying the demand vector 1 · e k . For k ≥ 3, it should be noted that that each column x ∈ R ′ \ e k is contained in exactly (2 k−1 − 2)/2 recovery sets of file f k of cardinality three. Since the capacity of each node is one, from each recovery set the request rate of 1/(2 k−2 − 1) can be satisfied without violating the capacity constraints. Thus, the demand vector 2 k−1 +2 3 · e k can be satisfied. For the remaining part, we consider k ≥ 4. Let i, j ∈ [k − 1] with i = j be arbitrary. With this {e k , e i + e k } and {e j + e k , e i + e j + e k } are two of 2 k−2 recovery sets of cardinality two for file f i .
Thus, the elements in R ′ \ {e k , e i + e k , e j + e k , e i + e j + e k } can be partitioned into 2 k−2 − 2 recovery sets for file f i , i ∈ [k − 1]. Also, the sets {e k } and {e i + e k , e j + e k , e i + e j + e k } can be utilized as two disjoint recovery sets for file f k . Thus, the demand vector 2 k−2 − 2 · e i + 2 · e k can be satisfied.

B. Systematic First Order Reed-Muller Codes
Theorem 3. For each integer k ≥ 2, the service rate region of first order Reed-Muller code RM 2 (1, k − 1) (or binary affine k-dimensional simplex code) with a systematic generator matrix G constructed as described in section II-D, if k = 2 is given by if k = 3, is given by if k = 4, is given by and if k ≥ 5, S(G) lies inside the region given by where p i = 10 3 · e i and q i,j = 3 · e i + 1 · e j for i, j ∈ [k].
Proof: Based on the construction described in section II-D for a systematic generator matrix G of the RM 2 (1, k − 1), it can be seen that the number of ones in each column of G is odd, and the constructed systematic generator matrix, up to column permutations, is unique. Let the columns of G which are the set of vectors in F k 2 with odd number of ones, be denoted by R ′ ⊆ F k 2 , |R ′ | = 2 k−1 . Converse: For an arbitrary file f i , i∈ [k], the unit vector e i is a column of G that forms a systematic recovery set of cardinality one, while all other recovery sets have cardinality at least three. The proof is based on the contradiction approach. Let x, x ′ ∈ R ′ \ e i . Assume that {x, x ′ } forms a recovery set of cardinality two for file f i , i.e., x + x ′ = e i . Since both x and x ′ have an odd number of ones, their sum must have an even number of ones which is a contradiction. Indeed, for all pairs x, x ′ ∈ R ′ \ e i , the set {x, x ′ , x + x ′ + e i } forms a recovery set of cardinality three for file f i , i ∈ [k]. Thus, if λ i ≤ 1, the requests for file f i can be fully satisfied by the systematic recovery set {e i } and the system capacity utilized by λ i is λ i . However, for λ i ≥ 1, the system capacity utilized by λ i is at least 1 + 3(λ i − 1) = 3λ i − 2.
Since the system has 2 k−1 servers of capacity 1, the following constraints are valid constraints such that any vector λ = (λ 1 , . . . , λ k ) in the service rate region must satisfy: Applying Corollary 3 on all hyperplanes H j , j ∈ [k], given by i∈[k]\j x i = 0, where each hyperplane does not contain any unit vectors e i , i ∈ [k] \ j, yields another set of valid constraints on any demand vector λ = (λ 1 , . . . , λ k ) in the service rate region as follows: Note that for k ∈ {2, 3}, Inequality (7) is tighter than (6). For k = 2, Inequality (7) gives λ 1 ≤ 1 and 3]. Summing up these three inequalities and dividing them by two, results 3 i=1 λ i ≤ 3. For k = 4, Inequality (7) yields 4 i=1 λ i − λ i ≤ 4 for all i ∈ [4]. Summing up these four inequalities and dividing by three gives 4 i=1 λ i ≤ 16 3 . Also, for k = 4, Inequality (6) gives a set of constraints, among which the constraints 4 i=1 λ i + 2 · λ i ≤ 10 for all i ∈ [4], are tighter than the ones already obtained from (7) in some region. For k ≥ 5, Inequality (6) is always tighter than (7). Achievability: For k ≤ 4, we have to provide constructions for the vertices of the corresponding polytope. As discussed, for each file f i , with i ∈ [k], there are exactly one systematic recovery set of cardinality one which is the column e i of G, and (2 k−1 − 1).(2 k−1 − 2)/6 recovery sets of cardinality three which are the sets of the form {x, x ′ , x + x ′ + e i } for all pairs x, x ′ ∈ R ′ \ e i . For k = 2, the two disjoint recovery sets {e 1 } and {e 2 }, which are the only recovery sets for files f 1 and f 2 , respectively, can be used to satisfy the demand vector e 1 + e 2 . Now, consider k ≥ 3. Since each column x ∈ R ′ \ e i is contained in exactly (2 k−1 − 2)/2 recovery sets of file f i , i ∈ [k] of cardinality three, and the capacity of each node is one, from each recovery set the request rate of 1/(2 k−2 − 1) can be satisfied without violating the capacity constraints. Thus, the demand vector 2 k−1 +2 3 · e i for all i ∈ [k] can be satisfied.
This means that for k = 3 and k = 4, respectively the demand vectors 2 · e i for all i ∈ [3], and 10 3 · e i for all i ∈ [4] can be satisfied. Also, for k = 3, the demand vector e 1 + e 2 + e 3 can be achieved by the  (1) for the all-zero demand vector of dimension k denoted by 0 = (0, . . . , 0) ∈ R k . Thus, 0 always belongs to the service rate region S(G, µ). It proves that the service rate region S(G, µ) is a non-empty subset of R k ≥0 . Based on the definition of the convex set, we need to show that for all λ andλ in S(G, µ) and for all 0 ≤ π ≤ 1, all vectors πλ + (1 − π)λ are in S(G, µ). Since λ ∈ S(G, µ), there exist λ i,j 's, where i ∈ [k] and j ∈ [t i ], that satisfy the set of constraints in (1) for the demand vector λ and the service rate vector µ. Also, sinceλ ∈ S(G, µ), there existλ i,j 's, where i ∈ [k] and j ∈ [t i ], that satisfy the set of constraints in (1) for the demand vector λ and the service rate vector µ. One can easily confirm that (πλ i,j + (1 − π)λ i,j )'s, where i ∈ [k] and j ∈ [t i ], also satisfy the set of constraints in (1) for the demand vector πλ + (1 − π)λ for all 0 ≤ π ≤ 1, and the service rate vector µ. Thus, πλ + (1 − π)λ belongs to S(G, µ) for all 0 ≤ π ≤ 1. This completes the proof of convexity of the service rate region S(G, µ). Summing up the set of constraints in (1b) leads us to: Using (1a), we rewrite the last inequality to The equation (8) indicates that the elements of every vector λ ∈ S(G, µ) are bounded. It also shows that all demand vectors λ = (λ 1 , . . . , λ k ) with k i=1 λ i > n l=1 µ l are not in S(G, µ). Hence, S(G, µ) is closed and bounded.
Proof of Corollary 1: Based on Lemma 1, the service rate region S(G, µ) is a convex and bounded subset of the R k ≥0 , which indicates that S(G, µ) is a polytope. Thus, according to [30,Theorem 4], it can be described as the two mentioned forms, i.e., the intersection of a finite number of half spaces or the convex hull of a finite set of vectors (the vertices of the polytope).
Proof of Lemma 2: Since s · e i ∈ S(G, µ), it means that the request rate of s for file f i is satisfied by the coded storage system. Whatever the used recovery sets for file f i are, some points outside of H have to be used since the points in H are not able to generate e i . Thus, replacing each recovery set in R i by an arbitrary contained point outside of hyperplane H, completes the proof. Since for every hyperplane H in PG(k − 1, q), s ≤ n − # (G ∩ H) holds, according to the Proposition 3 and based on the fact that the minimum distance d is integer, we have ⌈s⌉ ≤ d.
Proof of Corollary 3: Since i∈I s i · e i ∈ S(G, µ), based on Lemma 1, s i · e i ∈ S(G, µ) holds for all i ∈ I. On the other hand, the hyperplane H of PG(k − 1, q) does not contain any e i for all i ∈ I.
Thus, by applying Lemma 2 for each i ∈ I, we get s i ≤ p∈PG(k−1,q)\H µ(p). Summing up all these inequalities gives s = i∈I s i ≤ p∈PG(k−1,q)\H µ(p).