Input TRS: 1: U11(tt(),V2) -> U12(isNat(activate(V2))) 2: U12(tt()) -> tt() 3: U21(tt()) -> tt() 4: U31(tt(),V2) -> U32(isNat(activate(V2))) 5: U32(tt()) -> tt() 6: U41(tt(),N) -> activate(N) 7: U51(tt(),M,N) -> U52(isNat(activate(N)),activate(M),activate(N)) 8: U52(tt(),M,N) -> s(plus(activate(N),activate(M))) 9: U61(tt()) -> 0() 10: U71(tt(),M,N) -> U72(isNat(activate(N)),activate(M),activate(N)) 11: U72(tt(),M,N) -> plus(x(activate(N),activate(M)),activate(N)) 12: isNat(n__0()) -> tt() 13: isNat(n__plus(V1,V2)) -> U11(isNat(activate(V1)),activate(V2)) 14: isNat(n__s(V1)) -> U21(isNat(activate(V1))) 15: isNat(n__x(V1,V2)) -> U31(isNat(activate(V1)),activate(V2)) 16: plus(N,0()) -> U41(isNat(N),N) 17: plus(N,s(M)) -> U51(isNat(M),M,N) 18: x(N,0()) -> U61(isNat(N)) 19: x(N,s(M)) -> U71(isNat(M),M,N) 20: 0() -> n__0() 21: plus(X1,X2) -> n__plus(X1,X2) 22: s(X) -> n__s(X) 23: x(X1,X2) -> n__x(X1,X2) 24: activate(n__0()) -> 0() 25: activate(n__plus(X1,X2)) -> plus(X1,X2) 26: activate(n__s(X)) -> s(X) 27: activate(n__x(X1,X2)) -> x(X1,X2) 28: activate(X) -> X Number of strict rules: 28 Direct Order(PosReal,>,Poly) ... failed. Freezing ... failed. Dependency Pairs: #1: #U41(tt(),N) -> #activate(N) #2: #isNat(n__plus(V1,V2)) -> #U11(isNat(activate(V1)),activate(V2)) #3: #isNat(n__plus(V1,V2)) -> #isNat(activate(V1)) #4: #isNat(n__plus(V1,V2)) -> #activate(V1) #5: #isNat(n__plus(V1,V2)) -> #activate(V2) #6: #U61(tt()) -> #0() #7: #U72(tt(),M,N) -> #plus(x(activate(N),activate(M)),activate(N)) #8: #U72(tt(),M,N) -> #x(activate(N),activate(M)) #9: #U72(tt(),M,N) -> #activate(N) #10: #U72(tt(),M,N) -> #activate(M) #11: #U72(tt(),M,N) -> #activate(N) #12: #activate(n__0()) -> #0() #13: #isNat(n__s(V1)) -> #U21(isNat(activate(V1))) #14: #isNat(n__s(V1)) -> #isNat(activate(V1)) #15: #isNat(n__s(V1)) -> #activate(V1) #16: #activate(n__plus(X1,X2)) -> #plus(X1,X2) #17: #U51(tt(),M,N) -> #U52(isNat(activate(N)),activate(M),activate(N)) #18: #U51(tt(),M,N) -> #isNat(activate(N)) #19: #U51(tt(),M,N) -> #activate(N) #20: #U51(tt(),M,N) -> #activate(M) #21: #U51(tt(),M,N) -> #activate(N) #22: #U71(tt(),M,N) -> #U72(isNat(activate(N)),activate(M),activate(N)) #23: #U71(tt(),M,N) -> #isNat(activate(N)) #24: #U71(tt(),M,N) -> #activate(N) #25: #U71(tt(),M,N) -> #activate(M) #26: #U71(tt(),M,N) -> #activate(N) #27: #activate(n__x(X1,X2)) -> #x(X1,X2) #28: #plus(N,s(M)) -> #U51(isNat(M),M,N) #29: #plus(N,s(M)) -> #isNat(M) #30: #x(N,s(M)) -> #U71(isNat(M),M,N) #31: #x(N,s(M)) -> #isNat(M) #32: #activate(n__s(X)) -> #s(X) #33: #plus(N,0()) -> #U41(isNat(N),N) #34: #plus(N,0()) -> #isNat(N) #35: #U11(tt(),V2) -> #U12(isNat(activate(V2))) #36: #U11(tt(),V2) -> #isNat(activate(V2)) #37: #U11(tt(),V2) -> #activate(V2) #38: #U52(tt(),M,N) -> #s(plus(activate(N),activate(M))) #39: #U52(tt(),M,N) -> #plus(activate(N),activate(M)) #40: #U52(tt(),M,N) -> #activate(N) #41: #U52(tt(),M,N) -> #activate(M) #42: #isNat(n__x(V1,V2)) -> #U31(isNat(activate(V1)),activate(V2)) #43: #isNat(n__x(V1,V2)) -> #isNat(activate(V1)) #44: #isNat(n__x(V1,V2)) -> #activate(V1) #45: #isNat(n__x(V1,V2)) -> #activate(V2) #46: #U31(tt(),V2) -> #U32(isNat(activate(V2))) #47: #U31(tt(),V2) -> #isNat(activate(V2)) #48: #U31(tt(),V2) -> #activate(V2) #49: #x(N,0()) -> #U61(isNat(N)) #50: #x(N,0()) -> #isNat(N) Number of SCCs: 1, DPs: 42, edges: 189 SCC { #1..5 #7..11 #14..31 #33 #34 #36 #37 #39..45 #47 #48 #50 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... succeeded. #0() weight: 0 #U72(x1,x2,x3) weight: max{0, (/ 1 8) + x3, (/ 3 8) + x2} #U32(x1) weight: 0 U21(x1) weight: (/ 1 4) U11(x1,x2) weight: max{(/ 1 4) + x2, (/ 1 8) + x1} s(x1) weight: x1 #isNat(x1) weight: (/ 1 8) + x1 activate(x1) weight: x1 U71(x1,x2,x3) weight: max{0, x3, (/ 1 4) + x2} #plus(x1,x2) weight: max{(/ 1 8) + x2, (/ 1 8) + x1} #activate(x1) weight: (/ 1 8) + x1 U72(x1,x2,x3) weight: max{0, x3, (/ 1 4) + x2} #U52(x1,x2,x3) weight: max{0, (/ 1 8) + x3, (/ 1 8) + x2} U12(x1) weight: x1 x(x1,x2) weight: max{(/ 1 4) + x2, x1} n__s(x1) weight: x1 #U12(x1) weight: 0 0() weight: (/ 1 8) #x(x1,x2) weight: max{(/ 3 8) + x2, (/ 1 8) + x1} #s(x1) weight: 0 n__plus(x1,x2) weight: max{x2, x1} U32(x1) weight: (/ 5 8) n__0() weight: (/ 1 8) isNat(x1) weight: (/ 1 8) n__x(x1,x2) weight: max{(/ 1 4) + x2, x1} U52(x1,x2,x3) weight: max{0, x3, x2} plus(x1,x2) weight: max{x2, x1} U61(x1) weight: (/ 1 8) #U51(x1,x2,x3) weight: max{0, (/ 1 8) + x3, (/ 1 8) + x2} #U11(x1,x2) weight: max{0, (/ 1 8) + x2} U31(x1,x2) weight: max{0, (/ 1 8) + x1} #U41(x1,x2) weight: max{0, (/ 1 8) + x2} #U21(x1) weight: 0 tt() weight: (/ 3 8) #U71(x1,x2,x3) weight: max{0, (/ 1 8) + x3, (/ 3 8) + x2} U51(x1,x2,x3) weight: max{0, x3, x2} U41(x1,x2) weight: max{0, x2} #U31(x1,x2) weight: max{0, (/ 1 4) + x2} #U61(x1) weight: 0 Usable rules: { 6..11 16..28 } Removed DPs: #10 #25 #31 #42 #45 #47 #48 Number of SCCs: 1, DPs: 35, edges: 137 SCC { #1..5 #7..9 #11 #14..24 #26..30 #33 #34 #36 #37 #39..41 #43 #44 #50 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... succeeded. #0() weight: 0 #U72(x1,x2,x3) weight: max{(/ 5 8) + x3, (/ 13 16) + x2, (/ 5 16) + x1} #U32(x1) weight: 0 U21(x1) weight: x1 U11(x1,x2) weight: max{0, x1} s(x1) weight: x1 #isNat(x1) weight: (/ 5 16) + x1 activate(x1) weight: x1 U71(x1,x2,x3) weight: max{0, (/ 5 16) + x3, (/ 1 2) + x2} #plus(x1,x2) weight: max{(/ 5 16) + x2, (/ 5 16) + x1} #activate(x1) weight: (/ 5 16) + x1 U72(x1,x2,x3) weight: max{(/ 5 16) + x3, (/ 1 2) + x2, (/ 1 4) + x1} #U52(x1,x2,x3) weight: max{(/ 5 16) + x3, (/ 5 16) + x2, x1} U12(x1) weight: (/ 1 16) x(x1,x2) weight: max{(/ 1 2) + x2, (/ 5 16) + x1} n__s(x1) weight: x1 #U12(x1) weight: 0 0() weight: (/ 5 16) #x(x1,x2) weight: max{(/ 13 16) + x2, (/ 5 8) + x1} #s(x1) weight: 0 n__plus(x1,x2) weight: max{x2, x1} U32(x1) weight: (/ 1 16) n__0() weight: (/ 5 16) isNat(x1) weight: (/ 1 4) n__x(x1,x2) weight: max{(/ 1 2) + x2, (/ 5 16) + x1} U52(x1,x2,x3) weight: max{0, x3, x2} plus(x1,x2) weight: max{x2, x1} U61(x1) weight: (/ 3 8) #U51(x1,x2,x3) weight: max{0, (/ 5 16) + x3, (/ 5 16) + x2} #U11(x1,x2) weight: max{(/ 5 16) + x2, x1} U31(x1,x2) weight: max{0, x1} #U41(x1,x2) weight: max{(/ 5 16) + x2, (/ 5 16) + x1} #U21(x1) weight: 0 tt() weight: (/ 1 16) #U71(x1,x2,x3) weight: max{(/ 5 8) + x3, (/ 13 16) + x2, (/ 7 16) + x1} U51(x1,x2,x3) weight: max{0, x3, x2} U41(x1,x2) weight: max{0, x2} #U31(x1,x2) weight: 0 #U61(x1) weight: 0 Usable rules: { 1..28 } Removed DPs: #9 #11 #23 #24 #26 #43 #44 #50 Number of SCCs: 1, DPs: 27, edges: 84 SCC { #1..5 #7 #8 #14..22 #27..30 #33 #34 #36 #37 #39..41 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... succeeded. #0() weight: 0 #U72(x1,x2,x3) weight: max{0, (/ 3 8) + x3, (/ 1 2) + x2} #U32(x1) weight: 0 U21(x1) weight: (/ 1 8) + x1 U11(x1,x2) weight: max{(/ 1 4) + x2, (/ 1 8) + x1} s(x1) weight: x1 #isNat(x1) weight: (/ 1 8) + x1 activate(x1) weight: x1 U71(x1,x2,x3) weight: max{0, (/ 1 4) + x3, (/ 3 8) + x2} #plus(x1,x2) weight: max{(/ 1 4) + x2, (/ 1 8) + x1} #activate(x1) weight: (/ 1 8) + x1 U72(x1,x2,x3) weight: max{0, (/ 1 4) + x3, (/ 3 8) + x2} #U52(x1,x2,x3) weight: max{0, (/ 1 8) + x3, (/ 1 4) + x2} U12(x1) weight: (/ 3 8) x(x1,x2) weight: max{(/ 3 8) + x2, (/ 1 4) + x1} n__s(x1) weight: x1 #U12(x1) weight: 0 0() weight: (/ 1 8) #x(x1,x2) weight: max{(/ 1 2) + x2, (/ 3 8) + x1} #s(x1) weight: 0 n__plus(x1,x2) weight: max{(/ 1 4) + x2, x1} U32(x1) weight: 0 n__0() weight: (/ 1 8) isNat(x1) weight: (/ 1 8) n__x(x1,x2) weight: max{(/ 3 8) + x2, (/ 1 4) + x1} U52(x1,x2,x3) weight: max{0, x3, (/ 1 4) + x2} plus(x1,x2) weight: max{(/ 1 4) + x2, x1} U61(x1) weight: (/ 3 8) #U51(x1,x2,x3) weight: max{0, (/ 1 8) + x3, (/ 1 4) + x2} #U11(x1,x2) weight: max{0, (/ 1 4) + x2} U31(x1,x2) weight: max{0, (/ 1 4) + x2} #U41(x1,x2) weight: max{0, (/ 1 8) + x2} #U21(x1) weight: 0 tt() weight: (/ 1 2) #U71(x1,x2,x3) weight: max{0, (/ 3 8) + x3, (/ 1 2) + x2} U51(x1,x2,x3) weight: max{0, x3, (/ 1 4) + x2} U41(x1,x2) weight: max{0, x2} #U31(x1,x2) weight: 0 #U61(x1) weight: 0 Usable rules: { 6..11 16..28 } Removed DPs: #2 #5 #20 #29 #36 #37 #41 Number of SCCs: 1, DPs: 20, edges: 49 SCC { #1 #3 #4 #7 #8 #14..19 #21 #22 #27 #28 #30 #33 #34 #39 #40 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... succeeded. #0() status: [] precedence above: #U72(x1,x2,x3) status: [x2,x3,x1] precedence above: U11 s #isNat activate U71 #plus #activate U72 #U52 U12 x n__s #x n__plus isNat n__x U52 plus #U51 U31 #U41 tt #U71 U51 #U32(x1) status: [] precedence above: U21(x1) status: x1 U11(x1,x2) status: [] precedence above: s activate #activate U12 n__s isNat U31 tt s(x1) status: [x1] precedence above: U11 activate #activate U12 n__s isNat U31 tt #isNat(x1) status: [x1] precedence above: activate(x1) status: x1 U71(x1,x2,x3) status: [x2,x3,x1] precedence above: #U72 U11 s #isNat activate #plus #activate U72 #U52 U12 x n__s #x n__plus isNat n__x U52 plus #U51 U31 #U41 tt #U71 U51 #plus(x1,x2) status: [x1] precedence above: U11 s #isNat activate #activate #U52 U12 n__s isNat #U51 U31 #U41 tt #activate(x1) status: [x1] precedence above: U72(x1,x2,x3) status: [x2,x3,x1] precedence above: #U72 U11 s #isNat activate U71 #plus #activate #U52 U12 x n__s #x n__plus isNat n__x U52 plus #U51 U31 #U41 tt #U71 U51 #U52(x1,x2,x3) status: [x3] precedence above: U11 s #isNat activate #plus #activate U12 n__s isNat #U51 U31 #U41 tt U12(x1) status: [] precedence above: U11 s activate #activate n__s isNat U31 tt x(x1,x2) status: [x2,x1] precedence above: #U72 U11 s #isNat activate U71 #plus #activate U72 #U52 U12 n__s #x n__plus isNat n__x U52 plus #U51 U31 #U41 tt #U71 U51 n__s(x1) status: [x1] precedence above: U11 s activate #activate U12 isNat U31 tt #U12(x1) status: [] precedence above: 0() status: [] precedence above: U11 s activate #activate U12 n__s n__0 isNat U61 U31 tt #x(x1,x2) status: [x2,x1] precedence above: #U72 U11 s #isNat activate U71 #plus #activate U72 #U52 U12 x n__s n__plus isNat n__x U52 plus #U51 U31 #U41 tt #U71 U51 #s(x1) status: [] precedence above: n__plus(x1,x2) status: [x2,x1] precedence above: U11 s #isNat activate #plus #activate #U52 U12 n__s isNat U52 plus #U51 U31 #U41 tt U51 U32(x1) status: x1 n__0() status: [] precedence above: U11 s activate #activate U12 n__s 0 isNat U61 U31 tt isNat(x1) status: [] precedence above: U11 s activate #activate U12 n__s U31 tt n__x(x1,x2) status: [x2,x1] precedence above: #U72 U11 s #isNat activate U71 #plus #activate U72 #U52 U12 x n__s #x n__plus isNat U52 plus #U51 U31 #U41 tt #U71 U51 U52(x1,x2,x3) status: [x2,x3,x1] precedence above: U11 s #isNat activate #plus #activate #U52 U12 n__s n__plus isNat plus #U51 U31 #U41 tt U51 plus(x1,x2) status: [x2,x1] precedence above: U11 s #isNat activate #plus #activate #U52 U12 n__s n__plus isNat U52 #U51 U31 #U41 tt U51 U61(x1) status: [] precedence above: U11 s activate #activate U12 n__s 0 n__0 isNat U31 tt #U51(x1,x2,x3) status: [x3] precedence above: U11 s #isNat activate #plus #activate #U52 U12 n__s isNat U31 #U41 tt #U11(x1,x2) status: [] precedence above: U31(x1,x2) status: [] precedence above: U11 s activate #activate U12 n__s isNat tt #U41(x1,x2) status: [x2] precedence above: U11 s #isNat activate #plus #activate #U52 U12 n__s isNat #U51 U31 tt #U21(x1) status: [] precedence above: tt() status: [] precedence above: U11 s activate #activate U12 n__s isNat U31 #U71(x1,x2,x3) status: [x2,x3,x1] precedence above: #U72 U11 s #isNat activate U71 #plus #activate U72 #U52 U12 x n__s #x n__plus isNat n__x U52 plus #U51 U31 #U41 tt U51 U51(x1,x2,x3) status: [x2,x3,x1] precedence above: U11 s #isNat activate #plus #activate #U52 U12 n__s n__plus isNat U52 plus #U51 U31 #U41 tt U41(x1,x2) status: x2 #U31(x1,x2) status: [x2] precedence above: #U61(x1) status: [] precedence above: Usable rules: { 1..28 } Removed DPs: #1 #3 #4 #7 #8 #14..16 #18 #19 #21 #27 #30 #34 #40 Number of SCCs: 1, DPs: 3, edges: 3 SCC { #17 #28 #39 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... succeeded. #0() status: [] precedence above: #U72(x1,x2,x3) status: [x2,x3] precedence above: U11 s #isNat activate U71 #plus #activate U72 #U52 U12 x n__s #x n__plus isNat n__x U52 plus #U51 U31 #U41 tt #U71 U51 U41 #U32(x1) status: [] precedence above: U21(x1) status: x1 U11(x1,x2) status: [] precedence above: s activate #activate U12 n__s isNat U31 tt s(x1) status: [x1] precedence above: U11 activate #activate U12 n__s isNat U31 tt #isNat(x1) status: [x1] precedence above: activate(x1) status: x1 U71(x1,x2,x3) status: [x2,x3,x1] precedence above: #U72 U11 s #isNat activate #plus #activate U72 #U52 U12 x n__s #x n__plus isNat n__x U52 plus #U51 U31 #U41 tt #U71 U51 U41 #plus(x1,x2) status: [x1,x2] precedence above: U11 s #isNat activate #activate #U52 U12 n__s isNat #U51 U31 #U41 tt #activate(x1) status: [x1] precedence above: U72(x1,x2,x3) status: [x2,x3,x1] precedence above: #U72 U11 s #isNat activate U71 #plus #activate #U52 U12 x n__s #x n__plus isNat n__x U52 plus #U51 U31 #U41 tt #U71 U51 U41 #U52(x1,x2,x3) status: [x3,x2] precedence above: U11 s #isNat activate #plus #activate U12 n__s isNat #U51 U31 #U41 tt U12(x1) status: [] precedence above: U11 s activate #activate n__s isNat U31 tt x(x1,x2) status: [x2,x1] precedence above: #U72 U11 s #isNat activate U71 #plus #activate U72 #U52 U12 n__s #x n__plus isNat n__x U52 plus #U51 U31 #U41 tt #U71 U51 U41 n__s(x1) status: [x1] precedence above: U11 s activate #activate U12 isNat U31 tt #U12(x1) status: [] precedence above: 0() status: [] precedence above: U11 s activate #activate U12 n__s n__0 isNat U61 U31 tt #x(x1,x2) status: [x2,x1] precedence above: #U72 U11 s #isNat activate U71 #plus #activate U72 #U52 U12 x n__s n__plus isNat n__x U52 plus #U51 U31 #U41 tt #U71 U51 U41 #s(x1) status: [] precedence above: n__plus(x1,x2) status: [x2,x1] precedence above: U11 s #isNat activate #plus #activate #U52 U12 n__s isNat U52 plus #U51 U31 #U41 tt U51 U41 U32(x1) status: x1 n__0() status: [] precedence above: U11 s activate #activate U12 n__s 0 isNat U61 U31 tt isNat(x1) status: [] precedence above: U11 s activate #activate U12 n__s U31 tt n__x(x1,x2) status: [x2,x1] precedence above: #U72 U11 s #isNat activate U71 #plus #activate U72 #U52 U12 x n__s #x n__plus isNat U52 plus #U51 U31 #U41 tt #U71 U51 U41 U52(x1,x2,x3) status: [x2,x3,x1] precedence above: U11 s #isNat activate #plus #activate #U52 U12 n__s n__plus isNat plus #U51 U31 #U41 tt U51 U41 plus(x1,x2) status: [x2,x1] precedence above: U11 s #isNat activate #plus #activate #U52 U12 n__s n__plus isNat U52 #U51 U31 #U41 tt U51 U41 U61(x1) status: [] precedence above: U11 s activate #activate U12 n__s 0 n__0 isNat U31 tt #U51(x1,x2,x3) status: [x3,x2] precedence above: U11 s #isNat activate #plus #activate #U52 U12 n__s isNat U31 #U41 tt #U11(x1,x2) status: [] precedence above: U31(x1,x2) status: [] precedence above: U11 s activate #activate U12 n__s isNat tt #U41(x1,x2) status: [x2] precedence above: U11 s #isNat activate #plus #activate #U52 U12 n__s isNat #U51 U31 tt #U21(x1) status: [] precedence above: tt() status: [] precedence above: U11 s activate #activate U12 n__s isNat U31 #U71(x1,x2,x3) status: [x2,x3,x1] precedence above: #U72 U11 s #isNat activate U71 #plus #activate U72 #U52 U12 x n__s #x n__plus isNat n__x U52 plus #U51 U31 #U41 tt U51 U41 U51(x1,x2,x3) status: [x2,x3,x1] precedence above: U11 s #isNat activate #plus #activate #U52 U12 n__s n__plus isNat U52 plus #U51 U31 #U41 tt U41 U41(x1,x2) status: [x2] precedence above: #U31(x1,x2) status: [x2] precedence above: #U61(x1) status: [] precedence above: Usable rules: { 1..28 } Removed DPs: #28 Number of SCCs: 0, DPs: 0, edges: 0 YES