/export/starexec/sandbox/solver/bin/starexec_run_default /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- NO ** BEGIN proof argument ** The following rule was generated while unfolding the analyzed TRS: [iteration = 9] isNatIListKind(n__cons(n__0,n__zeros)) -> isNatIListKind(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 = isNatIListKind(n__cons(n__0,n__zeros)) and theta2(theta1(l)) = theta1(r|p). Hence, the term theta1(l) = isNatIListKind(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... ## 2 initial DP problems to solve. ## First, we try to decompose these problems into smaller problems. ## Round 1 [2 DP problems]: ## DP problem: Dependency pairs = [U41^#(tt,_0,_1) -> U42^#(isNatKind(activate(_0)),activate(_0),activate(_1)), isNatIList^#(n__cons(_0,_1)) -> U41^#(isNatKind(activate(_0)),activate(_0),activate(_1)), U45^#(tt,_0) -> isNatIList^#(activate(_0)), U44^#(tt,_0,_1) -> U45^#(isNat(activate(_0)),activate(_1)), U43^#(tt,_0,_1) -> U44^#(isNatIListKind(activate(_1)),activate(_0),activate(_1)), U42^#(tt,_0,_1) -> U43^#(isNatIListKind(activate(_1)),activate(_0),activate(_1))] TRS = {zeros -> cons(0,n__zeros), U11(tt,_0) -> U12(isNatIListKind(activate(_0)),activate(_0)), U12(tt,_0) -> U13(isNatList(activate(_0))), U13(tt) -> tt, U21(tt,_0) -> U22(isNatKind(activate(_0)),activate(_0)), U22(tt,_0) -> U23(isNat(activate(_0))), U23(tt) -> tt, U31(tt,_0) -> U32(isNatIListKind(activate(_0)),activate(_0)), U32(tt,_0) -> U33(isNatList(activate(_0))), U33(tt) -> tt, U41(tt,_0,_1) -> U42(isNatKind(activate(_0)),activate(_0),activate(_1)), U42(tt,_0,_1) -> U43(isNatIListKind(activate(_1)),activate(_0),activate(_1)), U43(tt,_0,_1) -> U44(isNatIListKind(activate(_1)),activate(_0),activate(_1)), U44(tt,_0,_1) -> U45(isNat(activate(_0)),activate(_1)), U45(tt,_0) -> U46(isNatIList(activate(_0))), U46(tt) -> tt, U51(tt,_0) -> U52(isNatIListKind(activate(_0))), U52(tt) -> tt, U61(tt) -> tt, U71(tt) -> tt, U81(tt,_0,_1) -> U82(isNatKind(activate(_0)),activate(_0),activate(_1)), U82(tt,_0,_1) -> U83(isNatIListKind(activate(_1)),activate(_0),activate(_1)), U83(tt,_0,_1) -> U84(isNatIListKind(activate(_1)),activate(_0),activate(_1)), U84(tt,_0,_1) -> U85(isNat(activate(_0)),activate(_1)), U85(tt,_0) -> U86(isNatList(activate(_0))), U86(tt) -> tt, U91(tt,_0,_1) -> U92(isNatIListKind(activate(_0)),activate(_0),activate(_1)), U92(tt,_0,_1) -> U93(isNat(activate(_1)),activate(_0),activate(_1)), U93(tt,_0,_1) -> U94(isNatKind(activate(_1)),activate(_0)), U94(tt,_0) -> s(length(activate(_0))), isNat(n__0) -> tt, isNat(n__length(_0)) -> U11(isNatIListKind(activate(_0)),activate(_0)), isNat(n__s(_0)) -> U21(isNatKind(activate(_0)),activate(_0)), isNatIList(_0) -> U31(isNatIListKind(activate(_0)),activate(_0)), isNatIList(n__zeros) -> tt, isNatIList(n__cons(_0,_1)) -> U41(isNatKind(activate(_0)),activate(_0),activate(_1)), isNatIListKind(n__nil) -> tt, isNatIListKind(n__zeros) -> tt, isNatIListKind(n__cons(_0,_1)) -> U51(isNatKind(activate(_0)),activate(_1)), isNatKind(n__0) -> tt, isNatKind(n__length(_0)) -> U61(isNatIListKind(activate(_0))), isNatKind(n__s(_0)) -> U71(isNatKind(activate(_0))), isNatList(n__nil) -> tt, isNatList(n__cons(_0,_1)) -> U81(isNatKind(activate(_0)),activate(_0),activate(_1)), length(nil) -> 0, length(cons(_0,_1)) -> U91(isNatList(activate(_1)),activate(_1),_0), zeros -> n__zeros, 0 -> n__0, length(_0) -> n__length(_0), s(_0) -> n__s(_0), cons(_0,_1) -> n__cons(_0,_1), nil -> n__nil, 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__nil) -> nil, activate(_0) -> _0} ## Trying with homeomorphic embeddings... Failed! ## Trying with polynomial interpretations... This DP problem is too complex! Aborting! ## Trying with lexicographic path orders... Too many argument filtering possibilities (2147483647)! Aborting! ## Trying with Knuth-Bendix orders... This DP problem is too complex! Aborting! Don't know whether this DP problem is finite. ## DP problem: Dependency pairs = [U11^#(tt,_0) -> U12^#(isNatIListKind(activate(_0)),activate(_0)), isNat^#(n__length(_0)) -> U11^#(isNatIListKind(activate(_0)),activate(_0)), U22^#(tt,_0) -> isNat^#(activate(_0)), U21^#(tt,_0) -> U22^#(isNatKind(activate(_0)),activate(_0)), isNat^#(n__s(_0)) -> U21^#(isNatKind(activate(_0)),activate(_0)), U84^#(tt,_0,_1) -> isNat^#(activate(_0)), U83^#(tt,_0,_1) -> U84^#(isNatIListKind(activate(_1)),activate(_0),activate(_1)), U82^#(tt,_0,_1) -> U83^#(isNatIListKind(activate(_1)),activate(_0),activate(_1)), U81^#(tt,_0,_1) -> U82^#(isNatKind(activate(_0)),activate(_0),activate(_1)), isNatList^#(n__cons(_0,_1)) -> U81^#(isNatKind(activate(_0)),activate(_0),activate(_1)), length^#(cons(_0,_1)) -> isNatList^#(activate(_1)), U94^#(tt,_0) -> length^#(activate(_0)), U93^#(tt,_0,_1) -> U94^#(isNatKind(activate(_1)),activate(_0)), U92^#(tt,_0,_1) -> U93^#(isNat(activate(_1)),activate(_0),activate(_1)), U91^#(tt,_0,_1) -> U92^#(isNatIListKind(activate(_0)),activate(_0),activate(_1)), length^#(cons(_0,_1)) -> U91^#(isNatList(activate(_1)),activate(_1),_0), activate^#(n__length(_0)) -> length^#(_0), length^#(cons(_0,_1)) -> activate^#(_1), length^#(cons(_0,_1)) -> activate^#(_1), isNatList^#(n__cons(_0,_1)) -> activate^#(_1), isNatList^#(n__cons(_0,_1)) -> activate^#(_0), isNatList^#(n__cons(_0,_1)) -> activate^#(_0), isNatKind^#(n__s(_0)) -> activate^#(_0), isNatKind^#(n__length(_0)) -> activate^#(_0), isNatIListKind^#(n__cons(_0,_1)) -> activate^#(_1), isNatIListKind^#(n__cons(_0,_1)) -> activate^#(_0), isNat^#(n__s(_0)) -> activate^#(_0), isNat^#(n__s(_0)) -> activate^#(_0), isNat^#(n__length(_0)) -> activate^#(_0), isNat^#(n__length(_0)) -> activate^#(_0), U94^#(tt,_0) -> activate^#(_0), U93^#(tt,_0,_1) -> activate^#(_0), U93^#(tt,_0,_1) -> activate^#(_1), U92^#(tt,_0,_1) -> activate^#(_1), U92^#(tt,_0,_1) -> activate^#(_0), U92^#(tt,_0,_1) -> activate^#(_1), U91^#(tt,_0,_1) -> activate^#(_1), U91^#(tt,_0,_1) -> activate^#(_0), U91^#(tt,_0,_1) -> activate^#(_0), U85^#(tt,_0) -> activate^#(_0), U84^#(tt,_0,_1) -> activate^#(_1), U84^#(tt,_0,_1) -> activate^#(_0), U83^#(tt,_0,_1) -> activate^#(_1), U83^#(tt,_0,_1) -> activate^#(_0), U83^#(tt,_0,_1) -> activate^#(_1), U82^#(tt,_0,_1) -> activate^#(_1), U82^#(tt,_0,_1) -> activate^#(_0), U82^#(tt,_0,_1) -> activate^#(_1), U81^#(tt,_0,_1) -> activate^#(_1), U81^#(tt,_0,_1) -> activate^#(_0), U81^#(tt,_0,_1) -> activate^#(_0), U51^#(tt,_0) -> activate^#(_0), isNatIListKind^#(n__cons(_0,_1)) -> U51^#(isNatKind(activate(_0)),activate(_1)), isNatKind^#(n__length(_0)) -> isNatIListKind^#(activate(_0)), isNatKind^#(n__s(_0)) -> isNatKind^#(activate(_0)), isNatList^#(n__cons(_0,_1)) -> isNatKind^#(activate(_0)), isNatIListKind^#(n__cons(_0,_1)) -> isNatKind^#(activate(_0)), isNat^#(n__s(_0)) -> isNatKind^#(activate(_0)), U93^#(tt,_0,_1) -> isNatKind^#(activate(_1)), U81^#(tt,_0,_1) -> isNatKind^#(activate(_0)), U21^#(tt,_0) -> isNatKind^#(activate(_0)), isNat^#(n__length(_0)) -> isNatIListKind^#(activate(_0)), U92^#(tt,_0,_1) -> isNat^#(activate(_1)), U91^#(tt,_0,_1) -> isNatIListKind^#(activate(_0)), U83^#(tt,_0,_1) -> isNatIListKind^#(activate(_1)), U82^#(tt,_0,_1) -> isNatIListKind^#(activate(_1)), U51^#(tt,_0) -> isNatIListKind^#(activate(_0)), U11^#(tt,_0) -> isNatIListKind^#(activate(_0)), U22^#(tt,_0) -> activate^#(_0), U21^#(tt,_0) -> activate^#(_0), U21^#(tt,_0) -> activate^#(_0), U12^#(tt,_0) -> activate^#(_0), U11^#(tt,_0) -> activate^#(_0), U11^#(tt,_0) -> activate^#(_0), U85^#(tt,_0) -> isNatList^#(activate(_0)), U84^#(tt,_0,_1) -> U85^#(isNat(activate(_0)),activate(_1)), U12^#(tt,_0) -> isNatList^#(activate(_0))] TRS = {zeros -> cons(0,n__zeros), U11(tt,_0) -> U12(isNatIListKind(activate(_0)),activate(_0)), U12(tt,_0) -> U13(isNatList(activate(_0))), U13(tt) -> tt, U21(tt,_0) -> U22(isNatKind(activate(_0)),activate(_0)), U22(tt,_0) -> U23(isNat(activate(_0))), U23(tt) -> tt, U31(tt,_0) -> U32(isNatIListKind(activate(_0)),activate(_0)), U32(tt,_0) -> U33(isNatList(activate(_0))), U33(tt) -> tt, U41(tt,_0,_1) -> U42(isNatKind(activate(_0)),activate(_0),activate(_1)), U42(tt,_0,_1) -> U43(isNatIListKind(activate(_1)),activate(_0),activate(_1)), U43(tt,_0,_1) -> U44(isNatIListKind(activate(_1)),activate(_0),activate(_1)), U44(tt,_0,_1) -> U45(isNat(activate(_0)),activate(_1)), U45(tt,_0) -> U46(isNatIList(activate(_0))), U46(tt) -> tt, U51(tt,_0) -> U52(isNatIListKind(activate(_0))), U52(tt) -> tt, U61(tt) -> tt, U71(tt) -> tt, U81(tt,_0,_1) -> U82(isNatKind(activate(_0)),activate(_0),activate(_1)), U82(tt,_0,_1) -> U83(isNatIListKind(activate(_1)),activate(_0),activate(_1)), U83(tt,_0,_1) -> U84(isNatIListKind(activate(_1)),activate(_0),activate(_1)), U84(tt,_0,_1) -> U85(isNat(activate(_0)),activate(_1)), U85(tt,_0) -> U86(isNatList(activate(_0))), U86(tt) -> tt, U91(tt,_0,_1) -> U92(isNatIListKind(activate(_0)),activate(_0),activate(_1)), U92(tt,_0,_1) -> U93(isNat(activate(_1)),activate(_0),activate(_1)), U93(tt,_0,_1) -> U94(isNatKind(activate(_1)),activate(_0)), U94(tt,_0) -> s(length(activate(_0))), isNat(n__0) -> tt, isNat(n__length(_0)) -> U11(isNatIListKind(activate(_0)),activate(_0)), isNat(n__s(_0)) -> U21(isNatKind(activate(_0)),activate(_0)), isNatIList(_0) -> U31(isNatIListKind(activate(_0)),activate(_0)), isNatIList(n__zeros) -> tt, isNatIList(n__cons(_0,_1)) -> U41(isNatKind(activate(_0)),activate(_0),activate(_1)), isNatIListKind(n__nil) -> tt, isNatIListKind(n__zeros) -> tt, isNatIListKind(n__cons(_0,_1)) -> U51(isNatKind(activate(_0)),activate(_1)), isNatKind(n__0) -> tt, isNatKind(n__length(_0)) -> U61(isNatIListKind(activate(_0))), isNatKind(n__s(_0)) -> U71(isNatKind(activate(_0))), isNatList(n__nil) -> tt, isNatList(n__cons(_0,_1)) -> U81(isNatKind(activate(_0)),activate(_0),activate(_1)), length(nil) -> 0, length(cons(_0,_1)) -> U91(isNatList(activate(_1)),activate(_1),_0), zeros -> n__zeros, 0 -> n__0, length(_0) -> n__length(_0), s(_0) -> n__s(_0), cons(_0,_1) -> n__cons(_0,_1), nil -> n__nil, 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__nil) -> nil, activate(_0) -> _0} ## Trying with homeomorphic embeddings... Failed! ## Trying with polynomial interpretations... This DP problem is too complex! Aborting! ## Trying with lexicographic path orders... Too many argument filtering possibilities (2147483647)! Aborting! ## Trying with Knuth-Bendix orders... This DP problem is too complex! Aborting! Don't know whether this DP problem is finite. ## Some DP problems could not be proved finite. ## Now, we try to prove that one of these problems is infinite. ## Trying to find a loop (forward=true, backward=false, max=-1) # max_depth=3, unfold_variables=false: # Iteration 0: no loop found, 77 unfolded rules generated. # Iteration 1: no loop found, 240 unfolded rules generated. # Iteration 2: no loop found, 1537 unfolded rules generated. # Iteration 3: no loop found, 1590 unfolded rules generated. # Iteration 4: no loop found, 5821 unfolded rules generated. # Iteration 5: no loop found, 12644 unfolded rules generated. # Iteration 6: no loop found, 30887 unfolded rules generated. # Iteration 7: no loop found, 63153 unfolded rules generated. # Iteration 8: no loop found, 109751 unfolded rules generated. # Iteration 9: success, found a loop, 150325 unfolded rules generated. Here is the successful unfolding. Let IR be the TRS under analysis. L0 = isNatIListKind^#(n__cons(_0,_1)) -> U51^#(isNatKind(activate(_0)),activate(_1)) [trans] is in U_IR^0. D = U51^#(tt,_0) -> isNatIListKind^#(activate(_0)) is a dependency pair of IR. We build a composed triple from L0 and D. ==> L1 = [isNatIListKind^#(n__cons(_0,_1)) -> U51^#(isNatKind(activate(_0)),activate(_1)), U51^#(tt,_2) -> isNatIListKind^#(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 = [isNatIListKind^#(n__cons(_0,_1)) -> U51^#(isNatKind(_0),activate(_1)), U51^#(tt,_2) -> isNatIListKind^#(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 isNatKind(n__0) -> tt. ==> L3 = [isNatIListKind^#(n__cons(n__0,_0)) -> U51^#(tt,activate(_0)), U51^#(tt,_1) -> isNatIListKind^#(activate(_1))] [comp] is in U_IR^3. Let p3 = [1]. We unfold the first rule of L3 forwards at position p3 with the rule activate(n__zeros) -> zeros. ==> L4 = [isNatIListKind^#(n__cons(n__0,n__zeros)) -> U51^#(tt,zeros), U51^#(tt,_0) -> isNatIListKind^#(activate(_0))] [comp] is in U_IR^4. Let p4 = [1]. We unfold the first rule of L4 forwards at position p4 with the rule zeros -> cons(0,n__zeros). ==> L5 = [isNatIListKind^#(n__cons(n__0,n__zeros)) -> U51^#(tt,cons(0,n__zeros)), U51^#(tt,_0) -> isNatIListKind^#(activate(_0))] [comp] is in U_IR^5. Let p5 = [1]. We unfold the first rule of L5 forwards at position p5 with the rule cons(_0,_1) -> n__cons(_0,_1). ==> L6 = [isNatIListKind^#(n__cons(n__0,n__zeros)) -> U51^#(tt,n__cons(0,n__zeros)), U51^#(tt,_0) -> isNatIListKind^#(activate(_0))] [comp] is in U_IR^6. Let p6 = [1, 0]. We unfold the first rule of L6 forwards at position p6 with the rule 0 -> n__0. ==> L7 = isNatIListKind^#(n__cons(n__0,n__zeros)) -> isNatIListKind^#(activate(n__cons(n__0,n__zeros))) [trans] is in U_IR^7. D = isNatIListKind^#(n__cons(_0,_1)) -> activate^#(_1) is a dependency pair of IR. We build a composed triple from L7 and D. ==> L8 = [isNatIListKind^#(n__cons(n__0,n__zeros)) -> isNatIListKind^#(activate(n__cons(n__0,n__zeros))), isNatIListKind^#(n__cons(_0,_1)) -> activate^#(_1)] [comp] is in U_IR^8. Let p8 = [0]. We unfold the first rule of L8 forwards at position p8 with the rule activate(_0) -> _0. ==> L9 = [isNatIListKind^#(n__cons(n__0,n__zeros)) -> isNatIListKind^#(n__cons(n__0,n__zeros)), isNatIListKind^#(n__cons(_0,_1)) -> activate^#(_1)] [comp] 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 = 2076302