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(activate(X1),activate(X2)) 21: activate(n__isNat(X)) -> isNat(X) 22: activate(n__s(X)) -> s(activate(X)) 23: activate(n__x(X1,X2)) -> x(activate(X1),activate(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(activate(X1),activate(X2)) #16: #activate(n__x(X1,X2)) -> #activate(X1) #17: #activate(n__x(X1,X2)) -> #activate(X2) #18: #x(N,0()) -> #U31(isNat(N)) #19: #x(N,0()) -> #isNat(N) #20: #activate(n__plus(X1,X2)) -> #plus(activate(X1),activate(X2)) #21: #activate(n__plus(X1,X2)) -> #activate(X1) #22: #activate(n__plus(X1,X2)) -> #activate(X2) #23: #isNat(n__plus(V1,V2)) -> #and(isNat(activate(V1)),n__isNat(activate(V2))) #24: #isNat(n__plus(V1,V2)) -> #isNat(activate(V1)) #25: #isNat(n__plus(V1,V2)) -> #activate(V1) #26: #isNat(n__plus(V1,V2)) -> #activate(V2) #27: #plus(N,0()) -> #U11(isNat(N),N) #28: #plus(N,0()) -> #isNat(N) #29: #and(tt(),X) -> #activate(X) #30: #activate(n__s(X)) -> #s(activate(X)) #31: #activate(n__s(X)) -> #activate(X) #32: #activate(n__0()) -> #0() #33: #activate(n__isNat(X)) -> #isNat(X) #34: #U31(tt()) -> #0() #35: #U11(tt(),N) -> #activate(N) #36: #isNat(n__s(V1)) -> #isNat(activate(V1)) #37: #isNat(n__s(V1)) -> #activate(V1) #38: #U41(tt(),M,N) -> #plus(x(activate(N),activate(M)),activate(N)) #39: #U41(tt(),M,N) -> #x(activate(N),activate(M)) #40: #U41(tt(),M,N) -> #activate(N) #41: #U41(tt(),M,N) -> #activate(M) #42: #U41(tt(),M,N) -> #activate(N) Number of SCCs: 1, DPs: 37, edges: 252 SCC { #2..17 #19..29 #31 #33 #35..42 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... succeeded. #0() weight: 0 U21(x1,x2,x3) weight: max{0, x3, (/ 3 8) + x2} U11(x1,x2) weight: max{x2, x1} s(x1) weight: x1 #isNat(x1) weight: x1 activate(x1) weight: x1 and(x1,x2) weight: max{0, x2} #plus(x1,x2) weight: max{(/ 1 8) + x2, x1} #activate(x1) weight: x1 x(x1,x2) weight: max{(/ 1 4) + x2, (/ 3 8) + x1} n__s(x1) weight: x1 0() weight: (/ 1 4) #x(x1,x2) weight: max{(/ 1 4) + x2, (/ 3 8) + x1} #s(x1) weight: 0 n__isNat(x1) weight: x1 n__plus(x1,x2) weight: max{(/ 3 8) + x2, x1} n__0() weight: (/ 1 4) isNat(x1) weight: x1 n__x(x1,x2) weight: max{(/ 1 4) + x2, (/ 3 8) + x1} plus(x1,x2) weight: max{(/ 3 8) + x2, x1} #U11(x1,x2) weight: max{0, x2} U31(x1) weight: (/ 1 2) #U41(x1,x2,x3) weight: max{0, (/ 3 8) + x3, (/ 1 4) + x2} #U21(x1,x2,x3) weight: max{x3, (/ 1 8) + x2, x1} tt() weight: (/ 1 4) U41(x1,x2,x3) weight: max{0, (/ 3 8) + x3, (/ 1 4) + x2} #U31(x1) weight: 0 #and(x1,x2) weight: max{0, x2} Usable rules: { 1..24 } Removed DPs: #4 #6..11 #14 #16 #17 #19 #22 #23 #26 #40..42 Number of SCCs: 1, DPs: 20, edges: 71 SCC { #2 #3 #5 #12 #13 #15 #20 #21 #24 #25 #27..29 #31 #33 #35..39 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... succeeded. #0() status: [] precedence above: U21(x1,x2,x3) status: [x3,x2,x1] precedence above: U11 s #isNat #plus #activate n__s n__isNat n__plus isNat plus #U11 #U21 #and U11(x1,x2) status: [x2] precedence above: s(x1) status: [x1] precedence above: n__s n__isNat #isNat(x1) status: [x1] precedence above: #activate n__isNat isNat activate(x1) status: x1 and(x1,x2) status: x2 #plus(x1,x2) status: [x2,x1] precedence above: s #isNat #activate n__s n__isNat isNat #U11 #U21 #and #activate(x1) status: [x1] precedence above: #isNat n__isNat isNat x(x1,x2) status: [x1,x2] precedence above: U21 U11 s #isNat and #plus #activate n__s #x n__isNat n__plus isNat n__x plus #U11 #U41 #U21 U41 #and n__s(x1) status: [x1] precedence above: s n__isNat 0() status: [] precedence above: n__0 U31 tt #x(x1,x2) status: [x1,x2] precedence above: U21 U11 s #isNat and #plus #activate x n__s n__isNat n__plus isNat n__x plus #U11 #U41 #U21 U41 #and #s(x1) status: [] precedence above: n__isNat(x1) status: x1 n__plus(x1,x2) status: [x1,x2] precedence above: U21 U11 s #isNat #plus #activate n__s n__isNat isNat plus #U11 #U21 #and n__0() status: [] precedence above: 0 U31 tt isNat(x1) status: x1 n__x(x1,x2) status: [x1,x2] precedence above: U21 U11 s #isNat and #plus #activate x n__s #x n__isNat n__plus isNat plus #U11 #U41 #U21 U41 #and plus(x1,x2) status: [x1,x2] precedence above: U21 U11 s #isNat #plus #activate n__s n__isNat n__plus isNat #U11 #U21 #and #U11(x1,x2) status: [x2,x1] precedence above: s #isNat #activate n__s n__isNat isNat U31(x1) status: [] precedence above: 0 n__0 tt #U41(x1,x2,x3) status: [x3,x2,x1] precedence above: U21 U11 s #isNat and #plus #activate x n__s #x n__isNat n__plus isNat n__x plus #U11 #U21 U41 #and #U21(x1,x2,x3) status: [x2,x3] precedence above: s #isNat #plus #activate n__s n__isNat isNat #U11 #and tt() status: [] precedence above: U41(x1,x2,x3) status: [x3,x2,x1] precedence above: U21 U11 s #isNat and #plus #activate x n__s #x n__isNat n__plus isNat n__x plus #U11 #U41 #U21 #and #U31(x1) status: [] precedence above: #and(x1,x2) status: [x2,x1] precedence above: s #isNat #activate n__s n__isNat isNat Usable rules: { 1..24 } Removed DPs: #3 #5 #13 #15 #20 #21 #24 #25 #27..29 #31 #35..39 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: [x3,x2,x1] precedence above: U11 s #isNat #plus #activate n__s n__isNat n__plus isNat plus #U11 #U21 #and U11(x1,x2) status: [x2] precedence above: s(x1) status: [x1] precedence above: n__s #isNat(x1) status: [x1] precedence above: #activate n__isNat isNat activate(x1) status: x1 and(x1,x2) status: x2 #plus(x1,x2) status: [x2,x1] precedence above: s #isNat #activate n__s n__isNat isNat #U11 #U21 #and #activate(x1) status: [x1] precedence above: #isNat n__isNat isNat x(x1,x2) status: [x1,x2] precedence above: U21 U11 s #isNat and #plus #activate n__s #x n__isNat n__plus isNat n__x plus #U11 #U41 #U21 U41 #and n__s(x1) status: [x1] precedence above: s 0() status: [] precedence above: n__0 U31 tt #x(x1,x2) status: [x1,x2] precedence above: U21 U11 s #isNat and #plus #activate x n__s n__isNat n__plus isNat n__x plus #U11 #U41 #U21 U41 #and #s(x1) status: [] precedence above: n__isNat(x1) status: x1 n__plus(x1,x2) status: [x1,x2] precedence above: U21 U11 s #isNat #plus #activate n__s n__isNat isNat plus #U11 #U21 #and n__0() status: [] precedence above: 0 U31 tt isNat(x1) status: x1 n__x(x1,x2) status: [x1,x2] precedence above: U21 U11 s #isNat and #plus #activate x n__s #x n__isNat n__plus isNat plus #U11 #U41 #U21 U41 #and plus(x1,x2) status: [x1,x2] precedence above: U21 U11 s #isNat #plus #activate n__s n__isNat n__plus isNat #U11 #U21 #and #U11(x1,x2) status: [x2,x1] precedence above: s #isNat #activate n__s n__isNat isNat U31(x1) status: [] precedence above: 0 n__0 tt #U41(x1,x2,x3) status: [x3,x2,x1] precedence above: U21 U11 s #isNat and #plus #activate x n__s #x n__isNat n__plus isNat n__x plus #U11 #U21 U41 #and #U21(x1,x2,x3) status: [x2,x3] precedence above: s #isNat #plus #activate n__s n__isNat isNat #U11 #and tt() status: [] precedence above: U41(x1,x2,x3) status: [x3,x2,x1] precedence above: U21 U11 s #isNat and #plus #activate x n__s #x n__isNat n__plus isNat n__x plus #U11 #U41 #U21 #and #U31(x1) status: [] precedence above: #and(x1,x2) status: [x2,x1] precedence above: s #isNat #activate n__s n__isNat isNat Usable rules: { 1..24 } Removed DPs: #12 Number of SCCs: 0, DPs: 0, edges: 0 YES