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