SLIDE 1 A Fine-Grained Analogue of Schaefer’s Theorem in P: Dichotomy of ∃k∀-Quantified First-Order Graph Properties
Karl Bringmann1 Marvin Künnemann1 Nick Fischer1
1 Max Planck Institute for Informatics, Saarland Informatics Campus (SIC), Saarbrücken
SLIDE 2
First-Order Property Model-Checking
Fix a first-order property ψ. The model-checking problem for ψ asks to check whether ψ is true on a given structure (e.g. graph).
SLIDE 3
First-Order Property Model-Checking
∃x ∃y ∃z: E(x, y) ∧ E(y, z) ∧ E(z, x) Fix a first-order property ψ. The model-checking problem for ψ asks to check whether ψ is true on a given structure (e.g. graph).
SLIDE 4
First-Order Property Model-Checking
∃x ∃y ∃z: E(x, y) ∧ E(y, z) ∧ E(z, x) Fix a first-order property ψ. The model-checking problem for ψ asks to check whether ψ is true on a given structure (e.g. graph).
SLIDE 5 First-Order Property Model-Checking
∃x ∃y ∃z: E(x, y) ∧ E(y, z) ∧ E(z, x)
3-independent set
Fix a first-order property ψ. The model-checking problem for ψ asks to check whether ψ is true on a given structure (e.g. graph).
SLIDE 6 First-Order Property Model-Checking
∃x ∃y ∃z: E(x, y) ∧ E(y, z) ∧ E(z, x)
3-independent set
Fix a first-order property ψ. The model-checking problem for ψ asks to check whether ψ is true on a given structure (e.g. graph).
SQL
Id Name Age Id Salary
SLIDE 7 First-Order Property Model-Checking
∃x ∃y ∃z: E(x, y) ∧ E(y, z) ∧ E(z, x)
3-independent set
Fix a first-order property ψ. The model-checking problem for ψ asks to check whether ψ is true on a given structure (e.g. graph).
SQL
Id Name Age Id Salary
we measure the complexity in the number of edges m
SLIDE 8 First-Order Property Model-Checking
∃x ∃y ∃z: E(x, y) ∧ E(y, z) ∧ E(z, x)
3-independent set
Fix a first-order property ψ. The model-checking problem for ψ asks to check whether ψ is true on a given structure (e.g. graph).
SQL
Id Name Age Id Salary
here, m equals the size
we measure the complexity in the number of edges m
SLIDE 9 Orthogonal Vectors
Given two sets X1, X2 ⊆ {0, 1}d of size n, check whether there exists an orthogonal pair x1 ∈ X1, x2 ∈ X2
1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1
SLIDE 10 Orthogonal Vectors
Given two sets X1, X2 ⊆ {0, 1}d of size n, check whether there exists an orthogonal pair x1 ∈ X1, x2 ∈ X2
requires time n2−o(1) · poly(d) under SETH
1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1
SLIDE 11 Orthogonal Vectors
∃x1 ∈ X1 ∃x2 ∈ X2 ∀i ∈ [d]: x1[i] = 0 ∨ x2[i] = 0 Given two sets X1, X2 ⊆ {0, 1}d of size n, check whether there exists an orthogonal pair x1 ∈ X1, x2 ∈ X2
requires time n2−o(1) · poly(d) under SETH
1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1
X1 X2 [d] x1[i] = 1 x1 x2 i x2[i] = 1
SLIDE 12 Orthogonal Vectors
∃x1 ∈ X1 ∃x2 ∈ X2 ∀i ∈ [d]: x1[i] = 0 ∨ x2[i] = 0 Given two sets X1, X2 ⊆ {0, 1}d of size n, check whether there exists an orthogonal pair x1 ∈ X1, x2 ∈ X2
requires time n2−o(1) · poly(d) under SETH here, m equals the total number of 1-entries
1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1
X1 X2 [d] x1[i] = 1 x1 x2 i x2[i] = 1
SLIDE 13 Orthogonal Vectors
Given two sets X1, X2 ⊆ {0, 1}d of size n, check whether there exists an orthogonal pair x1 ∈ X1, x2 ∈ X2
requires time n2−o(1) · poly(d) under SETH here, m equals the total number of 1-entries
∃x1 ∈ X1 . . . ∃xk ∈ Xk ∀i ∈ [d]: x1[i] = 0 ∨ . . . ∨ xk[i] = 0
k-
1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1
X1 X2 [d] x1[i] = 1 x1 x2 i x2[i] = 1 Xk
. . .
SLIDE 14 Our Starting Point
- Each (k + 1)-quantifier first-order query can be checked in time
O(mk)
SLIDE 15 Our Starting Point
- Each (k + 1)-quantifier first-order query can be checked in time
O(mk)
- (Sparse) k-OV is complete for the class of (k + 1)-quantifier
properties [Gao, Impagliazzo, Kolokolova, Williams ’17]
SLIDE 16 Our Starting Point
- Each (k + 1)-quantifier first-order query can be checked in time
O(mk)
- (Sparse) k-OV is complete for the class of (k + 1)-quantifier
properties [Gao, Impagliazzo, Kolokolova, Williams ’17]
- All complete properties require time mk−o(1) under SETH
SLIDE 17 Our Starting Point
- Each (k + 1)-quantifier first-order query can be checked in time
O(mk)
- (Sparse) k-OV is complete for the class of (k + 1)-quantifier
properties [Gao, Impagliazzo, Kolokolova, Williams ’17]
- All complete properties require time mk−o(1) under SETH
What about the others? Can we classify queries according to their complexity?
SLIDE 18 Our Starting Point
- Each (k + 1)-quantifier first-order query can be checked in time
O(mk)
- (Sparse) k-OV is complete for the class of (k + 1)-quantifier
properties [Gao, Impagliazzo, Kolokolova, Williams ’17]
- All complete properties require time mk−o(1) under SETH
What about the others? Can we classify queries according to their complexity? O(mk) vs. O(mk−0.01)
SLIDE 19 Our Starting Point
- Each (k + 1)-quantifier first-order query can be checked in time
O(mk)
- (Sparse) k-OV is complete for the class of (k + 1)-quantifier
properties [Gao, Impagliazzo, Kolokolova, Williams ’17]
- All complete properties require time mk−o(1) under SETH
First-order properties
3-SAT is NP-complete [Cook ’71] k-OV is FOP-complete [GIKW ’17] Every Boolean CSP is either in P
[Schaefer ’78]
?
Constraint satisfaction problems
SLIDE 20
Our Main Result: A Classification of ∃k∀-Quantified Graph Properties
SLIDE 21
Our Main Result: A Classification of ∃k∀-Quantified Graph Properties
ψ = ∃x1 . . . ∃xk ∀y: φ(E(x1, y), . . . , E(xk, y))
SLIDE 22 Our Main Result: A Classification of ∃k∀-Quantified Graph Properties
ψ = ∃x1 . . . ∃xk ∀y: φ(E(x1, y), . . . , E(xk, y))
Boolean function φ : {0, 1}k → {0, 1}
SLIDE 23 Our Main Result: A Classification of ∃k∀-Quantified Graph Properties
ψ = ∃x1 . . . ∃xk ∀y: φ(E(x1, y), . . . , E(xk, y))
Boolean function φ : {0, 1}k → {0, 1}
The hardness of ψ is the largest number h ∈ {0, . . . , k}, such that
“ψ is h-OV-like”
SLIDE 24 Our Main Result: A Classification of ∃k∀-Quantified Graph Properties
ψ = ∃x1 . . . ∃xk ∀y: φ(E(x1, y), . . . , E(xk, y))
Boolean function φ : {0, 1}k → {0, 1}
The hardness of ψ is the largest number h ∈ {0, . . . , k}, such that for any subset J ⊆ [k] of k − h inputs, there exists an assignment α : J → {0, 1}, so that φ|α has exactly one falsifying assignment
SLIDE 25 Our Main Result: A Classification of ∃k∀-Quantified Graph Properties
ψ = ∃x1 . . . ∃xk ∀y: φ(E(x1, y), . . . , E(xk, y))
Boolean function φ : {0, 1}k → {0, 1}
The hardness of ψ is the largest number h ∈ {0, . . . , k}, such that
“ψ is h-OV-like”
SLIDE 26 Our Main Result: A Classification of ∃k∀-Quantified Graph Properties
ψ = ∃x1 . . . ∃xk ∀y: φ(E(x1, y), . . . , E(xk, y))
Boolean function φ : {0, 1}k → {0, 1}
The hardness of ψ is the largest number h ∈ {0, . . . , k}, such that
k h ≤ 1 2 3 4 2 3 4
“ψ is h-OV-like”
SLIDE 27 Our Main Result: A Classification of ∃k∀-Quantified Graph Properties
ψ = ∃x1 . . . ∃xk ∀y: φ(E(x1, y), . . . , E(xk, y))
Boolean function φ : {0, 1}k → {0, 1}
The hardness of ψ is the largest number h ∈ {0, . . . , k}, such that
k h ≤ 1 2 3 4 2 3 4
require time mk−o(1) under the Hyperclique hypothesis decidable in time O(mk−ϵ) for some ϵ > 0 h ≤ 2 and h < k 2 < h
h = k
“ψ is h-OV-like”
SLIDE 28 Our Main Result: A Classification of ∃k∀-Quantified Graph Properties
ψ = ∃x1 . . . ∃xk ∀y: φ(E(x1, y), . . . , E(xk, y))
Boolean function φ : {0, 1}k → {0, 1}
The hardness of ψ is the largest number h ∈ {0, . . . , k}, such that
k h ≤ 1 2 3 4 2 3 4
require time mk−o(1) under the Hyperclique hypothesis decidable in time O(mk−ϵ) for some ϵ > 0 2 < h < k h = k h ≤ 2 and h < k
“ψ is h-OV-like”
SLIDE 29 Our Main Result: A Classification of ∃k∀-Quantified Graph Properties
ψ = ∃x1 . . . ∃xk ∀y: φ(E(x1, y), . . . , E(xk, y))
Boolean function φ : {0, 1}k → {0, 1}
The hardness of ψ is the largest number h ∈ {0, . . . , k}, such that
k h ≤ 1 2 3 4 2 3 4
require time mk−o(1) under the Hyperclique hypothesis require time mk−o(1) under SETH [GIKW ’17] decidable in time O(mk−ϵ) for some ϵ > 0 2 < h < k h = k h ≤ 2 and h < k
“ψ is h-OV-like”
SLIDE 30 Our Main Result: A Classification of ∃k∀-Quantified Graph Properties
ψ = ∃x1 . . . ∃xk ∀y: φ(E(x1, y), . . . , E(xk, y))
Boolean function φ : {0, 1}k → {0, 1}
The hardness of ψ is the largest number h ∈ {0, . . . , k}, such that
k h ≤ 1 2 3 4 2 3 4
require time mk−o(1) under the Hyperclique hypothesis require time mk−o(1) under SETH [GIKW ’17] decidable in time O(mk−ϵ) for some ϵ > 0 2 < h < k 2 = h < k h = k h ≤ 1
“ψ is h-OV-like”
SLIDE 31 Our Main Result: A Classification of ∃k∀-Quantified Graph Properties
ψ = ∃x1 . . . ∃xk ∀y: φ(E(x1, y), . . . , E(xk, y))
Boolean function φ : {0, 1}k → {0, 1}
The hardness of ψ is the largest number h ∈ {0, . . . , k}, such that
k h ≤ 1 2 3 4 2 3 4
require time mk−o(1) under the Hyperclique hypothesis require time mk−o(1) under SETH [GIKW ’17] the speed-up requires fast matrix multiplication decidable in time O(mk−ϵ) for some ϵ > 0 2 < h < k 2 = h < k h = k h ≤ 1
“ψ is h-OV-like”
SLIDE 32
Lower Bounds for Properties of Hardness h ≥ 3
Hypothesis: h-uniform Hyperclique For h ≥ 3, detecting a k-clique in an h-hypergraph requires time nk−o(1)
SLIDE 33 Lower Bounds for Properties of Hardness h ≥ 3
Hypothesis: h-uniform Hyperclique For h ≥ 3, detecting a k-clique in an h-hypergraph requires time nk−o(1)
fails for h ≤ 2: O(nωk/3) using fast matrix multiplication
SLIDE 34 Lower Bounds for Properties of Hardness h ≥ 3
Hypothesis: h-uniform Hyperclique For h ≥ 3, detecting a k-clique in an h-hypergraph requires time nk−o(1)
fails for h ≤ 2: O(nωk/3) using fast matrix multiplication is implied by the assumption that MAX-3-SAT cannot be solved in time O(2(1−ε)n) [Williams ’07]
SLIDE 35 Lower Bounds for Properties of Hardness h ≥ 3
Hypothesis: h-uniform Hyperclique For h ≥ 3, detecting a k-clique in an h-hypergraph requires time nk−o(1)
fails for h ≤ 2: O(nωk/3) using fast matrix multiplication is implied by the assumption that MAX-3-SAT cannot be solved in time O(2(1−ε)n) [Williams ’07] Strassen-like techniques are ruled out [Lincoln, V-Williams, Williams ’18]
SLIDE 36 Lower Bounds for Properties of Hardness h ≥ 3
Hypothesis: h-uniform Hyperclique For h ≥ 3, detecting a k-clique in an h-hypergraph requires time nk−o(1)
fails for h ≤ 2: O(nωk/3) using fast matrix multiplication is implied by the assumption that MAX-3-SAT cannot be solved in time O(2(1−ε)n) [Williams ’07] Strassen-like techniques are ruled out [Lincoln, V-Williams, Williams ’18]
Our results: Hardness levels Unless the h-uniform Hyperclique hypothesis fails, model-checking any property of hardness h requires time mk−o(1)
h ≤ 2 h = k h = 4 h = 3
SLIDE 37 Lower Bounds for Properties of Hardness h ≥ 3
Hypothesis: h-uniform Hyperclique For h ≥ 3, detecting a k-clique in an h-hypergraph requires time nk−o(1)
fails for h ≤ 2: O(nωk/3) using fast matrix multiplication is implied by the assumption that MAX-3-SAT cannot be solved in time O(2(1−ε)n) [Williams ’07] Strassen-like techniques are ruled out [Lincoln, V-Williams, Williams ’18]
Our results: Hardness levels Unless the h-uniform Hyperclique hypothesis fails, model-checking any property of hardness h requires time mk−o(1)
h ≤ 2 h = k h = 4 h = 3 hard under SETH
SLIDE 38 Build your own cubic problem!
Step 1: Take the basis problem (Triangle Detection) (Equal Constraint) (Sum Constraint) O(n3) O(nω) Step 2: Choose your toppings O(n3) O(n3−ε)
4 4 13 21 7 9 5 −2 1 −2 −1 3 2
SLIDE 39 Build your own cubic problem!
Step 1: Take the basis problem (Triangle Detection) (Equal Constraint) (Sum Constraint) O(n3) O(nω) Step 2: Choose your toppings O(n3) O(n3−ε)
4 4 13 21 7 9 5 −2 1 −2 −1 3 2 we assume tripartite graphs
SLIDE 40 Build your own cubic problem!
Step 1: Take the basis problem (Triangle Detection) (Equal Constraint) (Sum Constraint) O(n3) O(nω) Step 2: Choose your toppings O(n3) O(n3−ε)
4 4 13 21 7 9 5 −2 1 −2 −1 3 2 works for any target t (here t = 0) we assume tripartite graphs
SLIDE 41 Build your own cubic problem!
Step 1: Take the basis problem (Triangle Detection) (Equal Constraint) (Sum Constraint)
small total weight: ∑ e |w(e)| ≤ O(n2)
O(n3) O(nω) Step 2: Choose your toppings O(n3) O(n3−ε)
4 4 13 21 7 9 5 −2 1 −2 −1 3 2 works for any target t (here t = 0) we assume tripartite graphs
SLIDE 42 Build your own cubic problem!
Step 1: Take the basis problem (Triangle Detection) (Equal Constraint) (Sum Constraint)
small total weight: ∑ e |w(e)| ≤ O(n2)
O(n3) O(nω) Step 2: Choose your toppings O(n3) O(n3−ε)
4 4 13 21 7 9 5 −2 1 −2 −1 3 2 works for any target t (here t = 0) we assume tripartite graphs
“Constrained Triangle Detection”
SLIDE 43 Algorithms for Properties of Hardness h ≤ 2
2 < h < k 2 = h < k h = k h ≤ 1
k h
≤ 1 2 3 4
2 3 4
SLIDE 44 Algorithms for Properties of Hardness h ≤ 2
k = 3: Reduction to Constrained Triangles
2 < h < k 2 = h < k h = k h ≤ 1
k h
≤ 1 2 3 4
2 3 4
SLIDE 45 Algorithms for Properties of Hardness h ≤ 2
k = 3: Reduction to Constrained Triangles ∃x1 ∃x2 ∃x3 ∀y: φ(E(x1, y), E(x2, y), E(x3, y))
2 < h < k 2 = h < k h = k h ≤ 1
k h
≤ 1 2 3 4
2 3 4
SLIDE 46 Algorithms for Properties of Hardness h ≤ 2
k = 3: Reduction to Constrained Triangles ∃x1 ∃x2 ∃x3 ∀y: φ(E(x1, y), E(x2, y), E(x3, y))
think of x1, x2, x3 as vectors
2 < h < k 2 = h < k h = k h ≤ 1
k h
≤ 1 2 3 4
2 3 4
SLIDE 47 Algorithms for Properties of Hardness h ≤ 2
k = 3: Reduction to Constrained Triangles
think of x1, x2, x3 as vectors
∃x1 ∃x2 ∃x3 ∀i: φ(x1[i], x2[i], x3[i])
2 < h < k 2 = h < k h = k h ≤ 1
k h
≤ 1 2 3 4
2 3 4
SLIDE 48 Algorithms for Properties of Hardness h ≤ 2
k = 3: Reduction to Constrained Triangles
x1 x2 x3 think of x1, x2, x3 as vectors
∃x1 ∃x2 ∃x3 ∀i: φ(x1[i], x2[i], x3[i])
2 < h < k 2 = h < k h = k h ≤ 1
k h
≤ 1 2 3 4
2 3 4
SLIDE 49 Algorithms for Properties of Hardness h ≤ 2
k = 3: Reduction to Constrained Triangles
x1 x2 x3 think of x1, x2, x3 as vectors
∃x1 ∃x2 ∃x3 ∀i: φ(x1[i], x2[i], x3[i])
O(m) vertices
2 < h < k 2 = h < k h = k h ≤ 1
k h
≤ 1 2 3 4
2 3 4
SLIDE 50 Algorithms for Properties of Hardness h ≤ 2
k = 3: Reduction to Constrained Triangles
x1 x2 x3 insert all edges think of x1, x2, x3 as vectors
∃x1 ∃x2 ∃x3 ∀i: φ(x1[i], x2[i], x3[i])
O(m) vertices
2 < h < k 2 = h < k h = k h ≤ 1
k h
≤ 1 2 3 4
2 3 4
SLIDE 51 Algorithms for Properties of Hardness h ≤ 2
k = 3: Reduction to Constrained Triangles
x1 x2 x3 insert all edges think of x1, x2, x3 as vectors
∃x1 ∃x2 ∃x3 ∀i: φ(x1[i], x2[i], x3[i])
Idea: spend O(m2) time to encode φ by Equal and Sum constraints O(m) vertices
2 < h < k 2 = h < k h = k h ≤ 1
k h
≤ 1 2 3 4
2 3 4
SLIDE 52 Algorithms for Properties of Hardness h ≤ 2
k = 3: Reduction to Constrained Triangles
x1 x2 x3 insert all edges think of x1, x2, x3 as vectors
∃x1 ∃x2 ∃x3 ∀i: φ(x1[i], x2[i], x3[i]) k > 3: Brute-force k − 3 quantifiers
Idea: spend O(m2) time to encode φ by Equal and Sum constraints
∃x1 ∃x2 ∃x3 ∃x4 ∀i: φ(x1[i], x2[i], x3[i], x4[i])
O(m) vertices
2 < h < k 2 = h < k h = k h ≤ 1
k h
≤ 1 2 3 4
2 3 4
SLIDE 53 Algorithms for Properties of Hardness h ≤ 2
k = 3: Reduction to Constrained Triangles
x1 x2 x3 insert all edges think of x1, x2, x3 as vectors
∃x1 ∃x2 ∃x3 ∀i: φ(x1[i], x2[i], x3[i]) k > 3: Brute-force k − 3 quantifiers
Idea: spend O(m2) time to encode φ by Equal and Sum constraints O(m) vertices
2 < h < k 2 = h < k h = k h ≤ 1
k h
≤ 1 2 3 4
2 3 4
∃x1 ∃x2 ∃x3 ∃x4 ∀i: φ(0/1 , x2[i], x3[i], x4[i])
SLIDE 54 Algorithms for Properties of Hardness h ≤ 2
k = 3: Reduction to Constrained Triangles
x1 x2 x3 insert all edges think of x1, x2, x3 as vectors
∃x1 ∃x2 ∃x3 ∀i: φ(x1[i], x2[i], x3[i]) k > 3: Brute-force k − 3 quantifiers
Idea: spend O(m2) time to encode φ by Equal and Sum constraints Idea: repeat the above reduction and combine the triangle constraints O(m) vertices
2 < h < k 2 = h < k h = k h ≤ 1
k h
≤ 1 2 3 4
2 3 4
∃x1 ∃x2 ∃x3 ∃x4 ∀i: φ(0/1 , x2[i], x3[i], x4[i])
SLIDE 55 Algorithms for Properties of Hardness h ≤ 2
k = 3: Reduction to Constrained Triangles
x1 x2 x3 insert all edges think of x1, x2, x3 as vectors
∃x1 ∃x2 ∃x3 ∀i: φ(x1[i], x2[i], x3[i]) k > 3: Brute-force k − 3 quantifiers
Idea: spend O(m2) time to encode φ by Equal and Sum constraints Idea: repeat the above reduction and combine the triangle constraints
Examples
O(m) vertices
2 < h < k 2 = h < k h = k h ≤ 1
k h
≤ 1 2 3 4
2 3 4
∃x1 ∃x2 ∃x3 ∃x4 ∀i: φ(0/1 , x2[i], x3[i], x4[i])
SLIDE 56 Algorithms for Properties of Hardness h ≤ 2
k = 3: Reduction to Constrained Triangles
x1 x2 x3 insert all edges think of x1, x2, x3 as vectors
∃x1 ∃x2 ∃x3 ∀i: φ(x1[i], x2[i], x3[i]) k > 3: Brute-force k − 3 quantifiers
Idea: spend O(m2) time to encode φ by Equal and Sum constraints Idea: repeat the above reduction and combine the triangle constraints
Examples ∃x1 ∃x2 ∃x3 ∀i: NAE(x1[i], x2[i], x3[i])
O(m) vertices
2 < h < k 2 = h < k h = k h ≤ 1
k h
≤ 1 2 3 4
2 3 4
∃x1 ∃x2 ∃x3 ∃x4 ∀i: φ(0/1 , x2[i], x3[i], x4[i])
x1 x3 x2
SLIDE 57 Algorithms for Properties of Hardness h ≤ 2
k = 3: Reduction to Constrained Triangles
x1 x2 x3 insert all edges think of x1, x2, x3 as vectors
∃x1 ∃x2 ∃x3 ∀i: φ(x1[i], x2[i], x3[i]) k > 3: Brute-force k − 3 quantifiers
Idea: spend O(m2) time to encode φ by Equal and Sum constraints Idea: repeat the above reduction and combine the triangle constraints
Examples ∃x1 ∃x2 ∃x3 ∀i: NAE(x1[i], x2[i], x3[i])
falsifying assignments O(m) vertices
2 < h < k 2 = h < k h = k h ≤ 1
k h
≤ 1 2 3 4
2 3 4
∃x1 ∃x2 ∃x3 ∃x4 ∀i: φ(0/1 , x2[i], x3[i], x4[i])
x1 x3 x2
SLIDE 58 Algorithms for Properties of Hardness h ≤ 2
k = 3: Reduction to Constrained Triangles
x1 x2 x3 insert all edges think of x1, x2, x3 as vectors
∃x1 ∃x2 ∃x3 ∀i: φ(x1[i], x2[i], x3[i]) k > 3: Brute-force k − 3 quantifiers
Idea: spend O(m2) time to encode φ by Equal and Sum constraints Idea: repeat the above reduction and combine the triangle constraints
Examples ∃x1 ∃x2 ∃x3 ∀i: NAE(x1[i], x2[i], x3[i])
falsifying assignments
∃x1 ∃x2 ∃x3 ∀i: x1[i] + x2[i] + x3[i] ̸= 2
O(m) vertices
2 < h < k 2 = h < k h = k h ≤ 1
k h
≤ 1 2 3 4
2 3 4
∃x1 ∃x2 ∃x3 ∃x4 ∀i: φ(0/1 , x2[i], x3[i], x4[i])
x1 x3 x2 x1 x3 x2
SLIDE 59 How to Employ Sum and Equal Constraints
∃x1 ∃x2 ∃x3 ∀i: NAE(x1[i], x2[i], x3[i]) ∃x1 ∃x2 ∃x3 ∀i: x1[i] + x2[i] + x3[i] ̸= 2
x1 x3 x2 x1 x3 x2
SLIDE 60 How to Employ Sum and Equal Constraints
∃x1 ∃x2 ∃x3 ∀i: NAE(x1[i], x2[i], x3[i]) ∃x1 ∃x2 ∃x3 ∀i: x1[i] + x2[i] + x3[i] ̸= 2
Idea: Exclude 000 and 111 by a Sum constraint x1 x3 x2 x1 x3 x2
SLIDE 61 How to Employ Sum and Equal Constraints
∃x1 ∃x2 ∃x3 ∀i: NAE(x1[i], x2[i], x3[i]) ∃x1 ∃x2 ∃x3 ∀i: x1[i] + x2[i] + x3[i] ̸= 2
Idea: Exclude 000 and 111 by a Sum constraint
Exclude 111 and 000 in all dimensions ⇔ 0 = ∥x1 ∧ x2 ∧ x3∥1 = ∥¯ x1 ∧¯ x2 ∧¯ x3∥1
x1 x3 x2 x1 x3 x2
SLIDE 62 How to Employ Sum and Equal Constraints
∃x1 ∃x2 ∃x3 ∀i: NAE(x1[i], x2[i], x3[i]) ∃x1 ∃x2 ∃x3 ∀i: x1[i] + x2[i] + x3[i] ̸= 2
Idea: Exclude 000 and 111 by a Sum constraint
Exclude 111 and 000 in all dimensions ⇔ 0 = ∥x1 ∧ x2 ∧ x3∥1 = ∥¯ x1 ∧¯ x2 ∧¯ x3∥1 ⇔ 0 = ∥x1 ∧ x2 ∧ x3∥1 + ∥¯ x1 ∧¯ x2 ∧¯ x3∥1
x1 x3 x2 x1 x3 x2
SLIDE 63 How to Employ Sum and Equal Constraints
∃x1 ∃x2 ∃x3 ∀i: NAE(x1[i], x2[i], x3[i]) ∃x1 ∃x2 ∃x3 ∀i: x1[i] + x2[i] + x3[i] ̸= 2
Idea: Exclude 000 and 111 by a Sum constraint
Exclude 111 and 000 in all dimensions ⇔ 0 = ∥x1 ∧ x2 ∧ x3∥1 = ∥¯ x1 ∧¯ x2 ∧¯ x3∥1 ⇔ 0 = ∥x1 ∧ x2 ∧ x3∥1 + ∥¯ x1 ∧¯ x2 ∧¯ x3∥1 ⇔ 0 = ∥x1 ∧ x2 ∧ x3∥1 − ∥x1 ∧ x2 ∧ x3∥1 + ∥x1 ∧ x2∥1 − ∥x1∥1 + ∥x2 ∧ x3∥1 − ∥x2∥1 + ∥x3 ∧ x1∥1 − ∥x3∥1 + d
x1 x3 x2 x1 x3 x2
SLIDE 64 How to Employ Sum and Equal Constraints
∃x1 ∃x2 ∃x3 ∀i: NAE(x1[i], x2[i], x3[i]) ∃x1 ∃x2 ∃x3 ∀i: x1[i] + x2[i] + x3[i] ̸= 2
Idea: Exclude 000 and 111 by a Sum constraint
Exclude 111 and 000 in all dimensions ⇔ 0 = ∥x1 ∧ x2 ∧ x3∥1 = ∥¯ x1 ∧¯ x2 ∧¯ x3∥1 ⇔ 0 = ∥x1 ∧ x2 ∧ x3∥1 + ∥¯ x1 ∧¯ x2 ∧¯ x3∥1 ⇔ 0 = ∥x1 ∧ x2 ∧ x3∥1 − ∥x1 ∧ x2 ∧ x3∥1 + ∥x1 ∧ x2∥1 − ∥x1∥1 + ∥x2 ∧ x3∥1 − ∥x2∥1 + ∥x3 ∧ x1∥1 − ∥x3∥1 + d
cancels! x1 x3 x2 x1 x3 x2
SLIDE 65 How to Employ Sum and Equal Constraints
∃x1 ∃x2 ∃x3 ∀i: NAE(x1[i], x2[i], x3[i]) ∃x1 ∃x2 ∃x3 ∀i: x1[i] + x2[i] + x3[i] ̸= 2
Idea: Exclude 000 and 111 by a Sum constraint
Exclude 111 and 000 in all dimensions ⇔ 0 = ∥x1 ∧ x2 ∧ x3∥1 = ∥¯ x1 ∧¯ x2 ∧¯ x3∥1 ⇔ 0 = ∥x1 ∧ x2 ∧ x3∥1 + ∥¯ x1 ∧¯ x2 ∧¯ x3∥1 ⇔ 0 = ∥x1 ∧ x2 ∧ x3∥1 − ∥x1 ∧ x2 ∧ x3∥1 + ∥x1 ∧ x2∥1 − ∥x1∥1 + ∥x2 ∧ x3∥1 − ∥x2∥1 + ∥x3 ∧ x1∥1 − ∥x3∥1 + d
cancels! w(x1, x2) w(x2, x3) w(x3, x1) target t x1 x3 x2 x1 x3 x2
SLIDE 66 How to Employ Sum and Equal Constraints
∃x1 ∃x2 ∃x3 ∀i: NAE(x1[i], x2[i], x3[i]) ∃x1 ∃x2 ∃x3 ∀i: x1[i] + x2[i] + x3[i] ̸= 2
Idea: Exclude 000 and 111 by a Sum constraint
Exclude 111 and 000 in all dimensions ⇔ 0 = ∥x1 ∧ x2 ∧ x3∥1 = ∥¯ x1 ∧¯ x2 ∧¯ x3∥1 ⇔ 0 = ∥x1 ∧ x2 ∧ x3∥1 + ∥¯ x1 ∧¯ x2 ∧¯ x3∥1 ⇔ 0 = ∥x1 ∧ x2 ∧ x3∥1 − ∥x1 ∧ x2 ∧ x3∥1 + ∥x1 ∧ x2∥1 − ∥x1∥1 + ∥x2 ∧ x3∥1 − ∥x2∥1 + ∥x3 ∧ x1∥1 − ∥x3∥1 + d
cancels! w(x1, x2) w(x2, x3) w(x3, x1) target t
Generalizes for any pair of falsifying assignments of odd Hamming distance
x1 x3 x2 x1 x3 x2
SLIDE 67 How to Employ Sum and Equal Constraints
∃x1 ∃x2 ∃x3 ∀i: NAE(x1[i], x2[i], x3[i]) ∃x1 ∃x2 ∃x3 ∀i: x1[i] + x2[i] + x3[i] ̸= 2
Idea: Exclude 000 and 111 by a Sum constraint
Exclude 111 and 000 in all dimensions ⇔ 0 = ∥x1 ∧ x2 ∧ x3∥1 = ∥¯ x1 ∧¯ x2 ∧¯ x3∥1 ⇔ 0 = ∥x1 ∧ x2 ∧ x3∥1 + ∥¯ x1 ∧¯ x2 ∧¯ x3∥1 ⇔ 0 = ∥x1 ∧ x2 ∧ x3∥1 − ∥x1 ∧ x2 ∧ x3∥1 + ∥x1 ∧ x2∥1 − ∥x1∥1 + ∥x2 ∧ x3∥1 − ∥x2∥1 + ∥x3 ∧ x1∥1 − ∥x3∥1 + d
cancels! w(x1, x2) w(x2, x3) w(x3, x1) target t Idea: Exclude 110 and 101 by an Equal constraint
Generalizes for any pair of falsifying assignments of odd Hamming distance
x1 x3 x2 x1 x3 x2
SLIDE 68 How to Employ Sum and Equal Constraints
∃x1 ∃x2 ∃x3 ∀i: NAE(x1[i], x2[i], x3[i]) ∃x1 ∃x2 ∃x3 ∀i: x1[i] + x2[i] + x3[i] ̸= 2
Idea: Exclude 000 and 111 by a Sum constraint
Exclude 111 and 000 in all dimensions ⇔ 0 = ∥x1 ∧ x2 ∧ x3∥1 = ∥¯ x1 ∧¯ x2 ∧¯ x3∥1 ⇔ 0 = ∥x1 ∧ x2 ∧ x3∥1 + ∥¯ x1 ∧¯ x2 ∧¯ x3∥1 ⇔ 0 = ∥x1 ∧ x2 ∧ x3∥1 − ∥x1 ∧ x2 ∧ x3∥1 + ∥x1 ∧ x2∥1 − ∥x1∥1 + ∥x2 ∧ x3∥1 − ∥x2∥1 + ∥x3 ∧ x1∥1 − ∥x3∥1 + d
cancels! w(x1, x2) w(x2, x3) w(x3, x1) target t Idea: Exclude 110 and 101 by an Equal constraint
Exclude 110 and 101 in all dimensions ⇔ x1 ∧ x2 = x1 ∧ x3 Generalizes for any pair of falsifying assignments of odd Hamming distance
x1 x3 x2 x1 x3 x2
SLIDE 69 How to Employ Sum and Equal Constraints
∃x1 ∃x2 ∃x3 ∀i: NAE(x1[i], x2[i], x3[i]) ∃x1 ∃x2 ∃x3 ∀i: x1[i] + x2[i] + x3[i] ̸= 2
Idea: Exclude 000 and 111 by a Sum constraint
Exclude 111 and 000 in all dimensions ⇔ 0 = ∥x1 ∧ x2 ∧ x3∥1 = ∥¯ x1 ∧¯ x2 ∧¯ x3∥1 ⇔ 0 = ∥x1 ∧ x2 ∧ x3∥1 + ∥¯ x1 ∧¯ x2 ∧¯ x3∥1 ⇔ 0 = ∥x1 ∧ x2 ∧ x3∥1 − ∥x1 ∧ x2 ∧ x3∥1 + ∥x1 ∧ x2∥1 − ∥x1∥1 + ∥x2 ∧ x3∥1 − ∥x2∥1 + ∥x3 ∧ x1∥1 − ∥x3∥1 + d
cancels! w(x1, x2) w(x2, x3) w(x3, x1) target t Idea: Exclude 110 and 101 by an Equal constraint
Exclude 110 and 101 in all dimensions ⇔ x1 ∧ x2 = x1 ∧ x3
w(x1, x2) w(x1, x3)
Generalizes for any pair of falsifying assignments of odd Hamming distance
x1 x3 x2 x1 x3 x2
SLIDE 70 How to Employ Sum and Equal Constraints
∃x1 ∃x2 ∃x3 ∀i: NAE(x1[i], x2[i], x3[i]) ∃x1 ∃x2 ∃x3 ∀i: x1[i] + x2[i] + x3[i] ̸= 2
Idea: Exclude 000 and 111 by a Sum constraint
Exclude 111 and 000 in all dimensions ⇔ 0 = ∥x1 ∧ x2 ∧ x3∥1 = ∥¯ x1 ∧¯ x2 ∧¯ x3∥1 ⇔ 0 = ∥x1 ∧ x2 ∧ x3∥1 + ∥¯ x1 ∧¯ x2 ∧¯ x3∥1 ⇔ 0 = ∥x1 ∧ x2 ∧ x3∥1 − ∥x1 ∧ x2 ∧ x3∥1 + ∥x1 ∧ x2∥1 − ∥x1∥1 + ∥x2 ∧ x3∥1 − ∥x2∥1 + ∥x3 ∧ x1∥1 − ∥x3∥1 + d
cancels! w(x1, x2) w(x2, x3) w(x3, x1) target t Idea: Exclude 110 and 101 by an Equal constraint
Exclude 110 and 101 in all dimensions ⇔ x1 ∧ x2 = x1 ∧ x3
w(x1, x2) w(x1, x3) convert vectors arbitrarily into numbers
Generalizes for any pair of falsifying assignments of odd Hamming distance
x1 x3 x2 x1 x3 x2
SLIDE 71 How to Employ Sum and Equal Constraints
∃x1 ∃x2 ∃x3 ∀i: NAE(x1[i], x2[i], x3[i]) ∃x1 ∃x2 ∃x3 ∀i: x1[i] + x2[i] + x3[i] ̸= 2
Idea: Exclude 000 and 111 by a Sum constraint
Exclude 111 and 000 in all dimensions ⇔ 0 = ∥x1 ∧ x2 ∧ x3∥1 = ∥¯ x1 ∧¯ x2 ∧¯ x3∥1 ⇔ 0 = ∥x1 ∧ x2 ∧ x3∥1 + ∥¯ x1 ∧¯ x2 ∧¯ x3∥1 ⇔ 0 = ∥x1 ∧ x2 ∧ x3∥1 − ∥x1 ∧ x2 ∧ x3∥1 + ∥x1 ∧ x2∥1 − ∥x1∥1 + ∥x2 ∧ x3∥1 − ∥x2∥1 + ∥x3 ∧ x1∥1 − ∥x3∥1 + d
cancels! w(x1, x2) w(x2, x3) w(x3, x1) target t Idea: Exclude 110 and 101 by an Equal constraint
Exclude 110 and 101 in all dimensions ⇔ x1 ∧ x2 = x1 ∧ x3
w(x1, x2) w(x1, x3) convert vectors arbitrarily into numbers
Generalizes for any pair of falsifying assignments of odd Hamming distance Generalizes for any pair of falsifying assignments of even Hamming distance
x1 x3 x2 x1 x3 x2
SLIDE 72 Conclusion and Open Problems
k h ≤ 1 2 3 4 2 3 4
2 < h < k 2 = h < k h = k h ≤ 1
Open problems
- In which way does the classi-
fication extend to first-order queries beyond ∃k∀-quantified graph properties?
- What’s the exact complexity of
low-hardness properties?
- Equivalence of finding cliques in
h-hypergraphs and properties of hardness h?
SLIDE 73 Conclusion and Open Problems
k h ≤ 1 2 3 4 2 3 4
2 < h < k 2 = h < k h = k h ≤ 1
Open problems
- In which way does the classi-
fication extend to first-order queries beyond ∃k∀-quantified graph properties?
- What’s the exact complexity of
low-hardness properties?
- Equivalence of finding cliques in
h-hypergraphs and properties of hardness h?
the same dichotomy holds in the counting setting