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(activate(X1),activate(X2)) 26: activate(n__s(X)) -> s(activate(X)) 27: activate(n__x(X1,X2)) -> x(activate(X1),activate(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(activate(X1),activate(X2)) #17: #activate(n__plus(X1,X2)) -> #activate(X1) #18: #activate(n__plus(X1,X2)) -> #activate(X2) #19: #U51(tt(),M,N) -> #U52(isNat(activate(N)),activate(M),activate(N)) #20: #U51(tt(),M,N) -> #isNat(activate(N)) #21: #U51(tt(),M,N) -> #activate(N) #22: #U51(tt(),M,N) -> #activate(M) #23: #U51(tt(),M,N) -> #activate(N) #24: #U71(tt(),M,N) -> #U72(isNat(activate(N)),activate(M),activate(N)) #25: #U71(tt(),M,N) -> #isNat(activate(N)) #26: #U71(tt(),M,N) -> #activate(N) #27: #U71(tt(),M,N) -> #activate(M) #28: #U71(tt(),M,N) -> #activate(N) #29: #activate(n__x(X1,X2)) -> #x(activate(X1),activate(X2)) #30: #activate(n__x(X1,X2)) -> #activate(X1) #31: #activate(n__x(X1,X2)) -> #activate(X2) #32: #plus(N,s(M)) -> #U51(isNat(M),M,N) #33: #plus(N,s(M)) -> #isNat(M) #34: #x(N,s(M)) -> #U71(isNat(M),M,N) #35: #x(N,s(M)) -> #isNat(M) #36: #activate(n__s(X)) -> #s(activate(X)) #37: #activate(n__s(X)) -> #activate(X) #38: #plus(N,0()) -> #U41(isNat(N),N) #39: #plus(N,0()) -> #isNat(N) #40: #U11(tt(),V2) -> #U12(isNat(activate(V2))) #41: #U11(tt(),V2) -> #isNat(activate(V2)) #42: #U11(tt(),V2) -> #activate(V2) #43: #U52(tt(),M,N) -> #s(plus(activate(N),activate(M))) #44: #U52(tt(),M,N) -> #plus(activate(N),activate(M)) #45: #U52(tt(),M,N) -> #activate(N) #46: #U52(tt(),M,N) -> #activate(M) #47: #isNat(n__x(V1,V2)) -> #U31(isNat(activate(V1)),activate(V2)) #48: #isNat(n__x(V1,V2)) -> #isNat(activate(V1)) #49: #isNat(n__x(V1,V2)) -> #activate(V1) #50: #isNat(n__x(V1,V2)) -> #activate(V2) #51: #U31(tt(),V2) -> #U32(isNat(activate(V2))) #52: #U31(tt(),V2) -> #isNat(activate(V2)) #53: #U31(tt(),V2) -> #activate(V2) #54: #x(N,0()) -> #U61(isNat(N)) #55: #x(N,0()) -> #isNat(N) Number of SCCs: 1, DPs: 47, edges: 319 SCC { #1..5 #7..11 #14..35 #37..39 #41 #42 #44..50 #52 #53 #55 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... succeeded. #0() weight: 0 #U72(x1,x2,x3) weight: max{0, (/ 5 8) + x3, (/ 3 8) + x2} #U32(x1) weight: 0 U21(x1) weight: (/ 1 8) + x1 U11(x1,x2) weight: 0 s(x1) weight: x1 #isNat(x1) weight: (/ 1 8) + x1 activate(x1) weight: x1 U71(x1,x2,x3) weight: max{0, (/ 1 2) + x3, (/ 1 4) + x2} #plus(x1,x2) weight: max{(/ 5 8) + x2, (/ 1 8) + x1} #activate(x1) weight: (/ 1 8) + x1 U72(x1,x2,x3) weight: max{0, (/ 1 2) + x3, (/ 1 4) + x2} #U52(x1,x2,x3) weight: max{0, (/ 1 8) + x3, (/ 5 8) + x2} U12(x1) weight: x1 x(x1,x2) weight: max{(/ 1 4) + x2, (/ 1 2) + x1} n__s(x1) weight: x1 #U12(x1) weight: 0 0() weight: (/ 1 8) #x(x1,x2) weight: max{(/ 3 8) + x2, (/ 5 8) + x1} #s(x1) weight: 0 n__plus(x1,x2) weight: max{(/ 1 2) + x2, x1} U32(x1) weight: 0 n__0() weight: (/ 1 8) isNat(x1) weight: (/ 1 8) + x1 n__x(x1,x2) weight: max{(/ 1 4) + x2, (/ 1 2) + x1} U52(x1,x2,x3) weight: max{0, x3, (/ 1 2) + x2} plus(x1,x2) weight: max{(/ 1 2) + x2, x1} U61(x1) weight: (/ 1 2) #U51(x1,x2,x3) weight: max{0, (/ 1 8) + x3, (/ 5 8) + x2} #U11(x1,x2) weight: max{0, (/ 1 4) + x2} U31(x1,x2) weight: 0 #U41(x1,x2) weight: max{0, (/ 1 8) + x2} #U21(x1) weight: 0 tt() weight: (/ 3 8) #U71(x1,x2,x3) weight: max{0, (/ 5 8) + x3, (/ 3 8) + x2} U51(x1,x2,x3) weight: max{0, x3, (/ 1 2) + 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: #2 #5 #9..11 #18 #22 #25..28 #30 #31 #33 #35 #41 #42 #46..50 #52 #53 #55 Number of SCCs: 1, DPs: 22, edges: 69 SCC { #1 #3 #4 #7 #8 #14..17 #19..21 #23 #24 #29 #32 #34 #37..39 #44 #45 } 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 x n__s 0 #x n__plus n__0 isNat n__x U52 plus U61 #U51 #U41 tt #U71 U51 #U32(x1) status: [] precedence above: U21(x1) status: x1 U11(x1,x2) status: [] precedence above: isNat tt s(x1) status: [x1] precedence above: U11 n__s isNat tt #isNat(x1) status: [x1] precedence above: #plus #activate #U52 #U51 #U41 activate(x1) status: x1 U71(x1,x2,x3) status: [x2,x3,x1] precedence above: #U72 U11 s #isNat activate #plus #activate U72 #U52 x n__s 0 #x n__plus n__0 isNat n__x U52 plus U61 #U51 #U41 tt #U71 U51 #plus(x1,x2) status: [x1,x2] precedence above: #isNat #activate #U52 #U51 #U41 #activate(x1) status: [x1] precedence above: #isNat #plus #U52 #U51 #U41 U72(x1,x2,x3) status: [x2,x3,x1] precedence above: #U72 U11 s #isNat activate U71 #plus #activate #U52 x n__s 0 #x n__plus n__0 isNat n__x U52 plus U61 #U51 #U41 tt #U71 U51 #U52(x1,x2,x3) status: [x3,x2] precedence above: #isNat #plus #activate #U51 #U41 U12(x1) status: x1 x(x1,x2) status: [x2,x1] precedence above: #U72 U11 s #isNat activate U71 #plus #activate U72 #U52 n__s 0 #x n__plus n__0 isNat n__x U52 plus U61 #U51 #U41 tt #U71 U51 n__s(x1) status: [x1] precedence above: U11 s isNat tt #U12(x1) status: [] precedence above: 0() status: [] precedence above: n__0 #x(x1,x2) status: [x2,x1] precedence above: #U72 U11 s #isNat activate U71 #plus #activate U72 #U52 x n__s 0 n__plus n__0 isNat n__x U52 plus U61 #U51 #U41 tt #U71 U51 #s(x1) status: [] precedence above: n__plus(x1,x2) status: [x1,x2] precedence above: U11 s #isNat #plus #activate #U52 n__s isNat U52 plus #U51 #U41 tt U51 U32(x1) status: x1 n__0() status: [] precedence above: 0 isNat(x1) status: [] precedence above: U11 tt n__x(x1,x2) status: [x2,x1] precedence above: #U72 U11 s #isNat activate U71 #plus #activate U72 #U52 x n__s 0 #x n__plus n__0 isNat U52 plus U61 #U51 #U41 tt #U71 U51 U52(x1,x2,x3) status: [x3,x2,x1] precedence above: U11 s #isNat #plus #activate #U52 n__s n__plus isNat plus #U51 #U41 tt U51 plus(x1,x2) status: [x1,x2] precedence above: U11 s #isNat #plus #activate #U52 n__s n__plus isNat U52 #U51 #U41 tt U51 U61(x1) status: [] precedence above: U11 s #isNat #plus #activate #U52 n__s 0 n__0 isNat #U51 #U41 tt #U51(x1,x2,x3) status: [x3,x2] precedence above: #isNat #plus #activate #U52 #U41 #U11(x1,x2) status: [x2] precedence above: U31(x1,x2) status: x1 #U41(x1,x2) status: [x2] precedence above: #isNat #plus #activate #U52 #U51 #U21(x1) status: [] precedence above: tt() status: [] precedence above: U11 isNat #U71(x1,x2,x3) status: [x2,x3,x1] precedence above: #U72 U11 s #isNat activate U71 #plus #activate U72 #U52 x n__s 0 #x n__plus n__0 isNat n__x U52 plus U61 #U51 #U41 tt U51 U51(x1,x2,x3) status: [x3,x2,x1] precedence above: U11 s #isNat #plus #activate #U52 n__s n__plus isNat U52 plus #U51 #U41 tt U41(x1,x2) status: x2 #U31(x1,x2) status: [x2,x1] precedence above: #U61(x1) status: [] precedence above: Usable rules: { 1..28 } Removed DPs: #3 #4 #7 #8 #14 #16 #17 #20 #21 #23 #29 #34 #37..39 #45 Number of SCCs: 1, DPs: 3, edges: 3 SCC { #19 #32 #44 } 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 x n__s 0 #x n__plus n__0 isNat n__x U52 plus U61 #U51 #U41 tt #U71 U51 #U32(x1) status: [] precedence above: U21(x1) status: x1 U11(x1,x2) status: [] precedence above: isNat tt s(x1) status: [x1] precedence above: U11 n__s isNat tt #isNat(x1) status: [x1] precedence above: #plus #activate #U52 #U51 #U41 activate(x1) status: x1 U71(x1,x2,x3) status: [x2,x3,x1] precedence above: #U72 U11 s #isNat activate #plus #activate U72 #U52 x n__s 0 #x n__plus n__0 isNat n__x U52 plus U61 #U51 #U41 tt #U71 U51 #plus(x1,x2) status: [x1,x2] precedence above: #isNat #activate #U52 #U51 #U41 #activate(x1) status: [x1] precedence above: #isNat #plus #U52 #U51 #U41 U72(x1,x2,x3) status: [x2,x3,x1] precedence above: #U72 U11 s #isNat activate U71 #plus #activate #U52 x n__s 0 #x n__plus n__0 isNat n__x U52 plus U61 #U51 #U41 tt #U71 U51 #U52(x1,x2,x3) status: [x3,x2] precedence above: #isNat #plus #activate #U51 #U41 U12(x1) status: x1 x(x1,x2) status: [x2,x1] precedence above: #U72 U11 s #isNat activate U71 #plus #activate U72 #U52 n__s 0 #x n__plus n__0 isNat n__x U52 plus U61 #U51 #U41 tt #U71 U51 n__s(x1) status: [x1] precedence above: U11 s isNat tt #U12(x1) status: [] precedence above: 0() status: [] precedence above: n__0 #x(x1,x2) status: [x2,x1] precedence above: #U72 U11 s #isNat activate U71 #plus #activate U72 #U52 x n__s 0 n__plus n__0 isNat n__x U52 plus U61 #U51 #U41 tt #U71 U51 #s(x1) status: [] precedence above: n__plus(x1,x2) status: [x1,x2] precedence above: U11 s #isNat #plus #activate #U52 n__s isNat U52 plus #U51 #U41 tt U51 U32(x1) status: x1 n__0() status: [] precedence above: 0 isNat(x1) status: [] precedence above: U11 tt n__x(x1,x2) status: [x2,x1] precedence above: #U72 U11 s #isNat activate U71 #plus #activate U72 #U52 x n__s 0 #x n__plus n__0 isNat U52 plus U61 #U51 #U41 tt #U71 U51 U52(x1,x2,x3) status: [x3,x2,x1] precedence above: U11 s #isNat #plus #activate #U52 n__s n__plus isNat plus #U51 #U41 tt U51 plus(x1,x2) status: [x1,x2] precedence above: U11 s #isNat #plus #activate #U52 n__s n__plus isNat U52 #U51 #U41 tt U51 U61(x1) status: [] precedence above: U11 s #isNat #plus #activate #U52 n__s 0 n__0 isNat #U51 #U41 tt #U51(x1,x2,x3) status: [x3,x2] precedence above: #isNat #plus #activate #U52 #U41 #U11(x1,x2) status: [x2] precedence above: U31(x1,x2) status: x1 #U41(x1,x2) status: [x2] precedence above: #isNat #plus #activate #U52 #U51 #U21(x1) status: [] precedence above: tt() status: [] precedence above: U11 isNat #U71(x1,x2,x3) status: [x2,x3,x1] precedence above: #U72 U11 s #isNat activate U71 #plus #activate U72 #U52 x n__s 0 #x n__plus n__0 isNat n__x U52 plus U61 #U51 #U41 tt U51 U51(x1,x2,x3) status: [x3,x2,x1] precedence above: U11 s #isNat #plus #activate #U52 n__s n__plus isNat U52 plus #U51 #U41 tt U41(x1,x2) status: x2 #U31(x1,x2) status: [x2,x1] precedence above: #U61(x1) status: [] precedence above: Usable rules: { 1..28 } Removed DPs: #32 Number of SCCs: 0, DPs: 0, edges: 0 YES