NO Prover = TRS(tech=GUIDED_UNF_TRIPLES, nb_unfoldings=unlimited, unfold_variables=false, max_nb_coefficients=12, max_nb_unfolded_rules=-1, strategy=LEFTMOST_NE) ** BEGIN proof argument ** The following rule was generated while unfolding the analyzed TRS: [iteration = 7] if(ge(id_inc(0),s(0)),true,_0,id_inc(0),_1) -> if(ge(id_inc(0),s(0)),true,minus(_0,id_inc(0)),id_inc(0),id_inc(_1)) Let l be the left-hand side and r be the right-hand side of this rule. Let p = epsilon, theta1 = {} and theta2 = {_1->id_inc(_1), _0->minus(_0,id_inc(0))}. We have r|p = if(ge(id_inc(0),s(0)),true,minus(_0,id_inc(0)),id_inc(0),id_inc(_1)) and theta2(theta1(l)) = theta1(r|p). Hence, the term theta1(l) = if(ge(id_inc(0),s(0)),true,_0,id_inc(0),_1) 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... ## Round 1: ## DP problem: Dependency pairs = [div^#(_0,_1,_2) -> if^#(ge(_1,s(0)),ge(_0,_1),_0,_1,_2), if^#(true,true,_0,_1,_2) -> div^#(minus(_0,_1),_1,id_inc(_2))] TRS = {ge(_0,0) -> true, ge(0,s(_0)) -> false, ge(s(_0),s(_1)) -> ge(_0,_1), minus(_0,0) -> _0, minus(0,_0) -> 0, minus(s(_0),s(_1)) -> minus(_0,_1), id_inc(_0) -> _0, id_inc(_0) -> s(_0), quot(_0,_1) -> div(_0,_1,0), div(_0,_1,_2) -> if(ge(_1,s(0)),ge(_0,_1),_0,_1,_2), if(false,_0,_1,_2,_3) -> div_by_zero, if(true,false,_0,_1,_2) -> _2, if(true,true,_0,_1,_2) -> div(minus(_0,_1),_1,id_inc(_2))} ## Trying with homeomorphic embeddings... Failed! ## Trying with polynomial interpretations... Too many coefficients (61)! Aborting! ## Trying with lexicographic path orders... Failed! ## Trying to prove nontermination by unfolding the dependency pairs with the rules of the TRS # max_depth=20, unfold_variables=false: # Iteration 0: nontermination not detected, 2 unfolded rules generated. # Iteration 1: nontermination not detected, 3 unfolded rules generated. # Iteration 2: nontermination not detected, 10 unfolded rules generated. # Iteration 3: nontermination not detected, 2 unfolded rules generated. # Iteration 4: nontermination not detected, 8 unfolded rules generated. # Iteration 5: nontermination not detected, 34 unfolded rules generated. # Iteration 6: nontermination not detected, 201 unfolded rules generated. # Iteration 7: nontermination detected, 1150 unfolded rules generated. Here is the successful unfolding. Let IR be the TRS under analysis. L0 = if^#(true,true,_0,_1,_2) -> div^#(minus(_0,_1),_1,id_inc(_2)) [trans] is in U_IR^0. D = div^#(_0,_1,_2) -> if^#(ge(_1,s(0)),ge(_0,_1),_0,_1,_2) is a dependency pair of IR. We build a composed triple from L0 and D. ==> L1 = if^#(true,true,_0,_1,_2) -> if^#(ge(_1,s(0)),ge(minus(_0,_1),_1),minus(_0,_1),_1,id_inc(_2)) [trans] is in U_IR^1. We build a unit triple from L1. ==> L2 = if^#(true,true,_0,_1,_2) -> if^#(ge(_1,s(0)),ge(minus(_0,_1),_1),minus(_0,_1),_1,id_inc(_2)) [unit] is in U_IR^2. Let p2 = [0]. We unfold the rule of L2 backwards at position p2 with the rule ge(_0,0) -> true. ==> L3 = if^#(ge(_0,0),true,_1,_2,_3) -> if^#(ge(_2,s(0)),ge(minus(_1,_2),_2),minus(_1,_2),_2,id_inc(_3)) [unit] is in U_IR^3. Let p3 = [0]. We unfold the rule of L3 backwards at position p3 with the rule ge(s(_0),s(_1)) -> ge(_0,_1). ==> L4 = if^#(ge(s(_0),s(0)),true,_1,_2,_3) -> if^#(ge(_2,s(0)),ge(minus(_1,_2),_2),minus(_1,_2),_2,id_inc(_3)) [unit] is in U_IR^4. Let p4 = [0, 0]. We unfold the rule of L4 backwards at position p4 with the rule id_inc(_0) -> s(_0). ==> L5 = if^#(ge(id_inc(_0),s(0)),true,_1,id_inc(_0),_2) -> if^#(ge(id_inc(_0),s(0)),ge(minus(_1,id_inc(_0)),id_inc(_0)),minus(_1,id_inc(_0)),id_inc(_0),id_inc(_2)) [unit] is in U_IR^5. Let p5 = [1, 1]. We unfold the rule of L5 forwards at position p5 with the rule id_inc(_0) -> _0. ==> L6 = if^#(ge(id_inc(_0),s(0)),true,_1,id_inc(_0),_2) -> if^#(ge(id_inc(_0),s(0)),ge(minus(_1,id_inc(_0)),_0),minus(_1,id_inc(_0)),id_inc(_0),id_inc(_2)) [unit] is in U_IR^6. Let p6 = [1]. We unfold the rule of L6 forwards at position p6 with the rule ge(_0,0) -> true. ==> L7 = if^#(ge(id_inc(0),s(0)),true,_0,id_inc(0),_1) -> if^#(ge(id_inc(0),s(0)),true,minus(_0,id_inc(0)),id_inc(0),id_inc(_1)) [unit] is in U_IR^7. This DP problem is infinite. ** END proof description ** Proof stopped at iteration 7 Number of unfolded rules generated by this proof = 1410 Number of unfolded rules generated by all the parallel proofs = 5346