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: (/ 3 8) U21(x1,x2,x3) weight: max{x3, (/ 1 8) + x2, x1} #|0|() weight: 0 U11(x1,x2) weight: max{x2, x1} s(x1) weight: x1 #isNat(x1) weight: (/ 1 4) + x1 activate(x1) weight: x1 and(x1,x2) weight: max{0, x2} #plus(x1,x2) weight: max{(/ 3 8) + x2, (/ 1 4) + x1} #activate(x1) weight: (/ 1 4) + x1 x(x1,x2) weight: max{(/ 1 4) + x2, (/ 1 8) + x1} n__s(x1) weight: x1 #x(x1,x2) weight: max{(/ 1 2) + x2, (/ 3 8) + x1} #s(x1) weight: 0 n__isNat(x1) weight: x1 n__plus(x1,x2) weight: max{(/ 1 8) + x2, x1} n__0() weight: (/ 3 8) isNat(x1) weight: x1 n__x(x1,x2) weight: max{(/ 1 4) + x2, (/ 1 8) + x1} plus(x1,x2) weight: max{(/ 1 8) + x2, x1} #U11(x1,x2) weight: max{0, (/ 1 4) + x2} U31(x1) weight: (/ 3 8) #U41(x1,x2,x3) weight: max{0, (/ 3 8) + x3, (/ 1 2) + x2} #U21(x1,x2,x3) weight: max{(/ 1 4) + x3, (/ 3 8) + x2, (/ 1 8) + x1} tt() weight: (/ 3 8) U41(x1,x2,x3) weight: max{(/ 1 8) + x3, (/ 1 4) + x2, (/ 1 8) + x1} #U31(x1) weight: 0 #and(x1,x2) weight: max{0, (/ 1 4) + 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: n__0 U31 tt U21(x1,x2,x3) status: [x2,x3,x1] precedence above: s #isNat activate and #plus #activate n__s n__isNat n__plus isNat plus #U11 #U21 #and #|0|() status: [] precedence above: U11(x1,x2) status: x2 s(x1) status: [x1] precedence above: activate n__s #isNat(x1) status: [x1] precedence above: and #activate activate(x1) status: x1 and(x1,x2) status: [x1,x2] precedence above: #plus(x1,x2) status: [x2,x1] precedence above: #isNat activate and #activate n__isNat isNat #U11 #U21 #and #activate(x1) status: [x1] precedence above: #isNat and x(x1,x2) status: [x1,x2] precedence above: U21 s #isNat activate 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 activate #x(x1,x2) status: [x1,x2] precedence above: U21 s #isNat activate 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] precedence above: #isNat activate and #activate isNat n__plus(x1,x2) status: [x2,x1] precedence above: U21 s #isNat activate and #plus #activate n__s n__isNat isNat plus #U11 #U21 #and n__0() status: [] precedence above: |0| U31 tt isNat(x1) status: [x1] precedence above: #isNat activate and #activate n__isNat n__x(x1,x2) status: [x1,x2] precedence above: U21 s #isNat activate and #plus #activate x n__s #x n__isNat n__plus isNat plus #U11 #U41 #U21 U41 #and plus(x1,x2) status: [x2,x1] precedence above: U21 s #isNat activate and #plus #activate n__s n__isNat n__plus isNat #U11 #U21 #and #U11(x1,x2) status: [x1,x2] precedence above: #isNat and #activate U31(x1) status: [] precedence above: |0| n__0 tt #U41(x1,x2,x3) status: [x3,x2,x1] precedence above: U21 s #isNat activate 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: #isNat activate and #plus #activate n__isNat isNat #U11 #and tt() status: [] precedence above: U41(x1,x2,x3) status: [x3,x2,x1] precedence above: U21 s #isNat activate 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: [x1,x2] precedence above: #isNat and #activate Usable rules: { 1..24 } Removed DPs: #3 #5 #13 #15 #18 #20 #21 #23..25 #28 #30..34 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: n__0 U31 tt U21(x1,x2,x3) status: [x2,x3,x1] precedence above: s #isNat activate and #plus #activate n__s n__isNat n__plus isNat plus #U11 #U21 #and #|0|() status: [] precedence above: U11(x1,x2) status: x2 s(x1) status: [x1] precedence above: activate n__s #isNat(x1) status: [x1] precedence above: and #activate activate(x1) status: x1 and(x1,x2) status: [x1,x2] precedence above: #plus(x1,x2) status: [x2,x1] precedence above: #isNat activate and #activate n__isNat isNat #U11 #U21 #and #activate(x1) status: [x1] precedence above: #isNat and x(x1,x2) status: [x1,x2] precedence above: U21 s #isNat activate 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 activate #x(x1,x2) status: [x1,x2] precedence above: U21 s #isNat activate 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] precedence above: #isNat activate and #activate isNat n__plus(x1,x2) status: [x2,x1] precedence above: U21 s #isNat activate and #plus #activate n__s n__isNat isNat plus #U11 #U21 #and n__0() status: [] precedence above: |0| U31 tt isNat(x1) status: [x1] precedence above: #isNat activate and #activate n__isNat n__x(x1,x2) status: [x1,x2] precedence above: U21 s #isNat activate and #plus #activate x n__s #x n__isNat n__plus isNat plus #U11 #U41 #U21 U41 #and plus(x1,x2) status: [x2,x1] precedence above: U21 s #isNat activate and #plus #activate n__s n__isNat n__plus isNat #U11 #U21 #and #U11(x1,x2) status: [x1,x2] precedence above: #isNat and #activate U31(x1) status: [] precedence above: |0| n__0 tt #U41(x1,x2,x3) status: [x3,x2,x1] precedence above: U21 s #isNat activate 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: #isNat activate and #plus #activate n__isNat isNat #U11 #and tt() status: [] precedence above: U41(x1,x2,x3) status: [x3,x2,x1] precedence above: U21 s #isNat activate 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: [x1,x2] precedence above: #isNat and #activate Usable rules: { 1..24 } Removed DPs: #12 Number of SCCs: 0, DPs: 0, edges: 0 YES