1 Introduction
The pioneering work of Benczúr and Karger [4] showed that every edgeweighted undirected graph admits a cutsparsifier. In particular, assuming that the edge weights are positive, for every there exists (and in fact can be found efficiently) a reweighted subgraph of with edges such that
where and denotes the total weight of edges in with exactly one endpoint in . The bound on the number of edges was later improved to by Batson, Spielman, and Srivastava [3]. Moreover, the bound is known to be tight by the work of Andoni, Chen, Krauthgamer, Qin, Woodruff, and Zhang [2].
The original motivation for cut sparsification was to speed up algorithms for cut problems and graph problems more generally. The idea turned out to be very influential, with several generalisations and extensions, including, for instance, sketching [1, 2], sparsifiers for cuts in hypergraphs [9, 11], and spectral sparsification [15, 14, 13, 8, 12].
Filtser and Krauthgamer [7] considered the following natural question: which binary Boolean CSPs are sparsifiable? In order to state their results as well as our new results, we will now define binary constraint satisfaction problems.
An instance of the binary^{1}^{1}1Some papers use the term twovariable. constraint satisfaction problem (CSP) is a quadruple , where is a set of variables, is a finite set called the domain,^{2}^{2}2Some papers use the term alphabet. is a set of constraints, and are positive weights for the constraints. Each constraint is a pair , where , called the constraint scope, is a pair of distinct variables from , and is a binary predicate. A CSP instance is called Boolean if , i.e., if the domain is of size two.^{3}^{3}3Some papers use the term binary to mean domains of size two. In this paper, Boolean always refers to a domain of size two and binary always refers to the arity of the constraint(s).
For a fixed binary predicate , we denote by CSP() the class of CSP instances in which all constraints use the predicate . Note that if we take and defined on by iff then CSP() corresponds to the cut problem.
We say that a constraint is satisfied by an assignment if . The value of an instance under an assignment is defined to be the total weight of satisfied constraints:
For , an sparsifier of is a reweighted subinstance of such that
The goal is to obtain a sparsifier with the minimum number of constraints, i.e., .
A binary predicate is called sparsifiable if for every instance on variables and for every there is an sparsifier for with constraints.
We call a (not necessarily Boolean or binary) predicate a singleton if .
Filtser and Krauthgamer showed, among other results, the following classification. Let be a binary Boolean predicate. Then, is sparsifiable if and only if is not a singleton.^{4}^{4}4Filtser and Krauthgamer use the term valued CSPs for what we defined as CSPs. We prefer CSPs in order to distinguish them from the much more general framework of valued CSPs studied in [10]. In other words, the only predicates that are not sparsifiable are those with support of size one.
Contributions
As our main contribution, we identify in Theorem 2 the precise borderline of sparsifiability for binary predicates on arbitrary finite domains, thus extending the work from [7] on Boolean predicates. Let be a binary predicate defined on an arbitrary finite domain . Then, is sparsifiable if and only if does not “contain” a singleton subpredicate. More precisely, we say that “contains” a singleton subpredicate if there are two (not necessarily disjoint) subdomains with such that the restriction of onto is a singleton predicate.
The crux of Theorem 2 is the sparsifiability part, which is established by a reduction to cut sparsifiers. Unlike in the classification of binary Boolean predicates from [7], we do not rely on a case analysis that differs for different sparsifiable predicates but instead give a simpler argument for all sparsifiable predicates. The idea is to reduce (the graph of) any CSP instance, as was done in [7], via the socalled bipartite double cover [5]. However, there is no natural assignment in the reduced graph (as it was in the Boolean case in [7]). In order to overcome this, we define a graph whose edges correspond to the support of the predicate . Using a simple combinatorial argument, we show (in Proposition 7) that, under the assumption that does not “contain” a singleton subpredicate, the bipartite complement of is a collection of bipartite cliques. This special structure allows us to find a good assignment in the reduced graph.
In view of Filtser and Krauthgamer’s work [7], one might conjecture that is sparsifiable if and only if is not a singleton. While it is easy to show that if a (possibly nonbinary and nonBoolean) predicate is a singleton then is not sparsifiable (cf. Appendix D), our results show that the borderline of sparsifiability lies elsewhere. In particular, by Theorem 2, there are binary nonBoolean predicates that are not sparsifiable but are not singletons. Also, there are nonbinary Boolean predicates that are not sparsifiable but are not singletons (cf. Appendix D).
We remark that the term “sparsification” is also used in an unrelated line of work in which the goal is, given a CSP instance, to reduce the number of constraints without changing satisfiability of the instance; see, e.g., [6].
2 Classification of Binary Predicates
Throughout the paper we denote by the number of variables of a given CSP instance.
The following classification of binary Boolean predicates is from [7].
Theorem 1 ([7, Theorem 3.7]).
Let be a binary Boolean predicate. Let .

If is a singleton then there exists an instance of CSP() such that every sparsifier of has constraints.

Otherwise, for every instance of CSP() there exists an sparsifier of with constraints.
We denote by the set of twoelement subsets of . For a binary predicate and , denotes the restriction of onto .
The following is our main result, generalising Theorem 1 to arbitrary finite domains.
Theorem 2 (Main).
Let be a binary predicate, where is a finite set with . Let .

If there exist such that is a singleton then there exists an instance of CSP() such that every sparsifier of has constraints.

Otherwise, for every instance of CSP() there exists an sparsifier of with constraints.
The rest of this section is devoted to proving Theorem 2.
First we introduce some useful notation. We set . We denote by the disjoint union of and . For any , we define by if and only if .
Given an instance , we denote by the corresponding graph of ; that is, is a weighted directed graph with and . Conversely, given a weighted directed graph and a predicate , the corresponding CSP() instance is , where and . Hence, we can equivalently talk about instances of CSP() or (weighted directed) graphs. Thus, an sparsifier of a graph is a subgraph whose corresponding CSP() instance is an sparsifier of the corresponding CSP() instance of .
Case (1) of Theorem 2 is established by the following result.
Theorem 3.
Let be a binary predicate. Assume that there exist such that is a singleton. For any there is a CSP() instance with variables and constraints such that for any it holds that any sparsifier of has constraints.
Proof.
Suppose , and assume without loss of generality that ; that is, the support of is equal to . Consider a CSP() instance , where

, , and ;

;

are arbitrary positive weights.
We have . We note that and may not be disjoint. We consider the family of assignments for such that , for every , , and for every . Then, we have
Therefore,
Hence, if is an sparsifier of , we must have that for every , as otherwise we would have
Therefore, we have and hence . ∎
The main tool used in the proof of Theorem 1 (2) from [7] is a graph transformation known as the bipartite double cover [5], which allows for a reduction to cut sparsifiers [3].
Definition 4.
For a weighted directed graph , the bipartite double cover of is the weighted directed graph , where

;

;

.
Given an assignment , we let be the induced partition of , where . For a binary predicate and an instance , we define . Moreover, for a weighted directed graph and a binary predicate , we define . We denote the set of all partitions of by .
For any partition of the vertices of , let . Thus is a partition of the vertices of .
Proposition 5.
Let and be binary predicates. Suppose that there is a function such that for any weighted directed graph on and for any partition it holds that
where is the bipartite double cover of . If there is an sparsifier of of size then there is an sparsifier of of size .
Proof.
Given , let be an sparsifier of the bipartite double cover of . Define a subgraph of by and . Notice that , , and .
Then, we have
and
implying that is also an sparsifier of .
Moreover, implies . ∎
We now focus on proving Case (2) of Theorem 2. Assume that for any , is not a singleton. Our strategy is to show that in this case the value of a CSP() instance under any assignment can be expressed as the value of a corresponding CSP(Cut) instance (for some ) under the same assignment.
For an undirected graph and a subset , we denote the vertexinduced subgraph on by and its edge set by . For a possibly disconnected undirected graph , we denote the connected component containing a vertex by . Finally, we denote the degree of vertex in graph by .
Definition 6.
Let be an undirected bipartite graph. The bipartite complement of has the following edge set:
The following property of bipartite graphs will be crucial in the proof of Theorem 8.
Proposition 7.
Let be a bipartite graph with , . Assume that for any and we have . Then, for any with , is a complete bipartite graph with partition classes and .
Proof.
For contradiction, assume that there are and such that but and belong to the same connected component of . Choose and with the shortest possible distance between them. Let be a shortest path between and in , where
is odd. We will show that
, which contradicts the assumption that .If then the claim holds since we assumed that and .
Let . We will be done if we show that , as by our assumptions and . To this end, note that as otherwise and would be a pair of vertices with the required properties but of distance , contradicting our choice of and . Thus, as otherwise we would have , which contradicts . ∎
Case (2) of Theorem 2 is established by the following result.
Theorem 8.
Let be a binary predicate such that for any we have that is not a singleton. Then, for every and every instance of CSP() there is a sparsifier of with constraints.
Proof.
Let be an instance of CSP() with . Without loss of generality, we assume that . Let be the corresponding (weighted directed) graph of , and let be the bipartite double cover of . Recall that for an assignment , we denote . Thus, forms an partition of .
Our goal is to show the existence of a function (for some fixed ) such that
(1) 
Assuming the existence of , we can finish the proof as follows. Batson, Spielman, and Srivastava established the existence of a sparsifier of size for any instance of [3]. By [7, Section 6.2], this implies the existence of a sparsifier of size for any instance of . Consequently, by Proposition 5 and (1), there is a sparsifier of size for the instance .
It remains to show the existence of satisfying (1).
In the proof of Theorem 1 (2) in [7], such functions are given for a binary Boolean predicate with support size . In what follows we give a construction of for an arbitrary binary predicate with from the statement of the theorem.
Although the bipartite double cover is commonly defined as a directed graph, in this proof we will consider the undirected bipartite double cover of .^{5}^{5}5We had defined the bipartite double cover as a directed graph. However, here it is easier to deal with undirected graphs, as since Cut is a symmetric predicate, the direction of the edges makes no difference. Furthermore, notice that by the way the bipartite double cover is constructed, removing the direction does not turn the graph into a multigraph. We also define an auxiliary graph , where
Let be the number of connected components of , the bipartite complement of . By definition, .
We need to find a function that satisfies (1) for all . Such a function corresponds to a map on the vertices of with the following property:
We call such maps colourings. Indeed, the colouring induces, for , an assignment of the vertices of which satisfies
and which, in turn, induces a partition of with . We define . Now for any and for any assignment , we have
Moreover, by the definition of the graph bipartite double cover, we have for all , implying that
as required.
While a colouring does not exist for an arbitrary bipartite graph, we now argue that a colouring does exist if the auxiliary graph arises from a predicate from the statement of the theorem. Since for any we have , satisfies the assumptions of Proposition 7. Therefore, the separate connected components which form its bipartite complement are complete bipartite graphs. We can assign one of the colours to each connected component to get a colouring for the graph . ∎
3 Conclusion
For simplicity, we have only presented our main result on binary CSPs over a single domain. However, it is not difficult to extend our result to the socalled multisorted binary CSPs, in which different variables come with possibly different domains. We discuss this in Appendix B, following the necessary definitions in Appendix A.
We have classified
binary CSPs (on finite domains) but much more work seems required for a full classification of nonbinary CSPs. We have made some initial steps.For any , the ary Boolean “notallequal” predicate is defined by . Kogan and Krauthgamer showed that the predicates, which correspond to hypergraph cuts, are sparsifiable [9, Theorem 3.1]. By extending bipartite double covers for graphs in a natural way to partite fold covers (done in Appendix C), we obtain sparsifiability for the class of ary predicates that can be rewritten in terms of . On the other hand, we identify (in Appendix D) a whole class of predicates that are not sparsifiable, namely those ary predicates that contain a singleton cube for some . However, there are predicates which do not fall in either of these two categories; that is, predicates that cannot be proved sparsifiable via partite fold covers but also cannot be proved nonsparsifiable via the current techniques. An example of such predicates are the “parity” predicates (cf. Appendix E).
References
 [1] Kook Jin Ahn and Sudipto Guha. Graph sparsification in the semistreaming model. In Proceedings of the 36th International Colloquium on Automata, Languages and Programming (ICALP’09), Part II, volume 5556 of Lecture Notes in Computer Science, pages 328–338. Springer, 2009.
 [2] Alexandr Andoni, Jiecao Chen, Robert Krauthgamer, Bo Qin, David P. Woodruff, and Qin Zhang. On Sketching Quadratic Forms. In Proceedings of the 2016 ACM Conference on Innovations in Theoretical Computer Science (ITCS’16), pages 311–319, 2016.
 [3] Joshua D. Batson, Daniel A. Spielman, and Nikhil Srivastava. TwiceRamanujan Sparsifiers. SIAM Journal on Computing, 41(6):1704–1721, 2012.

[4]
András A. Benczúr and David R. Karger.
Approximating st Minimum Cuts in
Õ(n) Time.
In
Proceedings of the TwentyEighth Annual ACM Symposium on the Theory of Computing (STOC’96)
, pages 47–55, 1996.  [5] Richard A. Brualdi, Frank Harary, and Zevi Miller. Bigraphs versus digraphs via matrices. Journal of Graph Theory, 4(1):51–73, 1980.
 [6] Hubie Chen, Bart M. P. Jansen, and Astrid Pieterse. Bestcase and Worstcase Sparsifiability of Boolean CSPs. In Proceedings of the 13th International Symposium on Parameterized and Exact Computation (IPEC’18), 2018.
 [7] Arnold Filtser and Robert Krauthgamer. Sparsification of twovariable valued constraint satisfaction problems. SIAM Journal on Discrete Mathematics, 31(2):1263–1276, 2017.
 [8] Wai Shing Fung, Ramesh Hariharan, Nicholas J. A. Harvey, and Debmalya Panigrahi. A general framework for graph sparsification. In Proceedings of the 43rd ACM Symposium on Theory of Computing (STOC’11), pages 71–80. ACM, 2011.
 [9] Dmitry Kogan and Robert Krauthgamer. Sketching Cuts in Graphs and Hypergraphs. In Proceedings of the 2015 Conference on Innovations in Theoretical Computer Science (ITCS’15), pages 367–376, 2015.
 [10] Vladimir Kolmogorov, Andrei A. Krokhin, and Michal Rolínek. The Complexity of GeneralValued CSPs. SIAM Journal on Computing, 46(3):1087–1110, 2017.
 [11] Ilan Newman and Yuri Rabinovich. On multiplicative lambdaapproximations and some geometric applications. SIAM Journal on Computing, 42(3):855–883, 2013.
 [12] Tasuko Soma and Yuichi Yoshida. Spectral Sparsification of Hypergraphs. In Proceedings of the Thirtieth Annual ACMSIAM Symposium on Discrete Algorithms (SODA’19), 2019.
 [13] Daniel A. Spielman and Nikhil Srivastava. Graph sparsification by effective resistances. SIAM Journal on Computing, 40(6):1913–1926, 2011.
 [14] Daniel A. Spielman and ShangHua Teng. Nearlylinear time algorithms for graph partitioning, graph sparsification, and solving linear systems. In Proceedings of the 36th Annual ACM Symposium on Theory of Computing (STOC’04), pages 81–90. ACM, 2004.
 [15] Daniel A. Spielman and ShangHua Teng. Spectral Sparsification of Graphs. SIAM Journal on Computing, 40(4):981–1025, 2011.
Appendix A Constraint Satisfaction Problems
There are several natural and wellstudied extensions of the binary CSP framework: (i) nonbinary CSPs, in which constraints are of arity larger than two; (ii) multisorted CSPs, in which different variables have possibly different domains; and (iii) CSPs with different types of constraint predicates, leading to constraint languages. We will deal with the first two extensions.
Definition 9.
An instance of the constraint satisfaction problem (CSP) is a quadruple where is a set of variables, is a set of domains, one for each variable, is a set of constraints, and are positive weights for the constraints. Each constraint is a pair , where is an ordered tuple of distinct variables from and is a ary predicate on the Cartesian product of the corresponding domains.
The elements from are called labels.
For a fixed predicate , we denote by CSP() the class of CSP instances in which all constraints use the predicate .
We say that an assignment is valid if each variable is assigned a label that belongs to the intersection of the domains of all the constraint predicates whose scope contains
. For a vector
and an assignment , we denote by the entrywise application of to v. Given a predicate , we say that a constraint is satisfied by an assignment if .The value of an instance under assignment is given by the total weight of the constraints satisfied by :
(2) 
For , an sparsifier of is a reweighted subinstance of such that for all valid assignments of the variables in ,
(3) 
Given an instance for a ary , we will call the corresponding hypergraph of the weighted directed uniform hypergraph , where and . Conversely, given a weighted directed uniform hypergraph and a predicate , the corresponding CSP() instance is , where , , and . Hence, we can equivalently talk about instances of CSP() or hypergraphs. Thus, an sparsifier of a hypergraph is a partial subhypergraph^{6}^{6}6A partial subhypergraph is obtained by removing hyperedges while keeping the vertex set unchanged. whose corresponding CSP() instance is an sparsifier of the corresponding CSP() instance of .
Appendix B Multisorted Binary Predicates
The following result is a multisorted extension of Theorem 2.
Theorem 10.
Let be a binary predicate, where and are finite sets with . Let .

If there exist and such that is a singleton then there exists an instance of CSP() such that every sparsifier of has constraints.

Otherwise, for every instance of CSP() there exists an sparsifier of with constraints.
An inspection of the proof of Theorem 3 reveals that the proof establishes Case (1) of Theorem 10. The proof of Theorem 10 (2) is essentially identical to the proof of Theorem 8. The main difference is that, using the notation from the proof of Theorem 8, the bipartite double cover of may contain vertices of degree zero. Let be all such vertices. Let be the subgraph of induced by . Then, for any valid assignment we have
(4) 
where is the restriction of to . Working with instead of , the rest of the proof proceeds identically to the proof of Theorem 8, except for applying Proposition 7 to bipartite graphs whose left part is and the right part is . This last step is fine since the proof of Proposition 7 is not affected if the given bipartite graph has parts of different sizes.
Appendix C Hypergraph Covers
We generalise the notion of the bipartite double cover for graphs from [5] in a natural way to that of a partite fold cover for hypergraphs, as this will be useful in the proof of Theorem 18. The case of in the following definition corresponds to the bipartite double cover.
Definition 11.
For a weighted directed uniform hypergraph , the partite fold cover of is the weighted directed uniform hypergraph , where

;

;

.
Given an assignment , we let be the induced partition of , where . For a predicate and an instance , we define . Moreover, for a weighted directed uniform hypergraph and a ary predicate , we define . We denote the set of all partitions of by .
For any partition of the vertices of , let . Thus is a partition of the vertices of .
We use an argument from the proof Theorem 1 (2) from [7] and apply it to nonbinary, nonBoolean predicates.
Proposition 12.
Let and be ary predicates. Suppose that there is a function such that for any weighted directed uniform hypergraph on and for any partition it holds that
where is the partite fold cover of . If there is an sparsifier of