/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 = 9] mark(h(a)) -> mark(h(a)) Let l be the left-hand side and r be the right-hand side of this rule. Let p = epsilon, theta1 = {} and theta2 = {}. We have r|p = mark(h(a)) and theta2(theta1(l)) = theta1(r|p). Hence, the term theta1(l) = mark(h(a)) 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... ## 4 initial DP problems to solve. ## First, we try to decompose these problems into smaller problems. ## Round 1 [4 DP problems]: ## DP problem: Dependency pairs = [active^#(h(_0)) -> mark^#(g(_0,_0)), mark^#(h(_0)) -> active^#(h(mark(_0))), active^#(g(a,_0)) -> mark^#(f(b,_0)), mark^#(g(_0,_1)) -> active^#(g(mark(_0),_1)), active^#(f(_0,_0)) -> mark^#(h(a)), mark^#(f(_0,_1)) -> active^#(f(mark(_0),_1)), mark^#(h(_0)) -> mark^#(_0), mark^#(g(_0,_1)) -> mark^#(_0), mark^#(f(_0,_1)) -> mark^#(_0)] TRS = {active(h(_0)) -> mark(g(_0,_0)), active(g(a,_0)) -> mark(f(b,_0)), active(f(_0,_0)) -> mark(h(a)), active(a) -> mark(b), mark(h(_0)) -> active(h(mark(_0))), mark(g(_0,_1)) -> active(g(mark(_0),_1)), mark(a) -> active(a), mark(f(_0,_1)) -> active(f(mark(_0),_1)), mark(b) -> active(b), h(mark(_0)) -> h(_0), h(active(_0)) -> h(_0), g(mark(_0),_1) -> g(_0,_1), g(_0,mark(_1)) -> g(_0,_1), g(active(_0),_1) -> g(_0,_1), g(_0,active(_1)) -> g(_0,_1), f(mark(_0),_1) -> f(_0,_1), f(_0,mark(_1)) -> f(_0,_1), f(active(_0),_1) -> f(_0,_1), f(_0,active(_1)) -> f(_0,_1)} ## 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. ## DP problem: Dependency pairs = [f^#(_0,mark(_1)) -> f^#(_0,_1), f^#(mark(_0),_1) -> f^#(_0,_1), f^#(active(_0),_1) -> f^#(_0,_1), f^#(_0,active(_1)) -> f^#(_0,_1)] TRS = {active(h(_0)) -> mark(g(_0,_0)), active(g(a,_0)) -> mark(f(b,_0)), active(f(_0,_0)) -> mark(h(a)), active(a) -> mark(b), mark(h(_0)) -> active(h(mark(_0))), mark(g(_0,_1)) -> active(g(mark(_0),_1)), mark(a) -> active(a), mark(f(_0,_1)) -> active(f(mark(_0),_1)), mark(b) -> active(b), h(mark(_0)) -> h(_0), h(active(_0)) -> h(_0), g(mark(_0),_1) -> g(_0,_1), g(_0,mark(_1)) -> g(_0,_1), g(active(_0),_1) -> g(_0,_1), g(_0,active(_1)) -> g(_0,_1), f(mark(_0),_1) -> f(_0,_1), f(_0,mark(_1)) -> f(_0,_1), f(active(_0),_1) -> f(_0,_1), f(_0,active(_1)) -> f(_0,_1)} ## Trying with homeomorphic embeddings... Success! This DP problem is finite. ## DP problem: Dependency pairs = [h^#(mark(_0)) -> h^#(_0), h^#(active(_0)) -> h^#(_0)] TRS = {active(h(_0)) -> mark(g(_0,_0)), active(g(a,_0)) -> mark(f(b,_0)), active(f(_0,_0)) -> mark(h(a)), active(a) -> mark(b), mark(h(_0)) -> active(h(mark(_0))), mark(g(_0,_1)) -> active(g(mark(_0),_1)), mark(a) -> active(a), mark(f(_0,_1)) -> active(f(mark(_0),_1)), mark(b) -> active(b), h(mark(_0)) -> h(_0), h(active(_0)) -> h(_0), g(mark(_0),_1) -> g(_0,_1), g(_0,mark(_1)) -> g(_0,_1), g(active(_0),_1) -> g(_0,_1), g(_0,active(_1)) -> g(_0,_1), f(mark(_0),_1) -> f(_0,_1), f(_0,mark(_1)) -> f(_0,_1), f(active(_0),_1) -> f(_0,_1), f(_0,active(_1)) -> f(_0,_1)} ## Trying with homeomorphic embeddings... Success! This DP problem is finite. ## DP problem: Dependency pairs = [g^#(mark(_0),_1) -> g^#(_0,_1), g^#(_0,mark(_1)) -> g^#(_0,_1), g^#(active(_0),_1) -> g^#(_0,_1), g^#(_0,active(_1)) -> g^#(_0,_1)] TRS = {active(h(_0)) -> mark(g(_0,_0)), active(g(a,_0)) -> mark(f(b,_0)), active(f(_0,_0)) -> mark(h(a)), active(a) -> mark(b), mark(h(_0)) -> active(h(mark(_0))), mark(g(_0,_1)) -> active(g(mark(_0),_1)), mark(a) -> active(a), mark(f(_0,_1)) -> active(f(mark(_0),_1)), mark(b) -> active(b), h(mark(_0)) -> h(_0), h(active(_0)) -> h(_0), g(mark(_0),_1) -> g(_0,_1), g(_0,mark(_1)) -> g(_0,_1), g(active(_0),_1) -> g(_0,_1), g(_0,active(_1)) -> g(_0,_1), f(mark(_0),_1) -> f(_0,_1), f(_0,mark(_1)) -> f(_0,_1), f(active(_0),_1) -> f(_0,_1), f(_0,active(_1)) -> f(_0,_1)} ## Trying with homeomorphic embeddings... Success! 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, 9 unfolded rules generated. # Iteration 1: no loop found, 65 unfolded rules generated. # Iteration 2: no loop found, 135 unfolded rules generated. # Iteration 3: no loop found, 273 unfolded rules generated. # Iteration 4: no loop found, 765 unfolded rules generated. # Iteration 5: no loop found, 1672 unfolded rules generated. # Iteration 6: no loop found, 2790 unfolded rules generated. # Iteration 7: no loop found, 4841 unfolded rules generated. # Iteration 8: no loop found, 8205 unfolded rules generated. # Iteration 9: success, found a loop, 341 unfolded rules generated. Here is the successful unfolding. Let IR be the TRS under analysis. L0 = mark^#(h(_0)) -> active^#(h(mark(_0))) [trans] is in U_IR^0. D = active^#(h(_0)) -> mark^#(g(_0,_0)) is a dependency pair of IR. We build a composed triple from L0 and D. ==> L1 = [mark^#(h(_0)) -> active^#(h(mark(_0))), active^#(h(_1)) -> mark^#(g(_1,_1))] [comp] is in U_IR^1. Let p1 = [0, 0]. We unfold the first rule of L1 forwards at position p1 with the rule mark(a) -> active(a). ==> L2 = mark^#(h(a)) -> mark^#(g(active(a),active(a))) [trans] is in U_IR^2. D = mark^#(g(_0,_1)) -> active^#(g(mark(_0),_1)) is a dependency pair of IR. We build a composed triple from L2 and D. ==> L3 = [mark^#(h(a)) -> mark^#(g(active(a),active(a))), mark^#(g(_0,_1)) -> active^#(g(mark(_0),_1))] [comp] is in U_IR^3. Let p3 = [0]. We unfold the first rule of L3 forwards at position p3 with the rule g(active(_0),_1) -> g(_0,_1). ==> L4 = mark^#(h(a)) -> active^#(g(mark(a),active(a))) [trans] is in U_IR^4. D = active^#(g(a,_0)) -> mark^#(f(b,_0)) is a dependency pair of IR. We build a composed triple from L4 and D. ==> L5 = [mark^#(h(a)) -> active^#(g(mark(a),active(a))), active^#(g(a,_0)) -> mark^#(f(b,_0))] [comp] is in U_IR^5. Let p5 = [0]. We unfold the first rule of L5 forwards at position p5 with the rule g(mark(_0),_1) -> g(_0,_1). ==> L6 = [mark^#(h(a)) -> active^#(g(a,active(a))), active^#(g(a,_0)) -> mark^#(f(b,_0))] [comp] is in U_IR^6. Let p6 = [0, 1]. We unfold the first rule of L6 forwards at position p6 with the rule active(a) -> mark(b). ==> L7 = mark^#(h(a)) -> mark^#(f(b,mark(b))) [trans] is in U_IR^7. D = mark^#(f(_0,_1)) -> active^#(f(mark(_0),_1)) is a dependency pair of IR. We build a composed triple from L7 and D. ==> L8 = mark^#(h(a)) -> active^#(f(mark(b),mark(b))) [trans] is in U_IR^8. D = active^#(f(_0,_0)) -> mark^#(h(a)) is a dependency pair of IR. We build a composed triple from L8 and D. ==> L9 = mark^#(h(a)) -> mark^#(h(a)) [trans] is in U_IR^9. 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 = 58168