YES
0 RelTRS
↳1 RelTRStoRelADPProof (⇔, 0 ms)
↳2 RelADPP
↳3 RelADPDepGraphProof (⇔, 0 ms)
↳4 AND
↳5 RelADPP
↳6 RelADPDerelatifyingProof (⇔, 0 ms)
↳7 QDP
↳8 MRRProof (⇔, 0 ms)
↳9 QDP
↳10 MRRProof (⇔, 0 ms)
↳11 QDP
↳12 QDPOrderProof (⇔, 4 ms)
↳13 QDP
↳14 PisEmptyProof (⇔, 0 ms)
↳15 YES
↳16 RelADPP
↳17 RelADPCleverAfsProof (⇒, 42 ms)
↳18 QDP
↳19 MRRProof (⇔, 12 ms)
↳20 QDP
↳21 MRRProof (⇔, 0 ms)
↳22 QDP
↳23 QDPOrderProof (⇔, 0 ms)
↳24 QDP
↳25 PisEmptyProof (⇔, 0 ms)
↳26 YES
↳27 RelADPP
↳28 RelADPCleverAfsProof (⇒, 54 ms)
↳29 QDP
↳30 MRRProof (⇔, 8 ms)
↳31 QDP
↳32 PisEmptyProof (⇔, 0 ms)
↳33 YES
g(c(x, s(y))) → g(c(s(x), y))
f(c(s(x), y)) → f(c(x, s(y)))
f(f(x)) → f(d(f(x)))
f(x) → x
rand(x) → rand(s(x))
rand(x) → x
We upgrade the RelTRS problem to an equivalent Relative ADP Problem [IJCAR24].
g(c(x, s(y))) → G(c(s(x), y))
f(c(s(x), y)) → F(c(x, s(y)))
f(f(x)) → F(d(f(x)))
f(f(x)) → f(d(F(x)))
f(x) → x
rand(x) → RAND(s(x))
rand(x) → x
We use the relative dependency graph processor [IJCAR24].
The approximation of the Relative Dependency Graph contains:
3 SCCs with nodes from P_abs,
0 Lassos,
Result: This relative DT problem is equivalent to 3 subproblems.
f(x) → x
g(c(x, s(y))) → G(c(s(x), y))
f(f(x)) → f(d(f(x)))
f(c(s(x), y)) → f(c(x, s(y)))
rand(x) → rand(s(x))
rand(x) → x
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.
G(c(x, s(y))) → G(c(s(x), y))
g(c(x, s(y))) → g(c(s(x), y))
f(x) → x
f(f(x)) → f(d(f(x)))
rand(x) → rand(s(x))
f(c(s(x), y)) → f(c(x, s(y)))
rand(x) → x
rand(x) → x
POL(G(x1)) = x1
POL(c(x1, x2)) = 2·x1 + x2
POL(d(x1)) = x1
POL(f(x1)) = 2·x1
POL(g(x1)) = x1
POL(rand(x1)) = 2 + x1
POL(s(x1)) = x1
G(c(x, s(y))) → G(c(s(x), y))
g(c(x, s(y))) → g(c(s(x), y))
f(x) → x
f(f(x)) → f(d(f(x)))
rand(x) → rand(s(x))
f(c(s(x), y)) → f(c(x, s(y)))
f(x) → x
POL(G(x1)) = x1
POL(c(x1, x2)) = 2·x1 + x2
POL(d(x1)) = x1
POL(f(x1)) = 1 + x1
POL(g(x1)) = x1
POL(rand(x1)) = x1
POL(s(x1)) = x1
G(c(x, s(y))) → G(c(s(x), y))
g(c(x, s(y))) → g(c(s(x), y))
f(f(x)) → f(d(f(x)))
rand(x) → rand(s(x))
f(c(s(x), y)) → f(c(x, s(y)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
G(c(x, s(y))) → G(c(s(x), y))
g1 > [G1, c1, f] > s1
rand > s1
G1: [1]
c1: multiset
s1: multiset
g1: [1]
f: multiset
d: multiset
rand: multiset
g(c(x, s(y))) → g(c(s(x), y))
f(f(x)) → f(d(f(x)))
rand(x) → rand(s(x))
f(c(s(x), y)) → f(c(x, s(y)))
g(c(x, s(y))) → g(c(s(x), y))
f(f(x)) → f(d(f(x)))
rand(x) → rand(s(x))
f(c(s(x), y)) → f(c(x, s(y)))
g(c(x, s(y))) → g(c(s(x), y))
f(c(s(x), y)) → F(c(x, s(y)))
f(x) → x
f(f(x)) → f(d(f(x)))
rand(x) → rand(s(x))
rand(x) → x
Furthermore, We use an argument filter [LPAR04].
Filtering:s_1 =
c_2 = 1
d_1 = 0
f_1 =
F_1 =
rand_1 =
g_1 = 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.
F(x1) = x1
c(x1, x2) = c(x1)
s(x1) = s(x1)
g(x1) = g
f(x1) = f(x1)
d(x1) = d
Recursive path order with status [RPO].
Quasi-Precedence:
f1 > [c1, s1, g, d]
c1: multiset
s1: multiset
g: multiset
f1: multiset
d: multiset
F0(c(s0(x))) → F0(c(x))
g → g
f0(x) → x
f0(f0(x)) → f0(d)
rand0(x) → rand0(s0(x))
f0(c(s0(x))) → f0(c(x))
rand0(x) → x
rand0(x) → x
POL(F0(x1)) = x1
POL(c(x1)) = x1
POL(d) = 0
POL(f0(x1)) = x1
POL(g) = 0
POL(rand0(x1)) = 2 + x1
POL(s0(x1)) = x1
F0(c(s0(x))) → F0(c(x))
g → g
f0(x) → x
f0(f0(x)) → f0(d)
rand0(x) → rand0(s0(x))
f0(c(s0(x))) → f0(c(x))
f0(x) → x
f0(f0(x)) → f0(d)
POL(F0(x1)) = x1
POL(c(x1)) = x1
POL(d) = 0
POL(f0(x1)) = 1 + x1
POL(g) = 0
POL(rand0(x1)) = x1
POL(s0(x1)) = x1
F0(c(s0(x))) → F0(c(x))
g → g
rand0(x) → rand0(s0(x))
f0(c(s0(x))) → f0(c(x))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
F0(c(s0(x))) → F0(c(x))
trivial
s0_1=1
f0=1
rand0=2
g=2
g → g
rand0(x) → rand0(s0(x))
f0(c(s0(x))) → f0(c(x))
g → g
rand0(x) → rand0(s0(x))
f0(c(s0(x))) → f0(c(x))
g(c(x, s(y))) → g(c(s(x), y))
f(x) → x
f(f(x)) → f(d(f(x)))
f(f(x)) → f(d(F(x)))
f(c(s(x), y)) → f(c(x, s(y)))
rand(x) → rand(s(x))
rand(x) → x
Furthermore, We use an argument filter [LPAR04].
Filtering:s_1 = 0
c_2 = 0
d_1 = 0
f_1 =
F_1 =
rand_1 =
g_1 = 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.
F(x1) = F(x1)
f(x1) = f(x1)
g(x1) = g
c(x1, x2) = x2
s(x1) = s
d(x1) = d
Recursive path order with status [RPO].
Quasi-Precedence:
f1 > F1 > s
f1 > d > s
g > s
F1: multiset
f1: [1]
g: multiset
s: multiset
d: multiset
F0(f0(x)) → F0(x)
g → g
f0(x) → x
f0(f0(x)) → f0(d)
rand0(x) → rand0(s)
f0(c(y)) → f0(c(s))
rand0(x) → x
F0(f0(x)) → F0(x)
f0(x) → x
f0(f0(x)) → f0(d)
rand0(x) → x
F01 > c1 > f01 > d > g > s > rand01
g=1
d=2
s=1
f0_1=1
rand0_1=1
c_1=1
F0_1=1
g → g
rand0(x) → rand0(s)
f0(c(y)) → f0(c(s))