Input TRS: 1: U11(tt(),V1,V2) -> U12(isNat(activate(V1)),activate(V2)) 2: U12(tt(),V2) -> U13(isNat(activate(V2))) 3: U13(tt()) -> tt() 4: U21(tt(),V1) -> U22(isNat(activate(V1))) 5: U22(tt()) -> tt() 6: U31(tt(),V1,V2) -> U32(isNat(activate(V1)),activate(V2)) 7: U32(tt(),V2) -> U33(isNat(activate(V2))) 8: U33(tt()) -> tt() 9: U41(tt(),N) -> activate(N) 10: U51(tt(),M,N) -> s(plus(activate(N),activate(M))) 11: U61(tt()) -> 0() 12: U71(tt(),M,N) -> plus(x(activate(N),activate(M)),activate(N)) 13: and(tt(),X) -> activate(X) 14: isNat(n__0()) -> tt() 15: isNat(n__plus(V1,V2)) -> U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) 16: isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1)) 17: isNat(n__x(V1,V2)) -> U31(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) 18: isNatKind(n__0()) -> tt() 19: isNatKind(n__plus(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) 20: isNatKind(n__s(V1)) -> isNatKind(activate(V1)) 21: isNatKind(n__x(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) 22: plus(N,0()) -> U41(and(isNat(N),n__isNatKind(N)),N) 23: plus(N,s(M)) -> U51(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) 24: x(N,0()) -> U61(and(isNat(N),n__isNatKind(N))) 25: x(N,s(M)) -> U71(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) 26: 0() -> n__0() 27: plus(X1,X2) -> n__plus(X1,X2) 28: isNatKind(X) -> n__isNatKind(X) 29: s(X) -> n__s(X) 30: x(X1,X2) -> n__x(X1,X2) 31: and(X1,X2) -> n__and(X1,X2) 32: activate(n__0()) -> 0() 33: activate(n__plus(X1,X2)) -> plus(X1,X2) 34: activate(n__isNatKind(X)) -> isNatKind(X) 35: activate(n__s(X)) -> s(X) 36: activate(n__x(X1,X2)) -> x(X1,X2) 37: activate(n__and(X1,X2)) -> and(X1,X2) 38: activate(X) -> X Number of strict rules: 38 Direct Order(PosReal,>,Poly) ... failed. Freezing ... failed. Dependency Pairs: #1: #U12(tt(),V2) -> #U13(isNat(activate(V2))) #2: #U12(tt(),V2) -> #isNat(activate(V2)) #3: #U12(tt(),V2) -> #activate(V2) #4: #activate(n__s(X)) -> #s(X) #5: #activate(n__and(X1,X2)) -> #and(X1,X2) #6: #U31(tt(),V1,V2) -> #U32(isNat(activate(V1)),activate(V2)) #7: #U31(tt(),V1,V2) -> #isNat(activate(V1)) #8: #U31(tt(),V1,V2) -> #activate(V1) #9: #U31(tt(),V1,V2) -> #activate(V2) #10: #and(tt(),X) -> #activate(X) #11: #U41(tt(),N) -> #activate(N) #12: #U61(tt()) -> #0() #13: #x(N,0()) -> #U61(and(isNat(N),n__isNatKind(N))) #14: #x(N,0()) -> #and(isNat(N),n__isNatKind(N)) #15: #x(N,0()) -> #isNat(N) #16: #plus(N,s(M)) -> #U51(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) #17: #plus(N,s(M)) -> #and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))) #18: #plus(N,s(M)) -> #and(isNat(M),n__isNatKind(M)) #19: #plus(N,s(M)) -> #isNat(M) #20: #plus(N,s(M)) -> #isNat(N) #21: #U71(tt(),M,N) -> #plus(x(activate(N),activate(M)),activate(N)) #22: #U71(tt(),M,N) -> #x(activate(N),activate(M)) #23: #U71(tt(),M,N) -> #activate(N) #24: #U71(tt(),M,N) -> #activate(M) #25: #U71(tt(),M,N) -> #activate(N) #26: #x(N,s(M)) -> #U71(and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))),M,N) #27: #x(N,s(M)) -> #and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))) #28: #x(N,s(M)) -> #and(isNat(M),n__isNatKind(M)) #29: #x(N,s(M)) -> #isNat(M) #30: #x(N,s(M)) -> #isNat(N) #31: #isNatKind(n__s(V1)) -> #isNatKind(activate(V1)) #32: #isNatKind(n__s(V1)) -> #activate(V1) #33: #U32(tt(),V2) -> #U33(isNat(activate(V2))) #34: #U32(tt(),V2) -> #isNat(activate(V2)) #35: #U32(tt(),V2) -> #activate(V2) #36: #U51(tt(),M,N) -> #s(plus(activate(N),activate(M))) #37: #U51(tt(),M,N) -> #plus(activate(N),activate(M)) #38: #U51(tt(),M,N) -> #activate(N) #39: #U51(tt(),M,N) -> #activate(M) #40: #activate(n__plus(X1,X2)) -> #plus(X1,X2) #41: #plus(N,0()) -> #U41(and(isNat(N),n__isNatKind(N)),N) #42: #plus(N,0()) -> #and(isNat(N),n__isNatKind(N)) #43: #plus(N,0()) -> #isNat(N) #44: #activate(n__isNatKind(X)) -> #isNatKind(X) #45: #isNat(n__x(V1,V2)) -> #U31(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) #46: #isNat(n__x(V1,V2)) -> #and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) #47: #isNat(n__x(V1,V2)) -> #isNatKind(activate(V1)) #48: #isNat(n__x(V1,V2)) -> #activate(V1) #49: #isNat(n__x(V1,V2)) -> #activate(V2) #50: #isNat(n__x(V1,V2)) -> #activate(V1) #51: #isNat(n__x(V1,V2)) -> #activate(V2) #52: #activate(n__0()) -> #0() #53: #isNatKind(n__plus(V1,V2)) -> #and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) #54: #isNatKind(n__plus(V1,V2)) -> #isNatKind(activate(V1)) #55: #isNatKind(n__plus(V1,V2)) -> #activate(V1) #56: #isNatKind(n__plus(V1,V2)) -> #activate(V2) #57: #activate(n__x(X1,X2)) -> #x(X1,X2) #58: #isNatKind(n__x(V1,V2)) -> #and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) #59: #isNatKind(n__x(V1,V2)) -> #isNatKind(activate(V1)) #60: #isNatKind(n__x(V1,V2)) -> #activate(V1) #61: #isNatKind(n__x(V1,V2)) -> #activate(V2) #62: #isNat(n__s(V1)) -> #U21(isNatKind(activate(V1)),activate(V1)) #63: #isNat(n__s(V1)) -> #isNatKind(activate(V1)) #64: #isNat(n__s(V1)) -> #activate(V1) #65: #isNat(n__s(V1)) -> #activate(V1) #66: #U11(tt(),V1,V2) -> #U12(isNat(activate(V1)),activate(V2)) #67: #U11(tt(),V1,V2) -> #isNat(activate(V1)) #68: #U11(tt(),V1,V2) -> #activate(V1) #69: #U11(tt(),V1,V2) -> #activate(V2) #70: #isNat(n__plus(V1,V2)) -> #U11(and(isNatKind(activate(V1)),n__isNatKind(activate(V2))),activate(V1),activate(V2)) #71: #isNat(n__plus(V1,V2)) -> #and(isNatKind(activate(V1)),n__isNatKind(activate(V2))) #72: #isNat(n__plus(V1,V2)) -> #isNatKind(activate(V1)) #73: #isNat(n__plus(V1,V2)) -> #activate(V1) #74: #isNat(n__plus(V1,V2)) -> #activate(V2) #75: #isNat(n__plus(V1,V2)) -> #activate(V1) #76: #isNat(n__plus(V1,V2)) -> #activate(V2) #77: #U21(tt(),V1) -> #U22(isNat(activate(V1))) #78: #U21(tt(),V1) -> #isNat(activate(V1)) #79: #U21(tt(),V1) -> #activate(V1) Number of SCCs: 1, DPs: 71, edges: 456 SCC { #2 #3 #5..11 #14..32 #34 #35 #37..51 #53..76 #78 #79 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... succeeded. #0() weight: 0 #U32(x1,x2) weight: max{(/ 3 16) + x2, (/ 1 4) + x1} isNatKind(x1) weight: x1 U21(x1,x2) weight: max{0, (/ 1 16) + x1} U11(x1,x2,x3) weight: max{0, (/ 1 8) + x3, (/ 1 8) + x1} s(x1) weight: x1 #isNat(x1) weight: (/ 1 8) + x1 activate(x1) weight: x1 U71(x1,x2,x3) weight: max{0, (/ 3 8) + x3, (/ 5 16) + x2} n__isNatKind(x1) weight: x1 and(x1,x2) weight: max{0, x2} #plus(x1,x2) weight: max{(/ 3 8) + x2, (/ 1 8) + x1} #activate(x1) weight: (/ 1 8) + x1 #U13(x1) weight: 0 U12(x1,x2) weight: 0 #U33(x1) weight: 0 x(x1,x2) weight: max{(/ 5 16) + x2, (/ 3 8) + x1} n__s(x1) weight: x1 #U12(x1,x2) weight: max{(/ 1 8) + x2, x1} 0() weight: (/ 1 16) #x(x1,x2) weight: max{(/ 7 16) + x2, (/ 1 2) + x1} #s(x1) weight: 0 n__plus(x1,x2) weight: max{(/ 1 4) + x2, x1} U32(x1,x2) weight: max{0, (/ 3 8) + x1} U33(x1) weight: 0 n__0() weight: (/ 1 16) isNat(x1) weight: (/ 1 16) + x1 n__x(x1,x2) weight: max{(/ 5 16) + x2, (/ 3 8) + x1} plus(x1,x2) weight: max{(/ 1 4) + x2, x1} U61(x1) weight: (/ 1 16) #U51(x1,x2,x3) weight: max{(/ 1 8) + x3, (/ 3 8) + x2, (/ 1 16) + x1} #U11(x1,x2,x3) weight: max{(/ 3 8) + x3, (/ 1 8) + x2, (/ 3 16) + x1} U31(x1,x2,x3) weight: max{(/ 3 8) + x3, (/ 7 16) + x2, (/ 3 8) + x1} #U41(x1,x2) weight: max{(/ 1 8) + x2, (/ 1 16) + x1} #U21(x1,x2) weight: max{0, (/ 1 8) + x2} #U22(x1) weight: 0 tt() weight: 0 n__and(x1,x2) weight: max{0, x2} #U71(x1,x2,x3) weight: max{0, (/ 1 2) + x3, (/ 7 16) + x2} U13(x1) weight: 0 U22(x1) weight: 0 U51(x1,x2,x3) weight: max{0, x3, (/ 1 4) + x2} #isNatKind(x1) weight: (/ 1 8) + x1 U41(x1,x2) weight: max{0, x2} #U31(x1,x2,x3) weight: max{(/ 1 4) + x3, (/ 3 8) + x2, (/ 3 8) + x1} #and(x1,x2) weight: max{0, (/ 1 8) + x2} #U61(x1) weight: 0 Usable rules: { 1..38 } Removed DPs: #6..9 #14 #15 #18 #19 #23..25 #27..30 #34 #35 #39 #45..51 #53 #56 #58..61 #66 #69 #71 #74 #76 Number of SCCs: 1, DPs: 33, edges: 128 SCC { #5 #10 #11 #16 #17 #20..22 #26 #31 #32 #37 #38 #40..44 #54 #55 #57 #62..65 #67 #68 #70 #72 #73 #75 #78 #79 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... succeeded. #0() status: [] precedence above: #U32(x1,x2) status: [] precedence above: isNatKind(x1) status: [x1] precedence above: s #isNat n__isNatKind and #activate n__s #U21 n__and #isNatKind #and U21(x1,x2) status: x1 U11(x1,x2,x3) status: [x2] precedence above: isNatKind s #isNat n__isNatKind and #activate U12 n__s isNat #U21 tt n__and U13 U22 #isNatKind #and s(x1) status: [x1] precedence above: #isNat #activate n__s #U21 #isNatKind #and #isNat(x1) status: [x1] precedence above: #activate #isNatKind activate(x1) status: x1 U71(x1,x2,x3) status: [x3,x2,x1] precedence above: isNatKind U11 s #isNat n__isNatKind and #plus #activate U12 x n__s #x n__plus U32 U33 isNat n__x plus #U51 #U11 U31 #U41 #U21 tt n__and #U71 U13 U22 U51 #isNatKind U41 #and n__isNatKind(x1) status: [x1] precedence above: isNatKind s #isNat and #activate n__s #U21 n__and #isNatKind #and and(x1,x2) status: [x1,x2] precedence above: isNatKind s #isNat n__isNatKind #activate n__s #U21 n__and #isNatKind #and #plus(x1,x2) status: [x2,x1] precedence above: isNatKind s #isNat n__isNatKind and #activate n__s isNat #U51 #U11 #U41 #U21 n__and #isNatKind #and #activate(x1) status: [x1] precedence above: #isNat #isNatKind #U13(x1) status: [] precedence above: U12(x1,x2) status: [x1] precedence above: isNatKind s #isNat n__isNatKind and #activate n__s isNat #U21 tt n__and U13 U22 #isNatKind #and #U33(x1) status: [] precedence above: x(x1,x2) status: [x1,x2] precedence above: isNatKind U11 s #isNat U71 n__isNatKind and #plus #activate U12 n__s #x n__plus U32 U33 isNat n__x plus #U51 #U11 U31 #U41 #U21 tt n__and #U71 U13 U22 U51 #isNatKind U41 #and n__s(x1) status: [x1] precedence above: s #isNat #activate #U21 #isNatKind #and #U12(x1,x2) status: [x1] precedence above: 0() status: [] precedence above: n__0 U61 tt U13 U22 #x(x1,x2) status: [x1,x2] precedence above: isNatKind U11 s #isNat U71 n__isNatKind and #plus #activate U12 x n__s n__plus U32 U33 isNat n__x plus #U51 #U11 U31 #U41 #U21 tt n__and #U71 U13 U22 U51 #isNatKind U41 #and #s(x1) status: [] precedence above: n__plus(x1,x2) status: [x1,x2] precedence above: isNatKind U11 s #isNat n__isNatKind and #plus #activate U12 n__s isNat plus #U51 #U11 #U41 #U21 tt n__and U13 U22 U51 #isNatKind U41 #and U32(x1,x2) status: [] precedence above: isNatKind U11 s #isNat U71 n__isNatKind and #plus #activate U12 x n__s #x n__plus U33 isNat n__x plus #U51 #U11 U31 #U41 #U21 tt n__and #U71 U13 U22 U51 #isNatKind U41 #and U33(x1) status: [] precedence above: tt U13 U22 n__0() status: [] precedence above: 0 U61 tt U13 U22 isNat(x1) status: [x1] precedence above: isNatKind s #isNat n__isNatKind and #activate n__s #U21 n__and #isNatKind #and n__x(x1,x2) status: [x1,x2] precedence above: isNatKind U11 s #isNat U71 n__isNatKind and #plus #activate U12 x n__s #x n__plus U32 U33 isNat plus #U51 #U11 U31 #U41 #U21 tt n__and #U71 U13 U22 U51 #isNatKind U41 #and plus(x1,x2) status: [x1,x2] precedence above: isNatKind U11 s #isNat n__isNatKind and #plus #activate U12 n__s n__plus isNat #U51 #U11 #U41 #U21 tt n__and U13 U22 U51 #isNatKind U41 #and U61(x1) status: [] precedence above: 0 n__0 tt U13 U22 #U51(x1,x2,x3) status: [x2,x3,x1] precedence above: isNatKind s #isNat n__isNatKind and #plus #activate n__s isNat #U11 #U41 #U21 n__and #isNatKind #and #U11(x1,x2,x3) status: [x1,x3,x2] precedence above: #isNat #activate #isNatKind #and U31(x1,x2,x3) status: [x2] precedence above: isNatKind U11 s #isNat U71 n__isNatKind and #plus #activate U12 x n__s #x n__plus U32 U33 isNat n__x plus #U51 #U11 #U41 #U21 tt n__and #U71 U13 U22 U51 #isNatKind U41 #and #U41(x1,x2) status: [x2] precedence above: #isNat #activate #U11 #U21 #isNatKind #and #U21(x1,x2) status: [x2] precedence above: #isNat #activate #isNatKind #and #U22(x1) status: [] precedence above: tt() status: [] precedence above: U13 U22 n__and(x1,x2) status: [x1,x2] precedence above: isNatKind s #isNat n__isNatKind and #activate n__s #U21 #isNatKind #and #U71(x1,x2,x3) status: [x3,x2,x1] precedence above: isNatKind U11 s #isNat U71 n__isNatKind and #plus #activate U12 x n__s #x n__plus U32 U33 isNat n__x plus #U51 #U11 U31 #U41 #U21 tt n__and U13 U22 U51 #isNatKind U41 #and U13(x1) status: [] precedence above: tt U22 U22(x1) status: [] precedence above: tt U13 U51(x1,x2,x3) status: [x3,x2,x1] precedence above: isNatKind U11 s #isNat n__isNatKind and #plus #activate U12 n__s n__plus isNat plus #U51 #U11 #U41 #U21 tt n__and U13 U22 #isNatKind U41 #and #isNatKind(x1) status: x1 U41(x1,x2) status: [x1,x2] precedence above: #U31(x1,x2,x3) status: [x3,x2,x1] precedence above: #and(x1,x2) status: [x1,x2] precedence above: #isNat #activate #isNatKind #U61(x1) status: [] precedence above: Usable rules: { 1..38 } Removed DPs: #5 #10 #11 #16 #17 #20..22 #26 #31 #32 #37 #38 #40..44 #54 #55 #57 #62..65 #67 #68 #70 #72 #73 #75 #78 #79 Number of SCCs: 0, DPs: 0, edges: 0 YES