NO
0 RelTRS
↳1 RelTRStoRelADPProof (⇔, 0 ms)
↳2 RelADPP
↳3 RelADPDepGraphProof (⇔, 34 ms)
↳4 AND
↳5 RelADPP
↳6 RelADPDerelatifyingProof (⇔, 0 ms)
↳7 QDP
↳8 MRRProof (⇔, 0 ms)
↳9 QDP
↳10 MRRProof (⇔, 4 ms)
↳11 QDP
↳12 PisEmptyProof (⇔, 0 ms)
↳13 YES
↳14 RelADPP
↳15 RelADPDerelatifyingProof (⇔, 0 ms)
↳16 QDP
↳17 MRRProof (⇔, 0 ms)
↳18 QDP
↳19 PisEmptyProof (⇔, 0 ms)
↳20 YES
↳21 RelADPP
↳22 RelADPDerelatifyingProof (⇔, 0 ms)
↳23 QDP
↳24 MRRProof (⇔, 0 ms)
↳25 QDP
↳26 TransformationProof (⇔, 0 ms)
↳27 QDP
↳28 NonTerminationLoopProof (⇒, 0 ms)
↳29 NO
↳30 RelADPP
↳31 RelADPReductionPairProof (⇔, 94 ms)
↳32 RelADPP
↳33 RelADPDepGraphProof (⇔, 0 ms)
↳34 TRUE
↳35 RelADPP
↳36 RelADPReductionPairProof (⇔, 126 ms)
↳37 RelADPP
↳38 RelADPDepGraphProof (⇔, 0 ms)
↳39 RelADPP
↳40 RelADPCleverAfsProof (⇒, 70 ms)
↳41 QDP
↳42 MRRProof (⇔, 2 ms)
↳43 QDP
↳44 PisEmptyProof (⇔, 0 ms)
↳45 YES
↳46 RelADPP
↳47 RelADPReductionPairProof (⇔, 126 ms)
↳48 RelADPP
↳49 RelADPDepGraphProof (⇔, 0 ms)
↳50 TRUE
↳51 RelADPP
↳52 RelADPReductionPairProof (⇔, 127 ms)
↳53 RelADPP
↳54 RelADPDepGraphProof (⇔, 0 ms)
↳55 TRUE
↳56 RelADPP
↳57 RelADPReductionPairProof (⇔, 141 ms)
↳58 RelADPP
↳59 RelADPDepGraphProof (⇔, 0 ms)
↳60 RelADPP
↳61 RelADPDerelatifyingProof (⇔, 0 ms)
↳62 QDP
↳63 MRRProof (⇔, 0 ms)
↳64 QDP
↳65 MRRProof (⇔, 12 ms)
↳66 QDP
↳67 PisEmptyProof (⇔, 0 ms)
↳68 YES
↳69 RelADPP
↳70 RelADPReductionPairProof (⇔, 119 ms)
↳71 RelADPP
↳72 RelADPDepGraphProof (⇔, 0 ms)
↳73 TRUE
↳74 RelADPP
↳75 RelADPReductionPairProof (⇔, 104 ms)
↳76 RelADPP
↳77 RelADPDepGraphProof (⇔, 0 ms)
↳78 TRUE
↳79 RelADPP
↳80 RelADPReductionPairProof (⇔, 111 ms)
↳81 RelADPP
↳82 RelADPDepGraphProof (⇔, 0 ms)
↳83 TRUE
↳84 RelADPP
↳85 RelADPReductionPairProof (⇔, 98 ms)
↳86 RelADPP
↳87 RelADPDepGraphProof (⇔, 0 ms)
↳88 TRUE
↳89 RelADPP
↳90 RelADPReductionPairProof (⇔, 116 ms)
↳91 RelADPP
↳92 RelADPDepGraphProof (⇔, 0 ms)
↳93 RelADPP
↳94 RelADPDerelatifyingProof (⇔, 0 ms)
↳95 QDP
↳96 MRRProof (⇔, 13 ms)
↳97 QDP
↳98 PisEmptyProof (⇔, 0 ms)
↳99 YES
↳100 RelADPP
↳101 RelADPReductionPairProof (⇔, 95 ms)
↳102 RelADPP
↳103 RelADPDepGraphProof (⇔, 0 ms)
↳104 RelADPP
↳105 RelADPDerelatifyingProof (⇔, 0 ms)
↳106 QDP
↳107 MRRProof (⇔, 0 ms)
↳108 QDP
↳109 PisEmptyProof (⇔, 0 ms)
↳110 YES
↳111 RelADPP
↳112 RelADPReductionPairProof (⇔, 95 ms)
↳113 RelADPP
↳114 RelADPReductionPairProof (⇔, 13 ms)
↳115 RelADPP
↳116 RelADPDepGraphProof (⇔, 0 ms)
↳117 RelADPP
↳118 RelADPCleverAfsProof (⇒, 32 ms)
↳119 QDP
↳120 MRRProof (⇔, 3 ms)
↳121 QDP
↳122 MRRProof (⇔, 0 ms)
↳123 QDP
↳124 PisEmptyProof (⇔, 0 ms)
↳125 YES
top(U(x, y)) → top(check(D(x, y)))
D(x, B) → U(x, B)
F(x, U(O(y), z)) → U(x, F(y, z))
F(x, U(N(y), z)) → U(x, F(y, z))
D(O(x), F(y, z)) → F(x, D(y, z))
D(N(x), F(y, z)) → F(x, D(y, z))
F(x, U(E, y)) → U(x, F(E, y))
D(E, F(x, y)) → F(E, D(x, y))
check(O(x)) → O(x)
check(D(x, y)) → D(check(x), y)
E → N(E)
check(F(x, y)) → F(x, check(y))
check(U(x, y)) → U(x, check(y))
check(O(x)) → O(check(x))
check(U(x, y)) → U(check(x), y)
check(F(x, y)) → F(check(x), y)
check(N(x)) → N(check(x))
check(D(x, y)) → D(x, check(y))
We upgrade the RelTRS problem to an equivalent Relative ADP Problem [IJCAR24].
top(U(x, y)) → TOP(check(D(x, y)))
top(U(x, y)) → top(CHECK(D(x, y)))
top(U(x, y)) → top(check(D1(x, y)))
D(x, B) → U(x, B)
F(x, U(O(y), z)) → U(x, F1(y, z))
F(x, U(N(y), z)) → U(x, F1(y, z))
D(O(x), F(y, z)) → F1(x, D(y, z))
D(O(x), F(y, z)) → F(x, D1(y, z))
D(N(x), F(y, z)) → F1(x, D(y, z))
D(N(x), F(y, z)) → F(x, D1(y, z))
F(x, U(E, y)) → U(x, F1(E, y))
F(x, U(E, y)) → U(x, F(E1, y))
D(E, F(x, y)) → F1(E, D(x, y))
D(E, F(x, y)) → F(E1, D(x, y))
D(E, F(x, y)) → F(E, D1(x, y))
check(O(x)) → O(x)
check(D(x, y)) → D1(CHECK(x), y)
E → N(E1)
check(F(x, y)) → F1(x, CHECK(y))
check(U(x, y)) → U(x, CHECK(y))
check(O(x)) → O(CHECK(x))
check(U(x, y)) → U(CHECK(x), y)
check(F(x, y)) → F1(CHECK(x), y)
check(N(x)) → N(CHECK(x))
check(D(x, y)) → D1(x, CHECK(y))
We use the relative dependency graph processor [IJCAR24].
The approximation of the Relative Dependency Graph contains:
3 SCCs with nodes from P_abs,
12 Lassos,
Result: This relative DT problem is equivalent to 15 subproblems.
F(x, U(O(y), z)) → U(x, F1(y, z))
F(x, U(E, y)) → U(x, F1(E, y))
F(x, U(N(y), z)) → U(x, F1(y, z))
D(N(x), F(y, z)) → F(x, D(y, z))
D(x, B) → U(x, B)
D(O(x), F(y, z)) → F(x, D(y, z))
D(E, F(x, y)) → F(E, D(x, y))
top(U(x, y)) → top(check(D(x, y)))
F(x, U(E, y)) → U(x, F(E, y))
check(O(x)) → O(x)
check(D(x, y)) → D(check(x), y)
E → N(E)
check(F(x, y)) → F(x, check(y))
check(U(x, y)) → U(x, check(y))
check(O(x)) → O(check(x))
check(U(x, y)) → U(check(x), y)
check(F(x, y)) → F(check(x), y)
check(N(x)) → N(check(x))
check(D(x, y)) → D(x, check(y))
We use the first derelatifying processor [IJCAR24].
There are no annotations in relative ADPs, so the relative ADP problem can be transformed into a non-relative DP problem.
F1(x, U(O(y), z)) → F1(y, z)
F1(x, U(E, y)) → F1(E, y)
F1(x, U(N(y), z)) → F1(y, z)
check(O(x)) → O(x)
E → N(E)
F(x, U(N(y), z)) → U(x, F(y, z))
check(U(x, y)) → U(check(x), y)
D(x, B) → U(x, B)
D(E, F(x, y)) → F(E, D(x, y))
check(N(x)) → N(check(x))
top(U(x, y)) → top(check(D(x, y)))
check(D(x, y)) → D(check(x), y)
check(F(x, y)) → F(x, check(y))
check(U(x, y)) → U(x, check(y))
F(x, U(O(y), z)) → U(x, F(y, z))
check(O(x)) → O(check(x))
D(N(x), F(y, z)) → F(x, D(y, z))
D(O(x), F(y, z)) → F(x, D(y, z))
check(F(x, y)) → F(check(x), y)
F(x, U(E, y)) → U(x, F(E, y))
check(D(x, y)) → D(x, check(y))
F1(x, U(O(y), z)) → F1(y, z)
F(x, U(O(y), z)) → U(x, F(y, z))
D(O(x), F(y, z)) → F(x, D(y, z))
POL(B) = 0
POL(D(x1, x2)) = x1 + x2
POL(E) = 1
POL(F(x1, x2)) = 2 + x1 + x2
POL(F1(x1, x2)) = x1 + x2
POL(N(x1)) = x1
POL(O(x1)) = 1 + x1
POL(U(x1, x2)) = x1 + x2
POL(check(x1)) = x1
POL(top(x1)) = 2·x1
F1(x, U(E, y)) → F1(E, y)
F1(x, U(N(y), z)) → F1(y, z)
check(O(x)) → O(x)
E → N(E)
F(x, U(N(y), z)) → U(x, F(y, z))
check(U(x, y)) → U(check(x), y)
D(x, B) → U(x, B)
D(E, F(x, y)) → F(E, D(x, y))
check(N(x)) → N(check(x))
top(U(x, y)) → top(check(D(x, y)))
check(D(x, y)) → D(check(x), y)
check(F(x, y)) → F(x, check(y))
check(U(x, y)) → U(x, check(y))
check(O(x)) → O(check(x))
D(N(x), F(y, z)) → F(x, D(y, z))
check(F(x, y)) → F(check(x), y)
F(x, U(E, y)) → U(x, F(E, y))
check(D(x, y)) → D(x, check(y))
F1(x, U(E, y)) → F1(E, y)
F1(x, U(N(y), z)) → F1(y, z)
POL(B) = 1
POL(D(x1, x2)) = 1 + 2·x1 + x2
POL(E) = 2
POL(F(x1, x2)) = 2·x1 + x2
POL(F1(x1, x2)) = x1 + x2
POL(N(x1)) = x1
POL(O(x1)) = 2 + 2·x1
POL(U(x1, x2)) = 1 + 2·x1 + x2
POL(check(x1)) = x1
POL(top(x1)) = x1
check(O(x)) → O(x)
E → N(E)
F(x, U(N(y), z)) → U(x, F(y, z))
check(U(x, y)) → U(check(x), y)
D(x, B) → U(x, B)
D(E, F(x, y)) → F(E, D(x, y))
check(N(x)) → N(check(x))
top(U(x, y)) → top(check(D(x, y)))
check(D(x, y)) → D(check(x), y)
check(F(x, y)) → F(x, check(y))
check(U(x, y)) → U(x, check(y))
check(O(x)) → O(check(x))
D(N(x), F(y, z)) → F(x, D(y, z))
check(F(x, y)) → F(check(x), y)
F(x, U(E, y)) → U(x, F(E, y))
check(D(x, y)) → D(x, check(y))
D(O(x), F(y, z)) → F(x, D1(y, z))
D(E, F(x, y)) → F(E, D1(x, y))
D(N(x), F(y, z)) → F(x, D1(y, z))
F(x, U(N(y), z)) → U(x, F(y, z))
F(x, U(O(y), z)) → U(x, F(y, z))
D(N(x), F(y, z)) → F(x, D(y, z))
D(x, B) → U(x, B)
D(O(x), F(y, z)) → F(x, D(y, z))
D(E, F(x, y)) → F(E, D(x, y))
top(U(x, y)) → top(check(D(x, y)))
F(x, U(E, y)) → U(x, F(E, y))
check(O(x)) → O(x)
check(D(x, y)) → D(check(x), y)
E → N(E)
check(F(x, y)) → F(x, check(y))
check(U(x, y)) → U(x, check(y))
check(O(x)) → O(check(x))
check(U(x, y)) → U(check(x), y)
check(F(x, y)) → F(check(x), y)
check(N(x)) → N(check(x))
check(D(x, y)) → D(x, check(y))
We use the first derelatifying processor [IJCAR24].
There are no annotations in relative ADPs, so the relative ADP problem can be transformed into a non-relative DP problem.
D1(O(x), F(y, z)) → D1(y, z)
D1(E, F(x, y)) → D1(x, y)
D1(N(x), F(y, z)) → D1(y, z)
check(O(x)) → O(x)
E → N(E)
F(x, U(N(y), z)) → U(x, F(y, z))
check(U(x, y)) → U(check(x), y)
D(x, B) → U(x, B)
D(E, F(x, y)) → F(E, D(x, y))
check(N(x)) → N(check(x))
top(U(x, y)) → top(check(D(x, y)))
check(D(x, y)) → D(check(x), y)
check(F(x, y)) → F(x, check(y))
check(U(x, y)) → U(x, check(y))
F(x, U(O(y), z)) → U(x, F(y, z))
check(O(x)) → O(check(x))
D(N(x), F(y, z)) → F(x, D(y, z))
D(O(x), F(y, z)) → F(x, D(y, z))
check(F(x, y)) → F(check(x), y)
F(x, U(E, y)) → U(x, F(E, y))
check(D(x, y)) → D(x, check(y))
D1(O(x), F(y, z)) → D1(y, z)
D1(E, F(x, y)) → D1(x, y)
D1(N(x), F(y, z)) → D1(y, z)
F(x, U(O(y), z)) → U(x, F(y, z))
D(O(x), F(y, z)) → F(x, D(y, z))
POL(B) = 0
POL(D(x1, x2)) = 2 + x1 + x2
POL(D1(x1, x2)) = x1 + x2
POL(E) = 0
POL(F(x1, x2)) = 2 + x1 + x2
POL(N(x1)) = x1
POL(O(x1)) = 1 + 2·x1
POL(U(x1, x2)) = 2 + x1 + x2
POL(check(x1)) = x1
POL(top(x1)) = x1
check(O(x)) → O(x)
E → N(E)
F(x, U(N(y), z)) → U(x, F(y, z))
check(U(x, y)) → U(check(x), y)
D(x, B) → U(x, B)
D(E, F(x, y)) → F(E, D(x, y))
check(N(x)) → N(check(x))
top(U(x, y)) → top(check(D(x, y)))
check(D(x, y)) → D(check(x), y)
check(F(x, y)) → F(x, check(y))
check(U(x, y)) → U(x, check(y))
check(O(x)) → O(check(x))
D(N(x), F(y, z)) → F(x, D(y, z))
check(F(x, y)) → F(check(x), y)
F(x, U(E, y)) → U(x, F(E, y))
check(D(x, y)) → D(x, check(y))
top(U(x, y)) → TOP(check(D(x, y)))
F(x, U(N(y), z)) → U(x, F(y, z))
F(x, U(O(y), z)) → U(x, F(y, z))
D(N(x), F(y, z)) → F(x, D(y, z))
D(x, B) → U(x, B)
D(O(x), F(y, z)) → F(x, D(y, z))
D(E, F(x, y)) → F(E, D(x, y))
top(U(x, y)) → top(check(D(x, y)))
F(x, U(E, y)) → U(x, F(E, y))
check(O(x)) → O(x)
check(D(x, y)) → D(check(x), y)
E → N(E)
check(F(x, y)) → F(x, check(y))
check(U(x, y)) → U(x, check(y))
check(O(x)) → O(check(x))
check(U(x, y)) → U(check(x), y)
check(F(x, y)) → F(check(x), y)
check(N(x)) → N(check(x))
check(D(x, y)) → D(x, check(y))
We use the first derelatifying processor [IJCAR24].
There are no annotations in relative ADPs, so the relative ADP problem can be transformed into a non-relative DP problem.
TOP(U(x, y)) → TOP(check(D(x, y)))
check(O(x)) → O(x)
E → N(E)
F(x, U(N(y), z)) → U(x, F(y, z))
check(U(x, y)) → U(check(x), y)
D(x, B) → U(x, B)
D(E, F(x, y)) → F(E, D(x, y))
check(N(x)) → N(check(x))
top(U(x, y)) → top(check(D(x, y)))
check(D(x, y)) → D(check(x), y)
check(F(x, y)) → F(x, check(y))
check(U(x, y)) → U(x, check(y))
F(x, U(O(y), z)) → U(x, F(y, z))
check(O(x)) → O(check(x))
D(N(x), F(y, z)) → F(x, D(y, z))
D(O(x), F(y, z)) → F(x, D(y, z))
check(F(x, y)) → F(check(x), y)
F(x, U(E, y)) → U(x, F(E, y))
check(D(x, y)) → D(x, check(y))
F(x, U(O(y), z)) → U(x, F(y, z))
D(O(x), F(y, z)) → F(x, D(y, z))
POL(B) = 2
POL(D(x1, x2)) = x1 + 2·x2
POL(E) = 1
POL(F(x1, x2)) = x1 + 2·x2
POL(N(x1)) = x1
POL(O(x1)) = 1 + 2·x1
POL(TOP(x1)) = 2·x1
POL(U(x1, x2)) = x1 + 2·x2
POL(check(x1)) = x1
POL(top(x1)) = x1
TOP(U(x, y)) → TOP(check(D(x, y)))
check(O(x)) → O(x)
E → N(E)
F(x, U(N(y), z)) → U(x, F(y, z))
check(U(x, y)) → U(check(x), y)
D(x, B) → U(x, B)
D(E, F(x, y)) → F(E, D(x, y))
check(N(x)) → N(check(x))
top(U(x, y)) → top(check(D(x, y)))
check(D(x, y)) → D(check(x), y)
check(F(x, y)) → F(x, check(y))
check(U(x, y)) → U(x, check(y))
check(O(x)) → O(check(x))
D(N(x), F(y, z)) → F(x, D(y, z))
check(F(x, y)) → F(check(x), y)
F(x, U(E, y)) → U(x, F(E, y))
check(D(x, y)) → D(x, check(y))
TOP(U(x0, x1)) → TOP(D(check(x0), x1)) → TOP(U(x0, x1)) → TOP(D(check(x0), x1))
TOP(U(x0, x1)) → TOP(D(x0, check(x1))) → TOP(U(x0, x1)) → TOP(D(x0, check(x1)))
TOP(U(x0, B)) → TOP(check(U(x0, B))) → TOP(U(x0, B)) → TOP(check(U(x0, B)))
TOP(U(E, F(x0, x1))) → TOP(check(F(E, D(x0, x1)))) → TOP(U(E, F(x0, x1))) → TOP(check(F(E, D(x0, x1))))
TOP(U(N(x0), F(x1, x2))) → TOP(check(F(x0, D(x1, x2)))) → TOP(U(N(x0), F(x1, x2))) → TOP(check(F(x0, D(x1, x2))))
TOP(U(x0, x1)) → TOP(D(check(x0), x1))
TOP(U(x0, x1)) → TOP(D(x0, check(x1)))
TOP(U(x0, B)) → TOP(check(U(x0, B)))
TOP(U(E, F(x0, x1))) → TOP(check(F(E, D(x0, x1))))
TOP(U(N(x0), F(x1, x2))) → TOP(check(F(x0, D(x1, x2))))
check(O(x)) → O(x)
E → N(E)
F(x, U(N(y), z)) → U(x, F(y, z))
check(U(x, y)) → U(check(x), y)
D(x, B) → U(x, B)
D(E, F(x, y)) → F(E, D(x, y))
check(N(x)) → N(check(x))
top(U(x, y)) → top(check(D(x, y)))
check(D(x, y)) → D(check(x), y)
check(F(x, y)) → F(x, check(y))
check(U(x, y)) → U(x, check(y))
check(O(x)) → O(check(x))
D(N(x), F(y, z)) → F(x, D(y, z))
check(F(x, y)) → F(check(x), y)
F(x, U(E, y)) → U(x, F(E, y))
check(D(x, y)) → D(x, check(y))
D(O(x), F(y, z)) → F1(x, D(y, z))
F(x, U(N(y), z)) → U(x, F(y, z))
F(x, U(O(y), z)) → U(x, F(y, z))
D(N(x), F(y, z)) → F(x, D(y, z))
D(x, B) → U(x, B)
D(O(x), F(y, z)) → F(x, D(y, z))
D(E, F(x, y)) → F(E, D(x, y))
top(U(x, y)) → top(check(D(x, y)))
F(x, U(E, y)) → U(x, F(E, y))
check(O(x)) → O(x)
check(D(x, y)) → D1(CHECK(x), y)
check(F(x, y)) → F1(CHECK(x), y)
check(U(x, y)) → U(x, CHECK(y))
E → N(E)
check(O(x)) → O(CHECK(x))
check(U(x, y)) → U(CHECK(x), y)
check(N(x)) → N(CHECK(x))
check(D(x, y)) → D1(x, CHECK(y))
check(F(x, y)) → F1(x, CHECK(y))
We use the reduction pair processor [IJCAR24].
The following rules can be oriented strictly (l^# > ann(r))
and therefore we can remove all of its annotations in the right-hand side:
Absolute ADPs:
D(O(x), F(y, z)) → F1(x, D(y, z))
D(N(x), F(y, z)) → F(x, D(y, z))
D(O(x), F(y, z)) → F(x, D(y, z))
D(E, F(x, y)) → F(E, D(x, y))
check(D(x, y)) → D1(CHECK(x), y)
check(F(x, y)) → F1(CHECK(x), y)
check(O(x)) → O(x)
check(U(x, y)) → U(x, CHECK(y))
E → N(E)
check(O(x)) → O(CHECK(x))
check(U(x, y)) → U(CHECK(x), y)
check(D(x, y)) → D1(x, CHECK(y))
check(F(x, y)) → F1(x, CHECK(y))
F(x, U(N(y), z)) → U(x, F(y, z))
F(x, U(O(y), z)) → U(x, F(y, z))
D(x, B) → U(x, B)
top(U(x, y)) → top(check(D(x, y)))
F(x, U(E, y)) → U(x, F(E, y))
check(N(x)) → N(CHECK(x))
POL(B) = 0
POL(CHECK(x1)) = 2 + 2·x1
POL(D(x1, x2)) = 3 + 3·x1 + 3·x2
POL(D1(x1, x2)) = 2·x2
POL(E) = 2
POL(E1) = 3
POL(F(x1, x2)) = 3 + 3·x1 + 3·x2
POL(F1(x1, x2)) = 0
POL(N(x1)) = x1
POL(O(x1)) = 2 + x1
POL(TOP(x1)) = 0
POL(U(x1, x2)) = 3 + 2·x1 + x2
POL(check(x1)) = x1
POL(top(x1)) = 0
F(x, U(N(y), z)) → U(x, F(y, z))
F(x, U(O(y), z)) → U(x, F(y, z))
D(x, B) → U(x, B)
top(U(x, y)) → top(check(D(x, y)))
F(x, U(E, y)) → U(x, F(E, y))
check(O(x)) → O(x)
E → N(E)
check(N(x)) → N(CHECK(x))
check(U(x, y)) → U(check(x), y)
D(E, F(x, y)) → F(E, D(x, y))
check(D(x, y)) → D(check(x), y)
check(F(x, y)) → F(x, check(y))
check(U(x, y)) → U(x, check(y))
check(O(x)) → O(check(x))
D(N(x), F(y, z)) → F(x, D(y, z))
D(O(x), F(y, z)) → F(x, D(y, z))
check(F(x, y)) → F(check(x), y)
check(D(x, y)) → D(x, check(y))
We use the relative dependency graph processor [IJCAR24].
The approximation of the Relative Dependency Graph contains:
0 SCCs with nodes from P_abs,
0 Lassos,
Result: This relative DT problem is equivalent to 0 subproblems.
D(O(x), F(y, z)) → F(x, D1(y, z))
F(x, U(N(y), z)) → U(x, F(y, z))
F(x, U(O(y), z)) → U(x, F(y, z))
D(N(x), F(y, z)) → F(x, D(y, z))
D(x, B) → U(x, B)
D(O(x), F(y, z)) → F(x, D(y, z))
D(E, F(x, y)) → F(E, D(x, y))
top(U(x, y)) → top(check(D(x, y)))
F(x, U(E, y)) → U(x, F(E, y))
check(O(x)) → O(x)
check(D(x, y)) → D1(CHECK(x), y)
check(F(x, y)) → F1(CHECK(x), y)
check(U(x, y)) → U(x, CHECK(y))
E → N(E)
check(O(x)) → O(CHECK(x))
check(U(x, y)) → U(CHECK(x), y)
check(N(x)) → N(CHECK(x))
check(D(x, y)) → D1(x, CHECK(y))
check(F(x, y)) → F1(x, CHECK(y))
We use the reduction pair processor [IJCAR24].
The following rules can be oriented strictly (l^# > ann(r))
and therefore we can remove all of its annotations in the right-hand side:
Relative ADPs:
check(D(x, y)) → D1(CHECK(x), y)
check(F(x, y)) → F1(CHECK(x), y)
check(O(x)) → O(x)
E → N(E)
check(D(x, y)) → D1(x, CHECK(y))
check(F(x, y)) → F1(x, CHECK(y))
D(O(x), F(y, z)) → F(x, D1(y, z))
F(x, U(N(y), z)) → U(x, F(y, z))
F(x, U(O(y), z)) → U(x, F(y, z))
D(N(x), F(y, z)) → F(x, D(y, z))
D(x, B) → U(x, B)
D(O(x), F(y, z)) → F(x, D(y, z))
D(E, F(x, y)) → F(E, D(x, y))
top(U(x, y)) → top(check(D(x, y)))
F(x, U(E, y)) → U(x, F(E, y))
check(U(x, y)) → U(x, CHECK(y))
check(O(x)) → O(CHECK(x))
check(U(x, y)) → U(CHECK(x), y)
check(N(x)) → N(CHECK(x))
POL(B) = 1
POL(CHECK(x1)) = 2·x1
POL(D(x1, x2)) = 3 + 2·x1 + 2·x2
POL(D1(x1, x2)) = 0
POL(E) = 0
POL(E1) = 3
POL(F(x1, x2)) = 3 + 3·x1 + 2·x2
POL(F1(x1, x2)) = 2·x1
POL(N(x1)) = 2·x1
POL(O(x1)) = 2·x1
POL(TOP(x1)) = 0
POL(U(x1, x2)) = x1 + x2
POL(check(x1)) = x1
POL(top(x1)) = 0
D(O(x), F(y, z)) → F(x, D1(y, z))
F(x, U(N(y), z)) → U(x, F(y, z))
F(x, U(O(y), z)) → U(x, F(y, z))
D(N(x), F(y, z)) → F(x, D(y, z))
D(x, B) → U(x, B)
D(O(x), F(y, z)) → F(x, D(y, z))
D(E, F(x, y)) → F(E, D(x, y))
top(U(x, y)) → top(check(D(x, y)))
F(x, U(E, y)) → U(x, F(E, y))
check(O(x)) → O(x)
check(D(x, y)) → D(check(x), y)
check(U(x, y)) → U(x, CHECK(y))
E → N(E)
check(F(x, y)) → F(x, check(y))
check(O(x)) → O(CHECK(x))
check(U(x, y)) → U(CHECK(x), y)
check(N(x)) → N(CHECK(x))
check(F(x, y)) → F(check(x), y)
check(D(x, y)) → D(x, check(y))
We use the relative dependency graph processor [IJCAR24].
The approximation of the Relative Dependency Graph contains:
1 SCC with nodes from P_abs,
0 Lassos,
Result: This relative DT problem is equivalent to 1 subproblem.
D(O(x), F(y, z)) → F(x, D1(y, z))
F(x, U(N(y), z)) → U(x, F(y, z))
F(x, U(O(y), z)) → U(x, F(y, z))
D(N(x), F(y, z)) → F(x, D(y, z))
D(x, B) → U(x, B)
D(O(x), F(y, z)) → F(x, D(y, z))
D(E, F(x, y)) → F(E, D(x, y))
top(U(x, y)) → top(check(D(x, y)))
F(x, U(E, y)) → U(x, F(E, y))
check(O(x)) → O(x)
check(D(x, y)) → D(check(x), y)
E → N(E)
check(F(x, y)) → F(x, check(y))
check(U(x, y)) → U(x, check(y))
check(O(x)) → O(check(x))
check(U(x, y)) → U(check(x), y)
check(N(x)) → N(check(x))
check(F(x, y)) → F(check(x), y)
check(D(x, y)) → D(x, check(y))
Furthermore, We use an argument filter [LPAR04].
Filtering:O_1 =
N_1 =
E =
top_1 = 0
check_1 =
B =
D^1_2 = 0
U_2 = 0
F_2 = 0
D_2 = 0
Found this filtering by looking at the following order that orders at least one DP strictly:Combined order from the following AFS and order.
D1(x1, x2) = x2
O(x1) = O(x1)
F(x1, x2) = F(x2)
U(x1, x2) = x2
N(x1) = N(x1)
D(x1, x2) = D(x2)
B = B
E = E
top(x1) = top
check(x1) = x1
Recursive path order with status [RPO].
Quasi-Precedence:
O1 > [N1, D1] > E > F1
top > [N1, D1] > E > F1
O1: [1]
F1: multiset
N1: multiset
D1: [1]
B: multiset
E: multiset
top: multiset
D1(F(z)) → D1(z)
check0(O0(x)) → O0(x)
E0 → N0(E0)
F(U(z)) → U(F(z))
check0(U(y)) → U(y)
D(B0) → U(B0)
D(F(y)) → F(D(y))
check0(N0(x)) → N0(check0(x))
top → top
check0(D(y)) → D(y)
check0(F(y)) → F(check0(y))
check0(U(y)) → U(check0(y))
check0(O0(x)) → O0(check0(x))
check0(F(y)) → F(y)
check0(D(y)) → D(check0(y))
D1(F(z)) → D1(z)
check0(O0(x)) → O0(x)
F(U(z)) → U(F(z))
check0(U(y)) → U(y)
D(B0) → U(B0)
check0(D(y)) → D(y)
check0(F(y)) → F(check0(y))
check0(U(y)) → U(check0(y))
check0(O0(x)) → O0(check0(x))
check0(F(y)) → F(y)
check0(D(y)) → D(check0(y))
POL(B0) = 1
POL(D(x1)) = 1 + 2·x1
POL(D1(x1)) = x1
POL(E0) = 2
POL(F(x1)) = 1 + 2·x1
POL(N0(x1)) = x1
POL(O0(x1)) = 2 + x1
POL(U(x1)) = 1 + x1
POL(check0(x1)) = 2·x1
POL(top) = 0
E0 → N0(E0)
D(F(y)) → F(D(y))
check0(N0(x)) → N0(check0(x))
top → top
D(N(x), F(y, z)) → F1(x, D(y, z))
F(x, U(N(y), z)) → U(x, F(y, z))
F(x, U(O(y), z)) → U(x, F(y, z))
D(N(x), F(y, z)) → F(x, D(y, z))
D(x, B) → U(x, B)
D(O(x), F(y, z)) → F(x, D(y, z))
D(E, F(x, y)) → F(E, D(x, y))
top(U(x, y)) → top(check(D(x, y)))
F(x, U(E, y)) → U(x, F(E, y))
check(O(x)) → O(x)
check(D(x, y)) → D1(CHECK(x), y)
check(F(x, y)) → F1(CHECK(x), y)
check(U(x, y)) → U(x, CHECK(y))
E → N(E)
check(O(x)) → O(CHECK(x))
check(U(x, y)) → U(CHECK(x), y)
check(N(x)) → N(CHECK(x))
check(D(x, y)) → D1(x, CHECK(y))
check(F(x, y)) → F1(x, CHECK(y))
We use the reduction pair processor [IJCAR24].
The following rules can be oriented strictly (l^# > ann(r))
and therefore we can remove all of its annotations in the right-hand side:
Absolute ADPs:
D(N(x), F(y, z)) → F1(x, D(y, z))
D(N(x), F(y, z)) → F(x, D(y, z))
D(O(x), F(y, z)) → F(x, D(y, z))
D(E, F(x, y)) → F(E, D(x, y))
check(D(x, y)) → D1(CHECK(x), y)
check(F(x, y)) → F1(CHECK(x), y)
check(O(x)) → O(x)
check(U(x, y)) → U(x, CHECK(y))
E → N(E)
check(O(x)) → O(CHECK(x))
check(U(x, y)) → U(CHECK(x), y)
check(D(x, y)) → D1(x, CHECK(y))
check(F(x, y)) → F1(x, CHECK(y))
F(x, U(N(y), z)) → U(x, F(y, z))
F(x, U(O(y), z)) → U(x, F(y, z))
D(x, B) → U(x, B)
top(U(x, y)) → top(check(D(x, y)))
F(x, U(E, y)) → U(x, F(E, y))
check(N(x)) → N(CHECK(x))
POL(B) = 0
POL(CHECK(x1)) = 2 + 2·x1
POL(D(x1, x2)) = 3 + 3·x1 + 3·x2
POL(D1(x1, x2)) = 2·x2
POL(E) = 2
POL(E1) = 3
POL(F(x1, x2)) = 3 + 3·x1 + 3·x2
POL(F1(x1, x2)) = 0
POL(N(x1)) = x1
POL(O(x1)) = 1 + 3·x1
POL(TOP(x1)) = 0
POL(U(x1, x2)) = 2 + 3·x1 + 2·x2
POL(check(x1)) = x1
POL(top(x1)) = 0
F(x, U(N(y), z)) → U(x, F(y, z))
F(x, U(O(y), z)) → U(x, F(y, z))
D(x, B) → U(x, B)
top(U(x, y)) → top(check(D(x, y)))
F(x, U(E, y)) → U(x, F(E, y))
check(O(x)) → O(x)
E → N(E)
check(N(x)) → N(CHECK(x))
check(U(x, y)) → U(check(x), y)
D(E, F(x, y)) → F(E, D(x, y))
check(D(x, y)) → D(check(x), y)
check(F(x, y)) → F(x, check(y))
check(U(x, y)) → U(x, check(y))
check(O(x)) → O(check(x))
D(N(x), F(y, z)) → F(x, D(y, z))
D(O(x), F(y, z)) → F(x, D(y, z))
check(F(x, y)) → F(check(x), y)
check(D(x, y)) → D(x, check(y))
We use the relative dependency graph processor [IJCAR24].
The approximation of the Relative Dependency Graph contains:
0 SCCs with nodes from P_abs,
0 Lassos,
Result: This relative DT problem is equivalent to 0 subproblems.
F(x, U(E, y)) → U(x, F1(E, y))
F(x, U(N(y), z)) → U(x, F(y, z))
F(x, U(O(y), z)) → U(x, F(y, z))
D(N(x), F(y, z)) → F(x, D(y, z))
D(x, B) → U(x, B)
D(O(x), F(y, z)) → F(x, D(y, z))
D(E, F(x, y)) → F(E, D(x, y))
top(U(x, y)) → top(check(D(x, y)))
F(x, U(E, y)) → U(x, F(E, y))
check(O(x)) → O(x)
check(D(x, y)) → D1(CHECK(x), y)
check(F(x, y)) → F1(CHECK(x), y)
check(U(x, y)) → U(x, CHECK(y))
E → N(E)
check(O(x)) → O(CHECK(x))
check(U(x, y)) → U(CHECK(x), y)
check(N(x)) → N(CHECK(x))
check(D(x, y)) → D1(x, CHECK(y))
check(F(x, y)) → F1(x, CHECK(y))
We use the reduction pair processor [IJCAR24].
The following rules can be oriented strictly (l^# > ann(r))
and therefore we can remove all of its annotations in the right-hand side:
Absolute ADPs:
F(x, U(E, y)) → U(x, F1(E, y))
F(x, U(N(y), z)) → U(x, F(y, z))
F(x, U(O(y), z)) → U(x, F(y, z))
F(x, U(E, y)) → U(x, F(E, y))
check(D(x, y)) → D1(CHECK(x), y)
check(F(x, y)) → F1(CHECK(x), y)
check(O(x)) → O(x)
check(U(x, y)) → U(x, CHECK(y))
E → N(E)
check(U(x, y)) → U(CHECK(x), y)
check(D(x, y)) → D1(x, CHECK(y))
check(F(x, y)) → F1(x, CHECK(y))
D(N(x), F(y, z)) → F(x, D(y, z))
D(x, B) → U(x, B)
D(O(x), F(y, z)) → F(x, D(y, z))
D(E, F(x, y)) → F(E, D(x, y))
top(U(x, y)) → top(check(D(x, y)))
check(O(x)) → O(CHECK(x))
check(N(x)) → N(CHECK(x))
POL(B) = 0
POL(CHECK(x1)) = 2 + 3·x1
POL(D(x1, x2)) = 2 + 3·x1 + 3·x2
POL(D1(x1, x2)) = 0
POL(E) = 3
POL(E1) = 3
POL(F(x1, x2)) = 2 + 3·x1 + 3·x2
POL(F1(x1, x2)) = 3·x1 + 2·x2
POL(N(x1)) = x1
POL(O(x1)) = 3·x1
POL(TOP(x1)) = 0
POL(U(x1, x2)) = 2 + 3·x1 + 2·x2
POL(check(x1)) = 2·x1
POL(top(x1)) = 0
D(N(x), F(y, z)) → F(x, D(y, z))
D(x, B) → U(x, B)
D(O(x), F(y, z)) → F(x, D(y, z))
D(E, F(x, y)) → F(E, D(x, y))
top(U(x, y)) → top(check(D(x, y)))
check(O(x)) → O(x)
E → N(E)
check(O(x)) → O(CHECK(x))
F(x, U(N(y), z)) → U(x, F(y, z))
check(N(x)) → N(CHECK(x))
check(U(x, y)) → U(check(x), y)
check(D(x, y)) → D(check(x), y)
check(F(x, y)) → F(x, check(y))
check(U(x, y)) → U(x, check(y))
F(x, U(O(y), z)) → U(x, F(y, z))
check(F(x, y)) → F(check(x), y)
F(x, U(E, y)) → U(x, F(E, y))
check(D(x, y)) → D(x, check(y))
We use the relative dependency graph processor [IJCAR24].
The approximation of the Relative Dependency Graph contains:
0 SCCs with nodes from P_abs,
0 Lassos,
Result: This relative DT problem is equivalent to 0 subproblems.
F(x, U(N(y), z)) → U(x, F1(y, z))
F(x, U(O(y), z)) → U(x, F(y, z))
D(N(x), F(y, z)) → F(x, D(y, z))
D(x, B) → U(x, B)
D(O(x), F(y, z)) → F(x, D(y, z))
D(E, F(x, y)) → F(E, D(x, y))
top(U(x, y)) → top(check(D(x, y)))
F(x, U(E, y)) → U(x, F(E, y))
check(O(x)) → O(x)
check(D(x, y)) → D1(CHECK(x), y)
check(F(x, y)) → F1(CHECK(x), y)
check(U(x, y)) → U(x, CHECK(y))
E → N(E)
check(O(x)) → O(CHECK(x))
check(U(x, y)) → U(CHECK(x), y)
check(N(x)) → N(CHECK(x))
check(D(x, y)) → D1(x, CHECK(y))
check(F(x, y)) → F1(x, CHECK(y))
We use the reduction pair processor [IJCAR24].
The following rules can be oriented strictly (l^# > ann(r))
and therefore we can remove all of its annotations in the right-hand side:
Relative ADPs:
check(D(x, y)) → D1(CHECK(x), y)
check(F(x, y)) → F1(CHECK(x), y)
check(O(x)) → O(x)
E → N(E)
check(D(x, y)) → D1(x, CHECK(y))
check(F(x, y)) → F1(x, CHECK(y))
F(x, U(N(y), z)) → U(x, F1(y, z))
F(x, U(O(y), z)) → U(x, F(y, z))
D(N(x), F(y, z)) → F(x, D(y, z))
D(x, B) → U(x, B)
D(O(x), F(y, z)) → F(x, D(y, z))
D(E, F(x, y)) → F(E, D(x, y))
top(U(x, y)) → top(check(D(x, y)))
F(x, U(E, y)) → U(x, F(E, y))
check(U(x, y)) → U(x, CHECK(y))
check(O(x)) → O(CHECK(x))
check(U(x, y)) → U(CHECK(x), y)
check(N(x)) → N(CHECK(x))
POL(B) = 0
POL(CHECK(x1)) = 2 + 3·x1
POL(D(x1, x2)) = 2 + 2·x1 + 2·x2
POL(D1(x1, x2)) = x1
POL(E) = 0
POL(E1) = 3
POL(F(x1, x2)) = 2 + 2·x1 + 2·x2
POL(F1(x1, x2)) = x1 + x2
POL(N(x1)) = x1
POL(O(x1)) = 2·x1
POL(TOP(x1)) = 0
POL(U(x1, x2)) = x1 + x2
POL(check(x1)) = x1
POL(top(x1)) = 0
F(x, U(N(y), z)) → U(x, F1(y, z))
F(x, U(O(y), z)) → U(x, F(y, z))
D(N(x), F(y, z)) → F(x, D(y, z))
D(x, B) → U(x, B)
D(O(x), F(y, z)) → F(x, D(y, z))
D(E, F(x, y)) → F(E, D(x, y))
top(U(x, y)) → top(check(D(x, y)))
F(x, U(E, y)) → U(x, F(E, y))
check(O(x)) → O(x)
check(D(x, y)) → D(check(x), y)
check(U(x, y)) → U(x, CHECK(y))
E → N(E)
check(F(x, y)) → F(x, check(y))
check(O(x)) → O(CHECK(x))
check(U(x, y)) → U(CHECK(x), y)
check(N(x)) → N(CHECK(x))
check(F(x, y)) → F(check(x), y)
check(D(x, y)) → D(x, check(y))
We use the relative dependency graph processor [IJCAR24].
The approximation of the Relative Dependency Graph contains:
1 SCC with nodes from P_abs,
0 Lassos,
Result: This relative DT problem is equivalent to 1 subproblem.
F(x, U(N(y), z)) → U(x, F1(y, z))
F(x, U(O(y), z)) → U(x, F(y, z))
D(N(x), F(y, z)) → F(x, D(y, z))
D(x, B) → U(x, B)
D(O(x), F(y, z)) → F(x, D(y, z))
D(E, F(x, y)) → F(E, D(x, y))
top(U(x, y)) → top(check(D(x, y)))
F(x, U(E, y)) → U(x, F(E, y))
check(O(x)) → O(x)
check(D(x, y)) → D(check(x), y)
E → N(E)
check(F(x, y)) → F(x, check(y))
check(U(x, y)) → U(x, check(y))
check(O(x)) → O(check(x))
check(U(x, y)) → U(check(x), y)
check(N(x)) → N(check(x))
check(F(x, y)) → F(check(x), y)
check(D(x, y)) → D(x, check(y))
We use the first derelatifying processor [IJCAR24].
There are no annotations in relative ADPs, so the relative ADP problem can be transformed into a non-relative DP problem.
F1(x, U(N(y), z)) → F1(y, z)
check(O(x)) → O(x)
E → N(E)
F(x, U(N(y), z)) → U(x, F(y, z))
check(U(x, y)) → U(check(x), y)
D(x, B) → U(x, B)
D(E, F(x, y)) → F(E, D(x, y))
check(N(x)) → N(check(x))
top(U(x, y)) → top(check(D(x, y)))
check(D(x, y)) → D(check(x), y)
check(F(x, y)) → F(x, check(y))
check(U(x, y)) → U(x, check(y))
F(x, U(O(y), z)) → U(x, F(y, z))
check(O(x)) → O(check(x))
D(N(x), F(y, z)) → F(x, D(y, z))
D(O(x), F(y, z)) → F(x, D(y, z))
check(F(x, y)) → F(check(x), y)
F(x, U(E, y)) → U(x, F(E, y))
check(D(x, y)) → D(x, check(y))
F(x, U(O(y), z)) → U(x, F(y, z))
D(O(x), F(y, z)) → F(x, D(y, z))
POL(B) = 2
POL(D(x1, x2)) = 2·x1 + 2·x2
POL(E) = 2
POL(F(x1, x2)) = 2·x1 + 2·x2
POL(F1(x1, x2)) = x1 + x2
POL(N(x1)) = x1
POL(O(x1)) = 2 + 2·x1
POL(U(x1, x2)) = 2·x1 + 2·x2
POL(check(x1)) = x1
POL(top(x1)) = x1
F1(x, U(N(y), z)) → F1(y, z)
check(O(x)) → O(x)
E → N(E)
F(x, U(N(y), z)) → U(x, F(y, z))
check(U(x, y)) → U(check(x), y)
D(x, B) → U(x, B)
D(E, F(x, y)) → F(E, D(x, y))
check(N(x)) → N(check(x))
top(U(x, y)) → top(check(D(x, y)))
check(D(x, y)) → D(check(x), y)
check(F(x, y)) → F(x, check(y))
check(U(x, y)) → U(x, check(y))
check(O(x)) → O(check(x))
D(N(x), F(y, z)) → F(x, D(y, z))
check(F(x, y)) → F(check(x), y)
F(x, U(E, y)) → U(x, F(E, y))
check(D(x, y)) → D(x, check(y))
F1(x, U(N(y), z)) → F1(y, z)
POL(B) = 1
POL(D(x1, x2)) = 1 + 2·x1 + x2
POL(E) = 2
POL(F(x1, x2)) = 1 + 2·x1 + x2
POL(F1(x1, x2)) = x1 + 2·x2
POL(N(x1)) = x1
POL(O(x1)) = 1 + x1
POL(U(x1, x2)) = 1 + 2·x1 + x2
POL(check(x1)) = x1
POL(top(x1)) = x1
check(O(x)) → O(x)
E → N(E)
F(x, U(N(y), z)) → U(x, F(y, z))
check(U(x, y)) → U(check(x), y)
D(x, B) → U(x, B)
D(E, F(x, y)) → F(E, D(x, y))
check(N(x)) → N(check(x))
top(U(x, y)) → top(check(D(x, y)))
check(D(x, y)) → D(check(x), y)
check(F(x, y)) → F(x, check(y))
check(U(x, y)) → U(x, check(y))
check(O(x)) → O(check(x))
D(N(x), F(y, z)) → F(x, D(y, z))
check(F(x, y)) → F(check(x), y)
F(x, U(E, y)) → U(x, F(E, y))
check(D(x, y)) → D(x, check(y))
F(x, U(N(y), z)) → U(x, F(y, z))
F(x, U(O(y), z)) → U(x, F(y, z))
D(N(x), F(y, z)) → F(x, D(y, z))
D(x, B) → U(x, B)
D(O(x), F(y, z)) → F(x, D(y, z))
D(E, F(x, y)) → F(E, D(x, y))
top(U(x, y)) → top(check(D(x, y)))
F(x, U(E, y)) → U(x, F(E, y))
check(O(x)) → O(x)
check(D(x, y)) → D1(CHECK(x), y)
check(F(x, y)) → F1(CHECK(x), y)
check(U(x, y)) → U(x, CHECK(y))
E → N(E)
check(O(x)) → O(CHECK(x))
check(U(x, y)) → U(CHECK(x), y)
check(N(x)) → N(CHECK(x))
check(D(x, y)) → D1(x, CHECK(y))
check(F(x, y)) → F1(x, CHECK(y))
We use the reduction pair processor [IJCAR24].
The following rules can be oriented strictly (l^# > ann(r))
and therefore we can remove all of its annotations in the right-hand side:
Relative ADPs:
check(D(x, y)) → D1(CHECK(x), y)
check(F(x, y)) → F1(CHECK(x), y)
check(O(x)) → O(x)
E → N(E)
check(D(x, y)) → D1(x, CHECK(y))
check(F(x, y)) → F1(x, CHECK(y))
F(x, U(N(y), z)) → U(x, F(y, z))
F(x, U(O(y), z)) → U(x, F(y, z))
D(N(x), F(y, z)) → F(x, D(y, z))
D(x, B) → U(x, B)
D(O(x), F(y, z)) → F(x, D(y, z))
D(E, F(x, y)) → F(E, D(x, y))
top(U(x, y)) → top(check(D(x, y)))
F(x, U(E, y)) → U(x, F(E, y))
check(U(x, y)) → U(x, CHECK(y))
check(O(x)) → O(CHECK(x))
check(U(x, y)) → U(CHECK(x), y)
check(N(x)) → N(CHECK(x))
POL(B) = 0
POL(CHECK(x1)) = 3·x1
POL(D(x1, x2)) = 2 + 2·x1 + 2·x2
POL(D1(x1, x2)) = x1
POL(E) = 0
POL(E1) = 3
POL(F(x1, x2)) = 2 + 2·x1 + 2·x2
POL(F1(x1, x2)) = x1 + x2
POL(N(x1)) = 2·x1
POL(O(x1)) = 2·x1
POL(TOP(x1)) = 0
POL(U(x1, x2)) = x1 + x2
POL(check(x1)) = x1
POL(top(x1)) = 0
F(x, U(N(y), z)) → U(x, F(y, z))
F(x, U(O(y), z)) → U(x, F(y, z))
D(N(x), F(y, z)) → F(x, D(y, z))
D(x, B) → U(x, B)
D(O(x), F(y, z)) → F(x, D(y, z))
D(E, F(x, y)) → F(E, D(x, y))
top(U(x, y)) → top(check(D(x, y)))
F(x, U(E, y)) → U(x, F(E, y))
check(O(x)) → O(x)
check(D(x, y)) → D(check(x), y)
check(U(x, y)) → U(x, CHECK(y))
E → N(E)
check(F(x, y)) → F(x, check(y))
check(O(x)) → O(CHECK(x))
check(U(x, y)) → U(CHECK(x), y)
check(N(x)) → N(CHECK(x))
check(F(x, y)) → F(check(x), y)
check(D(x, y)) → D(x, check(y))
We use the relative dependency graph processor [IJCAR24].
The approximation of the Relative Dependency Graph contains:
0 SCCs with nodes from P_abs,
0 Lassos,
Result: This relative DT problem is equivalent to 0 subproblems.
D(E, F(x, y)) → F1(E, D(x, y))
F(x, U(N(y), z)) → U(x, F(y, z))
F(x, U(O(y), z)) → U(x, F(y, z))
D(N(x), F(y, z)) → F(x, D(y, z))
D(x, B) → U(x, B)
D(O(x), F(y, z)) → F(x, D(y, z))
D(E, F(x, y)) → F(E, D(x, y))
top(U(x, y)) → top(check(D(x, y)))
F(x, U(E, y)) → U(x, F(E, y))
check(O(x)) → O(x)
check(D(x, y)) → D1(CHECK(x), y)
check(F(x, y)) → F1(CHECK(x), y)
check(U(x, y)) → U(x, CHECK(y))
E → N(E)
check(O(x)) → O(CHECK(x))
check(U(x, y)) → U(CHECK(x), y)
check(N(x)) → N(CHECK(x))
check(D(x, y)) → D1(x, CHECK(y))
check(F(x, y)) → F1(x, CHECK(y))
We use the reduction pair processor [IJCAR24].
The following rules can be oriented strictly (l^# > ann(r))
and therefore we can remove all of its annotations in the right-hand side:
Absolute ADPs:
D(E, F(x, y)) → F1(E, D(x, y))
D(N(x), F(y, z)) → F(x, D(y, z))
D(O(x), F(y, z)) → F(x, D(y, z))
D(E, F(x, y)) → F(E, D(x, y))
F(x, U(E, y)) → U(x, F(E, y))
check(D(x, y)) → D1(CHECK(x), y)
check(F(x, y)) → F1(CHECK(x), y)
check(O(x)) → O(x)
E → N(E)
check(D(x, y)) → D1(x, CHECK(y))
check(F(x, y)) → F1(x, CHECK(y))
F(x, U(N(y), z)) → U(x, F(y, z))
F(x, U(O(y), z)) → U(x, F(y, z))
D(x, B) → U(x, B)
top(U(x, y)) → top(check(D(x, y)))
check(U(x, y)) → U(x, CHECK(y))
check(O(x)) → O(CHECK(x))
check(U(x, y)) → U(CHECK(x), y)
check(N(x)) → N(CHECK(x))
POL(B) = 0
POL(CHECK(x1)) = 2 + 2·x1
POL(D(x1, x2)) = 3 + 3·x1 + 3·x2
POL(D1(x1, x2)) = 3·x1 + 3·x2
POL(E) = 3
POL(E1) = 3
POL(F(x1, x2)) = 3 + 2·x1 + 2·x2
POL(F1(x1, x2)) = x1 + 2·x2
POL(N(x1)) = x1
POL(O(x1)) = 3·x1
POL(TOP(x1)) = 0
POL(U(x1, x2)) = x1 + x2
POL(check(x1)) = x1
POL(top(x1)) = 0
F(x, U(N(y), z)) → U(x, F(y, z))
F(x, U(O(y), z)) → U(x, F(y, z))
D(x, B) → U(x, B)
top(U(x, y)) → top(check(D(x, y)))
check(O(x)) → O(x)
E → N(E)
check(O(x)) → O(CHECK(x))
check(U(x, y)) → U(CHECK(x), y)
check(N(x)) → N(CHECK(x))
D(E, F(x, y)) → F(E, D(x, y))
check(D(x, y)) → D(check(x), y)
check(U(x, y)) → U(x, CHECK(y))
check(F(x, y)) → F(x, check(y))
D(N(x), F(y, z)) → F(x, D(y, z))
D(O(x), F(y, z)) → F(x, D(y, z))
check(F(x, y)) → F(check(x), y)
F(x, U(E, y)) → U(x, F(E, y))
check(D(x, y)) → D(x, check(y))
We use the relative dependency graph processor [IJCAR24].
The approximation of the Relative Dependency Graph contains:
0 SCCs with nodes from P_abs,
0 Lassos,
Result: This relative DT problem is equivalent to 0 subproblems.
F(x, U(E, y)) → U(x, F(E1, y))
F(x, U(N(y), z)) → U(x, F(y, z))
F(x, U(O(y), z)) → U(x, F(y, z))
D(N(x), F(y, z)) → F(x, D(y, z))
D(x, B) → U(x, B)
D(O(x), F(y, z)) → F(x, D(y, z))
D(E, F(x, y)) → F(E, D(x, y))
top(U(x, y)) → top(check(D(x, y)))
F(x, U(E, y)) → U(x, F(E, y))
check(O(x)) → O(x)
check(D(x, y)) → D1(CHECK(x), y)
check(F(x, y)) → F1(CHECK(x), y)
check(U(x, y)) → U(x, CHECK(y))
E → N(E)
check(O(x)) → O(CHECK(x))
check(U(x, y)) → U(CHECK(x), y)
check(N(x)) → N(CHECK(x))
check(D(x, y)) → D1(x, CHECK(y))
check(F(x, y)) → F1(x, CHECK(y))
We use the reduction pair processor [IJCAR24].
The following rules can be oriented strictly (l^# > ann(r))
and therefore we can remove all of its annotations in the right-hand side:
Absolute ADPs:
F(x, U(E, y)) → U(x, F(E1, y))
F(x, U(E, y)) → U(x, F(E, y))
check(D(x, y)) → D1(CHECK(x), y)
check(F(x, y)) → F1(CHECK(x), y)
check(O(x)) → O(x)
E → N(E)
check(D(x, y)) → D1(x, CHECK(y))
check(F(x, y)) → F1(x, CHECK(y))
F(x, U(N(y), z)) → U(x, F(y, z))
F(x, U(O(y), z)) → U(x, F(y, z))
D(N(x), F(y, z)) → F(x, D(y, z))
D(x, B) → U(x, B)
D(O(x), F(y, z)) → F(x, D(y, z))
D(E, F(x, y)) → F(E, D(x, y))
top(U(x, y)) → top(check(D(x, y)))
check(U(x, y)) → U(x, CHECK(y))
check(O(x)) → O(CHECK(x))
check(U(x, y)) → U(CHECK(x), y)
check(N(x)) → N(CHECK(x))
POL(B) = 0
POL(CHECK(x1)) = 2 + 3·x1
POL(D(x1, x2)) = 2 + x1 + 3·x2
POL(D1(x1, x2)) = 0
POL(E) = 2
POL(E1) = 1
POL(F(x1, x2)) = 2 + x1 + 2·x2
POL(F1(x1, x2)) = x2
POL(N(x1)) = x1
POL(O(x1)) = x1
POL(TOP(x1)) = 0
POL(U(x1, x2)) = x1 + x2
POL(check(x1)) = x1
POL(top(x1)) = 0
F(x, U(N(y), z)) → U(x, F(y, z))
F(x, U(O(y), z)) → U(x, F(y, z))
D(N(x), F(y, z)) → F(x, D(y, z))
D(x, B) → U(x, B)
D(O(x), F(y, z)) → F(x, D(y, z))
D(E, F(x, y)) → F(E, D(x, y))
top(U(x, y)) → top(check(D(x, y)))
check(O(x)) → O(x)
check(D(x, y)) → D(check(x), y)
check(U(x, y)) → U(x, CHECK(y))
E → N(E)
check(F(x, y)) → F(x, check(y))
check(O(x)) → O(CHECK(x))
check(U(x, y)) → U(CHECK(x), y)
check(N(x)) → N(CHECK(x))
check(F(x, y)) → F(check(x), y)
F(x, U(E, y)) → U(x, F(E, y))
check(D(x, y)) → D(x, check(y))
We use the relative dependency graph processor [IJCAR24].
The approximation of the Relative Dependency Graph contains:
0 SCCs with nodes from P_abs,
0 Lassos,
Result: This relative DT problem is equivalent to 0 subproblems.
D(E, F(x, y)) → F(E1, D(x, y))
F(x, U(N(y), z)) → U(x, F(y, z))
F(x, U(O(y), z)) → U(x, F(y, z))
D(N(x), F(y, z)) → F(x, D(y, z))
D(x, B) → U(x, B)
D(O(x), F(y, z)) → F(x, D(y, z))
D(E, F(x, y)) → F(E, D(x, y))
top(U(x, y)) → top(check(D(x, y)))
F(x, U(E, y)) → U(x, F(E, y))
check(O(x)) → O(x)
check(D(x, y)) → D1(CHECK(x), y)
check(F(x, y)) → F1(CHECK(x), y)
check(U(x, y)) → U(x, CHECK(y))
E → N(E)
check(O(x)) → O(CHECK(x))
check(U(x, y)) → U(CHECK(x), y)
check(N(x)) → N(CHECK(x))
check(D(x, y)) → D1(x, CHECK(y))
check(F(x, y)) → F1(x, CHECK(y))
We use the reduction pair processor [IJCAR24].
The following rules can be oriented strictly (l^# > ann(r))
and therefore we can remove all of its annotations in the right-hand side:
Absolute ADPs:
D(E, F(x, y)) → F(E1, D(x, y))
D(O(x), F(y, z)) → F(x, D(y, z))
D(E, F(x, y)) → F(E, D(x, y))
check(D(x, y)) → D1(CHECK(x), y)
check(F(x, y)) → F1(CHECK(x), y)
check(O(x)) → O(x)
check(U(x, y)) → U(x, CHECK(y))
E → N(E)
check(O(x)) → O(CHECK(x))
check(U(x, y)) → U(CHECK(x), y)
check(D(x, y)) → D1(x, CHECK(y))
check(F(x, y)) → F1(x, CHECK(y))
F(x, U(N(y), z)) → U(x, F(y, z))
F(x, U(O(y), z)) → U(x, F(y, z))
D(N(x), F(y, z)) → F(x, D(y, z))
D(x, B) → U(x, B)
top(U(x, y)) → top(check(D(x, y)))
F(x, U(E, y)) → U(x, F(E, y))
check(N(x)) → N(CHECK(x))
POL(B) = 0
POL(CHECK(x1)) = 2 + 2·x1
POL(D(x1, x2)) = 3 + 2·x1 + 2·x2
POL(D1(x1, x2)) = x1
POL(E) = 3
POL(E1) = 0
POL(F(x1, x2)) = 3 + 2·x1 + 2·x2
POL(F1(x1, x2)) = 2·x1
POL(N(x1)) = x1
POL(O(x1)) = 1 + x1
POL(TOP(x1)) = 0
POL(U(x1, x2)) = 3 + x1 + x2
POL(check(x1)) = x1
POL(top(x1)) = 0
F(x, U(N(y), z)) → U(x, F(y, z))
F(x, U(O(y), z)) → U(x, F(y, z))
D(N(x), F(y, z)) → F(x, D(y, z))
D(x, B) → U(x, B)
top(U(x, y)) → top(check(D(x, y)))
F(x, U(E, y)) → U(x, F(E, y))
check(O(x)) → O(x)
check(D(x, y)) → D(check(x), y)
E → N(E)
check(F(x, y)) → F(x, check(y))
check(U(x, y)) → U(x, check(y))
check(N(x)) → N(CHECK(x))
check(O(x)) → O(check(x))
check(U(x, y)) → U(check(x), y)
D(E, F(x, y)) → F(E, D(x, y))
D(O(x), F(y, z)) → F(x, D(y, z))
check(F(x, y)) → F(check(x), y)
check(D(x, y)) → D(x, check(y))
We use the relative dependency graph processor [IJCAR24].
The approximation of the Relative Dependency Graph contains:
0 SCCs with nodes from P_abs,
0 Lassos,
Result: This relative DT problem is equivalent to 0 subproblems.
F(x, U(O(y), z)) → U(x, F1(y, z))
F(x, U(N(y), z)) → U(x, F(y, z))
D(N(x), F(y, z)) → F(x, D(y, z))
D(x, B) → U(x, B)
D(O(x), F(y, z)) → F(x, D(y, z))
D(E, F(x, y)) → F(E, D(x, y))
top(U(x, y)) → top(check(D(x, y)))
F(x, U(E, y)) → U(x, F(E, y))
check(O(x)) → O(x)
check(D(x, y)) → D1(CHECK(x), y)
check(F(x, y)) → F1(CHECK(x), y)
check(U(x, y)) → U(x, CHECK(y))
E → N(E)
check(O(x)) → O(CHECK(x))
check(U(x, y)) → U(CHECK(x), y)
check(N(x)) → N(CHECK(x))
check(D(x, y)) → D1(x, CHECK(y))
check(F(x, y)) → F1(x, CHECK(y))
We use the reduction pair processor [IJCAR24].
The following rules can be oriented strictly (l^# > ann(r))
and therefore we can remove all of its annotations in the right-hand side:
Relative ADPs:
check(D(x, y)) → D1(CHECK(x), y)
check(F(x, y)) → F1(CHECK(x), y)
check(O(x)) → O(x)
E → N(E)
check(D(x, y)) → D1(x, CHECK(y))
check(F(x, y)) → F1(x, CHECK(y))
F(x, U(O(y), z)) → U(x, F1(y, z))
F(x, U(N(y), z)) → U(x, F(y, z))
D(N(x), F(y, z)) → F(x, D(y, z))
D(x, B) → U(x, B)
D(O(x), F(y, z)) → F(x, D(y, z))
D(E, F(x, y)) → F(E, D(x, y))
top(U(x, y)) → top(check(D(x, y)))
F(x, U(E, y)) → U(x, F(E, y))
check(U(x, y)) → U(x, CHECK(y))
check(O(x)) → O(CHECK(x))
check(U(x, y)) → U(CHECK(x), y)
check(N(x)) → N(CHECK(x))
POL(B) = 1
POL(CHECK(x1)) = 2 + 3·x1
POL(D(x1, x2)) = 2 + 2·x1 + 2·x2
POL(D1(x1, x2)) = x1
POL(E) = 0
POL(E1) = 3
POL(F(x1, x2)) = 2 + 2·x1 + 2·x2
POL(F1(x1, x2)) = x1 + x2
POL(N(x1)) = 2·x1
POL(O(x1)) = x1
POL(TOP(x1)) = 0
POL(U(x1, x2)) = x1 + x2
POL(check(x1)) = x1
POL(top(x1)) = 0
F(x, U(O(y), z)) → U(x, F1(y, z))
F(x, U(N(y), z)) → U(x, F(y, z))
D(N(x), F(y, z)) → F(x, D(y, z))
D(x, B) → U(x, B)
D(O(x), F(y, z)) → F(x, D(y, z))
D(E, F(x, y)) → F(E, D(x, y))
top(U(x, y)) → top(check(D(x, y)))
F(x, U(E, y)) → U(x, F(E, y))
check(O(x)) → O(x)
check(D(x, y)) → D(check(x), y)
check(U(x, y)) → U(x, CHECK(y))
E → N(E)
check(F(x, y)) → F(x, check(y))
check(O(x)) → O(CHECK(x))
check(U(x, y)) → U(CHECK(x), y)
check(N(x)) → N(CHECK(x))
check(F(x, y)) → F(check(x), y)
check(D(x, y)) → D(x, check(y))
We use the relative dependency graph processor [IJCAR24].
The approximation of the Relative Dependency Graph contains:
1 SCC with nodes from P_abs,
0 Lassos,
Result: This relative DT problem is equivalent to 1 subproblem.
F(x, U(O(y), z)) → U(x, F1(y, z))
F(x, U(N(y), z)) → U(x, F(y, z))
D(N(x), F(y, z)) → F(x, D(y, z))
D(x, B) → U(x, B)
D(O(x), F(y, z)) → F(x, D(y, z))
D(E, F(x, y)) → F(E, D(x, y))
top(U(x, y)) → top(check(D(x, y)))
F(x, U(E, y)) → U(x, F(E, y))
check(O(x)) → O(x)
check(D(x, y)) → D(check(x), y)
E → N(E)
check(F(x, y)) → F(x, check(y))
check(U(x, y)) → U(x, check(y))
check(O(x)) → O(check(x))
check(U(x, y)) → U(check(x), y)
check(N(x)) → N(check(x))
check(F(x, y)) → F(check(x), y)
check(D(x, y)) → D(x, check(y))
We use the first derelatifying processor [IJCAR24].
There are no annotations in relative ADPs, so the relative ADP problem can be transformed into a non-relative DP problem.
F1(x, U(O(y), z)) → F1(y, z)
check(O(x)) → O(x)
E → N(E)
F(x, U(N(y), z)) → U(x, F(y, z))
check(U(x, y)) → U(check(x), y)
D(x, B) → U(x, B)
D(E, F(x, y)) → F(E, D(x, y))
check(N(x)) → N(check(x))
top(U(x, y)) → top(check(D(x, y)))
check(D(x, y)) → D(check(x), y)
check(F(x, y)) → F(x, check(y))
check(U(x, y)) → U(x, check(y))
F(x, U(O(y), z)) → U(x, F(y, z))
check(O(x)) → O(check(x))
D(N(x), F(y, z)) → F(x, D(y, z))
D(O(x), F(y, z)) → F(x, D(y, z))
check(F(x, y)) → F(check(x), y)
F(x, U(E, y)) → U(x, F(E, y))
check(D(x, y)) → D(x, check(y))
F1(x, U(O(y), z)) → F1(y, z)
F(x, U(O(y), z)) → U(x, F(y, z))
D(O(x), F(y, z)) → F(x, D(y, z))
POL(B) = 2
POL(D(x1, x2)) = 2·x1 + 2·x2
POL(E) = 0
POL(F(x1, x2)) = 2·x1 + 2·x2
POL(F1(x1, x2)) = x1 + x2
POL(N(x1)) = x1
POL(O(x1)) = 2 + x1
POL(U(x1, x2)) = 2·x1 + 2·x2
POL(check(x1)) = x1
POL(top(x1)) = x1
check(O(x)) → O(x)
E → N(E)
F(x, U(N(y), z)) → U(x, F(y, z))
check(U(x, y)) → U(check(x), y)
D(x, B) → U(x, B)
D(E, F(x, y)) → F(E, D(x, y))
check(N(x)) → N(check(x))
top(U(x, y)) → top(check(D(x, y)))
check(D(x, y)) → D(check(x), y)
check(F(x, y)) → F(x, check(y))
check(U(x, y)) → U(x, check(y))
check(O(x)) → O(check(x))
D(N(x), F(y, z)) → F(x, D(y, z))
check(F(x, y)) → F(check(x), y)
F(x, U(E, y)) → U(x, F(E, y))
check(D(x, y)) → D(x, check(y))
D(E, F(x, y)) → F(E, D1(x, y))
F(x, U(N(y), z)) → U(x, F(y, z))
F(x, U(O(y), z)) → U(x, F(y, z))
D(N(x), F(y, z)) → F(x, D(y, z))
D(x, B) → U(x, B)
D(O(x), F(y, z)) → F(x, D(y, z))
D(E, F(x, y)) → F(E, D(x, y))
top(U(x, y)) → top(check(D(x, y)))
F(x, U(E, y)) → U(x, F(E, y))
check(O(x)) → O(x)
check(D(x, y)) → D1(CHECK(x), y)
check(F(x, y)) → F1(CHECK(x), y)
check(U(x, y)) → U(x, CHECK(y))
E → N(E)
check(O(x)) → O(CHECK(x))
check(U(x, y)) → U(CHECK(x), y)
check(N(x)) → N(CHECK(x))
check(D(x, y)) → D1(x, CHECK(y))
check(F(x, y)) → F1(x, CHECK(y))
We use the reduction pair processor [IJCAR24].
The following rules can be oriented strictly (l^# > ann(r))
and therefore we can remove all of its annotations in the right-hand side:
Relative ADPs:
check(D(x, y)) → D1(CHECK(x), y)
check(F(x, y)) → F1(CHECK(x), y)
check(O(x)) → O(x)
E → N(E)
check(D(x, y)) → D1(x, CHECK(y))
check(F(x, y)) → F1(x, CHECK(y))
D(E, F(x, y)) → F(E, D1(x, y))
F(x, U(N(y), z)) → U(x, F(y, z))
F(x, U(O(y), z)) → U(x, F(y, z))
D(N(x), F(y, z)) → F(x, D(y, z))
D(x, B) → U(x, B)
D(O(x), F(y, z)) → F(x, D(y, z))
D(E, F(x, y)) → F(E, D(x, y))
top(U(x, y)) → top(check(D(x, y)))
F(x, U(E, y)) → U(x, F(E, y))
check(U(x, y)) → U(x, CHECK(y))
check(O(x)) → O(CHECK(x))
check(U(x, y)) → U(CHECK(x), y)
check(N(x)) → N(CHECK(x))
POL(B) = 0
POL(CHECK(x1)) = 2 + 2·x1
POL(D(x1, x2)) = 3 + 2·x1 + 2·x2
POL(D1(x1, x2)) = 0
POL(E) = 0
POL(E1) = 3
POL(F(x1, x2)) = 3 + 3·x1 + 2·x2
POL(F1(x1, x2)) = x1
POL(N(x1)) = 2·x1
POL(O(x1)) = 2·x1
POL(TOP(x1)) = 0
POL(U(x1, x2)) = x1 + x2
POL(check(x1)) = 2·x1
POL(top(x1)) = 0
D(E, F(x, y)) → F(E, D1(x, y))
F(x, U(N(y), z)) → U(x, F(y, z))
F(x, U(O(y), z)) → U(x, F(y, z))
D(N(x), F(y, z)) → F(x, D(y, z))
D(x, B) → U(x, B)
D(O(x), F(y, z)) → F(x, D(y, z))
D(E, F(x, y)) → F(E, D(x, y))
top(U(x, y)) → top(check(D(x, y)))
F(x, U(E, y)) → U(x, F(E, y))
check(O(x)) → O(x)
check(D(x, y)) → D(check(x), y)
check(U(x, y)) → U(x, CHECK(y))
E → N(E)
check(F(x, y)) → F(x, check(y))
check(O(x)) → O(CHECK(x))
check(U(x, y)) → U(CHECK(x), y)
check(N(x)) → N(CHECK(x))
check(F(x, y)) → F(check(x), y)
check(D(x, y)) → D(x, check(y))
We use the relative dependency graph processor [IJCAR24].
The approximation of the Relative Dependency Graph contains:
1 SCC with nodes from P_abs,
0 Lassos,
Result: This relative DT problem is equivalent to 1 subproblem.
D(E, F(x, y)) → F(E, D1(x, y))
F(x, U(N(y), z)) → U(x, F(y, z))
F(x, U(O(y), z)) → U(x, F(y, z))
D(N(x), F(y, z)) → F(x, D(y, z))
D(x, B) → U(x, B)
D(O(x), F(y, z)) → F(x, D(y, z))
D(E, F(x, y)) → F(E, D(x, y))
top(U(x, y)) → top(check(D(x, y)))
F(x, U(E, y)) → U(x, F(E, y))
check(O(x)) → O(x)
check(D(x, y)) → D(check(x), y)
E → N(E)
check(F(x, y)) → F(x, check(y))
check(U(x, y)) → U(x, check(y))
check(O(x)) → O(check(x))
check(U(x, y)) → U(check(x), y)
check(N(x)) → N(check(x))
check(F(x, y)) → F(check(x), y)
check(D(x, y)) → D(x, check(y))
We use the first derelatifying processor [IJCAR24].
There are no annotations in relative ADPs, so the relative ADP problem can be transformed into a non-relative DP problem.
D1(E, F(x, y)) → D1(x, y)
check(O(x)) → O(x)
E → N(E)
F(x, U(N(y), z)) → U(x, F(y, z))
check(U(x, y)) → U(check(x), y)
D(x, B) → U(x, B)
D(E, F(x, y)) → F(E, D(x, y))
check(N(x)) → N(check(x))
top(U(x, y)) → top(check(D(x, y)))
check(D(x, y)) → D(check(x), y)
check(F(x, y)) → F(x, check(y))
check(U(x, y)) → U(x, check(y))
F(x, U(O(y), z)) → U(x, F(y, z))
check(O(x)) → O(check(x))
D(N(x), F(y, z)) → F(x, D(y, z))
D(O(x), F(y, z)) → F(x, D(y, z))
check(F(x, y)) → F(check(x), y)
F(x, U(E, y)) → U(x, F(E, y))
check(D(x, y)) → D(x, check(y))
D1(E, F(x, y)) → D1(x, y)
F(x, U(O(y), z)) → U(x, F(y, z))
D(O(x), F(y, z)) → F(x, D(y, z))
POL(B) = 1
POL(D(x1, x2)) = 1 + x1 + x2
POL(D1(x1, x2)) = x1 + x2
POL(E) = 1
POL(F(x1, x2)) = 2 + x1 + x2
POL(N(x1)) = x1
POL(O(x1)) = 2 + 2·x1
POL(U(x1, x2)) = 1 + x1 + x2
POL(check(x1)) = x1
POL(top(x1)) = x1
check(O(x)) → O(x)
E → N(E)
F(x, U(N(y), z)) → U(x, F(y, z))
check(U(x, y)) → U(check(x), y)
D(x, B) → U(x, B)
D(E, F(x, y)) → F(E, D(x, y))
check(N(x)) → N(check(x))
top(U(x, y)) → top(check(D(x, y)))
check(D(x, y)) → D(check(x), y)
check(F(x, y)) → F(x, check(y))
check(U(x, y)) → U(x, check(y))
check(O(x)) → O(check(x))
D(N(x), F(y, z)) → F(x, D(y, z))
check(F(x, y)) → F(check(x), y)
F(x, U(E, y)) → U(x, F(E, y))
check(D(x, y)) → D(x, check(y))
D(N(x), F(y, z)) → F(x, D1(y, z))
F(x, U(N(y), z)) → U(x, F(y, z))
F(x, U(O(y), z)) → U(x, F(y, z))
D(N(x), F(y, z)) → F(x, D(y, z))
D(x, B) → U(x, B)
D(O(x), F(y, z)) → F(x, D(y, z))
D(E, F(x, y)) → F(E, D(x, y))
top(U(x, y)) → top(check(D(x, y)))
F(x, U(E, y)) → U(x, F(E, y))
check(O(x)) → O(x)
check(D(x, y)) → D1(CHECK(x), y)
check(F(x, y)) → F1(CHECK(x), y)
check(U(x, y)) → U(x, CHECK(y))
E → N(E)
check(O(x)) → O(CHECK(x))
check(U(x, y)) → U(CHECK(x), y)
check(N(x)) → N(CHECK(x))
check(D(x, y)) → D1(x, CHECK(y))
check(F(x, y)) → F1(x, CHECK(y))
We use the reduction pair processor [IJCAR24].
The following rules can be oriented strictly (l^# > ann(r))
and therefore we can remove all of its annotations in the right-hand side:
Absolute ADPs:
top(U(x, y)) → top(check(D(x, y)))
check(O(x)) → O(x)
E → N(E)
D(N(x), F(y, z)) → F(x, D1(y, z))
F(x, U(N(y), z)) → U(x, F(y, z))
F(x, U(O(y), z)) → U(x, F(y, z))
D(N(x), F(y, z)) → F(x, D(y, z))
D(x, B) → U(x, B)
D(O(x), F(y, z)) → F(x, D(y, z))
D(E, F(x, y)) → F(E, D(x, y))
F(x, U(E, y)) → U(x, F(E, y))
check(D(x, y)) → D1(CHECK(x), y)
check(F(x, y)) → F1(CHECK(x), y)
check(U(x, y)) → U(x, CHECK(y))
check(O(x)) → O(CHECK(x))
check(U(x, y)) → U(CHECK(x), y)
check(N(x)) → N(CHECK(x))
check(D(x, y)) → D1(x, CHECK(y))
check(F(x, y)) → F1(x, CHECK(y))
POL(B) = 0
POL(CHECK(x1)) = 0
POL(D(x1, x2)) = 3
POL(D1(x1, x2)) = 0
POL(E) = 1
POL(E1) = 3
POL(F(x1, x2)) = x2
POL(F1(x1, x2)) = 0
POL(N(x1)) = 1
POL(O(x1)) = 2·x1
POL(TOP(x1)) = 1
POL(U(x1, x2)) = 3 + 3·x2
POL(check(x1)) = 2·x1
POL(top(x1)) = 0
D(N(x), F(y, z)) → F(x, D1(y, z))
F(x, U(N(y), z)) → U(x, F(y, z))
F(x, U(O(y), z)) → U(x, F(y, z))
D(N(x), F(y, z)) → F(x, D(y, z))
D(x, B) → U(x, B)
D(O(x), F(y, z)) → F(x, D(y, z))
D(E, F(x, y)) → F(E, D(x, y))
F(x, U(E, y)) → U(x, F(E, y))
check(O(x)) → O(x)
check(D(x, y)) → D1(CHECK(x), y)
check(F(x, y)) → F1(CHECK(x), y)
check(U(x, y)) → U(x, CHECK(y))
E → N(E)
check(O(x)) → O(CHECK(x))
check(U(x, y)) → U(CHECK(x), y)
check(N(x)) → N(CHECK(x))
check(D(x, y)) → D1(x, CHECK(y))
check(F(x, y)) → F1(x, CHECK(y))
top(U(x, y)) → top(check(D(x, y)))
We use the reduction pair processor [IJCAR24].
The following rules can be oriented strictly (l^# > ann(r))
and therefore we can remove all of its annotations in the right-hand side:
Relative ADPs:
check(D(x, y)) → D1(CHECK(x), y)
check(F(x, y)) → F1(CHECK(x), y)
check(O(x)) → O(x)
check(U(x, y)) → U(x, CHECK(y))
E → N(E)
check(U(x, y)) → U(CHECK(x), y)
check(D(x, y)) → D1(x, CHECK(y))
check(F(x, y)) → F1(x, CHECK(y))
top(U(x, y)) → top(check(D(x, y)))
D(N(x), F(y, z)) → F(x, D1(y, z))
F(x, U(N(y), z)) → U(x, F(y, z))
F(x, U(O(y), z)) → U(x, F(y, z))
D(N(x), F(y, z)) → F(x, D(y, z))
D(x, B) → U(x, B)
D(O(x), F(y, z)) → F(x, D(y, z))
D(E, F(x, y)) → F(E, D(x, y))
F(x, U(E, y)) → U(x, F(E, y))
check(O(x)) → O(CHECK(x))
check(N(x)) → N(CHECK(x))
POL(B) = 1
POL(CHECK(x1)) = 2 + 2·x1
POL(D(x1, x2)) = 3 + 2·x1 + 2·x2
POL(D1(x1, x2)) = 0
POL(E) = 0
POL(E1) = 3
POL(F(x1, x2)) = 3 + 3·x1 + 2·x2
POL(F1(x1, x2)) = x1
POL(N(x1)) = 2·x1
POL(O(x1)) = 2·x1
POL(TOP(x1)) = 3·x12
POL(U(x1, x2)) = 3 + x1 + x2
POL(check(x1)) = 2·x1
POL(top(x1)) = 0
D(N(x), F(y, z)) → F(x, D1(y, z))
F(x, U(N(y), z)) → U(x, F(y, z))
F(x, U(O(y), z)) → U(x, F(y, z))
D(N(x), F(y, z)) → F(x, D(y, z))
D(x, B) → U(x, B)
D(O(x), F(y, z)) → F(x, D(y, z))
D(E, F(x, y)) → F(E, D(x, y))
F(x, U(E, y)) → U(x, F(E, y))
check(O(x)) → O(x)
check(D(x, y)) → D(check(x), y)
E → N(E)
check(F(x, y)) → F(x, check(y))
check(O(x)) → O(CHECK(x))
check(U(x, y)) → U(x, check(y))
check(N(x)) → N(CHECK(x))
check(U(x, y)) → U(check(x), y)
check(F(x, y)) → F(check(x), y)
check(D(x, y)) → D(x, check(y))
top(U(x, y)) → top(check(D(x, y)))
We use the relative dependency graph processor [IJCAR24].
The approximation of the Relative Dependency Graph contains:
1 SCC with nodes from P_abs,
0 Lassos,
Result: This relative DT problem is equivalent to 1 subproblem.
D(N(x), F(y, z)) → F(x, D1(y, z))
F(x, U(N(y), z)) → U(x, F(y, z))
F(x, U(O(y), z)) → U(x, F(y, z))
D(N(x), F(y, z)) → F(x, D(y, z))
D(x, B) → U(x, B)
D(O(x), F(y, z)) → F(x, D(y, z))
D(E, F(x, y)) → F(E, D(x, y))
F(x, U(E, y)) → U(x, F(E, y))
check(O(x)) → O(x)
check(D(x, y)) → D(check(x), y)
E → N(E)
check(F(x, y)) → F(x, check(y))
check(U(x, y)) → U(x, check(y))
check(O(x)) → O(check(x))
check(U(x, y)) → U(check(x), y)
check(N(x)) → N(check(x))
check(F(x, y)) → F(check(x), y)
check(D(x, y)) → D(x, check(y))
top(U(x, y)) → top(check(D(x, y)))
Furthermore, We use an argument filter [LPAR04].
Filtering:O_1 =
N_1 =
E =
top_1 =
check_1 =
B =
D^1_2 = 0
U_2 = 0
F_2 = 0
D_2 = 0
Found this filtering by looking at the following order that orders at least one DP strictly:Combined order from the following AFS and order.
D1(x1, x2) = D1(x2)
N(x1) = N(x1)
F(x1, x2) = F(x2)
U(x1, x2) = x2
D(x1, x2) = x2
B = B
E = E
O(x1) = O(x1)
Recursive path order with status [RPO].
Quasi-Precedence:
E > [D^11, F1]
D^11: [1]
N1: multiset
F1: multiset
B: multiset
E: multiset
O1: multiset
D1(F(z)) → D1(z)
check0(O0(x)) → O0(x)
E0 → N0(E0)
F(U(z)) → U(F(z))
check0(U(y)) → U(y)
D(B0) → U(B0)
D(F(y)) → F(D(y))
check0(N0(x)) → N0(check0(x))
top0(U(y)) → top0(check0(D(y)))
check0(D(y)) → D(y)
check0(F(y)) → F(check0(y))
check0(U(y)) → U(check0(y))
check0(O0(x)) → O0(check0(x))
check0(F(y)) → F(y)
check0(D(y)) → D(check0(y))
check0(O0(x)) → O0(x)
check0(O0(x)) → O0(check0(x))
POL(B0) = 0
POL(D(x1)) = x1
POL(D1(x1)) = x1
POL(E0) = 1
POL(F(x1)) = x1
POL(N0(x1)) = x1
POL(O0(x1)) = 2 + x1
POL(U(x1)) = 2·x1
POL(check0(x1)) = 2·x1
POL(top0(x1)) = x1
D1(F(z)) → D1(z)
E0 → N0(E0)
F(U(z)) → U(F(z))
check0(U(y)) → U(y)
D(B0) → U(B0)
D(F(y)) → F(D(y))
check0(N0(x)) → N0(check0(x))
top0(U(y)) → top0(check0(D(y)))
check0(D(y)) → D(y)
check0(F(y)) → F(check0(y))
check0(U(y)) → U(check0(y))
check0(F(y)) → F(y)
check0(D(y)) → D(check0(y))
D1(F(z)) → D1(z)
POL(B0) = 2
POL(D(x1)) = 1 + 2·x1
POL(D1(x1)) = x1
POL(E0) = 0
POL(F(x1)) = 1 + 2·x1
POL(N0(x1)) = x1
POL(U(x1)) = 1 + 2·x1
POL(check0(x1)) = x1
POL(top0(x1)) = x1
E0 → N0(E0)
F(U(z)) → U(F(z))
check0(U(y)) → U(y)
D(B0) → U(B0)
D(F(y)) → F(D(y))
check0(N0(x)) → N0(check0(x))
top0(U(y)) → top0(check0(D(y)))
check0(D(y)) → D(y)
check0(F(y)) → F(check0(y))
check0(U(y)) → U(check0(y))
check0(F(y)) → F(y)
check0(D(y)) → D(check0(y))