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: (/ 1 16) #U32(x1,x2) weight: max{0, (/ 1 4) + x2} isNatKind(x1) weight: x1 U21(x1,x2) weight: 0 #|0|() weight: 0 U11(x1,x2,x3) weight: max{0, (/ 1 16) + x3} s(x1) weight: x1 #isNat(x1) weight: (/ 1 8) + x1 activate(x1) weight: x1 U71(x1,x2,x3) weight: max{0, (/ 5 16) + x3, (/ 1 4) + x2} n__isNatKind(x1) weight: x1 and(x1,x2) weight: max{x2, x1} #plus(x1,x2) weight: max{(/ 7 16) + x2, (/ 1 8) + x1} #activate(x1) weight: (/ 1 8) + x1 #U13(x1) weight: 0 U12(x1,x2) weight: max{0, (/ 1 16) + x2} #U33(x1) weight: 0 x(x1,x2) weight: max{(/ 1 4) + x2, (/ 5 16) + x1} n__s(x1) weight: x1 #U12(x1,x2) weight: max{0, (/ 3 16) + x2} #x(x1,x2) weight: max{(/ 3 8) + x2, (/ 7 16) + x1} #s(x1) weight: 0 n__isNat(x1) weight: x1 n__plus(x1,x2) weight: max{(/ 5 16) + x2, x1} U32(x1,x2) weight: 0 U33(x1) weight: 0 n__0() weight: (/ 1 16) isNat(x1) weight: x1 n__x(x1,x2) weight: max{(/ 1 4) + x2, (/ 5 16) + x1} plus(x1,x2) weight: max{(/ 5 16) + x2, x1} U61(x1) weight: (/ 1 16) #U51(x1,x2,x3) weight: max{(/ 1 8) + x3, (/ 7 16) + x2, (/ 1 16) + x1} #U11(x1,x2,x3) weight: max{0, (/ 7 16) + x3, (/ 1 8) + x2} U31(x1,x2,x3) weight: 0 #U41(x1,x2) weight: max{0, (/ 1 8) + x2} #U21(x1,x2) weight: max{0, (/ 1 8) + x2} #U22(x1) weight: 0 tt() weight: 0 n__and(x1,x2) weight: max{x2, x1} #U71(x1,x2,x3) weight: max{0, (/ 7 16) + x3, (/ 3 8) + x2} U13(x1) weight: (/ 1 16) U22(x1) weight: 0 U51(x1,x2,x3) weight: max{0, x3, (/ 5 16) + x2} #isNatKind(x1) weight: (/ 1 8) + x1 U41(x1,x2) weight: max{0, x2} #U31(x1,x2,x3) weight: max{0, (/ 5 16) + x3, (/ 3 16) + x2} #and(x1,x2) weight: max{0, (/ 1 8) + 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: U12 U32 U33 n__0 tt U13 U22 #U32(x1,x2) status: [x2] precedence above: isNatKind(x1) status: x1 U21(x1,x2) status: x1 #|0|() status: [] precedence above: U11(x1,x2,x3) status: x1 s(x1) status: [x1] precedence above: #activate n__s #and #isNat(x1) status: [x1] precedence above: isNatKind s n__isNatKind and #activate n__s #U11 #U21 n__and #and activate(x1) status: x1 U71(x1,x2,x3) status: [x3,x2,x1] precedence above: |0| isNatKind s #isNat n__isNatKind and #plus #activate U12 x n__s #x n__isNat n__plus U32 U33 n__0 isNat n__x plus U61 #U51 #U11 U31 #U41 #U21 tt n__and #U71 U13 U22 U51 #and n__isNatKind(x1) status: x1 and(x1,x2) status: [x2,x1] precedence above: n__and #plus(x1,x2) status: [x2,x1] precedence above: isNatKind s #isNat n__isNatKind and #activate n__s n__isNat isNat #U51 #U11 U31 #U41 #U21 n__and #and #activate(x1) status: [x1] precedence above: s n__s #and #U13(x1) status: [] precedence above: U12(x1,x2) status: [] precedence above: U32 U33 tt U13 U22 #U33(x1) status: [] precedence above: x(x1,x2) status: [x1,x2] precedence above: |0| isNatKind s #isNat U71 n__isNatKind and #plus #activate U12 n__s #x n__isNat n__plus U32 U33 n__0 isNat n__x plus U61 #U51 #U11 U31 #U41 #U21 tt n__and #U71 U13 U22 U51 #and n__s(x1) status: [x1] precedence above: s #activate #and #U12(x1,x2) status: [x2] precedence above: #x(x1,x2) status: [x1,x2] precedence above: |0| isNatKind s #isNat U71 n__isNatKind and #plus #activate U12 x n__s n__isNat n__plus U32 U33 n__0 isNat n__x plus U61 #U51 #U11 U31 #U41 #U21 tt n__and #U71 U13 U22 U51 #and #s(x1) status: [] precedence above: n__isNat(x1) status: [x1] precedence above: isNatKind s #isNat n__isNatKind and #activate n__s isNat #U11 U31 #U21 n__and #and n__plus(x1,x2) status: [x2,x1] precedence above: isNatKind s #isNat n__isNatKind and #plus #activate n__s n__isNat isNat plus #U51 #U11 U31 #U41 #U21 n__and U51 #and U32(x1,x2) status: [] precedence above: U12 U33 tt U13 U22 U33(x1) status: [] precedence above: U12 U32 tt U13 U22 n__0() status: [] precedence above: |0| U12 U32 U33 tt U13 U22 isNat(x1) status: [x1] precedence above: isNatKind s #isNat n__isNatKind and #activate n__s n__isNat #U11 U31 #U21 n__and #and n__x(x1,x2) status: [x1,x2] precedence above: |0| isNatKind s #isNat U71 n__isNatKind and #plus #activate U12 x n__s #x n__isNat n__plus U32 U33 n__0 isNat plus U61 #U51 #U11 U31 #U41 #U21 tt n__and #U71 U13 U22 U51 #and plus(x1,x2) status: [x2,x1] precedence above: isNatKind s #isNat n__isNatKind and #plus #activate n__s n__isNat n__plus isNat #U51 #U11 U31 #U41 #U21 n__and U51 #and U61(x1) status: [x1] precedence above: |0| U12 U32 U33 n__0 tt U13 U22 #U51(x1,x2,x3) status: [x2,x3] precedence above: isNatKind s #isNat n__isNatKind and #plus #activate n__s n__isNat isNat #U11 U31 #U41 #U21 n__and #and #U11(x1,x2,x3) status: [x2,x3] precedence above: isNatKind s #isNat n__isNatKind and #activate n__s #U21 n__and #and U31(x1,x2,x3) status: [x2,x1] precedence above: #U41(x1,x2) status: [x1,x2] precedence above: s and #activate n__s n__and #and #U21(x1,x2) status: [x2,x1] precedence above: isNatKind s #isNat n__isNatKind and #activate n__s #U11 n__and #and #U22(x1) status: [] precedence above: tt() status: [] precedence above: U12 U32 U33 U13 U22 n__and(x1,x2) status: [x2,x1] precedence above: and #U71(x1,x2,x3) status: [x3,x2,x1] precedence above: |0| isNatKind s #isNat U71 n__isNatKind and #plus #activate U12 x n__s #x n__isNat n__plus U32 U33 n__0 isNat n__x plus U61 #U51 #U11 U31 #U41 #U21 tt n__and U13 U22 U51 #and U13(x1) status: [] precedence above: U12 U32 U33 tt U22 U22(x1) status: [] precedence above: U12 U32 U33 tt U13 U51(x1,x2,x3) status: [x2,x3,x1] precedence above: isNatKind s #isNat n__isNatKind and #plus #activate n__s n__isNat n__plus isNat plus #U51 #U11 U31 #U41 #U21 n__and #and #isNatKind(x1) status: x1 U41(x1,x2) status: x2 #U31(x1,x2,x3) status: [x3,x2,x1] precedence above: #and(x1,x2) status: [x2,x1] precedence above: s #activate n__s #U61(x1) status: [] precedence above: Usable rules: { 1..40 } Removed DPs: #4 #5 #8 #9 #14 #15 #20 #21 #24 #25 #29 #33 #38 #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