The Complexity of Temporal Constraint Languages - Semantic Scholar

4 downloads 0 Views 395KB Size Report
temporal constraint languages. First-order definability does not preserve the complexity of the corresponding CSP (this is why we need polymorphisms and ...
The Complexity of Temporal Constraint Languages Manuel Bodirsky and Jan K´ara Abstract A temporal constraint language is a set of relations that has a first-order definition in (Q, t[2] < t[3] or t[1] < t[2] > t[3]. In the first case, let S1 := {x ∈ Q | t1 [1] < x < t1 [2]}, S2 := {x ∈ Q | t1 [3] < x}, T1 := {y ∈ Q | t2 [3] < y < t2 [2]}, and T2 := {y ∈ Q | t2 [1] < y}. In the second case, let S1 := {x ∈ Q | t1 [2] < x < t1 [3]}, S2 := {x ∈ Q | x < t1 [1]}, T1 := {y ∈ Q | t2 [2] < y < t2 [1]}, and T2 := {y ∈ Q | y < t2 [3]}. See Figure 15 for an illustration of these sets. We apply Lemma 39 to the grid S1 × T1 , and obtain subsets U (k) ⊆ S1 and V (k) ⊆ T1 such that |U (k) | ≥ R(k), |V (k) | ≥ R(k). Similarly, apply Lemma 39 to the grid U (k) × T2 and obtain (k) (k) subsets S1 ⊆ U (k) and T2 ⊆ T2 of cardinality at least k. We finally apply Lemma 39 to the (k) (k) grid S2 × V (k) and obtain subsets S2 ⊆ S2 and T1 ⊆ V (k) of cardinality at least k. Lemma 39 (k) (k) (k) (k) (k) (k) asserts that on each of the three grids S1 × T1 , S1 × T2 , and S2 × T1 for all k ∈ K the operation f behaves either as a projection to one of arguments, as lex(x, y), as lex(y, x), as lex(x, −y), or as lex(y, −x). Thus, there are just 63 possibilities how f behaves on those grids for (k) (k) given k. Hence, there is an infinite set K ⊆ N such that f behaves in the same way on S1 × T1 , (k) (k) (k) (k) S1 × T2 , and S2 × T1 for all k ∈ K. If f behaves like lex(x, y), lex(y, x), lex(x, −y), or lex(y, −x) on some of the grids for all k ∈ K, it clearly generates either lex(x, y) or lex(x, −y). Since lex(x, −lex(x, −y)) induces the same order on Q2 as lex, the operation lex(x, −y) generates lex, and thus we are done. So assume that f behaves like a projection on all three grids for all k ∈ K. Observe that (k) (k) (k) (k) by the choice of S1 , S2 , T1 , and T2 , and because f preserves f (t1 [2], t2 [2]) > f (x0 , y 0 ) for (k) (k) (k) (k) (k) (k) (k) (k) all (x, y) ∈ S1 × T1 , (x0 , y 0 ) ∈ (S1 × T2 ) ∪ (S2 × T1 ) (this is in case S1 is above S2 (k) (k) and T1 is above T2 ). Now, we distinguish two possibilities. Either f behaves like a projection to the same argument on each of the three grids for all k ∈ K or f behaves like a projection to the first argument on one grid and as a projection to the second argument on some other grid for all k ∈ K. In the first case, suppose without loss of generality that f behaves on each grid as a

29

projection to the first argument (otherwise we can swap arguments). Due to the observation from the beginning of the paragraph, we can apply Lemma 37 and conclude that f generates lex. Now, we turn our attention to the second case and show that f generates pp or dual-pp. Again, we assume without loss of generality that f behaves like a projection to the first argument (k) (k) (k) (k) on S1 × T1 for all k ∈ K. Let S1 × T2 be the grid where f behaves like a projection to the second argument (the other case is symmetric). Due to the observation from the beginning (k) of the previous paragraph we immediately see that f behaves either as pp (this is in case T1 is (k) (k) (k) (k) (k) (k) above T2 ) or as dual-pp (this is in case T1 is below T2 ) on the grid S1 × (T1 ∪ T2 ) after swapping arguments for all k ∈ K. Thus f generates pp or dual-pp. Before we get to our final theorem, we show that if we have the polymorphism lex(x, y) we can assume that a polymorphism that violates Betw is injective. Lemma 43. Let f be a binary operation violating Betw and preserving

Suggest Documents