Conditional Lower Bounds for All-Pairs Max-Flow

We provide evidence that computing the maximum flow value between every pair of nodes in a directed graph on $n$ nodes, $m$ edges,and capacities in the range $[1..n]$, which we call the All-Pairs Max-Flow problem, cannot be solved in time that is significantly faster (i.e., by a polynomial factor) than $O(n^3)$ even for sparse graphs. Since a single maximum $st$-flow can be solved in time $\tilde{O}(m\sqrt{n})$ [Lee and Sidford, FOCS 2014], we conclude that the all-pairs version might require time equivalent to $\tilde\Omega(n^{3/2})$ computations of maximum $st$-flow,which strongly separates the directed case from the undirected one. Moreover, if maximum $st$-flow can be solved in time $\tilde{O}(m)$,then the runtime of $\tilde\Omega(n^2)$ computations is needed. The latter settles a conjecture of Lacki, Nussbaum, Sankowski, and Wulf-Nilsen [FOCS 2012] negatively. Specifically, we show that in sparse graphs $G=(V,E,w)$, if one can compute the maximum $st$-flow from every $s$ in an input set of sources $S\subseteq V$ to every $t$ in an input set of sinks $T\subseteq V$ in time $O((|S| |T| m)^{1-\epsilon})$,for some $|S|$, $|T|$, and a constant $\epsilon>0$,then MAX-CNF-SAT with $n'$ variables and $m'$ clauses can be solved in time ${m'}^{O(1)}2^{(1-\delta)n'}$ for a constant $\delta(\epsilon)>0$,a problem for which not even $2^{n'}/poly(n')$ algorithms are known. Such runtime for MAX-CNF-SAT would in particular refute the Strong Exponential Time Hypothesis (SETH). Hence, we improve the lower bound of Abboud, Vassilevska-Williams, and Yu [STOC 2015], who showed that for every fixed $\epsilon>0$ and $|S|=|T|=O(\sqrt{n})$, if the above problem can be solved in time $O(n^{3/2-\epsilon})$, then some incomparable conjecture is false. Furthermore, a larger lower bound than ours implies strictly super-linear time for maximum $st$-flow problem, which would be an amazing breakthrough.


Introduction
The maximum flow problem is one of the most fundamental problems in combinatorial optimization. This classic problem and its variations such as minimum-cost flow, integral flow, and minimum-cost circulation, were studied extensively over the past decades, and have become key algorithmic tools with numerous applications, in theory and in practice. Moreover, techniques developed for flow

Prior Work
We start with undirected graphs, where the All-Pairs Max-Flow values can be represented in a very succint manner, called nowdays a Gomory-Hu tree [GH61]. In addition to being very succint, it allows the flow values and the corresponding cuts (vertex partitions) to be quickly retrieved. See Table 1 for a list of previous algorithms for multiple pairs maximum st-flow, see Table 1. For directed graphs, no current algorithm computes the maximum flow between any k = ω(1) given pairs of nodes faster than the time of O(k) separate Max-Flow computations. However, some results  ) is the fastest time to compute maximum st-flow in undirected graph, ω is the matrix multiplication exponent, and γ = γ(G) is a topological property of the input network that varies between 1 and Θ(n). In planar graphs, γ is the minimum number of faces required to cover all the nodes (i.e., every node is adjacent to at least one such face) over all possible planar embeddings [Fre95].
are known in special settings. It is possible to compute Max-Flow for O(n) pairs in the time it takes for a single Max-Flow computation [HO94] and this result is used to find a global minimum cut. However, these pairs cannot be specified in the input. For directed planar graphs, there is an O(n log 3 n) time algorithm for the Single-Source Max-Flow problem [LNSW12], which immediately yields an O(n 2 log 3 n) time algorithm for the All-Pairs version, that is much faster than the time of O(n 2 ) computations of planar Max-Flow, a problem that can be solved in time O(n log n) [BK09]. Based on these results, it was conjectured in [LNSW12] that also in general graphs, All-Pairs Max-Flow can be solved faster than the time required for computing O(n 2 ) separate maximum st-flows.
Several hardness results are known for multiple-pairs variants of Max-Flow [AVY15]. For ST-Max-Flow in sparse graphs (m = O(n)) and |S| = |T | = O( √ n), there is an n 3/2−o(1) lower bound assuming at least one of the Strong Exponential Time Hypothesis (SETH), 3SUM, and All-Pairs Shortest-Paths (APSP) conjectures is correct (for a comprehensive survey on them, see [Vas15]). In addition, they show that Single-Source Max-Flow on sparse graphs requires n 2−o(1) time, unless SETH is false. We will mostly rely on SETH, a conjecture introduced by [IP01], and on some weaker assumption related to its maximization version. In more detail, SETH states that for every fixed ε > 0 there is an integer k ≥ 3 such that k-SAT on n variables and m clauses cannot be solved in time 2 (1−ε)n poly(m), where poly(m) refers to O(m c ) for unspecified constant c. By the sparsification lemma [IPZ01], in order to refute SETH it can be assumed that the number of clauses is O(n). The MAX-CNF-SAT problem asks for the maximum number of clauses that can be satisfied in an input CNF formula. Most of our conditional lower bounds are based on the assumption that for every fixed δ > 0, MAX-CNF-SAT cannot be solved in time 2 (1−δ)n poly(m), where currently even 2 n /poly(n) algorithms are not known for this problem [AVY15]. Note that this is a weaker assumption than SETH, since a faster algorithm for MAX-CNF-SAT would reduce to a faster algorithm for CNF-SAT and refute SETH.

Our Contribution
We present conditional runtime lower bounds for both uncapacitated and capacitated networks. The proofs appear in sections 2 and 3, respectively, where the order reflects increasing level of complication. All our lower bounds hold even when the input G is a DAG and has constant diameter, and in the case of general capacities, they can be easily modified to apply also for a graph with constant maximum degree.
Capacitated Networks Our main result is that for every set sizes |S| and |T |, the ST-Max-Flow cannot be solved significantly faster than O(|S||T |m) (i.e., polynomially smaller runtime), unless a breakthrough in MAX-CNF-SAT is achieved, and consequently in SETH. This conditional lower bound (see Figure 1) shows that All-Pairs Max-Flow requires time that is equivalent to Ω(n 3/2 ) computations of Max-Flow, which strongly separates the directed case from the undirected one (where a Gomory-Hu tree can be constructed in the time of n − 1 computations). If Max-Flow takesÕ(m) time, which is currently open but plausible, then the running time of Ω(n 2 ) computations of Max-Flow is needed. The latter settles a conjecture by Lacki, Nussbaum, Sankowski, and Wulf-Nilsen [LNSW12] negatively.
Uncapacitated Networks For the case of uncapacitated networks, we show that for every m = m(n), All-Pairs Max-Flow cannot be solved significantly faster than O(mn). Here we introduce a new technique to design reductions from SETH to graphs with varying edge densities, rather than the usual reductions that only deal with sparse graphs. Our technique is based on partitioning the variables set of CNF-SAT to different sizes.  Finally, we present a conditional lower bound for computing the Maximum Local Edge Connectivity of a sparse graph, which is the same as Global Max-Flow if all the capacities are 1, which is indeed the case in our reduction. In the Orthogonal Vectors problem the input is two sets U and V , each of n vectors from {0, 1} d , and the goal is to determine whether there are u ∈ U and v ∈ V such that d i=1 u i ·v i = 0. An equivalent version of the problem has U = V . For d = ω(log n), Williams [Wil05] proved that SETH implies the non-existence of a truly subquadratic (in n) algorithm for the problem. The next result, proved in Section 4, was obtained together with Bundit Laekhanukit and Rajesh Chitnis, and we thank them for their permission to include it here.
Theorem 1.10. If for some fixed ε > 0, the Maximum Local Edge Connectivity in graphs with n nodes andÕ(n) edges can be found in time O(n 2−ε ), then for some δ(ε) > 0, the Orthogonal Vectors problem on n vectors and every d = polylog(n ) can be solved in time O(n 2−δ ), and in particular SETH is false.

Reduction to Multiple-Pairs Max-Flow with Unit Capacity
In this section we prove Theorems 1.8 and 1.9. We start with a general lemma which is the heart of the proofs. Proof. Given a CNF-formula F on n variables and m clauses {C i } i∈[m] as input for MAX-CNF-SAT, a ∈ [0, 1], and b ∈ [0, 1 − a], we split the variables into three sets U 1 , U 2 , and U 3 , where U 1 is of size a, U 2 is of size 1 − a − b, and U 3 is of size b, and enumerate all their 2 an , 2 (1−a−b)n , and 2 bn partial assignments (with respect to F ), respectively, when the objective is to find a triple α, β, γ of assignments to U 1 , U 2 , and U 3 respectively, that satisfies the maximal number of clauses. We will have an instance G p of ST-Max-Flow for each value p ∈ [m], in which by one call to ST-Max-Flow we check if there exists a triple α, β, and γ that satisfies at least p clauses, as follows.
We construct a graph G p for every p ∈ [m] on N nodes V 1 ∪ V 2 ∪ V 3 , where V 1 contains a node α for every assignment α to U 1 , V 2 contains 2m + 1 + (p − 1) = 2m + p nodes for every assignment β to U 2 , that are β l i and β r i for every i ∈ [m], β , and the set {β i } i∈[p−1] , and V 3 contains a node γ for every assignment γ to U 3 . We use the notation α for nodes in V 1 and for assignments to U 1 , β for assignments to U 2 , and γ for nodes in V 3 and assignments to U 3 . However, it will be clear from the context. Now, we have to describe the edges in the network. In order to simplify the reduction, we partition the edges into blue and red colors, as follows.
For every α, β, and i ∈ [m], we add a blue edge from α to β l i if both of α and β do not satisfy the clause C i (do not set any of the literals to true), and otherwise we add a red edge from α to β r i . We further add, for every β, γ, and i ∈ [m], a blue edge from β l i to γ if γ does not satisfy C i . For every β, γ, and j ∈ [p − 1], we add a red edge from every β j to every γ. For every β and i ∈ [m], we add a red edge from β l i to β r i and from β r i to β , and finally for every β and j ∈ [p − 1], we add a red edge from β to β j , where all edges are of capacity 1.
The graph we built has 2 an Figure 2), and its construction time is asymptotically the same as the time it takes to construct its edges set.
For every α, β, and γ, we denote by G α,β,γ p the graph induced from G p on the nodes We claim that for every α and γ, the maximum flow from α to γ can be bounded by the sum, over all β, of the maximum flow between them in G α,β,γ p . This claim follow easily because the intersection G α,β 1 ,γ p ∩ G α,β 2 ,γ p for β 1 = β 2 is exactly the source and the sink {α, γ}, no edge passes between these two graphs, and β G α,β,γ i consists of all nodes that are both reachable from α and γ is reachable from them.
We now prove that if there is an assignment to F that satisfies at least p clauses then the graph G p we built has a triple α, β, γ with maximum flow from α to γ in G α,β,γ p at most m − 1. Since for everyβ, m is the number of outgoing edges from α in G α,β,γ p , m is also an upper bound for the maximum flow from α to γ in it, and hence in G p it is at most 2 (1−a−b)n m − 1. Otherwise, we will show that every triple α, β, γ has a maximum flow from α to γ in G α,β,γ p of size at least m, and so in G p it is at least 2 (1−a−b)n m. Hence, by simply picking the maximal j ∈ [m] such that the maximum flow in G j of some pair α, γ is at most 2 (1−a−b)n m − 1, and then iterating over all assignments β to U 2 with α and γ fixed as the assignments to U 1 and U 3 , we can also find the required triple α, β, γ.
For the first direction, assume that F has an assignment that satisfies at least p clauses, and denote such assignment by Φ. Let α Φ , β Φ , and γ Φ be the assignments to U 1 , U 2 , and U 3 , respectively, that are induced from Φ. Since a blue path from α Φ through β Φ l i for some i ∈ [m] to γ Φ corresponds to α Φ , β Φ , and γ Φ all do not satisfy Here, U 1 , U 2 , and U 3 have 2 assignments each, α andα to U 1 , β andβ to U 2 , and γ andγ to U 3 . Blue edges are dashed. For simplicity, only the edges of G α,β,γ 3 ∪ G α,β,γ 3 are presented. In this illustration, α does not satisfy anything, β satisfies C 2 and C 3 ,β satisfies C 1 , andγ satisfies C 1 . Note that the assignment comprised of α, β, andγ satisfies all the clauses, and indeed the maximum flow from α to γ is 2 · 3 − 1 = 5.
blue paths from α to γ. As the only way to ship flow in G α Φ ,β Φ ,γ Φ p that is not through a blue path is through the node β Φ , and the total number of edges going out of this node is p − 1, we conclude that the total maximum flow in Since for every β, the maximum amount of flow that can be shipped in G α Φ ,β,γ Φ p from α Φ to γ Φ is at most m, summing over all β we get that the total flow in G p from α Φ to γ Φ is bounded by For the second direction, assume that every assignment to F satisfies at most p − 1 clauses. In order to show that the maximum flow from every α to every γ is at least 2 (1−a−b)n m, we first fix α, β, and γ. Then, by passing flow in two phases we show that m units of flow can be passed in G α,β,γ p from α to γ. As this argument applies for every β, we can add up the respective flows without violating capacities, concluding the proof. By the assumption, there exist m − (p − 1) = m − p + 1 i's, such that α, β, and γ do not satisfy C i , and we denote a set with this amount of such i's by I β . Each of these i's induces a blue path (α → β l i → γ) from α to γ in G α,β,γ p , and so we ship a unit of flow through every one of them according to I β , in what we call the first phase. In the second phase, we ship additional m − (m − p + 1) = p − 1 units in the following way. Let Clearly, there exists such bijection and it is easy to find one. For every i ∈ A 1 we ship flow through the path (α → β l i → β r i → β → β j → γ), and for every i ∈ A 2 through the path (α → β r i → β → β j → γ), in both cases with j = f (i). Since we defined the flow in paths, we only need to show that the capacity requirements hold, and we start with blue edges. Indeed, edges of the form (α, β l i ) are used in the first phase, with flow that is determined uniquely by β and i ∈ I β , and in the second phase uniquely according to β and i ∈ [m] \ I β , and so they cannot be used twice. Edges of the form (β l i , γ) are only used in the first phase, and their flow is uniquely determined according to β and i ∈ I β , and so are good too. We now proceed to red edges, which were used only in the second phase.
Edges of the forms (α, β r i ), (β l i , β r i ) and (β r i , β ) have flow that is uniquely determined by β and i ∈ [m] \ I β , and so are not used more than once. Edges of the form (β , β j ) have flow that is uniquely determined by β and j = f (i) ∈ [p − 1], and since f is a bijection, every j has at most one i such that f (i) = j, and so these edges are also used at most once. As a byproduct, and since every edge of the form (β j , γ) has only the edge (β , β j ) as its source for flow, edges of the form (β j , γ) are also used at most once. Altogether, we have bounded the total flow in all edges that were used in both phases, and so the capacity requirements follow, which completes the proof of the second direction and of Lemma 2.1.

Reduction to Multiple-Pairs Max-Flow in Capacitsted Networks
In this section we prove Theorems 1.6 and 1.7. We proceed to prove our main technical lemma. Proof. Given a CNF-formula F on n variables and m clauses as input for MAX-CNF-SAT, we split the variables into three sets U 1 , U 2 , and U 3 of size n/3 each and enumerate all 2 n/3 partial assignments (with respect to F ) to each of them, when the objective is to find a triple (α, β, γ) of assignments to U 1 , U 2 , and U 3 , that satisfy the maximal number of clauses. We will have an instance G p of ST-Max-Flow with the mentioned property for each value p ∈ [m], in which by one call to ST-Max-Flow we check if there exists a triple (α, β, γ) that satisfies at least p clauses, as follows.
We construct the graph G p on N nodes where V 1 contains a node α for every assignment α to U 1 , V 2 contains 3m + 1 nodes for every assignment β to U 2 , that are β l i , β c i , β r i , for every i ∈ [m], and β , V 3 contains a node γ for every assignment γ to U 3 , A contains two nodes C i and C i for every clause C i , and B contains a node C i for every clause C i . We use the notation α for nodes in V 1 and assignments to U 2 , β to assignments to U 2 , γ for nodes in V 3 and assignments to U 3 , and C i for nodes in B and clauses. However, it will be clear from the context. Now, we have to describe the edges in the network. In order to simplify the reduction, we partition the edges into red and blue colors, as follows.
For every α and i ∈ [m] we add a red edge of capacity 2 n/3 from α to C i if α C i , and a blue edge of the same capacity from α to C i otherwise. We further add, for every β, a red edge of capacity 1 from C i to β c i , a blue edge of capacity 1 from C i to β l i , a red edge of capacity 1 from β c i to β , and a blue edge of capacity 1 from β r i to C i . For every β we add a red edge of capacity p − 1 from β to v B . For every γ we add a red edge of capacity 2 n/3 (p − 1) from v B to γ ∈ V 3 , and finally, for every γ and i ∈ [m] we add a blue edge of capacity 2 n/3 from C i to γ if γ C i .
We proceed to prove that if there is an assignment to F that satisfies at least p clauses then the graph G p we built has a pair α, γ with maximum flow from α to γ at most 2 n/3 m − 1, and otherwise, every α, γ has a maximum flow of size at least 2 n/3 m. Hence, by simply picking the maximal j ∈ [m] such that the maximum flow in G j of some pair α, γ is at most 2 n/3 m − 1, and then iterating over all assignments β to U 2 with α and γ fixed as the assignments to U 1 and U 3 , we can also find the required triple α, β, γ.
For the first direction, assume that F has an assignment that satisfies at least p clauses, and denote such assignment by Φ. Let α Φ , β Φ , and γ Φ be the assignments to U 1 , U 2 , and U 3 , respectively, that are induced from Φ. We will show that there exists an (α Φ , γ Φ ) cut whose capacity is at most 2 n/3 m − 1, hence by the Min-Cut Max-Flow theorem, the maximum flow from α Φ to γ Φ is bounded by this number, concluding the proof of the first direction. We define the cut in a way that for every β = β Φ , the cut will have m cut edges that are contributed from nodes related to β, and nodes related to β Φ will be carefully added to either side of the cut so that they will contribute capacity of only m − 1 to the cut. To be more precise, we define a suitable cut as follows.
Proof of claim. We will go over all the nodes in S, and count the total capacity leaving to nodes in T for each of them. α Φ ∈ S and all nodes C i and C i that are adjacent to it are in S too, hence it does not contribute anything. For every i ∈ [m], we have two cases for nodes in A. If α Φ C i then C i ∈ T and hence C i does not contribute anything. However, C i has 2 n/3 outgoing edges, where all except β Φ c i are in T . Hence, it contributes 2 n/3 − 1 to the cut. Else, if α Φ C i then C i ∈ T and hence C i does not contribute anything. But C i has 2 n/3 outgoing edges, of which 2 n/3 − 1 are cut edges as their targets are in T , and the one incoming to β Φ l i is a cut edge if and only if β Φi C i and also γ Φ C i (equivalently, β Φ l i ∈ T ), and in our current case it means that Φ C i . Hence, for every i ∈ [m], the nodes in {C i , C i } contribute 2 n/3 − 1 to the cut if Φ C i , and 2 n/3 otherwise. Since there are at most m − p clauses that are not satisfied by Φ, summing over all i ∈ [m] would yield a total of at most p(2 n/3 − 1) + (m − p)(2 n/3 ) = 2 n/3 m − p cut edges for vertices with origin in A.
For every β = β Φ , all nodes in V 2 that are associated with β, v B , and γ Φ , are in T and hence will not contribute anything to the cut. However, the node β Φ is always in S, with v B its sole target, and hence the edge (β Φ , v B ) is in the cut and β Φ contributes an additional amount of p − 1, to a current total of at most 2 n/3 m − p + (p − 1) = 2 n/3 m − 1. In addition, β Φ is the only target of β Φ c i , and thus β Φ c i will not contribute to the cut. We will show that the rest of the nodes, i.e., nodes in V 2 that are associated with β Φ , and the nodes in B, contribute nothing to the cut. For every i ∈ [m], β Φ l i ∈ S if and only if either β Φ C i or γ Φ C i . It always happens that β Φ c i ∈ S, and β Φ r i ∈ T if and only if γ Φ C i , but in such case it must be that β Φ C i , which implies that the edge (β Φ l i , β Φ r i ) is not in the graph, thus the total contribution of β Φ l i is zero. For every i ∈ [m], it is easy to verify that each of the following four implies the rest. β Φ r i ∈ S, γ Φ C i , C i ∈ S, and the edge (C i , γ Φ ) is not in the graph. In the case where C i and β Φ r i are in T it is clear that they do not contribute anything, so we will focus on the other case. Since C i is the only target of β Φ r i , β Φ r i will not increase the cut capacity. In addition, since the edge (C i , γ Φ ) is not in the graph, C i does not increase the capacity of the cut either. Altogether we have bounded the total capacity of the cut by 2 n/3 m − 1, finishing the proof of Claim 3.2.
Proceeding with the proof of Lemma 3.1, we now focus on the second direction. Assume that every assignment to F satisfies at most p − 1 clauses. We remind that we need to prove that the maximum flow from every α to every γ is at least 2 n/3 m, and to do this we first fix α and γ. By the assumption, for every β there exist m − (p − 1) = m − p + 1 i's, such that α, β, and γ do not satisfy C i , and we denote a set with this amount of such i's by I β . Each of these i's induces a blue path (α → C i → β l i → β r i → C i → γ) from α to γ, and so we pass a unit of flow through every one of them according to I β , and for all β, in what we call the first phase. We note that so far, the flow sums up to 2 n/3 (m − p + 1), and so we carry on with shipping the second phase of flow through paths that are not entirely blue.
We claim that for every β, we can pass an additional amount of m − (m − p + 1) = p − 1 units through β , which would add up to a total flow of 2 n/3 (m − p + 1) + 2 n/3 (p − 1) = 2 n/3 m, concluding the proof. Indeed, for every β, we ship flow in the following way.
, and otherwise send a unit through . Since we defined the flow in paths, we only need to show that the capacity constraints are satisfied, starting with edges of color blue. Edges of the forms (β l i , β r i ), (β r i , C i ), and (C i , γ) are only used in the first phase, where the flow in the first two is uniquely determined by β and i ∈ I β , and so at most 1 unit of flow is passed through them, and the flow in the latter kind is determined by i ∈ I β , and the same i ∈ I β can have at most |{β r i } β | = 2 n/3 units of flow passing in (C i , γ), and so the flow in it is also bounded. The flow in edges of the form (C i , β l i ) in the first phase is uniquely determined by β and i ∈ I β , and in the second phase uniquely according to β and i ∈ [m] \ I β , and so will not be used twice, and the flow in edges of the form (α, C i ) is determined in the first phase by i ∈ I β and in the second phase by i ∈ [m] \ I β , and so will be used at most We now proceed to prove that red edges too do not have more flow than their capacity, and for this we only need to consider the second phase. Edges of the forms (C i , β c i ), (β l i , β c i ), and (β c i , β ) has flow that is uniquely determined by β and i ∈ [m] \ I β and so are not used more than once, edges of the form (β , v B ) has flow that is determined by β and thus have flow |{β c i } i∈[m]\I β | = |[m] \ I β | = p − 1 and hence are properly bounded, and edges of the form (v B , γ) have flow of size (p − 1)|{β } β |2 n/3 = (p − 1)2 n/3 . Finally, edges of the form (α, C i ) have flow that is determined by i ∈ [m] \ I β and so are used at most |{β c i } β | = 2 n/3 times. Altogether, we have bounded the total flow in all the edges that were used in both phases, and so the capacity requirements follow, which completes the proof of the second direction and of Lemma 3.1.
Proof of Theorem 1.6. We use Lemma 3.1 in the following way. Assume that for some |S | and |T | there is an algorithm for ST-Max-Flow that runs in time O((|S ||T |m) 1−ε ), and consider the version of ST-Max-Flow with S and T such that S ∩ T = ∅. Applying such an algorithm repeatedly with S and T iterate over respective partitions of S and T of sizes |S |/|S | and |T |/|T |, respectively, would solve S and T 's version of ST-Max-Flow and take time (|S |/|S |)(|T |/|T |)O(|S ||T |m) 1−ε ) = O((|S ||T |m) 1−ε ) for some ε = ε (ε), and Theorem 1.6 follows.

Global Max-Flow
Proof of Theorem 1.10. Let U and V be an instance of the Orthogonal Vectors problem, where |U | = |V | = n , and all the vectors are from {0, 1} d for some d = polylog(n ). We construct a graph G = (U , V , D) as follows. U contains a node u for every vector u ∈ U , V contains a node v for every v ∈ V , and D contains three nodes c 0,0 , c 0,1 , and c 1,0 for every coordinate c ∈ [d]. For every u ∈ U and c ∈ D, we add an edge from u to c 0,0 and c 0,1 if u[c] = 0, and an edge from u to c 1,0 otherwise. Similarly, for every v ∈ U and c ∈ D, we add an edge from v to c 0,0 and c 1,0 if v[c] = 0, and an edge from v to c 0,1 otherwise. This graph has n = n + n + 3d = O(n ) nodes and at most n · 2d + n · 2d =Õ(n ) edges. For every u ∈ U , v ∈ V , and c ∈ [d], there is exactly one path (of length 2) from u to v through nodes associated with c if and only if u[c] · v[c] = 0, and no paths through them otherwise. Hence, the number of edge disjoint paths from u to v is d if their inner product is 0, and less than d otherwise, and so an algorithm for Maximum Local Edge Connectivity with strictly subquadratic runtime implies an algorithm for the Orthogonal Vectors problem with similar runtime, completing the proof.