YES
0 RelTRS
↳1 RelTRStoRelADPProof (⇔, 0 ms)
↳2 RelADPP
↳3 RelADPDepGraphProof (⇔, 0 ms)
↳4 AND
↳5 RelADPP
↳6 RelADPCleverAfsProof (⇒, 40 ms)
↳7 QDP
↳8 MRRProof (⇔, 0 ms)
↳9 QDP
↳10 QDPOrderProof (⇔, 7 ms)
↳11 QDP
↳12 PisEmptyProof (⇔, 0 ms)
↳13 YES
↳14 RelADPP
↳15 RelADPCleverAfsProof (⇒, 39 ms)
↳16 QDP
↳17 MRRProof (⇔, 0 ms)
↳18 QDP
↳19 QDPOrderProof (⇔, 10 ms)
↳20 QDP
↳21 PisEmptyProof (⇔, 0 ms)
↳22 YES
half(0) → 0
half(s(s(x))) → s(half(x))
log(s(0)) → 0
log(s(s(x))) → s(log(s(half(x))))
rand(x) → rand(s(x))
rand(x) → x
We upgrade the RelTRS problem to an equivalent Relative ADP Problem [IJCAR24].
half(0) → 0
half(s(s(x))) → s(HALF(x))
log(s(0)) → 0
log(s(s(x))) → s(LOG(s(half(x))))
log(s(s(x))) → s(log(s(HALF(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:
2 SCCs with nodes from P_abs,
0 Lassos,
Result: This relative DT problem is equivalent to 2 subproblems.
half(s(s(x))) → s(HALF(x))
log(s(0)) → 0
half(0) → 0
log(s(s(x))) → s(log(s(half(x))))
rand(x) → rand(s(x))
rand(x) → x
Furthermore, We use an argument filter [LPAR04].
Filtering:s_1 =
half_1 =
log_1 =
0 =
rand_1 =
HALF_1 =
Found this filtering by looking at the following order that orders at least one DP strictly:Combined order from the following AFS and order.
HALF(x1) = HALF(x1)
s(x1) = s(x1)
log(x1) = log(x1)
0 = 0
half(x1) = x1
Recursive path order with status [RPO].
Quasi-Precedence:
HALF1 > s1
[log1, 0] > s1
HALF1: [1]
s1: multiset
log1: multiset
0: multiset
HALF0(s0(s0(x))) → HALF0(x)
log0(s0(00)) → 00
half0(s0(s0(x))) → s0(half0(x))
half0(00) → 00
log0(s0(s0(x))) → s0(log0(s0(half0(x))))
rand0(x) → rand0(s0(x))
rand0(x) → x
log0(s0(00)) → 00
rand0(x) → x
POL(00) = 1
POL(HALF0(x1)) = x1
POL(half0(x1)) = x1
POL(log0(x1)) = 2 + x1
POL(rand0(x1)) = 2 + x1
POL(s0(x1)) = x1
HALF0(s0(s0(x))) → HALF0(x)
half0(s0(s0(x))) → s0(half0(x))
half0(00) → 00
log0(s0(s0(x))) → s0(log0(s0(half0(x))))
rand0(x) → rand0(s0(x))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
HALF0(s0(s0(x))) → HALF0(x)
rand0 > [s01, log01]
HALF01: [1]
s01: [1]
00: multiset
log01: [1]
rand0: multiset
half0(s0(s0(x))) → s0(half0(x))
half0(00) → 00
log0(s0(s0(x))) → s0(log0(s0(half0(x))))
rand0(x) → rand0(s0(x))
half0(s0(s0(x))) → s0(half0(x))
half0(00) → 00
log0(s0(s0(x))) → s0(log0(s0(half0(x))))
rand0(x) → rand0(s0(x))
log(s(0)) → 0
half(s(s(x))) → s(half(x))
half(0) → 0
log(s(s(x))) → s(log(s(half(x))))
log(s(s(x))) → s(LOG(s(half(x))))
rand(x) → rand(s(x))
rand(x) → x
Furthermore, We use an argument filter [LPAR04].
Filtering:s_1 =
half_1 =
log_1 =
0 =
rand_1 =
LOG_1 =
Found this filtering by looking at the following order that orders at least one DP strictly:Combined order from the following AFS and order.
LOG(x1) = LOG(x1)
s(x1) = s(x1)
half(x1) = x1
log(x1) = log(x1)
0 = 0
Recursive path order with status [RPO].
Quasi-Precedence:
0 > [LOG1, s1, log1]
LOG1: multiset
s1: multiset
log1: multiset
0: multiset
LOG0(s0(s0(x))) → LOG0(s0(half0(x)))
log0(s0(00)) → 00
half0(s0(s0(x))) → s0(half0(x))
half0(00) → 00
log0(s0(s0(x))) → s0(log0(s0(half0(x))))
rand0(x) → rand0(s0(x))
rand0(x) → x
log0(s0(00)) → 00
rand0(x) → x
POL(00) = 1
POL(LOG0(x1)) = x1
POL(half0(x1)) = x1
POL(log0(x1)) = 2 + x1
POL(rand0(x1)) = 2 + x1
POL(s0(x1)) = x1
LOG0(s0(s0(x))) → LOG0(s0(half0(x)))
half0(s0(s0(x))) → s0(half0(x))
half0(00) → 00
log0(s0(s0(x))) → s0(log0(s0(half0(x))))
rand0(x) → rand0(s0(x))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
LOG0(s0(s0(x))) → LOG0(s0(half0(x)))
LOG01 > [s01, log01]
rand0 > [s01, log01]
LOG01: [1]
s01: multiset
00: multiset
log01: multiset
rand0: multiset
half0(s0(s0(x))) → s0(half0(x))
half0(00) → 00
log0(s0(s0(x))) → s0(log0(s0(half0(x))))
rand0(x) → rand0(s0(x))
half0(s0(s0(x))) → s0(half0(x))
half0(00) → 00
log0(s0(s0(x))) → s0(log0(s0(half0(x))))
rand0(x) → rand0(s0(x))