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 = 8] isNatList(n__cons(n__0,n__zeros)) -> isNatList(n__cons(n__0,n__zeros)) 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 = isNatList(n__cons(n__0,n__zeros)) and theta2(theta1(l)) = theta1(r|p). Hence, the term theta1(l) = isNatList(n__cons(n__0,n__zeros)) 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 = [U11^#(tt,_0) -> length^#(activate(_0)), length^#(cons(_0,_1)) -> U11^#(and(isNatList(activate(_1)),n__isNat(_0)),activate(_1)), activate^#(n__length(_0)) -> length^#(_0), and^#(tt,_0) -> activate^#(_0), length^#(cons(_0,_1)) -> and^#(isNatList(activate(_1)),n__isNat(_0)), isNatList^#(n__cons(_0,_1)) -> and^#(isNat(activate(_0)),n__isNatList(activate(_1))), isNatIList^#(n__cons(_0,_1)) -> and^#(isNat(activate(_0)),n__isNatIList(activate(_1))), activate^#(n__isNatIList(_0)) -> isNatIList^#(_0), isNat^#(n__length(_0)) -> activate^#(_0), isNat^#(n__s(_0)) -> isNat^#(activate(_0)), isNatList^#(n__cons(_0,_1)) -> isNat^#(activate(_0)), isNat^#(n__length(_0)) -> isNatList^#(activate(_0)), activate^#(n__isNat(_0)) -> isNat^#(_0), isNatList^#(n__cons(_0,_1)) -> activate^#(_0), activate^#(n__isNatList(_0)) -> isNatList^#(_0), length^#(cons(_0,_1)) -> activate^#(_1), length^#(cons(_0,_1)) -> activate^#(_1), isNatList^#(n__cons(_0,_1)) -> activate^#(_1), length^#(cons(_0,_1)) -> isNatList^#(activate(_1)), isNatIList^#(_0) -> isNatList^#(activate(_0)), isNatIList^#(n__cons(_0,_1)) -> activate^#(_1), isNatIList^#(n__cons(_0,_1)) -> activate^#(_0), isNatIList^#(_0) -> activate^#(_0), isNat^#(n__s(_0)) -> activate^#(_0), isNatIList^#(n__cons(_0,_1)) -> isNat^#(activate(_0)), U11^#(tt,_0) -> activate^#(_0)] TRS = {zeros -> cons(0,n__zeros), U11(tt,_0) -> s(length(activate(_0))), and(tt,_0) -> activate(_0), isNat(n__0) -> tt, isNat(n__length(_0)) -> isNatList(activate(_0)), isNat(n__s(_0)) -> isNat(activate(_0)), isNatIList(_0) -> isNatList(activate(_0)), isNatIList(n__zeros) -> tt, isNatIList(n__cons(_0,_1)) -> and(isNat(activate(_0)),n__isNatIList(activate(_1))), isNatList(n__nil) -> tt, isNatList(n__cons(_0,_1)) -> and(isNat(activate(_0)),n__isNatList(activate(_1))), length(nil) -> 0, length(cons(_0,_1)) -> U11(and(isNatList(activate(_1)),n__isNat(_0)),activate(_1)), zeros -> n__zeros, 0 -> n__0, length(_0) -> n__length(_0), s(_0) -> n__s(_0), cons(_0,_1) -> n__cons(_0,_1), isNatIList(_0) -> n__isNatIList(_0), nil -> n__nil, isNatList(_0) -> n__isNatList(_0), isNat(_0) -> n__isNat(_0), activate(n__zeros) -> zeros, activate(n__0) -> 0, activate(n__length(_0)) -> length(_0), activate(n__s(_0)) -> s(_0), activate(n__cons(_0,_1)) -> cons(_0,_1), activate(n__isNatIList(_0)) -> isNatIList(_0), activate(n__nil) -> nil, activate(n__isNatList(_0)) -> isNatList(_0), activate(n__isNat(_0)) -> isNat(_0), activate(_0) -> _0} ## Trying with homeomorphic embeddings... Failed! ## Trying with polynomial interpretations... Too many coefficients (46)! Aborting! ## Trying with lexicographic path orders... Too many argument filtering possibilities (165888)! Aborting! ## Trying to prove nontermination by unfolding the dependency pairs with the rules of the TRS # max_depth=4, unfold_variables=false: # Iteration 0: nontermination not detected, 26 unfolded rules generated. # Iteration 1: nontermination not detected, 160 unfolded rules generated. # Iteration 2: nontermination not detected, 767 unfolded rules generated. # Iteration 3: nontermination not detected, 1600 unfolded rules generated. # Iteration 4: nontermination not detected, 5118 unfolded rules generated. # Iteration 5: nontermination not detected, 13497 unfolded rules generated. # Iteration 6: nontermination not detected, 43566 unfolded rules generated. # Iteration 7: nontermination not detected, 108019 unfolded rules generated. # Iteration 8: nontermination detected, 95061 unfolded rules generated. Here is the successful unfolding. Let IR be the TRS under analysis. L0 = isNatList^#(n__cons(_0,_1)) -> and^#(isNat(activate(_0)),n__isNatList(activate(_1))) [trans] is in U_IR^0. D = and^#(tt,_0) -> activate^#(_0) is a dependency pair of IR. We build a composed triple from L0 and D. ==> L1 = [isNatList^#(n__cons(_0,_1)) -> and^#(isNat(activate(_0)),n__isNatList(activate(_1))), and^#(tt,_2) -> activate^#(_2)] [comp] is in U_IR^1. Let p1 = [0, 0]. We unfold the first rule of L1 forwards at position p1 with the rule activate(_0) -> _0. ==> L2 = [isNatList^#(n__cons(_0,_1)) -> and^#(isNat(_0),n__isNatList(activate(_1))), and^#(tt,_2) -> activate^#(_2)] [comp] is in U_IR^2. Let p2 = [0]. We unfold the first rule of L2 forwards at position p2 with the rule isNat(n__0) -> tt. ==> L3 = [isNatList^#(n__cons(n__0,_0)) -> and^#(tt,n__isNatList(activate(_0))), and^#(tt,_1) -> activate^#(_1)] [comp] is in U_IR^3. Let p3 = [1, 0]. We unfold the first rule of L3 forwards at position p3 with the rule activate(n__zeros) -> zeros. ==> L4 = [isNatList^#(n__cons(n__0,n__zeros)) -> and^#(tt,n__isNatList(zeros)), and^#(tt,_0) -> activate^#(_0)] [comp] is in U_IR^4. Let p4 = [1, 0]. We unfold the first rule of L4 forwards at position p4 with the rule zeros -> cons(0,n__zeros). ==> L5 = [isNatList^#(n__cons(n__0,n__zeros)) -> and^#(tt,n__isNatList(cons(0,n__zeros))), and^#(tt,_0) -> activate^#(_0)] [comp] is in U_IR^5. Let p5 = [1, 0]. We unfold the first rule of L5 forwards at position p5 with the rule cons(_0,_1) -> n__cons(_0,_1). ==> L6 = [isNatList^#(n__cons(n__0,n__zeros)) -> and^#(tt,n__isNatList(n__cons(0,n__zeros))), and^#(tt,_0) -> activate^#(_0)] [comp] is in U_IR^6. Let p6 = [1, 0, 0]. We unfold the first rule of L6 forwards at position p6 with the rule 0 -> n__0. ==> L7 = isNatList^#(n__cons(n__0,n__zeros)) -> activate^#(n__isNatList(n__cons(n__0,n__zeros))) [trans] is in U_IR^7. D = activate^#(n__isNatList(_0)) -> isNatList^#(_0) is a dependency pair of IR. We build a composed triple from L7 and D. ==> L8 = isNatList^#(n__cons(n__0,n__zeros)) -> isNatList^#(n__cons(n__0,n__zeros)) [trans] is in U_IR^8. This DP problem is infinite. ** END proof description ** Proof stopped at iteration 8 Number of unfolded rules generated by this proof = 267814 Number of unfolded rules generated by all the parallel proofs = 1227179