Input TRS: 1: U11(tt(),N) -> activate(N) 2: U21(tt(),M,N) -> s(plus(activate(N),activate(M))) 3: U31(tt()) -> 0() 4: U41(tt(),M,N) -> plus(x(activate(N),activate(M)),activate(N)) 5: and(tt(),X) -> activate(X) 6: isNat(n__0()) -> tt() 7: isNat(n__plus(V1,V2)) -> and(isNat(activate(V1)),n__isNat(activate(V2))) 8: isNat(n__s(V1)) -> isNat(activate(V1)) 9: isNat(n__x(V1,V2)) -> and(isNat(activate(V1)),n__isNat(activate(V2))) 10: plus(N,0()) -> U11(isNat(N),N) 11: plus(N,s(M)) -> U21(and(isNat(M),n__isNat(N)),M,N) 12: x(N,0()) -> U31(isNat(N)) 13: x(N,s(M)) -> U41(and(isNat(M),n__isNat(N)),M,N) 14: 0() -> n__0() 15: plus(X1,X2) -> n__plus(X1,X2) 16: isNat(X) -> n__isNat(X) 17: s(X) -> n__s(X) 18: x(X1,X2) -> n__x(X1,X2) 19: activate(n__0()) -> 0() 20: activate(n__plus(X1,X2)) -> plus(X1,X2) 21: activate(n__isNat(X)) -> isNat(X) 22: activate(n__s(X)) -> s(X) 23: activate(n__x(X1,X2)) -> x(X1,X2) 24: activate(X) -> X Number of strict rules: 24 Direct Order(PosReal,>,Poly) ... failed. Freezing ... failed. Dependency Pairs: #1: #U21(tt(),M,N) -> #s(plus(activate(N),activate(M))) #2: #U21(tt(),M,N) -> #plus(activate(N),activate(M)) #3: #U21(tt(),M,N) -> #activate(N) #4: #U21(tt(),M,N) -> #activate(M) #5: #x(N,s(M)) -> #U41(and(isNat(M),n__isNat(N)),M,N) #6: #x(N,s(M)) -> #and(isNat(M),n__isNat(N)) #7: #x(N,s(M)) -> #isNat(M) #8: #isNat(n__x(V1,V2)) -> #and(isNat(activate(V1)),n__isNat(activate(V2))) #9: #isNat(n__x(V1,V2)) -> #isNat(activate(V1)) #10: #isNat(n__x(V1,V2)) -> #activate(V1) #11: #isNat(n__x(V1,V2)) -> #activate(V2) #12: #plus(N,s(M)) -> #U21(and(isNat(M),n__isNat(N)),M,N) #13: #plus(N,s(M)) -> #and(isNat(M),n__isNat(N)) #14: #plus(N,s(M)) -> #isNat(M) #15: #activate(n__x(X1,X2)) -> #x(X1,X2) #16: #x(N,0()) -> #U31(isNat(N)) #17: #x(N,0()) -> #isNat(N) #18: #activate(n__plus(X1,X2)) -> #plus(X1,X2) #19: #isNat(n__plus(V1,V2)) -> #and(isNat(activate(V1)),n__isNat(activate(V2))) #20: #isNat(n__plus(V1,V2)) -> #isNat(activate(V1)) #21: #isNat(n__plus(V1,V2)) -> #activate(V1) #22: #isNat(n__plus(V1,V2)) -> #activate(V2) #23: #plus(N,0()) -> #U11(isNat(N),N) #24: #plus(N,0()) -> #isNat(N) #25: #and(tt(),X) -> #activate(X) #26: #activate(n__s(X)) -> #s(X) #27: #activate(n__0()) -> #0() #28: #activate(n__isNat(X)) -> #isNat(X) #29: #U31(tt()) -> #0() #30: #U11(tt(),N) -> #activate(N) #31: #isNat(n__s(V1)) -> #isNat(activate(V1)) #32: #isNat(n__s(V1)) -> #activate(V1) #33: #U41(tt(),M,N) -> #plus(x(activate(N),activate(M)),activate(N)) #34: #U41(tt(),M,N) -> #x(activate(N),activate(M)) #35: #U41(tt(),M,N) -> #activate(N) #36: #U41(tt(),M,N) -> #activate(M) #37: #U41(tt(),M,N) -> #activate(N) Number of SCCs: 1, DPs: 32, edges: 152 SCC { #2..15 #17..25 #28 #30..37 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... succeeded. #0() weight: 0 U21(x1,x2,x3) weight: max{0, x3, (/ 1 8) + x2} U11(x1,x2) weight: max{0, x2} s(x1) weight: x1 #isNat(x1) weight: (/ 1 8) + x1 activate(x1) weight: x1 and(x1,x2) weight: max{0, (/ 1 16) + x2} #plus(x1,x2) weight: max{(/ 1 4) + x2, (/ 1 8) + x1} #activate(x1) weight: (/ 1 8) + x1 x(x1,x2) weight: max{(/ 1 16) + x2, (/ 1 8) + x1} n__s(x1) weight: x1 0() weight: (/ 1 4) #x(x1,x2) weight: max{(/ 3 16) + x2, (/ 1 4) + x1} #s(x1) weight: 0 n__isNat(x1) weight: x1 n__plus(x1,x2) weight: max{(/ 1 8) + x2, x1} n__0() weight: (/ 1 4) isNat(x1) weight: x1 n__x(x1,x2) weight: max{(/ 1 16) + x2, (/ 1 8) + x1} plus(x1,x2) weight: max{(/ 1 8) + x2, x1} #U11(x1,x2) weight: max{0, (/ 1 8) + x2} U31(x1) weight: (/ 1 8) + x1 #U41(x1,x2,x3) weight: max{0, (/ 1 4) + x3, (/ 3 16) + x2} #U21(x1,x2,x3) weight: max{(/ 1 8) + x3, (/ 1 4) + x2, (/ 1 16) + x1} tt() weight: (/ 1 4) U41(x1,x2,x3) weight: max{0, (/ 1 8) + x3, (/ 1 16) + x2} #U31(x1) weight: 0 #and(x1,x2) weight: max{0, (/ 1 8) + x2} Usable rules: { 1..24 } Removed DPs: #4 #6..11 #14 #17 #19 #22 #35..37 Number of SCCs: 1, DPs: 18, edges: 51 SCC { #2 #3 #5 #12 #13 #15 #18 #20 #21 #23..25 #28 #30..34 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... succeeded. #0() status: [] precedence above: U21(x1,x2,x3) status: [x2,x3,x1] precedence above: U11 s and n__s n__plus plus U11(x1,x2) status: x2 s(x1) status: [x1] precedence above: n__s #isNat(x1) status: x1 activate(x1) status: x1 and(x1,x2) status: x2 #plus(x1,x2) status: x1 #activate(x1) status: x1 x(x1,x2) status: [x1,x2] precedence above: U21 U11 s activate and n__s 0 #x n__plus n__0 n__x plus U31 #U41 tt U41 n__s(x1) status: [x1] precedence above: s 0() status: [] precedence above: U11 s n__s n__0 tt #x(x1,x2) status: [x1,x2] precedence above: U21 U11 s activate and x n__s 0 n__plus n__0 n__x plus U31 #U41 tt U41 #s(x1) status: [] precedence above: n__isNat(x1) status: x1 n__plus(x1,x2) status: [x2,x1] precedence above: U21 U11 s and n__s plus n__0() status: [] precedence above: U11 s n__s 0 tt isNat(x1) status: x1 n__x(x1,x2) status: [x1,x2] precedence above: U21 U11 s activate and x n__s 0 #x n__plus n__0 plus U31 #U41 tt U41 plus(x1,x2) status: [x2,x1] precedence above: U21 U11 s and n__s n__plus #U11(x1,x2) status: x2 U31(x1) status: [x1] precedence above: U11 s n__s 0 n__0 tt #U41(x1,x2,x3) status: [x3,x2] precedence above: U21 U11 s activate and x n__s 0 #x n__plus n__0 n__x plus U31 tt U41 #U21(x1,x2,x3) status: x3 tt() status: [] precedence above: s n__s U41(x1,x2,x3) status: [x3,x2,x1] precedence above: U21 U11 s activate and x n__s 0 #x n__plus n__0 n__x plus U31 #U41 tt #U31(x1) status: [] precedence above: #and(x1,x2) status: x2 Usable rules: { 1..24 } Removed DPs: #5 #18 #20 #21 #31 #32 Number of SCCs: 1, DPs: 2, edges: 2 SCC { #2 #12 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... succeeded. #0() status: [] precedence above: U21(x1,x2,x3) status: [x2,x3,x1] precedence above: U11 s and n__s n__plus plus U11(x1,x2) status: x2 s(x1) status: [x1] precedence above: n__s #isNat(x1) status: x1 activate(x1) status: x1 and(x1,x2) status: x2 #plus(x1,x2) status: [x2,x1] precedence above: and #activate n__isNat isNat #U11 #U21 #and #activate(x1) status: x1 x(x1,x2) status: [x1,x2] precedence above: U21 U11 s activate and n__s 0 #x n__plus n__0 n__x plus U31 #U41 tt U41 n__s(x1) status: [x1] precedence above: s 0() status: [] precedence above: U11 s n__s n__0 tt #x(x1,x2) status: [x1,x2] precedence above: U21 U11 s activate and x n__s 0 n__plus n__0 n__x plus U31 #U41 tt U41 #s(x1) status: [] precedence above: n__isNat(x1) status: x1 n__plus(x1,x2) status: [x2,x1] precedence above: U21 U11 s and n__s plus n__0() status: [] precedence above: U11 s n__s 0 tt isNat(x1) status: x1 n__x(x1,x2) status: [x1,x2] precedence above: U21 U11 s activate and x n__s 0 #x n__plus n__0 plus U31 #U41 tt U41 plus(x1,x2) status: [x2,x1] precedence above: U21 U11 s and n__s n__plus #U11(x1,x2) status: x2 U31(x1) status: [x1] precedence above: U11 s n__s 0 n__0 tt #U41(x1,x2,x3) status: [x3,x2] precedence above: U21 U11 s activate and x n__s 0 #x n__plus n__0 n__x plus U31 tt U41 #U21(x1,x2,x3) status: [x2,x3] precedence above: and #plus #activate n__isNat isNat #U11 #and tt() status: [] precedence above: s n__s U41(x1,x2,x3) status: [x3,x2,x1] precedence above: U21 U11 s activate and x n__s 0 #x n__plus n__0 n__x plus U31 #U41 tt #U31(x1) status: [] precedence above: #and(x1,x2) status: x2 Usable rules: { 1..24 } Removed DPs: #12 Number of SCCs: 0, DPs: 0, edges: 0 YES