/export/starexec/sandbox2/solver/bin/starexec_run_default /export/starexec/sandbox2/benchmark/theBenchmark.xml /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- NO ** BEGIN proof argument ** The following rule was generated while unfolding the analyzed TRS: [iteration = 6] length(n__cons(_0,n__from(_1))) -> length(n__cons(_1,n__from(s(_1)))) Let l be the left-hand side and r be the right-hand side of this rule. Let p = epsilon, theta1 = {_1->_2} and theta2 = {_2->s(_2), _0->_2}. We have r|p = length(n__cons(_1,n__from(s(_1)))) and theta2(theta1(l)) = theta1(r|p). Hence, the term theta1(l) = length(n__cons(_0,n__from(_2))) loops w.r.t. the analyzed TRS. ** END proof argument ** ** BEGIN proof description ** ## Searching for a generalized rewrite rule (a rule whose right-hand side contains a variable that does not occur in the left-hand side)... No generalized rewrite rule found! ## Applying the DP framework... ## 1 initial DP problem to solve. ## First, we try to decompose this problem into smaller problems. ## Round 1 [1 DP problem]: ## DP problem: Dependency pairs = [length^#(n__cons(_0,_1)) -> length1^#(activate(_1)), length1^#(_0) -> length^#(activate(_0))] TRS = {from(_0) -> cons(_0,n__from(s(_0))), length(n__nil) -> 0, length(n__cons(_0,_1)) -> s(length1(activate(_1))), length1(_0) -> length(activate(_0)), from(_0) -> n__from(_0), nil -> n__nil, cons(_0,_1) -> n__cons(_0,_1), activate(n__from(_0)) -> from(_0), activate(n__nil) -> nil, activate(n__cons(_0,_1)) -> cons(_0,_1), activate(_0) -> _0} ## Trying with homeomorphic embeddings... Failed! ## Trying with polynomial interpretations... This DP problem is too complex! Aborting! ## Trying with lexicographic path orders... Failed! ## Trying with Knuth-Bendix orders... Failed! Don't know whether this DP problem is finite. ## A DP problem could not be proved finite. ## Now, we try to prove that this problem is infinite. ## Trying to find a loop (forward=true, backward=false, max=-1) # max_depth=3, unfold_variables=false: # Iteration 0: no loop found, 2 unfolded rules generated. # Iteration 1: no loop found, 3 unfolded rules generated. # Iteration 2: no loop found, 10 unfolded rules generated. # Iteration 3: no loop found, 5 unfolded rules generated. # Iteration 4: no loop found, 12 unfolded rules generated. # Iteration 5: no loop found, 3 unfolded rules generated. # Iteration 6: no loop found, 0 unfolded rule generated. No loop found at all! # max_depth=3, unfold_variables=true: # Iteration 0: no loop found, 2 unfolded rules generated. # Iteration 1: no loop found, 3 unfolded rules generated. # Iteration 2: no loop found, 10 unfolded rules generated. # Iteration 3: no loop found, 5 unfolded rules generated. # Iteration 4: no loop found, 12 unfolded rules generated. # Iteration 5: no loop found, 3 unfolded rules generated. # Iteration 6: no loop found, 0 unfolded rule generated. No loop found at all! # max_depth=4, unfold_variables=false: # Iteration 0: no loop found, 2 unfolded rules generated. # Iteration 1: no loop found, 3 unfolded rules generated. # Iteration 2: no loop found, 10 unfolded rules generated. # Iteration 3: no loop found, 5 unfolded rules generated. # Iteration 4: no loop found, 12 unfolded rules generated. # Iteration 5: no loop found, 6 unfolded rules generated. # Iteration 6: success, found a loop, 1 unfolded rule generated. Here is the successful unfolding. Let IR be the TRS under analysis. L0 = length^#(n__cons(_0,_1)) -> length1^#(activate(_1)) [trans] is in U_IR^0. D = length1^#(_0) -> length^#(activate(_0)) is a dependency pair of IR. We build a composed triple from L0 and D. ==> L1 = length^#(n__cons(_0,_1)) -> length^#(activate(activate(_1))) [trans] is in U_IR^1. We build a unit triple from L1. ==> L2 = length^#(n__cons(_0,_1)) -> length^#(activate(activate(_1))) [unit] is in U_IR^2. Let p2 = [0]. We unfold the rule of L2 forwards at position p2 with the rule activate(_0) -> _0. ==> L3 = length^#(n__cons(_0,_1)) -> length^#(activate(_1)) [unit] is in U_IR^3. Let p3 = [0]. We unfold the rule of L3 forwards at position p3 with the rule activate(n__from(_0)) -> from(_0). ==> L4 = length^#(n__cons(_0,n__from(_1))) -> length^#(from(_1)) [unit] is in U_IR^4. Let p4 = [0]. We unfold the rule of L4 forwards at position p4 with the rule from(_0) -> cons(_0,n__from(s(_0))). ==> L5 = length^#(n__cons(_0,n__from(_1))) -> length^#(cons(_1,n__from(s(_1)))) [unit] is in U_IR^5. Let p5 = [0]. We unfold the rule of L5 forwards at position p5 with the rule cons(_0,_1) -> n__cons(_0,_1). ==> L6 = length^#(n__cons(_0,n__from(_1))) -> length^#(n__cons(_1,n__from(s(_1)))) [unit] is in U_IR^6. This DP problem is infinite. Proof run on Linux version 3.10.0-1160.25.1.el7.x86_64 for amd64 using Java version 1.8.0_292 ** END proof description ** Total number of generated unfolded rules = 332