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: (/ 3 16) U21(x1,x2,x3) weight: max{0, x3, (/ 1 8) + x2} #|0|() weight: 0 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{(/ 3 16) + x2, (/ 1 8) + x1} #activate(x1) weight: (/ 1 8) + x1 x(x1,x2) weight: max{(/ 3 16) + x2, (/ 1 8) + x1} n__s(x1) weight: x1 #x(x1,x2) weight: max{(/ 5 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: (/ 3 16) isNat(x1) weight: x1 n__x(x1,x2) weight: max{(/ 3 16) + x2, (/ 1 8) + x1} plus(x1,x2) weight: max{(/ 1 8) + x2, x1} #U11(x1,x2) weight: max{(/ 1 8) + x2, (/ 1 8) + x1} U31(x1) weight: (/ 3 16) #U41(x1,x2,x3) weight: max{(/ 1 4) + x3, (/ 5 16) + x2, (/ 3 16) + x1} #U21(x1,x2,x3) weight: max{(/ 1 8) + x3, (/ 3 16) + x2, (/ 1 16) + x1} tt() weight: (/ 3 16) U41(x1,x2,x3) weight: max{0, (/ 1 8) + x3, (/ 3 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 #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: n__0 tt U21(x1,x2,x3) status: [x3,x2,x1] precedence above: U11 s n__s n__isNat n__plus isNat plus #|0|() status: [] precedence above: U11(x1,x2) status: [x1,x2] precedence above: s(x1) status: [x1] precedence above: n__s n__isNat isNat #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: [x2,x1] precedence above: |0| U21 U11 s n__s #x n__isNat n__plus n__0 isNat n__x plus U31 #U41 tt U41 n__s(x1) status: [x1] precedence above: s n__isNat isNat #x(x1,x2) status: [x2,x1] precedence above: |0| U21 U11 s x n__s n__isNat n__plus n__0 isNat n__x plus U31 #U41 tt U41 #s(x1) status: [] precedence above: n__isNat(x1) status: x1 n__plus(x1,x2) status: [x1,x2] precedence above: U21 U11 s n__s n__isNat isNat plus n__0() status: [] precedence above: |0| tt isNat(x1) status: x1 n__x(x1,x2) status: [x2,x1] precedence above: |0| U21 U11 s x n__s #x n__isNat n__plus n__0 isNat plus U31 #U41 tt U41 plus(x1,x2) status: [x1,x2] precedence above: U21 U11 s n__s n__isNat n__plus isNat #U11(x1,x2) status: x2 U31(x1) status: [x1] precedence above: |0| n__0 tt #U41(x1,x2,x3) status: [x2,x3] precedence above: |0| U21 U11 s x n__s #x n__isNat n__plus n__0 isNat n__x plus U31 tt U41 #U21(x1,x2,x3) status: x3 tt() status: [] precedence above: U41(x1,x2,x3) status: [x2,x3,x1] precedence above: |0| U21 U11 s x n__s #x n__isNat n__plus n__0 isNat n__x plus U31 #U41 tt #U31(x1) status: [] precedence above: #and(x1,x2) status: x2 Usable rules: { 1..24 } Removed DPs: #20 #21 #24 #25 #31 #36 #37 Number of SCCs: 1, DPs: 11, edges: 17 SCC { #2 #3 #5 #12 #13 #15 #27 #29 #35 #38 #39 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... succeeded. |0|() weight: (/ 1 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: 0 activate(x1) weight: x1 and(x1,x2) weight: max{x2, x1} #plus(x1,x2) weight: max{(/ 3 8) + x2, x1} #activate(x1) weight: x1 x(x1,x2) weight: max{0, (/ 5 8) + x1} n__s(x1) weight: x1 #x(x1,x2) weight: max{0, (/ 5 8) + x1} #s(x1) weight: 0 n__isNat(x1) weight: (/ 1 8) n__plus(x1,x2) weight: max{(/ 1 8) + x2, x1} n__0() weight: (/ 1 8) isNat(x1) weight: (/ 1 8) n__x(x1,x2) weight: max{0, (/ 5 8) + x1} plus(x1,x2) weight: max{(/ 1 8) + x2, x1} #U11(x1,x2) weight: max{x2, (/ 3 8) + x1} U31(x1) weight: x1 #U41(x1,x2,x3) weight: max{0, (/ 5 8) + x3, (/ 3 8) + x1} #U21(x1,x2,x3) weight: max{x3, (/ 3 8) + x2, (/ 1 4) + x1} tt() weight: (/ 1 8) U41(x1,x2,x3) weight: max{0, (/ 5 8) + x3, x1} #U31(x1) weight: 0 #and(x1,x2) weight: max{0, (/ 1 8) + x2} Usable rules: { 1..24 } Removed DPs: #13 #29 Number of SCCs: 1, DPs: 9, edges: 13 SCC { #2 #3 #5 #12 #15 #27 #35 #38 #39 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... succeeded. |0|() status: [] precedence above: n__0 tt U21(x1,x2,x3) status: [x3,x2,x1] precedence above: U11 s n__s n__isNat n__plus isNat plus #|0|() status: [] precedence above: U11(x1,x2) status: [x1,x2] precedence above: s(x1) status: [x1] precedence above: n__s n__isNat isNat #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: [x2,x1] precedence above: |0| U21 U11 s n__s #x n__isNat n__plus n__0 isNat n__x plus U31 #U41 tt U41 n__s(x1) status: [x1] precedence above: s n__isNat isNat #x(x1,x2) status: [x2,x1] precedence above: |0| U21 U11 s x n__s n__isNat n__plus n__0 isNat n__x plus U31 #U41 tt U41 #s(x1) status: [] precedence above: n__isNat(x1) status: x1 n__plus(x1,x2) status: [x1,x2] precedence above: U21 U11 s n__s n__isNat isNat plus n__0() status: [] precedence above: |0| tt isNat(x1) status: x1 n__x(x1,x2) status: [x2,x1] precedence above: |0| U21 U11 s x n__s #x n__isNat n__plus n__0 isNat plus U31 #U41 tt U41 plus(x1,x2) status: [x1,x2] precedence above: U21 U11 s n__s n__isNat n__plus isNat #U11(x1,x2) status: x2 U31(x1) status: [x1] precedence above: |0| n__0 tt #U41(x1,x2,x3) status: [x2,x3] precedence above: |0| U21 U11 s x n__s #x n__isNat n__plus n__0 isNat n__x plus U31 tt U41 #U21(x1,x2,x3) status: x3 tt() status: [] precedence above: U41(x1,x2,x3) status: [x2,x3,x1] precedence above: |0| U21 U11 s x n__s #x n__isNat n__plus n__0 isNat n__x plus U31 #U41 tt #U31(x1) status: [] precedence above: #and(x1,x2) status: x2 Usable rules: { 1..24 } Removed DPs: #5 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 tt U21(x1,x2,x3) status: [x3,x2,x1] precedence above: U11 s and n__s n__isNat n__plus isNat plus #|0|() status: [] precedence above: U11(x1,x2) status: [x1,x2] precedence above: s(x1) status: [x1] precedence above: n__s #isNat(x1) status: x1 activate(x1) status: x1 and(x1,x2) status: [x2,x1] precedence above: s n__s #plus(x1,x2) status: [x1,x2] precedence above: s and n__s n__isNat isNat #U21 #activate(x1) status: x1 x(x1,x2) status: [x2,x1] precedence above: |0| U21 U11 s and n__s #x n__isNat n__plus n__0 isNat n__x plus U31 #U41 tt U41 n__s(x1) status: [x1] precedence above: s #x(x1,x2) status: [x2,x1] precedence above: |0| U21 U11 s and x n__s n__isNat n__plus n__0 isNat n__x plus U31 #U41 tt U41 #s(x1) status: [] precedence above: n__isNat(x1) status: [x1] precedence above: s and n__s isNat n__plus(x1,x2) status: [x1,x2] precedence above: U21 U11 s and n__s n__isNat isNat plus n__0() status: [] precedence above: |0| tt isNat(x1) status: [x1] precedence above: s and n__s n__isNat n__x(x1,x2) status: [x2,x1] precedence above: |0| U21 U11 s and x n__s #x n__isNat n__plus n__0 isNat plus U31 #U41 tt U41 plus(x1,x2) status: [x1,x2] precedence above: U21 U11 s and n__s n__isNat n__plus isNat #U11(x1,x2) status: x2 U31(x1) status: [] precedence above: |0| n__0 tt #U41(x1,x2,x3) status: [x2,x3] precedence above: |0| U21 U11 s and x n__s #x n__isNat n__plus n__0 isNat n__x plus U31 tt U41 #U21(x1,x2,x3) status: [x3,x2,x1] precedence above: s and #plus n__s n__isNat isNat tt() status: [] precedence above: U41(x1,x2,x3) status: [x2,x3,x1] precedence above: |0| U21 U11 s and x n__s #x n__isNat n__plus n__0 isNat n__x plus U31 #U41 tt #U31(x1) status: [] precedence above: #and(x1,x2) status: x2 Usable rules: { 1..24 } Removed DPs: #2 #12 Number of SCCs: 0, DPs: 0, edges: 0 YES