YES(O(1),O(n^2)) 704.42/185.57 YES(O(1),O(n^2)) 704.42/185.57 704.42/185.57 We are left with following problem, upon which TcT provides the 704.42/185.57 certificate YES(O(1),O(n^2)). 704.42/185.57 704.42/185.57 Strict Trs: 704.42/185.57 { U101(tt(), M, N) -> 704.42/185.57 U102(isNatKind(activate(M)), activate(M), activate(N)) 704.42/185.57 , U102(tt(), M, N) -> 704.42/185.57 U103(isNat(activate(N)), activate(M), activate(N)) 704.42/185.57 , isNatKind(n__0()) -> tt() 704.42/185.57 , isNatKind(n__plus(V1, V2)) -> 704.42/185.57 U41(isNatKind(activate(V1)), activate(V2)) 704.42/185.57 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.42/185.57 , isNatKind(n__x(V1, V2)) -> 704.42/185.57 U61(isNatKind(activate(V1)), activate(V2)) 704.42/185.57 , activate(X) -> X 704.42/185.57 , activate(n__0()) -> 0() 704.42/185.57 , activate(n__plus(X1, X2)) -> plus(X1, X2) 704.42/185.57 , activate(n__s(X)) -> s(X) 704.42/185.57 , activate(n__x(X1, X2)) -> x(X1, X2) 704.42/185.57 , U103(tt(), M, N) -> 704.42/185.57 U104(isNatKind(activate(N)), activate(M), activate(N)) 704.42/185.57 , isNat(n__0()) -> tt() 704.42/185.57 , isNat(n__plus(V1, V2)) -> 704.42/185.57 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.42/185.57 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 704.42/185.57 , isNat(n__x(V1, V2)) -> 704.42/185.57 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.42/185.57 , U104(tt(), M, N) -> 704.42/185.57 plus(x(activate(N), activate(M)), activate(N)) 704.42/185.57 , plus(X1, X2) -> n__plus(X1, X2) 704.42/185.57 , plus(N, s(M)) -> U81(isNat(M), M, N) 704.42/185.57 , plus(N, 0()) -> U71(isNat(N), N) 704.42/185.57 , x(X1, X2) -> n__x(X1, X2) 704.42/185.57 , x(N, s(M)) -> U101(isNat(M), M, N) 704.42/185.57 , x(N, 0()) -> U91(isNat(N), N) 704.42/185.57 , U11(tt(), V1, V2) -> 704.42/185.57 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.42/185.57 , U12(tt(), V1, V2) -> 704.42/185.57 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.42/185.57 , U13(tt(), V1, V2) -> 704.42/185.57 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.42/185.57 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 704.42/185.57 , U15(tt(), V2) -> U16(isNat(activate(V2))) 704.42/185.57 , U16(tt()) -> tt() 704.42/185.57 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 704.42/185.57 , U22(tt(), V1) -> U23(isNat(activate(V1))) 704.42/185.57 , U23(tt()) -> tt() 704.42/185.57 , U31(tt(), V1, V2) -> 704.42/185.57 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.42/185.57 , U32(tt(), V1, V2) -> 704.42/185.57 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.42/185.57 , U33(tt(), V1, V2) -> 704.42/185.57 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.42/185.57 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 704.42/185.57 , U35(tt(), V2) -> U36(isNat(activate(V2))) 704.42/185.57 , U36(tt()) -> tt() 704.42/185.57 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 704.42/185.57 , U42(tt()) -> tt() 704.42/185.57 , U51(tt()) -> tt() 704.42/185.57 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 704.42/185.57 , U62(tt()) -> tt() 704.42/185.57 , U71(tt(), N) -> U72(isNatKind(activate(N)), activate(N)) 704.42/185.57 , U72(tt(), N) -> activate(N) 704.42/185.57 , U81(tt(), M, N) -> 704.42/185.57 U82(isNatKind(activate(M)), activate(M), activate(N)) 704.42/185.57 , U82(tt(), M, N) -> 704.42/185.57 U83(isNat(activate(N)), activate(M), activate(N)) 704.42/185.57 , U83(tt(), M, N) -> 704.42/185.57 U84(isNatKind(activate(N)), activate(M), activate(N)) 704.42/185.57 , U84(tt(), M, N) -> s(plus(activate(N), activate(M))) 704.42/185.57 , s(X) -> n__s(X) 704.42/185.57 , U91(tt(), N) -> U92(isNatKind(activate(N))) 704.42/185.57 , U92(tt()) -> 0() 704.42/185.57 , 0() -> n__0() } 704.42/185.57 Obligation: 704.42/185.57 innermost runtime complexity 704.42/185.57 Answer: 704.42/185.57 YES(O(1),O(n^2)) 704.42/185.57 704.42/185.57 Arguments of following rules are not normal-forms: 704.42/185.57 704.42/185.57 { plus(N, s(M)) -> U81(isNat(M), M, N) 704.42/185.57 , plus(N, 0()) -> U71(isNat(N), N) 704.42/185.57 , x(N, s(M)) -> U101(isNat(M), M, N) 704.42/185.57 , x(N, 0()) -> U91(isNat(N), N) } 704.42/185.57 704.42/185.57 All above mentioned rules can be savely removed. 704.42/185.57 704.42/185.57 We are left with following problem, upon which TcT provides the 704.42/185.57 certificate YES(O(1),O(n^2)). 704.42/185.57 704.42/185.57 Strict Trs: 704.42/185.57 { U101(tt(), M, N) -> 704.42/185.57 U102(isNatKind(activate(M)), activate(M), activate(N)) 704.42/185.57 , U102(tt(), M, N) -> 704.42/185.57 U103(isNat(activate(N)), activate(M), activate(N)) 704.42/185.57 , isNatKind(n__0()) -> tt() 704.42/185.57 , isNatKind(n__plus(V1, V2)) -> 704.42/185.57 U41(isNatKind(activate(V1)), activate(V2)) 704.42/185.57 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.42/185.57 , isNatKind(n__x(V1, V2)) -> 704.42/185.57 U61(isNatKind(activate(V1)), activate(V2)) 704.42/185.57 , activate(X) -> X 704.42/185.57 , activate(n__0()) -> 0() 704.42/185.57 , activate(n__plus(X1, X2)) -> plus(X1, X2) 704.42/185.57 , activate(n__s(X)) -> s(X) 704.42/185.57 , activate(n__x(X1, X2)) -> x(X1, X2) 704.42/185.57 , U103(tt(), M, N) -> 704.42/185.57 U104(isNatKind(activate(N)), activate(M), activate(N)) 704.42/185.57 , isNat(n__0()) -> tt() 704.42/185.57 , isNat(n__plus(V1, V2)) -> 704.42/185.57 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.42/185.57 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 704.42/185.57 , isNat(n__x(V1, V2)) -> 704.42/185.57 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.42/185.57 , U104(tt(), M, N) -> 704.42/185.57 plus(x(activate(N), activate(M)), activate(N)) 704.42/185.57 , plus(X1, X2) -> n__plus(X1, X2) 704.42/185.57 , x(X1, X2) -> n__x(X1, X2) 704.42/185.57 , U11(tt(), V1, V2) -> 704.42/185.57 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.42/185.57 , U12(tt(), V1, V2) -> 704.42/185.57 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.42/185.57 , U13(tt(), V1, V2) -> 704.42/185.57 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.42/185.57 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 704.42/185.57 , U15(tt(), V2) -> U16(isNat(activate(V2))) 704.42/185.57 , U16(tt()) -> tt() 704.42/185.57 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 704.42/185.57 , U22(tt(), V1) -> U23(isNat(activate(V1))) 704.42/185.57 , U23(tt()) -> tt() 704.42/185.57 , U31(tt(), V1, V2) -> 704.42/185.57 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.42/185.57 , U32(tt(), V1, V2) -> 704.42/185.57 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.42/185.57 , U33(tt(), V1, V2) -> 704.42/185.57 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.42/185.57 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 704.42/185.57 , U35(tt(), V2) -> U36(isNat(activate(V2))) 704.42/185.57 , U36(tt()) -> tt() 704.42/185.57 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 704.42/185.57 , U42(tt()) -> tt() 704.42/185.57 , U51(tt()) -> tt() 704.42/185.57 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 704.42/185.57 , U62(tt()) -> tt() 704.42/185.57 , U71(tt(), N) -> U72(isNatKind(activate(N)), activate(N)) 704.42/185.57 , U72(tt(), N) -> activate(N) 704.42/185.57 , U81(tt(), M, N) -> 704.42/185.57 U82(isNatKind(activate(M)), activate(M), activate(N)) 704.42/185.57 , U82(tt(), M, N) -> 704.42/185.57 U83(isNat(activate(N)), activate(M), activate(N)) 704.42/185.57 , U83(tt(), M, N) -> 704.42/185.57 U84(isNatKind(activate(N)), activate(M), activate(N)) 704.42/185.57 , U84(tt(), M, N) -> s(plus(activate(N), activate(M))) 704.42/185.57 , s(X) -> n__s(X) 704.42/185.57 , U91(tt(), N) -> U92(isNatKind(activate(N))) 704.42/185.57 , U92(tt()) -> 0() 704.42/185.57 , 0() -> n__0() } 704.42/185.57 Obligation: 704.42/185.57 innermost runtime complexity 704.42/185.57 Answer: 704.42/185.57 YES(O(1),O(n^2)) 704.42/185.57 704.42/185.57 We add the following dependency tuples: 704.42/185.57 704.42/185.57 Strict DPs: 704.42/185.57 { U101^#(tt(), M, N) -> 704.42/185.57 c_1(U102^#(isNatKind(activate(M)), activate(M), activate(N)), 704.42/185.57 isNatKind^#(activate(M)), 704.42/185.57 activate^#(M), 704.42/185.57 activate^#(M), 704.42/185.57 activate^#(N)) 704.42/185.57 , U102^#(tt(), M, N) -> 704.42/185.57 c_2(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.42/185.57 isNat^#(activate(N)), 704.42/185.57 activate^#(N), 704.42/185.57 activate^#(M), 704.42/185.57 activate^#(N)) 704.42/185.57 , isNatKind^#(n__0()) -> c_3() 704.42/185.57 , isNatKind^#(n__plus(V1, V2)) -> 704.42/185.57 c_4(U41^#(isNatKind(activate(V1)), activate(V2)), 704.42/185.57 isNatKind^#(activate(V1)), 704.42/185.57 activate^#(V1), 704.42/185.57 activate^#(V2)) 704.42/185.57 , isNatKind^#(n__s(V1)) -> 704.42/185.57 c_5(U51^#(isNatKind(activate(V1))), 704.42/185.57 isNatKind^#(activate(V1)), 704.42/185.57 activate^#(V1)) 704.42/185.57 , isNatKind^#(n__x(V1, V2)) -> 704.42/185.57 c_6(U61^#(isNatKind(activate(V1)), activate(V2)), 704.42/185.57 isNatKind^#(activate(V1)), 704.42/185.57 activate^#(V1), 704.42/185.57 activate^#(V2)) 704.42/185.57 , activate^#(X) -> c_7() 704.42/185.57 , activate^#(n__0()) -> c_8(0^#()) 704.42/185.57 , activate^#(n__plus(X1, X2)) -> c_9(plus^#(X1, X2)) 704.42/185.57 , activate^#(n__s(X)) -> c_10(s^#(X)) 704.42/185.57 , activate^#(n__x(X1, X2)) -> c_11(x^#(X1, X2)) 704.42/185.57 , U103^#(tt(), M, N) -> 704.42/185.57 c_12(U104^#(isNatKind(activate(N)), activate(M), activate(N)), 704.42/185.57 isNatKind^#(activate(N)), 704.42/185.57 activate^#(N), 704.42/185.57 activate^#(M), 704.42/185.57 activate^#(N)) 704.42/185.57 , isNat^#(n__0()) -> c_13() 704.42/185.57 , isNat^#(n__plus(V1, V2)) -> 704.42/185.57 c_14(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.42/185.57 isNatKind^#(activate(V1)), 704.42/185.57 activate^#(V1), 704.42/185.57 activate^#(V1), 704.42/185.57 activate^#(V2)) 704.42/185.57 , isNat^#(n__s(V1)) -> 704.42/185.57 c_15(U21^#(isNatKind(activate(V1)), activate(V1)), 704.42/185.57 isNatKind^#(activate(V1)), 704.42/185.57 activate^#(V1), 704.42/185.57 activate^#(V1)) 704.42/185.57 , isNat^#(n__x(V1, V2)) -> 704.42/185.57 c_16(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.42/185.57 isNatKind^#(activate(V1)), 704.42/185.57 activate^#(V1), 704.42/185.57 activate^#(V1), 704.42/185.57 activate^#(V2)) 704.42/185.57 , U41^#(tt(), V2) -> 704.42/185.57 c_35(U42^#(isNatKind(activate(V2))), 704.42/185.57 isNatKind^#(activate(V2)), 704.42/185.57 activate^#(V2)) 704.42/185.57 , U51^#(tt()) -> c_37() 704.42/185.57 , U61^#(tt(), V2) -> 704.42/185.57 c_38(U62^#(isNatKind(activate(V2))), 704.42/185.57 isNatKind^#(activate(V2)), 704.42/185.57 activate^#(V2)) 704.42/185.57 , 0^#() -> c_49() 704.42/185.57 , plus^#(X1, X2) -> c_18() 704.42/185.57 , s^#(X) -> c_46() 704.42/185.57 , x^#(X1, X2) -> c_19() 704.42/185.57 , U104^#(tt(), M, N) -> 704.42/185.57 c_17(plus^#(x(activate(N), activate(M)), activate(N)), 704.42/185.57 x^#(activate(N), activate(M)), 704.42/185.57 activate^#(N), 704.42/185.57 activate^#(M), 704.42/185.57 activate^#(N)) 704.42/185.57 , U11^#(tt(), V1, V2) -> 704.42/185.57 c_20(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.42/185.57 isNatKind^#(activate(V1)), 704.42/185.57 activate^#(V1), 704.42/185.57 activate^#(V1), 704.42/185.57 activate^#(V2)) 704.42/185.57 , U21^#(tt(), V1) -> 704.42/185.57 c_26(U22^#(isNatKind(activate(V1)), activate(V1)), 704.42/185.57 isNatKind^#(activate(V1)), 704.42/185.57 activate^#(V1), 704.42/185.57 activate^#(V1)) 704.42/185.57 , U31^#(tt(), V1, V2) -> 704.42/185.57 c_29(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.42/185.57 isNatKind^#(activate(V1)), 704.42/185.57 activate^#(V1), 704.42/185.57 activate^#(V1), 704.42/185.57 activate^#(V2)) 704.42/185.57 , U12^#(tt(), V1, V2) -> 704.42/185.57 c_21(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.42/185.57 isNatKind^#(activate(V2)), 704.42/185.57 activate^#(V2), 704.42/185.57 activate^#(V1), 704.42/185.57 activate^#(V2)) 704.42/185.57 , U13^#(tt(), V1, V2) -> 704.42/185.57 c_22(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.42/185.57 isNatKind^#(activate(V2)), 704.42/185.57 activate^#(V2), 704.42/185.57 activate^#(V1), 704.42/185.57 activate^#(V2)) 704.42/185.57 , U14^#(tt(), V1, V2) -> 704.42/185.57 c_23(U15^#(isNat(activate(V1)), activate(V2)), 704.42/185.57 isNat^#(activate(V1)), 704.42/185.57 activate^#(V1), 704.42/185.57 activate^#(V2)) 704.42/185.57 , U15^#(tt(), V2) -> 704.42/185.57 c_24(U16^#(isNat(activate(V2))), 704.42/185.57 isNat^#(activate(V2)), 704.42/185.57 activate^#(V2)) 704.42/185.57 , U16^#(tt()) -> c_25() 704.42/185.57 , U22^#(tt(), V1) -> 704.42/185.57 c_27(U23^#(isNat(activate(V1))), 704.42/185.57 isNat^#(activate(V1)), 704.42/185.57 activate^#(V1)) 704.42/185.57 , U23^#(tt()) -> c_28() 704.42/185.57 , U32^#(tt(), V1, V2) -> 704.42/185.57 c_30(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.42/185.57 isNatKind^#(activate(V2)), 704.42/185.58 activate^#(V2), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V2)) 704.42/185.58 , U33^#(tt(), V1, V2) -> 704.42/185.58 c_31(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.42/185.58 isNatKind^#(activate(V2)), 704.42/185.58 activate^#(V2), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V2)) 704.42/185.58 , U34^#(tt(), V1, V2) -> 704.42/185.58 c_32(U35^#(isNat(activate(V1)), activate(V2)), 704.42/185.58 isNat^#(activate(V1)), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V2)) 704.42/185.58 , U35^#(tt(), V2) -> 704.42/185.58 c_33(U36^#(isNat(activate(V2))), 704.42/185.58 isNat^#(activate(V2)), 704.42/185.58 activate^#(V2)) 704.42/185.58 , U36^#(tt()) -> c_34() 704.42/185.58 , U42^#(tt()) -> c_36() 704.42/185.58 , U62^#(tt()) -> c_39() 704.42/185.58 , U71^#(tt(), N) -> 704.42/185.58 c_40(U72^#(isNatKind(activate(N)), activate(N)), 704.42/185.58 isNatKind^#(activate(N)), 704.42/185.58 activate^#(N), 704.42/185.58 activate^#(N)) 704.42/185.58 , U72^#(tt(), N) -> c_41(activate^#(N)) 704.42/185.58 , U81^#(tt(), M, N) -> 704.42/185.58 c_42(U82^#(isNatKind(activate(M)), activate(M), activate(N)), 704.42/185.58 isNatKind^#(activate(M)), 704.42/185.58 activate^#(M), 704.42/185.58 activate^#(M), 704.42/185.58 activate^#(N)) 704.42/185.58 , U82^#(tt(), M, N) -> 704.42/185.58 c_43(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.42/185.58 isNat^#(activate(N)), 704.42/185.58 activate^#(N), 704.42/185.58 activate^#(M), 704.42/185.58 activate^#(N)) 704.42/185.58 , U83^#(tt(), M, N) -> 704.42/185.58 c_44(U84^#(isNatKind(activate(N)), activate(M), activate(N)), 704.42/185.58 isNatKind^#(activate(N)), 704.42/185.58 activate^#(N), 704.42/185.58 activate^#(M), 704.42/185.58 activate^#(N)) 704.42/185.58 , U84^#(tt(), M, N) -> 704.42/185.58 c_45(s^#(plus(activate(N), activate(M))), 704.42/185.58 plus^#(activate(N), activate(M)), 704.42/185.58 activate^#(N), 704.42/185.58 activate^#(M)) 704.42/185.58 , U91^#(tt(), N) -> 704.42/185.58 c_47(U92^#(isNatKind(activate(N))), 704.42/185.58 isNatKind^#(activate(N)), 704.42/185.58 activate^#(N)) 704.42/185.58 , U92^#(tt()) -> c_48(0^#()) } 704.42/185.58 704.42/185.58 and mark the set of starting terms. 704.42/185.58 704.42/185.58 We are left with following problem, upon which TcT provides the 704.42/185.58 certificate YES(O(1),O(n^2)). 704.42/185.58 704.42/185.58 Strict DPs: 704.42/185.58 { U101^#(tt(), M, N) -> 704.42/185.58 c_1(U102^#(isNatKind(activate(M)), activate(M), activate(N)), 704.42/185.58 isNatKind^#(activate(M)), 704.42/185.58 activate^#(M), 704.42/185.58 activate^#(M), 704.42/185.58 activate^#(N)) 704.42/185.58 , U102^#(tt(), M, N) -> 704.42/185.58 c_2(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.42/185.58 isNat^#(activate(N)), 704.42/185.58 activate^#(N), 704.42/185.58 activate^#(M), 704.42/185.58 activate^#(N)) 704.42/185.58 , isNatKind^#(n__0()) -> c_3() 704.42/185.58 , isNatKind^#(n__plus(V1, V2)) -> 704.42/185.58 c_4(U41^#(isNatKind(activate(V1)), activate(V2)), 704.42/185.58 isNatKind^#(activate(V1)), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V2)) 704.42/185.58 , isNatKind^#(n__s(V1)) -> 704.42/185.58 c_5(U51^#(isNatKind(activate(V1))), 704.42/185.58 isNatKind^#(activate(V1)), 704.42/185.58 activate^#(V1)) 704.42/185.58 , isNatKind^#(n__x(V1, V2)) -> 704.42/185.58 c_6(U61^#(isNatKind(activate(V1)), activate(V2)), 704.42/185.58 isNatKind^#(activate(V1)), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V2)) 704.42/185.58 , activate^#(X) -> c_7() 704.42/185.58 , activate^#(n__0()) -> c_8(0^#()) 704.42/185.58 , activate^#(n__plus(X1, X2)) -> c_9(plus^#(X1, X2)) 704.42/185.58 , activate^#(n__s(X)) -> c_10(s^#(X)) 704.42/185.58 , activate^#(n__x(X1, X2)) -> c_11(x^#(X1, X2)) 704.42/185.58 , U103^#(tt(), M, N) -> 704.42/185.58 c_12(U104^#(isNatKind(activate(N)), activate(M), activate(N)), 704.42/185.58 isNatKind^#(activate(N)), 704.42/185.58 activate^#(N), 704.42/185.58 activate^#(M), 704.42/185.58 activate^#(N)) 704.42/185.58 , isNat^#(n__0()) -> c_13() 704.42/185.58 , isNat^#(n__plus(V1, V2)) -> 704.42/185.58 c_14(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.42/185.58 isNatKind^#(activate(V1)), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V2)) 704.42/185.58 , isNat^#(n__s(V1)) -> 704.42/185.58 c_15(U21^#(isNatKind(activate(V1)), activate(V1)), 704.42/185.58 isNatKind^#(activate(V1)), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V1)) 704.42/185.58 , isNat^#(n__x(V1, V2)) -> 704.42/185.58 c_16(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.42/185.58 isNatKind^#(activate(V1)), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V2)) 704.42/185.58 , U41^#(tt(), V2) -> 704.42/185.58 c_35(U42^#(isNatKind(activate(V2))), 704.42/185.58 isNatKind^#(activate(V2)), 704.42/185.58 activate^#(V2)) 704.42/185.58 , U51^#(tt()) -> c_37() 704.42/185.58 , U61^#(tt(), V2) -> 704.42/185.58 c_38(U62^#(isNatKind(activate(V2))), 704.42/185.58 isNatKind^#(activate(V2)), 704.42/185.58 activate^#(V2)) 704.42/185.58 , 0^#() -> c_49() 704.42/185.58 , plus^#(X1, X2) -> c_18() 704.42/185.58 , s^#(X) -> c_46() 704.42/185.58 , x^#(X1, X2) -> c_19() 704.42/185.58 , U104^#(tt(), M, N) -> 704.42/185.58 c_17(plus^#(x(activate(N), activate(M)), activate(N)), 704.42/185.58 x^#(activate(N), activate(M)), 704.42/185.58 activate^#(N), 704.42/185.58 activate^#(M), 704.42/185.58 activate^#(N)) 704.42/185.58 , U11^#(tt(), V1, V2) -> 704.42/185.58 c_20(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.42/185.58 isNatKind^#(activate(V1)), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V2)) 704.42/185.58 , U21^#(tt(), V1) -> 704.42/185.58 c_26(U22^#(isNatKind(activate(V1)), activate(V1)), 704.42/185.58 isNatKind^#(activate(V1)), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V1)) 704.42/185.58 , U31^#(tt(), V1, V2) -> 704.42/185.58 c_29(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.42/185.58 isNatKind^#(activate(V1)), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V2)) 704.42/185.58 , U12^#(tt(), V1, V2) -> 704.42/185.58 c_21(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.42/185.58 isNatKind^#(activate(V2)), 704.42/185.58 activate^#(V2), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V2)) 704.42/185.58 , U13^#(tt(), V1, V2) -> 704.42/185.58 c_22(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.42/185.58 isNatKind^#(activate(V2)), 704.42/185.58 activate^#(V2), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V2)) 704.42/185.58 , U14^#(tt(), V1, V2) -> 704.42/185.58 c_23(U15^#(isNat(activate(V1)), activate(V2)), 704.42/185.58 isNat^#(activate(V1)), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V2)) 704.42/185.58 , U15^#(tt(), V2) -> 704.42/185.58 c_24(U16^#(isNat(activate(V2))), 704.42/185.58 isNat^#(activate(V2)), 704.42/185.58 activate^#(V2)) 704.42/185.58 , U16^#(tt()) -> c_25() 704.42/185.58 , U22^#(tt(), V1) -> 704.42/185.58 c_27(U23^#(isNat(activate(V1))), 704.42/185.58 isNat^#(activate(V1)), 704.42/185.58 activate^#(V1)) 704.42/185.58 , U23^#(tt()) -> c_28() 704.42/185.58 , U32^#(tt(), V1, V2) -> 704.42/185.58 c_30(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.42/185.58 isNatKind^#(activate(V2)), 704.42/185.58 activate^#(V2), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V2)) 704.42/185.58 , U33^#(tt(), V1, V2) -> 704.42/185.58 c_31(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.42/185.58 isNatKind^#(activate(V2)), 704.42/185.58 activate^#(V2), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V2)) 704.42/185.58 , U34^#(tt(), V1, V2) -> 704.42/185.58 c_32(U35^#(isNat(activate(V1)), activate(V2)), 704.42/185.58 isNat^#(activate(V1)), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V2)) 704.42/185.58 , U35^#(tt(), V2) -> 704.42/185.58 c_33(U36^#(isNat(activate(V2))), 704.42/185.58 isNat^#(activate(V2)), 704.42/185.58 activate^#(V2)) 704.42/185.58 , U36^#(tt()) -> c_34() 704.42/185.58 , U42^#(tt()) -> c_36() 704.42/185.58 , U62^#(tt()) -> c_39() 704.42/185.58 , U71^#(tt(), N) -> 704.42/185.58 c_40(U72^#(isNatKind(activate(N)), activate(N)), 704.42/185.58 isNatKind^#(activate(N)), 704.42/185.58 activate^#(N), 704.42/185.58 activate^#(N)) 704.42/185.58 , U72^#(tt(), N) -> c_41(activate^#(N)) 704.42/185.58 , U81^#(tt(), M, N) -> 704.42/185.58 c_42(U82^#(isNatKind(activate(M)), activate(M), activate(N)), 704.42/185.58 isNatKind^#(activate(M)), 704.42/185.58 activate^#(M), 704.42/185.58 activate^#(M), 704.42/185.58 activate^#(N)) 704.42/185.58 , U82^#(tt(), M, N) -> 704.42/185.58 c_43(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.42/185.58 isNat^#(activate(N)), 704.42/185.58 activate^#(N), 704.42/185.58 activate^#(M), 704.42/185.58 activate^#(N)) 704.42/185.58 , U83^#(tt(), M, N) -> 704.42/185.58 c_44(U84^#(isNatKind(activate(N)), activate(M), activate(N)), 704.42/185.58 isNatKind^#(activate(N)), 704.42/185.58 activate^#(N), 704.42/185.58 activate^#(M), 704.42/185.58 activate^#(N)) 704.42/185.58 , U84^#(tt(), M, N) -> 704.42/185.58 c_45(s^#(plus(activate(N), activate(M))), 704.42/185.58 plus^#(activate(N), activate(M)), 704.42/185.58 activate^#(N), 704.42/185.58 activate^#(M)) 704.42/185.58 , U91^#(tt(), N) -> 704.42/185.58 c_47(U92^#(isNatKind(activate(N))), 704.42/185.58 isNatKind^#(activate(N)), 704.42/185.58 activate^#(N)) 704.42/185.58 , U92^#(tt()) -> c_48(0^#()) } 704.42/185.58 Weak Trs: 704.42/185.58 { U101(tt(), M, N) -> 704.42/185.58 U102(isNatKind(activate(M)), activate(M), activate(N)) 704.42/185.58 , U102(tt(), M, N) -> 704.42/185.58 U103(isNat(activate(N)), activate(M), activate(N)) 704.42/185.58 , isNatKind(n__0()) -> tt() 704.42/185.58 , isNatKind(n__plus(V1, V2)) -> 704.42/185.58 U41(isNatKind(activate(V1)), activate(V2)) 704.42/185.58 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.42/185.58 , isNatKind(n__x(V1, V2)) -> 704.42/185.58 U61(isNatKind(activate(V1)), activate(V2)) 704.42/185.58 , activate(X) -> X 704.42/185.58 , activate(n__0()) -> 0() 704.42/185.58 , activate(n__plus(X1, X2)) -> plus(X1, X2) 704.42/185.58 , activate(n__s(X)) -> s(X) 704.42/185.58 , activate(n__x(X1, X2)) -> x(X1, X2) 704.42/185.58 , U103(tt(), M, N) -> 704.42/185.58 U104(isNatKind(activate(N)), activate(M), activate(N)) 704.42/185.58 , isNat(n__0()) -> tt() 704.42/185.58 , isNat(n__plus(V1, V2)) -> 704.42/185.58 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.42/185.58 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 704.42/185.58 , isNat(n__x(V1, V2)) -> 704.42/185.58 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.42/185.58 , U104(tt(), M, N) -> 704.42/185.58 plus(x(activate(N), activate(M)), activate(N)) 704.42/185.58 , plus(X1, X2) -> n__plus(X1, X2) 704.42/185.58 , x(X1, X2) -> n__x(X1, X2) 704.42/185.58 , U11(tt(), V1, V2) -> 704.42/185.58 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.42/185.58 , U12(tt(), V1, V2) -> 704.42/185.58 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.42/185.58 , U13(tt(), V1, V2) -> 704.42/185.58 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.42/185.58 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 704.42/185.58 , U15(tt(), V2) -> U16(isNat(activate(V2))) 704.42/185.58 , U16(tt()) -> tt() 704.42/185.58 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 704.42/185.58 , U22(tt(), V1) -> U23(isNat(activate(V1))) 704.42/185.58 , U23(tt()) -> tt() 704.42/185.58 , U31(tt(), V1, V2) -> 704.42/185.58 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.42/185.58 , U32(tt(), V1, V2) -> 704.42/185.58 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.42/185.58 , U33(tt(), V1, V2) -> 704.42/185.58 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.42/185.58 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 704.42/185.58 , U35(tt(), V2) -> U36(isNat(activate(V2))) 704.42/185.58 , U36(tt()) -> tt() 704.42/185.58 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 704.42/185.58 , U42(tt()) -> tt() 704.42/185.58 , U51(tt()) -> tt() 704.42/185.58 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 704.42/185.58 , U62(tt()) -> tt() 704.42/185.58 , U71(tt(), N) -> U72(isNatKind(activate(N)), activate(N)) 704.42/185.58 , U72(tt(), N) -> activate(N) 704.42/185.58 , U81(tt(), M, N) -> 704.42/185.58 U82(isNatKind(activate(M)), activate(M), activate(N)) 704.42/185.58 , U82(tt(), M, N) -> 704.42/185.58 U83(isNat(activate(N)), activate(M), activate(N)) 704.42/185.58 , U83(tt(), M, N) -> 704.42/185.58 U84(isNatKind(activate(N)), activate(M), activate(N)) 704.42/185.58 , U84(tt(), M, N) -> s(plus(activate(N), activate(M))) 704.42/185.58 , s(X) -> n__s(X) 704.42/185.58 , U91(tt(), N) -> U92(isNatKind(activate(N))) 704.42/185.58 , U92(tt()) -> 0() 704.42/185.58 , 0() -> n__0() } 704.42/185.58 Obligation: 704.42/185.58 innermost runtime complexity 704.42/185.58 Answer: 704.42/185.58 YES(O(1),O(n^2)) 704.42/185.58 704.42/185.58 We estimate the number of application of 704.42/185.58 {3,7,13,18,20,21,22,23,32,34,39,40,41} by applications of 704.42/185.58 Pre({3,7,13,18,20,21,22,23,32,34,39,40,41}) = 704.42/185.58 {1,2,4,5,6,8,9,10,11,12,14,15,16,17,19,24,25,26,27,28,29,30,31,33,35,36,37,38,42,43,44,45,46,47,48,49}. 704.42/185.58 Here rules are labeled as follows: 704.42/185.58 704.42/185.58 DPs: 704.42/185.58 { 1: U101^#(tt(), M, N) -> 704.42/185.58 c_1(U102^#(isNatKind(activate(M)), activate(M), activate(N)), 704.42/185.58 isNatKind^#(activate(M)), 704.42/185.58 activate^#(M), 704.42/185.58 activate^#(M), 704.42/185.58 activate^#(N)) 704.42/185.58 , 2: U102^#(tt(), M, N) -> 704.42/185.58 c_2(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.42/185.58 isNat^#(activate(N)), 704.42/185.58 activate^#(N), 704.42/185.58 activate^#(M), 704.42/185.58 activate^#(N)) 704.42/185.58 , 3: isNatKind^#(n__0()) -> c_3() 704.42/185.58 , 4: isNatKind^#(n__plus(V1, V2)) -> 704.42/185.58 c_4(U41^#(isNatKind(activate(V1)), activate(V2)), 704.42/185.58 isNatKind^#(activate(V1)), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V2)) 704.42/185.58 , 5: isNatKind^#(n__s(V1)) -> 704.42/185.58 c_5(U51^#(isNatKind(activate(V1))), 704.42/185.58 isNatKind^#(activate(V1)), 704.42/185.58 activate^#(V1)) 704.42/185.58 , 6: isNatKind^#(n__x(V1, V2)) -> 704.42/185.58 c_6(U61^#(isNatKind(activate(V1)), activate(V2)), 704.42/185.58 isNatKind^#(activate(V1)), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V2)) 704.42/185.58 , 7: activate^#(X) -> c_7() 704.42/185.58 , 8: activate^#(n__0()) -> c_8(0^#()) 704.42/185.58 , 9: activate^#(n__plus(X1, X2)) -> c_9(plus^#(X1, X2)) 704.42/185.58 , 10: activate^#(n__s(X)) -> c_10(s^#(X)) 704.42/185.58 , 11: activate^#(n__x(X1, X2)) -> c_11(x^#(X1, X2)) 704.42/185.58 , 12: U103^#(tt(), M, N) -> 704.42/185.58 c_12(U104^#(isNatKind(activate(N)), activate(M), activate(N)), 704.42/185.58 isNatKind^#(activate(N)), 704.42/185.58 activate^#(N), 704.42/185.58 activate^#(M), 704.42/185.58 activate^#(N)) 704.42/185.58 , 13: isNat^#(n__0()) -> c_13() 704.42/185.58 , 14: isNat^#(n__plus(V1, V2)) -> 704.42/185.58 c_14(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.42/185.58 isNatKind^#(activate(V1)), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V2)) 704.42/185.58 , 15: isNat^#(n__s(V1)) -> 704.42/185.58 c_15(U21^#(isNatKind(activate(V1)), activate(V1)), 704.42/185.58 isNatKind^#(activate(V1)), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V1)) 704.42/185.58 , 16: isNat^#(n__x(V1, V2)) -> 704.42/185.58 c_16(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.42/185.58 isNatKind^#(activate(V1)), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V2)) 704.42/185.58 , 17: U41^#(tt(), V2) -> 704.42/185.58 c_35(U42^#(isNatKind(activate(V2))), 704.42/185.58 isNatKind^#(activate(V2)), 704.42/185.58 activate^#(V2)) 704.42/185.58 , 18: U51^#(tt()) -> c_37() 704.42/185.58 , 19: U61^#(tt(), V2) -> 704.42/185.58 c_38(U62^#(isNatKind(activate(V2))), 704.42/185.58 isNatKind^#(activate(V2)), 704.42/185.58 activate^#(V2)) 704.42/185.58 , 20: 0^#() -> c_49() 704.42/185.58 , 21: plus^#(X1, X2) -> c_18() 704.42/185.58 , 22: s^#(X) -> c_46() 704.42/185.58 , 23: x^#(X1, X2) -> c_19() 704.42/185.58 , 24: U104^#(tt(), M, N) -> 704.42/185.58 c_17(plus^#(x(activate(N), activate(M)), activate(N)), 704.42/185.58 x^#(activate(N), activate(M)), 704.42/185.58 activate^#(N), 704.42/185.58 activate^#(M), 704.42/185.58 activate^#(N)) 704.42/185.58 , 25: U11^#(tt(), V1, V2) -> 704.42/185.58 c_20(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.42/185.58 isNatKind^#(activate(V1)), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V2)) 704.42/185.58 , 26: U21^#(tt(), V1) -> 704.42/185.58 c_26(U22^#(isNatKind(activate(V1)), activate(V1)), 704.42/185.58 isNatKind^#(activate(V1)), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V1)) 704.42/185.58 , 27: U31^#(tt(), V1, V2) -> 704.42/185.58 c_29(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.42/185.58 isNatKind^#(activate(V1)), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V2)) 704.42/185.58 , 28: U12^#(tt(), V1, V2) -> 704.42/185.58 c_21(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.42/185.58 isNatKind^#(activate(V2)), 704.42/185.58 activate^#(V2), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V2)) 704.42/185.58 , 29: U13^#(tt(), V1, V2) -> 704.42/185.58 c_22(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.42/185.58 isNatKind^#(activate(V2)), 704.42/185.58 activate^#(V2), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V2)) 704.42/185.58 , 30: U14^#(tt(), V1, V2) -> 704.42/185.58 c_23(U15^#(isNat(activate(V1)), activate(V2)), 704.42/185.58 isNat^#(activate(V1)), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V2)) 704.42/185.58 , 31: U15^#(tt(), V2) -> 704.42/185.58 c_24(U16^#(isNat(activate(V2))), 704.42/185.58 isNat^#(activate(V2)), 704.42/185.58 activate^#(V2)) 704.42/185.58 , 32: U16^#(tt()) -> c_25() 704.42/185.58 , 33: U22^#(tt(), V1) -> 704.42/185.58 c_27(U23^#(isNat(activate(V1))), 704.42/185.58 isNat^#(activate(V1)), 704.42/185.58 activate^#(V1)) 704.42/185.58 , 34: U23^#(tt()) -> c_28() 704.42/185.58 , 35: U32^#(tt(), V1, V2) -> 704.42/185.58 c_30(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.42/185.58 isNatKind^#(activate(V2)), 704.42/185.58 activate^#(V2), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V2)) 704.42/185.58 , 36: U33^#(tt(), V1, V2) -> 704.42/185.58 c_31(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.42/185.58 isNatKind^#(activate(V2)), 704.42/185.58 activate^#(V2), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V2)) 704.42/185.58 , 37: U34^#(tt(), V1, V2) -> 704.42/185.58 c_32(U35^#(isNat(activate(V1)), activate(V2)), 704.42/185.58 isNat^#(activate(V1)), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V2)) 704.42/185.58 , 38: U35^#(tt(), V2) -> 704.42/185.58 c_33(U36^#(isNat(activate(V2))), 704.42/185.58 isNat^#(activate(V2)), 704.42/185.58 activate^#(V2)) 704.42/185.58 , 39: U36^#(tt()) -> c_34() 704.42/185.58 , 40: U42^#(tt()) -> c_36() 704.42/185.58 , 41: U62^#(tt()) -> c_39() 704.42/185.58 , 42: U71^#(tt(), N) -> 704.42/185.58 c_40(U72^#(isNatKind(activate(N)), activate(N)), 704.42/185.58 isNatKind^#(activate(N)), 704.42/185.58 activate^#(N), 704.42/185.58 activate^#(N)) 704.42/185.58 , 43: U72^#(tt(), N) -> c_41(activate^#(N)) 704.42/185.58 , 44: U81^#(tt(), M, N) -> 704.42/185.58 c_42(U82^#(isNatKind(activate(M)), activate(M), activate(N)), 704.42/185.58 isNatKind^#(activate(M)), 704.42/185.58 activate^#(M), 704.42/185.58 activate^#(M), 704.42/185.58 activate^#(N)) 704.42/185.58 , 45: U82^#(tt(), M, N) -> 704.42/185.58 c_43(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.42/185.58 isNat^#(activate(N)), 704.42/185.58 activate^#(N), 704.42/185.58 activate^#(M), 704.42/185.58 activate^#(N)) 704.42/185.58 , 46: U83^#(tt(), M, N) -> 704.42/185.58 c_44(U84^#(isNatKind(activate(N)), activate(M), activate(N)), 704.42/185.58 isNatKind^#(activate(N)), 704.42/185.58 activate^#(N), 704.42/185.58 activate^#(M), 704.42/185.58 activate^#(N)) 704.42/185.58 , 47: U84^#(tt(), M, N) -> 704.42/185.58 c_45(s^#(plus(activate(N), activate(M))), 704.42/185.58 plus^#(activate(N), activate(M)), 704.42/185.58 activate^#(N), 704.42/185.58 activate^#(M)) 704.42/185.58 , 48: U91^#(tt(), N) -> 704.42/185.58 c_47(U92^#(isNatKind(activate(N))), 704.42/185.58 isNatKind^#(activate(N)), 704.42/185.58 activate^#(N)) 704.42/185.58 , 49: U92^#(tt()) -> c_48(0^#()) } 704.42/185.58 704.42/185.58 We are left with following problem, upon which TcT provides the 704.42/185.58 certificate YES(O(1),O(n^2)). 704.42/185.58 704.42/185.58 Strict DPs: 704.42/185.58 { U101^#(tt(), M, N) -> 704.42/185.58 c_1(U102^#(isNatKind(activate(M)), activate(M), activate(N)), 704.42/185.58 isNatKind^#(activate(M)), 704.42/185.58 activate^#(M), 704.42/185.58 activate^#(M), 704.42/185.58 activate^#(N)) 704.42/185.58 , U102^#(tt(), M, N) -> 704.42/185.58 c_2(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.42/185.58 isNat^#(activate(N)), 704.42/185.58 activate^#(N), 704.42/185.58 activate^#(M), 704.42/185.58 activate^#(N)) 704.42/185.58 , isNatKind^#(n__plus(V1, V2)) -> 704.42/185.58 c_4(U41^#(isNatKind(activate(V1)), activate(V2)), 704.42/185.58 isNatKind^#(activate(V1)), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V2)) 704.42/185.58 , isNatKind^#(n__s(V1)) -> 704.42/185.58 c_5(U51^#(isNatKind(activate(V1))), 704.42/185.58 isNatKind^#(activate(V1)), 704.42/185.58 activate^#(V1)) 704.42/185.58 , isNatKind^#(n__x(V1, V2)) -> 704.42/185.58 c_6(U61^#(isNatKind(activate(V1)), activate(V2)), 704.42/185.58 isNatKind^#(activate(V1)), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V2)) 704.42/185.58 , activate^#(n__0()) -> c_8(0^#()) 704.42/185.58 , activate^#(n__plus(X1, X2)) -> c_9(plus^#(X1, X2)) 704.42/185.58 , activate^#(n__s(X)) -> c_10(s^#(X)) 704.42/185.58 , activate^#(n__x(X1, X2)) -> c_11(x^#(X1, X2)) 704.42/185.58 , U103^#(tt(), M, N) -> 704.42/185.58 c_12(U104^#(isNatKind(activate(N)), activate(M), activate(N)), 704.42/185.58 isNatKind^#(activate(N)), 704.42/185.58 activate^#(N), 704.42/185.58 activate^#(M), 704.42/185.58 activate^#(N)) 704.42/185.58 , isNat^#(n__plus(V1, V2)) -> 704.42/185.58 c_14(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.42/185.58 isNatKind^#(activate(V1)), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V2)) 704.42/185.58 , isNat^#(n__s(V1)) -> 704.42/185.58 c_15(U21^#(isNatKind(activate(V1)), activate(V1)), 704.42/185.58 isNatKind^#(activate(V1)), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V1)) 704.42/185.58 , isNat^#(n__x(V1, V2)) -> 704.42/185.58 c_16(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.42/185.58 isNatKind^#(activate(V1)), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V2)) 704.42/185.58 , U41^#(tt(), V2) -> 704.42/185.58 c_35(U42^#(isNatKind(activate(V2))), 704.42/185.58 isNatKind^#(activate(V2)), 704.42/185.58 activate^#(V2)) 704.42/185.58 , U61^#(tt(), V2) -> 704.42/185.58 c_38(U62^#(isNatKind(activate(V2))), 704.42/185.58 isNatKind^#(activate(V2)), 704.42/185.58 activate^#(V2)) 704.42/185.58 , U104^#(tt(), M, N) -> 704.42/185.58 c_17(plus^#(x(activate(N), activate(M)), activate(N)), 704.42/185.58 x^#(activate(N), activate(M)), 704.42/185.58 activate^#(N), 704.42/185.58 activate^#(M), 704.42/185.58 activate^#(N)) 704.42/185.58 , U11^#(tt(), V1, V2) -> 704.42/185.58 c_20(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.42/185.58 isNatKind^#(activate(V1)), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V2)) 704.42/185.58 , U21^#(tt(), V1) -> 704.42/185.58 c_26(U22^#(isNatKind(activate(V1)), activate(V1)), 704.42/185.58 isNatKind^#(activate(V1)), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V1)) 704.42/185.58 , U31^#(tt(), V1, V2) -> 704.42/185.58 c_29(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.42/185.58 isNatKind^#(activate(V1)), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V2)) 704.42/185.58 , U12^#(tt(), V1, V2) -> 704.42/185.58 c_21(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.42/185.58 isNatKind^#(activate(V2)), 704.42/185.58 activate^#(V2), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V2)) 704.42/185.58 , U13^#(tt(), V1, V2) -> 704.42/185.58 c_22(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.42/185.58 isNatKind^#(activate(V2)), 704.42/185.58 activate^#(V2), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V2)) 704.42/185.58 , U14^#(tt(), V1, V2) -> 704.42/185.58 c_23(U15^#(isNat(activate(V1)), activate(V2)), 704.42/185.58 isNat^#(activate(V1)), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V2)) 704.42/185.58 , U15^#(tt(), V2) -> 704.42/185.58 c_24(U16^#(isNat(activate(V2))), 704.42/185.58 isNat^#(activate(V2)), 704.42/185.58 activate^#(V2)) 704.42/185.58 , U22^#(tt(), V1) -> 704.42/185.58 c_27(U23^#(isNat(activate(V1))), 704.42/185.58 isNat^#(activate(V1)), 704.42/185.58 activate^#(V1)) 704.42/185.58 , U32^#(tt(), V1, V2) -> 704.42/185.58 c_30(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.42/185.58 isNatKind^#(activate(V2)), 704.42/185.58 activate^#(V2), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V2)) 704.42/185.58 , U33^#(tt(), V1, V2) -> 704.42/185.58 c_31(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.42/185.58 isNatKind^#(activate(V2)), 704.42/185.58 activate^#(V2), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V2)) 704.42/185.58 , U34^#(tt(), V1, V2) -> 704.42/185.58 c_32(U35^#(isNat(activate(V1)), activate(V2)), 704.42/185.58 isNat^#(activate(V1)), 704.42/185.58 activate^#(V1), 704.42/185.58 activate^#(V2)) 704.42/185.58 , U35^#(tt(), V2) -> 704.42/185.58 c_33(U36^#(isNat(activate(V2))), 704.42/185.58 isNat^#(activate(V2)), 704.42/185.58 activate^#(V2)) 704.42/185.58 , U71^#(tt(), N) -> 704.42/185.58 c_40(U72^#(isNatKind(activate(N)), activate(N)), 704.42/185.58 isNatKind^#(activate(N)), 704.42/185.58 activate^#(N), 704.42/185.58 activate^#(N)) 704.42/185.58 , U72^#(tt(), N) -> c_41(activate^#(N)) 704.42/185.58 , U81^#(tt(), M, N) -> 704.42/185.58 c_42(U82^#(isNatKind(activate(M)), activate(M), activate(N)), 704.42/185.59 isNatKind^#(activate(M)), 704.42/185.59 activate^#(M), 704.42/185.59 activate^#(M), 704.42/185.59 activate^#(N)) 704.42/185.59 , U82^#(tt(), M, N) -> 704.42/185.59 c_43(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.42/185.59 isNat^#(activate(N)), 704.42/185.59 activate^#(N), 704.42/185.59 activate^#(M), 704.42/185.59 activate^#(N)) 704.42/185.59 , U83^#(tt(), M, N) -> 704.42/185.59 c_44(U84^#(isNatKind(activate(N)), activate(M), activate(N)), 704.42/185.59 isNatKind^#(activate(N)), 704.42/185.59 activate^#(N), 704.42/185.59 activate^#(M), 704.42/185.59 activate^#(N)) 704.42/185.59 , U84^#(tt(), M, N) -> 704.42/185.59 c_45(s^#(plus(activate(N), activate(M))), 704.42/185.59 plus^#(activate(N), activate(M)), 704.42/185.59 activate^#(N), 704.42/185.59 activate^#(M)) 704.42/185.59 , U91^#(tt(), N) -> 704.42/185.59 c_47(U92^#(isNatKind(activate(N))), 704.42/185.59 isNatKind^#(activate(N)), 704.42/185.59 activate^#(N)) 704.42/185.59 , U92^#(tt()) -> c_48(0^#()) } 704.42/185.59 Weak DPs: 704.42/185.59 { isNatKind^#(n__0()) -> c_3() 704.42/185.59 , activate^#(X) -> c_7() 704.42/185.59 , isNat^#(n__0()) -> c_13() 704.42/185.59 , U51^#(tt()) -> c_37() 704.42/185.59 , 0^#() -> c_49() 704.42/185.59 , plus^#(X1, X2) -> c_18() 704.42/185.59 , s^#(X) -> c_46() 704.42/185.59 , x^#(X1, X2) -> c_19() 704.42/185.59 , U16^#(tt()) -> c_25() 704.42/185.59 , U23^#(tt()) -> c_28() 704.42/185.59 , U36^#(tt()) -> c_34() 704.42/185.59 , U42^#(tt()) -> c_36() 704.42/185.59 , U62^#(tt()) -> c_39() } 704.42/185.59 Weak Trs: 704.42/185.59 { U101(tt(), M, N) -> 704.42/185.59 U102(isNatKind(activate(M)), activate(M), activate(N)) 704.42/185.59 , U102(tt(), M, N) -> 704.42/185.59 U103(isNat(activate(N)), activate(M), activate(N)) 704.42/185.59 , isNatKind(n__0()) -> tt() 704.42/185.59 , isNatKind(n__plus(V1, V2)) -> 704.42/185.59 U41(isNatKind(activate(V1)), activate(V2)) 704.42/185.59 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.42/185.59 , isNatKind(n__x(V1, V2)) -> 704.42/185.59 U61(isNatKind(activate(V1)), activate(V2)) 704.42/185.59 , activate(X) -> X 704.42/185.59 , activate(n__0()) -> 0() 704.42/185.59 , activate(n__plus(X1, X2)) -> plus(X1, X2) 704.42/185.59 , activate(n__s(X)) -> s(X) 704.42/185.59 , activate(n__x(X1, X2)) -> x(X1, X2) 704.42/185.59 , U103(tt(), M, N) -> 704.42/185.59 U104(isNatKind(activate(N)), activate(M), activate(N)) 704.42/185.59 , isNat(n__0()) -> tt() 704.42/185.59 , isNat(n__plus(V1, V2)) -> 704.42/185.59 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.42/185.59 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 704.42/185.59 , isNat(n__x(V1, V2)) -> 704.42/185.59 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.42/185.59 , U104(tt(), M, N) -> 704.42/185.59 plus(x(activate(N), activate(M)), activate(N)) 704.42/185.59 , plus(X1, X2) -> n__plus(X1, X2) 704.42/185.59 , x(X1, X2) -> n__x(X1, X2) 704.42/185.59 , U11(tt(), V1, V2) -> 704.42/185.59 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.42/185.59 , U12(tt(), V1, V2) -> 704.42/185.59 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.42/185.59 , U13(tt(), V1, V2) -> 704.42/185.59 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.42/185.59 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 704.42/185.59 , U15(tt(), V2) -> U16(isNat(activate(V2))) 704.42/185.59 , U16(tt()) -> tt() 704.42/185.59 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 704.42/185.59 , U22(tt(), V1) -> U23(isNat(activate(V1))) 704.42/185.59 , U23(tt()) -> tt() 704.42/185.59 , U31(tt(), V1, V2) -> 704.42/185.59 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.42/185.59 , U32(tt(), V1, V2) -> 704.42/185.59 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.42/185.59 , U33(tt(), V1, V2) -> 704.42/185.59 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.42/185.59 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 704.42/185.59 , U35(tt(), V2) -> U36(isNat(activate(V2))) 704.42/185.59 , U36(tt()) -> tt() 704.42/185.59 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 704.42/185.59 , U42(tt()) -> tt() 704.42/185.59 , U51(tt()) -> tt() 704.42/185.59 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 704.42/185.59 , U62(tt()) -> tt() 704.42/185.59 , U71(tt(), N) -> U72(isNatKind(activate(N)), activate(N)) 704.42/185.59 , U72(tt(), N) -> activate(N) 704.42/185.59 , U81(tt(), M, N) -> 704.42/185.59 U82(isNatKind(activate(M)), activate(M), activate(N)) 704.42/185.59 , U82(tt(), M, N) -> 704.42/185.59 U83(isNat(activate(N)), activate(M), activate(N)) 704.42/185.59 , U83(tt(), M, N) -> 704.42/185.59 U84(isNatKind(activate(N)), activate(M), activate(N)) 704.42/185.59 , U84(tt(), M, N) -> s(plus(activate(N), activate(M))) 704.42/185.59 , s(X) -> n__s(X) 704.42/185.59 , U91(tt(), N) -> U92(isNatKind(activate(N))) 704.42/185.59 , U92(tt()) -> 0() 704.42/185.59 , 0() -> n__0() } 704.42/185.59 Obligation: 704.42/185.59 innermost runtime complexity 704.42/185.59 Answer: 704.42/185.59 YES(O(1),O(n^2)) 704.42/185.59 704.42/185.59 We estimate the number of application of {6,7,8,9,36} by 704.42/185.59 applications of Pre({6,7,8,9,36}) = 704.42/185.59 {1,2,3,4,5,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35}. 704.42/185.59 Here rules are labeled as follows: 704.42/185.59 704.42/185.59 DPs: 704.42/185.59 { 1: U101^#(tt(), M, N) -> 704.42/185.59 c_1(U102^#(isNatKind(activate(M)), activate(M), activate(N)), 704.42/185.59 isNatKind^#(activate(M)), 704.42/185.59 activate^#(M), 704.42/185.59 activate^#(M), 704.42/185.59 activate^#(N)) 704.42/185.59 , 2: U102^#(tt(), M, N) -> 704.42/185.59 c_2(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.42/185.59 isNat^#(activate(N)), 704.42/185.59 activate^#(N), 704.42/185.59 activate^#(M), 704.42/185.59 activate^#(N)) 704.42/185.59 , 3: isNatKind^#(n__plus(V1, V2)) -> 704.42/185.59 c_4(U41^#(isNatKind(activate(V1)), activate(V2)), 704.42/185.59 isNatKind^#(activate(V1)), 704.42/185.59 activate^#(V1), 704.42/185.59 activate^#(V2)) 704.42/185.59 , 4: isNatKind^#(n__s(V1)) -> 704.42/185.59 c_5(U51^#(isNatKind(activate(V1))), 704.42/185.59 isNatKind^#(activate(V1)), 704.42/185.59 activate^#(V1)) 704.42/185.59 , 5: isNatKind^#(n__x(V1, V2)) -> 704.42/185.59 c_6(U61^#(isNatKind(activate(V1)), activate(V2)), 704.42/185.59 isNatKind^#(activate(V1)), 704.42/185.59 activate^#(V1), 704.42/185.59 activate^#(V2)) 704.42/185.59 , 6: activate^#(n__0()) -> c_8(0^#()) 704.42/185.59 , 7: activate^#(n__plus(X1, X2)) -> c_9(plus^#(X1, X2)) 704.42/185.59 , 8: activate^#(n__s(X)) -> c_10(s^#(X)) 704.42/185.59 , 9: activate^#(n__x(X1, X2)) -> c_11(x^#(X1, X2)) 704.42/185.59 , 10: U103^#(tt(), M, N) -> 704.42/185.59 c_12(U104^#(isNatKind(activate(N)), activate(M), activate(N)), 704.42/185.59 isNatKind^#(activate(N)), 704.42/185.59 activate^#(N), 704.42/185.59 activate^#(M), 704.42/185.59 activate^#(N)) 704.42/185.59 , 11: isNat^#(n__plus(V1, V2)) -> 704.42/185.59 c_14(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.42/185.59 isNatKind^#(activate(V1)), 704.42/185.59 activate^#(V1), 704.42/185.59 activate^#(V1), 704.42/185.59 activate^#(V2)) 704.42/185.59 , 12: isNat^#(n__s(V1)) -> 704.42/185.59 c_15(U21^#(isNatKind(activate(V1)), activate(V1)), 704.42/185.59 isNatKind^#(activate(V1)), 704.42/185.59 activate^#(V1), 704.42/185.59 activate^#(V1)) 704.42/185.59 , 13: isNat^#(n__x(V1, V2)) -> 704.42/185.59 c_16(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.42/185.59 isNatKind^#(activate(V1)), 704.42/185.59 activate^#(V1), 704.42/185.59 activate^#(V1), 704.42/185.59 activate^#(V2)) 704.42/185.59 , 14: U41^#(tt(), V2) -> 704.42/185.59 c_35(U42^#(isNatKind(activate(V2))), 704.42/185.59 isNatKind^#(activate(V2)), 704.42/185.59 activate^#(V2)) 704.42/185.59 , 15: U61^#(tt(), V2) -> 704.42/185.59 c_38(U62^#(isNatKind(activate(V2))), 704.42/185.59 isNatKind^#(activate(V2)), 704.42/185.59 activate^#(V2)) 704.42/185.59 , 16: U104^#(tt(), M, N) -> 704.42/185.59 c_17(plus^#(x(activate(N), activate(M)), activate(N)), 704.42/185.59 x^#(activate(N), activate(M)), 704.42/185.59 activate^#(N), 704.42/185.59 activate^#(M), 704.42/185.59 activate^#(N)) 704.42/185.59 , 17: U11^#(tt(), V1, V2) -> 704.42/185.59 c_20(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.42/185.59 isNatKind^#(activate(V1)), 704.42/185.59 activate^#(V1), 704.42/185.59 activate^#(V1), 704.42/185.59 activate^#(V2)) 704.42/185.59 , 18: U21^#(tt(), V1) -> 704.42/185.59 c_26(U22^#(isNatKind(activate(V1)), activate(V1)), 704.42/185.59 isNatKind^#(activate(V1)), 704.42/185.59 activate^#(V1), 704.42/185.59 activate^#(V1)) 704.42/185.59 , 19: U31^#(tt(), V1, V2) -> 704.42/185.59 c_29(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.42/185.59 isNatKind^#(activate(V1)), 704.42/185.59 activate^#(V1), 704.42/185.59 activate^#(V1), 704.42/185.59 activate^#(V2)) 704.42/185.59 , 20: U12^#(tt(), V1, V2) -> 704.42/185.59 c_21(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.42/185.59 isNatKind^#(activate(V2)), 704.42/185.59 activate^#(V2), 704.42/185.59 activate^#(V1), 704.42/185.59 activate^#(V2)) 704.42/185.59 , 21: U13^#(tt(), V1, V2) -> 704.42/185.59 c_22(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.42/185.59 isNatKind^#(activate(V2)), 704.42/185.59 activate^#(V2), 704.42/185.59 activate^#(V1), 704.42/185.59 activate^#(V2)) 704.42/185.59 , 22: U14^#(tt(), V1, V2) -> 704.42/185.59 c_23(U15^#(isNat(activate(V1)), activate(V2)), 704.42/185.59 isNat^#(activate(V1)), 704.42/185.59 activate^#(V1), 704.42/185.59 activate^#(V2)) 704.42/185.59 , 23: U15^#(tt(), V2) -> 704.42/185.59 c_24(U16^#(isNat(activate(V2))), 704.42/185.59 isNat^#(activate(V2)), 704.42/185.59 activate^#(V2)) 704.42/185.59 , 24: U22^#(tt(), V1) -> 704.42/185.59 c_27(U23^#(isNat(activate(V1))), 704.42/185.59 isNat^#(activate(V1)), 704.42/185.59 activate^#(V1)) 704.42/185.59 , 25: U32^#(tt(), V1, V2) -> 704.42/185.59 c_30(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.42/185.59 isNatKind^#(activate(V2)), 704.42/185.59 activate^#(V2), 704.42/185.59 activate^#(V1), 704.42/185.59 activate^#(V2)) 704.42/185.59 , 26: U33^#(tt(), V1, V2) -> 704.42/185.59 c_31(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.42/185.59 isNatKind^#(activate(V2)), 704.42/185.59 activate^#(V2), 704.42/185.59 activate^#(V1), 704.42/185.59 activate^#(V2)) 704.42/185.59 , 27: U34^#(tt(), V1, V2) -> 704.42/185.59 c_32(U35^#(isNat(activate(V1)), activate(V2)), 704.42/185.59 isNat^#(activate(V1)), 704.42/185.59 activate^#(V1), 704.42/185.59 activate^#(V2)) 704.42/185.59 , 28: U35^#(tt(), V2) -> 704.42/185.59 c_33(U36^#(isNat(activate(V2))), 704.42/185.59 isNat^#(activate(V2)), 704.42/185.59 activate^#(V2)) 704.42/185.59 , 29: U71^#(tt(), N) -> 704.42/185.59 c_40(U72^#(isNatKind(activate(N)), activate(N)), 704.42/185.59 isNatKind^#(activate(N)), 704.42/185.59 activate^#(N), 704.42/185.59 activate^#(N)) 704.42/185.59 , 30: U72^#(tt(), N) -> c_41(activate^#(N)) 704.42/185.59 , 31: U81^#(tt(), M, N) -> 704.42/185.59 c_42(U82^#(isNatKind(activate(M)), activate(M), activate(N)), 704.42/185.59 isNatKind^#(activate(M)), 704.42/185.59 activate^#(M), 704.42/185.59 activate^#(M), 704.42/185.59 activate^#(N)) 704.42/185.59 , 32: U82^#(tt(), M, N) -> 704.42/185.59 c_43(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.42/185.59 isNat^#(activate(N)), 704.42/185.59 activate^#(N), 704.42/185.59 activate^#(M), 704.42/185.59 activate^#(N)) 704.42/185.59 , 33: U83^#(tt(), M, N) -> 704.42/185.59 c_44(U84^#(isNatKind(activate(N)), activate(M), activate(N)), 704.42/185.59 isNatKind^#(activate(N)), 704.42/185.59 activate^#(N), 704.42/185.59 activate^#(M), 704.42/185.59 activate^#(N)) 704.42/185.59 , 34: U84^#(tt(), M, N) -> 704.42/185.59 c_45(s^#(plus(activate(N), activate(M))), 704.42/185.59 plus^#(activate(N), activate(M)), 704.42/185.59 activate^#(N), 704.42/185.59 activate^#(M)) 704.42/185.59 , 35: U91^#(tt(), N) -> 704.42/185.59 c_47(U92^#(isNatKind(activate(N))), 704.42/185.59 isNatKind^#(activate(N)), 704.42/185.59 activate^#(N)) 704.42/185.59 , 36: U92^#(tt()) -> c_48(0^#()) 704.42/185.59 , 37: isNatKind^#(n__0()) -> c_3() 704.42/185.59 , 38: activate^#(X) -> c_7() 704.42/185.59 , 39: isNat^#(n__0()) -> c_13() 704.42/185.59 , 40: U51^#(tt()) -> c_37() 704.42/185.59 , 41: 0^#() -> c_49() 704.42/185.59 , 42: plus^#(X1, X2) -> c_18() 704.42/185.59 , 43: s^#(X) -> c_46() 704.42/185.59 , 44: x^#(X1, X2) -> c_19() 704.42/185.59 , 45: U16^#(tt()) -> c_25() 704.42/185.59 , 46: U23^#(tt()) -> c_28() 704.42/185.59 , 47: U36^#(tt()) -> c_34() 704.42/185.59 , 48: U42^#(tt()) -> c_36() 704.42/185.59 , 49: U62^#(tt()) -> c_39() } 704.42/185.59 704.42/185.59 We are left with following problem, upon which TcT provides the 704.42/185.59 certificate YES(O(1),O(n^2)). 704.42/185.59 704.42/185.59 Strict DPs: 704.42/185.59 { U101^#(tt(), M, N) -> 704.42/185.59 c_1(U102^#(isNatKind(activate(M)), activate(M), activate(N)), 704.42/185.59 isNatKind^#(activate(M)), 704.42/185.59 activate^#(M), 704.42/185.59 activate^#(M), 704.42/185.59 activate^#(N)) 704.42/185.59 , U102^#(tt(), M, N) -> 704.42/185.59 c_2(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.42/185.59 isNat^#(activate(N)), 704.42/185.59 activate^#(N), 704.42/185.59 activate^#(M), 704.42/185.59 activate^#(N)) 704.42/185.59 , isNatKind^#(n__plus(V1, V2)) -> 704.42/185.59 c_4(U41^#(isNatKind(activate(V1)), activate(V2)), 704.42/185.59 isNatKind^#(activate(V1)), 704.42/185.59 activate^#(V1), 704.42/185.59 activate^#(V2)) 704.42/185.59 , isNatKind^#(n__s(V1)) -> 704.42/185.59 c_5(U51^#(isNatKind(activate(V1))), 704.42/185.59 isNatKind^#(activate(V1)), 704.42/185.59 activate^#(V1)) 704.42/185.59 , isNatKind^#(n__x(V1, V2)) -> 704.42/185.59 c_6(U61^#(isNatKind(activate(V1)), activate(V2)), 704.42/185.59 isNatKind^#(activate(V1)), 704.42/185.59 activate^#(V1), 704.42/185.59 activate^#(V2)) 704.42/185.59 , U103^#(tt(), M, N) -> 704.42/185.59 c_12(U104^#(isNatKind(activate(N)), activate(M), activate(N)), 704.42/185.59 isNatKind^#(activate(N)), 704.42/185.59 activate^#(N), 704.42/185.59 activate^#(M), 704.42/185.59 activate^#(N)) 704.42/185.59 , isNat^#(n__plus(V1, V2)) -> 704.42/185.59 c_14(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.42/185.59 isNatKind^#(activate(V1)), 704.42/185.59 activate^#(V1), 704.42/185.59 activate^#(V1), 704.42/185.59 activate^#(V2)) 704.42/185.59 , isNat^#(n__s(V1)) -> 704.42/185.59 c_15(U21^#(isNatKind(activate(V1)), activate(V1)), 704.42/185.59 isNatKind^#(activate(V1)), 704.42/185.59 activate^#(V1), 704.42/185.59 activate^#(V1)) 704.42/185.59 , isNat^#(n__x(V1, V2)) -> 704.42/185.59 c_16(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.42/185.59 isNatKind^#(activate(V1)), 704.42/185.59 activate^#(V1), 704.42/185.59 activate^#(V1), 704.42/185.59 activate^#(V2)) 704.42/185.59 , U41^#(tt(), V2) -> 704.42/185.59 c_35(U42^#(isNatKind(activate(V2))), 704.42/185.59 isNatKind^#(activate(V2)), 704.42/185.59 activate^#(V2)) 704.42/185.59 , U61^#(tt(), V2) -> 704.42/185.59 c_38(U62^#(isNatKind(activate(V2))), 704.42/185.59 isNatKind^#(activate(V2)), 704.42/185.59 activate^#(V2)) 704.42/185.59 , U104^#(tt(), M, N) -> 704.42/185.59 c_17(plus^#(x(activate(N), activate(M)), activate(N)), 704.42/185.59 x^#(activate(N), activate(M)), 704.42/185.59 activate^#(N), 704.42/185.59 activate^#(M), 704.42/185.59 activate^#(N)) 704.42/185.59 , U11^#(tt(), V1, V2) -> 704.42/185.59 c_20(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.42/185.59 isNatKind^#(activate(V1)), 704.42/185.59 activate^#(V1), 704.42/185.59 activate^#(V1), 704.42/185.59 activate^#(V2)) 704.42/185.59 , U21^#(tt(), V1) -> 704.42/185.59 c_26(U22^#(isNatKind(activate(V1)), activate(V1)), 704.42/185.59 isNatKind^#(activate(V1)), 704.42/185.59 activate^#(V1), 704.42/185.59 activate^#(V1)) 704.42/185.59 , U31^#(tt(), V1, V2) -> 704.42/185.59 c_29(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.42/185.59 isNatKind^#(activate(V1)), 704.42/185.59 activate^#(V1), 704.42/185.59 activate^#(V1), 704.42/185.59 activate^#(V2)) 704.42/185.59 , U12^#(tt(), V1, V2) -> 704.42/185.59 c_21(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.42/185.59 isNatKind^#(activate(V2)), 704.42/185.59 activate^#(V2), 704.42/185.59 activate^#(V1), 704.42/185.59 activate^#(V2)) 704.42/185.59 , U13^#(tt(), V1, V2) -> 704.42/185.59 c_22(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.42/185.59 isNatKind^#(activate(V2)), 704.42/185.59 activate^#(V2), 704.42/185.59 activate^#(V1), 704.42/185.59 activate^#(V2)) 704.42/185.59 , U14^#(tt(), V1, V2) -> 704.42/185.59 c_23(U15^#(isNat(activate(V1)), activate(V2)), 704.42/185.59 isNat^#(activate(V1)), 704.42/185.59 activate^#(V1), 704.42/185.59 activate^#(V2)) 704.42/185.59 , U15^#(tt(), V2) -> 704.42/185.59 c_24(U16^#(isNat(activate(V2))), 704.42/185.59 isNat^#(activate(V2)), 704.42/185.59 activate^#(V2)) 704.42/185.59 , U22^#(tt(), V1) -> 704.42/185.59 c_27(U23^#(isNat(activate(V1))), 704.42/185.59 isNat^#(activate(V1)), 704.42/185.59 activate^#(V1)) 704.42/185.59 , U32^#(tt(), V1, V2) -> 704.42/185.59 c_30(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.42/185.59 isNatKind^#(activate(V2)), 704.42/185.59 activate^#(V2), 704.42/185.59 activate^#(V1), 704.42/185.59 activate^#(V2)) 704.42/185.59 , U33^#(tt(), V1, V2) -> 704.42/185.59 c_31(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.42/185.59 isNatKind^#(activate(V2)), 704.42/185.59 activate^#(V2), 704.42/185.59 activate^#(V1), 704.42/185.59 activate^#(V2)) 704.42/185.59 , U34^#(tt(), V1, V2) -> 704.42/185.59 c_32(U35^#(isNat(activate(V1)), activate(V2)), 704.42/185.59 isNat^#(activate(V1)), 704.42/185.59 activate^#(V1), 704.42/185.59 activate^#(V2)) 704.42/185.59 , U35^#(tt(), V2) -> 704.42/185.59 c_33(U36^#(isNat(activate(V2))), 704.42/185.59 isNat^#(activate(V2)), 704.42/185.59 activate^#(V2)) 704.42/185.59 , U71^#(tt(), N) -> 704.42/185.59 c_40(U72^#(isNatKind(activate(N)), activate(N)), 704.42/185.59 isNatKind^#(activate(N)), 704.42/185.59 activate^#(N), 704.42/185.59 activate^#(N)) 704.42/185.59 , U72^#(tt(), N) -> c_41(activate^#(N)) 704.42/185.59 , U81^#(tt(), M, N) -> 704.42/185.59 c_42(U82^#(isNatKind(activate(M)), activate(M), activate(N)), 704.42/185.59 isNatKind^#(activate(M)), 704.42/185.59 activate^#(M), 704.42/185.59 activate^#(M), 704.42/185.59 activate^#(N)) 704.42/185.59 , U82^#(tt(), M, N) -> 704.42/185.59 c_43(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.42/185.59 isNat^#(activate(N)), 704.42/185.59 activate^#(N), 704.42/185.59 activate^#(M), 704.42/185.59 activate^#(N)) 704.42/185.59 , U83^#(tt(), M, N) -> 704.42/185.59 c_44(U84^#(isNatKind(activate(N)), activate(M), activate(N)), 704.42/185.59 isNatKind^#(activate(N)), 704.42/185.59 activate^#(N), 704.42/185.59 activate^#(M), 704.42/185.59 activate^#(N)) 704.42/185.59 , U84^#(tt(), M, N) -> 704.42/185.59 c_45(s^#(plus(activate(N), activate(M))), 704.42/185.59 plus^#(activate(N), activate(M)), 704.42/185.59 activate^#(N), 704.42/185.59 activate^#(M)) 704.65/185.60 , U91^#(tt(), N) -> 704.65/185.60 c_47(U92^#(isNatKind(activate(N))), 704.65/185.60 isNatKind^#(activate(N)), 704.65/185.60 activate^#(N)) } 704.65/185.60 Weak DPs: 704.65/185.60 { isNatKind^#(n__0()) -> c_3() 704.65/185.60 , activate^#(X) -> c_7() 704.65/185.60 , activate^#(n__0()) -> c_8(0^#()) 704.65/185.60 , activate^#(n__plus(X1, X2)) -> c_9(plus^#(X1, X2)) 704.65/185.60 , activate^#(n__s(X)) -> c_10(s^#(X)) 704.65/185.60 , activate^#(n__x(X1, X2)) -> c_11(x^#(X1, X2)) 704.65/185.60 , isNat^#(n__0()) -> c_13() 704.65/185.60 , U51^#(tt()) -> c_37() 704.65/185.60 , 0^#() -> c_49() 704.65/185.60 , plus^#(X1, X2) -> c_18() 704.65/185.60 , s^#(X) -> c_46() 704.65/185.60 , x^#(X1, X2) -> c_19() 704.65/185.60 , U16^#(tt()) -> c_25() 704.65/185.60 , U23^#(tt()) -> c_28() 704.65/185.60 , U36^#(tt()) -> c_34() 704.65/185.60 , U42^#(tt()) -> c_36() 704.65/185.60 , U62^#(tt()) -> c_39() 704.65/185.60 , U92^#(tt()) -> c_48(0^#()) } 704.65/185.60 Weak Trs: 704.65/185.60 { U101(tt(), M, N) -> 704.65/185.60 U102(isNatKind(activate(M)), activate(M), activate(N)) 704.65/185.60 , U102(tt(), M, N) -> 704.65/185.60 U103(isNat(activate(N)), activate(M), activate(N)) 704.65/185.60 , isNatKind(n__0()) -> tt() 704.65/185.60 , isNatKind(n__plus(V1, V2)) -> 704.65/185.60 U41(isNatKind(activate(V1)), activate(V2)) 704.65/185.60 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.65/185.60 , isNatKind(n__x(V1, V2)) -> 704.65/185.60 U61(isNatKind(activate(V1)), activate(V2)) 704.65/185.60 , activate(X) -> X 704.65/185.60 , activate(n__0()) -> 0() 704.65/185.60 , activate(n__plus(X1, X2)) -> plus(X1, X2) 704.65/185.60 , activate(n__s(X)) -> s(X) 704.65/185.60 , activate(n__x(X1, X2)) -> x(X1, X2) 704.65/185.60 , U103(tt(), M, N) -> 704.65/185.60 U104(isNatKind(activate(N)), activate(M), activate(N)) 704.65/185.60 , isNat(n__0()) -> tt() 704.65/185.60 , isNat(n__plus(V1, V2)) -> 704.65/185.60 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.60 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 704.65/185.60 , isNat(n__x(V1, V2)) -> 704.65/185.60 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.60 , U104(tt(), M, N) -> 704.65/185.60 plus(x(activate(N), activate(M)), activate(N)) 704.65/185.60 , plus(X1, X2) -> n__plus(X1, X2) 704.65/185.60 , x(X1, X2) -> n__x(X1, X2) 704.65/185.60 , U11(tt(), V1, V2) -> 704.65/185.60 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.60 , U12(tt(), V1, V2) -> 704.65/185.60 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.60 , U13(tt(), V1, V2) -> 704.65/185.60 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.60 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 704.65/185.60 , U15(tt(), V2) -> U16(isNat(activate(V2))) 704.65/185.60 , U16(tt()) -> tt() 704.65/185.60 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 704.65/185.60 , U22(tt(), V1) -> U23(isNat(activate(V1))) 704.65/185.60 , U23(tt()) -> tt() 704.65/185.60 , U31(tt(), V1, V2) -> 704.65/185.60 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.60 , U32(tt(), V1, V2) -> 704.65/185.60 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.60 , U33(tt(), V1, V2) -> 704.65/185.60 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.60 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 704.65/185.60 , U35(tt(), V2) -> U36(isNat(activate(V2))) 704.65/185.60 , U36(tt()) -> tt() 704.65/185.60 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 704.65/185.60 , U42(tt()) -> tt() 704.65/185.60 , U51(tt()) -> tt() 704.65/185.60 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 704.65/185.60 , U62(tt()) -> tt() 704.65/185.60 , U71(tt(), N) -> U72(isNatKind(activate(N)), activate(N)) 704.65/185.60 , U72(tt(), N) -> activate(N) 704.65/185.60 , U81(tt(), M, N) -> 704.65/185.60 U82(isNatKind(activate(M)), activate(M), activate(N)) 704.65/185.60 , U82(tt(), M, N) -> 704.65/185.60 U83(isNat(activate(N)), activate(M), activate(N)) 704.65/185.60 , U83(tt(), M, N) -> 704.65/185.60 U84(isNatKind(activate(N)), activate(M), activate(N)) 704.65/185.60 , U84(tt(), M, N) -> s(plus(activate(N), activate(M))) 704.65/185.60 , s(X) -> n__s(X) 704.65/185.60 , U91(tt(), N) -> U92(isNatKind(activate(N))) 704.65/185.60 , U92(tt()) -> 0() 704.65/185.60 , 0() -> n__0() } 704.65/185.60 Obligation: 704.65/185.60 innermost runtime complexity 704.65/185.60 Answer: 704.65/185.60 YES(O(1),O(n^2)) 704.65/185.60 704.65/185.60 We estimate the number of application of {12,26,30} by applications 704.65/185.60 of Pre({12,26,30}) = {6,25,29}. Here rules are labeled as follows: 704.65/185.60 704.65/185.60 DPs: 704.65/185.60 { 1: U101^#(tt(), M, N) -> 704.65/185.60 c_1(U102^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.60 isNatKind^#(activate(M)), 704.65/185.60 activate^#(M), 704.65/185.60 activate^#(M), 704.65/185.60 activate^#(N)) 704.65/185.60 , 2: U102^#(tt(), M, N) -> 704.65/185.60 c_2(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.60 isNat^#(activate(N)), 704.65/185.60 activate^#(N), 704.65/185.60 activate^#(M), 704.65/185.60 activate^#(N)) 704.65/185.60 , 3: isNatKind^#(n__plus(V1, V2)) -> 704.65/185.60 c_4(U41^#(isNatKind(activate(V1)), activate(V2)), 704.65/185.60 isNatKind^#(activate(V1)), 704.65/185.60 activate^#(V1), 704.65/185.60 activate^#(V2)) 704.65/185.60 , 4: isNatKind^#(n__s(V1)) -> 704.65/185.60 c_5(U51^#(isNatKind(activate(V1))), 704.65/185.60 isNatKind^#(activate(V1)), 704.65/185.60 activate^#(V1)) 704.65/185.60 , 5: isNatKind^#(n__x(V1, V2)) -> 704.65/185.60 c_6(U61^#(isNatKind(activate(V1)), activate(V2)), 704.65/185.60 isNatKind^#(activate(V1)), 704.65/185.60 activate^#(V1), 704.65/185.60 activate^#(V2)) 704.65/185.60 , 6: U103^#(tt(), M, N) -> 704.65/185.60 c_12(U104^#(isNatKind(activate(N)), activate(M), activate(N)), 704.65/185.60 isNatKind^#(activate(N)), 704.65/185.60 activate^#(N), 704.65/185.60 activate^#(M), 704.65/185.60 activate^#(N)) 704.65/185.60 , 7: isNat^#(n__plus(V1, V2)) -> 704.65/185.60 c_14(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.60 isNatKind^#(activate(V1)), 704.65/185.60 activate^#(V1), 704.65/185.60 activate^#(V1), 704.65/185.60 activate^#(V2)) 704.65/185.60 , 8: isNat^#(n__s(V1)) -> 704.65/185.60 c_15(U21^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.60 isNatKind^#(activate(V1)), 704.65/185.60 activate^#(V1), 704.65/185.60 activate^#(V1)) 704.65/185.60 , 9: isNat^#(n__x(V1, V2)) -> 704.65/185.60 c_16(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.60 isNatKind^#(activate(V1)), 704.65/185.60 activate^#(V1), 704.65/185.60 activate^#(V1), 704.65/185.60 activate^#(V2)) 704.65/185.60 , 10: U41^#(tt(), V2) -> 704.65/185.60 c_35(U42^#(isNatKind(activate(V2))), 704.65/185.60 isNatKind^#(activate(V2)), 704.65/185.60 activate^#(V2)) 704.65/185.60 , 11: U61^#(tt(), V2) -> 704.65/185.60 c_38(U62^#(isNatKind(activate(V2))), 704.65/185.60 isNatKind^#(activate(V2)), 704.65/185.60 activate^#(V2)) 704.65/185.60 , 12: U104^#(tt(), M, N) -> 704.65/185.60 c_17(plus^#(x(activate(N), activate(M)), activate(N)), 704.65/185.60 x^#(activate(N), activate(M)), 704.65/185.60 activate^#(N), 704.65/185.60 activate^#(M), 704.65/185.60 activate^#(N)) 704.65/185.60 , 13: U11^#(tt(), V1, V2) -> 704.65/185.60 c_20(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.60 isNatKind^#(activate(V1)), 704.65/185.60 activate^#(V1), 704.65/185.60 activate^#(V1), 704.65/185.60 activate^#(V2)) 704.65/185.60 , 14: U21^#(tt(), V1) -> 704.65/185.60 c_26(U22^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.60 isNatKind^#(activate(V1)), 704.65/185.60 activate^#(V1), 704.65/185.60 activate^#(V1)) 704.65/185.60 , 15: U31^#(tt(), V1, V2) -> 704.65/185.60 c_29(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.60 isNatKind^#(activate(V1)), 704.65/185.60 activate^#(V1), 704.65/185.60 activate^#(V1), 704.65/185.60 activate^#(V2)) 704.65/185.60 , 16: U12^#(tt(), V1, V2) -> 704.65/185.60 c_21(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.60 isNatKind^#(activate(V2)), 704.65/185.60 activate^#(V2), 704.65/185.60 activate^#(V1), 704.65/185.60 activate^#(V2)) 704.65/185.60 , 17: U13^#(tt(), V1, V2) -> 704.65/185.60 c_22(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.60 isNatKind^#(activate(V2)), 704.65/185.60 activate^#(V2), 704.65/185.60 activate^#(V1), 704.65/185.60 activate^#(V2)) 704.65/185.60 , 18: U14^#(tt(), V1, V2) -> 704.65/185.60 c_23(U15^#(isNat(activate(V1)), activate(V2)), 704.65/185.60 isNat^#(activate(V1)), 704.65/185.60 activate^#(V1), 704.65/185.60 activate^#(V2)) 704.65/185.60 , 19: U15^#(tt(), V2) -> 704.65/185.60 c_24(U16^#(isNat(activate(V2))), 704.65/185.60 isNat^#(activate(V2)), 704.65/185.60 activate^#(V2)) 704.65/185.60 , 20: U22^#(tt(), V1) -> 704.65/185.60 c_27(U23^#(isNat(activate(V1))), 704.65/185.60 isNat^#(activate(V1)), 704.65/185.60 activate^#(V1)) 704.65/185.60 , 21: U32^#(tt(), V1, V2) -> 704.65/185.60 c_30(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.60 isNatKind^#(activate(V2)), 704.65/185.60 activate^#(V2), 704.65/185.60 activate^#(V1), 704.65/185.60 activate^#(V2)) 704.65/185.60 , 22: U33^#(tt(), V1, V2) -> 704.65/185.60 c_31(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.60 isNatKind^#(activate(V2)), 704.65/185.60 activate^#(V2), 704.65/185.60 activate^#(V1), 704.65/185.60 activate^#(V2)) 704.65/185.60 , 23: U34^#(tt(), V1, V2) -> 704.65/185.60 c_32(U35^#(isNat(activate(V1)), activate(V2)), 704.65/185.60 isNat^#(activate(V1)), 704.65/185.60 activate^#(V1), 704.65/185.60 activate^#(V2)) 704.65/185.60 , 24: U35^#(tt(), V2) -> 704.65/185.60 c_33(U36^#(isNat(activate(V2))), 704.65/185.60 isNat^#(activate(V2)), 704.65/185.60 activate^#(V2)) 704.65/185.60 , 25: U71^#(tt(), N) -> 704.65/185.60 c_40(U72^#(isNatKind(activate(N)), activate(N)), 704.65/185.60 isNatKind^#(activate(N)), 704.65/185.60 activate^#(N), 704.65/185.60 activate^#(N)) 704.65/185.60 , 26: U72^#(tt(), N) -> c_41(activate^#(N)) 704.65/185.60 , 27: U81^#(tt(), M, N) -> 704.65/185.60 c_42(U82^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.60 isNatKind^#(activate(M)), 704.65/185.60 activate^#(M), 704.65/185.60 activate^#(M), 704.65/185.60 activate^#(N)) 704.65/185.60 , 28: U82^#(tt(), M, N) -> 704.65/185.60 c_43(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.60 isNat^#(activate(N)), 704.65/185.60 activate^#(N), 704.65/185.60 activate^#(M), 704.65/185.60 activate^#(N)) 704.65/185.60 , 29: U83^#(tt(), M, N) -> 704.65/185.60 c_44(U84^#(isNatKind(activate(N)), activate(M), activate(N)), 704.65/185.60 isNatKind^#(activate(N)), 704.65/185.60 activate^#(N), 704.65/185.60 activate^#(M), 704.65/185.60 activate^#(N)) 704.65/185.60 , 30: U84^#(tt(), M, N) -> 704.65/185.60 c_45(s^#(plus(activate(N), activate(M))), 704.65/185.60 plus^#(activate(N), activate(M)), 704.65/185.60 activate^#(N), 704.65/185.60 activate^#(M)) 704.65/185.60 , 31: U91^#(tt(), N) -> 704.65/185.60 c_47(U92^#(isNatKind(activate(N))), 704.65/185.60 isNatKind^#(activate(N)), 704.65/185.60 activate^#(N)) 704.65/185.60 , 32: isNatKind^#(n__0()) -> c_3() 704.65/185.60 , 33: activate^#(X) -> c_7() 704.65/185.60 , 34: activate^#(n__0()) -> c_8(0^#()) 704.65/185.60 , 35: activate^#(n__plus(X1, X2)) -> c_9(plus^#(X1, X2)) 704.65/185.60 , 36: activate^#(n__s(X)) -> c_10(s^#(X)) 704.65/185.60 , 37: activate^#(n__x(X1, X2)) -> c_11(x^#(X1, X2)) 704.65/185.60 , 38: isNat^#(n__0()) -> c_13() 704.65/185.60 , 39: U51^#(tt()) -> c_37() 704.65/185.60 , 40: 0^#() -> c_49() 704.65/185.60 , 41: plus^#(X1, X2) -> c_18() 704.65/185.60 , 42: s^#(X) -> c_46() 704.65/185.60 , 43: x^#(X1, X2) -> c_19() 704.65/185.60 , 44: U16^#(tt()) -> c_25() 704.65/185.60 , 45: U23^#(tt()) -> c_28() 704.65/185.60 , 46: U36^#(tt()) -> c_34() 704.65/185.60 , 47: U42^#(tt()) -> c_36() 704.65/185.60 , 48: U62^#(tt()) -> c_39() 704.65/185.60 , 49: U92^#(tt()) -> c_48(0^#()) } 704.65/185.60 704.65/185.60 We are left with following problem, upon which TcT provides the 704.65/185.60 certificate YES(O(1),O(n^2)). 704.65/185.60 704.65/185.60 Strict DPs: 704.65/185.60 { U101^#(tt(), M, N) -> 704.65/185.60 c_1(U102^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.60 isNatKind^#(activate(M)), 704.65/185.60 activate^#(M), 704.65/185.60 activate^#(M), 704.65/185.60 activate^#(N)) 704.65/185.60 , U102^#(tt(), M, N) -> 704.65/185.60 c_2(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.60 isNat^#(activate(N)), 704.65/185.60 activate^#(N), 704.65/185.60 activate^#(M), 704.65/185.60 activate^#(N)) 704.65/185.60 , isNatKind^#(n__plus(V1, V2)) -> 704.65/185.60 c_4(U41^#(isNatKind(activate(V1)), activate(V2)), 704.65/185.60 isNatKind^#(activate(V1)), 704.65/185.60 activate^#(V1), 704.65/185.60 activate^#(V2)) 704.65/185.60 , isNatKind^#(n__s(V1)) -> 704.65/185.60 c_5(U51^#(isNatKind(activate(V1))), 704.65/185.60 isNatKind^#(activate(V1)), 704.65/185.60 activate^#(V1)) 704.65/185.60 , isNatKind^#(n__x(V1, V2)) -> 704.65/185.60 c_6(U61^#(isNatKind(activate(V1)), activate(V2)), 704.65/185.60 isNatKind^#(activate(V1)), 704.65/185.60 activate^#(V1), 704.65/185.60 activate^#(V2)) 704.65/185.60 , U103^#(tt(), M, N) -> 704.65/185.60 c_12(U104^#(isNatKind(activate(N)), activate(M), activate(N)), 704.65/185.60 isNatKind^#(activate(N)), 704.65/185.60 activate^#(N), 704.65/185.60 activate^#(M), 704.65/185.60 activate^#(N)) 704.65/185.60 , isNat^#(n__plus(V1, V2)) -> 704.65/185.60 c_14(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.60 isNatKind^#(activate(V1)), 704.65/185.60 activate^#(V1), 704.65/185.60 activate^#(V1), 704.65/185.60 activate^#(V2)) 704.65/185.60 , isNat^#(n__s(V1)) -> 704.65/185.60 c_15(U21^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.60 isNatKind^#(activate(V1)), 704.65/185.60 activate^#(V1), 704.65/185.60 activate^#(V1)) 704.65/185.60 , isNat^#(n__x(V1, V2)) -> 704.65/185.60 c_16(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.60 isNatKind^#(activate(V1)), 704.65/185.60 activate^#(V1), 704.65/185.60 activate^#(V1), 704.65/185.60 activate^#(V2)) 704.65/185.60 , U41^#(tt(), V2) -> 704.65/185.60 c_35(U42^#(isNatKind(activate(V2))), 704.65/185.60 isNatKind^#(activate(V2)), 704.65/185.60 activate^#(V2)) 704.65/185.60 , U61^#(tt(), V2) -> 704.65/185.60 c_38(U62^#(isNatKind(activate(V2))), 704.65/185.60 isNatKind^#(activate(V2)), 704.65/185.60 activate^#(V2)) 704.65/185.60 , U11^#(tt(), V1, V2) -> 704.65/185.60 c_20(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.60 isNatKind^#(activate(V1)), 704.65/185.60 activate^#(V1), 704.65/185.60 activate^#(V1), 704.65/185.60 activate^#(V2)) 704.65/185.60 , U21^#(tt(), V1) -> 704.65/185.60 c_26(U22^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.60 isNatKind^#(activate(V1)), 704.65/185.60 activate^#(V1), 704.65/185.60 activate^#(V1)) 704.65/185.60 , U31^#(tt(), V1, V2) -> 704.65/185.60 c_29(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.60 isNatKind^#(activate(V1)), 704.65/185.60 activate^#(V1), 704.65/185.60 activate^#(V1), 704.65/185.60 activate^#(V2)) 704.65/185.60 , U12^#(tt(), V1, V2) -> 704.65/185.60 c_21(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.60 isNatKind^#(activate(V2)), 704.65/185.60 activate^#(V2), 704.65/185.60 activate^#(V1), 704.65/185.60 activate^#(V2)) 704.65/185.60 , U13^#(tt(), V1, V2) -> 704.65/185.60 c_22(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.60 isNatKind^#(activate(V2)), 704.65/185.60 activate^#(V2), 704.65/185.60 activate^#(V1), 704.65/185.60 activate^#(V2)) 704.65/185.60 , U14^#(tt(), V1, V2) -> 704.65/185.60 c_23(U15^#(isNat(activate(V1)), activate(V2)), 704.65/185.60 isNat^#(activate(V1)), 704.65/185.60 activate^#(V1), 704.65/185.60 activate^#(V2)) 704.65/185.60 , U15^#(tt(), V2) -> 704.65/185.60 c_24(U16^#(isNat(activate(V2))), 704.65/185.60 isNat^#(activate(V2)), 704.65/185.60 activate^#(V2)) 704.65/185.60 , U22^#(tt(), V1) -> 704.65/185.60 c_27(U23^#(isNat(activate(V1))), 704.65/185.60 isNat^#(activate(V1)), 704.65/185.60 activate^#(V1)) 704.65/185.60 , U32^#(tt(), V1, V2) -> 704.65/185.60 c_30(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.60 isNatKind^#(activate(V2)), 704.65/185.60 activate^#(V2), 704.65/185.60 activate^#(V1), 704.65/185.60 activate^#(V2)) 704.65/185.60 , U33^#(tt(), V1, V2) -> 704.65/185.60 c_31(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.60 isNatKind^#(activate(V2)), 704.65/185.60 activate^#(V2), 704.65/185.60 activate^#(V1), 704.65/185.60 activate^#(V2)) 704.65/185.60 , U34^#(tt(), V1, V2) -> 704.65/185.60 c_32(U35^#(isNat(activate(V1)), activate(V2)), 704.65/185.60 isNat^#(activate(V1)), 704.65/185.60 activate^#(V1), 704.65/185.60 activate^#(V2)) 704.65/185.60 , U35^#(tt(), V2) -> 704.65/185.60 c_33(U36^#(isNat(activate(V2))), 704.65/185.60 isNat^#(activate(V2)), 704.65/185.60 activate^#(V2)) 704.65/185.60 , U71^#(tt(), N) -> 704.65/185.60 c_40(U72^#(isNatKind(activate(N)), activate(N)), 704.65/185.60 isNatKind^#(activate(N)), 704.65/185.60 activate^#(N), 704.65/185.60 activate^#(N)) 704.65/185.60 , U81^#(tt(), M, N) -> 704.65/185.60 c_42(U82^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.60 isNatKind^#(activate(M)), 704.65/185.60 activate^#(M), 704.65/185.60 activate^#(M), 704.65/185.60 activate^#(N)) 704.65/185.60 , U82^#(tt(), M, N) -> 704.65/185.60 c_43(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.60 isNat^#(activate(N)), 704.65/185.60 activate^#(N), 704.65/185.60 activate^#(M), 704.65/185.60 activate^#(N)) 704.65/185.60 , U83^#(tt(), M, N) -> 704.65/185.60 c_44(U84^#(isNatKind(activate(N)), activate(M), activate(N)), 704.65/185.60 isNatKind^#(activate(N)), 704.65/185.60 activate^#(N), 704.65/185.60 activate^#(M), 704.65/185.60 activate^#(N)) 704.65/185.60 , U91^#(tt(), N) -> 704.65/185.60 c_47(U92^#(isNatKind(activate(N))), 704.65/185.60 isNatKind^#(activate(N)), 704.65/185.60 activate^#(N)) } 704.65/185.60 Weak DPs: 704.65/185.60 { isNatKind^#(n__0()) -> c_3() 704.65/185.60 , activate^#(X) -> c_7() 704.65/185.60 , activate^#(n__0()) -> c_8(0^#()) 704.65/185.60 , activate^#(n__plus(X1, X2)) -> c_9(plus^#(X1, X2)) 704.65/185.60 , activate^#(n__s(X)) -> c_10(s^#(X)) 704.65/185.60 , activate^#(n__x(X1, X2)) -> c_11(x^#(X1, X2)) 704.65/185.60 , isNat^#(n__0()) -> c_13() 704.65/185.60 , U51^#(tt()) -> c_37() 704.65/185.60 , 0^#() -> c_49() 704.65/185.60 , plus^#(X1, X2) -> c_18() 704.65/185.60 , s^#(X) -> c_46() 704.65/185.60 , x^#(X1, X2) -> c_19() 704.65/185.60 , U104^#(tt(), M, N) -> 704.65/185.60 c_17(plus^#(x(activate(N), activate(M)), activate(N)), 704.65/185.60 x^#(activate(N), activate(M)), 704.65/185.60 activate^#(N), 704.65/185.60 activate^#(M), 704.65/185.60 activate^#(N)) 704.65/185.60 , U16^#(tt()) -> c_25() 704.65/185.60 , U23^#(tt()) -> c_28() 704.65/185.60 , U36^#(tt()) -> c_34() 704.65/185.60 , U42^#(tt()) -> c_36() 704.65/185.60 , U62^#(tt()) -> c_39() 704.65/185.60 , U72^#(tt(), N) -> c_41(activate^#(N)) 704.65/185.60 , U84^#(tt(), M, N) -> 704.65/185.60 c_45(s^#(plus(activate(N), activate(M))), 704.65/185.60 plus^#(activate(N), activate(M)), 704.65/185.60 activate^#(N), 704.65/185.61 activate^#(M)) 704.65/185.61 , U92^#(tt()) -> c_48(0^#()) } 704.65/185.61 Weak Trs: 704.65/185.61 { U101(tt(), M, N) -> 704.65/185.61 U102(isNatKind(activate(M)), activate(M), activate(N)) 704.65/185.61 , U102(tt(), M, N) -> 704.65/185.61 U103(isNat(activate(N)), activate(M), activate(N)) 704.65/185.61 , isNatKind(n__0()) -> tt() 704.65/185.61 , isNatKind(n__plus(V1, V2)) -> 704.65/185.61 U41(isNatKind(activate(V1)), activate(V2)) 704.65/185.61 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.65/185.61 , isNatKind(n__x(V1, V2)) -> 704.65/185.61 U61(isNatKind(activate(V1)), activate(V2)) 704.65/185.61 , activate(X) -> X 704.65/185.61 , activate(n__0()) -> 0() 704.65/185.61 , activate(n__plus(X1, X2)) -> plus(X1, X2) 704.65/185.61 , activate(n__s(X)) -> s(X) 704.65/185.61 , activate(n__x(X1, X2)) -> x(X1, X2) 704.65/185.61 , U103(tt(), M, N) -> 704.65/185.61 U104(isNatKind(activate(N)), activate(M), activate(N)) 704.65/185.61 , isNat(n__0()) -> tt() 704.65/185.61 , isNat(n__plus(V1, V2)) -> 704.65/185.61 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.61 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 704.65/185.61 , isNat(n__x(V1, V2)) -> 704.65/185.61 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.61 , U104(tt(), M, N) -> 704.65/185.61 plus(x(activate(N), activate(M)), activate(N)) 704.65/185.61 , plus(X1, X2) -> n__plus(X1, X2) 704.65/185.61 , x(X1, X2) -> n__x(X1, X2) 704.65/185.61 , U11(tt(), V1, V2) -> 704.65/185.61 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.61 , U12(tt(), V1, V2) -> 704.65/185.61 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.61 , U13(tt(), V1, V2) -> 704.65/185.61 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.61 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 704.65/185.61 , U15(tt(), V2) -> U16(isNat(activate(V2))) 704.65/185.61 , U16(tt()) -> tt() 704.65/185.61 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 704.65/185.61 , U22(tt(), V1) -> U23(isNat(activate(V1))) 704.65/185.61 , U23(tt()) -> tt() 704.65/185.61 , U31(tt(), V1, V2) -> 704.65/185.61 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.61 , U32(tt(), V1, V2) -> 704.65/185.61 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.61 , U33(tt(), V1, V2) -> 704.65/185.61 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.61 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 704.65/185.61 , U35(tt(), V2) -> U36(isNat(activate(V2))) 704.65/185.61 , U36(tt()) -> tt() 704.65/185.61 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 704.65/185.61 , U42(tt()) -> tt() 704.65/185.61 , U51(tt()) -> tt() 704.65/185.61 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 704.65/185.61 , U62(tt()) -> tt() 704.65/185.61 , U71(tt(), N) -> U72(isNatKind(activate(N)), activate(N)) 704.65/185.61 , U72(tt(), N) -> activate(N) 704.65/185.61 , U81(tt(), M, N) -> 704.65/185.61 U82(isNatKind(activate(M)), activate(M), activate(N)) 704.65/185.61 , U82(tt(), M, N) -> 704.65/185.61 U83(isNat(activate(N)), activate(M), activate(N)) 704.65/185.61 , U83(tt(), M, N) -> 704.65/185.61 U84(isNatKind(activate(N)), activate(M), activate(N)) 704.65/185.61 , U84(tt(), M, N) -> s(plus(activate(N), activate(M))) 704.65/185.61 , s(X) -> n__s(X) 704.65/185.61 , U91(tt(), N) -> U92(isNatKind(activate(N))) 704.65/185.61 , U92(tt()) -> 0() 704.65/185.61 , 0() -> n__0() } 704.65/185.61 Obligation: 704.65/185.61 innermost runtime complexity 704.65/185.61 Answer: 704.65/185.61 YES(O(1),O(n^2)) 704.65/185.61 704.65/185.61 The following weak DPs constitute a sub-graph of the DG that is 704.65/185.61 closed under successors. The DPs are removed. 704.65/185.61 704.65/185.61 { isNatKind^#(n__0()) -> c_3() 704.65/185.61 , activate^#(X) -> c_7() 704.65/185.61 , activate^#(n__0()) -> c_8(0^#()) 704.65/185.61 , activate^#(n__plus(X1, X2)) -> c_9(plus^#(X1, X2)) 704.65/185.61 , activate^#(n__s(X)) -> c_10(s^#(X)) 704.65/185.61 , activate^#(n__x(X1, X2)) -> c_11(x^#(X1, X2)) 704.65/185.61 , isNat^#(n__0()) -> c_13() 704.65/185.61 , U51^#(tt()) -> c_37() 704.65/185.61 , 0^#() -> c_49() 704.65/185.61 , plus^#(X1, X2) -> c_18() 704.65/185.61 , s^#(X) -> c_46() 704.65/185.61 , x^#(X1, X2) -> c_19() 704.65/185.61 , U104^#(tt(), M, N) -> 704.65/185.61 c_17(plus^#(x(activate(N), activate(M)), activate(N)), 704.65/185.61 x^#(activate(N), activate(M)), 704.65/185.61 activate^#(N), 704.65/185.61 activate^#(M), 704.65/185.61 activate^#(N)) 704.65/185.61 , U16^#(tt()) -> c_25() 704.65/185.61 , U23^#(tt()) -> c_28() 704.65/185.61 , U36^#(tt()) -> c_34() 704.65/185.61 , U42^#(tt()) -> c_36() 704.65/185.61 , U62^#(tt()) -> c_39() 704.65/185.61 , U72^#(tt(), N) -> c_41(activate^#(N)) 704.65/185.61 , U84^#(tt(), M, N) -> 704.65/185.61 c_45(s^#(plus(activate(N), activate(M))), 704.65/185.61 plus^#(activate(N), activate(M)), 704.65/185.61 activate^#(N), 704.65/185.61 activate^#(M)) 704.65/185.61 , U92^#(tt()) -> c_48(0^#()) } 704.65/185.61 704.65/185.61 We are left with following problem, upon which TcT provides the 704.65/185.61 certificate YES(O(1),O(n^2)). 704.65/185.61 704.65/185.61 Strict DPs: 704.65/185.61 { U101^#(tt(), M, N) -> 704.65/185.61 c_1(U102^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.61 isNatKind^#(activate(M)), 704.65/185.61 activate^#(M), 704.65/185.61 activate^#(M), 704.65/185.61 activate^#(N)) 704.65/185.61 , U102^#(tt(), M, N) -> 704.65/185.61 c_2(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.61 isNat^#(activate(N)), 704.65/185.61 activate^#(N), 704.65/185.61 activate^#(M), 704.65/185.61 activate^#(N)) 704.65/185.61 , isNatKind^#(n__plus(V1, V2)) -> 704.65/185.61 c_4(U41^#(isNatKind(activate(V1)), activate(V2)), 704.65/185.61 isNatKind^#(activate(V1)), 704.65/185.61 activate^#(V1), 704.65/185.61 activate^#(V2)) 704.65/185.61 , isNatKind^#(n__s(V1)) -> 704.65/185.61 c_5(U51^#(isNatKind(activate(V1))), 704.65/185.61 isNatKind^#(activate(V1)), 704.65/185.61 activate^#(V1)) 704.65/185.61 , isNatKind^#(n__x(V1, V2)) -> 704.65/185.61 c_6(U61^#(isNatKind(activate(V1)), activate(V2)), 704.65/185.61 isNatKind^#(activate(V1)), 704.65/185.61 activate^#(V1), 704.65/185.61 activate^#(V2)) 704.65/185.61 , U103^#(tt(), M, N) -> 704.65/185.61 c_12(U104^#(isNatKind(activate(N)), activate(M), activate(N)), 704.65/185.61 isNatKind^#(activate(N)), 704.65/185.61 activate^#(N), 704.65/185.61 activate^#(M), 704.65/185.61 activate^#(N)) 704.65/185.61 , isNat^#(n__plus(V1, V2)) -> 704.65/185.61 c_14(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.61 isNatKind^#(activate(V1)), 704.65/185.61 activate^#(V1), 704.65/185.61 activate^#(V1), 704.65/185.61 activate^#(V2)) 704.65/185.61 , isNat^#(n__s(V1)) -> 704.65/185.61 c_15(U21^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.61 isNatKind^#(activate(V1)), 704.65/185.61 activate^#(V1), 704.65/185.61 activate^#(V1)) 704.65/185.61 , isNat^#(n__x(V1, V2)) -> 704.65/185.61 c_16(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.61 isNatKind^#(activate(V1)), 704.65/185.61 activate^#(V1), 704.65/185.61 activate^#(V1), 704.65/185.61 activate^#(V2)) 704.65/185.61 , U41^#(tt(), V2) -> 704.65/185.61 c_35(U42^#(isNatKind(activate(V2))), 704.65/185.61 isNatKind^#(activate(V2)), 704.65/185.61 activate^#(V2)) 704.65/185.61 , U61^#(tt(), V2) -> 704.65/185.61 c_38(U62^#(isNatKind(activate(V2))), 704.65/185.61 isNatKind^#(activate(V2)), 704.65/185.61 activate^#(V2)) 704.65/185.61 , U11^#(tt(), V1, V2) -> 704.65/185.61 c_20(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.61 isNatKind^#(activate(V1)), 704.65/185.61 activate^#(V1), 704.65/185.61 activate^#(V1), 704.65/185.61 activate^#(V2)) 704.65/185.61 , U21^#(tt(), V1) -> 704.65/185.61 c_26(U22^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.61 isNatKind^#(activate(V1)), 704.65/185.61 activate^#(V1), 704.65/185.61 activate^#(V1)) 704.65/185.61 , U31^#(tt(), V1, V2) -> 704.65/185.61 c_29(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.61 isNatKind^#(activate(V1)), 704.65/185.61 activate^#(V1), 704.65/185.61 activate^#(V1), 704.65/185.61 activate^#(V2)) 704.65/185.61 , U12^#(tt(), V1, V2) -> 704.65/185.61 c_21(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.61 isNatKind^#(activate(V2)), 704.65/185.61 activate^#(V2), 704.65/185.61 activate^#(V1), 704.65/185.61 activate^#(V2)) 704.65/185.61 , U13^#(tt(), V1, V2) -> 704.65/185.61 c_22(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.61 isNatKind^#(activate(V2)), 704.65/185.61 activate^#(V2), 704.65/185.61 activate^#(V1), 704.65/185.61 activate^#(V2)) 704.65/185.61 , U14^#(tt(), V1, V2) -> 704.65/185.61 c_23(U15^#(isNat(activate(V1)), activate(V2)), 704.65/185.61 isNat^#(activate(V1)), 704.65/185.61 activate^#(V1), 704.65/185.61 activate^#(V2)) 704.65/185.61 , U15^#(tt(), V2) -> 704.65/185.61 c_24(U16^#(isNat(activate(V2))), 704.65/185.61 isNat^#(activate(V2)), 704.65/185.61 activate^#(V2)) 704.65/185.61 , U22^#(tt(), V1) -> 704.65/185.61 c_27(U23^#(isNat(activate(V1))), 704.65/185.61 isNat^#(activate(V1)), 704.65/185.61 activate^#(V1)) 704.65/185.61 , U32^#(tt(), V1, V2) -> 704.65/185.61 c_30(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.61 isNatKind^#(activate(V2)), 704.65/185.61 activate^#(V2), 704.65/185.61 activate^#(V1), 704.65/185.61 activate^#(V2)) 704.65/185.61 , U33^#(tt(), V1, V2) -> 704.65/185.61 c_31(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.61 isNatKind^#(activate(V2)), 704.65/185.61 activate^#(V2), 704.65/185.61 activate^#(V1), 704.65/185.61 activate^#(V2)) 704.65/185.61 , U34^#(tt(), V1, V2) -> 704.65/185.61 c_32(U35^#(isNat(activate(V1)), activate(V2)), 704.65/185.61 isNat^#(activate(V1)), 704.65/185.61 activate^#(V1), 704.65/185.61 activate^#(V2)) 704.65/185.61 , U35^#(tt(), V2) -> 704.65/185.61 c_33(U36^#(isNat(activate(V2))), 704.65/185.61 isNat^#(activate(V2)), 704.65/185.61 activate^#(V2)) 704.65/185.61 , U71^#(tt(), N) -> 704.65/185.61 c_40(U72^#(isNatKind(activate(N)), activate(N)), 704.65/185.61 isNatKind^#(activate(N)), 704.65/185.61 activate^#(N), 704.65/185.61 activate^#(N)) 704.65/185.61 , U81^#(tt(), M, N) -> 704.65/185.61 c_42(U82^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.61 isNatKind^#(activate(M)), 704.65/185.61 activate^#(M), 704.65/185.61 activate^#(M), 704.65/185.61 activate^#(N)) 704.65/185.61 , U82^#(tt(), M, N) -> 704.65/185.61 c_43(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.61 isNat^#(activate(N)), 704.65/185.61 activate^#(N), 704.65/185.61 activate^#(M), 704.65/185.61 activate^#(N)) 704.65/185.61 , U83^#(tt(), M, N) -> 704.65/185.61 c_44(U84^#(isNatKind(activate(N)), activate(M), activate(N)), 704.65/185.61 isNatKind^#(activate(N)), 704.65/185.61 activate^#(N), 704.65/185.61 activate^#(M), 704.65/185.61 activate^#(N)) 704.65/185.61 , U91^#(tt(), N) -> 704.65/185.61 c_47(U92^#(isNatKind(activate(N))), 704.65/185.61 isNatKind^#(activate(N)), 704.65/185.61 activate^#(N)) } 704.65/185.61 Weak Trs: 704.65/185.61 { U101(tt(), M, N) -> 704.65/185.61 U102(isNatKind(activate(M)), activate(M), activate(N)) 704.65/185.61 , U102(tt(), M, N) -> 704.65/185.61 U103(isNat(activate(N)), activate(M), activate(N)) 704.65/185.61 , isNatKind(n__0()) -> tt() 704.65/185.61 , isNatKind(n__plus(V1, V2)) -> 704.65/185.61 U41(isNatKind(activate(V1)), activate(V2)) 704.65/185.61 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.65/185.61 , isNatKind(n__x(V1, V2)) -> 704.65/185.61 U61(isNatKind(activate(V1)), activate(V2)) 704.65/185.61 , activate(X) -> X 704.65/185.61 , activate(n__0()) -> 0() 704.65/185.61 , activate(n__plus(X1, X2)) -> plus(X1, X2) 704.65/185.61 , activate(n__s(X)) -> s(X) 704.65/185.61 , activate(n__x(X1, X2)) -> x(X1, X2) 704.65/185.61 , U103(tt(), M, N) -> 704.65/185.61 U104(isNatKind(activate(N)), activate(M), activate(N)) 704.65/185.61 , isNat(n__0()) -> tt() 704.65/185.61 , isNat(n__plus(V1, V2)) -> 704.65/185.61 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.61 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 704.65/185.61 , isNat(n__x(V1, V2)) -> 704.65/185.61 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.61 , U104(tt(), M, N) -> 704.65/185.61 plus(x(activate(N), activate(M)), activate(N)) 704.65/185.61 , plus(X1, X2) -> n__plus(X1, X2) 704.65/185.61 , x(X1, X2) -> n__x(X1, X2) 704.65/185.61 , U11(tt(), V1, V2) -> 704.65/185.61 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.61 , U12(tt(), V1, V2) -> 704.65/185.61 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.61 , U13(tt(), V1, V2) -> 704.65/185.61 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.61 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 704.65/185.61 , U15(tt(), V2) -> U16(isNat(activate(V2))) 704.65/185.61 , U16(tt()) -> tt() 704.65/185.61 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 704.65/185.61 , U22(tt(), V1) -> U23(isNat(activate(V1))) 704.65/185.61 , U23(tt()) -> tt() 704.65/185.61 , U31(tt(), V1, V2) -> 704.65/185.61 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.61 , U32(tt(), V1, V2) -> 704.65/185.61 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.61 , U33(tt(), V1, V2) -> 704.65/185.61 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.61 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 704.65/185.61 , U35(tt(), V2) -> U36(isNat(activate(V2))) 704.65/185.61 , U36(tt()) -> tt() 704.65/185.61 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 704.65/185.61 , U42(tt()) -> tt() 704.65/185.61 , U51(tt()) -> tt() 704.65/185.61 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 704.65/185.61 , U62(tt()) -> tt() 704.65/185.61 , U71(tt(), N) -> U72(isNatKind(activate(N)), activate(N)) 704.65/185.61 , U72(tt(), N) -> activate(N) 704.65/185.61 , U81(tt(), M, N) -> 704.65/185.61 U82(isNatKind(activate(M)), activate(M), activate(N)) 704.65/185.61 , U82(tt(), M, N) -> 704.65/185.61 U83(isNat(activate(N)), activate(M), activate(N)) 704.65/185.61 , U83(tt(), M, N) -> 704.65/185.61 U84(isNatKind(activate(N)), activate(M), activate(N)) 704.65/185.61 , U84(tt(), M, N) -> s(plus(activate(N), activate(M))) 704.65/185.61 , s(X) -> n__s(X) 704.65/185.61 , U91(tt(), N) -> U92(isNatKind(activate(N))) 704.65/185.61 , U92(tt()) -> 0() 704.65/185.61 , 0() -> n__0() } 704.65/185.61 Obligation: 704.65/185.61 innermost runtime complexity 704.65/185.61 Answer: 704.65/185.61 YES(O(1),O(n^2)) 704.65/185.61 704.65/185.61 Due to missing edges in the dependency-graph, the right-hand sides 704.65/185.61 of following rules could be simplified: 704.65/185.61 704.65/185.61 { U101^#(tt(), M, N) -> 704.65/185.61 c_1(U102^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.61 isNatKind^#(activate(M)), 704.65/185.61 activate^#(M), 704.65/185.61 activate^#(M), 704.65/185.61 activate^#(N)) 704.65/185.61 , U102^#(tt(), M, N) -> 704.65/185.61 c_2(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.61 isNat^#(activate(N)), 704.65/185.61 activate^#(N), 704.65/185.61 activate^#(M), 704.65/185.61 activate^#(N)) 704.65/185.61 , isNatKind^#(n__plus(V1, V2)) -> 704.65/185.61 c_4(U41^#(isNatKind(activate(V1)), activate(V2)), 704.65/185.61 isNatKind^#(activate(V1)), 704.65/185.61 activate^#(V1), 704.65/185.61 activate^#(V2)) 704.65/185.61 , isNatKind^#(n__s(V1)) -> 704.65/185.61 c_5(U51^#(isNatKind(activate(V1))), 704.65/185.61 isNatKind^#(activate(V1)), 704.65/185.61 activate^#(V1)) 704.65/185.61 , isNatKind^#(n__x(V1, V2)) -> 704.65/185.61 c_6(U61^#(isNatKind(activate(V1)), activate(V2)), 704.65/185.61 isNatKind^#(activate(V1)), 704.65/185.61 activate^#(V1), 704.65/185.61 activate^#(V2)) 704.65/185.61 , U103^#(tt(), M, N) -> 704.65/185.61 c_12(U104^#(isNatKind(activate(N)), activate(M), activate(N)), 704.65/185.61 isNatKind^#(activate(N)), 704.65/185.61 activate^#(N), 704.65/185.61 activate^#(M), 704.65/185.61 activate^#(N)) 704.65/185.61 , isNat^#(n__plus(V1, V2)) -> 704.65/185.61 c_14(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.61 isNatKind^#(activate(V1)), 704.65/185.61 activate^#(V1), 704.65/185.61 activate^#(V1), 704.65/185.61 activate^#(V2)) 704.65/185.61 , isNat^#(n__s(V1)) -> 704.65/185.61 c_15(U21^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.61 isNatKind^#(activate(V1)), 704.65/185.61 activate^#(V1), 704.65/185.61 activate^#(V1)) 704.65/185.61 , isNat^#(n__x(V1, V2)) -> 704.65/185.61 c_16(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.61 isNatKind^#(activate(V1)), 704.65/185.61 activate^#(V1), 704.65/185.61 activate^#(V1), 704.65/185.61 activate^#(V2)) 704.65/185.61 , U41^#(tt(), V2) -> 704.65/185.61 c_35(U42^#(isNatKind(activate(V2))), 704.65/185.61 isNatKind^#(activate(V2)), 704.65/185.61 activate^#(V2)) 704.65/185.61 , U61^#(tt(), V2) -> 704.65/185.61 c_38(U62^#(isNatKind(activate(V2))), 704.65/185.61 isNatKind^#(activate(V2)), 704.65/185.61 activate^#(V2)) 704.65/185.61 , U11^#(tt(), V1, V2) -> 704.65/185.61 c_20(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.61 isNatKind^#(activate(V1)), 704.65/185.61 activate^#(V1), 704.65/185.61 activate^#(V1), 704.65/185.61 activate^#(V2)) 704.65/185.61 , U21^#(tt(), V1) -> 704.65/185.61 c_26(U22^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.61 isNatKind^#(activate(V1)), 704.65/185.61 activate^#(V1), 704.65/185.61 activate^#(V1)) 704.65/185.61 , U31^#(tt(), V1, V2) -> 704.65/185.61 c_29(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.61 isNatKind^#(activate(V1)), 704.65/185.61 activate^#(V1), 704.65/185.61 activate^#(V1), 704.65/185.61 activate^#(V2)) 704.65/185.61 , U12^#(tt(), V1, V2) -> 704.65/185.61 c_21(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.61 isNatKind^#(activate(V2)), 704.65/185.61 activate^#(V2), 704.65/185.61 activate^#(V1), 704.65/185.61 activate^#(V2)) 704.65/185.61 , U13^#(tt(), V1, V2) -> 704.65/185.61 c_22(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.61 isNatKind^#(activate(V2)), 704.65/185.61 activate^#(V2), 704.65/185.61 activate^#(V1), 704.65/185.61 activate^#(V2)) 704.65/185.61 , U14^#(tt(), V1, V2) -> 704.65/185.61 c_23(U15^#(isNat(activate(V1)), activate(V2)), 704.65/185.61 isNat^#(activate(V1)), 704.65/185.61 activate^#(V1), 704.65/185.61 activate^#(V2)) 704.65/185.61 , U15^#(tt(), V2) -> 704.65/185.61 c_24(U16^#(isNat(activate(V2))), 704.65/185.61 isNat^#(activate(V2)), 704.65/185.61 activate^#(V2)) 704.65/185.61 , U22^#(tt(), V1) -> 704.65/185.61 c_27(U23^#(isNat(activate(V1))), 704.65/185.61 isNat^#(activate(V1)), 704.65/185.61 activate^#(V1)) 704.65/185.61 , U32^#(tt(), V1, V2) -> 704.65/185.61 c_30(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.61 isNatKind^#(activate(V2)), 704.65/185.61 activate^#(V2), 704.65/185.61 activate^#(V1), 704.65/185.61 activate^#(V2)) 704.65/185.61 , U33^#(tt(), V1, V2) -> 704.65/185.61 c_31(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.61 isNatKind^#(activate(V2)), 704.65/185.61 activate^#(V2), 704.65/185.61 activate^#(V1), 704.65/185.61 activate^#(V2)) 704.65/185.61 , U34^#(tt(), V1, V2) -> 704.65/185.61 c_32(U35^#(isNat(activate(V1)), activate(V2)), 704.65/185.61 isNat^#(activate(V1)), 704.65/185.61 activate^#(V1), 704.65/185.61 activate^#(V2)) 704.65/185.61 , U35^#(tt(), V2) -> 704.65/185.61 c_33(U36^#(isNat(activate(V2))), 704.65/185.61 isNat^#(activate(V2)), 704.65/185.61 activate^#(V2)) 704.65/185.61 , U71^#(tt(), N) -> 704.65/185.61 c_40(U72^#(isNatKind(activate(N)), activate(N)), 704.65/185.61 isNatKind^#(activate(N)), 704.65/185.61 activate^#(N), 704.65/185.61 activate^#(N)) 704.65/185.61 , U81^#(tt(), M, N) -> 704.65/185.61 c_42(U82^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.61 isNatKind^#(activate(M)), 704.65/185.61 activate^#(M), 704.65/185.61 activate^#(M), 704.65/185.61 activate^#(N)) 704.65/185.61 , U82^#(tt(), M, N) -> 704.65/185.61 c_43(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.61 isNat^#(activate(N)), 704.65/185.61 activate^#(N), 704.65/185.61 activate^#(M), 704.65/185.61 activate^#(N)) 704.65/185.61 , U83^#(tt(), M, N) -> 704.65/185.61 c_44(U84^#(isNatKind(activate(N)), activate(M), activate(N)), 704.65/185.61 isNatKind^#(activate(N)), 704.65/185.62 activate^#(N), 704.65/185.62 activate^#(M), 704.65/185.62 activate^#(N)) 704.65/185.62 , U91^#(tt(), N) -> 704.65/185.62 c_47(U92^#(isNatKind(activate(N))), 704.65/185.62 isNatKind^#(activate(N)), 704.65/185.62 activate^#(N)) } 704.65/185.62 704.65/185.62 We are left with following problem, upon which TcT provides the 704.65/185.62 certificate YES(O(1),O(n^2)). 704.65/185.62 704.65/185.62 Strict DPs: 704.65/185.62 { U101^#(tt(), M, N) -> 704.65/185.62 c_1(U102^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.62 isNatKind^#(activate(M))) 704.65/185.62 , U102^#(tt(), M, N) -> 704.65/185.62 c_2(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.62 isNat^#(activate(N))) 704.65/185.62 , isNatKind^#(n__plus(V1, V2)) -> 704.65/185.62 c_3(U41^#(isNatKind(activate(V1)), activate(V2)), 704.65/185.62 isNatKind^#(activate(V1))) 704.65/185.62 , isNatKind^#(n__s(V1)) -> c_4(isNatKind^#(activate(V1))) 704.65/185.62 , isNatKind^#(n__x(V1, V2)) -> 704.65/185.62 c_5(U61^#(isNatKind(activate(V1)), activate(V2)), 704.65/185.62 isNatKind^#(activate(V1))) 704.65/185.62 , U103^#(tt(), M, N) -> c_6(isNatKind^#(activate(N))) 704.65/185.62 , isNat^#(n__plus(V1, V2)) -> 704.65/185.62 c_7(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.62 isNatKind^#(activate(V1))) 704.65/185.62 , isNat^#(n__s(V1)) -> 704.65/185.62 c_8(U21^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.62 isNatKind^#(activate(V1))) 704.65/185.62 , isNat^#(n__x(V1, V2)) -> 704.65/185.62 c_9(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.62 isNatKind^#(activate(V1))) 704.65/185.62 , U41^#(tt(), V2) -> c_10(isNatKind^#(activate(V2))) 704.65/185.62 , U61^#(tt(), V2) -> c_11(isNatKind^#(activate(V2))) 704.65/185.62 , U11^#(tt(), V1, V2) -> 704.65/185.62 c_12(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.62 isNatKind^#(activate(V1))) 704.65/185.62 , U21^#(tt(), V1) -> 704.65/185.62 c_13(U22^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.62 isNatKind^#(activate(V1))) 704.65/185.62 , U31^#(tt(), V1, V2) -> 704.65/185.62 c_14(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.62 isNatKind^#(activate(V1))) 704.65/185.62 , U12^#(tt(), V1, V2) -> 704.65/185.62 c_15(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.62 isNatKind^#(activate(V2))) 704.65/185.62 , U13^#(tt(), V1, V2) -> 704.65/185.62 c_16(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.62 isNatKind^#(activate(V2))) 704.65/185.62 , U14^#(tt(), V1, V2) -> 704.65/185.62 c_17(U15^#(isNat(activate(V1)), activate(V2)), 704.65/185.62 isNat^#(activate(V1))) 704.65/185.62 , U15^#(tt(), V2) -> c_18(isNat^#(activate(V2))) 704.65/185.62 , U22^#(tt(), V1) -> c_19(isNat^#(activate(V1))) 704.65/185.62 , U32^#(tt(), V1, V2) -> 704.65/185.62 c_20(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.62 isNatKind^#(activate(V2))) 704.65/185.62 , U33^#(tt(), V1, V2) -> 704.65/185.62 c_21(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.62 isNatKind^#(activate(V2))) 704.65/185.62 , U34^#(tt(), V1, V2) -> 704.65/185.62 c_22(U35^#(isNat(activate(V1)), activate(V2)), 704.65/185.62 isNat^#(activate(V1))) 704.65/185.62 , U35^#(tt(), V2) -> c_23(isNat^#(activate(V2))) 704.65/185.62 , U71^#(tt(), N) -> c_24(isNatKind^#(activate(N))) 704.65/185.62 , U81^#(tt(), M, N) -> 704.65/185.62 c_25(U82^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.62 isNatKind^#(activate(M))) 704.65/185.62 , U82^#(tt(), M, N) -> 704.65/185.62 c_26(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.62 isNat^#(activate(N))) 704.65/185.62 , U83^#(tt(), M, N) -> c_27(isNatKind^#(activate(N))) 704.65/185.62 , U91^#(tt(), N) -> c_28(isNatKind^#(activate(N))) } 704.65/185.62 Weak Trs: 704.65/185.62 { U101(tt(), M, N) -> 704.65/185.62 U102(isNatKind(activate(M)), activate(M), activate(N)) 704.65/185.62 , U102(tt(), M, N) -> 704.65/185.62 U103(isNat(activate(N)), activate(M), activate(N)) 704.65/185.62 , isNatKind(n__0()) -> tt() 704.65/185.62 , isNatKind(n__plus(V1, V2)) -> 704.65/185.62 U41(isNatKind(activate(V1)), activate(V2)) 704.65/185.62 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.65/185.62 , isNatKind(n__x(V1, V2)) -> 704.65/185.62 U61(isNatKind(activate(V1)), activate(V2)) 704.65/185.62 , activate(X) -> X 704.65/185.62 , activate(n__0()) -> 0() 704.65/185.62 , activate(n__plus(X1, X2)) -> plus(X1, X2) 704.65/185.62 , activate(n__s(X)) -> s(X) 704.65/185.62 , activate(n__x(X1, X2)) -> x(X1, X2) 704.65/185.62 , U103(tt(), M, N) -> 704.65/185.62 U104(isNatKind(activate(N)), activate(M), activate(N)) 704.65/185.62 , isNat(n__0()) -> tt() 704.65/185.62 , isNat(n__plus(V1, V2)) -> 704.65/185.62 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.62 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 704.65/185.62 , isNat(n__x(V1, V2)) -> 704.65/185.62 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.62 , U104(tt(), M, N) -> 704.65/185.62 plus(x(activate(N), activate(M)), activate(N)) 704.65/185.62 , plus(X1, X2) -> n__plus(X1, X2) 704.65/185.62 , x(X1, X2) -> n__x(X1, X2) 704.65/185.62 , U11(tt(), V1, V2) -> 704.65/185.62 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.62 , U12(tt(), V1, V2) -> 704.65/185.62 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.62 , U13(tt(), V1, V2) -> 704.65/185.62 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.62 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 704.65/185.62 , U15(tt(), V2) -> U16(isNat(activate(V2))) 704.65/185.62 , U16(tt()) -> tt() 704.65/185.62 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 704.65/185.62 , U22(tt(), V1) -> U23(isNat(activate(V1))) 704.65/185.62 , U23(tt()) -> tt() 704.65/185.62 , U31(tt(), V1, V2) -> 704.65/185.62 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.62 , U32(tt(), V1, V2) -> 704.65/185.62 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.62 , U33(tt(), V1, V2) -> 704.65/185.62 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.62 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 704.65/185.62 , U35(tt(), V2) -> U36(isNat(activate(V2))) 704.65/185.62 , U36(tt()) -> tt() 704.65/185.62 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 704.65/185.62 , U42(tt()) -> tt() 704.65/185.62 , U51(tt()) -> tt() 704.65/185.62 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 704.65/185.62 , U62(tt()) -> tt() 704.65/185.62 , U71(tt(), N) -> U72(isNatKind(activate(N)), activate(N)) 704.65/185.62 , U72(tt(), N) -> activate(N) 704.65/185.62 , U81(tt(), M, N) -> 704.65/185.62 U82(isNatKind(activate(M)), activate(M), activate(N)) 704.65/185.62 , U82(tt(), M, N) -> 704.65/185.62 U83(isNat(activate(N)), activate(M), activate(N)) 704.65/185.62 , U83(tt(), M, N) -> 704.65/185.62 U84(isNatKind(activate(N)), activate(M), activate(N)) 704.65/185.62 , U84(tt(), M, N) -> s(plus(activate(N), activate(M))) 704.65/185.62 , s(X) -> n__s(X) 704.65/185.62 , U91(tt(), N) -> U92(isNatKind(activate(N))) 704.65/185.62 , U92(tt()) -> 0() 704.65/185.62 , 0() -> n__0() } 704.65/185.62 Obligation: 704.65/185.62 innermost runtime complexity 704.65/185.62 Answer: 704.65/185.62 YES(O(1),O(n^2)) 704.65/185.62 704.65/185.62 We replace rewrite rules by usable rules: 704.65/185.62 704.65/185.62 Weak Usable Rules: 704.65/185.62 { isNatKind(n__0()) -> tt() 704.65/185.62 , isNatKind(n__plus(V1, V2)) -> 704.65/185.62 U41(isNatKind(activate(V1)), activate(V2)) 704.65/185.62 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.65/185.62 , isNatKind(n__x(V1, V2)) -> 704.65/185.62 U61(isNatKind(activate(V1)), activate(V2)) 704.65/185.62 , activate(X) -> X 704.65/185.62 , activate(n__0()) -> 0() 704.65/185.62 , activate(n__plus(X1, X2)) -> plus(X1, X2) 704.65/185.62 , activate(n__s(X)) -> s(X) 704.65/185.62 , activate(n__x(X1, X2)) -> x(X1, X2) 704.65/185.62 , isNat(n__0()) -> tt() 704.65/185.62 , isNat(n__plus(V1, V2)) -> 704.65/185.62 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.62 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 704.65/185.62 , isNat(n__x(V1, V2)) -> 704.65/185.62 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.62 , plus(X1, X2) -> n__plus(X1, X2) 704.65/185.62 , x(X1, X2) -> n__x(X1, X2) 704.65/185.62 , U11(tt(), V1, V2) -> 704.65/185.62 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.62 , U12(tt(), V1, V2) -> 704.65/185.62 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.62 , U13(tt(), V1, V2) -> 704.65/185.62 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.62 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 704.65/185.62 , U15(tt(), V2) -> U16(isNat(activate(V2))) 704.65/185.62 , U16(tt()) -> tt() 704.65/185.62 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 704.65/185.62 , U22(tt(), V1) -> U23(isNat(activate(V1))) 704.65/185.62 , U23(tt()) -> tt() 704.65/185.62 , U31(tt(), V1, V2) -> 704.65/185.62 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.62 , U32(tt(), V1, V2) -> 704.65/185.62 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.62 , U33(tt(), V1, V2) -> 704.65/185.62 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.62 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 704.65/185.62 , U35(tt(), V2) -> U36(isNat(activate(V2))) 704.65/185.62 , U36(tt()) -> tt() 704.65/185.62 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 704.65/185.62 , U42(tt()) -> tt() 704.65/185.62 , U51(tt()) -> tt() 704.65/185.62 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 704.65/185.62 , U62(tt()) -> tt() 704.65/185.62 , s(X) -> n__s(X) 704.65/185.62 , 0() -> n__0() } 704.65/185.62 704.65/185.62 We are left with following problem, upon which TcT provides the 704.65/185.62 certificate YES(O(1),O(n^2)). 704.65/185.62 704.65/185.62 Strict DPs: 704.65/185.62 { U101^#(tt(), M, N) -> 704.65/185.62 c_1(U102^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.62 isNatKind^#(activate(M))) 704.65/185.62 , U102^#(tt(), M, N) -> 704.65/185.62 c_2(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.62 isNat^#(activate(N))) 704.65/185.62 , isNatKind^#(n__plus(V1, V2)) -> 704.65/185.62 c_3(U41^#(isNatKind(activate(V1)), activate(V2)), 704.65/185.62 isNatKind^#(activate(V1))) 704.65/185.62 , isNatKind^#(n__s(V1)) -> c_4(isNatKind^#(activate(V1))) 704.65/185.62 , isNatKind^#(n__x(V1, V2)) -> 704.65/185.62 c_5(U61^#(isNatKind(activate(V1)), activate(V2)), 704.65/185.62 isNatKind^#(activate(V1))) 704.65/185.62 , U103^#(tt(), M, N) -> c_6(isNatKind^#(activate(N))) 704.65/185.62 , isNat^#(n__plus(V1, V2)) -> 704.65/185.62 c_7(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.62 isNatKind^#(activate(V1))) 704.65/185.62 , isNat^#(n__s(V1)) -> 704.65/185.62 c_8(U21^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.62 isNatKind^#(activate(V1))) 704.65/185.62 , isNat^#(n__x(V1, V2)) -> 704.65/185.62 c_9(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.62 isNatKind^#(activate(V1))) 704.65/185.62 , U41^#(tt(), V2) -> c_10(isNatKind^#(activate(V2))) 704.65/185.62 , U61^#(tt(), V2) -> c_11(isNatKind^#(activate(V2))) 704.65/185.62 , U11^#(tt(), V1, V2) -> 704.65/185.62 c_12(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.62 isNatKind^#(activate(V1))) 704.65/185.62 , U21^#(tt(), V1) -> 704.65/185.62 c_13(U22^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.62 isNatKind^#(activate(V1))) 704.65/185.62 , U31^#(tt(), V1, V2) -> 704.65/185.62 c_14(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.62 isNatKind^#(activate(V1))) 704.65/185.62 , U12^#(tt(), V1, V2) -> 704.65/185.62 c_15(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.62 isNatKind^#(activate(V2))) 704.65/185.62 , U13^#(tt(), V1, V2) -> 704.65/185.62 c_16(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.62 isNatKind^#(activate(V2))) 704.65/185.62 , U14^#(tt(), V1, V2) -> 704.65/185.62 c_17(U15^#(isNat(activate(V1)), activate(V2)), 704.65/185.62 isNat^#(activate(V1))) 704.65/185.62 , U15^#(tt(), V2) -> c_18(isNat^#(activate(V2))) 704.65/185.62 , U22^#(tt(), V1) -> c_19(isNat^#(activate(V1))) 704.65/185.62 , U32^#(tt(), V1, V2) -> 704.65/185.62 c_20(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.62 isNatKind^#(activate(V2))) 704.65/185.62 , U33^#(tt(), V1, V2) -> 704.65/185.62 c_21(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.62 isNatKind^#(activate(V2))) 704.65/185.62 , U34^#(tt(), V1, V2) -> 704.65/185.62 c_22(U35^#(isNat(activate(V1)), activate(V2)), 704.65/185.62 isNat^#(activate(V1))) 704.65/185.62 , U35^#(tt(), V2) -> c_23(isNat^#(activate(V2))) 704.65/185.62 , U71^#(tt(), N) -> c_24(isNatKind^#(activate(N))) 704.65/185.62 , U81^#(tt(), M, N) -> 704.65/185.62 c_25(U82^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.62 isNatKind^#(activate(M))) 704.65/185.62 , U82^#(tt(), M, N) -> 704.65/185.62 c_26(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.62 isNat^#(activate(N))) 704.65/185.62 , U83^#(tt(), M, N) -> c_27(isNatKind^#(activate(N))) 704.65/185.62 , U91^#(tt(), N) -> c_28(isNatKind^#(activate(N))) } 704.65/185.62 Weak Trs: 704.65/185.62 { isNatKind(n__0()) -> tt() 704.65/185.62 , isNatKind(n__plus(V1, V2)) -> 704.65/185.62 U41(isNatKind(activate(V1)), activate(V2)) 704.65/185.62 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.65/185.62 , isNatKind(n__x(V1, V2)) -> 704.65/185.62 U61(isNatKind(activate(V1)), activate(V2)) 704.65/185.62 , activate(X) -> X 704.65/185.62 , activate(n__0()) -> 0() 704.65/185.62 , activate(n__plus(X1, X2)) -> plus(X1, X2) 704.65/185.62 , activate(n__s(X)) -> s(X) 704.65/185.62 , activate(n__x(X1, X2)) -> x(X1, X2) 704.65/185.62 , isNat(n__0()) -> tt() 704.65/185.62 , isNat(n__plus(V1, V2)) -> 704.65/185.62 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.62 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 704.65/185.62 , isNat(n__x(V1, V2)) -> 704.65/185.62 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.62 , plus(X1, X2) -> n__plus(X1, X2) 704.65/185.62 , x(X1, X2) -> n__x(X1, X2) 704.65/185.62 , U11(tt(), V1, V2) -> 704.65/185.62 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.62 , U12(tt(), V1, V2) -> 704.65/185.62 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.62 , U13(tt(), V1, V2) -> 704.65/185.62 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.62 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 704.65/185.62 , U15(tt(), V2) -> U16(isNat(activate(V2))) 704.65/185.62 , U16(tt()) -> tt() 704.65/185.62 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 704.65/185.62 , U22(tt(), V1) -> U23(isNat(activate(V1))) 704.65/185.62 , U23(tt()) -> tt() 704.65/185.62 , U31(tt(), V1, V2) -> 704.65/185.62 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.62 , U32(tt(), V1, V2) -> 704.65/185.62 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.62 , U33(tt(), V1, V2) -> 704.65/185.62 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.62 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 704.65/185.62 , U35(tt(), V2) -> U36(isNat(activate(V2))) 704.65/185.62 , U36(tt()) -> tt() 704.65/185.62 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 704.65/185.62 , U42(tt()) -> tt() 704.65/185.62 , U51(tt()) -> tt() 704.65/185.62 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 704.65/185.62 , U62(tt()) -> tt() 704.65/185.62 , s(X) -> n__s(X) 704.65/185.62 , 0() -> n__0() } 704.65/185.62 Obligation: 704.65/185.62 innermost runtime complexity 704.65/185.62 Answer: 704.65/185.62 YES(O(1),O(n^2)) 704.65/185.62 704.65/185.62 We analyse the complexity of following sub-problems (R) and (S). 704.65/185.62 Problem (S) is obtained from the input problem by shifting strict 704.65/185.62 rules from (R) into the weak component: 704.65/185.62 704.65/185.62 Problem (R): 704.65/185.62 ------------ 704.65/185.62 Strict DPs: 704.65/185.62 { U101^#(tt(), M, N) -> 704.65/185.62 c_1(U102^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.62 isNatKind^#(activate(M))) 704.65/185.62 , isNatKind^#(n__plus(V1, V2)) -> 704.65/185.62 c_3(U41^#(isNatKind(activate(V1)), activate(V2)), 704.65/185.62 isNatKind^#(activate(V1))) 704.65/185.62 , isNatKind^#(n__s(V1)) -> c_4(isNatKind^#(activate(V1))) 704.65/185.62 , isNatKind^#(n__x(V1, V2)) -> 704.65/185.62 c_5(U61^#(isNatKind(activate(V1)), activate(V2)), 704.65/185.62 isNatKind^#(activate(V1))) 704.65/185.62 , U41^#(tt(), V2) -> c_10(isNatKind^#(activate(V2))) 704.65/185.62 , U61^#(tt(), V2) -> c_11(isNatKind^#(activate(V2))) } 704.65/185.62 Weak DPs: 704.65/185.62 { U102^#(tt(), M, N) -> 704.65/185.62 c_2(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.62 isNat^#(activate(N))) 704.65/185.62 , U103^#(tt(), M, N) -> c_6(isNatKind^#(activate(N))) 704.65/185.62 , isNat^#(n__plus(V1, V2)) -> 704.65/185.62 c_7(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.62 isNatKind^#(activate(V1))) 704.65/185.62 , isNat^#(n__s(V1)) -> 704.65/185.62 c_8(U21^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.62 isNatKind^#(activate(V1))) 704.65/185.62 , isNat^#(n__x(V1, V2)) -> 704.65/185.62 c_9(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.62 isNatKind^#(activate(V1))) 704.65/185.62 , U11^#(tt(), V1, V2) -> 704.65/185.62 c_12(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.62 isNatKind^#(activate(V1))) 704.65/185.62 , U21^#(tt(), V1) -> 704.65/185.62 c_13(U22^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.62 isNatKind^#(activate(V1))) 704.65/185.62 , U31^#(tt(), V1, V2) -> 704.65/185.62 c_14(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.62 isNatKind^#(activate(V1))) 704.65/185.62 , U12^#(tt(), V1, V2) -> 704.65/185.62 c_15(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.62 isNatKind^#(activate(V2))) 704.65/185.62 , U13^#(tt(), V1, V2) -> 704.65/185.62 c_16(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.62 isNatKind^#(activate(V2))) 704.65/185.62 , U14^#(tt(), V1, V2) -> 704.65/185.62 c_17(U15^#(isNat(activate(V1)), activate(V2)), 704.65/185.62 isNat^#(activate(V1))) 704.65/185.62 , U15^#(tt(), V2) -> c_18(isNat^#(activate(V2))) 704.65/185.62 , U22^#(tt(), V1) -> c_19(isNat^#(activate(V1))) 704.65/185.62 , U32^#(tt(), V1, V2) -> 704.65/185.62 c_20(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.62 isNatKind^#(activate(V2))) 704.65/185.62 , U33^#(tt(), V1, V2) -> 704.65/185.62 c_21(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.62 isNatKind^#(activate(V2))) 704.65/185.62 , U34^#(tt(), V1, V2) -> 704.65/185.62 c_22(U35^#(isNat(activate(V1)), activate(V2)), 704.65/185.62 isNat^#(activate(V1))) 704.65/185.62 , U35^#(tt(), V2) -> c_23(isNat^#(activate(V2))) 704.65/185.62 , U71^#(tt(), N) -> c_24(isNatKind^#(activate(N))) 704.65/185.62 , U81^#(tt(), M, N) -> 704.65/185.62 c_25(U82^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.62 isNatKind^#(activate(M))) 704.65/185.62 , U82^#(tt(), M, N) -> 704.65/185.62 c_26(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.62 isNat^#(activate(N))) 704.65/185.62 , U83^#(tt(), M, N) -> c_27(isNatKind^#(activate(N))) 704.65/185.62 , U91^#(tt(), N) -> c_28(isNatKind^#(activate(N))) } 704.65/185.62 Weak Trs: 704.65/185.62 { isNatKind(n__0()) -> tt() 704.65/185.62 , isNatKind(n__plus(V1, V2)) -> 704.65/185.62 U41(isNatKind(activate(V1)), activate(V2)) 704.65/185.62 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.65/185.62 , isNatKind(n__x(V1, V2)) -> 704.65/185.62 U61(isNatKind(activate(V1)), activate(V2)) 704.65/185.62 , activate(X) -> X 704.65/185.62 , activate(n__0()) -> 0() 704.65/185.62 , activate(n__plus(X1, X2)) -> plus(X1, X2) 704.65/185.62 , activate(n__s(X)) -> s(X) 704.65/185.62 , activate(n__x(X1, X2)) -> x(X1, X2) 704.65/185.62 , isNat(n__0()) -> tt() 704.65/185.62 , isNat(n__plus(V1, V2)) -> 704.65/185.62 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.62 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 704.65/185.62 , isNat(n__x(V1, V2)) -> 704.65/185.62 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.62 , plus(X1, X2) -> n__plus(X1, X2) 704.65/185.62 , x(X1, X2) -> n__x(X1, X2) 704.65/185.62 , U11(tt(), V1, V2) -> 704.65/185.62 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.62 , U12(tt(), V1, V2) -> 704.65/185.62 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.62 , U13(tt(), V1, V2) -> 704.65/185.62 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.62 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 704.65/185.62 , U15(tt(), V2) -> U16(isNat(activate(V2))) 704.65/185.62 , U16(tt()) -> tt() 704.65/185.62 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 704.65/185.62 , U22(tt(), V1) -> U23(isNat(activate(V1))) 704.65/185.62 , U23(tt()) -> tt() 704.65/185.62 , U31(tt(), V1, V2) -> 704.65/185.62 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.62 , U32(tt(), V1, V2) -> 704.65/185.62 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.62 , U33(tt(), V1, V2) -> 704.65/185.62 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.62 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 704.65/185.62 , U35(tt(), V2) -> U36(isNat(activate(V2))) 704.65/185.62 , U36(tt()) -> tt() 704.65/185.62 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 704.65/185.62 , U42(tt()) -> tt() 704.65/185.62 , U51(tt()) -> tt() 704.65/185.62 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 704.65/185.62 , U62(tt()) -> tt() 704.65/185.62 , s(X) -> n__s(X) 704.65/185.62 , 0() -> n__0() } 704.65/185.62 StartTerms: basic terms 704.65/185.62 Strategy: innermost 704.65/185.62 704.65/185.62 Problem (S): 704.65/185.62 ------------ 704.65/185.62 Strict DPs: 704.65/185.62 { U102^#(tt(), M, N) -> 704.65/185.62 c_2(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.62 isNat^#(activate(N))) 704.65/185.62 , U103^#(tt(), M, N) -> c_6(isNatKind^#(activate(N))) 704.65/185.62 , isNat^#(n__plus(V1, V2)) -> 704.65/185.62 c_7(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.62 isNatKind^#(activate(V1))) 704.65/185.62 , isNat^#(n__s(V1)) -> 704.65/185.62 c_8(U21^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.62 isNatKind^#(activate(V1))) 704.65/185.62 , isNat^#(n__x(V1, V2)) -> 704.65/185.62 c_9(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.62 isNatKind^#(activate(V1))) 704.65/185.62 , U11^#(tt(), V1, V2) -> 704.65/185.62 c_12(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.62 isNatKind^#(activate(V1))) 704.65/185.62 , U21^#(tt(), V1) -> 704.65/185.62 c_13(U22^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.62 isNatKind^#(activate(V1))) 704.65/185.62 , U31^#(tt(), V1, V2) -> 704.65/185.62 c_14(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.62 isNatKind^#(activate(V1))) 704.65/185.62 , U12^#(tt(), V1, V2) -> 704.65/185.62 c_15(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.62 isNatKind^#(activate(V2))) 704.65/185.62 , U13^#(tt(), V1, V2) -> 704.65/185.62 c_16(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.62 isNatKind^#(activate(V2))) 704.65/185.62 , U14^#(tt(), V1, V2) -> 704.65/185.62 c_17(U15^#(isNat(activate(V1)), activate(V2)), 704.65/185.62 isNat^#(activate(V1))) 704.65/185.62 , U15^#(tt(), V2) -> c_18(isNat^#(activate(V2))) 704.65/185.62 , U22^#(tt(), V1) -> c_19(isNat^#(activate(V1))) 704.65/185.62 , U32^#(tt(), V1, V2) -> 704.65/185.62 c_20(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.62 isNatKind^#(activate(V2))) 704.65/185.62 , U33^#(tt(), V1, V2) -> 704.65/185.62 c_21(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.62 isNatKind^#(activate(V2))) 704.65/185.62 , U34^#(tt(), V1, V2) -> 704.65/185.62 c_22(U35^#(isNat(activate(V1)), activate(V2)), 704.65/185.62 isNat^#(activate(V1))) 704.65/185.62 , U35^#(tt(), V2) -> c_23(isNat^#(activate(V2))) 704.65/185.62 , U71^#(tt(), N) -> c_24(isNatKind^#(activate(N))) 704.65/185.62 , U81^#(tt(), M, N) -> 704.65/185.62 c_25(U82^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.62 isNatKind^#(activate(M))) 704.65/185.62 , U82^#(tt(), M, N) -> 704.65/185.62 c_26(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.62 isNat^#(activate(N))) 704.65/185.62 , U83^#(tt(), M, N) -> c_27(isNatKind^#(activate(N))) 704.65/185.62 , U91^#(tt(), N) -> c_28(isNatKind^#(activate(N))) } 704.65/185.62 Weak DPs: 704.65/185.62 { U101^#(tt(), M, N) -> 704.65/185.62 c_1(U102^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.62 isNatKind^#(activate(M))) 704.65/185.62 , isNatKind^#(n__plus(V1, V2)) -> 704.65/185.62 c_3(U41^#(isNatKind(activate(V1)), activate(V2)), 704.65/185.62 isNatKind^#(activate(V1))) 704.65/185.62 , isNatKind^#(n__s(V1)) -> c_4(isNatKind^#(activate(V1))) 704.65/185.62 , isNatKind^#(n__x(V1, V2)) -> 704.65/185.62 c_5(U61^#(isNatKind(activate(V1)), activate(V2)), 704.65/185.62 isNatKind^#(activate(V1))) 704.65/185.62 , U41^#(tt(), V2) -> c_10(isNatKind^#(activate(V2))) 704.65/185.62 , U61^#(tt(), V2) -> c_11(isNatKind^#(activate(V2))) } 704.65/185.62 Weak Trs: 704.65/185.62 { isNatKind(n__0()) -> tt() 704.65/185.62 , isNatKind(n__plus(V1, V2)) -> 704.65/185.62 U41(isNatKind(activate(V1)), activate(V2)) 704.65/185.62 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.65/185.62 , isNatKind(n__x(V1, V2)) -> 704.65/185.62 U61(isNatKind(activate(V1)), activate(V2)) 704.65/185.62 , activate(X) -> X 704.65/185.62 , activate(n__0()) -> 0() 704.65/185.62 , activate(n__plus(X1, X2)) -> plus(X1, X2) 704.65/185.62 , activate(n__s(X)) -> s(X) 704.65/185.62 , activate(n__x(X1, X2)) -> x(X1, X2) 704.65/185.62 , isNat(n__0()) -> tt() 704.65/185.62 , isNat(n__plus(V1, V2)) -> 704.65/185.62 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.62 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 704.65/185.62 , isNat(n__x(V1, V2)) -> 704.65/185.62 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.62 , plus(X1, X2) -> n__plus(X1, X2) 704.65/185.62 , x(X1, X2) -> n__x(X1, X2) 704.65/185.62 , U11(tt(), V1, V2) -> 704.65/185.62 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.62 , U12(tt(), V1, V2) -> 704.65/185.62 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.62 , U13(tt(), V1, V2) -> 704.65/185.62 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.62 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 704.65/185.62 , U15(tt(), V2) -> U16(isNat(activate(V2))) 704.65/185.62 , U16(tt()) -> tt() 704.65/185.62 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 704.65/185.62 , U22(tt(), V1) -> U23(isNat(activate(V1))) 704.65/185.62 , U23(tt()) -> tt() 704.65/185.62 , U31(tt(), V1, V2) -> 704.65/185.62 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.62 , U32(tt(), V1, V2) -> 704.65/185.62 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.62 , U33(tt(), V1, V2) -> 704.65/185.62 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.62 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 704.65/185.62 , U35(tt(), V2) -> U36(isNat(activate(V2))) 704.65/185.62 , U36(tt()) -> tt() 704.65/185.62 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 704.65/185.62 , U42(tt()) -> tt() 704.65/185.62 , U51(tt()) -> tt() 704.65/185.62 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 704.65/185.62 , U62(tt()) -> tt() 704.65/185.62 , s(X) -> n__s(X) 704.65/185.62 , 0() -> n__0() } 704.65/185.62 StartTerms: basic terms 704.65/185.62 Strategy: innermost 704.65/185.62 704.65/185.62 Overall, the transformation results in the following sub-problem(s): 704.65/185.62 704.65/185.62 Generated new problems: 704.65/185.62 ----------------------- 704.65/185.62 R) Strict DPs: 704.65/185.62 { U101^#(tt(), M, N) -> 704.65/185.62 c_1(U102^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.62 isNatKind^#(activate(M))) 704.65/185.62 , isNatKind^#(n__plus(V1, V2)) -> 704.65/185.62 c_3(U41^#(isNatKind(activate(V1)), activate(V2)), 704.65/185.62 isNatKind^#(activate(V1))) 704.65/185.62 , isNatKind^#(n__s(V1)) -> c_4(isNatKind^#(activate(V1))) 704.65/185.62 , isNatKind^#(n__x(V1, V2)) -> 704.65/185.62 c_5(U61^#(isNatKind(activate(V1)), activate(V2)), 704.65/185.62 isNatKind^#(activate(V1))) 704.65/185.62 , U41^#(tt(), V2) -> c_10(isNatKind^#(activate(V2))) 704.65/185.62 , U61^#(tt(), V2) -> c_11(isNatKind^#(activate(V2))) } 704.65/185.62 Weak DPs: 704.65/185.62 { U102^#(tt(), M, N) -> 704.65/185.62 c_2(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.62 isNat^#(activate(N))) 704.65/185.62 , U103^#(tt(), M, N) -> c_6(isNatKind^#(activate(N))) 704.65/185.62 , isNat^#(n__plus(V1, V2)) -> 704.65/185.62 c_7(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.62 isNatKind^#(activate(V1))) 704.65/185.62 , isNat^#(n__s(V1)) -> 704.65/185.62 c_8(U21^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.62 isNatKind^#(activate(V1))) 704.65/185.62 , isNat^#(n__x(V1, V2)) -> 704.65/185.62 c_9(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.62 isNatKind^#(activate(V1))) 704.65/185.62 , U11^#(tt(), V1, V2) -> 704.65/185.62 c_12(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.62 isNatKind^#(activate(V1))) 704.65/185.63 , U21^#(tt(), V1) -> 704.65/185.63 c_13(U22^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.63 isNatKind^#(activate(V1))) 704.65/185.63 , U31^#(tt(), V1, V2) -> 704.65/185.63 c_14(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.63 isNatKind^#(activate(V1))) 704.65/185.63 , U12^#(tt(), V1, V2) -> 704.65/185.63 c_15(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.63 isNatKind^#(activate(V2))) 704.65/185.63 , U13^#(tt(), V1, V2) -> 704.65/185.63 c_16(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.63 isNatKind^#(activate(V2))) 704.65/185.63 , U14^#(tt(), V1, V2) -> 704.65/185.63 c_17(U15^#(isNat(activate(V1)), activate(V2)), 704.65/185.63 isNat^#(activate(V1))) 704.65/185.63 , U15^#(tt(), V2) -> c_18(isNat^#(activate(V2))) 704.65/185.63 , U22^#(tt(), V1) -> c_19(isNat^#(activate(V1))) 704.65/185.63 , U32^#(tt(), V1, V2) -> 704.65/185.63 c_20(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.63 isNatKind^#(activate(V2))) 704.65/185.63 , U33^#(tt(), V1, V2) -> 704.65/185.63 c_21(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.63 isNatKind^#(activate(V2))) 704.65/185.63 , U34^#(tt(), V1, V2) -> 704.65/185.63 c_22(U35^#(isNat(activate(V1)), activate(V2)), 704.65/185.63 isNat^#(activate(V1))) 704.65/185.63 , U35^#(tt(), V2) -> c_23(isNat^#(activate(V2))) 704.65/185.63 , U71^#(tt(), N) -> c_24(isNatKind^#(activate(N))) 704.65/185.63 , U81^#(tt(), M, N) -> 704.65/185.63 c_25(U82^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.63 isNatKind^#(activate(M))) 704.65/185.63 , U82^#(tt(), M, N) -> 704.65/185.63 c_26(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.63 isNat^#(activate(N))) 704.65/185.63 , U83^#(tt(), M, N) -> c_27(isNatKind^#(activate(N))) 704.65/185.63 , U91^#(tt(), N) -> c_28(isNatKind^#(activate(N))) } 704.65/185.63 Weak Trs: 704.65/185.63 { isNatKind(n__0()) -> tt() 704.65/185.63 , isNatKind(n__plus(V1, V2)) -> 704.65/185.63 U41(isNatKind(activate(V1)), activate(V2)) 704.65/185.63 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.65/185.63 , isNatKind(n__x(V1, V2)) -> 704.65/185.63 U61(isNatKind(activate(V1)), activate(V2)) 704.65/185.63 , activate(X) -> X 704.65/185.63 , activate(n__0()) -> 0() 704.65/185.63 , activate(n__plus(X1, X2)) -> plus(X1, X2) 704.65/185.63 , activate(n__s(X)) -> s(X) 704.65/185.63 , activate(n__x(X1, X2)) -> x(X1, X2) 704.65/185.63 , isNat(n__0()) -> tt() 704.65/185.63 , isNat(n__plus(V1, V2)) -> 704.65/185.63 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.63 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 704.65/185.63 , isNat(n__x(V1, V2)) -> 704.65/185.63 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.63 , plus(X1, X2) -> n__plus(X1, X2) 704.65/185.63 , x(X1, X2) -> n__x(X1, X2) 704.65/185.63 , U11(tt(), V1, V2) -> 704.65/185.63 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.63 , U12(tt(), V1, V2) -> 704.65/185.63 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.63 , U13(tt(), V1, V2) -> 704.65/185.63 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.63 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 704.65/185.63 , U15(tt(), V2) -> U16(isNat(activate(V2))) 704.65/185.63 , U16(tt()) -> tt() 704.65/185.63 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 704.65/185.63 , U22(tt(), V1) -> U23(isNat(activate(V1))) 704.65/185.63 , U23(tt()) -> tt() 704.65/185.63 , U31(tt(), V1, V2) -> 704.65/185.63 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.63 , U32(tt(), V1, V2) -> 704.65/185.63 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.63 , U33(tt(), V1, V2) -> 704.65/185.63 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.63 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 704.65/185.63 , U35(tt(), V2) -> U36(isNat(activate(V2))) 704.65/185.63 , U36(tt()) -> tt() 704.65/185.63 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 704.65/185.63 , U42(tt()) -> tt() 704.65/185.63 , U51(tt()) -> tt() 704.65/185.63 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 704.65/185.63 , U62(tt()) -> tt() 704.65/185.63 , s(X) -> n__s(X) 704.65/185.63 , 0() -> n__0() } 704.65/185.63 StartTerms: basic terms 704.65/185.63 Strategy: innermost 704.65/185.63 704.65/185.63 This problem was proven YES(O(1),O(n^2)). 704.65/185.63 704.65/185.63 S) Strict DPs: 704.65/185.63 { U102^#(tt(), M, N) -> 704.65/185.63 c_2(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.63 isNat^#(activate(N))) 704.65/185.63 , U103^#(tt(), M, N) -> c_6(isNatKind^#(activate(N))) 704.65/185.63 , isNat^#(n__plus(V1, V2)) -> 704.65/185.63 c_7(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.63 isNatKind^#(activate(V1))) 704.65/185.63 , isNat^#(n__s(V1)) -> 704.65/185.63 c_8(U21^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.63 isNatKind^#(activate(V1))) 704.65/185.63 , isNat^#(n__x(V1, V2)) -> 704.65/185.63 c_9(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.63 isNatKind^#(activate(V1))) 704.65/185.63 , U11^#(tt(), V1, V2) -> 704.65/185.63 c_12(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.63 isNatKind^#(activate(V1))) 704.65/185.63 , U21^#(tt(), V1) -> 704.65/185.63 c_13(U22^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.63 isNatKind^#(activate(V1))) 704.65/185.63 , U31^#(tt(), V1, V2) -> 704.65/185.63 c_14(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.63 isNatKind^#(activate(V1))) 704.65/185.63 , U12^#(tt(), V1, V2) -> 704.65/185.63 c_15(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.63 isNatKind^#(activate(V2))) 704.65/185.63 , U13^#(tt(), V1, V2) -> 704.65/185.63 c_16(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.63 isNatKind^#(activate(V2))) 704.65/185.63 , U14^#(tt(), V1, V2) -> 704.65/185.63 c_17(U15^#(isNat(activate(V1)), activate(V2)), 704.65/185.63 isNat^#(activate(V1))) 704.65/185.63 , U15^#(tt(), V2) -> c_18(isNat^#(activate(V2))) 704.65/185.63 , U22^#(tt(), V1) -> c_19(isNat^#(activate(V1))) 704.65/185.63 , U32^#(tt(), V1, V2) -> 704.65/185.63 c_20(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.63 isNatKind^#(activate(V2))) 704.65/185.63 , U33^#(tt(), V1, V2) -> 704.65/185.63 c_21(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.63 isNatKind^#(activate(V2))) 704.65/185.63 , U34^#(tt(), V1, V2) -> 704.65/185.63 c_22(U35^#(isNat(activate(V1)), activate(V2)), 704.65/185.63 isNat^#(activate(V1))) 704.65/185.63 , U35^#(tt(), V2) -> c_23(isNat^#(activate(V2))) 704.65/185.63 , U71^#(tt(), N) -> c_24(isNatKind^#(activate(N))) 704.65/185.63 , U81^#(tt(), M, N) -> 704.65/185.63 c_25(U82^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.63 isNatKind^#(activate(M))) 704.65/185.63 , U82^#(tt(), M, N) -> 704.65/185.63 c_26(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.63 isNat^#(activate(N))) 704.65/185.63 , U83^#(tt(), M, N) -> c_27(isNatKind^#(activate(N))) 704.65/185.63 , U91^#(tt(), N) -> c_28(isNatKind^#(activate(N))) } 704.65/185.63 Weak DPs: 704.65/185.63 { U101^#(tt(), M, N) -> 704.65/185.63 c_1(U102^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.63 isNatKind^#(activate(M))) 704.65/185.63 , isNatKind^#(n__plus(V1, V2)) -> 704.65/185.63 c_3(U41^#(isNatKind(activate(V1)), activate(V2)), 704.65/185.63 isNatKind^#(activate(V1))) 704.65/185.63 , isNatKind^#(n__s(V1)) -> c_4(isNatKind^#(activate(V1))) 704.65/185.63 , isNatKind^#(n__x(V1, V2)) -> 704.65/185.63 c_5(U61^#(isNatKind(activate(V1)), activate(V2)), 704.65/185.63 isNatKind^#(activate(V1))) 704.65/185.63 , U41^#(tt(), V2) -> c_10(isNatKind^#(activate(V2))) 704.65/185.63 , U61^#(tt(), V2) -> c_11(isNatKind^#(activate(V2))) } 704.65/185.63 Weak Trs: 704.65/185.63 { isNatKind(n__0()) -> tt() 704.65/185.63 , isNatKind(n__plus(V1, V2)) -> 704.65/185.63 U41(isNatKind(activate(V1)), activate(V2)) 704.65/185.63 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.65/185.63 , isNatKind(n__x(V1, V2)) -> 704.65/185.63 U61(isNatKind(activate(V1)), activate(V2)) 704.65/185.63 , activate(X) -> X 704.65/185.63 , activate(n__0()) -> 0() 704.65/185.63 , activate(n__plus(X1, X2)) -> plus(X1, X2) 704.65/185.63 , activate(n__s(X)) -> s(X) 704.65/185.63 , activate(n__x(X1, X2)) -> x(X1, X2) 704.65/185.63 , isNat(n__0()) -> tt() 704.65/185.63 , isNat(n__plus(V1, V2)) -> 704.65/185.63 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.63 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 704.65/185.63 , isNat(n__x(V1, V2)) -> 704.65/185.63 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.63 , plus(X1, X2) -> n__plus(X1, X2) 704.65/185.63 , x(X1, X2) -> n__x(X1, X2) 704.65/185.63 , U11(tt(), V1, V2) -> 704.65/185.63 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.63 , U12(tt(), V1, V2) -> 704.65/185.63 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.63 , U13(tt(), V1, V2) -> 704.65/185.63 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.63 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 704.65/185.63 , U15(tt(), V2) -> U16(isNat(activate(V2))) 704.65/185.63 , U16(tt()) -> tt() 704.65/185.63 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 704.65/185.63 , U22(tt(), V1) -> U23(isNat(activate(V1))) 704.65/185.63 , U23(tt()) -> tt() 704.65/185.63 , U31(tt(), V1, V2) -> 704.65/185.63 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.63 , U32(tt(), V1, V2) -> 704.65/185.63 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.63 , U33(tt(), V1, V2) -> 704.65/185.63 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.63 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 704.65/185.63 , U35(tt(), V2) -> U36(isNat(activate(V2))) 704.65/185.63 , U36(tt()) -> tt() 704.65/185.63 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 704.65/185.63 , U42(tt()) -> tt() 704.65/185.63 , U51(tt()) -> tt() 704.65/185.63 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 704.65/185.63 , U62(tt()) -> tt() 704.65/185.63 , s(X) -> n__s(X) 704.65/185.63 , 0() -> n__0() } 704.65/185.63 StartTerms: basic terms 704.65/185.63 Strategy: innermost 704.65/185.63 704.65/185.63 This problem was proven YES(O(1),O(n^1)). 704.65/185.63 704.65/185.63 704.65/185.63 Proofs for generated problems: 704.65/185.63 ------------------------------ 704.65/185.63 R) We are left with following problem, upon which TcT provides the 704.65/185.63 certificate YES(O(1),O(n^2)). 704.65/185.63 704.65/185.63 Strict DPs: 704.65/185.63 { U101^#(tt(), M, N) -> 704.65/185.63 c_1(U102^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.63 isNatKind^#(activate(M))) 704.65/185.63 , isNatKind^#(n__plus(V1, V2)) -> 704.65/185.63 c_3(U41^#(isNatKind(activate(V1)), activate(V2)), 704.65/185.63 isNatKind^#(activate(V1))) 704.65/185.63 , isNatKind^#(n__s(V1)) -> c_4(isNatKind^#(activate(V1))) 704.65/185.63 , isNatKind^#(n__x(V1, V2)) -> 704.65/185.63 c_5(U61^#(isNatKind(activate(V1)), activate(V2)), 704.65/185.63 isNatKind^#(activate(V1))) 704.65/185.63 , U41^#(tt(), V2) -> c_10(isNatKind^#(activate(V2))) 704.65/185.63 , U61^#(tt(), V2) -> c_11(isNatKind^#(activate(V2))) } 704.65/185.63 Weak DPs: 704.65/185.63 { U102^#(tt(), M, N) -> 704.65/185.63 c_2(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.63 isNat^#(activate(N))) 704.65/185.63 , U103^#(tt(), M, N) -> c_6(isNatKind^#(activate(N))) 704.65/185.63 , isNat^#(n__plus(V1, V2)) -> 704.65/185.63 c_7(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.63 isNatKind^#(activate(V1))) 704.65/185.63 , isNat^#(n__s(V1)) -> 704.65/185.63 c_8(U21^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.63 isNatKind^#(activate(V1))) 704.65/185.63 , isNat^#(n__x(V1, V2)) -> 704.65/185.63 c_9(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.63 isNatKind^#(activate(V1))) 704.65/185.63 , U11^#(tt(), V1, V2) -> 704.65/185.63 c_12(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.63 isNatKind^#(activate(V1))) 704.65/185.63 , U21^#(tt(), V1) -> 704.65/185.63 c_13(U22^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.63 isNatKind^#(activate(V1))) 704.65/185.63 , U31^#(tt(), V1, V2) -> 704.65/185.63 c_14(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.63 isNatKind^#(activate(V1))) 704.65/185.63 , U12^#(tt(), V1, V2) -> 704.65/185.63 c_15(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.63 isNatKind^#(activate(V2))) 704.65/185.63 , U13^#(tt(), V1, V2) -> 704.65/185.63 c_16(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.63 isNatKind^#(activate(V2))) 704.65/185.63 , U14^#(tt(), V1, V2) -> 704.65/185.63 c_17(U15^#(isNat(activate(V1)), activate(V2)), 704.65/185.63 isNat^#(activate(V1))) 704.65/185.63 , U15^#(tt(), V2) -> c_18(isNat^#(activate(V2))) 704.65/185.63 , U22^#(tt(), V1) -> c_19(isNat^#(activate(V1))) 704.65/185.63 , U32^#(tt(), V1, V2) -> 704.65/185.63 c_20(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.63 isNatKind^#(activate(V2))) 704.65/185.63 , U33^#(tt(), V1, V2) -> 704.65/185.63 c_21(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.63 isNatKind^#(activate(V2))) 704.65/185.63 , U34^#(tt(), V1, V2) -> 704.65/185.63 c_22(U35^#(isNat(activate(V1)), activate(V2)), 704.65/185.63 isNat^#(activate(V1))) 704.65/185.63 , U35^#(tt(), V2) -> c_23(isNat^#(activate(V2))) 704.65/185.63 , U71^#(tt(), N) -> c_24(isNatKind^#(activate(N))) 704.65/185.63 , U81^#(tt(), M, N) -> 704.65/185.63 c_25(U82^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.63 isNatKind^#(activate(M))) 704.65/185.63 , U82^#(tt(), M, N) -> 704.65/185.63 c_26(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.63 isNat^#(activate(N))) 704.65/185.63 , U83^#(tt(), M, N) -> c_27(isNatKind^#(activate(N))) 704.65/185.63 , U91^#(tt(), N) -> c_28(isNatKind^#(activate(N))) } 704.65/185.63 Weak Trs: 704.65/185.63 { isNatKind(n__0()) -> tt() 704.65/185.63 , isNatKind(n__plus(V1, V2)) -> 704.65/185.63 U41(isNatKind(activate(V1)), activate(V2)) 704.65/185.63 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.65/185.63 , isNatKind(n__x(V1, V2)) -> 704.65/185.63 U61(isNatKind(activate(V1)), activate(V2)) 704.65/185.63 , activate(X) -> X 704.65/185.63 , activate(n__0()) -> 0() 704.65/185.63 , activate(n__plus(X1, X2)) -> plus(X1, X2) 704.65/185.63 , activate(n__s(X)) -> s(X) 704.65/185.63 , activate(n__x(X1, X2)) -> x(X1, X2) 704.65/185.63 , isNat(n__0()) -> tt() 704.65/185.63 , isNat(n__plus(V1, V2)) -> 704.65/185.63 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.63 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 704.65/185.63 , isNat(n__x(V1, V2)) -> 704.65/185.63 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.63 , plus(X1, X2) -> n__plus(X1, X2) 704.65/185.63 , x(X1, X2) -> n__x(X1, X2) 704.65/185.63 , U11(tt(), V1, V2) -> 704.65/185.63 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.63 , U12(tt(), V1, V2) -> 704.65/185.63 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.63 , U13(tt(), V1, V2) -> 704.65/185.63 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.63 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 704.65/185.63 , U15(tt(), V2) -> U16(isNat(activate(V2))) 704.65/185.63 , U16(tt()) -> tt() 704.65/185.63 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 704.65/185.63 , U22(tt(), V1) -> U23(isNat(activate(V1))) 704.65/185.63 , U23(tt()) -> tt() 704.65/185.63 , U31(tt(), V1, V2) -> 704.65/185.63 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.63 , U32(tt(), V1, V2) -> 704.65/185.63 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.63 , U33(tt(), V1, V2) -> 704.65/185.63 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.63 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 704.65/185.63 , U35(tt(), V2) -> U36(isNat(activate(V2))) 704.65/185.63 , U36(tt()) -> tt() 704.65/185.63 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 704.65/185.63 , U42(tt()) -> tt() 704.65/185.63 , U51(tt()) -> tt() 704.65/185.63 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 704.65/185.63 , U62(tt()) -> tt() 704.65/185.63 , s(X) -> n__s(X) 704.65/185.63 , 0() -> n__0() } 704.65/185.63 Obligation: 704.65/185.63 innermost runtime complexity 704.65/185.63 Answer: 704.65/185.63 YES(O(1),O(n^2)) 704.65/185.63 704.65/185.63 We decompose the input problem according to the dependency graph 704.65/185.63 into the upper component 704.65/185.63 704.65/185.63 { U101^#(tt(), M, N) -> 704.65/185.63 c_1(U102^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.63 isNatKind^#(activate(M))) 704.65/185.63 , U102^#(tt(), M, N) -> 704.65/185.63 c_2(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.63 isNat^#(activate(N))) 704.65/185.63 , U103^#(tt(), M, N) -> c_6(isNatKind^#(activate(N))) 704.65/185.63 , isNat^#(n__plus(V1, V2)) -> 704.65/185.63 c_7(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.63 isNatKind^#(activate(V1))) 704.65/185.63 , isNat^#(n__s(V1)) -> 704.65/185.63 c_8(U21^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.63 isNatKind^#(activate(V1))) 704.65/185.63 , isNat^#(n__x(V1, V2)) -> 704.65/185.63 c_9(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.63 isNatKind^#(activate(V1))) 704.65/185.63 , U11^#(tt(), V1, V2) -> 704.65/185.63 c_12(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.63 isNatKind^#(activate(V1))) 704.65/185.63 , U21^#(tt(), V1) -> 704.65/185.63 c_13(U22^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.63 isNatKind^#(activate(V1))) 704.65/185.63 , U31^#(tt(), V1, V2) -> 704.65/185.63 c_14(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.63 isNatKind^#(activate(V1))) 704.65/185.63 , U12^#(tt(), V1, V2) -> 704.65/185.63 c_15(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.63 isNatKind^#(activate(V2))) 704.65/185.63 , U13^#(tt(), V1, V2) -> 704.65/185.63 c_16(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.63 isNatKind^#(activate(V2))) 704.65/185.63 , U14^#(tt(), V1, V2) -> 704.65/185.63 c_17(U15^#(isNat(activate(V1)), activate(V2)), 704.65/185.63 isNat^#(activate(V1))) 704.65/185.63 , U15^#(tt(), V2) -> c_18(isNat^#(activate(V2))) 704.65/185.63 , U22^#(tt(), V1) -> c_19(isNat^#(activate(V1))) 704.65/185.63 , U32^#(tt(), V1, V2) -> 704.65/185.63 c_20(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.63 isNatKind^#(activate(V2))) 704.65/185.63 , U33^#(tt(), V1, V2) -> 704.65/185.63 c_21(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.64 isNatKind^#(activate(V2))) 704.65/185.64 , U34^#(tt(), V1, V2) -> 704.65/185.64 c_22(U35^#(isNat(activate(V1)), activate(V2)), 704.65/185.64 isNat^#(activate(V1))) 704.65/185.64 , U35^#(tt(), V2) -> c_23(isNat^#(activate(V2))) 704.65/185.64 , U71^#(tt(), N) -> c_24(isNatKind^#(activate(N))) 704.65/185.64 , U81^#(tt(), M, N) -> 704.65/185.64 c_25(U82^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.64 isNatKind^#(activate(M))) 704.65/185.64 , U82^#(tt(), M, N) -> 704.65/185.64 c_26(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.64 isNat^#(activate(N))) 704.65/185.64 , U83^#(tt(), M, N) -> c_27(isNatKind^#(activate(N))) 704.65/185.64 , U91^#(tt(), N) -> c_28(isNatKind^#(activate(N))) } 704.65/185.64 704.65/185.64 and lower component 704.65/185.64 704.65/185.64 { isNatKind^#(n__plus(V1, V2)) -> 704.65/185.64 c_3(U41^#(isNatKind(activate(V1)), activate(V2)), 704.65/185.64 isNatKind^#(activate(V1))) 704.65/185.64 , isNatKind^#(n__s(V1)) -> c_4(isNatKind^#(activate(V1))) 704.65/185.64 , isNatKind^#(n__x(V1, V2)) -> 704.65/185.64 c_5(U61^#(isNatKind(activate(V1)), activate(V2)), 704.65/185.64 isNatKind^#(activate(V1))) 704.65/185.64 , U41^#(tt(), V2) -> c_10(isNatKind^#(activate(V2))) 704.65/185.64 , U61^#(tt(), V2) -> c_11(isNatKind^#(activate(V2))) } 704.65/185.64 704.65/185.64 Further, following extension rules are added to the lower 704.65/185.64 component. 704.65/185.64 704.65/185.64 { U101^#(tt(), M, N) -> 704.65/185.64 U102^#(isNatKind(activate(M)), activate(M), activate(N)) 704.65/185.64 , U101^#(tt(), M, N) -> isNatKind^#(activate(M)) 704.65/185.64 , U102^#(tt(), M, N) -> 704.65/185.64 U103^#(isNat(activate(N)), activate(M), activate(N)) 704.65/185.64 , U102^#(tt(), M, N) -> isNat^#(activate(N)) 704.65/185.64 , U103^#(tt(), M, N) -> isNatKind^#(activate(N)) 704.65/185.64 , isNat^#(n__plus(V1, V2)) -> isNatKind^#(activate(V1)) 704.65/185.64 , isNat^#(n__plus(V1, V2)) -> 704.65/185.64 U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.64 , isNat^#(n__s(V1)) -> isNatKind^#(activate(V1)) 704.65/185.64 , isNat^#(n__s(V1)) -> U21^#(isNatKind(activate(V1)), activate(V1)) 704.65/185.64 , isNat^#(n__x(V1, V2)) -> isNatKind^#(activate(V1)) 704.65/185.64 , isNat^#(n__x(V1, V2)) -> 704.65/185.64 U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.64 , U11^#(tt(), V1, V2) -> isNatKind^#(activate(V1)) 704.65/185.64 , U11^#(tt(), V1, V2) -> 704.65/185.64 U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.64 , U21^#(tt(), V1) -> isNatKind^#(activate(V1)) 704.65/185.64 , U21^#(tt(), V1) -> U22^#(isNatKind(activate(V1)), activate(V1)) 704.65/185.64 , U31^#(tt(), V1, V2) -> isNatKind^#(activate(V1)) 704.65/185.64 , U31^#(tt(), V1, V2) -> 704.65/185.64 U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.64 , U12^#(tt(), V1, V2) -> isNatKind^#(activate(V2)) 704.65/185.64 , U12^#(tt(), V1, V2) -> 704.65/185.64 U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.64 , U13^#(tt(), V1, V2) -> isNatKind^#(activate(V2)) 704.65/185.64 , U13^#(tt(), V1, V2) -> 704.65/185.64 U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.64 , U14^#(tt(), V1, V2) -> isNat^#(activate(V1)) 704.65/185.64 , U14^#(tt(), V1, V2) -> U15^#(isNat(activate(V1)), activate(V2)) 704.65/185.64 , U15^#(tt(), V2) -> isNat^#(activate(V2)) 704.65/185.64 , U22^#(tt(), V1) -> isNat^#(activate(V1)) 704.65/185.64 , U32^#(tt(), V1, V2) -> isNatKind^#(activate(V2)) 704.65/185.64 , U32^#(tt(), V1, V2) -> 704.65/185.64 U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.64 , U33^#(tt(), V1, V2) -> isNatKind^#(activate(V2)) 704.65/185.64 , U33^#(tt(), V1, V2) -> 704.65/185.64 U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.64 , U34^#(tt(), V1, V2) -> isNat^#(activate(V1)) 704.65/185.64 , U34^#(tt(), V1, V2) -> U35^#(isNat(activate(V1)), activate(V2)) 704.65/185.64 , U35^#(tt(), V2) -> isNat^#(activate(V2)) 704.65/185.64 , U71^#(tt(), N) -> isNatKind^#(activate(N)) 704.65/185.64 , U81^#(tt(), M, N) -> isNatKind^#(activate(M)) 704.65/185.64 , U81^#(tt(), M, N) -> 704.65/185.64 U82^#(isNatKind(activate(M)), activate(M), activate(N)) 704.65/185.64 , U82^#(tt(), M, N) -> isNat^#(activate(N)) 704.65/185.64 , U82^#(tt(), M, N) -> 704.65/185.64 U83^#(isNat(activate(N)), activate(M), activate(N)) 704.65/185.64 , U83^#(tt(), M, N) -> isNatKind^#(activate(N)) 704.65/185.64 , U91^#(tt(), N) -> isNatKind^#(activate(N)) } 704.65/185.64 704.65/185.64 TcT solves the upper component with certificate YES(O(1),O(n^1)). 704.65/185.64 704.65/185.64 Sub-proof: 704.65/185.64 ---------- 704.65/185.64 We are left with following problem, upon which TcT provides the 704.65/185.64 certificate YES(O(1),O(n^1)). 704.65/185.64 704.65/185.64 Strict DPs: 704.65/185.64 { U101^#(tt(), M, N) -> 704.65/185.64 c_1(U102^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.64 isNatKind^#(activate(M))) 704.65/185.64 , U103^#(tt(), M, N) -> c_6(isNatKind^#(activate(N))) 704.65/185.64 , isNat^#(n__plus(V1, V2)) -> 704.65/185.64 c_7(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.64 isNatKind^#(activate(V1))) 704.65/185.64 , isNat^#(n__s(V1)) -> 704.65/185.64 c_8(U21^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.64 isNatKind^#(activate(V1))) 704.65/185.64 , isNat^#(n__x(V1, V2)) -> 704.65/185.64 c_9(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.64 isNatKind^#(activate(V1))) 704.65/185.64 , U11^#(tt(), V1, V2) -> 704.65/185.64 c_12(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.64 isNatKind^#(activate(V1))) 704.65/185.64 , U21^#(tt(), V1) -> 704.65/185.64 c_13(U22^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.64 isNatKind^#(activate(V1))) 704.65/185.64 , U31^#(tt(), V1, V2) -> 704.65/185.64 c_14(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.64 isNatKind^#(activate(V1))) 704.65/185.64 , U12^#(tt(), V1, V2) -> 704.65/185.64 c_15(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.64 isNatKind^#(activate(V2))) 704.65/185.64 , U13^#(tt(), V1, V2) -> 704.65/185.64 c_16(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.64 isNatKind^#(activate(V2))) 704.65/185.64 , U32^#(tt(), V1, V2) -> 704.65/185.64 c_20(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.64 isNatKind^#(activate(V2))) 704.65/185.64 , U33^#(tt(), V1, V2) -> 704.65/185.64 c_21(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.64 isNatKind^#(activate(V2))) 704.65/185.64 , U71^#(tt(), N) -> c_24(isNatKind^#(activate(N))) 704.65/185.64 , U81^#(tt(), M, N) -> 704.65/185.64 c_25(U82^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.64 isNatKind^#(activate(M))) 704.65/185.64 , U83^#(tt(), M, N) -> c_27(isNatKind^#(activate(N))) 704.65/185.64 , U91^#(tt(), N) -> c_28(isNatKind^#(activate(N))) } 704.65/185.64 Weak DPs: 704.65/185.64 { U102^#(tt(), M, N) -> 704.65/185.64 c_2(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.64 isNat^#(activate(N))) 704.65/185.64 , U14^#(tt(), V1, V2) -> 704.65/185.64 c_17(U15^#(isNat(activate(V1)), activate(V2)), 704.65/185.64 isNat^#(activate(V1))) 704.65/185.64 , U15^#(tt(), V2) -> c_18(isNat^#(activate(V2))) 704.65/185.64 , U22^#(tt(), V1) -> c_19(isNat^#(activate(V1))) 704.65/185.64 , U34^#(tt(), V1, V2) -> 704.65/185.64 c_22(U35^#(isNat(activate(V1)), activate(V2)), 704.65/185.64 isNat^#(activate(V1))) 704.65/185.64 , U35^#(tt(), V2) -> c_23(isNat^#(activate(V2))) 704.65/185.64 , U82^#(tt(), M, N) -> 704.65/185.64 c_26(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.64 isNat^#(activate(N))) } 704.65/185.64 Weak Trs: 704.65/185.64 { isNatKind(n__0()) -> tt() 704.65/185.64 , isNatKind(n__plus(V1, V2)) -> 704.65/185.64 U41(isNatKind(activate(V1)), activate(V2)) 704.65/185.64 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.65/185.64 , isNatKind(n__x(V1, V2)) -> 704.65/185.64 U61(isNatKind(activate(V1)), activate(V2)) 704.65/185.64 , activate(X) -> X 704.65/185.64 , activate(n__0()) -> 0() 704.65/185.64 , activate(n__plus(X1, X2)) -> plus(X1, X2) 704.65/185.64 , activate(n__s(X)) -> s(X) 704.65/185.64 , activate(n__x(X1, X2)) -> x(X1, X2) 704.65/185.64 , isNat(n__0()) -> tt() 704.65/185.64 , isNat(n__plus(V1, V2)) -> 704.65/185.64 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.64 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 704.65/185.64 , isNat(n__x(V1, V2)) -> 704.65/185.64 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.64 , plus(X1, X2) -> n__plus(X1, X2) 704.65/185.64 , x(X1, X2) -> n__x(X1, X2) 704.65/185.64 , U11(tt(), V1, V2) -> 704.65/185.64 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.64 , U12(tt(), V1, V2) -> 704.65/185.64 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.64 , U13(tt(), V1, V2) -> 704.65/185.64 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.64 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 704.65/185.64 , U15(tt(), V2) -> U16(isNat(activate(V2))) 704.65/185.64 , U16(tt()) -> tt() 704.65/185.64 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 704.65/185.64 , U22(tt(), V1) -> U23(isNat(activate(V1))) 704.65/185.64 , U23(tt()) -> tt() 704.65/185.64 , U31(tt(), V1, V2) -> 704.65/185.64 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.64 , U32(tt(), V1, V2) -> 704.65/185.64 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.64 , U33(tt(), V1, V2) -> 704.65/185.64 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.64 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 704.65/185.64 , U35(tt(), V2) -> U36(isNat(activate(V2))) 704.65/185.64 , U36(tt()) -> tt() 704.65/185.64 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 704.65/185.64 , U42(tt()) -> tt() 704.65/185.64 , U51(tt()) -> tt() 704.65/185.64 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 704.65/185.64 , U62(tt()) -> tt() 704.65/185.64 , s(X) -> n__s(X) 704.65/185.64 , 0() -> n__0() } 704.65/185.64 Obligation: 704.65/185.64 innermost runtime complexity 704.65/185.64 Answer: 704.65/185.64 YES(O(1),O(n^1)) 704.65/185.64 704.65/185.64 We estimate the number of application of {10,13,16} by applications 704.65/185.64 of Pre({10,13,16}) = {9}. Here rules are labeled as follows: 704.65/185.64 704.65/185.64 DPs: 704.65/185.64 { 1: U101^#(tt(), M, N) -> 704.65/185.64 c_1(U102^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.64 isNatKind^#(activate(M))) 704.65/185.64 , 2: U103^#(tt(), M, N) -> c_6(isNatKind^#(activate(N))) 704.65/185.64 , 3: isNat^#(n__plus(V1, V2)) -> 704.65/185.64 c_7(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.64 isNatKind^#(activate(V1))) 704.65/185.64 , 4: isNat^#(n__s(V1)) -> 704.65/185.64 c_8(U21^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.64 isNatKind^#(activate(V1))) 704.65/185.64 , 5: isNat^#(n__x(V1, V2)) -> 704.65/185.64 c_9(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.64 isNatKind^#(activate(V1))) 704.65/185.64 , 6: U11^#(tt(), V1, V2) -> 704.65/185.64 c_12(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.64 isNatKind^#(activate(V1))) 704.65/185.64 , 7: U21^#(tt(), V1) -> 704.65/185.64 c_13(U22^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.64 isNatKind^#(activate(V1))) 704.65/185.64 , 8: U31^#(tt(), V1, V2) -> 704.65/185.64 c_14(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.64 isNatKind^#(activate(V1))) 704.65/185.64 , 9: U12^#(tt(), V1, V2) -> 704.65/185.64 c_15(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.64 isNatKind^#(activate(V2))) 704.65/185.64 , 10: U13^#(tt(), V1, V2) -> 704.65/185.64 c_16(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.64 isNatKind^#(activate(V2))) 704.65/185.64 , 11: U32^#(tt(), V1, V2) -> 704.65/185.64 c_20(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.64 isNatKind^#(activate(V2))) 704.65/185.64 , 12: U33^#(tt(), V1, V2) -> 704.65/185.64 c_21(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.64 isNatKind^#(activate(V2))) 704.65/185.64 , 13: U71^#(tt(), N) -> c_24(isNatKind^#(activate(N))) 704.65/185.64 , 14: U81^#(tt(), M, N) -> 704.65/185.64 c_25(U82^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.64 isNatKind^#(activate(M))) 704.65/185.64 , 15: U83^#(tt(), M, N) -> c_27(isNatKind^#(activate(N))) 704.65/185.64 , 16: U91^#(tt(), N) -> c_28(isNatKind^#(activate(N))) 704.65/185.64 , 17: U102^#(tt(), M, N) -> 704.65/185.64 c_2(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.64 isNat^#(activate(N))) 704.65/185.64 , 18: U14^#(tt(), V1, V2) -> 704.65/185.64 c_17(U15^#(isNat(activate(V1)), activate(V2)), 704.65/185.64 isNat^#(activate(V1))) 704.65/185.64 , 19: U15^#(tt(), V2) -> c_18(isNat^#(activate(V2))) 704.65/185.64 , 20: U22^#(tt(), V1) -> c_19(isNat^#(activate(V1))) 704.65/185.64 , 21: U34^#(tt(), V1, V2) -> 704.65/185.64 c_22(U35^#(isNat(activate(V1)), activate(V2)), 704.65/185.64 isNat^#(activate(V1))) 704.65/185.64 , 22: U35^#(tt(), V2) -> c_23(isNat^#(activate(V2))) 704.65/185.64 , 23: U82^#(tt(), M, N) -> 704.65/185.64 c_26(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.64 isNat^#(activate(N))) } 704.65/185.64 704.65/185.64 We are left with following problem, upon which TcT provides the 704.65/185.64 certificate YES(O(1),O(n^1)). 704.65/185.64 704.65/185.64 Strict DPs: 704.65/185.64 { U101^#(tt(), M, N) -> 704.65/185.64 c_1(U102^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.64 isNatKind^#(activate(M))) 704.65/185.64 , U103^#(tt(), M, N) -> c_6(isNatKind^#(activate(N))) 704.65/185.64 , isNat^#(n__plus(V1, V2)) -> 704.65/185.64 c_7(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.64 isNatKind^#(activate(V1))) 704.65/185.64 , isNat^#(n__s(V1)) -> 704.65/185.64 c_8(U21^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.64 isNatKind^#(activate(V1))) 704.65/185.64 , isNat^#(n__x(V1, V2)) -> 704.65/185.64 c_9(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.64 isNatKind^#(activate(V1))) 704.65/185.64 , U11^#(tt(), V1, V2) -> 704.65/185.64 c_12(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.64 isNatKind^#(activate(V1))) 704.65/185.64 , U21^#(tt(), V1) -> 704.65/185.64 c_13(U22^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.64 isNatKind^#(activate(V1))) 704.65/185.64 , U31^#(tt(), V1, V2) -> 704.65/185.64 c_14(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.64 isNatKind^#(activate(V1))) 704.65/185.64 , U12^#(tt(), V1, V2) -> 704.65/185.64 c_15(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.64 isNatKind^#(activate(V2))) 704.65/185.64 , U32^#(tt(), V1, V2) -> 704.65/185.64 c_20(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.64 isNatKind^#(activate(V2))) 704.65/185.64 , U33^#(tt(), V1, V2) -> 704.65/185.64 c_21(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.64 isNatKind^#(activate(V2))) 704.65/185.64 , U81^#(tt(), M, N) -> 704.65/185.64 c_25(U82^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.64 isNatKind^#(activate(M))) 704.65/185.64 , U83^#(tt(), M, N) -> c_27(isNatKind^#(activate(N))) } 704.65/185.64 Weak DPs: 704.65/185.64 { U102^#(tt(), M, N) -> 704.65/185.64 c_2(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.64 isNat^#(activate(N))) 704.65/185.64 , U13^#(tt(), V1, V2) -> 704.65/185.64 c_16(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.64 isNatKind^#(activate(V2))) 704.65/185.64 , U14^#(tt(), V1, V2) -> 704.65/185.64 c_17(U15^#(isNat(activate(V1)), activate(V2)), 704.65/185.64 isNat^#(activate(V1))) 704.65/185.64 , U15^#(tt(), V2) -> c_18(isNat^#(activate(V2))) 704.65/185.64 , U22^#(tt(), V1) -> c_19(isNat^#(activate(V1))) 704.65/185.64 , U34^#(tt(), V1, V2) -> 704.65/185.64 c_22(U35^#(isNat(activate(V1)), activate(V2)), 704.65/185.64 isNat^#(activate(V1))) 704.65/185.64 , U35^#(tt(), V2) -> c_23(isNat^#(activate(V2))) 704.65/185.64 , U71^#(tt(), N) -> c_24(isNatKind^#(activate(N))) 704.65/185.64 , U82^#(tt(), M, N) -> 704.65/185.64 c_26(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.64 isNat^#(activate(N))) 704.65/185.64 , U91^#(tt(), N) -> c_28(isNatKind^#(activate(N))) } 704.65/185.64 Weak Trs: 704.65/185.64 { isNatKind(n__0()) -> tt() 704.65/185.64 , isNatKind(n__plus(V1, V2)) -> 704.65/185.64 U41(isNatKind(activate(V1)), activate(V2)) 704.65/185.64 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.65/185.64 , isNatKind(n__x(V1, V2)) -> 704.65/185.64 U61(isNatKind(activate(V1)), activate(V2)) 704.65/185.64 , activate(X) -> X 704.65/185.64 , activate(n__0()) -> 0() 704.65/185.64 , activate(n__plus(X1, X2)) -> plus(X1, X2) 704.65/185.64 , activate(n__s(X)) -> s(X) 704.65/185.64 , activate(n__x(X1, X2)) -> x(X1, X2) 704.65/185.64 , isNat(n__0()) -> tt() 704.65/185.64 , isNat(n__plus(V1, V2)) -> 704.65/185.64 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.64 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 704.65/185.64 , isNat(n__x(V1, V2)) -> 704.65/185.64 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.64 , plus(X1, X2) -> n__plus(X1, X2) 704.65/185.64 , x(X1, X2) -> n__x(X1, X2) 704.65/185.64 , U11(tt(), V1, V2) -> 704.65/185.64 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.64 , U12(tt(), V1, V2) -> 704.65/185.64 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.64 , U13(tt(), V1, V2) -> 704.65/185.64 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.64 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 704.65/185.64 , U15(tt(), V2) -> U16(isNat(activate(V2))) 704.65/185.64 , U16(tt()) -> tt() 704.65/185.64 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 704.65/185.64 , U22(tt(), V1) -> U23(isNat(activate(V1))) 704.65/185.64 , U23(tt()) -> tt() 704.65/185.65 , U31(tt(), V1, V2) -> 704.65/185.65 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.65 , U32(tt(), V1, V2) -> 704.65/185.65 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.65 , U33(tt(), V1, V2) -> 704.65/185.65 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.65 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 704.65/185.65 , U35(tt(), V2) -> U36(isNat(activate(V2))) 704.65/185.65 , U36(tt()) -> tt() 704.65/185.65 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 704.65/185.65 , U42(tt()) -> tt() 704.65/185.65 , U51(tt()) -> tt() 704.65/185.65 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 704.65/185.65 , U62(tt()) -> tt() 704.65/185.65 , s(X) -> n__s(X) 704.65/185.65 , 0() -> n__0() } 704.65/185.65 Obligation: 704.65/185.65 innermost runtime complexity 704.65/185.65 Answer: 704.65/185.65 YES(O(1),O(n^1)) 704.65/185.65 704.65/185.65 We estimate the number of application of {9} by applications of 704.65/185.65 Pre({9}) = {6}. Here rules are labeled as follows: 704.65/185.65 704.65/185.65 DPs: 704.65/185.65 { 1: U101^#(tt(), M, N) -> 704.65/185.65 c_1(U102^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.65 isNatKind^#(activate(M))) 704.65/185.65 , 2: U103^#(tt(), M, N) -> c_6(isNatKind^#(activate(N))) 704.65/185.65 , 3: isNat^#(n__plus(V1, V2)) -> 704.65/185.65 c_7(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.65 isNatKind^#(activate(V1))) 704.65/185.65 , 4: isNat^#(n__s(V1)) -> 704.65/185.65 c_8(U21^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.65 isNatKind^#(activate(V1))) 704.65/185.65 , 5: isNat^#(n__x(V1, V2)) -> 704.65/185.65 c_9(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.65 isNatKind^#(activate(V1))) 704.65/185.65 , 6: U11^#(tt(), V1, V2) -> 704.65/185.65 c_12(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.65 isNatKind^#(activate(V1))) 704.65/185.65 , 7: U21^#(tt(), V1) -> 704.65/185.65 c_13(U22^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.65 isNatKind^#(activate(V1))) 704.65/185.65 , 8: U31^#(tt(), V1, V2) -> 704.65/185.65 c_14(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.65 isNatKind^#(activate(V1))) 704.65/185.65 , 9: U12^#(tt(), V1, V2) -> 704.65/185.65 c_15(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.65 isNatKind^#(activate(V2))) 704.65/185.65 , 10: U32^#(tt(), V1, V2) -> 704.65/185.65 c_20(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.65 isNatKind^#(activate(V2))) 704.65/185.65 , 11: U33^#(tt(), V1, V2) -> 704.65/185.65 c_21(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.65 isNatKind^#(activate(V2))) 704.65/185.65 , 12: U81^#(tt(), M, N) -> 704.65/185.65 c_25(U82^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.65 isNatKind^#(activate(M))) 704.65/185.65 , 13: U83^#(tt(), M, N) -> c_27(isNatKind^#(activate(N))) 704.65/185.65 , 14: U102^#(tt(), M, N) -> 704.65/185.65 c_2(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.65 isNat^#(activate(N))) 704.65/185.65 , 15: U13^#(tt(), V1, V2) -> 704.65/185.65 c_16(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.65 isNatKind^#(activate(V2))) 704.65/185.65 , 16: U14^#(tt(), V1, V2) -> 704.65/185.65 c_17(U15^#(isNat(activate(V1)), activate(V2)), 704.65/185.65 isNat^#(activate(V1))) 704.65/185.65 , 17: U15^#(tt(), V2) -> c_18(isNat^#(activate(V2))) 704.65/185.65 , 18: U22^#(tt(), V1) -> c_19(isNat^#(activate(V1))) 704.65/185.65 , 19: U34^#(tt(), V1, V2) -> 704.65/185.65 c_22(U35^#(isNat(activate(V1)), activate(V2)), 704.65/185.65 isNat^#(activate(V1))) 704.65/185.65 , 20: U35^#(tt(), V2) -> c_23(isNat^#(activate(V2))) 704.65/185.65 , 21: U71^#(tt(), N) -> c_24(isNatKind^#(activate(N))) 704.65/185.65 , 22: U82^#(tt(), M, N) -> 704.65/185.65 c_26(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.65 isNat^#(activate(N))) 704.65/185.65 , 23: U91^#(tt(), N) -> c_28(isNatKind^#(activate(N))) } 704.65/185.65 704.65/185.65 We are left with following problem, upon which TcT provides the 704.65/185.65 certificate YES(O(1),O(n^1)). 704.65/185.65 704.65/185.65 Strict DPs: 704.65/185.65 { U101^#(tt(), M, N) -> 704.65/185.65 c_1(U102^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.65 isNatKind^#(activate(M))) 704.65/185.65 , U103^#(tt(), M, N) -> c_6(isNatKind^#(activate(N))) 704.65/185.65 , isNat^#(n__plus(V1, V2)) -> 704.65/185.65 c_7(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.65 isNatKind^#(activate(V1))) 704.65/185.65 , isNat^#(n__s(V1)) -> 704.65/185.65 c_8(U21^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.65 isNatKind^#(activate(V1))) 704.65/185.65 , isNat^#(n__x(V1, V2)) -> 704.65/185.65 c_9(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.65 isNatKind^#(activate(V1))) 704.65/185.65 , U11^#(tt(), V1, V2) -> 704.65/185.65 c_12(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.65 isNatKind^#(activate(V1))) 704.65/185.65 , U21^#(tt(), V1) -> 704.65/185.65 c_13(U22^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.65 isNatKind^#(activate(V1))) 704.65/185.65 , U31^#(tt(), V1, V2) -> 704.65/185.65 c_14(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.65 isNatKind^#(activate(V1))) 704.65/185.65 , U32^#(tt(), V1, V2) -> 704.65/185.65 c_20(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.65 isNatKind^#(activate(V2))) 704.65/185.65 , U33^#(tt(), V1, V2) -> 704.65/185.65 c_21(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.65 isNatKind^#(activate(V2))) 704.65/185.65 , U81^#(tt(), M, N) -> 704.65/185.65 c_25(U82^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.65 isNatKind^#(activate(M))) 704.65/185.65 , U83^#(tt(), M, N) -> c_27(isNatKind^#(activate(N))) } 704.65/185.65 Weak DPs: 704.65/185.65 { U102^#(tt(), M, N) -> 704.65/185.65 c_2(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.65 isNat^#(activate(N))) 704.65/185.65 , U12^#(tt(), V1, V2) -> 704.65/185.65 c_15(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.65 isNatKind^#(activate(V2))) 704.65/185.65 , U13^#(tt(), V1, V2) -> 704.65/185.65 c_16(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.65 isNatKind^#(activate(V2))) 704.65/185.65 , U14^#(tt(), V1, V2) -> 704.65/185.65 c_17(U15^#(isNat(activate(V1)), activate(V2)), 704.65/185.65 isNat^#(activate(V1))) 704.65/185.65 , U15^#(tt(), V2) -> c_18(isNat^#(activate(V2))) 704.65/185.65 , U22^#(tt(), V1) -> c_19(isNat^#(activate(V1))) 704.65/185.65 , U34^#(tt(), V1, V2) -> 704.65/185.65 c_22(U35^#(isNat(activate(V1)), activate(V2)), 704.65/185.65 isNat^#(activate(V1))) 704.65/185.65 , U35^#(tt(), V2) -> c_23(isNat^#(activate(V2))) 704.65/185.65 , U71^#(tt(), N) -> c_24(isNatKind^#(activate(N))) 704.65/185.65 , U82^#(tt(), M, N) -> 704.65/185.65 c_26(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.65 isNat^#(activate(N))) 704.65/185.65 , U91^#(tt(), N) -> c_28(isNatKind^#(activate(N))) } 704.65/185.65 Weak Trs: 704.65/185.65 { isNatKind(n__0()) -> tt() 704.65/185.65 , isNatKind(n__plus(V1, V2)) -> 704.65/185.65 U41(isNatKind(activate(V1)), activate(V2)) 704.65/185.65 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.65/185.65 , isNatKind(n__x(V1, V2)) -> 704.65/185.65 U61(isNatKind(activate(V1)), activate(V2)) 704.65/185.65 , activate(X) -> X 704.65/185.65 , activate(n__0()) -> 0() 704.65/185.65 , activate(n__plus(X1, X2)) -> plus(X1, X2) 704.65/185.65 , activate(n__s(X)) -> s(X) 704.65/185.65 , activate(n__x(X1, X2)) -> x(X1, X2) 704.65/185.65 , isNat(n__0()) -> tt() 704.65/185.65 , isNat(n__plus(V1, V2)) -> 704.65/185.65 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.65 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 704.65/185.65 , isNat(n__x(V1, V2)) -> 704.65/185.65 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.65 , plus(X1, X2) -> n__plus(X1, X2) 704.65/185.65 , x(X1, X2) -> n__x(X1, X2) 704.65/185.65 , U11(tt(), V1, V2) -> 704.65/185.65 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.65 , U12(tt(), V1, V2) -> 704.65/185.65 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.65 , U13(tt(), V1, V2) -> 704.65/185.65 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.65 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 704.65/185.65 , U15(tt(), V2) -> U16(isNat(activate(V2))) 704.65/185.65 , U16(tt()) -> tt() 704.65/185.65 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 704.65/185.65 , U22(tt(), V1) -> U23(isNat(activate(V1))) 704.65/185.65 , U23(tt()) -> tt() 704.65/185.65 , U31(tt(), V1, V2) -> 704.65/185.65 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.65 , U32(tt(), V1, V2) -> 704.65/185.65 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.65 , U33(tt(), V1, V2) -> 704.65/185.65 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.65 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 704.65/185.65 , U35(tt(), V2) -> U36(isNat(activate(V2))) 704.65/185.65 , U36(tt()) -> tt() 704.65/185.65 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 704.65/185.65 , U42(tt()) -> tt() 704.65/185.65 , U51(tt()) -> tt() 704.65/185.65 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 704.65/185.65 , U62(tt()) -> tt() 704.65/185.65 , s(X) -> n__s(X) 704.65/185.65 , 0() -> n__0() } 704.65/185.65 Obligation: 704.65/185.65 innermost runtime complexity 704.65/185.65 Answer: 704.65/185.65 YES(O(1),O(n^1)) 704.65/185.65 704.65/185.65 We estimate the number of application of {6} by applications of 704.65/185.65 Pre({6}) = {3}. Here rules are labeled as follows: 704.65/185.65 704.65/185.65 DPs: 704.65/185.65 { 1: U101^#(tt(), M, N) -> 704.65/185.65 c_1(U102^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.65 isNatKind^#(activate(M))) 704.65/185.65 , 2: U103^#(tt(), M, N) -> c_6(isNatKind^#(activate(N))) 704.65/185.65 , 3: isNat^#(n__plus(V1, V2)) -> 704.65/185.65 c_7(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.65 isNatKind^#(activate(V1))) 704.65/185.65 , 4: isNat^#(n__s(V1)) -> 704.65/185.65 c_8(U21^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.65 isNatKind^#(activate(V1))) 704.65/185.65 , 5: isNat^#(n__x(V1, V2)) -> 704.65/185.65 c_9(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.65 isNatKind^#(activate(V1))) 704.65/185.65 , 6: U11^#(tt(), V1, V2) -> 704.65/185.65 c_12(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.65 isNatKind^#(activate(V1))) 704.65/185.65 , 7: U21^#(tt(), V1) -> 704.65/185.65 c_13(U22^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.65 isNatKind^#(activate(V1))) 704.65/185.65 , 8: U31^#(tt(), V1, V2) -> 704.65/185.65 c_14(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.65 isNatKind^#(activate(V1))) 704.65/185.65 , 9: U32^#(tt(), V1, V2) -> 704.65/185.65 c_20(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.65 isNatKind^#(activate(V2))) 704.65/185.65 , 10: U33^#(tt(), V1, V2) -> 704.65/185.65 c_21(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.65 isNatKind^#(activate(V2))) 704.65/185.65 , 11: U81^#(tt(), M, N) -> 704.65/185.65 c_25(U82^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.65 isNatKind^#(activate(M))) 704.65/185.65 , 12: U83^#(tt(), M, N) -> c_27(isNatKind^#(activate(N))) 704.65/185.65 , 13: U102^#(tt(), M, N) -> 704.65/185.65 c_2(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.65 isNat^#(activate(N))) 704.65/185.65 , 14: U12^#(tt(), V1, V2) -> 704.65/185.65 c_15(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.65 isNatKind^#(activate(V2))) 704.65/185.65 , 15: U13^#(tt(), V1, V2) -> 704.65/185.65 c_16(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.65 isNatKind^#(activate(V2))) 704.65/185.65 , 16: U14^#(tt(), V1, V2) -> 704.65/185.65 c_17(U15^#(isNat(activate(V1)), activate(V2)), 704.65/185.65 isNat^#(activate(V1))) 704.65/185.65 , 17: U15^#(tt(), V2) -> c_18(isNat^#(activate(V2))) 704.65/185.65 , 18: U22^#(tt(), V1) -> c_19(isNat^#(activate(V1))) 704.65/185.65 , 19: U34^#(tt(), V1, V2) -> 704.65/185.65 c_22(U35^#(isNat(activate(V1)), activate(V2)), 704.65/185.65 isNat^#(activate(V1))) 704.65/185.65 , 20: U35^#(tt(), V2) -> c_23(isNat^#(activate(V2))) 704.65/185.65 , 21: U71^#(tt(), N) -> c_24(isNatKind^#(activate(N))) 704.65/185.65 , 22: U82^#(tt(), M, N) -> 704.65/185.65 c_26(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.65 isNat^#(activate(N))) 704.65/185.65 , 23: U91^#(tt(), N) -> c_28(isNatKind^#(activate(N))) } 704.65/185.65 704.65/185.65 We are left with following problem, upon which TcT provides the 704.65/185.65 certificate YES(O(1),O(n^1)). 704.65/185.65 704.65/185.65 Strict DPs: 704.65/185.65 { U101^#(tt(), M, N) -> 704.65/185.65 c_1(U102^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.65 isNatKind^#(activate(M))) 704.65/185.65 , U103^#(tt(), M, N) -> c_6(isNatKind^#(activate(N))) 704.65/185.65 , isNat^#(n__plus(V1, V2)) -> 704.65/185.65 c_7(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.65 isNatKind^#(activate(V1))) 704.65/185.65 , isNat^#(n__s(V1)) -> 704.65/185.65 c_8(U21^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.65 isNatKind^#(activate(V1))) 704.65/185.65 , isNat^#(n__x(V1, V2)) -> 704.65/185.65 c_9(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.65 isNatKind^#(activate(V1))) 704.65/185.65 , U21^#(tt(), V1) -> 704.65/185.65 c_13(U22^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.65 isNatKind^#(activate(V1))) 704.65/185.65 , U31^#(tt(), V1, V2) -> 704.65/185.65 c_14(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.65 isNatKind^#(activate(V1))) 704.65/185.65 , U32^#(tt(), V1, V2) -> 704.65/185.65 c_20(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.65 isNatKind^#(activate(V2))) 704.65/185.65 , U33^#(tt(), V1, V2) -> 704.65/185.65 c_21(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.65 isNatKind^#(activate(V2))) 704.65/185.65 , U81^#(tt(), M, N) -> 704.65/185.65 c_25(U82^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.65 isNatKind^#(activate(M))) 704.65/185.65 , U83^#(tt(), M, N) -> c_27(isNatKind^#(activate(N))) } 704.65/185.65 Weak DPs: 704.65/185.65 { U102^#(tt(), M, N) -> 704.65/185.65 c_2(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.65 isNat^#(activate(N))) 704.65/185.65 , U11^#(tt(), V1, V2) -> 704.65/185.65 c_12(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.65 isNatKind^#(activate(V1))) 704.65/185.65 , U12^#(tt(), V1, V2) -> 704.65/185.65 c_15(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.65 isNatKind^#(activate(V2))) 704.65/185.65 , U13^#(tt(), V1, V2) -> 704.65/185.65 c_16(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.65 isNatKind^#(activate(V2))) 704.65/185.65 , U14^#(tt(), V1, V2) -> 704.65/185.65 c_17(U15^#(isNat(activate(V1)), activate(V2)), 704.65/185.65 isNat^#(activate(V1))) 704.65/185.65 , U15^#(tt(), V2) -> c_18(isNat^#(activate(V2))) 704.65/185.65 , U22^#(tt(), V1) -> c_19(isNat^#(activate(V1))) 704.65/185.65 , U34^#(tt(), V1, V2) -> 704.65/185.65 c_22(U35^#(isNat(activate(V1)), activate(V2)), 704.65/185.65 isNat^#(activate(V1))) 704.65/185.65 , U35^#(tt(), V2) -> c_23(isNat^#(activate(V2))) 704.65/185.65 , U71^#(tt(), N) -> c_24(isNatKind^#(activate(N))) 704.65/185.65 , U82^#(tt(), M, N) -> 704.65/185.65 c_26(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.65 isNat^#(activate(N))) 704.65/185.65 , U91^#(tt(), N) -> c_28(isNatKind^#(activate(N))) } 704.65/185.65 Weak Trs: 704.65/185.65 { isNatKind(n__0()) -> tt() 704.65/185.65 , isNatKind(n__plus(V1, V2)) -> 704.65/185.65 U41(isNatKind(activate(V1)), activate(V2)) 704.65/185.65 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.65/185.65 , isNatKind(n__x(V1, V2)) -> 704.65/185.65 U61(isNatKind(activate(V1)), activate(V2)) 704.65/185.65 , activate(X) -> X 704.65/185.65 , activate(n__0()) -> 0() 704.65/185.65 , activate(n__plus(X1, X2)) -> plus(X1, X2) 704.65/185.65 , activate(n__s(X)) -> s(X) 704.65/185.65 , activate(n__x(X1, X2)) -> x(X1, X2) 704.65/185.65 , isNat(n__0()) -> tt() 704.65/185.65 , isNat(n__plus(V1, V2)) -> 704.65/185.65 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.65 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 704.65/185.65 , isNat(n__x(V1, V2)) -> 704.65/185.65 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.65 , plus(X1, X2) -> n__plus(X1, X2) 704.65/185.65 , x(X1, X2) -> n__x(X1, X2) 704.65/185.65 , U11(tt(), V1, V2) -> 704.65/185.65 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.65 , U12(tt(), V1, V2) -> 704.65/185.65 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.65 , U13(tt(), V1, V2) -> 704.65/185.65 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.65 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 704.65/185.65 , U15(tt(), V2) -> U16(isNat(activate(V2))) 704.65/185.65 , U16(tt()) -> tt() 704.65/185.65 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 704.65/185.65 , U22(tt(), V1) -> U23(isNat(activate(V1))) 704.65/185.65 , U23(tt()) -> tt() 704.65/185.66 , U31(tt(), V1, V2) -> 704.65/185.66 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.66 , U32(tt(), V1, V2) -> 704.65/185.66 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.66 , U33(tt(), V1, V2) -> 704.65/185.66 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.66 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 704.65/185.66 , U35(tt(), V2) -> U36(isNat(activate(V2))) 704.65/185.66 , U36(tt()) -> tt() 704.65/185.66 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 704.65/185.66 , U42(tt()) -> tt() 704.65/185.66 , U51(tt()) -> tt() 704.65/185.66 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 704.65/185.66 , U62(tt()) -> tt() 704.65/185.66 , s(X) -> n__s(X) 704.65/185.66 , 0() -> n__0() } 704.65/185.66 Obligation: 704.65/185.66 innermost runtime complexity 704.65/185.66 Answer: 704.65/185.66 YES(O(1),O(n^1)) 704.65/185.66 704.65/185.66 We estimate the number of application of {6} by applications of 704.65/185.66 Pre({6}) = {4}. Here rules are labeled as follows: 704.65/185.66 704.65/185.66 DPs: 704.65/185.66 { 1: U101^#(tt(), M, N) -> 704.65/185.66 c_1(U102^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.66 isNatKind^#(activate(M))) 704.65/185.66 , 2: U103^#(tt(), M, N) -> c_6(isNatKind^#(activate(N))) 704.65/185.66 , 3: isNat^#(n__plus(V1, V2)) -> 704.65/185.66 c_7(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.66 isNatKind^#(activate(V1))) 704.65/185.66 , 4: isNat^#(n__s(V1)) -> 704.65/185.66 c_8(U21^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.66 isNatKind^#(activate(V1))) 704.65/185.66 , 5: isNat^#(n__x(V1, V2)) -> 704.65/185.66 c_9(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.66 isNatKind^#(activate(V1))) 704.65/185.66 , 6: U21^#(tt(), V1) -> 704.65/185.66 c_13(U22^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.66 isNatKind^#(activate(V1))) 704.65/185.66 , 7: U31^#(tt(), V1, V2) -> 704.65/185.66 c_14(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.66 isNatKind^#(activate(V1))) 704.65/185.66 , 8: U32^#(tt(), V1, V2) -> 704.65/185.66 c_20(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.66 isNatKind^#(activate(V2))) 704.65/185.66 , 9: U33^#(tt(), V1, V2) -> 704.65/185.66 c_21(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.66 isNatKind^#(activate(V2))) 704.65/185.66 , 10: U81^#(tt(), M, N) -> 704.65/185.66 c_25(U82^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.66 isNatKind^#(activate(M))) 704.65/185.66 , 11: U83^#(tt(), M, N) -> c_27(isNatKind^#(activate(N))) 704.65/185.66 , 12: U102^#(tt(), M, N) -> 704.65/185.66 c_2(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.66 isNat^#(activate(N))) 704.65/185.66 , 13: U11^#(tt(), V1, V2) -> 704.65/185.66 c_12(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.66 isNatKind^#(activate(V1))) 704.65/185.66 , 14: U12^#(tt(), V1, V2) -> 704.65/185.66 c_15(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.66 isNatKind^#(activate(V2))) 704.65/185.66 , 15: U13^#(tt(), V1, V2) -> 704.65/185.66 c_16(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.66 isNatKind^#(activate(V2))) 704.65/185.66 , 16: U14^#(tt(), V1, V2) -> 704.65/185.66 c_17(U15^#(isNat(activate(V1)), activate(V2)), 704.65/185.66 isNat^#(activate(V1))) 704.65/185.66 , 17: U15^#(tt(), V2) -> c_18(isNat^#(activate(V2))) 704.65/185.66 , 18: U22^#(tt(), V1) -> c_19(isNat^#(activate(V1))) 704.65/185.66 , 19: U34^#(tt(), V1, V2) -> 704.65/185.66 c_22(U35^#(isNat(activate(V1)), activate(V2)), 704.65/185.66 isNat^#(activate(V1))) 704.65/185.66 , 20: U35^#(tt(), V2) -> c_23(isNat^#(activate(V2))) 704.65/185.66 , 21: U71^#(tt(), N) -> c_24(isNatKind^#(activate(N))) 704.65/185.66 , 22: U82^#(tt(), M, N) -> 704.65/185.66 c_26(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.66 isNat^#(activate(N))) 704.65/185.66 , 23: U91^#(tt(), N) -> c_28(isNatKind^#(activate(N))) } 704.65/185.66 704.65/185.66 We are left with following problem, upon which TcT provides the 704.65/185.66 certificate YES(O(1),O(n^1)). 704.65/185.66 704.65/185.66 Strict DPs: 704.65/185.66 { U101^#(tt(), M, N) -> 704.65/185.66 c_1(U102^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.66 isNatKind^#(activate(M))) 704.65/185.66 , U103^#(tt(), M, N) -> c_6(isNatKind^#(activate(N))) 704.65/185.66 , isNat^#(n__plus(V1, V2)) -> 704.65/185.66 c_7(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.66 isNatKind^#(activate(V1))) 704.65/185.66 , isNat^#(n__s(V1)) -> 704.65/185.66 c_8(U21^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.66 isNatKind^#(activate(V1))) 704.65/185.66 , isNat^#(n__x(V1, V2)) -> 704.65/185.66 c_9(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.66 isNatKind^#(activate(V1))) 704.65/185.66 , U31^#(tt(), V1, V2) -> 704.65/185.66 c_14(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.66 isNatKind^#(activate(V1))) 704.65/185.66 , U32^#(tt(), V1, V2) -> 704.65/185.66 c_20(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.66 isNatKind^#(activate(V2))) 704.65/185.66 , U33^#(tt(), V1, V2) -> 704.65/185.66 c_21(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.66 isNatKind^#(activate(V2))) 704.65/185.66 , U81^#(tt(), M, N) -> 704.65/185.66 c_25(U82^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.66 isNatKind^#(activate(M))) 704.65/185.66 , U83^#(tt(), M, N) -> c_27(isNatKind^#(activate(N))) } 704.65/185.66 Weak DPs: 704.65/185.66 { U102^#(tt(), M, N) -> 704.65/185.66 c_2(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.66 isNat^#(activate(N))) 704.65/185.66 , U11^#(tt(), V1, V2) -> 704.65/185.66 c_12(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.66 isNatKind^#(activate(V1))) 704.65/185.66 , U21^#(tt(), V1) -> 704.65/185.66 c_13(U22^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.66 isNatKind^#(activate(V1))) 704.65/185.66 , U12^#(tt(), V1, V2) -> 704.65/185.66 c_15(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.66 isNatKind^#(activate(V2))) 704.65/185.66 , U13^#(tt(), V1, V2) -> 704.65/185.66 c_16(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.66 isNatKind^#(activate(V2))) 704.65/185.66 , U14^#(tt(), V1, V2) -> 704.65/185.66 c_17(U15^#(isNat(activate(V1)), activate(V2)), 704.65/185.66 isNat^#(activate(V1))) 704.65/185.66 , U15^#(tt(), V2) -> c_18(isNat^#(activate(V2))) 704.65/185.66 , U22^#(tt(), V1) -> c_19(isNat^#(activate(V1))) 704.65/185.66 , U34^#(tt(), V1, V2) -> 704.65/185.66 c_22(U35^#(isNat(activate(V1)), activate(V2)), 704.65/185.66 isNat^#(activate(V1))) 704.65/185.66 , U35^#(tt(), V2) -> c_23(isNat^#(activate(V2))) 704.65/185.66 , U71^#(tt(), N) -> c_24(isNatKind^#(activate(N))) 704.65/185.66 , U82^#(tt(), M, N) -> 704.65/185.66 c_26(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.66 isNat^#(activate(N))) 704.65/185.66 , U91^#(tt(), N) -> c_28(isNatKind^#(activate(N))) } 704.65/185.66 Weak Trs: 704.65/185.66 { isNatKind(n__0()) -> tt() 704.65/185.66 , isNatKind(n__plus(V1, V2)) -> 704.65/185.66 U41(isNatKind(activate(V1)), activate(V2)) 704.65/185.66 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.65/185.66 , isNatKind(n__x(V1, V2)) -> 704.65/185.66 U61(isNatKind(activate(V1)), activate(V2)) 704.65/185.66 , activate(X) -> X 704.65/185.66 , activate(n__0()) -> 0() 704.65/185.66 , activate(n__plus(X1, X2)) -> plus(X1, X2) 704.65/185.66 , activate(n__s(X)) -> s(X) 704.65/185.66 , activate(n__x(X1, X2)) -> x(X1, X2) 704.65/185.66 , isNat(n__0()) -> tt() 704.65/185.66 , isNat(n__plus(V1, V2)) -> 704.65/185.66 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.66 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 704.65/185.66 , isNat(n__x(V1, V2)) -> 704.65/185.66 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.66 , plus(X1, X2) -> n__plus(X1, X2) 704.65/185.66 , x(X1, X2) -> n__x(X1, X2) 704.65/185.66 , U11(tt(), V1, V2) -> 704.65/185.66 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.66 , U12(tt(), V1, V2) -> 704.65/185.66 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.66 , U13(tt(), V1, V2) -> 704.65/185.66 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.66 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 704.65/185.66 , U15(tt(), V2) -> U16(isNat(activate(V2))) 704.65/185.66 , U16(tt()) -> tt() 704.65/185.66 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 704.65/185.66 , U22(tt(), V1) -> U23(isNat(activate(V1))) 704.65/185.66 , U23(tt()) -> tt() 704.65/185.66 , U31(tt(), V1, V2) -> 704.65/185.66 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.66 , U32(tt(), V1, V2) -> 704.65/185.66 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.66 , U33(tt(), V1, V2) -> 704.65/185.66 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.66 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 704.65/185.66 , U35(tt(), V2) -> U36(isNat(activate(V2))) 704.65/185.66 , U36(tt()) -> tt() 704.65/185.66 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 704.65/185.66 , U42(tt()) -> tt() 704.65/185.66 , U51(tt()) -> tt() 704.65/185.66 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 704.65/185.66 , U62(tt()) -> tt() 704.65/185.66 , s(X) -> n__s(X) 704.65/185.66 , 0() -> n__0() } 704.65/185.66 Obligation: 704.65/185.66 innermost runtime complexity 704.65/185.66 Answer: 704.65/185.66 YES(O(1),O(n^1)) 704.65/185.66 704.65/185.66 We estimate the number of application of {8} by applications of 704.65/185.66 Pre({8}) = {7}. Here rules are labeled as follows: 704.65/185.66 704.65/185.66 DPs: 704.65/185.66 { 1: U101^#(tt(), M, N) -> 704.65/185.66 c_1(U102^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.66 isNatKind^#(activate(M))) 704.65/185.66 , 2: U103^#(tt(), M, N) -> c_6(isNatKind^#(activate(N))) 704.65/185.66 , 3: isNat^#(n__plus(V1, V2)) -> 704.65/185.66 c_7(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.66 isNatKind^#(activate(V1))) 704.65/185.66 , 4: isNat^#(n__s(V1)) -> 704.65/185.66 c_8(U21^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.66 isNatKind^#(activate(V1))) 704.65/185.66 , 5: isNat^#(n__x(V1, V2)) -> 704.65/185.66 c_9(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.66 isNatKind^#(activate(V1))) 704.65/185.66 , 6: U31^#(tt(), V1, V2) -> 704.65/185.66 c_14(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.66 isNatKind^#(activate(V1))) 704.65/185.66 , 7: U32^#(tt(), V1, V2) -> 704.65/185.66 c_20(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.66 isNatKind^#(activate(V2))) 704.65/185.66 , 8: U33^#(tt(), V1, V2) -> 704.65/185.66 c_21(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.66 isNatKind^#(activate(V2))) 704.65/185.66 , 9: U81^#(tt(), M, N) -> 704.65/185.66 c_25(U82^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.66 isNatKind^#(activate(M))) 704.65/185.66 , 10: U83^#(tt(), M, N) -> c_27(isNatKind^#(activate(N))) 704.65/185.66 , 11: U102^#(tt(), M, N) -> 704.65/185.66 c_2(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.66 isNat^#(activate(N))) 704.65/185.66 , 12: U11^#(tt(), V1, V2) -> 704.65/185.66 c_12(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.66 isNatKind^#(activate(V1))) 704.65/185.66 , 13: U21^#(tt(), V1) -> 704.65/185.66 c_13(U22^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.66 isNatKind^#(activate(V1))) 704.65/185.66 , 14: U12^#(tt(), V1, V2) -> 704.65/185.66 c_15(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.66 isNatKind^#(activate(V2))) 704.65/185.66 , 15: U13^#(tt(), V1, V2) -> 704.65/185.66 c_16(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.66 isNatKind^#(activate(V2))) 704.65/185.66 , 16: U14^#(tt(), V1, V2) -> 704.65/185.66 c_17(U15^#(isNat(activate(V1)), activate(V2)), 704.65/185.66 isNat^#(activate(V1))) 704.65/185.66 , 17: U15^#(tt(), V2) -> c_18(isNat^#(activate(V2))) 704.65/185.66 , 18: U22^#(tt(), V1) -> c_19(isNat^#(activate(V1))) 704.65/185.66 , 19: U34^#(tt(), V1, V2) -> 704.65/185.66 c_22(U35^#(isNat(activate(V1)), activate(V2)), 704.65/185.66 isNat^#(activate(V1))) 704.65/185.66 , 20: U35^#(tt(), V2) -> c_23(isNat^#(activate(V2))) 704.65/185.66 , 21: U71^#(tt(), N) -> c_24(isNatKind^#(activate(N))) 704.65/185.66 , 22: U82^#(tt(), M, N) -> 704.65/185.66 c_26(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.66 isNat^#(activate(N))) 704.65/185.66 , 23: U91^#(tt(), N) -> c_28(isNatKind^#(activate(N))) } 704.65/185.66 704.65/185.66 We are left with following problem, upon which TcT provides the 704.65/185.66 certificate YES(O(1),O(n^1)). 704.65/185.66 704.65/185.66 Strict DPs: 704.65/185.66 { U101^#(tt(), M, N) -> 704.65/185.66 c_1(U102^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.66 isNatKind^#(activate(M))) 704.65/185.66 , U103^#(tt(), M, N) -> c_6(isNatKind^#(activate(N))) 704.65/185.66 , isNat^#(n__plus(V1, V2)) -> 704.65/185.66 c_7(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.66 isNatKind^#(activate(V1))) 704.65/185.66 , isNat^#(n__s(V1)) -> 704.65/185.66 c_8(U21^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.66 isNatKind^#(activate(V1))) 704.65/185.66 , isNat^#(n__x(V1, V2)) -> 704.65/185.66 c_9(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.66 isNatKind^#(activate(V1))) 704.65/185.66 , U31^#(tt(), V1, V2) -> 704.65/185.66 c_14(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.66 isNatKind^#(activate(V1))) 704.65/185.66 , U32^#(tt(), V1, V2) -> 704.65/185.66 c_20(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.66 isNatKind^#(activate(V2))) 704.65/185.66 , U81^#(tt(), M, N) -> 704.65/185.66 c_25(U82^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.66 isNatKind^#(activate(M))) 704.65/185.66 , U83^#(tt(), M, N) -> c_27(isNatKind^#(activate(N))) } 704.65/185.66 Weak DPs: 704.65/185.66 { U102^#(tt(), M, N) -> 704.65/185.66 c_2(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.66 isNat^#(activate(N))) 704.65/185.66 , U11^#(tt(), V1, V2) -> 704.65/185.66 c_12(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.66 isNatKind^#(activate(V1))) 704.65/185.66 , U21^#(tt(), V1) -> 704.65/185.66 c_13(U22^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.66 isNatKind^#(activate(V1))) 704.65/185.66 , U12^#(tt(), V1, V2) -> 704.65/185.66 c_15(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.66 isNatKind^#(activate(V2))) 704.65/185.66 , U13^#(tt(), V1, V2) -> 704.65/185.66 c_16(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.66 isNatKind^#(activate(V2))) 704.65/185.66 , U14^#(tt(), V1, V2) -> 704.65/185.66 c_17(U15^#(isNat(activate(V1)), activate(V2)), 704.65/185.66 isNat^#(activate(V1))) 704.65/185.66 , U15^#(tt(), V2) -> c_18(isNat^#(activate(V2))) 704.65/185.66 , U22^#(tt(), V1) -> c_19(isNat^#(activate(V1))) 704.65/185.66 , U33^#(tt(), V1, V2) -> 704.65/185.66 c_21(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.66 isNatKind^#(activate(V2))) 704.65/185.66 , U34^#(tt(), V1, V2) -> 704.65/185.66 c_22(U35^#(isNat(activate(V1)), activate(V2)), 704.65/185.66 isNat^#(activate(V1))) 704.65/185.66 , U35^#(tt(), V2) -> c_23(isNat^#(activate(V2))) 704.65/185.66 , U71^#(tt(), N) -> c_24(isNatKind^#(activate(N))) 704.65/185.66 , U82^#(tt(), M, N) -> 704.65/185.66 c_26(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.66 isNat^#(activate(N))) 704.65/185.66 , U91^#(tt(), N) -> c_28(isNatKind^#(activate(N))) } 704.65/185.66 Weak Trs: 704.65/185.66 { isNatKind(n__0()) -> tt() 704.65/185.66 , isNatKind(n__plus(V1, V2)) -> 704.65/185.66 U41(isNatKind(activate(V1)), activate(V2)) 704.65/185.66 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.65/185.66 , isNatKind(n__x(V1, V2)) -> 704.65/185.66 U61(isNatKind(activate(V1)), activate(V2)) 704.65/185.66 , activate(X) -> X 704.65/185.66 , activate(n__0()) -> 0() 704.65/185.66 , activate(n__plus(X1, X2)) -> plus(X1, X2) 704.65/185.66 , activate(n__s(X)) -> s(X) 704.65/185.66 , activate(n__x(X1, X2)) -> x(X1, X2) 704.65/185.66 , isNat(n__0()) -> tt() 704.65/185.66 , isNat(n__plus(V1, V2)) -> 704.65/185.66 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.66 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 704.65/185.66 , isNat(n__x(V1, V2)) -> 704.65/185.66 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.66 , plus(X1, X2) -> n__plus(X1, X2) 704.65/185.66 , x(X1, X2) -> n__x(X1, X2) 704.65/185.66 , U11(tt(), V1, V2) -> 704.65/185.66 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.66 , U12(tt(), V1, V2) -> 704.65/185.66 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.66 , U13(tt(), V1, V2) -> 704.65/185.66 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.66 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 704.65/185.66 , U15(tt(), V2) -> U16(isNat(activate(V2))) 704.65/185.66 , U16(tt()) -> tt() 704.65/185.66 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 704.65/185.66 , U22(tt(), V1) -> U23(isNat(activate(V1))) 704.65/185.66 , U23(tt()) -> tt() 704.65/185.67 , U31(tt(), V1, V2) -> 704.65/185.67 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.67 , U32(tt(), V1, V2) -> 704.65/185.67 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.67 , U33(tt(), V1, V2) -> 704.65/185.67 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.67 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 704.65/185.67 , U35(tt(), V2) -> U36(isNat(activate(V2))) 704.65/185.67 , U36(tt()) -> tt() 704.65/185.67 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 704.65/185.67 , U42(tt()) -> tt() 704.65/185.67 , U51(tt()) -> tt() 704.65/185.67 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 704.65/185.67 , U62(tt()) -> tt() 704.65/185.67 , s(X) -> n__s(X) 704.65/185.67 , 0() -> n__0() } 704.65/185.67 Obligation: 704.65/185.67 innermost runtime complexity 704.65/185.67 Answer: 704.65/185.67 YES(O(1),O(n^1)) 704.65/185.67 704.65/185.67 We estimate the number of application of {7} by applications of 704.65/185.67 Pre({7}) = {6}. Here rules are labeled as follows: 704.65/185.67 704.65/185.67 DPs: 704.65/185.67 { 1: U101^#(tt(), M, N) -> 704.65/185.67 c_1(U102^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.67 isNatKind^#(activate(M))) 704.65/185.67 , 2: U103^#(tt(), M, N) -> c_6(isNatKind^#(activate(N))) 704.65/185.67 , 3: isNat^#(n__plus(V1, V2)) -> 704.65/185.67 c_7(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.67 isNatKind^#(activate(V1))) 704.65/185.67 , 4: isNat^#(n__s(V1)) -> 704.65/185.67 c_8(U21^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.67 isNatKind^#(activate(V1))) 704.65/185.67 , 5: isNat^#(n__x(V1, V2)) -> 704.65/185.67 c_9(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.67 isNatKind^#(activate(V1))) 704.65/185.67 , 6: U31^#(tt(), V1, V2) -> 704.65/185.67 c_14(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.67 isNatKind^#(activate(V1))) 704.65/185.67 , 7: U32^#(tt(), V1, V2) -> 704.65/185.67 c_20(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.67 isNatKind^#(activate(V2))) 704.65/185.67 , 8: U81^#(tt(), M, N) -> 704.65/185.67 c_25(U82^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.67 isNatKind^#(activate(M))) 704.65/185.67 , 9: U83^#(tt(), M, N) -> c_27(isNatKind^#(activate(N))) 704.65/185.67 , 10: U102^#(tt(), M, N) -> 704.65/185.67 c_2(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.67 isNat^#(activate(N))) 704.65/185.67 , 11: U11^#(tt(), V1, V2) -> 704.65/185.67 c_12(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.67 isNatKind^#(activate(V1))) 704.65/185.67 , 12: U21^#(tt(), V1) -> 704.65/185.67 c_13(U22^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.67 isNatKind^#(activate(V1))) 704.65/185.67 , 13: U12^#(tt(), V1, V2) -> 704.65/185.67 c_15(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.67 isNatKind^#(activate(V2))) 704.65/185.67 , 14: U13^#(tt(), V1, V2) -> 704.65/185.67 c_16(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.67 isNatKind^#(activate(V2))) 704.65/185.67 , 15: U14^#(tt(), V1, V2) -> 704.65/185.67 c_17(U15^#(isNat(activate(V1)), activate(V2)), 704.65/185.67 isNat^#(activate(V1))) 704.65/185.67 , 16: U15^#(tt(), V2) -> c_18(isNat^#(activate(V2))) 704.65/185.67 , 17: U22^#(tt(), V1) -> c_19(isNat^#(activate(V1))) 704.65/185.67 , 18: U33^#(tt(), V1, V2) -> 704.65/185.67 c_21(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.67 isNatKind^#(activate(V2))) 704.65/185.67 , 19: U34^#(tt(), V1, V2) -> 704.65/185.67 c_22(U35^#(isNat(activate(V1)), activate(V2)), 704.65/185.67 isNat^#(activate(V1))) 704.65/185.67 , 20: U35^#(tt(), V2) -> c_23(isNat^#(activate(V2))) 704.65/185.67 , 21: U71^#(tt(), N) -> c_24(isNatKind^#(activate(N))) 704.65/185.67 , 22: U82^#(tt(), M, N) -> 704.65/185.67 c_26(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.67 isNat^#(activate(N))) 704.65/185.67 , 23: U91^#(tt(), N) -> c_28(isNatKind^#(activate(N))) } 704.65/185.67 704.65/185.67 We are left with following problem, upon which TcT provides the 704.65/185.67 certificate YES(O(1),O(n^1)). 704.65/185.67 704.65/185.67 Strict DPs: 704.65/185.67 { U101^#(tt(), M, N) -> 704.65/185.67 c_1(U102^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.67 isNatKind^#(activate(M))) 704.65/185.67 , U103^#(tt(), M, N) -> c_6(isNatKind^#(activate(N))) 704.65/185.67 , isNat^#(n__plus(V1, V2)) -> 704.65/185.67 c_7(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.67 isNatKind^#(activate(V1))) 704.65/185.67 , isNat^#(n__s(V1)) -> 704.65/185.67 c_8(U21^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.67 isNatKind^#(activate(V1))) 704.65/185.67 , isNat^#(n__x(V1, V2)) -> 704.65/185.67 c_9(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.67 isNatKind^#(activate(V1))) 704.65/185.67 , U31^#(tt(), V1, V2) -> 704.65/185.67 c_14(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.67 isNatKind^#(activate(V1))) 704.65/185.67 , U81^#(tt(), M, N) -> 704.65/185.67 c_25(U82^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.67 isNatKind^#(activate(M))) 704.65/185.67 , U83^#(tt(), M, N) -> c_27(isNatKind^#(activate(N))) } 704.65/185.67 Weak DPs: 704.65/185.67 { U102^#(tt(), M, N) -> 704.65/185.67 c_2(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.67 isNat^#(activate(N))) 704.65/185.67 , U11^#(tt(), V1, V2) -> 704.65/185.67 c_12(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.67 isNatKind^#(activate(V1))) 704.65/185.67 , U21^#(tt(), V1) -> 704.65/185.67 c_13(U22^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.67 isNatKind^#(activate(V1))) 704.65/185.67 , U12^#(tt(), V1, V2) -> 704.65/185.67 c_15(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.67 isNatKind^#(activate(V2))) 704.65/185.67 , U13^#(tt(), V1, V2) -> 704.65/185.67 c_16(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.67 isNatKind^#(activate(V2))) 704.65/185.67 , U14^#(tt(), V1, V2) -> 704.65/185.67 c_17(U15^#(isNat(activate(V1)), activate(V2)), 704.65/185.67 isNat^#(activate(V1))) 704.65/185.67 , U15^#(tt(), V2) -> c_18(isNat^#(activate(V2))) 704.65/185.67 , U22^#(tt(), V1) -> c_19(isNat^#(activate(V1))) 704.65/185.67 , U32^#(tt(), V1, V2) -> 704.65/185.67 c_20(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.67 isNatKind^#(activate(V2))) 704.65/185.67 , U33^#(tt(), V1, V2) -> 704.65/185.67 c_21(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.67 isNatKind^#(activate(V2))) 704.65/185.67 , U34^#(tt(), V1, V2) -> 704.65/185.67 c_22(U35^#(isNat(activate(V1)), activate(V2)), 704.65/185.67 isNat^#(activate(V1))) 704.65/185.67 , U35^#(tt(), V2) -> c_23(isNat^#(activate(V2))) 704.65/185.67 , U71^#(tt(), N) -> c_24(isNatKind^#(activate(N))) 704.65/185.67 , U82^#(tt(), M, N) -> 704.65/185.67 c_26(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.67 isNat^#(activate(N))) 704.65/185.67 , U91^#(tt(), N) -> c_28(isNatKind^#(activate(N))) } 704.65/185.67 Weak Trs: 704.65/185.67 { isNatKind(n__0()) -> tt() 704.65/185.67 , isNatKind(n__plus(V1, V2)) -> 704.65/185.67 U41(isNatKind(activate(V1)), activate(V2)) 704.65/185.67 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.65/185.67 , isNatKind(n__x(V1, V2)) -> 704.65/185.67 U61(isNatKind(activate(V1)), activate(V2)) 704.65/185.67 , activate(X) -> X 704.65/185.67 , activate(n__0()) -> 0() 704.65/185.67 , activate(n__plus(X1, X2)) -> plus(X1, X2) 704.65/185.67 , activate(n__s(X)) -> s(X) 704.65/185.67 , activate(n__x(X1, X2)) -> x(X1, X2) 704.65/185.67 , isNat(n__0()) -> tt() 704.65/185.67 , isNat(n__plus(V1, V2)) -> 704.65/185.67 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.67 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 704.65/185.67 , isNat(n__x(V1, V2)) -> 704.65/185.67 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.67 , plus(X1, X2) -> n__plus(X1, X2) 704.65/185.67 , x(X1, X2) -> n__x(X1, X2) 704.65/185.67 , U11(tt(), V1, V2) -> 704.65/185.67 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.67 , U12(tt(), V1, V2) -> 704.65/185.67 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.67 , U13(tt(), V1, V2) -> 704.65/185.67 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.67 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 704.65/185.67 , U15(tt(), V2) -> U16(isNat(activate(V2))) 704.65/185.67 , U16(tt()) -> tt() 704.65/185.67 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 704.65/185.67 , U22(tt(), V1) -> U23(isNat(activate(V1))) 704.65/185.67 , U23(tt()) -> tt() 704.65/185.67 , U31(tt(), V1, V2) -> 704.65/185.67 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.67 , U32(tt(), V1, V2) -> 704.65/185.67 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.67 , U33(tt(), V1, V2) -> 704.65/185.67 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.67 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 704.65/185.67 , U35(tt(), V2) -> U36(isNat(activate(V2))) 704.65/185.67 , U36(tt()) -> tt() 704.65/185.67 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 704.65/185.67 , U42(tt()) -> tt() 704.65/185.67 , U51(tt()) -> tt() 704.65/185.67 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 704.65/185.67 , U62(tt()) -> tt() 704.65/185.67 , s(X) -> n__s(X) 704.65/185.67 , 0() -> n__0() } 704.65/185.67 Obligation: 704.65/185.67 innermost runtime complexity 704.65/185.67 Answer: 704.65/185.67 YES(O(1),O(n^1)) 704.65/185.67 704.65/185.67 We estimate the number of application of {6} by applications of 704.65/185.67 Pre({6}) = {5}. Here rules are labeled as follows: 704.65/185.67 704.65/185.67 DPs: 704.65/185.67 { 1: U101^#(tt(), M, N) -> 704.65/185.67 c_1(U102^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.67 isNatKind^#(activate(M))) 704.65/185.67 , 2: U103^#(tt(), M, N) -> c_6(isNatKind^#(activate(N))) 704.65/185.67 , 3: isNat^#(n__plus(V1, V2)) -> 704.65/185.67 c_7(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.67 isNatKind^#(activate(V1))) 704.65/185.67 , 4: isNat^#(n__s(V1)) -> 704.65/185.67 c_8(U21^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.67 isNatKind^#(activate(V1))) 704.65/185.67 , 5: isNat^#(n__x(V1, V2)) -> 704.65/185.67 c_9(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.67 isNatKind^#(activate(V1))) 704.65/185.67 , 6: U31^#(tt(), V1, V2) -> 704.65/185.67 c_14(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.67 isNatKind^#(activate(V1))) 704.65/185.67 , 7: U81^#(tt(), M, N) -> 704.65/185.67 c_25(U82^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.67 isNatKind^#(activate(M))) 704.65/185.67 , 8: U83^#(tt(), M, N) -> c_27(isNatKind^#(activate(N))) 704.65/185.67 , 9: U102^#(tt(), M, N) -> 704.65/185.67 c_2(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.67 isNat^#(activate(N))) 704.65/185.67 , 10: U11^#(tt(), V1, V2) -> 704.65/185.67 c_12(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.67 isNatKind^#(activate(V1))) 704.65/185.67 , 11: U21^#(tt(), V1) -> 704.65/185.67 c_13(U22^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.67 isNatKind^#(activate(V1))) 704.65/185.67 , 12: U12^#(tt(), V1, V2) -> 704.65/185.67 c_15(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.67 isNatKind^#(activate(V2))) 704.65/185.67 , 13: U13^#(tt(), V1, V2) -> 704.65/185.67 c_16(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.67 isNatKind^#(activate(V2))) 704.65/185.67 , 14: U14^#(tt(), V1, V2) -> 704.65/185.67 c_17(U15^#(isNat(activate(V1)), activate(V2)), 704.65/185.67 isNat^#(activate(V1))) 704.65/185.67 , 15: U15^#(tt(), V2) -> c_18(isNat^#(activate(V2))) 704.65/185.67 , 16: U22^#(tt(), V1) -> c_19(isNat^#(activate(V1))) 704.65/185.67 , 17: U32^#(tt(), V1, V2) -> 704.65/185.67 c_20(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.67 isNatKind^#(activate(V2))) 704.65/185.67 , 18: U33^#(tt(), V1, V2) -> 704.65/185.67 c_21(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.67 isNatKind^#(activate(V2))) 704.65/185.67 , 19: U34^#(tt(), V1, V2) -> 704.65/185.67 c_22(U35^#(isNat(activate(V1)), activate(V2)), 704.65/185.67 isNat^#(activate(V1))) 704.65/185.67 , 20: U35^#(tt(), V2) -> c_23(isNat^#(activate(V2))) 704.65/185.67 , 21: U71^#(tt(), N) -> c_24(isNatKind^#(activate(N))) 704.65/185.67 , 22: U82^#(tt(), M, N) -> 704.65/185.67 c_26(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.67 isNat^#(activate(N))) 704.65/185.67 , 23: U91^#(tt(), N) -> c_28(isNatKind^#(activate(N))) } 704.65/185.67 704.65/185.67 We are left with following problem, upon which TcT provides the 704.65/185.67 certificate YES(O(1),O(n^1)). 704.65/185.67 704.65/185.67 Strict DPs: 704.65/185.67 { U101^#(tt(), M, N) -> 704.65/185.67 c_1(U102^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.67 isNatKind^#(activate(M))) 704.65/185.67 , U103^#(tt(), M, N) -> c_6(isNatKind^#(activate(N))) 704.65/185.67 , isNat^#(n__plus(V1, V2)) -> 704.65/185.67 c_7(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.67 isNatKind^#(activate(V1))) 704.65/185.67 , isNat^#(n__s(V1)) -> 704.65/185.67 c_8(U21^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.67 isNatKind^#(activate(V1))) 704.65/185.67 , isNat^#(n__x(V1, V2)) -> 704.65/185.67 c_9(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.67 isNatKind^#(activate(V1))) 704.65/185.67 , U81^#(tt(), M, N) -> 704.65/185.67 c_25(U82^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.67 isNatKind^#(activate(M))) 704.65/185.67 , U83^#(tt(), M, N) -> c_27(isNatKind^#(activate(N))) } 704.65/185.67 Weak DPs: 704.65/185.67 { U102^#(tt(), M, N) -> 704.65/185.67 c_2(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.67 isNat^#(activate(N))) 704.65/185.67 , U11^#(tt(), V1, V2) -> 704.65/185.67 c_12(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.67 isNatKind^#(activate(V1))) 704.65/185.67 , U21^#(tt(), V1) -> 704.65/185.67 c_13(U22^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.67 isNatKind^#(activate(V1))) 704.65/185.67 , U31^#(tt(), V1, V2) -> 704.65/185.67 c_14(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.67 isNatKind^#(activate(V1))) 704.65/185.67 , U12^#(tt(), V1, V2) -> 704.65/185.67 c_15(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.67 isNatKind^#(activate(V2))) 704.65/185.67 , U13^#(tt(), V1, V2) -> 704.65/185.67 c_16(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.67 isNatKind^#(activate(V2))) 704.65/185.67 , U14^#(tt(), V1, V2) -> 704.65/185.67 c_17(U15^#(isNat(activate(V1)), activate(V2)), 704.65/185.67 isNat^#(activate(V1))) 704.65/185.67 , U15^#(tt(), V2) -> c_18(isNat^#(activate(V2))) 704.65/185.67 , U22^#(tt(), V1) -> c_19(isNat^#(activate(V1))) 704.65/185.67 , U32^#(tt(), V1, V2) -> 704.65/185.67 c_20(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.67 isNatKind^#(activate(V2))) 704.65/185.67 , U33^#(tt(), V1, V2) -> 704.65/185.67 c_21(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.67 isNatKind^#(activate(V2))) 704.65/185.67 , U34^#(tt(), V1, V2) -> 704.65/185.67 c_22(U35^#(isNat(activate(V1)), activate(V2)), 704.65/185.67 isNat^#(activate(V1))) 704.65/185.67 , U35^#(tt(), V2) -> c_23(isNat^#(activate(V2))) 704.65/185.67 , U71^#(tt(), N) -> c_24(isNatKind^#(activate(N))) 704.65/185.67 , U82^#(tt(), M, N) -> 704.65/185.67 c_26(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.67 isNat^#(activate(N))) 704.65/185.67 , U91^#(tt(), N) -> c_28(isNatKind^#(activate(N))) } 704.65/185.67 Weak Trs: 704.65/185.67 { isNatKind(n__0()) -> tt() 704.65/185.67 , isNatKind(n__plus(V1, V2)) -> 704.65/185.67 U41(isNatKind(activate(V1)), activate(V2)) 704.65/185.67 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.65/185.67 , isNatKind(n__x(V1, V2)) -> 704.65/185.67 U61(isNatKind(activate(V1)), activate(V2)) 704.65/185.67 , activate(X) -> X 704.65/185.67 , activate(n__0()) -> 0() 704.65/185.67 , activate(n__plus(X1, X2)) -> plus(X1, X2) 704.65/185.67 , activate(n__s(X)) -> s(X) 704.65/185.67 , activate(n__x(X1, X2)) -> x(X1, X2) 704.65/185.67 , isNat(n__0()) -> tt() 704.65/185.67 , isNat(n__plus(V1, V2)) -> 704.65/185.67 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.67 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 704.65/185.67 , isNat(n__x(V1, V2)) -> 704.65/185.67 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.67 , plus(X1, X2) -> n__plus(X1, X2) 704.65/185.67 , x(X1, X2) -> n__x(X1, X2) 704.65/185.67 , U11(tt(), V1, V2) -> 704.65/185.67 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.67 , U12(tt(), V1, V2) -> 704.65/185.67 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.67 , U13(tt(), V1, V2) -> 704.65/185.67 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.67 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 704.65/185.67 , U15(tt(), V2) -> U16(isNat(activate(V2))) 704.65/185.67 , U16(tt()) -> tt() 704.65/185.67 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 704.65/185.67 , U22(tt(), V1) -> U23(isNat(activate(V1))) 704.65/185.67 , U23(tt()) -> tt() 704.65/185.68 , U31(tt(), V1, V2) -> 704.65/185.68 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.68 , U32(tt(), V1, V2) -> 704.65/185.68 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.68 , U33(tt(), V1, V2) -> 704.65/185.68 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.68 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 704.65/185.68 , U35(tt(), V2) -> U36(isNat(activate(V2))) 704.65/185.68 , U36(tt()) -> tt() 704.65/185.68 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 704.65/185.68 , U42(tt()) -> tt() 704.65/185.68 , U51(tt()) -> tt() 704.65/185.68 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 704.65/185.68 , U62(tt()) -> tt() 704.65/185.68 , s(X) -> n__s(X) 704.65/185.68 , 0() -> n__0() } 704.65/185.68 Obligation: 704.65/185.68 innermost runtime complexity 704.65/185.68 Answer: 704.65/185.68 YES(O(1),O(n^1)) 704.65/185.68 704.65/185.68 We estimate the number of application of {1,6} by applications of 704.65/185.68 Pre({1,6}) = {}. Here rules are labeled as follows: 704.65/185.68 704.65/185.68 DPs: 704.65/185.68 { 1: U101^#(tt(), M, N) -> 704.65/185.68 c_1(U102^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.68 isNatKind^#(activate(M))) 704.65/185.68 , 2: U103^#(tt(), M, N) -> c_6(isNatKind^#(activate(N))) 704.65/185.68 , 3: isNat^#(n__plus(V1, V2)) -> 704.65/185.68 c_7(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.68 isNatKind^#(activate(V1))) 704.65/185.68 , 4: isNat^#(n__s(V1)) -> 704.65/185.68 c_8(U21^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.68 isNatKind^#(activate(V1))) 704.65/185.68 , 5: isNat^#(n__x(V1, V2)) -> 704.65/185.68 c_9(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.68 isNatKind^#(activate(V1))) 704.65/185.68 , 6: U81^#(tt(), M, N) -> 704.65/185.68 c_25(U82^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.68 isNatKind^#(activate(M))) 704.65/185.68 , 7: U83^#(tt(), M, N) -> c_27(isNatKind^#(activate(N))) 704.65/185.68 , 8: U102^#(tt(), M, N) -> 704.65/185.68 c_2(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.68 isNat^#(activate(N))) 704.65/185.68 , 9: U11^#(tt(), V1, V2) -> 704.65/185.68 c_12(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.68 isNatKind^#(activate(V1))) 704.65/185.68 , 10: U21^#(tt(), V1) -> 704.65/185.68 c_13(U22^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.68 isNatKind^#(activate(V1))) 704.65/185.68 , 11: U31^#(tt(), V1, V2) -> 704.65/185.68 c_14(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.68 isNatKind^#(activate(V1))) 704.65/185.68 , 12: U12^#(tt(), V1, V2) -> 704.65/185.68 c_15(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.68 isNatKind^#(activate(V2))) 704.65/185.68 , 13: U13^#(tt(), V1, V2) -> 704.65/185.68 c_16(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.68 isNatKind^#(activate(V2))) 704.65/185.68 , 14: U14^#(tt(), V1, V2) -> 704.65/185.68 c_17(U15^#(isNat(activate(V1)), activate(V2)), 704.65/185.68 isNat^#(activate(V1))) 704.65/185.68 , 15: U15^#(tt(), V2) -> c_18(isNat^#(activate(V2))) 704.65/185.68 , 16: U22^#(tt(), V1) -> c_19(isNat^#(activate(V1))) 704.65/185.68 , 17: U32^#(tt(), V1, V2) -> 704.65/185.68 c_20(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.68 isNatKind^#(activate(V2))) 704.65/185.68 , 18: U33^#(tt(), V1, V2) -> 704.65/185.68 c_21(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.68 isNatKind^#(activate(V2))) 704.65/185.68 , 19: U34^#(tt(), V1, V2) -> 704.65/185.68 c_22(U35^#(isNat(activate(V1)), activate(V2)), 704.65/185.68 isNat^#(activate(V1))) 704.65/185.68 , 20: U35^#(tt(), V2) -> c_23(isNat^#(activate(V2))) 704.65/185.68 , 21: U71^#(tt(), N) -> c_24(isNatKind^#(activate(N))) 704.65/185.68 , 22: U82^#(tt(), M, N) -> 704.65/185.68 c_26(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.68 isNat^#(activate(N))) 704.65/185.68 , 23: U91^#(tt(), N) -> c_28(isNatKind^#(activate(N))) } 704.65/185.68 704.65/185.68 We are left with following problem, upon which TcT provides the 704.65/185.68 certificate YES(O(1),O(n^1)). 704.65/185.68 704.65/185.68 Strict DPs: 704.65/185.68 { U103^#(tt(), M, N) -> c_6(isNatKind^#(activate(N))) 704.65/185.68 , isNat^#(n__plus(V1, V2)) -> 704.65/185.68 c_7(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.68 isNatKind^#(activate(V1))) 704.65/185.68 , isNat^#(n__s(V1)) -> 704.65/185.68 c_8(U21^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.68 isNatKind^#(activate(V1))) 704.65/185.68 , isNat^#(n__x(V1, V2)) -> 704.65/185.68 c_9(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.68 isNatKind^#(activate(V1))) 704.65/185.68 , U83^#(tt(), M, N) -> c_27(isNatKind^#(activate(N))) } 704.65/185.68 Weak DPs: 704.65/185.68 { U101^#(tt(), M, N) -> 704.65/185.68 c_1(U102^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.68 isNatKind^#(activate(M))) 704.65/185.68 , U102^#(tt(), M, N) -> 704.65/185.68 c_2(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.68 isNat^#(activate(N))) 704.65/185.68 , U11^#(tt(), V1, V2) -> 704.65/185.68 c_12(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.68 isNatKind^#(activate(V1))) 704.65/185.68 , U21^#(tt(), V1) -> 704.65/185.68 c_13(U22^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.68 isNatKind^#(activate(V1))) 704.65/185.68 , U31^#(tt(), V1, V2) -> 704.65/185.68 c_14(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.68 isNatKind^#(activate(V1))) 704.65/185.68 , U12^#(tt(), V1, V2) -> 704.65/185.68 c_15(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.68 isNatKind^#(activate(V2))) 704.65/185.68 , U13^#(tt(), V1, V2) -> 704.65/185.68 c_16(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.68 isNatKind^#(activate(V2))) 704.65/185.68 , U14^#(tt(), V1, V2) -> 704.65/185.68 c_17(U15^#(isNat(activate(V1)), activate(V2)), 704.65/185.68 isNat^#(activate(V1))) 704.65/185.68 , U15^#(tt(), V2) -> c_18(isNat^#(activate(V2))) 704.65/185.68 , U22^#(tt(), V1) -> c_19(isNat^#(activate(V1))) 704.65/185.68 , U32^#(tt(), V1, V2) -> 704.65/185.68 c_20(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.68 isNatKind^#(activate(V2))) 704.65/185.68 , U33^#(tt(), V1, V2) -> 704.65/185.68 c_21(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.68 isNatKind^#(activate(V2))) 704.65/185.68 , U34^#(tt(), V1, V2) -> 704.65/185.68 c_22(U35^#(isNat(activate(V1)), activate(V2)), 704.65/185.68 isNat^#(activate(V1))) 704.65/185.68 , U35^#(tt(), V2) -> c_23(isNat^#(activate(V2))) 704.65/185.68 , U71^#(tt(), N) -> c_24(isNatKind^#(activate(N))) 704.65/185.68 , U81^#(tt(), M, N) -> 704.65/185.68 c_25(U82^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.68 isNatKind^#(activate(M))) 704.65/185.68 , U82^#(tt(), M, N) -> 704.65/185.68 c_26(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.68 isNat^#(activate(N))) 704.65/185.68 , U91^#(tt(), N) -> c_28(isNatKind^#(activate(N))) } 704.65/185.68 Weak Trs: 704.65/185.68 { isNatKind(n__0()) -> tt() 704.65/185.68 , isNatKind(n__plus(V1, V2)) -> 704.65/185.68 U41(isNatKind(activate(V1)), activate(V2)) 704.65/185.68 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.65/185.68 , isNatKind(n__x(V1, V2)) -> 704.65/185.68 U61(isNatKind(activate(V1)), activate(V2)) 704.65/185.68 , activate(X) -> X 704.65/185.68 , activate(n__0()) -> 0() 704.65/185.68 , activate(n__plus(X1, X2)) -> plus(X1, X2) 704.65/185.68 , activate(n__s(X)) -> s(X) 704.65/185.68 , activate(n__x(X1, X2)) -> x(X1, X2) 704.65/185.68 , isNat(n__0()) -> tt() 704.65/185.68 , isNat(n__plus(V1, V2)) -> 704.65/185.68 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.68 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 704.65/185.68 , isNat(n__x(V1, V2)) -> 704.65/185.68 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.68 , plus(X1, X2) -> n__plus(X1, X2) 704.65/185.68 , x(X1, X2) -> n__x(X1, X2) 704.65/185.68 , U11(tt(), V1, V2) -> 704.65/185.68 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.68 , U12(tt(), V1, V2) -> 704.65/185.68 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.68 , U13(tt(), V1, V2) -> 704.65/185.68 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.68 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 704.65/185.68 , U15(tt(), V2) -> U16(isNat(activate(V2))) 704.65/185.68 , U16(tt()) -> tt() 704.65/185.68 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 704.65/185.68 , U22(tt(), V1) -> U23(isNat(activate(V1))) 704.65/185.68 , U23(tt()) -> tt() 704.65/185.68 , U31(tt(), V1, V2) -> 704.65/185.68 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.68 , U32(tt(), V1, V2) -> 704.65/185.68 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.68 , U33(tt(), V1, V2) -> 704.65/185.68 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.68 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 704.65/185.68 , U35(tt(), V2) -> U36(isNat(activate(V2))) 704.65/185.68 , U36(tt()) -> tt() 704.65/185.68 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 704.65/185.68 , U42(tt()) -> tt() 704.65/185.68 , U51(tt()) -> tt() 704.65/185.68 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 704.65/185.68 , U62(tt()) -> tt() 704.65/185.68 , s(X) -> n__s(X) 704.65/185.68 , 0() -> n__0() } 704.65/185.68 Obligation: 704.65/185.68 innermost runtime complexity 704.65/185.68 Answer: 704.65/185.68 YES(O(1),O(n^1)) 704.65/185.68 704.65/185.68 The following weak DPs constitute a sub-graph of the DG that is 704.65/185.68 closed under successors. The DPs are removed. 704.65/185.68 704.65/185.68 { U71^#(tt(), N) -> c_24(isNatKind^#(activate(N))) 704.65/185.68 , U91^#(tt(), N) -> c_28(isNatKind^#(activate(N))) } 704.65/185.68 704.65/185.68 We are left with following problem, upon which TcT provides the 704.65/185.68 certificate YES(O(1),O(n^1)). 704.65/185.68 704.65/185.68 Strict DPs: 704.65/185.68 { U103^#(tt(), M, N) -> c_6(isNatKind^#(activate(N))) 704.65/185.68 , isNat^#(n__plus(V1, V2)) -> 704.65/185.68 c_7(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.68 isNatKind^#(activate(V1))) 704.65/185.68 , isNat^#(n__s(V1)) -> 704.65/185.68 c_8(U21^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.68 isNatKind^#(activate(V1))) 704.65/185.68 , isNat^#(n__x(V1, V2)) -> 704.65/185.68 c_9(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.68 isNatKind^#(activate(V1))) 704.65/185.68 , U83^#(tt(), M, N) -> c_27(isNatKind^#(activate(N))) } 704.65/185.68 Weak DPs: 704.65/185.68 { U101^#(tt(), M, N) -> 704.65/185.68 c_1(U102^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.68 isNatKind^#(activate(M))) 704.65/185.68 , U102^#(tt(), M, N) -> 704.65/185.68 c_2(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.68 isNat^#(activate(N))) 704.65/185.68 , U11^#(tt(), V1, V2) -> 704.65/185.68 c_12(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.68 isNatKind^#(activate(V1))) 704.65/185.68 , U21^#(tt(), V1) -> 704.65/185.68 c_13(U22^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.68 isNatKind^#(activate(V1))) 704.65/185.68 , U31^#(tt(), V1, V2) -> 704.65/185.68 c_14(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.68 isNatKind^#(activate(V1))) 704.65/185.68 , U12^#(tt(), V1, V2) -> 704.65/185.68 c_15(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.68 isNatKind^#(activate(V2))) 704.65/185.68 , U13^#(tt(), V1, V2) -> 704.65/185.68 c_16(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.68 isNatKind^#(activate(V2))) 704.65/185.68 , U14^#(tt(), V1, V2) -> 704.65/185.68 c_17(U15^#(isNat(activate(V1)), activate(V2)), 704.65/185.68 isNat^#(activate(V1))) 704.65/185.68 , U15^#(tt(), V2) -> c_18(isNat^#(activate(V2))) 704.65/185.68 , U22^#(tt(), V1) -> c_19(isNat^#(activate(V1))) 704.65/185.68 , U32^#(tt(), V1, V2) -> 704.65/185.68 c_20(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.68 isNatKind^#(activate(V2))) 704.65/185.68 , U33^#(tt(), V1, V2) -> 704.65/185.68 c_21(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.68 isNatKind^#(activate(V2))) 704.65/185.68 , U34^#(tt(), V1, V2) -> 704.65/185.68 c_22(U35^#(isNat(activate(V1)), activate(V2)), 704.65/185.68 isNat^#(activate(V1))) 704.65/185.68 , U35^#(tt(), V2) -> c_23(isNat^#(activate(V2))) 704.65/185.68 , U81^#(tt(), M, N) -> 704.65/185.68 c_25(U82^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.68 isNatKind^#(activate(M))) 704.65/185.68 , U82^#(tt(), M, N) -> 704.65/185.68 c_26(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.68 isNat^#(activate(N))) } 704.65/185.68 Weak Trs: 704.65/185.68 { isNatKind(n__0()) -> tt() 704.65/185.68 , isNatKind(n__plus(V1, V2)) -> 704.65/185.68 U41(isNatKind(activate(V1)), activate(V2)) 704.65/185.68 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.65/185.68 , isNatKind(n__x(V1, V2)) -> 704.65/185.68 U61(isNatKind(activate(V1)), activate(V2)) 704.65/185.68 , activate(X) -> X 704.65/185.68 , activate(n__0()) -> 0() 704.65/185.68 , activate(n__plus(X1, X2)) -> plus(X1, X2) 704.65/185.68 , activate(n__s(X)) -> s(X) 704.65/185.68 , activate(n__x(X1, X2)) -> x(X1, X2) 704.65/185.68 , isNat(n__0()) -> tt() 704.65/185.68 , isNat(n__plus(V1, V2)) -> 704.65/185.68 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.68 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 704.65/185.68 , isNat(n__x(V1, V2)) -> 704.65/185.68 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.68 , plus(X1, X2) -> n__plus(X1, X2) 704.65/185.68 , x(X1, X2) -> n__x(X1, X2) 704.65/185.68 , U11(tt(), V1, V2) -> 704.65/185.68 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.68 , U12(tt(), V1, V2) -> 704.65/185.68 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.68 , U13(tt(), V1, V2) -> 704.65/185.68 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.68 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 704.65/185.68 , U15(tt(), V2) -> U16(isNat(activate(V2))) 704.65/185.68 , U16(tt()) -> tt() 704.65/185.68 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 704.65/185.68 , U22(tt(), V1) -> U23(isNat(activate(V1))) 704.65/185.68 , U23(tt()) -> tt() 704.65/185.68 , U31(tt(), V1, V2) -> 704.65/185.68 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.68 , U32(tt(), V1, V2) -> 704.65/185.68 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.68 , U33(tt(), V1, V2) -> 704.65/185.68 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.68 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 704.65/185.68 , U35(tt(), V2) -> U36(isNat(activate(V2))) 704.65/185.68 , U36(tt()) -> tt() 704.65/185.68 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 704.65/185.68 , U42(tt()) -> tt() 704.65/185.68 , U51(tt()) -> tt() 704.65/185.68 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 704.65/185.68 , U62(tt()) -> tt() 704.65/185.68 , s(X) -> n__s(X) 704.65/185.68 , 0() -> n__0() } 704.65/185.68 Obligation: 704.65/185.68 innermost runtime complexity 704.65/185.68 Answer: 704.65/185.68 YES(O(1),O(n^1)) 704.65/185.68 704.65/185.68 Due to missing edges in the dependency-graph, the right-hand sides 704.65/185.68 of following rules could be simplified: 704.65/185.68 704.65/185.68 { U101^#(tt(), M, N) -> 704.65/185.68 c_1(U102^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.68 isNatKind^#(activate(M))) 704.65/185.68 , U103^#(tt(), M, N) -> c_6(isNatKind^#(activate(N))) 704.65/185.68 , isNat^#(n__plus(V1, V2)) -> 704.65/185.68 c_7(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.68 isNatKind^#(activate(V1))) 704.65/185.68 , isNat^#(n__s(V1)) -> 704.65/185.68 c_8(U21^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.68 isNatKind^#(activate(V1))) 704.65/185.68 , isNat^#(n__x(V1, V2)) -> 704.65/185.68 c_9(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.68 isNatKind^#(activate(V1))) 704.65/185.68 , U11^#(tt(), V1, V2) -> 704.65/185.68 c_12(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.68 isNatKind^#(activate(V1))) 704.65/185.68 , U21^#(tt(), V1) -> 704.65/185.68 c_13(U22^#(isNatKind(activate(V1)), activate(V1)), 704.65/185.68 isNatKind^#(activate(V1))) 704.65/185.68 , U31^#(tt(), V1, V2) -> 704.65/185.68 c_14(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.65/185.68 isNatKind^#(activate(V1))) 704.65/185.68 , U12^#(tt(), V1, V2) -> 704.65/185.68 c_15(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.68 isNatKind^#(activate(V2))) 704.65/185.68 , U13^#(tt(), V1, V2) -> 704.65/185.68 c_16(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.68 isNatKind^#(activate(V2))) 704.65/185.68 , U32^#(tt(), V1, V2) -> 704.65/185.68 c_20(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.68 isNatKind^#(activate(V2))) 704.65/185.68 , U33^#(tt(), V1, V2) -> 704.65/185.68 c_21(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.65/185.68 isNatKind^#(activate(V2))) 704.65/185.68 , U81^#(tt(), M, N) -> 704.65/185.68 c_25(U82^#(isNatKind(activate(M)), activate(M), activate(N)), 704.65/185.68 isNatKind^#(activate(M))) 704.65/185.68 , U83^#(tt(), M, N) -> c_27(isNatKind^#(activate(N))) } 704.65/185.68 704.65/185.68 We are left with following problem, upon which TcT provides the 704.65/185.68 certificate YES(O(1),O(n^1)). 704.65/185.68 704.65/185.68 Strict DPs: 704.65/185.68 { U103^#(tt(), M, N) -> c_1() 704.65/185.68 , isNat^#(n__plus(V1, V2)) -> 704.65/185.68 c_2(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.65/185.68 , isNat^#(n__s(V1)) -> 704.65/185.68 c_3(U21^#(isNatKind(activate(V1)), activate(V1))) 704.65/185.68 , isNat^#(n__x(V1, V2)) -> 704.65/185.68 c_4(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.65/185.68 , U83^#(tt(), M, N) -> c_5() } 704.65/185.68 Weak DPs: 704.65/185.68 { U101^#(tt(), M, N) -> 704.65/185.68 c_6(U102^#(isNatKind(activate(M)), activate(M), activate(N))) 704.65/185.68 , U102^#(tt(), M, N) -> 704.65/185.68 c_7(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.68 isNat^#(activate(N))) 704.65/185.68 , U11^#(tt(), V1, V2) -> 704.65/185.68 c_8(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.65/185.68 , U21^#(tt(), V1) -> 704.65/185.68 c_9(U22^#(isNatKind(activate(V1)), activate(V1))) 704.65/185.68 , U31^#(tt(), V1, V2) -> 704.65/185.68 c_10(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.65/185.68 , U12^#(tt(), V1, V2) -> 704.65/185.68 c_11(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.65/185.68 , U13^#(tt(), V1, V2) -> 704.65/185.68 c_12(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.65/185.69 , U14^#(tt(), V1, V2) -> 704.65/185.69 c_13(U15^#(isNat(activate(V1)), activate(V2)), 704.65/185.69 isNat^#(activate(V1))) 704.65/185.69 , U15^#(tt(), V2) -> c_14(isNat^#(activate(V2))) 704.65/185.69 , U22^#(tt(), V1) -> c_15(isNat^#(activate(V1))) 704.65/185.69 , U32^#(tt(), V1, V2) -> 704.65/185.69 c_16(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.65/185.69 , U33^#(tt(), V1, V2) -> 704.65/185.69 c_17(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.65/185.69 , U34^#(tt(), V1, V2) -> 704.65/185.69 c_18(U35^#(isNat(activate(V1)), activate(V2)), 704.65/185.69 isNat^#(activate(V1))) 704.65/185.69 , U35^#(tt(), V2) -> c_19(isNat^#(activate(V2))) 704.65/185.69 , U81^#(tt(), M, N) -> 704.65/185.69 c_20(U82^#(isNatKind(activate(M)), activate(M), activate(N))) 704.65/185.69 , U82^#(tt(), M, N) -> 704.65/185.69 c_21(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.69 isNat^#(activate(N))) } 704.65/185.69 Weak Trs: 704.65/185.69 { isNatKind(n__0()) -> tt() 704.65/185.69 , isNatKind(n__plus(V1, V2)) -> 704.65/185.69 U41(isNatKind(activate(V1)), activate(V2)) 704.65/185.69 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.65/185.69 , isNatKind(n__x(V1, V2)) -> 704.65/185.69 U61(isNatKind(activate(V1)), activate(V2)) 704.65/185.69 , activate(X) -> X 704.65/185.69 , activate(n__0()) -> 0() 704.65/185.69 , activate(n__plus(X1, X2)) -> plus(X1, X2) 704.65/185.69 , activate(n__s(X)) -> s(X) 704.65/185.69 , activate(n__x(X1, X2)) -> x(X1, X2) 704.65/185.69 , isNat(n__0()) -> tt() 704.65/185.69 , isNat(n__plus(V1, V2)) -> 704.65/185.69 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.69 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 704.65/185.69 , isNat(n__x(V1, V2)) -> 704.65/185.69 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.69 , plus(X1, X2) -> n__plus(X1, X2) 704.65/185.69 , x(X1, X2) -> n__x(X1, X2) 704.65/185.69 , U11(tt(), V1, V2) -> 704.65/185.69 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.69 , U12(tt(), V1, V2) -> 704.65/185.69 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.69 , U13(tt(), V1, V2) -> 704.65/185.69 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.69 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 704.65/185.69 , U15(tt(), V2) -> U16(isNat(activate(V2))) 704.65/185.69 , U16(tt()) -> tt() 704.65/185.69 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 704.65/185.69 , U22(tt(), V1) -> U23(isNat(activate(V1))) 704.65/185.69 , U23(tt()) -> tt() 704.65/185.69 , U31(tt(), V1, V2) -> 704.65/185.69 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.69 , U32(tt(), V1, V2) -> 704.65/185.69 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.69 , U33(tt(), V1, V2) -> 704.65/185.69 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.65/185.69 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 704.65/185.69 , U35(tt(), V2) -> U36(isNat(activate(V2))) 704.65/185.69 , U36(tt()) -> tt() 704.65/185.69 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 704.65/185.69 , U42(tt()) -> tt() 704.65/185.69 , U51(tt()) -> tt() 704.65/185.69 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 704.65/185.69 , U62(tt()) -> tt() 704.65/185.69 , s(X) -> n__s(X) 704.65/185.69 , 0() -> n__0() } 704.65/185.69 Obligation: 704.65/185.69 innermost runtime complexity 704.65/185.69 Answer: 704.65/185.69 YES(O(1),O(n^1)) 704.65/185.69 704.65/185.69 We use the processor 'matrix interpretation of dimension 1' to 704.65/185.69 orient following rules strictly. 704.65/185.69 704.65/185.69 DPs: 704.65/185.69 { 6: U101^#(tt(), M, N) -> 704.65/185.69 c_6(U102^#(isNatKind(activate(M)), activate(M), activate(N))) 704.65/185.69 , 20: U81^#(tt(), M, N) -> 704.65/185.69 c_20(U82^#(isNatKind(activate(M)), activate(M), activate(N))) } 704.65/185.69 704.65/185.69 Sub-proof: 704.65/185.69 ---------- 704.65/185.69 The following argument positions are usable: 704.65/185.69 Uargs(c_2) = {1}, Uargs(c_3) = {1}, Uargs(c_4) = {1}, 704.65/185.69 Uargs(c_6) = {1}, Uargs(c_7) = {1, 2}, Uargs(c_8) = {1}, 704.65/185.69 Uargs(c_9) = {1}, Uargs(c_10) = {1}, Uargs(c_11) = {1}, 704.65/185.69 Uargs(c_12) = {1}, Uargs(c_13) = {1, 2}, Uargs(c_14) = {1}, 704.65/185.69 Uargs(c_15) = {1}, Uargs(c_16) = {1}, Uargs(c_17) = {1}, 704.65/185.69 Uargs(c_18) = {1, 2}, Uargs(c_19) = {1}, Uargs(c_20) = {1}, 704.65/185.69 Uargs(c_21) = {1, 2} 704.65/185.69 704.65/185.69 TcT has computed the following constructor-restricted matrix 704.65/185.69 interpretation. Note that the diagonal of the component-wise maxima 704.65/185.69 of interpretation-entries (of constructors) contains no more than 0 704.65/185.69 non-zero entries. 704.65/185.69 704.65/185.69 [tt] = [0] 704.65/185.69 704.65/185.69 [isNatKind](x1) = [0] 704.65/185.69 704.65/185.69 [activate](x1) = [1] x1 + [0] 704.65/185.69 704.65/185.69 [isNat](x1) = [0] 704.65/185.69 704.65/185.69 [plus](x1, x2) = [0] 704.65/185.69 704.65/185.69 [x](x1, x2) = [0] 704.65/185.69 704.65/185.69 [U11](x1, x2, x3) = [0] 704.65/185.69 704.65/185.69 [U12](x1, x2, x3) = [0] 704.65/185.69 704.65/185.69 [U13](x1, x2, x3) = [0] 704.65/185.69 704.65/185.69 [U14](x1, x2, x3) = [0] 704.65/185.69 704.65/185.69 [U15](x1, x2) = [0] 704.65/185.69 704.65/185.69 [U16](x1) = [0] 704.65/185.69 704.65/185.69 [U21](x1, x2) = [0] 704.65/185.69 704.65/185.69 [U22](x1, x2) = [0] 704.65/185.69 704.65/185.69 [U23](x1) = [0] 704.65/185.69 704.65/185.69 [U31](x1, x2, x3) = [0] 704.65/185.69 704.65/185.69 [U32](x1, x2, x3) = [0] 704.65/185.69 704.65/185.69 [U33](x1, x2, x3) = [0] 704.65/185.69 704.65/185.69 [U34](x1, x2, x3) = [0] 704.65/185.69 704.65/185.69 [U35](x1, x2) = [0] 704.65/185.69 704.65/185.69 [U36](x1) = [0] 704.65/185.69 704.65/185.69 [U41](x1, x2) = [0] 704.65/185.69 704.65/185.69 [U42](x1) = [0] 704.65/185.69 704.65/185.69 [U51](x1) = [0] 704.65/185.69 704.65/185.69 [U61](x1, x2) = [0] 704.65/185.69 704.65/185.69 [U62](x1) = [0] 704.65/185.69 704.65/185.69 [s](x1) = [0] 704.65/185.69 704.65/185.69 [0] = [0] 704.65/185.69 704.65/185.69 [n__0] = [0] 704.65/185.69 704.65/185.69 [n__plus](x1, x2) = [0] 704.65/185.69 704.65/185.69 [n__s](x1) = [0] 704.65/185.69 704.65/185.69 [n__x](x1, x2) = [0] 704.65/185.69 704.65/185.69 [U101^#](x1, x2, x3) = [7] x1 + [7] x2 + [7] x3 + [7] 704.65/185.69 704.65/185.69 [U102^#](x1, x2, x3) = [4] x2 + [4] x3 + [0] 704.65/185.69 704.65/185.69 [isNatKind^#](x1) = [0] 704.65/185.69 704.65/185.69 [U103^#](x1, x2, x3) = [0] 704.65/185.69 704.65/185.69 [isNat^#](x1) = [0] 704.65/185.69 704.65/185.69 [U11^#](x1, x2, x3) = [0] 704.65/185.69 704.65/185.69 [U21^#](x1, x2) = [0] 704.65/185.69 704.65/185.69 [U31^#](x1, x2, x3) = [0] 704.65/185.69 704.65/185.69 [U12^#](x1, x2, x3) = [0] 704.65/185.69 704.65/185.69 [U13^#](x1, x2, x3) = [0] 704.65/185.69 704.65/185.69 [U14^#](x1, x2, x3) = [0] 704.65/185.69 704.65/185.69 [U15^#](x1, x2) = [0] 704.65/185.69 704.65/185.69 [U22^#](x1, x2) = [0] 704.65/185.69 704.65/185.69 [U32^#](x1, x2, x3) = [0] 704.65/185.69 704.65/185.69 [U33^#](x1, x2, x3) = [0] 704.65/185.69 704.65/185.69 [U34^#](x1, x2, x3) = [0] 704.65/185.69 704.65/185.69 [U35^#](x1, x2) = [0] 704.65/185.69 704.65/185.69 [U71^#](x1, x2) = [0] 704.65/185.69 704.65/185.69 [U81^#](x1, x2, x3) = [7] x1 + [7] x2 + [7] x3 + [7] 704.65/185.69 704.65/185.69 [U82^#](x1, x2, x3) = [4] x3 + [0] 704.65/185.69 704.65/185.69 [U83^#](x1, x2, x3) = [0] 704.65/185.69 704.65/185.69 [U91^#](x1, x2) = [0] 704.65/185.69 704.65/185.69 [c_1](x1, x2) = [0] 704.65/185.69 704.65/185.69 [c_2](x1, x2) = [0] 704.65/185.69 704.65/185.69 [c_6](x1) = [0] 704.65/185.69 704.65/185.69 [c_7](x1, x2) = [0] 704.65/185.69 704.65/185.69 [c_8](x1, x2) = [0] 704.65/185.69 704.65/185.69 [c_9](x1, x2) = [0] 704.65/185.69 704.65/185.69 [c_12](x1, x2) = [0] 704.65/185.69 704.65/185.69 [c_13](x1, x2) = [0] 704.65/185.69 704.65/185.69 [c_14](x1, x2) = [0] 704.65/185.69 704.65/185.69 [c_15](x1, x2) = [0] 704.65/185.69 704.65/185.69 [c_16](x1, x2) = [0] 704.65/185.69 704.65/185.69 [c_17](x1, x2) = [0] 704.65/185.69 704.65/185.69 [c_18](x1) = [0] 704.65/185.69 704.65/185.69 [c_19](x1) = [0] 704.65/185.69 704.65/185.69 [c_20](x1, x2) = [0] 704.65/185.69 704.65/185.69 [c_21](x1, x2) = [0] 704.65/185.69 704.65/185.69 [c_22](x1, x2) = [0] 704.65/185.69 704.65/185.69 [c_23](x1) = [0] 704.65/185.69 704.65/185.69 [c_24](x1) = [0] 704.65/185.69 704.65/185.69 [c_25](x1, x2) = [0] 704.65/185.69 704.65/185.69 [c_26](x1, x2) = [0] 704.65/185.69 704.65/185.69 [c_27](x1) = [0] 704.65/185.69 704.65/185.69 [c_28](x1) = [0] 704.65/185.69 704.65/185.69 [c] = [0] 704.65/185.69 704.65/185.69 [c_1] = [0] 704.65/185.69 704.65/185.69 [c_2](x1) = [4] x1 + [0] 704.65/185.69 704.65/185.69 [c_3](x1) = [1] x1 + [0] 704.65/185.69 704.65/185.69 [c_4](x1) = [1] x1 + [0] 704.65/185.69 704.65/185.69 [c_5] = [0] 704.65/185.69 704.65/185.69 [c_6](x1) = [1] x1 + [3] 704.65/185.69 704.65/185.69 [c_7](x1, x2) = [4] x1 + [4] x2 + [0] 704.65/185.69 704.65/185.69 [c_8](x1) = [4] x1 + [0] 704.65/185.69 704.65/185.69 [c_9](x1) = [4] x1 + [0] 704.65/185.69 704.65/185.69 [c_10](x1) = [2] x1 + [0] 704.65/185.69 704.65/185.69 [c_11](x1) = [4] x1 + [0] 704.65/185.69 704.65/185.69 [c_12](x1) = [4] x1 + [0] 704.65/185.69 704.65/185.69 [c_13](x1, x2) = [4] x1 + [4] x2 + [0] 704.65/185.69 704.65/185.69 [c_14](x1) = [4] x1 + [0] 704.65/185.69 704.65/185.69 [c_15](x1) = [4] x1 + [0] 704.65/185.69 704.65/185.69 [c_16](x1) = [1] x1 + [0] 704.65/185.69 704.65/185.69 [c_17](x1) = [2] x1 + [0] 704.65/185.69 704.65/185.69 [c_18](x1, x2) = [4] x1 + [4] x2 + [0] 704.65/185.69 704.65/185.69 [c_19](x1) = [4] x1 + [0] 704.65/185.69 704.65/185.69 [c_20](x1) = [1] x1 + [3] 704.65/185.69 704.65/185.69 [c_21](x1, x2) = [4] x1 + [4] x2 + [0] 704.65/185.69 704.65/185.69 The order satisfies the following ordering constraints: 704.65/185.69 704.65/185.69 [isNatKind(n__0())] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [tt()] 704.65/185.69 704.65/185.69 [isNatKind(n__plus(V1, V2))] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [U41(isNatKind(activate(V1)), activate(V2))] 704.65/185.69 704.65/185.69 [isNatKind(n__s(V1))] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [U51(isNatKind(activate(V1)))] 704.65/185.69 704.65/185.69 [isNatKind(n__x(V1, V2))] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [U61(isNatKind(activate(V1)), activate(V2))] 704.65/185.69 704.65/185.69 [activate(X)] = [1] X + [0] 704.65/185.69 >= [1] X + [0] 704.65/185.69 = [X] 704.65/185.69 704.65/185.69 [activate(n__0())] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [0()] 704.65/185.69 704.65/185.69 [activate(n__plus(X1, X2))] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [plus(X1, X2)] 704.65/185.69 704.65/185.69 [activate(n__s(X))] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [s(X)] 704.65/185.69 704.65/185.69 [activate(n__x(X1, X2))] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [x(X1, X2)] 704.65/185.69 704.65/185.69 [isNat(n__0())] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [tt()] 704.65/185.69 704.65/185.69 [isNat(n__plus(V1, V2))] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [U11(isNatKind(activate(V1)), activate(V1), activate(V2))] 704.65/185.69 704.65/185.69 [isNat(n__s(V1))] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [U21(isNatKind(activate(V1)), activate(V1))] 704.65/185.69 704.65/185.69 [isNat(n__x(V1, V2))] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [U31(isNatKind(activate(V1)), activate(V1), activate(V2))] 704.65/185.69 704.65/185.69 [plus(X1, X2)] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [n__plus(X1, X2)] 704.65/185.69 704.65/185.69 [x(X1, X2)] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [n__x(X1, X2)] 704.65/185.69 704.65/185.69 [U11(tt(), V1, V2)] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [U12(isNatKind(activate(V1)), activate(V1), activate(V2))] 704.65/185.69 704.65/185.69 [U12(tt(), V1, V2)] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [U13(isNatKind(activate(V2)), activate(V1), activate(V2))] 704.65/185.69 704.65/185.69 [U13(tt(), V1, V2)] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [U14(isNatKind(activate(V2)), activate(V1), activate(V2))] 704.65/185.69 704.65/185.69 [U14(tt(), V1, V2)] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [U15(isNat(activate(V1)), activate(V2))] 704.65/185.69 704.65/185.69 [U15(tt(), V2)] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [U16(isNat(activate(V2)))] 704.65/185.69 704.65/185.69 [U16(tt())] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [tt()] 704.65/185.69 704.65/185.69 [U21(tt(), V1)] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [U22(isNatKind(activate(V1)), activate(V1))] 704.65/185.69 704.65/185.69 [U22(tt(), V1)] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [U23(isNat(activate(V1)))] 704.65/185.69 704.65/185.69 [U23(tt())] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [tt()] 704.65/185.69 704.65/185.69 [U31(tt(), V1, V2)] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [U32(isNatKind(activate(V1)), activate(V1), activate(V2))] 704.65/185.69 704.65/185.69 [U32(tt(), V1, V2)] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [U33(isNatKind(activate(V2)), activate(V1), activate(V2))] 704.65/185.69 704.65/185.69 [U33(tt(), V1, V2)] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [U34(isNatKind(activate(V2)), activate(V1), activate(V2))] 704.65/185.69 704.65/185.69 [U34(tt(), V1, V2)] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [U35(isNat(activate(V1)), activate(V2))] 704.65/185.69 704.65/185.69 [U35(tt(), V2)] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [U36(isNat(activate(V2)))] 704.65/185.69 704.65/185.69 [U36(tt())] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [tt()] 704.65/185.69 704.65/185.69 [U41(tt(), V2)] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [U42(isNatKind(activate(V2)))] 704.65/185.69 704.65/185.69 [U42(tt())] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [tt()] 704.65/185.69 704.65/185.69 [U51(tt())] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [tt()] 704.65/185.69 704.65/185.69 [U61(tt(), V2)] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [U62(isNatKind(activate(V2)))] 704.65/185.69 704.65/185.69 [U62(tt())] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [tt()] 704.65/185.69 704.65/185.69 [s(X)] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [n__s(X)] 704.65/185.69 704.65/185.69 [0()] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [n__0()] 704.65/185.69 704.65/185.69 [U101^#(tt(), M, N)] = [7] M + [7] N + [7] 704.65/185.69 > [4] M + [4] N + [3] 704.65/185.69 = [c_6(U102^#(isNatKind(activate(M)), activate(M), activate(N)))] 704.65/185.69 704.65/185.69 [U102^#(tt(), M, N)] = [4] M + [4] N + [0] 704.65/185.69 >= [0] 704.65/185.69 = [c_7(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.69 isNat^#(activate(N)))] 704.65/185.69 704.65/185.69 [U103^#(tt(), M, N)] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [c_1()] 704.65/185.69 704.65/185.69 [isNat^#(n__plus(V1, V2))] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [c_2(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)))] 704.65/185.69 704.65/185.69 [isNat^#(n__s(V1))] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [c_3(U21^#(isNatKind(activate(V1)), activate(V1)))] 704.65/185.69 704.65/185.69 [isNat^#(n__x(V1, V2))] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [c_4(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)))] 704.65/185.69 704.65/185.69 [U11^#(tt(), V1, V2)] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [c_8(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)))] 704.65/185.69 704.65/185.69 [U21^#(tt(), V1)] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [c_9(U22^#(isNatKind(activate(V1)), activate(V1)))] 704.65/185.69 704.65/185.69 [U31^#(tt(), V1, V2)] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [c_10(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)))] 704.65/185.69 704.65/185.69 [U12^#(tt(), V1, V2)] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [c_11(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)))] 704.65/185.69 704.65/185.69 [U13^#(tt(), V1, V2)] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [c_12(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)))] 704.65/185.69 704.65/185.69 [U14^#(tt(), V1, V2)] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [c_13(U15^#(isNat(activate(V1)), activate(V2)), 704.65/185.69 isNat^#(activate(V1)))] 704.65/185.69 704.65/185.69 [U15^#(tt(), V2)] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [c_14(isNat^#(activate(V2)))] 704.65/185.69 704.65/185.69 [U22^#(tt(), V1)] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [c_15(isNat^#(activate(V1)))] 704.65/185.69 704.65/185.69 [U32^#(tt(), V1, V2)] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [c_16(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)))] 704.65/185.69 704.65/185.69 [U33^#(tt(), V1, V2)] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [c_17(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)))] 704.65/185.69 704.65/185.69 [U34^#(tt(), V1, V2)] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [c_18(U35^#(isNat(activate(V1)), activate(V2)), 704.65/185.69 isNat^#(activate(V1)))] 704.65/185.69 704.65/185.69 [U35^#(tt(), V2)] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [c_19(isNat^#(activate(V2)))] 704.65/185.69 704.65/185.69 [U81^#(tt(), M, N)] = [7] M + [7] N + [7] 704.65/185.69 > [4] N + [3] 704.65/185.69 = [c_20(U82^#(isNatKind(activate(M)), activate(M), activate(N)))] 704.65/185.69 704.65/185.69 [U82^#(tt(), M, N)] = [4] N + [0] 704.65/185.69 >= [0] 704.65/185.69 = [c_21(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.69 isNat^#(activate(N)))] 704.65/185.69 704.65/185.69 [U83^#(tt(), M, N)] = [0] 704.65/185.69 >= [0] 704.65/185.69 = [c_5()] 704.65/185.69 704.65/185.69 704.65/185.69 We return to the main proof. Consider the set of all dependency 704.65/185.69 pairs 704.65/185.69 704.65/185.69 : 704.65/185.69 { 1: U103^#(tt(), M, N) -> c_1() 704.65/185.69 , 2: isNat^#(n__plus(V1, V2)) -> 704.65/185.69 c_2(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.65/185.69 , 3: isNat^#(n__s(V1)) -> 704.65/185.69 c_3(U21^#(isNatKind(activate(V1)), activate(V1))) 704.65/185.69 , 4: isNat^#(n__x(V1, V2)) -> 704.65/185.69 c_4(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.65/185.69 , 5: U83^#(tt(), M, N) -> c_5() 704.65/185.69 , 6: U101^#(tt(), M, N) -> 704.65/185.69 c_6(U102^#(isNatKind(activate(M)), activate(M), activate(N))) 704.65/185.69 , 7: U102^#(tt(), M, N) -> 704.65/185.69 c_7(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.69 isNat^#(activate(N))) 704.65/185.69 , 8: U11^#(tt(), V1, V2) -> 704.65/185.69 c_8(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.65/185.69 , 9: U21^#(tt(), V1) -> 704.65/185.69 c_9(U22^#(isNatKind(activate(V1)), activate(V1))) 704.65/185.69 , 10: U31^#(tt(), V1, V2) -> 704.65/185.69 c_10(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.65/185.69 , 11: U12^#(tt(), V1, V2) -> 704.65/185.69 c_11(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.65/185.69 , 12: U13^#(tt(), V1, V2) -> 704.65/185.69 c_12(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.65/185.69 , 13: U14^#(tt(), V1, V2) -> 704.65/185.69 c_13(U15^#(isNat(activate(V1)), activate(V2)), 704.65/185.69 isNat^#(activate(V1))) 704.65/185.69 , 14: U15^#(tt(), V2) -> c_14(isNat^#(activate(V2))) 704.65/185.69 , 15: U22^#(tt(), V1) -> c_15(isNat^#(activate(V1))) 704.65/185.69 , 16: U32^#(tt(), V1, V2) -> 704.65/185.69 c_16(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.65/185.69 , 17: U33^#(tt(), V1, V2) -> 704.65/185.69 c_17(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.65/185.69 , 18: U34^#(tt(), V1, V2) -> 704.65/185.69 c_18(U35^#(isNat(activate(V1)), activate(V2)), 704.65/185.69 isNat^#(activate(V1))) 704.65/185.69 , 19: U35^#(tt(), V2) -> c_19(isNat^#(activate(V2))) 704.65/185.69 , 20: U81^#(tt(), M, N) -> 704.65/185.69 c_20(U82^#(isNatKind(activate(M)), activate(M), activate(N))) 704.65/185.69 , 21: U82^#(tt(), M, N) -> 704.65/185.69 c_21(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.69 isNat^#(activate(N))) } 704.65/185.69 704.65/185.69 Processor 'matrix interpretation of dimension 1' induces the 704.65/185.69 complexity certificate YES(?,O(1)) on application of dependency 704.65/185.69 pairs {6,20}. These cover all (indirect) predecessors of dependency 704.65/185.69 pairs {1,5,6,7,20,21}, their number of application is equally 704.65/185.69 bounded. The dependency pairs are shifted into the weak component. 704.65/185.69 704.65/185.69 We are left with following problem, upon which TcT provides the 704.65/185.69 certificate YES(O(1),O(n^1)). 704.65/185.69 704.65/185.69 Strict DPs: 704.65/185.69 { isNat^#(n__plus(V1, V2)) -> 704.65/185.69 c_2(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.65/185.69 , isNat^#(n__s(V1)) -> 704.65/185.69 c_3(U21^#(isNatKind(activate(V1)), activate(V1))) 704.65/185.69 , isNat^#(n__x(V1, V2)) -> 704.65/185.69 c_4(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2))) } 704.65/185.69 Weak DPs: 704.65/185.69 { U101^#(tt(), M, N) -> 704.65/185.69 c_6(U102^#(isNatKind(activate(M)), activate(M), activate(N))) 704.65/185.69 , U102^#(tt(), M, N) -> 704.65/185.69 c_7(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.69 isNat^#(activate(N))) 704.65/185.69 , U103^#(tt(), M, N) -> c_1() 704.65/185.69 , U11^#(tt(), V1, V2) -> 704.65/185.69 c_8(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.65/185.69 , U21^#(tt(), V1) -> 704.65/185.69 c_9(U22^#(isNatKind(activate(V1)), activate(V1))) 704.65/185.69 , U31^#(tt(), V1, V2) -> 704.65/185.69 c_10(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.65/185.69 , U12^#(tt(), V1, V2) -> 704.65/185.69 c_11(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.65/185.69 , U13^#(tt(), V1, V2) -> 704.65/185.69 c_12(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.65/185.69 , U14^#(tt(), V1, V2) -> 704.65/185.69 c_13(U15^#(isNat(activate(V1)), activate(V2)), 704.65/185.69 isNat^#(activate(V1))) 704.65/185.69 , U15^#(tt(), V2) -> c_14(isNat^#(activate(V2))) 704.65/185.69 , U22^#(tt(), V1) -> c_15(isNat^#(activate(V1))) 704.65/185.69 , U32^#(tt(), V1, V2) -> 704.65/185.69 c_16(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.65/185.69 , U33^#(tt(), V1, V2) -> 704.65/185.69 c_17(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.65/185.69 , U34^#(tt(), V1, V2) -> 704.65/185.69 c_18(U35^#(isNat(activate(V1)), activate(V2)), 704.65/185.69 isNat^#(activate(V1))) 704.65/185.69 , U35^#(tt(), V2) -> c_19(isNat^#(activate(V2))) 704.65/185.69 , U81^#(tt(), M, N) -> 704.65/185.69 c_20(U82^#(isNatKind(activate(M)), activate(M), activate(N))) 704.65/185.69 , U82^#(tt(), M, N) -> 704.65/185.69 c_21(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.65/185.69 isNat^#(activate(N))) 704.65/185.69 , U83^#(tt(), M, N) -> c_5() } 704.65/185.69 Weak Trs: 704.65/185.69 { isNatKind(n__0()) -> tt() 704.65/185.69 , isNatKind(n__plus(V1, V2)) -> 704.65/185.69 U41(isNatKind(activate(V1)), activate(V2)) 704.65/185.69 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.65/185.69 , isNatKind(n__x(V1, V2)) -> 704.65/185.69 U61(isNatKind(activate(V1)), activate(V2)) 704.65/185.69 , activate(X) -> X 704.65/185.69 , activate(n__0()) -> 0() 704.65/185.69 , activate(n__plus(X1, X2)) -> plus(X1, X2) 704.65/185.69 , activate(n__s(X)) -> s(X) 704.65/185.69 , activate(n__x(X1, X2)) -> x(X1, X2) 704.65/185.69 , isNat(n__0()) -> tt() 704.65/185.69 , isNat(n__plus(V1, V2)) -> 704.65/185.69 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.65/185.69 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 704.90/185.70 , isNat(n__x(V1, V2)) -> 704.90/185.70 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.70 , plus(X1, X2) -> n__plus(X1, X2) 704.90/185.70 , x(X1, X2) -> n__x(X1, X2) 704.90/185.70 , U11(tt(), V1, V2) -> 704.90/185.70 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.70 , U12(tt(), V1, V2) -> 704.90/185.70 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.70 , U13(tt(), V1, V2) -> 704.90/185.70 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.70 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 704.90/185.70 , U15(tt(), V2) -> U16(isNat(activate(V2))) 704.90/185.70 , U16(tt()) -> tt() 704.90/185.70 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 704.90/185.70 , U22(tt(), V1) -> U23(isNat(activate(V1))) 704.90/185.70 , U23(tt()) -> tt() 704.90/185.70 , U31(tt(), V1, V2) -> 704.90/185.70 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.70 , U32(tt(), V1, V2) -> 704.90/185.70 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.70 , U33(tt(), V1, V2) -> 704.90/185.70 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.70 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 704.90/185.70 , U35(tt(), V2) -> U36(isNat(activate(V2))) 704.90/185.70 , U36(tt()) -> tt() 704.90/185.70 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 704.90/185.70 , U42(tt()) -> tt() 704.90/185.70 , U51(tt()) -> tt() 704.90/185.70 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 704.90/185.70 , U62(tt()) -> tt() 704.90/185.70 , s(X) -> n__s(X) 704.90/185.70 , 0() -> n__0() } 704.90/185.70 Obligation: 704.90/185.70 innermost runtime complexity 704.90/185.70 Answer: 704.90/185.70 YES(O(1),O(n^1)) 704.90/185.70 704.90/185.70 The following weak DPs constitute a sub-graph of the DG that is 704.90/185.70 closed under successors. The DPs are removed. 704.90/185.70 704.90/185.70 { U103^#(tt(), M, N) -> c_1() 704.90/185.70 , U83^#(tt(), M, N) -> c_5() } 704.90/185.70 704.90/185.70 We are left with following problem, upon which TcT provides the 704.90/185.70 certificate YES(O(1),O(n^1)). 704.90/185.70 704.90/185.70 Strict DPs: 704.90/185.70 { isNat^#(n__plus(V1, V2)) -> 704.90/185.70 c_2(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.70 , isNat^#(n__s(V1)) -> 704.90/185.70 c_3(U21^#(isNatKind(activate(V1)), activate(V1))) 704.90/185.70 , isNat^#(n__x(V1, V2)) -> 704.90/185.70 c_4(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2))) } 704.90/185.70 Weak DPs: 704.90/185.70 { U101^#(tt(), M, N) -> 704.90/185.70 c_6(U102^#(isNatKind(activate(M)), activate(M), activate(N))) 704.90/185.70 , U102^#(tt(), M, N) -> 704.90/185.70 c_7(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.90/185.70 isNat^#(activate(N))) 704.90/185.70 , U11^#(tt(), V1, V2) -> 704.90/185.70 c_8(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.70 , U21^#(tt(), V1) -> 704.90/185.70 c_9(U22^#(isNatKind(activate(V1)), activate(V1))) 704.90/185.70 , U31^#(tt(), V1, V2) -> 704.90/185.70 c_10(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.70 , U12^#(tt(), V1, V2) -> 704.90/185.70 c_11(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.70 , U13^#(tt(), V1, V2) -> 704.90/185.70 c_12(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.70 , U14^#(tt(), V1, V2) -> 704.90/185.70 c_13(U15^#(isNat(activate(V1)), activate(V2)), 704.90/185.70 isNat^#(activate(V1))) 704.90/185.70 , U15^#(tt(), V2) -> c_14(isNat^#(activate(V2))) 704.90/185.70 , U22^#(tt(), V1) -> c_15(isNat^#(activate(V1))) 704.90/185.70 , U32^#(tt(), V1, V2) -> 704.90/185.70 c_16(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.70 , U33^#(tt(), V1, V2) -> 704.90/185.70 c_17(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.70 , U34^#(tt(), V1, V2) -> 704.90/185.70 c_18(U35^#(isNat(activate(V1)), activate(V2)), 704.90/185.70 isNat^#(activate(V1))) 704.90/185.70 , U35^#(tt(), V2) -> c_19(isNat^#(activate(V2))) 704.90/185.70 , U81^#(tt(), M, N) -> 704.90/185.70 c_20(U82^#(isNatKind(activate(M)), activate(M), activate(N))) 704.90/185.70 , U82^#(tt(), M, N) -> 704.90/185.70 c_21(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.90/185.70 isNat^#(activate(N))) } 704.90/185.70 Weak Trs: 704.90/185.70 { isNatKind(n__0()) -> tt() 704.90/185.70 , isNatKind(n__plus(V1, V2)) -> 704.90/185.70 U41(isNatKind(activate(V1)), activate(V2)) 704.90/185.70 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.90/185.70 , isNatKind(n__x(V1, V2)) -> 704.90/185.70 U61(isNatKind(activate(V1)), activate(V2)) 704.90/185.70 , activate(X) -> X 704.90/185.70 , activate(n__0()) -> 0() 704.90/185.70 , activate(n__plus(X1, X2)) -> plus(X1, X2) 704.90/185.70 , activate(n__s(X)) -> s(X) 704.90/185.70 , activate(n__x(X1, X2)) -> x(X1, X2) 704.90/185.70 , isNat(n__0()) -> tt() 704.90/185.70 , isNat(n__plus(V1, V2)) -> 704.90/185.70 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.70 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 704.90/185.70 , isNat(n__x(V1, V2)) -> 704.90/185.70 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.70 , plus(X1, X2) -> n__plus(X1, X2) 704.90/185.70 , x(X1, X2) -> n__x(X1, X2) 704.90/185.70 , U11(tt(), V1, V2) -> 704.90/185.70 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.70 , U12(tt(), V1, V2) -> 704.90/185.70 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.70 , U13(tt(), V1, V2) -> 704.90/185.70 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.70 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 704.90/185.70 , U15(tt(), V2) -> U16(isNat(activate(V2))) 704.90/185.70 , U16(tt()) -> tt() 704.90/185.70 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 704.90/185.70 , U22(tt(), V1) -> U23(isNat(activate(V1))) 704.90/185.70 , U23(tt()) -> tt() 704.90/185.70 , U31(tt(), V1, V2) -> 704.90/185.70 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.70 , U32(tt(), V1, V2) -> 704.90/185.70 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.70 , U33(tt(), V1, V2) -> 704.90/185.70 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.70 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 704.90/185.70 , U35(tt(), V2) -> U36(isNat(activate(V2))) 704.90/185.70 , U36(tt()) -> tt() 704.90/185.70 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 704.90/185.70 , U42(tt()) -> tt() 704.90/185.70 , U51(tt()) -> tt() 704.90/185.70 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 704.90/185.70 , U62(tt()) -> tt() 704.90/185.70 , s(X) -> n__s(X) 704.90/185.70 , 0() -> n__0() } 704.90/185.70 Obligation: 704.90/185.70 innermost runtime complexity 704.90/185.70 Answer: 704.90/185.70 YES(O(1),O(n^1)) 704.90/185.70 704.90/185.70 Due to missing edges in the dependency-graph, the right-hand sides 704.90/185.70 of following rules could be simplified: 704.90/185.70 704.90/185.70 { U102^#(tt(), M, N) -> 704.90/185.70 c_7(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.90/185.70 isNat^#(activate(N))) 704.90/185.70 , U82^#(tt(), M, N) -> 704.90/185.70 c_21(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.90/185.70 isNat^#(activate(N))) } 704.90/185.70 704.90/185.70 We are left with following problem, upon which TcT provides the 704.90/185.70 certificate YES(O(1),O(n^1)). 704.90/185.70 704.90/185.70 Strict DPs: 704.90/185.70 { isNat^#(n__plus(V1, V2)) -> 704.90/185.70 c_1(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.70 , isNat^#(n__s(V1)) -> 704.90/185.70 c_2(U21^#(isNatKind(activate(V1)), activate(V1))) 704.90/185.70 , isNat^#(n__x(V1, V2)) -> 704.90/185.70 c_3(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2))) } 704.90/185.70 Weak DPs: 704.90/185.70 { U101^#(tt(), M, N) -> 704.90/185.70 c_4(U102^#(isNatKind(activate(M)), activate(M), activate(N))) 704.90/185.70 , U102^#(tt(), M, N) -> c_5(isNat^#(activate(N))) 704.90/185.70 , U11^#(tt(), V1, V2) -> 704.90/185.70 c_6(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.70 , U21^#(tt(), V1) -> 704.90/185.70 c_7(U22^#(isNatKind(activate(V1)), activate(V1))) 704.90/185.70 , U31^#(tt(), V1, V2) -> 704.90/185.70 c_8(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.70 , U12^#(tt(), V1, V2) -> 704.90/185.70 c_9(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.70 , U13^#(tt(), V1, V2) -> 704.90/185.70 c_10(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.70 , U14^#(tt(), V1, V2) -> 704.90/185.70 c_11(U15^#(isNat(activate(V1)), activate(V2)), 704.90/185.70 isNat^#(activate(V1))) 704.90/185.70 , U15^#(tt(), V2) -> c_12(isNat^#(activate(V2))) 704.90/185.70 , U22^#(tt(), V1) -> c_13(isNat^#(activate(V1))) 704.90/185.70 , U32^#(tt(), V1, V2) -> 704.90/185.70 c_14(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.70 , U33^#(tt(), V1, V2) -> 704.90/185.70 c_15(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.70 , U34^#(tt(), V1, V2) -> 704.90/185.70 c_16(U35^#(isNat(activate(V1)), activate(V2)), 704.90/185.70 isNat^#(activate(V1))) 704.90/185.70 , U35^#(tt(), V2) -> c_17(isNat^#(activate(V2))) 704.90/185.70 , U81^#(tt(), M, N) -> 704.90/185.70 c_18(U82^#(isNatKind(activate(M)), activate(M), activate(N))) 704.90/185.70 , U82^#(tt(), M, N) -> c_19(isNat^#(activate(N))) } 704.90/185.70 Weak Trs: 704.90/185.70 { isNatKind(n__0()) -> tt() 704.90/185.70 , isNatKind(n__plus(V1, V2)) -> 704.90/185.70 U41(isNatKind(activate(V1)), activate(V2)) 704.90/185.70 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.90/185.70 , isNatKind(n__x(V1, V2)) -> 704.90/185.70 U61(isNatKind(activate(V1)), activate(V2)) 704.90/185.70 , activate(X) -> X 704.90/185.70 , activate(n__0()) -> 0() 704.90/185.70 , activate(n__plus(X1, X2)) -> plus(X1, X2) 704.90/185.70 , activate(n__s(X)) -> s(X) 704.90/185.70 , activate(n__x(X1, X2)) -> x(X1, X2) 704.90/185.70 , isNat(n__0()) -> tt() 704.90/185.70 , isNat(n__plus(V1, V2)) -> 704.90/185.70 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.70 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 704.90/185.70 , isNat(n__x(V1, V2)) -> 704.90/185.70 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.70 , plus(X1, X2) -> n__plus(X1, X2) 704.90/185.70 , x(X1, X2) -> n__x(X1, X2) 704.90/185.70 , U11(tt(), V1, V2) -> 704.90/185.70 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.70 , U12(tt(), V1, V2) -> 704.90/185.70 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.70 , U13(tt(), V1, V2) -> 704.90/185.70 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.70 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 704.90/185.70 , U15(tt(), V2) -> U16(isNat(activate(V2))) 704.90/185.70 , U16(tt()) -> tt() 704.90/185.70 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 704.90/185.70 , U22(tt(), V1) -> U23(isNat(activate(V1))) 704.90/185.70 , U23(tt()) -> tt() 704.90/185.70 , U31(tt(), V1, V2) -> 704.90/185.70 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.70 , U32(tt(), V1, V2) -> 704.90/185.70 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.70 , U33(tt(), V1, V2) -> 704.90/185.70 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.70 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 704.90/185.70 , U35(tt(), V2) -> U36(isNat(activate(V2))) 704.90/185.70 , U36(tt()) -> tt() 704.90/185.70 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 704.90/185.70 , U42(tt()) -> tt() 704.90/185.70 , U51(tt()) -> tt() 704.90/185.70 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 704.90/185.70 , U62(tt()) -> tt() 704.90/185.70 , s(X) -> n__s(X) 704.90/185.70 , 0() -> n__0() } 704.90/185.70 Obligation: 704.90/185.70 innermost runtime complexity 704.90/185.70 Answer: 704.90/185.70 YES(O(1),O(n^1)) 704.90/185.70 704.90/185.70 We use the processor 'matrix interpretation of dimension 1' to 704.90/185.70 orient following rules strictly. 704.90/185.70 704.90/185.70 DPs: 704.90/185.70 { 1: isNat^#(n__plus(V1, V2)) -> 704.90/185.70 c_1(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.70 , 4: U101^#(tt(), M, N) -> 704.90/185.70 c_4(U102^#(isNatKind(activate(M)), activate(M), activate(N))) 704.90/185.70 , 18: U81^#(tt(), M, N) -> 704.90/185.70 c_18(U82^#(isNatKind(activate(M)), activate(M), activate(N))) } 704.90/185.70 704.90/185.70 Sub-proof: 704.90/185.70 ---------- 704.90/185.70 The following argument positions are usable: 704.90/185.70 Uargs(c_1) = {1}, Uargs(c_2) = {1}, Uargs(c_3) = {1}, 704.90/185.70 Uargs(c_4) = {1}, Uargs(c_5) = {1}, Uargs(c_6) = {1}, 704.90/185.70 Uargs(c_7) = {1}, Uargs(c_8) = {1}, Uargs(c_9) = {1}, 704.90/185.70 Uargs(c_10) = {1}, Uargs(c_11) = {1, 2}, Uargs(c_12) = {1}, 704.90/185.70 Uargs(c_13) = {1}, Uargs(c_14) = {1}, Uargs(c_15) = {1}, 704.90/185.70 Uargs(c_16) = {1, 2}, Uargs(c_17) = {1}, Uargs(c_18) = {1}, 704.90/185.70 Uargs(c_19) = {1} 704.90/185.70 704.90/185.70 TcT has computed the following constructor-based matrix 704.90/185.70 interpretation satisfying not(EDA). 704.90/185.70 704.90/185.70 [tt] = [0] 704.90/185.70 704.90/185.70 [isNatKind](x1) = [0] 704.90/185.70 704.90/185.70 [activate](x1) = [1] x1 + [0] 704.90/185.70 704.90/185.70 [isNat](x1) = [0] 704.90/185.70 704.90/185.70 [plus](x1, x2) = [1] x1 + [1] x2 + [1] 704.90/185.70 704.90/185.70 [x](x1, x2) = [1] x1 + [1] x2 + [0] 704.90/185.70 704.90/185.70 [U11](x1, x2, x3) = [0] 704.90/185.70 704.90/185.70 [U12](x1, x2, x3) = [0] 704.90/185.70 704.90/185.70 [U13](x1, x2, x3) = [0] 704.90/185.70 704.90/185.70 [U14](x1, x2, x3) = [0] 704.90/185.70 704.90/185.70 [U15](x1, x2) = [0] 704.90/185.70 704.90/185.70 [U16](x1) = [0] 704.90/185.70 704.90/185.70 [U21](x1, x2) = [0] 704.90/185.70 704.90/185.70 [U22](x1, x2) = [0] 704.90/185.70 704.90/185.70 [U23](x1) = [0] 704.90/185.70 704.90/185.70 [U31](x1, x2, x3) = [0] 704.90/185.70 704.90/185.70 [U32](x1, x2, x3) = [0] 704.90/185.70 704.90/185.70 [U33](x1, x2, x3) = [0] 704.90/185.70 704.90/185.70 [U34](x1, x2, x3) = [0] 704.90/185.70 704.90/185.70 [U35](x1, x2) = [0] 704.90/185.70 704.90/185.70 [U36](x1) = [0] 704.90/185.70 704.90/185.70 [U41](x1, x2) = [0] 704.90/185.70 704.90/185.70 [U42](x1) = [0] 704.90/185.70 704.90/185.70 [U51](x1) = [0] 704.90/185.70 704.90/185.70 [U61](x1, x2) = [0] 704.90/185.70 704.90/185.70 [U62](x1) = [0] 704.90/185.70 704.90/185.70 [s](x1) = [1] x1 + [0] 704.90/185.70 704.90/185.70 [0] = [0] 704.90/185.70 704.90/185.70 [n__0] = [0] 704.90/185.70 704.90/185.70 [n__plus](x1, x2) = [1] x1 + [1] x2 + [1] 704.90/185.70 704.90/185.70 [n__s](x1) = [1] x1 + [0] 704.90/185.70 704.90/185.70 [n__x](x1, x2) = [1] x1 + [1] x2 + [0] 704.90/185.70 704.90/185.70 [U101^#](x1, x2, x3) = [7] x1 + [7] x2 + [7] x3 + [7] 704.90/185.70 704.90/185.70 [U102^#](x1, x2, x3) = [4] x3 + [0] 704.90/185.70 704.90/185.70 [isNatKind^#](x1) = [7] x1 + [0] 704.90/185.70 704.90/185.70 [U103^#](x1, x2, x3) = [7] x1 + [7] x2 + [7] x3 + [0] 704.90/185.70 704.90/185.70 [isNat^#](x1) = [2] x1 + [0] 704.90/185.70 704.90/185.70 [U11^#](x1, x2, x3) = [2] x2 + [2] x3 + [0] 704.90/185.70 704.90/185.70 [U21^#](x1, x2) = [2] x2 + [0] 704.90/185.70 704.90/185.70 [U31^#](x1, x2, x3) = [2] x2 + [2] x3 + [0] 704.90/185.70 704.90/185.70 [U12^#](x1, x2, x3) = [2] x2 + [2] x3 + [0] 704.90/185.70 704.90/185.70 [U13^#](x1, x2, x3) = [2] x2 + [2] x3 + [0] 704.90/185.70 704.90/185.70 [U14^#](x1, x2, x3) = [2] x2 + [2] x3 + [0] 704.90/185.70 704.90/185.70 [U15^#](x1, x2) = [2] x2 + [0] 704.90/185.70 704.90/185.70 [U22^#](x1, x2) = [2] x2 + [0] 704.90/185.70 704.90/185.70 [U32^#](x1, x2, x3) = [2] x2 + [2] x3 + [0] 704.90/185.70 704.90/185.70 [U33^#](x1, x2, x3) = [2] x2 + [2] x3 + [0] 704.90/185.70 704.90/185.70 [U34^#](x1, x2, x3) = [2] x2 + [2] x3 + [0] 704.90/185.70 704.90/185.70 [U35^#](x1, x2) = [2] x2 + [0] 704.90/185.70 704.90/185.70 [U71^#](x1, x2) = [7] x1 + [7] x2 + [0] 704.90/185.70 704.90/185.70 [U81^#](x1, x2, x3) = [7] x1 + [7] x2 + [7] x3 + [7] 704.90/185.70 704.90/185.70 [U82^#](x1, x2, x3) = [2] x3 + [0] 704.90/185.70 704.90/185.70 [U83^#](x1, x2, x3) = [7] x1 + [7] x2 + [7] x3 + [0] 704.90/185.70 704.90/185.70 [U91^#](x1, x2) = [7] x1 + [7] x2 + [0] 704.90/185.70 704.90/185.70 [c_1](x1, x2) = [7] x1 + [7] x2 + [0] 704.90/185.70 704.90/185.70 [c_2](x1, x2) = [7] x1 + [7] x2 + [0] 704.90/185.70 704.90/185.70 [c_6](x1) = [7] x1 + [0] 704.90/185.70 704.90/185.70 [c_7](x1, x2) = [7] x1 + [7] x2 + [0] 704.90/185.70 704.90/185.70 [c_8](x1, x2) = [7] x1 + [7] x2 + [0] 704.90/185.70 704.90/185.70 [c_9](x1, x2) = [7] x1 + [7] x2 + [0] 704.90/185.70 704.90/185.70 [c_12](x1, x2) = [7] x1 + [7] x2 + [0] 704.90/185.70 704.90/185.70 [c_13](x1, x2) = [7] x1 + [7] x2 + [0] 704.90/185.70 704.90/185.70 [c_14](x1, x2) = [7] x1 + [7] x2 + [0] 704.90/185.70 704.90/185.70 [c_15](x1, x2) = [7] x1 + [7] x2 + [0] 704.90/185.70 704.90/185.70 [c_16](x1, x2) = [7] x1 + [7] x2 + [0] 704.90/185.70 704.90/185.70 [c_17](x1, x2) = [7] x1 + [7] x2 + [0] 704.90/185.70 704.90/185.70 [c_18](x1) = [7] x1 + [0] 704.90/185.70 704.90/185.70 [c_19](x1) = [7] x1 + [0] 704.90/185.70 704.90/185.70 [c_20](x1, x2) = [7] x1 + [7] x2 + [0] 704.90/185.70 704.90/185.70 [c_21](x1, x2) = [7] x1 + [7] x2 + [0] 704.90/185.70 704.90/185.70 [c_22](x1, x2) = [7] x1 + [7] x2 + [0] 704.90/185.70 704.90/185.70 [c_23](x1) = [7] x1 + [0] 704.90/185.70 704.90/185.70 [c_24](x1) = [7] x1 + [0] 704.90/185.70 704.90/185.70 [c_25](x1, x2) = [7] x1 + [7] x2 + [0] 704.90/185.70 704.90/185.70 [c_26](x1, x2) = [7] x1 + [7] x2 + [0] 704.90/185.70 704.90/185.70 [c_27](x1) = [7] x1 + [0] 704.90/185.70 704.90/185.70 [c_28](x1) = [7] x1 + [0] 704.90/185.70 704.90/185.70 [c] = [0] 704.90/185.70 704.90/185.70 [c_1] = [0] 704.90/185.70 704.90/185.70 [c_2](x1) = [7] x1 + [0] 704.90/185.70 704.90/185.70 [c_3](x1) = [7] x1 + [0] 704.90/185.70 704.90/185.70 [c_4](x1) = [7] x1 + [0] 704.90/185.70 704.90/185.70 [c_5] = [0] 704.90/185.70 704.90/185.70 [c_6](x1) = [7] x1 + [0] 704.90/185.70 704.90/185.70 [c_7](x1, x2) = [7] x1 + [7] x2 + [0] 704.90/185.70 704.90/185.70 [c_8](x1) = [7] x1 + [0] 704.90/185.70 704.90/185.70 [c_9](x1) = [7] x1 + [0] 704.90/185.70 704.90/185.70 [c_10](x1) = [7] x1 + [0] 704.90/185.70 704.90/185.70 [c_11](x1) = [7] x1 + [0] 704.90/185.70 704.90/185.70 [c_12](x1) = [7] x1 + [0] 704.90/185.70 704.90/185.70 [c_13](x1, x2) = [7] x1 + [7] x2 + [0] 704.90/185.70 704.90/185.70 [c_14](x1) = [7] x1 + [0] 704.90/185.70 704.90/185.70 [c_15](x1) = [7] x1 + [0] 704.90/185.70 704.90/185.70 [c_16](x1) = [7] x1 + [0] 704.90/185.70 704.90/185.70 [c_17](x1) = [7] x1 + [0] 704.90/185.70 704.90/185.70 [c_18](x1, x2) = [7] x1 + [7] x2 + [0] 704.90/185.70 704.90/185.70 [c_19](x1) = [7] x1 + [0] 704.90/185.70 704.90/185.70 [c_20](x1) = [7] x1 + [0] 704.90/185.70 704.90/185.70 [c_21](x1, x2) = [7] x1 + [7] x2 + [0] 704.90/185.70 704.90/185.70 [c] = [0] 704.90/185.70 704.90/185.70 [c_1](x1) = [1] x1 + [1] 704.90/185.70 704.90/185.70 [c_2](x1) = [1] x1 + [0] 704.90/185.70 704.90/185.70 [c_3](x1) = [1] x1 + [0] 704.90/185.70 704.90/185.70 [c_4](x1) = [1] x1 + [3] 704.90/185.70 704.90/185.70 [c_5](x1) = [1] x1 + [0] 704.90/185.70 704.90/185.70 [c_6](x1) = [1] x1 + [0] 704.90/185.70 704.90/185.70 [c_7](x1) = [1] x1 + [0] 704.90/185.70 704.90/185.70 [c_8](x1) = [1] x1 + [0] 704.90/185.70 704.90/185.70 [c_9](x1) = [1] x1 + [0] 704.90/185.70 704.90/185.70 [c_10](x1) = [1] x1 + [0] 704.90/185.70 704.90/185.70 [c_11](x1, x2) = [1] x1 + [1] x2 + [0] 704.90/185.70 704.90/185.70 [c_12](x1) = [1] x1 + [0] 704.90/185.70 704.90/185.70 [c_13](x1) = [1] x1 + [0] 704.90/185.70 704.90/185.70 [c_14](x1) = [1] x1 + [0] 704.90/185.70 704.90/185.70 [c_15](x1) = [1] x1 + [0] 704.90/185.70 704.90/185.70 [c_16](x1, x2) = [1] x1 + [1] x2 + [0] 704.90/185.70 704.90/185.70 [c_17](x1) = [1] x1 + [0] 704.90/185.70 704.90/185.70 [c_18](x1) = [2] x1 + [3] 704.90/185.70 704.90/185.70 [c_19](x1) = [1] x1 + [0] 704.90/185.70 704.90/185.70 The order satisfies the following ordering constraints: 704.90/185.70 704.90/185.70 [isNatKind(n__0())] = [0] 704.90/185.70 >= [0] 704.90/185.70 = [tt()] 704.90/185.70 704.90/185.70 [isNatKind(n__plus(V1, V2))] = [0] 704.90/185.70 >= [0] 704.90/185.70 = [U41(isNatKind(activate(V1)), activate(V2))] 704.90/185.70 704.90/185.70 [isNatKind(n__s(V1))] = [0] 704.90/185.70 >= [0] 704.90/185.70 = [U51(isNatKind(activate(V1)))] 704.90/185.70 704.90/185.70 [isNatKind(n__x(V1, V2))] = [0] 704.90/185.70 >= [0] 704.90/185.70 = [U61(isNatKind(activate(V1)), activate(V2))] 704.90/185.70 704.90/185.70 [activate(X)] = [1] X + [0] 704.90/185.70 >= [1] X + [0] 704.90/185.70 = [X] 704.90/185.70 704.90/185.70 [activate(n__0())] = [0] 704.90/185.70 >= [0] 704.90/185.70 = [0()] 704.90/185.70 704.90/185.70 [activate(n__plus(X1, X2))] = [1] X1 + [1] X2 + [1] 704.90/185.70 >= [1] X1 + [1] X2 + [1] 704.90/185.70 = [plus(X1, X2)] 704.90/185.70 704.90/185.70 [activate(n__s(X))] = [1] X + [0] 704.90/185.70 >= [1] X + [0] 704.90/185.70 = [s(X)] 704.90/185.70 704.90/185.70 [activate(n__x(X1, X2))] = [1] X1 + [1] X2 + [0] 704.90/185.70 >= [1] X1 + [1] X2 + [0] 704.90/185.70 = [x(X1, X2)] 704.90/185.70 704.90/185.70 [isNat(n__0())] = [0] 704.90/185.70 >= [0] 704.90/185.70 = [tt()] 704.90/185.70 704.90/185.70 [isNat(n__plus(V1, V2))] = [0] 704.90/185.70 >= [0] 704.90/185.70 = [U11(isNatKind(activate(V1)), activate(V1), activate(V2))] 704.90/185.70 704.90/185.70 [isNat(n__s(V1))] = [0] 704.90/185.70 >= [0] 704.90/185.70 = [U21(isNatKind(activate(V1)), activate(V1))] 704.90/185.70 704.90/185.70 [isNat(n__x(V1, V2))] = [0] 704.90/185.70 >= [0] 704.90/185.70 = [U31(isNatKind(activate(V1)), activate(V1), activate(V2))] 704.90/185.70 704.90/185.70 [plus(X1, X2)] = [1] X1 + [1] X2 + [1] 704.90/185.71 >= [1] X1 + [1] X2 + [1] 704.90/185.71 = [n__plus(X1, X2)] 704.90/185.71 704.90/185.71 [x(X1, X2)] = [1] X1 + [1] X2 + [0] 704.90/185.71 >= [1] X1 + [1] X2 + [0] 704.90/185.71 = [n__x(X1, X2)] 704.90/185.71 704.90/185.71 [U11(tt(), V1, V2)] = [0] 704.90/185.71 >= [0] 704.90/185.71 = [U12(isNatKind(activate(V1)), activate(V1), activate(V2))] 704.90/185.71 704.90/185.71 [U12(tt(), V1, V2)] = [0] 704.90/185.71 >= [0] 704.90/185.71 = [U13(isNatKind(activate(V2)), activate(V1), activate(V2))] 704.90/185.71 704.90/185.71 [U13(tt(), V1, V2)] = [0] 704.90/185.71 >= [0] 704.90/185.71 = [U14(isNatKind(activate(V2)), activate(V1), activate(V2))] 704.90/185.71 704.90/185.71 [U14(tt(), V1, V2)] = [0] 704.90/185.71 >= [0] 704.90/185.71 = [U15(isNat(activate(V1)), activate(V2))] 704.90/185.71 704.90/185.71 [U15(tt(), V2)] = [0] 704.90/185.71 >= [0] 704.90/185.71 = [U16(isNat(activate(V2)))] 704.90/185.71 704.90/185.71 [U16(tt())] = [0] 704.90/185.71 >= [0] 704.90/185.71 = [tt()] 704.90/185.71 704.90/185.71 [U21(tt(), V1)] = [0] 704.90/185.71 >= [0] 704.90/185.71 = [U22(isNatKind(activate(V1)), activate(V1))] 704.90/185.71 704.90/185.71 [U22(tt(), V1)] = [0] 704.90/185.71 >= [0] 704.90/185.71 = [U23(isNat(activate(V1)))] 704.90/185.71 704.90/185.71 [U23(tt())] = [0] 704.90/185.71 >= [0] 704.90/185.71 = [tt()] 704.90/185.71 704.90/185.71 [U31(tt(), V1, V2)] = [0] 704.90/185.71 >= [0] 704.90/185.71 = [U32(isNatKind(activate(V1)), activate(V1), activate(V2))] 704.90/185.71 704.90/185.71 [U32(tt(), V1, V2)] = [0] 704.90/185.71 >= [0] 704.90/185.71 = [U33(isNatKind(activate(V2)), activate(V1), activate(V2))] 704.90/185.71 704.90/185.71 [U33(tt(), V1, V2)] = [0] 704.90/185.71 >= [0] 704.90/185.71 = [U34(isNatKind(activate(V2)), activate(V1), activate(V2))] 704.90/185.71 704.90/185.71 [U34(tt(), V1, V2)] = [0] 704.90/185.71 >= [0] 704.90/185.71 = [U35(isNat(activate(V1)), activate(V2))] 704.90/185.71 704.90/185.71 [U35(tt(), V2)] = [0] 704.90/185.71 >= [0] 704.90/185.71 = [U36(isNat(activate(V2)))] 704.90/185.71 704.90/185.71 [U36(tt())] = [0] 704.90/185.71 >= [0] 704.90/185.71 = [tt()] 704.90/185.71 704.90/185.71 [U41(tt(), V2)] = [0] 704.90/185.71 >= [0] 704.90/185.71 = [U42(isNatKind(activate(V2)))] 704.90/185.71 704.90/185.71 [U42(tt())] = [0] 704.90/185.71 >= [0] 704.90/185.71 = [tt()] 704.90/185.71 704.90/185.71 [U51(tt())] = [0] 704.90/185.71 >= [0] 704.90/185.71 = [tt()] 704.90/185.71 704.90/185.71 [U61(tt(), V2)] = [0] 704.90/185.71 >= [0] 704.90/185.71 = [U62(isNatKind(activate(V2)))] 704.90/185.71 704.90/185.71 [U62(tt())] = [0] 704.90/185.71 >= [0] 704.90/185.71 = [tt()] 704.90/185.71 704.90/185.71 [s(X)] = [1] X + [0] 704.90/185.71 >= [1] X + [0] 704.90/185.71 = [n__s(X)] 704.90/185.71 704.90/185.71 [0()] = [0] 704.90/185.71 >= [0] 704.90/185.71 = [n__0()] 704.90/185.71 704.90/185.71 [U101^#(tt(), M, N)] = [7] M + [7] N + [7] 704.90/185.71 > [4] N + [3] 704.90/185.71 = [c_4(U102^#(isNatKind(activate(M)), activate(M), activate(N)))] 704.90/185.71 704.90/185.71 [U102^#(tt(), M, N)] = [4] N + [0] 704.90/185.71 >= [2] N + [0] 704.90/185.71 = [c_5(isNat^#(activate(N)))] 704.90/185.71 704.90/185.71 [isNat^#(n__plus(V1, V2))] = [2] V1 + [2] V2 + [2] 704.90/185.71 > [2] V1 + [2] V2 + [1] 704.90/185.71 = [c_1(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)))] 704.90/185.71 704.90/185.71 [isNat^#(n__s(V1))] = [2] V1 + [0] 704.90/185.71 >= [2] V1 + [0] 704.90/185.71 = [c_2(U21^#(isNatKind(activate(V1)), activate(V1)))] 704.90/185.71 704.90/185.71 [isNat^#(n__x(V1, V2))] = [2] V1 + [2] V2 + [0] 704.90/185.71 >= [2] V1 + [2] V2 + [0] 704.90/185.71 = [c_3(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)))] 704.90/185.71 704.90/185.71 [U11^#(tt(), V1, V2)] = [2] V1 + [2] V2 + [0] 704.90/185.71 >= [2] V1 + [2] V2 + [0] 704.90/185.71 = [c_6(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)))] 704.90/185.71 704.90/185.71 [U21^#(tt(), V1)] = [2] V1 + [0] 704.90/185.71 >= [2] V1 + [0] 704.90/185.71 = [c_7(U22^#(isNatKind(activate(V1)), activate(V1)))] 704.90/185.71 704.90/185.71 [U31^#(tt(), V1, V2)] = [2] V1 + [2] V2 + [0] 704.90/185.71 >= [2] V1 + [2] V2 + [0] 704.90/185.71 = [c_8(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)))] 704.90/185.71 704.90/185.71 [U12^#(tt(), V1, V2)] = [2] V1 + [2] V2 + [0] 704.90/185.71 >= [2] V1 + [2] V2 + [0] 704.90/185.71 = [c_9(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)))] 704.90/185.71 704.90/185.71 [U13^#(tt(), V1, V2)] = [2] V1 + [2] V2 + [0] 704.90/185.71 >= [2] V1 + [2] V2 + [0] 704.90/185.71 = [c_10(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)))] 704.90/185.71 704.90/185.71 [U14^#(tt(), V1, V2)] = [2] V1 + [2] V2 + [0] 704.90/185.71 >= [2] V1 + [2] V2 + [0] 704.90/185.71 = [c_11(U15^#(isNat(activate(V1)), activate(V2)), 704.90/185.71 isNat^#(activate(V1)))] 704.90/185.71 704.90/185.71 [U15^#(tt(), V2)] = [2] V2 + [0] 704.90/185.71 >= [2] V2 + [0] 704.90/185.71 = [c_12(isNat^#(activate(V2)))] 704.90/185.71 704.90/185.71 [U22^#(tt(), V1)] = [2] V1 + [0] 704.90/185.71 >= [2] V1 + [0] 704.90/185.71 = [c_13(isNat^#(activate(V1)))] 704.90/185.71 704.90/185.71 [U32^#(tt(), V1, V2)] = [2] V1 + [2] V2 + [0] 704.90/185.71 >= [2] V1 + [2] V2 + [0] 704.90/185.71 = [c_14(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)))] 704.90/185.71 704.90/185.71 [U33^#(tt(), V1, V2)] = [2] V1 + [2] V2 + [0] 704.90/185.71 >= [2] V1 + [2] V2 + [0] 704.90/185.71 = [c_15(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)))] 704.90/185.71 704.90/185.71 [U34^#(tt(), V1, V2)] = [2] V1 + [2] V2 + [0] 704.90/185.71 >= [2] V1 + [2] V2 + [0] 704.90/185.71 = [c_16(U35^#(isNat(activate(V1)), activate(V2)), 704.90/185.71 isNat^#(activate(V1)))] 704.90/185.71 704.90/185.71 [U35^#(tt(), V2)] = [2] V2 + [0] 704.90/185.71 >= [2] V2 + [0] 704.90/185.71 = [c_17(isNat^#(activate(V2)))] 704.90/185.71 704.90/185.71 [U81^#(tt(), M, N)] = [7] M + [7] N + [7] 704.90/185.71 > [4] N + [3] 704.90/185.71 = [c_18(U82^#(isNatKind(activate(M)), activate(M), activate(N)))] 704.90/185.71 704.90/185.71 [U82^#(tt(), M, N)] = [2] N + [0] 704.90/185.71 >= [2] N + [0] 704.90/185.71 = [c_19(isNat^#(activate(N)))] 704.90/185.71 704.90/185.71 704.90/185.71 We return to the main proof. Consider the set of all dependency 704.90/185.71 pairs 704.90/185.71 704.90/185.71 : 704.90/185.71 { 1: isNat^#(n__plus(V1, V2)) -> 704.90/185.71 c_1(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.71 , 2: isNat^#(n__s(V1)) -> 704.90/185.71 c_2(U21^#(isNatKind(activate(V1)), activate(V1))) 704.90/185.71 , 3: isNat^#(n__x(V1, V2)) -> 704.90/185.71 c_3(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.71 , 4: U101^#(tt(), M, N) -> 704.90/185.71 c_4(U102^#(isNatKind(activate(M)), activate(M), activate(N))) 704.90/185.71 , 5: U102^#(tt(), M, N) -> c_5(isNat^#(activate(N))) 704.90/185.71 , 6: U11^#(tt(), V1, V2) -> 704.90/185.71 c_6(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.71 , 7: U21^#(tt(), V1) -> 704.90/185.71 c_7(U22^#(isNatKind(activate(V1)), activate(V1))) 704.90/185.71 , 8: U31^#(tt(), V1, V2) -> 704.90/185.71 c_8(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.71 , 9: U12^#(tt(), V1, V2) -> 704.90/185.71 c_9(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.71 , 10: U13^#(tt(), V1, V2) -> 704.90/185.71 c_10(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.71 , 11: U14^#(tt(), V1, V2) -> 704.90/185.71 c_11(U15^#(isNat(activate(V1)), activate(V2)), 704.90/185.71 isNat^#(activate(V1))) 704.90/185.71 , 12: U15^#(tt(), V2) -> c_12(isNat^#(activate(V2))) 704.90/185.71 , 13: U22^#(tt(), V1) -> c_13(isNat^#(activate(V1))) 704.90/185.71 , 14: U32^#(tt(), V1, V2) -> 704.90/185.71 c_14(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.71 , 15: U33^#(tt(), V1, V2) -> 704.90/185.71 c_15(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.71 , 16: U34^#(tt(), V1, V2) -> 704.90/185.71 c_16(U35^#(isNat(activate(V1)), activate(V2)), 704.90/185.71 isNat^#(activate(V1))) 704.90/185.71 , 17: U35^#(tt(), V2) -> c_17(isNat^#(activate(V2))) 704.90/185.71 , 18: U81^#(tt(), M, N) -> 704.90/185.71 c_18(U82^#(isNatKind(activate(M)), activate(M), activate(N))) 704.90/185.71 , 19: U82^#(tt(), M, N) -> c_19(isNat^#(activate(N))) } 704.90/185.71 704.90/185.71 Processor 'matrix interpretation of dimension 1' induces the 704.90/185.71 complexity certificate YES(?,O(n^1)) on application of dependency 704.90/185.71 pairs {1,4,18}. These cover all (indirect) predecessors of 704.90/185.71 dependency pairs {1,4,5,6,9,10,11,12,18,19}, their number of 704.90/185.71 application is equally bounded. The dependency pairs are shifted 704.90/185.71 into the weak component. 704.90/185.71 704.90/185.71 We are left with following problem, upon which TcT provides the 704.90/185.71 certificate YES(O(1),O(n^1)). 704.90/185.71 704.90/185.71 Strict DPs: 704.90/185.71 { isNat^#(n__s(V1)) -> 704.90/185.71 c_2(U21^#(isNatKind(activate(V1)), activate(V1))) 704.90/185.71 , isNat^#(n__x(V1, V2)) -> 704.90/185.71 c_3(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2))) } 704.90/185.71 Weak DPs: 704.90/185.71 { U101^#(tt(), M, N) -> 704.90/185.71 c_4(U102^#(isNatKind(activate(M)), activate(M), activate(N))) 704.90/185.71 , U102^#(tt(), M, N) -> c_5(isNat^#(activate(N))) 704.90/185.71 , isNat^#(n__plus(V1, V2)) -> 704.90/185.71 c_1(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.71 , U11^#(tt(), V1, V2) -> 704.90/185.71 c_6(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.71 , U21^#(tt(), V1) -> 704.90/185.71 c_7(U22^#(isNatKind(activate(V1)), activate(V1))) 704.90/185.71 , U31^#(tt(), V1, V2) -> 704.90/185.71 c_8(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.71 , U12^#(tt(), V1, V2) -> 704.90/185.71 c_9(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.71 , U13^#(tt(), V1, V2) -> 704.90/185.71 c_10(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.71 , U14^#(tt(), V1, V2) -> 704.90/185.71 c_11(U15^#(isNat(activate(V1)), activate(V2)), 704.90/185.71 isNat^#(activate(V1))) 704.90/185.71 , U15^#(tt(), V2) -> c_12(isNat^#(activate(V2))) 704.90/185.71 , U22^#(tt(), V1) -> c_13(isNat^#(activate(V1))) 704.90/185.71 , U32^#(tt(), V1, V2) -> 704.90/185.71 c_14(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.71 , U33^#(tt(), V1, V2) -> 704.90/185.71 c_15(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.71 , U34^#(tt(), V1, V2) -> 704.90/185.71 c_16(U35^#(isNat(activate(V1)), activate(V2)), 704.90/185.71 isNat^#(activate(V1))) 704.90/185.71 , U35^#(tt(), V2) -> c_17(isNat^#(activate(V2))) 704.90/185.71 , U81^#(tt(), M, N) -> 704.90/185.71 c_18(U82^#(isNatKind(activate(M)), activate(M), activate(N))) 704.90/185.71 , U82^#(tt(), M, N) -> c_19(isNat^#(activate(N))) } 704.90/185.71 Weak Trs: 704.90/185.71 { isNatKind(n__0()) -> tt() 704.90/185.71 , isNatKind(n__plus(V1, V2)) -> 704.90/185.71 U41(isNatKind(activate(V1)), activate(V2)) 704.90/185.71 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.90/185.71 , isNatKind(n__x(V1, V2)) -> 704.90/185.71 U61(isNatKind(activate(V1)), activate(V2)) 704.90/185.71 , activate(X) -> X 704.90/185.71 , activate(n__0()) -> 0() 704.90/185.71 , activate(n__plus(X1, X2)) -> plus(X1, X2) 704.90/185.71 , activate(n__s(X)) -> s(X) 704.90/185.71 , activate(n__x(X1, X2)) -> x(X1, X2) 704.90/185.71 , isNat(n__0()) -> tt() 704.90/185.71 , isNat(n__plus(V1, V2)) -> 704.90/185.71 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.71 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 704.90/185.71 , isNat(n__x(V1, V2)) -> 704.90/185.71 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.71 , plus(X1, X2) -> n__plus(X1, X2) 704.90/185.71 , x(X1, X2) -> n__x(X1, X2) 704.90/185.71 , U11(tt(), V1, V2) -> 704.90/185.71 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.71 , U12(tt(), V1, V2) -> 704.90/185.71 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.71 , U13(tt(), V1, V2) -> 704.90/185.71 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.71 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 704.90/185.71 , U15(tt(), V2) -> U16(isNat(activate(V2))) 704.90/185.71 , U16(tt()) -> tt() 704.90/185.71 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 704.90/185.71 , U22(tt(), V1) -> U23(isNat(activate(V1))) 704.90/185.71 , U23(tt()) -> tt() 704.90/185.71 , U31(tt(), V1, V2) -> 704.90/185.71 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.71 , U32(tt(), V1, V2) -> 704.90/185.71 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.71 , U33(tt(), V1, V2) -> 704.90/185.71 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.71 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 704.90/185.71 , U35(tt(), V2) -> U36(isNat(activate(V2))) 704.90/185.71 , U36(tt()) -> tt() 704.90/185.71 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 704.90/185.71 , U42(tt()) -> tt() 704.90/185.71 , U51(tt()) -> tt() 704.90/185.71 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 704.90/185.71 , U62(tt()) -> tt() 704.90/185.71 , s(X) -> n__s(X) 704.90/185.71 , 0() -> n__0() } 704.90/185.71 Obligation: 704.90/185.71 innermost runtime complexity 704.90/185.71 Answer: 704.90/185.71 YES(O(1),O(n^1)) 704.90/185.71 704.90/185.71 We use the processor 'matrix interpretation of dimension 1' to 704.90/185.71 orient following rules strictly. 704.90/185.71 704.90/185.71 DPs: 704.90/185.71 { 1: isNat^#(n__s(V1)) -> 704.90/185.71 c_2(U21^#(isNatKind(activate(V1)), activate(V1))) 704.90/185.71 , 2: isNat^#(n__x(V1, V2)) -> 704.90/185.71 c_3(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.71 , 3: U101^#(tt(), M, N) -> 704.90/185.71 c_4(U102^#(isNatKind(activate(M)), activate(M), activate(N))) 704.90/185.71 , 6: U11^#(tt(), V1, V2) -> 704.90/185.71 c_6(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.71 , 7: U21^#(tt(), V1) -> 704.90/185.71 c_7(U22^#(isNatKind(activate(V1)), activate(V1))) 704.90/185.71 , 18: U81^#(tt(), M, N) -> 704.90/185.71 c_18(U82^#(isNatKind(activate(M)), activate(M), activate(N))) } 704.90/185.71 Trs: 704.90/185.71 { isNatKind(n__0()) -> tt() 704.90/185.71 , isNatKind(n__plus(V1, V2)) -> 704.90/185.71 U41(isNatKind(activate(V1)), activate(V2)) 704.90/185.71 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.90/185.71 , isNatKind(n__x(V1, V2)) -> 704.90/185.71 U61(isNatKind(activate(V1)), activate(V2)) 704.90/185.71 , U51(tt()) -> tt() 704.90/185.71 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) } 704.90/185.71 704.90/185.71 Sub-proof: 704.90/185.71 ---------- 704.90/185.71 The following argument positions are usable: 704.90/185.71 Uargs(c_1) = {1}, Uargs(c_2) = {1}, Uargs(c_3) = {1}, 704.90/185.71 Uargs(c_4) = {1}, Uargs(c_5) = {1}, Uargs(c_6) = {1}, 704.90/185.71 Uargs(c_7) = {1}, Uargs(c_8) = {1}, Uargs(c_9) = {1}, 704.90/185.71 Uargs(c_10) = {1}, Uargs(c_11) = {1, 2}, Uargs(c_12) = {1}, 704.90/185.71 Uargs(c_13) = {1}, Uargs(c_14) = {1}, Uargs(c_15) = {1}, 704.90/185.71 Uargs(c_16) = {1, 2}, Uargs(c_17) = {1}, Uargs(c_18) = {1}, 704.90/185.71 Uargs(c_19) = {1} 704.90/185.71 704.90/185.71 TcT has computed the following constructor-based matrix 704.90/185.71 interpretation satisfying not(EDA). 704.90/185.71 704.90/185.71 [tt] = [1] 704.90/185.71 704.90/185.71 [isNatKind](x1) = [4] 704.90/185.71 704.90/185.71 [activate](x1) = [1] x1 + [0] 704.90/185.71 704.90/185.71 [isNat](x1) = [0] 704.90/185.71 704.90/185.71 [plus](x1, x2) = [1] x1 + [1] x2 + [1] 704.90/185.71 704.90/185.71 [x](x1, x2) = [1] x1 + [1] x2 + [1] 704.90/185.71 704.90/185.71 [U11](x1, x2, x3) = [0] 704.90/185.71 704.90/185.71 [U12](x1, x2, x3) = [0] 704.90/185.71 704.90/185.71 [U13](x1, x2, x3) = [0] 704.90/185.71 704.90/185.71 [U14](x1, x2, x3) = [0] 704.90/185.71 704.90/185.71 [U15](x1, x2) = [0] 704.90/185.71 704.90/185.71 [U16](x1) = [0] 704.90/185.71 704.90/185.71 [U21](x1, x2) = [0] 704.90/185.71 704.90/185.71 [U22](x1, x2) = [0] 704.90/185.71 704.90/185.71 [U23](x1) = [0] 704.90/185.71 704.90/185.71 [U31](x1, x2, x3) = [0] 704.90/185.71 704.90/185.71 [U32](x1, x2, x3) = [0] 704.90/185.71 704.90/185.71 [U33](x1, x2, x3) = [0] 704.90/185.71 704.90/185.71 [U34](x1, x2, x3) = [0] 704.90/185.71 704.90/185.71 [U35](x1, x2) = [0] 704.90/185.71 704.90/185.71 [U36](x1) = [0] 704.90/185.71 704.90/185.71 [U41](x1, x2) = [1] 704.90/185.71 704.90/185.71 [U42](x1) = [1] 704.90/185.71 704.90/185.71 [U51](x1) = [2] 704.90/185.71 704.90/185.71 [U61](x1, x2) = [2] 704.90/185.71 704.90/185.71 [U62](x1) = [1] 704.90/185.71 704.90/185.71 [s](x1) = [1] x1 + [2] 704.90/185.71 704.90/185.71 [0] = [0] 704.90/185.71 704.90/185.71 [n__0] = [0] 704.90/185.71 704.90/185.71 [n__plus](x1, x2) = [1] x1 + [1] x2 + [1] 704.90/185.71 704.90/185.71 [n__s](x1) = [1] x1 + [2] 704.90/185.71 704.90/185.71 [n__x](x1, x2) = [1] x1 + [1] x2 + [1] 704.90/185.71 704.90/185.71 [U101^#](x1, x2, x3) = [7] x2 + [7] x3 + [7] 704.90/185.71 704.90/185.71 [U102^#](x1, x2, x3) = [4] x3 + [0] 704.90/185.71 704.90/185.71 [isNatKind^#](x1) = [7] x1 + [0] 704.90/185.71 704.90/185.71 [U103^#](x1, x2, x3) = [7] x1 + [7] x2 + [7] x3 + [0] 704.90/185.71 704.90/185.71 [isNat^#](x1) = [4] x1 + [0] 704.90/185.71 704.90/185.71 [U11^#](x1, x2, x3) = [4] x2 + [4] x3 + [4] 704.90/185.71 704.90/185.71 [U21^#](x1, x2) = [1] x1 + [4] x2 + [3] 704.90/185.71 704.90/185.71 [U31^#](x1, x2, x3) = [4] x2 + [4] x3 + [0] 704.90/185.71 704.90/185.71 [U12^#](x1, x2, x3) = [4] x2 + [4] x3 + [0] 704.90/185.71 704.90/185.71 [U13^#](x1, x2, x3) = [4] x2 + [4] x3 + [0] 704.90/185.71 704.90/185.71 [U14^#](x1, x2, x3) = [4] x2 + [4] x3 + [0] 704.90/185.71 704.90/185.71 [U15^#](x1, x2) = [4] x2 + [0] 704.90/185.71 704.90/185.71 [U22^#](x1, x2) = [4] x2 + [0] 704.90/185.71 704.90/185.71 [U32^#](x1, x2, x3) = [4] x2 + [4] x3 + [0] 704.90/185.71 704.90/185.71 [U33^#](x1, x2, x3) = [4] x2 + [4] x3 + [0] 704.90/185.71 704.90/185.71 [U34^#](x1, x2, x3) = [4] x2 + [4] x3 + [0] 704.90/185.71 704.90/185.71 [U35^#](x1, x2) = [4] x2 + [0] 704.90/185.71 704.90/185.71 [U71^#](x1, x2) = [7] x1 + [7] x2 + [0] 704.90/185.71 704.90/185.71 [U81^#](x1, x2, x3) = [7] x2 + [7] x3 + [7] 704.90/185.71 704.90/185.71 [U82^#](x1, x2, x3) = [4] x3 + [0] 704.90/185.71 704.90/185.71 [U83^#](x1, x2, x3) = [7] x1 + [7] x2 + [7] x3 + [0] 704.90/185.71 704.90/185.71 [U91^#](x1, x2) = [7] x1 + [7] x2 + [0] 704.90/185.71 704.90/185.71 [c_1](x1, x2) = [7] x1 + [7] x2 + [0] 704.90/185.71 704.90/185.71 [c_2](x1, x2) = [7] x1 + [7] x2 + [0] 704.90/185.71 704.90/185.71 [c_6](x1) = [7] x1 + [0] 704.90/185.71 704.90/185.71 [c_7](x1, x2) = [7] x1 + [7] x2 + [0] 704.90/185.71 704.90/185.71 [c_8](x1, x2) = [7] x1 + [7] x2 + [0] 704.90/185.71 704.90/185.71 [c_9](x1, x2) = [7] x1 + [7] x2 + [0] 704.90/185.71 704.90/185.71 [c_12](x1, x2) = [7] x1 + [7] x2 + [0] 704.90/185.71 704.90/185.71 [c_13](x1, x2) = [7] x1 + [7] x2 + [0] 704.90/185.71 704.90/185.71 [c_14](x1, x2) = [7] x1 + [7] x2 + [0] 704.90/185.71 704.90/185.71 [c_15](x1, x2) = [7] x1 + [7] x2 + [0] 704.90/185.71 704.90/185.71 [c_16](x1, x2) = [7] x1 + [7] x2 + [0] 704.90/185.71 704.90/185.71 [c_17](x1, x2) = [7] x1 + [7] x2 + [0] 704.90/185.71 704.90/185.71 [c_18](x1) = [7] x1 + [0] 704.90/185.71 704.90/185.71 [c_19](x1) = [7] x1 + [0] 704.90/185.71 704.90/185.71 [c_20](x1, x2) = [7] x1 + [7] x2 + [0] 704.90/185.71 704.90/185.71 [c_21](x1, x2) = [7] x1 + [7] x2 + [0] 704.90/185.71 704.90/185.71 [c_22](x1, x2) = [7] x1 + [7] x2 + [0] 704.90/185.71 704.90/185.71 [c_23](x1) = [7] x1 + [0] 704.90/185.71 704.90/185.71 [c_24](x1) = [7] x1 + [0] 704.90/185.71 704.90/185.71 [c_25](x1, x2) = [7] x1 + [7] x2 + [0] 704.90/185.71 704.90/185.71 [c_26](x1, x2) = [7] x1 + [7] x2 + [0] 704.90/185.71 704.90/185.71 [c_27](x1) = [7] x1 + [0] 704.90/185.71 704.90/185.71 [c_28](x1) = [7] x1 + [0] 704.90/185.71 704.90/185.71 [c] = [0] 704.90/185.71 704.90/185.71 [c_1] = [0] 704.90/185.71 704.90/185.71 [c_2](x1) = [7] x1 + [0] 704.90/185.71 704.90/185.71 [c_3](x1) = [7] x1 + [0] 704.90/185.71 704.90/185.71 [c_4](x1) = [7] x1 + [0] 704.90/185.71 704.90/185.71 [c_5] = [0] 704.90/185.71 704.90/185.71 [c_6](x1) = [7] x1 + [0] 704.90/185.71 704.90/185.71 [c_7](x1, x2) = [7] x1 + [7] x2 + [0] 704.90/185.71 704.90/185.71 [c_8](x1) = [7] x1 + [0] 704.90/185.71 704.90/185.71 [c_9](x1) = [7] x1 + [0] 704.90/185.71 704.90/185.71 [c_10](x1) = [7] x1 + [0] 704.90/185.71 704.90/185.71 [c_11](x1) = [7] x1 + [0] 704.90/185.71 704.90/185.71 [c_12](x1) = [7] x1 + [0] 704.90/185.71 704.90/185.71 [c_13](x1, x2) = [7] x1 + [7] x2 + [0] 704.90/185.71 704.90/185.71 [c_14](x1) = [7] x1 + [0] 704.90/185.71 704.90/185.71 [c_15](x1) = [7] x1 + [0] 704.90/185.71 704.90/185.71 [c_16](x1) = [7] x1 + [0] 704.90/185.71 704.90/185.71 [c_17](x1) = [7] x1 + [0] 704.90/185.71 704.90/185.71 [c_18](x1, x2) = [7] x1 + [7] x2 + [0] 704.90/185.71 704.90/185.71 [c_19](x1) = [7] x1 + [0] 704.90/185.71 704.90/185.71 [c_20](x1) = [7] x1 + [0] 704.90/185.71 704.90/185.71 [c_21](x1, x2) = [7] x1 + [7] x2 + [0] 704.90/185.71 704.90/185.71 [c] = [0] 704.90/185.71 704.90/185.71 [c_1](x1) = [1] x1 + [0] 704.90/185.71 704.90/185.71 [c_2](x1) = [1] x1 + [0] 704.90/185.71 704.90/185.71 [c_3](x1) = [1] x1 + [1] 704.90/185.71 704.90/185.71 [c_4](x1) = [1] x1 + [3] 704.90/185.71 704.90/185.71 [c_5](x1) = [1] x1 + [0] 704.90/185.71 704.90/185.71 [c_6](x1) = [1] x1 + [3] 704.90/185.71 704.90/185.71 [c_7](x1) = [1] x1 + [3] 704.90/185.71 704.90/185.71 [c_8](x1) = [1] x1 + [0] 704.90/185.72 704.90/185.72 [c_9](x1) = [1] x1 + [0] 704.90/185.72 704.90/185.72 [c_10](x1) = [1] x1 + [0] 704.90/185.72 704.90/185.72 [c_11](x1, x2) = [1] x1 + [1] x2 + [0] 704.90/185.72 704.90/185.72 [c_12](x1) = [1] x1 + [0] 704.90/185.72 704.90/185.72 [c_13](x1) = [1] x1 + [0] 704.90/185.72 704.90/185.72 [c_14](x1) = [1] x1 + [0] 704.90/185.72 704.90/185.72 [c_15](x1) = [1] x1 + [0] 704.90/185.72 704.90/185.72 [c_16](x1, x2) = [1] x1 + [1] x2 + [0] 704.90/185.72 704.90/185.72 [c_17](x1) = [1] x1 + [0] 704.90/185.72 704.90/185.72 [c_18](x1) = [1] x1 + [3] 704.90/185.72 704.90/185.72 [c_19](x1) = [1] x1 + [0] 704.90/185.72 704.90/185.72 The order satisfies the following ordering constraints: 704.90/185.72 704.90/185.72 [isNatKind(n__0())] = [4] 704.90/185.72 > [1] 704.90/185.72 = [tt()] 704.90/185.72 704.90/185.72 [isNatKind(n__plus(V1, V2))] = [4] 704.90/185.72 > [1] 704.90/185.72 = [U41(isNatKind(activate(V1)), activate(V2))] 704.90/185.72 704.90/185.72 [isNatKind(n__s(V1))] = [4] 704.90/185.72 > [2] 704.90/185.72 = [U51(isNatKind(activate(V1)))] 704.90/185.72 704.90/185.72 [isNatKind(n__x(V1, V2))] = [4] 704.90/185.72 > [2] 704.90/185.72 = [U61(isNatKind(activate(V1)), activate(V2))] 704.90/185.72 704.90/185.72 [activate(X)] = [1] X + [0] 704.90/185.72 >= [1] X + [0] 704.90/185.72 = [X] 704.90/185.72 704.90/185.72 [activate(n__0())] = [0] 704.90/185.72 >= [0] 704.90/185.72 = [0()] 704.90/185.72 704.90/185.72 [activate(n__plus(X1, X2))] = [1] X1 + [1] X2 + [1] 704.90/185.72 >= [1] X1 + [1] X2 + [1] 704.90/185.72 = [plus(X1, X2)] 704.90/185.72 704.90/185.72 [activate(n__s(X))] = [1] X + [2] 704.90/185.72 >= [1] X + [2] 704.90/185.72 = [s(X)] 704.90/185.72 704.90/185.72 [activate(n__x(X1, X2))] = [1] X1 + [1] X2 + [1] 704.90/185.72 >= [1] X1 + [1] X2 + [1] 704.90/185.72 = [x(X1, X2)] 704.90/185.72 704.90/185.72 [isNat(n__0())] = [0] 704.90/185.72 ? [1] 704.90/185.72 = [tt()] 704.90/185.72 704.90/185.72 [isNat(n__plus(V1, V2))] = [0] 704.90/185.72 >= [0] 704.90/185.72 = [U11(isNatKind(activate(V1)), activate(V1), activate(V2))] 704.90/185.72 704.90/185.72 [isNat(n__s(V1))] = [0] 704.90/185.72 >= [0] 704.90/185.72 = [U21(isNatKind(activate(V1)), activate(V1))] 704.90/185.72 704.90/185.72 [isNat(n__x(V1, V2))] = [0] 704.90/185.72 >= [0] 704.90/185.72 = [U31(isNatKind(activate(V1)), activate(V1), activate(V2))] 704.90/185.72 704.90/185.72 [plus(X1, X2)] = [1] X1 + [1] X2 + [1] 704.90/185.72 >= [1] X1 + [1] X2 + [1] 704.90/185.72 = [n__plus(X1, X2)] 704.90/185.72 704.90/185.72 [x(X1, X2)] = [1] X1 + [1] X2 + [1] 704.90/185.72 >= [1] X1 + [1] X2 + [1] 704.90/185.72 = [n__x(X1, X2)] 704.90/185.72 704.90/185.72 [U11(tt(), V1, V2)] = [0] 704.90/185.72 >= [0] 704.90/185.72 = [U12(isNatKind(activate(V1)), activate(V1), activate(V2))] 704.90/185.72 704.90/185.72 [U12(tt(), V1, V2)] = [0] 704.90/185.72 >= [0] 704.90/185.72 = [U13(isNatKind(activate(V2)), activate(V1), activate(V2))] 704.90/185.72 704.90/185.72 [U13(tt(), V1, V2)] = [0] 704.90/185.72 >= [0] 704.90/185.72 = [U14(isNatKind(activate(V2)), activate(V1), activate(V2))] 704.90/185.72 704.90/185.72 [U14(tt(), V1, V2)] = [0] 704.90/185.72 >= [0] 704.90/185.72 = [U15(isNat(activate(V1)), activate(V2))] 704.90/185.72 704.90/185.72 [U15(tt(), V2)] = [0] 704.90/185.72 >= [0] 704.90/185.72 = [U16(isNat(activate(V2)))] 704.90/185.72 704.90/185.72 [U16(tt())] = [0] 704.90/185.72 ? [1] 704.90/185.72 = [tt()] 704.90/185.72 704.90/185.72 [U21(tt(), V1)] = [0] 704.90/185.72 >= [0] 704.90/185.72 = [U22(isNatKind(activate(V1)), activate(V1))] 704.90/185.72 704.90/185.72 [U22(tt(), V1)] = [0] 704.90/185.72 >= [0] 704.90/185.72 = [U23(isNat(activate(V1)))] 704.90/185.72 704.90/185.72 [U23(tt())] = [0] 704.90/185.72 ? [1] 704.90/185.72 = [tt()] 704.90/185.72 704.90/185.72 [U31(tt(), V1, V2)] = [0] 704.90/185.72 >= [0] 704.90/185.72 = [U32(isNatKind(activate(V1)), activate(V1), activate(V2))] 704.90/185.72 704.90/185.72 [U32(tt(), V1, V2)] = [0] 704.90/185.72 >= [0] 704.90/185.72 = [U33(isNatKind(activate(V2)), activate(V1), activate(V2))] 704.90/185.72 704.90/185.72 [U33(tt(), V1, V2)] = [0] 704.90/185.72 >= [0] 704.90/185.72 = [U34(isNatKind(activate(V2)), activate(V1), activate(V2))] 704.90/185.72 704.90/185.72 [U34(tt(), V1, V2)] = [0] 704.90/185.72 >= [0] 704.90/185.72 = [U35(isNat(activate(V1)), activate(V2))] 704.90/185.72 704.90/185.72 [U35(tt(), V2)] = [0] 704.90/185.72 >= [0] 704.90/185.72 = [U36(isNat(activate(V2)))] 704.90/185.72 704.90/185.72 [U36(tt())] = [0] 704.90/185.72 ? [1] 704.90/185.72 = [tt()] 704.90/185.72 704.90/185.72 [U41(tt(), V2)] = [1] 704.90/185.72 >= [1] 704.90/185.72 = [U42(isNatKind(activate(V2)))] 704.90/185.72 704.90/185.72 [U42(tt())] = [1] 704.90/185.72 >= [1] 704.90/185.72 = [tt()] 704.90/185.72 704.90/185.72 [U51(tt())] = [2] 704.90/185.72 > [1] 704.90/185.72 = [tt()] 704.90/185.72 704.90/185.72 [U61(tt(), V2)] = [2] 704.90/185.72 > [1] 704.90/185.72 = [U62(isNatKind(activate(V2)))] 704.90/185.72 704.90/185.72 [U62(tt())] = [1] 704.90/185.72 >= [1] 704.90/185.72 = [tt()] 704.90/185.72 704.90/185.72 [s(X)] = [1] X + [2] 704.90/185.72 >= [1] X + [2] 704.90/185.72 = [n__s(X)] 704.90/185.72 704.90/185.72 [0()] = [0] 704.90/185.72 >= [0] 704.90/185.72 = [n__0()] 704.90/185.72 704.90/185.72 [U101^#(tt(), M, N)] = [7] M + [7] N + [7] 704.90/185.72 > [4] N + [3] 704.90/185.72 = [c_4(U102^#(isNatKind(activate(M)), activate(M), activate(N)))] 704.90/185.72 704.90/185.72 [U102^#(tt(), M, N)] = [4] N + [0] 704.90/185.72 >= [4] N + [0] 704.90/185.72 = [c_5(isNat^#(activate(N)))] 704.90/185.72 704.90/185.72 [isNat^#(n__plus(V1, V2))] = [4] V1 + [4] V2 + [4] 704.90/185.72 >= [4] V1 + [4] V2 + [4] 704.90/185.72 = [c_1(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)))] 704.90/185.72 704.90/185.72 [isNat^#(n__s(V1))] = [4] V1 + [8] 704.90/185.72 > [4] V1 + [7] 704.90/185.72 = [c_2(U21^#(isNatKind(activate(V1)), activate(V1)))] 704.90/185.72 704.90/185.72 [isNat^#(n__x(V1, V2))] = [4] V1 + [4] V2 + [4] 704.90/185.72 > [4] V1 + [4] V2 + [1] 704.90/185.72 = [c_3(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)))] 704.90/185.72 704.90/185.72 [U11^#(tt(), V1, V2)] = [4] V1 + [4] V2 + [4] 704.90/185.72 > [4] V1 + [4] V2 + [3] 704.90/185.72 = [c_6(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)))] 704.90/185.72 704.90/185.72 [U21^#(tt(), V1)] = [4] V1 + [4] 704.90/185.72 > [4] V1 + [3] 704.90/185.72 = [c_7(U22^#(isNatKind(activate(V1)), activate(V1)))] 704.90/185.72 704.90/185.72 [U31^#(tt(), V1, V2)] = [4] V1 + [4] V2 + [0] 704.90/185.72 >= [4] V1 + [4] V2 + [0] 704.90/185.72 = [c_8(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)))] 704.90/185.72 704.90/185.72 [U12^#(tt(), V1, V2)] = [4] V1 + [4] V2 + [0] 704.90/185.72 >= [4] V1 + [4] V2 + [0] 704.90/185.72 = [c_9(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)))] 704.90/185.72 704.90/185.72 [U13^#(tt(), V1, V2)] = [4] V1 + [4] V2 + [0] 704.90/185.72 >= [4] V1 + [4] V2 + [0] 704.90/185.72 = [c_10(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)))] 704.90/185.72 704.90/185.72 [U14^#(tt(), V1, V2)] = [4] V1 + [4] V2 + [0] 704.90/185.72 >= [4] V1 + [4] V2 + [0] 704.90/185.72 = [c_11(U15^#(isNat(activate(V1)), activate(V2)), 704.90/185.72 isNat^#(activate(V1)))] 704.90/185.72 704.90/185.72 [U15^#(tt(), V2)] = [4] V2 + [0] 704.90/185.72 >= [4] V2 + [0] 704.90/185.72 = [c_12(isNat^#(activate(V2)))] 704.90/185.72 704.90/185.72 [U22^#(tt(), V1)] = [4] V1 + [0] 704.90/185.72 >= [4] V1 + [0] 704.90/185.72 = [c_13(isNat^#(activate(V1)))] 704.90/185.72 704.90/185.72 [U32^#(tt(), V1, V2)] = [4] V1 + [4] V2 + [0] 704.90/185.72 >= [4] V1 + [4] V2 + [0] 704.90/185.72 = [c_14(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)))] 704.90/185.72 704.90/185.72 [U33^#(tt(), V1, V2)] = [4] V1 + [4] V2 + [0] 704.90/185.72 >= [4] V1 + [4] V2 + [0] 704.90/185.72 = [c_15(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)))] 704.90/185.72 704.90/185.72 [U34^#(tt(), V1, V2)] = [4] V1 + [4] V2 + [0] 704.90/185.72 >= [4] V1 + [4] V2 + [0] 704.90/185.72 = [c_16(U35^#(isNat(activate(V1)), activate(V2)), 704.90/185.72 isNat^#(activate(V1)))] 704.90/185.72 704.90/185.72 [U35^#(tt(), V2)] = [4] V2 + [0] 704.90/185.72 >= [4] V2 + [0] 704.90/185.72 = [c_17(isNat^#(activate(V2)))] 704.90/185.72 704.90/185.72 [U81^#(tt(), M, N)] = [7] M + [7] N + [7] 704.90/185.72 > [4] N + [3] 704.90/185.72 = [c_18(U82^#(isNatKind(activate(M)), activate(M), activate(N)))] 704.90/185.72 704.90/185.72 [U82^#(tt(), M, N)] = [4] N + [0] 704.90/185.72 >= [4] N + [0] 704.90/185.72 = [c_19(isNat^#(activate(N)))] 704.90/185.72 704.90/185.72 704.90/185.72 We return to the main proof. Consider the set of all dependency 704.90/185.72 pairs 704.90/185.72 704.90/185.72 : 704.90/185.72 { 1: isNat^#(n__s(V1)) -> 704.90/185.72 c_2(U21^#(isNatKind(activate(V1)), activate(V1))) 704.90/185.72 , 2: isNat^#(n__x(V1, V2)) -> 704.90/185.72 c_3(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.72 , 3: U101^#(tt(), M, N) -> 704.90/185.72 c_4(U102^#(isNatKind(activate(M)), activate(M), activate(N))) 704.90/185.72 , 4: U102^#(tt(), M, N) -> c_5(isNat^#(activate(N))) 704.90/185.72 , 5: isNat^#(n__plus(V1, V2)) -> 704.90/185.72 c_1(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.72 , 6: U11^#(tt(), V1, V2) -> 704.90/185.72 c_6(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.72 , 7: U21^#(tt(), V1) -> 704.90/185.72 c_7(U22^#(isNatKind(activate(V1)), activate(V1))) 704.90/185.72 , 8: U31^#(tt(), V1, V2) -> 704.90/185.72 c_8(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.72 , 9: U12^#(tt(), V1, V2) -> 704.90/185.72 c_9(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.72 , 10: U13^#(tt(), V1, V2) -> 704.90/185.72 c_10(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.72 , 11: U14^#(tt(), V1, V2) -> 704.90/185.72 c_11(U15^#(isNat(activate(V1)), activate(V2)), 704.90/185.72 isNat^#(activate(V1))) 704.90/185.72 , 12: U15^#(tt(), V2) -> c_12(isNat^#(activate(V2))) 704.90/185.72 , 13: U22^#(tt(), V1) -> c_13(isNat^#(activate(V1))) 704.90/185.72 , 14: U32^#(tt(), V1, V2) -> 704.90/185.72 c_14(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.72 , 15: U33^#(tt(), V1, V2) -> 704.90/185.72 c_15(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.72 , 16: U34^#(tt(), V1, V2) -> 704.90/185.72 c_16(U35^#(isNat(activate(V1)), activate(V2)), 704.90/185.72 isNat^#(activate(V1))) 704.90/185.72 , 17: U35^#(tt(), V2) -> c_17(isNat^#(activate(V2))) 704.90/185.72 , 18: U81^#(tt(), M, N) -> 704.90/185.72 c_18(U82^#(isNatKind(activate(M)), activate(M), activate(N))) 704.90/185.72 , 19: U82^#(tt(), M, N) -> c_19(isNat^#(activate(N))) } 704.90/185.72 704.90/185.72 Processor 'matrix interpretation of dimension 1' induces the 704.90/185.72 complexity certificate YES(?,O(n^1)) on application of dependency 704.90/185.72 pairs {1,2,3,6,7,18}. These cover all (indirect) predecessors of 704.90/185.72 dependency pairs {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19}, 704.90/185.72 their number of application is equally bounded. The dependency 704.90/185.72 pairs are shifted into the weak component. 704.90/185.72 704.90/185.72 We are left with following problem, upon which TcT provides the 704.90/185.72 certificate YES(O(1),O(1)). 704.90/185.72 704.90/185.72 Weak DPs: 704.90/185.72 { U101^#(tt(), M, N) -> 704.90/185.72 c_4(U102^#(isNatKind(activate(M)), activate(M), activate(N))) 704.90/185.72 , U102^#(tt(), M, N) -> c_5(isNat^#(activate(N))) 704.90/185.72 , isNat^#(n__plus(V1, V2)) -> 704.90/185.72 c_1(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.72 , isNat^#(n__s(V1)) -> 704.90/185.72 c_2(U21^#(isNatKind(activate(V1)), activate(V1))) 704.90/185.72 , isNat^#(n__x(V1, V2)) -> 704.90/185.72 c_3(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.72 , U11^#(tt(), V1, V2) -> 704.90/185.72 c_6(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.72 , U21^#(tt(), V1) -> 704.90/185.72 c_7(U22^#(isNatKind(activate(V1)), activate(V1))) 704.90/185.72 , U31^#(tt(), V1, V2) -> 704.90/185.72 c_8(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.72 , U12^#(tt(), V1, V2) -> 704.90/185.72 c_9(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.72 , U13^#(tt(), V1, V2) -> 704.90/185.72 c_10(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.72 , U14^#(tt(), V1, V2) -> 704.90/185.72 c_11(U15^#(isNat(activate(V1)), activate(V2)), 704.90/185.72 isNat^#(activate(V1))) 704.90/185.72 , U15^#(tt(), V2) -> c_12(isNat^#(activate(V2))) 704.90/185.72 , U22^#(tt(), V1) -> c_13(isNat^#(activate(V1))) 704.90/185.72 , U32^#(tt(), V1, V2) -> 704.90/185.72 c_14(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.72 , U33^#(tt(), V1, V2) -> 704.90/185.72 c_15(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.72 , U34^#(tt(), V1, V2) -> 704.90/185.72 c_16(U35^#(isNat(activate(V1)), activate(V2)), 704.90/185.72 isNat^#(activate(V1))) 704.90/185.72 , U35^#(tt(), V2) -> c_17(isNat^#(activate(V2))) 704.90/185.72 , U81^#(tt(), M, N) -> 704.90/185.72 c_18(U82^#(isNatKind(activate(M)), activate(M), activate(N))) 704.90/185.72 , U82^#(tt(), M, N) -> c_19(isNat^#(activate(N))) } 704.90/185.72 Weak Trs: 704.90/185.72 { isNatKind(n__0()) -> tt() 704.90/185.72 , isNatKind(n__plus(V1, V2)) -> 704.90/185.72 U41(isNatKind(activate(V1)), activate(V2)) 704.90/185.72 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.90/185.72 , isNatKind(n__x(V1, V2)) -> 704.90/185.72 U61(isNatKind(activate(V1)), activate(V2)) 704.90/185.72 , activate(X) -> X 704.90/185.72 , activate(n__0()) -> 0() 704.90/185.72 , activate(n__plus(X1, X2)) -> plus(X1, X2) 704.90/185.72 , activate(n__s(X)) -> s(X) 704.90/185.72 , activate(n__x(X1, X2)) -> x(X1, X2) 704.90/185.72 , isNat(n__0()) -> tt() 704.90/185.72 , isNat(n__plus(V1, V2)) -> 704.90/185.72 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.72 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 704.90/185.72 , isNat(n__x(V1, V2)) -> 704.90/185.72 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.72 , plus(X1, X2) -> n__plus(X1, X2) 704.90/185.72 , x(X1, X2) -> n__x(X1, X2) 704.90/185.72 , U11(tt(), V1, V2) -> 704.90/185.72 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.72 , U12(tt(), V1, V2) -> 704.90/185.72 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.72 , U13(tt(), V1, V2) -> 704.90/185.72 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.72 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 704.90/185.72 , U15(tt(), V2) -> U16(isNat(activate(V2))) 704.90/185.72 , U16(tt()) -> tt() 704.90/185.72 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 704.90/185.72 , U22(tt(), V1) -> U23(isNat(activate(V1))) 704.90/185.72 , U23(tt()) -> tt() 704.90/185.72 , U31(tt(), V1, V2) -> 704.90/185.72 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.72 , U32(tt(), V1, V2) -> 704.90/185.72 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.72 , U33(tt(), V1, V2) -> 704.90/185.72 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.72 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 704.90/185.72 , U35(tt(), V2) -> U36(isNat(activate(V2))) 704.90/185.72 , U36(tt()) -> tt() 704.90/185.72 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 704.90/185.72 , U42(tt()) -> tt() 704.90/185.72 , U51(tt()) -> tt() 704.90/185.72 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 704.90/185.72 , U62(tt()) -> tt() 704.90/185.72 , s(X) -> n__s(X) 704.90/185.72 , 0() -> n__0() } 704.90/185.72 Obligation: 704.90/185.72 innermost runtime complexity 704.90/185.72 Answer: 704.90/185.72 YES(O(1),O(1)) 704.90/185.72 704.90/185.72 The following weak DPs constitute a sub-graph of the DG that is 704.90/185.73 closed under successors. The DPs are removed. 704.90/185.73 704.90/185.73 { U101^#(tt(), M, N) -> 704.90/185.73 c_4(U102^#(isNatKind(activate(M)), activate(M), activate(N))) 704.90/185.73 , U102^#(tt(), M, N) -> c_5(isNat^#(activate(N))) 704.90/185.73 , isNat^#(n__plus(V1, V2)) -> 704.90/185.73 c_1(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.73 , isNat^#(n__s(V1)) -> 704.90/185.73 c_2(U21^#(isNatKind(activate(V1)), activate(V1))) 704.90/185.73 , isNat^#(n__x(V1, V2)) -> 704.90/185.73 c_3(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.73 , U11^#(tt(), V1, V2) -> 704.90/185.73 c_6(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.73 , U21^#(tt(), V1) -> 704.90/185.73 c_7(U22^#(isNatKind(activate(V1)), activate(V1))) 704.90/185.73 , U31^#(tt(), V1, V2) -> 704.90/185.73 c_8(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.73 , U12^#(tt(), V1, V2) -> 704.90/185.73 c_9(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.73 , U13^#(tt(), V1, V2) -> 704.90/185.73 c_10(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.73 , U14^#(tt(), V1, V2) -> 704.90/185.73 c_11(U15^#(isNat(activate(V1)), activate(V2)), 704.90/185.73 isNat^#(activate(V1))) 704.90/185.73 , U15^#(tt(), V2) -> c_12(isNat^#(activate(V2))) 704.90/185.73 , U22^#(tt(), V1) -> c_13(isNat^#(activate(V1))) 704.90/185.73 , U32^#(tt(), V1, V2) -> 704.90/185.73 c_14(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.73 , U33^#(tt(), V1, V2) -> 704.90/185.73 c_15(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.73 , U34^#(tt(), V1, V2) -> 704.90/185.73 c_16(U35^#(isNat(activate(V1)), activate(V2)), 704.90/185.73 isNat^#(activate(V1))) 704.90/185.73 , U35^#(tt(), V2) -> c_17(isNat^#(activate(V2))) 704.90/185.73 , U81^#(tt(), M, N) -> 704.90/185.73 c_18(U82^#(isNatKind(activate(M)), activate(M), activate(N))) 704.90/185.73 , U82^#(tt(), M, N) -> c_19(isNat^#(activate(N))) } 704.90/185.73 704.90/185.73 We are left with following problem, upon which TcT provides the 704.90/185.73 certificate YES(O(1),O(1)). 704.90/185.73 704.90/185.73 Weak Trs: 704.90/185.73 { isNatKind(n__0()) -> tt() 704.90/185.73 , isNatKind(n__plus(V1, V2)) -> 704.90/185.73 U41(isNatKind(activate(V1)), activate(V2)) 704.90/185.73 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.90/185.73 , isNatKind(n__x(V1, V2)) -> 704.90/185.73 U61(isNatKind(activate(V1)), activate(V2)) 704.90/185.73 , activate(X) -> X 704.90/185.73 , activate(n__0()) -> 0() 704.90/185.73 , activate(n__plus(X1, X2)) -> plus(X1, X2) 704.90/185.73 , activate(n__s(X)) -> s(X) 704.90/185.73 , activate(n__x(X1, X2)) -> x(X1, X2) 704.90/185.73 , isNat(n__0()) -> tt() 704.90/185.73 , isNat(n__plus(V1, V2)) -> 704.90/185.73 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.73 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 704.90/185.73 , isNat(n__x(V1, V2)) -> 704.90/185.73 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.73 , plus(X1, X2) -> n__plus(X1, X2) 704.90/185.73 , x(X1, X2) -> n__x(X1, X2) 704.90/185.73 , U11(tt(), V1, V2) -> 704.90/185.73 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.73 , U12(tt(), V1, V2) -> 704.90/185.73 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.73 , U13(tt(), V1, V2) -> 704.90/185.73 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.73 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 704.90/185.73 , U15(tt(), V2) -> U16(isNat(activate(V2))) 704.90/185.73 , U16(tt()) -> tt() 704.90/185.73 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 704.90/185.73 , U22(tt(), V1) -> U23(isNat(activate(V1))) 704.90/185.73 , U23(tt()) -> tt() 704.90/185.73 , U31(tt(), V1, V2) -> 704.90/185.73 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.73 , U32(tt(), V1, V2) -> 704.90/185.73 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.73 , U33(tt(), V1, V2) -> 704.90/185.73 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.73 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 704.90/185.73 , U35(tt(), V2) -> U36(isNat(activate(V2))) 704.90/185.73 , U36(tt()) -> tt() 704.90/185.73 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 704.90/185.73 , U42(tt()) -> tt() 704.90/185.73 , U51(tt()) -> tt() 704.90/185.73 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 704.90/185.73 , U62(tt()) -> tt() 704.90/185.73 , s(X) -> n__s(X) 704.90/185.73 , 0() -> n__0() } 704.90/185.73 Obligation: 704.90/185.73 innermost runtime complexity 704.90/185.73 Answer: 704.90/185.73 YES(O(1),O(1)) 704.90/185.73 704.90/185.73 No rule is usable, rules are removed from the input problem. 704.90/185.73 704.90/185.73 We are left with following problem, upon which TcT provides the 704.90/185.73 certificate YES(O(1),O(1)). 704.90/185.73 704.90/185.73 Rules: Empty 704.90/185.73 Obligation: 704.90/185.73 innermost runtime complexity 704.90/185.73 Answer: 704.90/185.73 YES(O(1),O(1)) 704.90/185.73 704.90/185.73 Empty rules are trivially bounded 704.90/185.73 704.90/185.73 We return to the main proof. 704.90/185.73 704.90/185.73 We are left with following problem, upon which TcT provides the 704.90/185.73 certificate YES(O(1),O(n^1)). 704.90/185.73 704.90/185.73 Strict DPs: 704.90/185.73 { isNatKind^#(n__plus(V1, V2)) -> 704.90/185.73 c_3(U41^#(isNatKind(activate(V1)), activate(V2)), 704.90/185.73 isNatKind^#(activate(V1))) 704.90/185.73 , isNatKind^#(n__s(V1)) -> c_4(isNatKind^#(activate(V1))) 704.90/185.73 , isNatKind^#(n__x(V1, V2)) -> 704.90/185.73 c_5(U61^#(isNatKind(activate(V1)), activate(V2)), 704.90/185.73 isNatKind^#(activate(V1))) 704.90/185.73 , U41^#(tt(), V2) -> c_10(isNatKind^#(activate(V2))) 704.90/185.73 , U61^#(tt(), V2) -> c_11(isNatKind^#(activate(V2))) } 704.90/185.73 Weak DPs: 704.90/185.73 { U101^#(tt(), M, N) -> 704.90/185.73 U102^#(isNatKind(activate(M)), activate(M), activate(N)) 704.90/185.73 , U101^#(tt(), M, N) -> isNatKind^#(activate(M)) 704.90/185.73 , U102^#(tt(), M, N) -> 704.90/185.73 U103^#(isNat(activate(N)), activate(M), activate(N)) 704.90/185.73 , U102^#(tt(), M, N) -> isNat^#(activate(N)) 704.90/185.73 , U103^#(tt(), M, N) -> isNatKind^#(activate(N)) 704.90/185.73 , isNat^#(n__plus(V1, V2)) -> isNatKind^#(activate(V1)) 704.90/185.73 , isNat^#(n__plus(V1, V2)) -> 704.90/185.73 U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.73 , isNat^#(n__s(V1)) -> isNatKind^#(activate(V1)) 704.90/185.73 , isNat^#(n__s(V1)) -> U21^#(isNatKind(activate(V1)), activate(V1)) 704.90/185.73 , isNat^#(n__x(V1, V2)) -> isNatKind^#(activate(V1)) 704.90/185.73 , isNat^#(n__x(V1, V2)) -> 704.90/185.73 U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.73 , U11^#(tt(), V1, V2) -> isNatKind^#(activate(V1)) 704.90/185.73 , U11^#(tt(), V1, V2) -> 704.90/185.73 U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.73 , U21^#(tt(), V1) -> isNatKind^#(activate(V1)) 704.90/185.73 , U21^#(tt(), V1) -> U22^#(isNatKind(activate(V1)), activate(V1)) 704.90/185.73 , U31^#(tt(), V1, V2) -> isNatKind^#(activate(V1)) 704.90/185.73 , U31^#(tt(), V1, V2) -> 704.90/185.73 U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.73 , U12^#(tt(), V1, V2) -> isNatKind^#(activate(V2)) 704.90/185.73 , U12^#(tt(), V1, V2) -> 704.90/185.73 U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.73 , U13^#(tt(), V1, V2) -> isNatKind^#(activate(V2)) 704.90/185.73 , U13^#(tt(), V1, V2) -> 704.90/185.73 U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.73 , U14^#(tt(), V1, V2) -> isNat^#(activate(V1)) 704.90/185.73 , U14^#(tt(), V1, V2) -> U15^#(isNat(activate(V1)), activate(V2)) 704.90/185.73 , U15^#(tt(), V2) -> isNat^#(activate(V2)) 704.90/185.73 , U22^#(tt(), V1) -> isNat^#(activate(V1)) 704.90/185.73 , U32^#(tt(), V1, V2) -> isNatKind^#(activate(V2)) 704.90/185.73 , U32^#(tt(), V1, V2) -> 704.90/185.73 U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.73 , U33^#(tt(), V1, V2) -> isNatKind^#(activate(V2)) 704.90/185.73 , U33^#(tt(), V1, V2) -> 704.90/185.73 U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.73 , U34^#(tt(), V1, V2) -> isNat^#(activate(V1)) 704.90/185.73 , U34^#(tt(), V1, V2) -> U35^#(isNat(activate(V1)), activate(V2)) 704.90/185.73 , U35^#(tt(), V2) -> isNat^#(activate(V2)) 704.90/185.73 , U71^#(tt(), N) -> isNatKind^#(activate(N)) 704.90/185.73 , U81^#(tt(), M, N) -> isNatKind^#(activate(M)) 704.90/185.73 , U81^#(tt(), M, N) -> 704.90/185.73 U82^#(isNatKind(activate(M)), activate(M), activate(N)) 704.90/185.73 , U82^#(tt(), M, N) -> isNat^#(activate(N)) 704.90/185.73 , U82^#(tt(), M, N) -> 704.90/185.73 U83^#(isNat(activate(N)), activate(M), activate(N)) 704.90/185.73 , U83^#(tt(), M, N) -> isNatKind^#(activate(N)) 704.90/185.73 , U91^#(tt(), N) -> isNatKind^#(activate(N)) } 704.90/185.73 Weak Trs: 704.90/185.73 { isNatKind(n__0()) -> tt() 704.90/185.73 , isNatKind(n__plus(V1, V2)) -> 704.90/185.73 U41(isNatKind(activate(V1)), activate(V2)) 704.90/185.73 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.90/185.73 , isNatKind(n__x(V1, V2)) -> 704.90/185.73 U61(isNatKind(activate(V1)), activate(V2)) 704.90/185.73 , activate(X) -> X 704.90/185.73 , activate(n__0()) -> 0() 704.90/185.73 , activate(n__plus(X1, X2)) -> plus(X1, X2) 704.90/185.73 , activate(n__s(X)) -> s(X) 704.90/185.73 , activate(n__x(X1, X2)) -> x(X1, X2) 704.90/185.73 , isNat(n__0()) -> tt() 704.90/185.73 , isNat(n__plus(V1, V2)) -> 704.90/185.73 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.73 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 704.90/185.73 , isNat(n__x(V1, V2)) -> 704.90/185.73 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.73 , plus(X1, X2) -> n__plus(X1, X2) 704.90/185.73 , x(X1, X2) -> n__x(X1, X2) 704.90/185.73 , U11(tt(), V1, V2) -> 704.90/185.73 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.73 , U12(tt(), V1, V2) -> 704.90/185.73 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.73 , U13(tt(), V1, V2) -> 704.90/185.73 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.73 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 704.90/185.73 , U15(tt(), V2) -> U16(isNat(activate(V2))) 704.90/185.73 , U16(tt()) -> tt() 704.90/185.73 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 704.90/185.73 , U22(tt(), V1) -> U23(isNat(activate(V1))) 704.90/185.73 , U23(tt()) -> tt() 704.90/185.73 , U31(tt(), V1, V2) -> 704.90/185.73 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.73 , U32(tt(), V1, V2) -> 704.90/185.73 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.73 , U33(tt(), V1, V2) -> 704.90/185.73 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.73 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 704.90/185.73 , U35(tt(), V2) -> U36(isNat(activate(V2))) 704.90/185.73 , U36(tt()) -> tt() 704.90/185.73 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 704.90/185.73 , U42(tt()) -> tt() 704.90/185.73 , U51(tt()) -> tt() 704.90/185.73 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 704.90/185.73 , U62(tt()) -> tt() 704.90/185.73 , s(X) -> n__s(X) 704.90/185.73 , 0() -> n__0() } 704.90/185.73 Obligation: 704.90/185.73 innermost runtime complexity 704.90/185.73 Answer: 704.90/185.73 YES(O(1),O(n^1)) 704.90/185.73 704.90/185.73 We use the processor 'matrix interpretation of dimension 1' to 704.90/185.73 orient following rules strictly. 704.90/185.73 704.90/185.73 DPs: 704.90/185.73 { 3: isNatKind^#(n__x(V1, V2)) -> 704.90/185.73 c_5(U61^#(isNatKind(activate(V1)), activate(V2)), 704.90/185.73 isNatKind^#(activate(V1))) 704.90/185.73 , 5: U61^#(tt(), V2) -> c_11(isNatKind^#(activate(V2))) 704.90/185.73 , 6: U101^#(tt(), M, N) -> 704.90/185.73 U102^#(isNatKind(activate(M)), activate(M), activate(N)) 704.90/185.73 , 7: U101^#(tt(), M, N) -> isNatKind^#(activate(M)) 704.90/185.73 , 9: U102^#(tt(), M, N) -> isNat^#(activate(N)) 704.90/185.73 , 10: U103^#(tt(), M, N) -> isNatKind^#(activate(N)) 704.90/185.73 , 15: isNat^#(n__x(V1, V2)) -> isNatKind^#(activate(V1)) 704.90/185.73 , 16: isNat^#(n__x(V1, V2)) -> 704.90/185.73 U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.73 , 38: U71^#(tt(), N) -> isNatKind^#(activate(N)) 704.90/185.73 , 39: U81^#(tt(), M, N) -> isNatKind^#(activate(M)) 704.90/185.73 , 40: U81^#(tt(), M, N) -> 704.90/185.73 U82^#(isNatKind(activate(M)), activate(M), activate(N)) 704.90/185.73 , 44: U91^#(tt(), N) -> isNatKind^#(activate(N)) } 704.90/185.73 704.90/185.73 Sub-proof: 704.90/185.73 ---------- 704.90/185.73 The following argument positions are usable: 704.90/185.73 Uargs(c_3) = {1, 2}, Uargs(c_4) = {1}, Uargs(c_5) = {1, 2}, 704.90/185.73 Uargs(c_10) = {1}, Uargs(c_11) = {1} 704.90/185.73 704.90/185.73 TcT has computed the following constructor-based matrix 704.90/185.73 interpretation satisfying not(EDA). 704.90/185.73 704.90/185.73 [tt] = [0] 704.90/185.73 704.90/185.73 [isNatKind](x1) = [0] 704.90/185.73 704.90/185.73 [activate](x1) = [1] x1 + [0] 704.90/185.73 704.90/185.73 [isNat](x1) = [0] 704.90/185.73 704.90/185.73 [plus](x1, x2) = [1] x1 + [1] x2 + [0] 704.90/185.73 704.90/185.73 [x](x1, x2) = [1] x1 + [1] x2 + [1] 704.90/185.73 704.90/185.73 [U11](x1, x2, x3) = [0] 704.90/185.73 704.90/185.73 [U12](x1, x2, x3) = [0] 704.90/185.73 704.90/185.73 [U13](x1, x2, x3) = [0] 704.90/185.73 704.90/185.73 [U14](x1, x2, x3) = [0] 704.90/185.73 704.90/185.73 [U15](x1, x2) = [0] 704.90/185.73 704.90/185.73 [U16](x1) = [0] 704.90/185.73 704.90/185.73 [U21](x1, x2) = [0] 704.90/185.73 704.90/185.73 [U22](x1, x2) = [0] 704.90/185.73 704.90/185.73 [U23](x1) = [0] 704.90/185.73 704.90/185.73 [U31](x1, x2, x3) = [0] 704.90/185.73 704.90/185.73 [U32](x1, x2, x3) = [0] 704.90/185.73 704.90/185.73 [U33](x1, x2, x3) = [0] 704.90/185.73 704.90/185.73 [U34](x1, x2, x3) = [0] 704.90/185.73 704.90/185.73 [U35](x1, x2) = [0] 704.90/185.73 704.90/185.73 [U36](x1) = [0] 704.90/185.73 704.90/185.73 [U41](x1, x2) = [0] 704.90/185.73 704.90/185.73 [U42](x1) = [0] 704.90/185.73 704.90/185.73 [U51](x1) = [0] 704.90/185.73 704.90/185.73 [U61](x1, x2) = [0] 704.90/185.73 704.90/185.73 [U62](x1) = [0] 704.90/185.73 704.90/185.73 [s](x1) = [1] x1 + [0] 704.90/185.73 704.90/185.73 [0] = [0] 704.90/185.73 704.90/185.73 [n__0] = [0] 704.90/185.73 704.90/185.73 [n__plus](x1, x2) = [1] x1 + [1] x2 + [0] 704.90/185.73 704.90/185.73 [n__s](x1) = [1] x1 + [0] 704.90/185.73 704.90/185.73 [n__x](x1, x2) = [1] x1 + [1] x2 + [1] 704.90/185.73 704.90/185.73 [U101^#](x1, x2, x3) = [7] x1 + [7] x2 + [7] x3 + [5] 704.90/185.73 704.90/185.73 [U102^#](x1, x2, x3) = [4] x2 + [4] x3 + [4] 704.90/185.73 704.90/185.73 [isNatKind^#](x1) = [4] x1 + [0] 704.90/185.73 704.90/185.73 [U103^#](x1, x2, x3) = [4] x3 + [4] 704.90/185.73 704.90/185.73 [isNat^#](x1) = [4] x1 + [0] 704.90/185.73 704.90/185.73 [U41^#](x1, x2) = [4] x2 + [0] 704.90/185.73 704.90/185.73 [U61^#](x1, x2) = [4] x2 + [1] 704.90/185.73 704.90/185.73 [U11^#](x1, x2, x3) = [4] x2 + [4] x3 + [0] 704.90/185.73 704.90/185.73 [U21^#](x1, x2) = [4] x2 + [0] 704.90/185.73 704.90/185.73 [U31^#](x1, x2, x3) = [4] x2 + [4] x3 + [0] 704.90/185.73 704.90/185.73 [U12^#](x1, x2, x3) = [4] x2 + [4] x3 + [0] 704.90/185.73 704.90/185.73 [U13^#](x1, x2, x3) = [4] x2 + [4] x3 + [0] 704.90/185.73 704.90/185.73 [U14^#](x1, x2, x3) = [4] x2 + [4] x3 + [0] 704.90/185.73 704.90/185.73 [U15^#](x1, x2) = [4] x2 + [0] 704.90/185.73 704.90/185.73 [U22^#](x1, x2) = [4] x2 + [0] 704.90/185.73 704.90/185.73 [U32^#](x1, x2, x3) = [4] x2 + [4] x3 + [0] 704.90/185.73 704.90/185.73 [U33^#](x1, x2, x3) = [4] x2 + [4] x3 + [0] 704.90/185.73 704.90/185.73 [U34^#](x1, x2, x3) = [4] x2 + [4] x3 + [0] 704.90/185.73 704.90/185.73 [U35^#](x1, x2) = [4] x2 + [0] 704.90/185.73 704.90/185.73 [U71^#](x1, x2) = [7] x1 + [7] x2 + [7] 704.90/185.73 704.90/185.73 [U81^#](x1, x2, x3) = [7] x1 + [7] x2 + [7] x3 + [1] 704.90/185.73 704.90/185.73 [U82^#](x1, x2, x3) = [4] x2 + [4] x3 + [0] 704.90/185.73 704.90/185.73 [U83^#](x1, x2, x3) = [4] x3 + [0] 704.90/185.73 704.90/185.73 [U91^#](x1, x2) = [7] x1 + [7] x2 + [7] 704.90/185.73 704.90/185.73 [c_3](x1, x2) = [1] x1 + [1] x2 + [0] 704.90/185.73 704.90/185.73 [c_4](x1) = [1] x1 + [0] 704.90/185.73 704.90/185.73 [c_5](x1, x2) = [1] x1 + [1] x2 + [1] 704.90/185.73 704.90/185.73 [c_10](x1) = [1] x1 + [0] 704.90/185.73 704.90/185.73 [c_11](x1) = [1] x1 + [0] 704.90/185.73 704.90/185.73 The order satisfies the following ordering constraints: 704.90/185.73 704.90/185.73 [isNatKind(n__0())] = [0] 704.90/185.73 >= [0] 704.90/185.73 = [tt()] 704.90/185.73 704.90/185.73 [isNatKind(n__plus(V1, V2))] = [0] 704.90/185.73 >= [0] 704.90/185.73 = [U41(isNatKind(activate(V1)), activate(V2))] 704.90/185.73 704.90/185.73 [isNatKind(n__s(V1))] = [0] 704.90/185.73 >= [0] 704.90/185.73 = [U51(isNatKind(activate(V1)))] 704.90/185.73 704.90/185.73 [isNatKind(n__x(V1, V2))] = [0] 704.90/185.73 >= [0] 704.90/185.73 = [U61(isNatKind(activate(V1)), activate(V2))] 704.90/185.73 704.90/185.73 [activate(X)] = [1] X + [0] 704.90/185.73 >= [1] X + [0] 704.90/185.73 = [X] 704.90/185.73 704.90/185.73 [activate(n__0())] = [0] 704.90/185.73 >= [0] 704.90/185.73 = [0()] 704.90/185.73 704.90/185.73 [activate(n__plus(X1, X2))] = [1] X1 + [1] X2 + [0] 704.90/185.73 >= [1] X1 + [1] X2 + [0] 704.90/185.73 = [plus(X1, X2)] 704.90/185.73 704.90/185.73 [activate(n__s(X))] = [1] X + [0] 704.90/185.73 >= [1] X + [0] 704.90/185.73 = [s(X)] 704.90/185.73 704.90/185.73 [activate(n__x(X1, X2))] = [1] X1 + [1] X2 + [1] 704.90/185.73 >= [1] X1 + [1] X2 + [1] 704.90/185.73 = [x(X1, X2)] 704.90/185.73 704.90/185.73 [isNat(n__0())] = [0] 704.90/185.73 >= [0] 704.90/185.73 = [tt()] 704.90/185.73 704.90/185.73 [isNat(n__plus(V1, V2))] = [0] 704.90/185.73 >= [0] 704.90/185.73 = [U11(isNatKind(activate(V1)), activate(V1), activate(V2))] 704.90/185.73 704.90/185.73 [isNat(n__s(V1))] = [0] 704.90/185.73 >= [0] 704.90/185.73 = [U21(isNatKind(activate(V1)), activate(V1))] 704.90/185.73 704.90/185.73 [isNat(n__x(V1, V2))] = [0] 704.90/185.73 >= [0] 704.90/185.73 = [U31(isNatKind(activate(V1)), activate(V1), activate(V2))] 704.90/185.73 704.90/185.73 [plus(X1, X2)] = [1] X1 + [1] X2 + [0] 704.90/185.73 >= [1] X1 + [1] X2 + [0] 704.90/185.73 = [n__plus(X1, X2)] 704.90/185.73 704.90/185.73 [x(X1, X2)] = [1] X1 + [1] X2 + [1] 704.90/185.73 >= [1] X1 + [1] X2 + [1] 704.90/185.73 = [n__x(X1, X2)] 704.90/185.73 704.90/185.73 [U11(tt(), V1, V2)] = [0] 704.90/185.73 >= [0] 704.90/185.73 = [U12(isNatKind(activate(V1)), activate(V1), activate(V2))] 704.90/185.73 704.90/185.73 [U12(tt(), V1, V2)] = [0] 704.90/185.73 >= [0] 704.90/185.73 = [U13(isNatKind(activate(V2)), activate(V1), activate(V2))] 704.90/185.73 704.90/185.73 [U13(tt(), V1, V2)] = [0] 704.90/185.73 >= [0] 704.90/185.73 = [U14(isNatKind(activate(V2)), activate(V1), activate(V2))] 704.90/185.73 704.90/185.73 [U14(tt(), V1, V2)] = [0] 704.90/185.73 >= [0] 704.90/185.73 = [U15(isNat(activate(V1)), activate(V2))] 704.90/185.73 704.90/185.73 [U15(tt(), V2)] = [0] 704.90/185.73 >= [0] 704.90/185.73 = [U16(isNat(activate(V2)))] 704.90/185.73 704.90/185.73 [U16(tt())] = [0] 704.90/185.73 >= [0] 704.90/185.73 = [tt()] 704.90/185.73 704.90/185.73 [U21(tt(), V1)] = [0] 704.90/185.73 >= [0] 704.90/185.73 = [U22(isNatKind(activate(V1)), activate(V1))] 704.90/185.73 704.90/185.73 [U22(tt(), V1)] = [0] 704.90/185.73 >= [0] 704.90/185.73 = [U23(isNat(activate(V1)))] 704.90/185.73 704.90/185.73 [U23(tt())] = [0] 704.90/185.73 >= [0] 704.90/185.73 = [tt()] 704.90/185.73 704.90/185.73 [U31(tt(), V1, V2)] = [0] 704.90/185.73 >= [0] 704.90/185.73 = [U32(isNatKind(activate(V1)), activate(V1), activate(V2))] 704.90/185.73 704.90/185.73 [U32(tt(), V1, V2)] = [0] 704.90/185.73 >= [0] 704.90/185.73 = [U33(isNatKind(activate(V2)), activate(V1), activate(V2))] 704.90/185.73 704.90/185.73 [U33(tt(), V1, V2)] = [0] 704.90/185.73 >= [0] 704.90/185.73 = [U34(isNatKind(activate(V2)), activate(V1), activate(V2))] 704.90/185.73 704.90/185.73 [U34(tt(), V1, V2)] = [0] 704.90/185.73 >= [0] 704.90/185.73 = [U35(isNat(activate(V1)), activate(V2))] 704.90/185.73 704.90/185.73 [U35(tt(), V2)] = [0] 704.90/185.73 >= [0] 704.90/185.73 = [U36(isNat(activate(V2)))] 704.90/185.73 704.90/185.73 [U36(tt())] = [0] 704.90/185.73 >= [0] 704.90/185.73 = [tt()] 704.90/185.73 704.90/185.73 [U41(tt(), V2)] = [0] 704.90/185.73 >= [0] 704.90/185.73 = [U42(isNatKind(activate(V2)))] 704.90/185.73 704.90/185.73 [U42(tt())] = [0] 704.90/185.73 >= [0] 704.90/185.73 = [tt()] 704.90/185.73 704.90/185.73 [U51(tt())] = [0] 704.90/185.73 >= [0] 704.90/185.73 = [tt()] 704.90/185.73 704.90/185.73 [U61(tt(), V2)] = [0] 704.90/185.73 >= [0] 704.90/185.73 = [U62(isNatKind(activate(V2)))] 704.90/185.73 704.90/185.73 [U62(tt())] = [0] 704.90/185.73 >= [0] 704.90/185.73 = [tt()] 704.90/185.73 704.90/185.73 [s(X)] = [1] X + [0] 704.90/185.73 >= [1] X + [0] 704.90/185.73 = [n__s(X)] 704.90/185.73 704.90/185.73 [0()] = [0] 704.90/185.73 >= [0] 704.90/185.73 = [n__0()] 704.90/185.73 704.90/185.73 [U101^#(tt(), M, N)] = [7] M + [7] N + [5] 704.90/185.73 > [4] M + [4] N + [4] 704.90/185.73 = [U102^#(isNatKind(activate(M)), activate(M), activate(N))] 704.90/185.73 704.90/185.73 [U101^#(tt(), M, N)] = [7] M + [7] N + [5] 704.90/185.73 > [4] M + [0] 704.90/185.73 = [isNatKind^#(activate(M))] 704.90/185.73 704.90/185.73 [U102^#(tt(), M, N)] = [4] M + [4] N + [4] 704.90/185.73 >= [4] N + [4] 704.90/185.73 = [U103^#(isNat(activate(N)), activate(M), activate(N))] 704.90/185.73 704.90/185.73 [U102^#(tt(), M, N)] = [4] M + [4] N + [4] 704.90/185.73 > [4] N + [0] 704.90/185.73 = [isNat^#(activate(N))] 704.90/185.73 704.90/185.73 [isNatKind^#(n__plus(V1, V2))] = [4] V1 + [4] V2 + [0] 704.90/185.73 >= [4] V1 + [4] V2 + [0] 704.90/185.73 = [c_3(U41^#(isNatKind(activate(V1)), activate(V2)), 704.90/185.73 isNatKind^#(activate(V1)))] 704.90/185.73 704.90/185.73 [isNatKind^#(n__s(V1))] = [4] V1 + [0] 704.90/185.73 >= [4] V1 + [0] 704.90/185.73 = [c_4(isNatKind^#(activate(V1)))] 704.90/185.73 704.90/185.73 [isNatKind^#(n__x(V1, V2))] = [4] V1 + [4] V2 + [4] 704.90/185.73 > [4] V1 + [4] V2 + [2] 704.90/185.73 = [c_5(U61^#(isNatKind(activate(V1)), activate(V2)), 704.90/185.73 isNatKind^#(activate(V1)))] 704.90/185.73 704.90/185.73 [U103^#(tt(), M, N)] = [4] N + [4] 704.90/185.73 > [4] N + [0] 704.90/185.73 = [isNatKind^#(activate(N))] 704.90/185.73 704.90/185.73 [isNat^#(n__plus(V1, V2))] = [4] V1 + [4] V2 + [0] 704.90/185.73 >= [4] V1 + [0] 704.90/185.73 = [isNatKind^#(activate(V1))] 704.90/185.73 704.90/185.73 [isNat^#(n__plus(V1, V2))] = [4] V1 + [4] V2 + [0] 704.90/185.73 >= [4] V1 + [4] V2 + [0] 704.90/185.73 = [U11^#(isNatKind(activate(V1)), activate(V1), activate(V2))] 704.90/185.73 704.90/185.73 [isNat^#(n__s(V1))] = [4] V1 + [0] 704.90/185.73 >= [4] V1 + [0] 704.90/185.73 = [isNatKind^#(activate(V1))] 704.90/185.73 704.90/185.73 [isNat^#(n__s(V1))] = [4] V1 + [0] 704.90/185.73 >= [4] V1 + [0] 704.90/185.73 = [U21^#(isNatKind(activate(V1)), activate(V1))] 704.90/185.73 704.90/185.73 [isNat^#(n__x(V1, V2))] = [4] V1 + [4] V2 + [4] 704.90/185.73 > [4] V1 + [0] 704.90/185.73 = [isNatKind^#(activate(V1))] 704.90/185.73 704.90/185.73 [isNat^#(n__x(V1, V2))] = [4] V1 + [4] V2 + [4] 704.90/185.73 > [4] V1 + [4] V2 + [0] 704.90/185.73 = [U31^#(isNatKind(activate(V1)), activate(V1), activate(V2))] 704.90/185.73 704.90/185.73 [U41^#(tt(), V2)] = [4] V2 + [0] 704.90/185.73 >= [4] V2 + [0] 704.90/185.73 = [c_10(isNatKind^#(activate(V2)))] 704.90/185.73 704.90/185.73 [U61^#(tt(), V2)] = [4] V2 + [1] 704.90/185.73 > [4] V2 + [0] 704.90/185.73 = [c_11(isNatKind^#(activate(V2)))] 704.90/185.73 704.90/185.73 [U11^#(tt(), V1, V2)] = [4] V1 + [4] V2 + [0] 704.90/185.73 >= [4] V1 + [0] 704.90/185.73 = [isNatKind^#(activate(V1))] 704.90/185.73 704.90/185.73 [U11^#(tt(), V1, V2)] = [4] V1 + [4] V2 + [0] 704.90/185.73 >= [4] V1 + [4] V2 + [0] 704.90/185.73 = [U12^#(isNatKind(activate(V1)), activate(V1), activate(V2))] 704.90/185.73 704.90/185.73 [U21^#(tt(), V1)] = [4] V1 + [0] 704.90/185.73 >= [4] V1 + [0] 704.90/185.73 = [isNatKind^#(activate(V1))] 704.90/185.73 704.90/185.73 [U21^#(tt(), V1)] = [4] V1 + [0] 704.90/185.73 >= [4] V1 + [0] 704.90/185.73 = [U22^#(isNatKind(activate(V1)), activate(V1))] 704.90/185.73 704.90/185.73 [U31^#(tt(), V1, V2)] = [4] V1 + [4] V2 + [0] 704.90/185.73 >= [4] V1 + [0] 704.90/185.73 = [isNatKind^#(activate(V1))] 704.90/185.73 704.90/185.73 [U31^#(tt(), V1, V2)] = [4] V1 + [4] V2 + [0] 704.90/185.73 >= [4] V1 + [4] V2 + [0] 704.90/185.73 = [U32^#(isNatKind(activate(V1)), activate(V1), activate(V2))] 704.90/185.73 704.90/185.73 [U12^#(tt(), V1, V2)] = [4] V1 + [4] V2 + [0] 704.90/185.73 >= [4] V2 + [0] 704.90/185.73 = [isNatKind^#(activate(V2))] 704.90/185.73 704.90/185.73 [U12^#(tt(), V1, V2)] = [4] V1 + [4] V2 + [0] 704.90/185.73 >= [4] V1 + [4] V2 + [0] 704.90/185.73 = [U13^#(isNatKind(activate(V2)), activate(V1), activate(V2))] 704.90/185.73 704.90/185.73 [U13^#(tt(), V1, V2)] = [4] V1 + [4] V2 + [0] 704.90/185.73 >= [4] V2 + [0] 704.90/185.73 = [isNatKind^#(activate(V2))] 704.90/185.73 704.90/185.73 [U13^#(tt(), V1, V2)] = [4] V1 + [4] V2 + [0] 704.90/185.73 >= [4] V1 + [4] V2 + [0] 704.90/185.73 = [U14^#(isNatKind(activate(V2)), activate(V1), activate(V2))] 704.90/185.73 704.90/185.73 [U14^#(tt(), V1, V2)] = [4] V1 + [4] V2 + [0] 704.90/185.73 >= [4] V1 + [0] 704.90/185.73 = [isNat^#(activate(V1))] 704.90/185.73 704.90/185.73 [U14^#(tt(), V1, V2)] = [4] V1 + [4] V2 + [0] 704.90/185.73 >= [4] V2 + [0] 704.90/185.73 = [U15^#(isNat(activate(V1)), activate(V2))] 704.90/185.73 704.90/185.73 [U15^#(tt(), V2)] = [4] V2 + [0] 704.90/185.73 >= [4] V2 + [0] 704.90/185.73 = [isNat^#(activate(V2))] 704.90/185.73 704.90/185.73 [U22^#(tt(), V1)] = [4] V1 + [0] 704.90/185.73 >= [4] V1 + [0] 704.90/185.73 = [isNat^#(activate(V1))] 704.90/185.73 704.90/185.73 [U32^#(tt(), V1, V2)] = [4] V1 + [4] V2 + [0] 704.90/185.73 >= [4] V2 + [0] 704.90/185.73 = [isNatKind^#(activate(V2))] 704.90/185.73 704.90/185.73 [U32^#(tt(), V1, V2)] = [4] V1 + [4] V2 + [0] 704.90/185.73 >= [4] V1 + [4] V2 + [0] 704.90/185.73 = [U33^#(isNatKind(activate(V2)), activate(V1), activate(V2))] 704.90/185.73 704.90/185.73 [U33^#(tt(), V1, V2)] = [4] V1 + [4] V2 + [0] 704.90/185.73 >= [4] V2 + [0] 704.90/185.73 = [isNatKind^#(activate(V2))] 704.90/185.73 704.90/185.73 [U33^#(tt(), V1, V2)] = [4] V1 + [4] V2 + [0] 704.90/185.73 >= [4] V1 + [4] V2 + [0] 704.90/185.73 = [U34^#(isNatKind(activate(V2)), activate(V1), activate(V2))] 704.90/185.73 704.90/185.73 [U34^#(tt(), V1, V2)] = [4] V1 + [4] V2 + [0] 704.90/185.73 >= [4] V1 + [0] 704.90/185.73 = [isNat^#(activate(V1))] 704.90/185.73 704.90/185.73 [U34^#(tt(), V1, V2)] = [4] V1 + [4] V2 + [0] 704.90/185.73 >= [4] V2 + [0] 704.90/185.73 = [U35^#(isNat(activate(V1)), activate(V2))] 704.90/185.73 704.90/185.74 [U35^#(tt(), V2)] = [4] V2 + [0] 704.90/185.74 >= [4] V2 + [0] 704.90/185.74 = [isNat^#(activate(V2))] 704.90/185.74 704.90/185.74 [U71^#(tt(), N)] = [7] N + [7] 704.90/185.74 > [4] N + [0] 704.90/185.74 = [isNatKind^#(activate(N))] 704.90/185.74 704.90/185.74 [U81^#(tt(), M, N)] = [7] M + [7] N + [1] 704.90/185.74 > [4] M + [0] 704.90/185.74 = [isNatKind^#(activate(M))] 704.90/185.74 704.90/185.74 [U81^#(tt(), M, N)] = [7] M + [7] N + [1] 704.90/185.74 > [4] M + [4] N + [0] 704.90/185.74 = [U82^#(isNatKind(activate(M)), activate(M), activate(N))] 704.90/185.74 704.90/185.74 [U82^#(tt(), M, N)] = [4] M + [4] N + [0] 704.90/185.74 >= [4] N + [0] 704.90/185.74 = [isNat^#(activate(N))] 704.90/185.74 704.90/185.74 [U82^#(tt(), M, N)] = [4] M + [4] N + [0] 704.90/185.74 >= [4] N + [0] 704.90/185.74 = [U83^#(isNat(activate(N)), activate(M), activate(N))] 704.90/185.74 704.90/185.74 [U83^#(tt(), M, N)] = [4] N + [0] 704.90/185.74 >= [4] N + [0] 704.90/185.74 = [isNatKind^#(activate(N))] 704.90/185.74 704.90/185.74 [U91^#(tt(), N)] = [7] N + [7] 704.90/185.74 > [4] N + [0] 704.90/185.74 = [isNatKind^#(activate(N))] 704.90/185.74 704.90/185.74 704.90/185.74 We return to the main proof. Consider the set of all dependency 704.90/185.74 pairs 704.90/185.74 704.90/185.74 : 704.90/185.74 { 1: isNatKind^#(n__plus(V1, V2)) -> 704.90/185.74 c_3(U41^#(isNatKind(activate(V1)), activate(V2)), 704.90/185.74 isNatKind^#(activate(V1))) 704.90/185.74 , 2: isNatKind^#(n__s(V1)) -> c_4(isNatKind^#(activate(V1))) 704.90/185.74 , 3: isNatKind^#(n__x(V1, V2)) -> 704.90/185.74 c_5(U61^#(isNatKind(activate(V1)), activate(V2)), 704.90/185.74 isNatKind^#(activate(V1))) 704.90/185.74 , 4: U41^#(tt(), V2) -> c_10(isNatKind^#(activate(V2))) 704.90/185.74 , 5: U61^#(tt(), V2) -> c_11(isNatKind^#(activate(V2))) 704.90/185.74 , 6: U101^#(tt(), M, N) -> 704.90/185.74 U102^#(isNatKind(activate(M)), activate(M), activate(N)) 704.90/185.74 , 7: U101^#(tt(), M, N) -> isNatKind^#(activate(M)) 704.90/185.74 , 8: U102^#(tt(), M, N) -> 704.90/185.74 U103^#(isNat(activate(N)), activate(M), activate(N)) 704.90/185.74 , 9: U102^#(tt(), M, N) -> isNat^#(activate(N)) 704.90/185.74 , 10: U103^#(tt(), M, N) -> isNatKind^#(activate(N)) 704.90/185.74 , 11: isNat^#(n__plus(V1, V2)) -> isNatKind^#(activate(V1)) 704.90/185.74 , 12: isNat^#(n__plus(V1, V2)) -> 704.90/185.74 U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.74 , 13: isNat^#(n__s(V1)) -> isNatKind^#(activate(V1)) 704.90/185.74 , 14: isNat^#(n__s(V1)) -> 704.90/185.74 U21^#(isNatKind(activate(V1)), activate(V1)) 704.90/185.74 , 15: isNat^#(n__x(V1, V2)) -> isNatKind^#(activate(V1)) 704.90/185.74 , 16: isNat^#(n__x(V1, V2)) -> 704.90/185.74 U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.74 , 17: U11^#(tt(), V1, V2) -> isNatKind^#(activate(V1)) 704.90/185.74 , 18: U11^#(tt(), V1, V2) -> 704.90/185.74 U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.74 , 19: U21^#(tt(), V1) -> isNatKind^#(activate(V1)) 704.90/185.74 , 20: U21^#(tt(), V1) -> 704.90/185.74 U22^#(isNatKind(activate(V1)), activate(V1)) 704.90/185.74 , 21: U31^#(tt(), V1, V2) -> isNatKind^#(activate(V1)) 704.90/185.74 , 22: U31^#(tt(), V1, V2) -> 704.90/185.74 U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.74 , 23: U12^#(tt(), V1, V2) -> isNatKind^#(activate(V2)) 704.90/185.74 , 24: U12^#(tt(), V1, V2) -> 704.90/185.74 U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.74 , 25: U13^#(tt(), V1, V2) -> isNatKind^#(activate(V2)) 704.90/185.74 , 26: U13^#(tt(), V1, V2) -> 704.90/185.74 U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.74 , 27: U14^#(tt(), V1, V2) -> isNat^#(activate(V1)) 704.90/185.74 , 28: U14^#(tt(), V1, V2) -> 704.90/185.74 U15^#(isNat(activate(V1)), activate(V2)) 704.90/185.74 , 29: U15^#(tt(), V2) -> isNat^#(activate(V2)) 704.90/185.74 , 30: U22^#(tt(), V1) -> isNat^#(activate(V1)) 704.90/185.74 , 31: U32^#(tt(), V1, V2) -> isNatKind^#(activate(V2)) 704.90/185.74 , 32: U32^#(tt(), V1, V2) -> 704.90/185.74 U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.74 , 33: U33^#(tt(), V1, V2) -> isNatKind^#(activate(V2)) 704.90/185.74 , 34: U33^#(tt(), V1, V2) -> 704.90/185.74 U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.74 , 35: U34^#(tt(), V1, V2) -> isNat^#(activate(V1)) 704.90/185.74 , 36: U34^#(tt(), V1, V2) -> 704.90/185.74 U35^#(isNat(activate(V1)), activate(V2)) 704.90/185.74 , 37: U35^#(tt(), V2) -> isNat^#(activate(V2)) 704.90/185.74 , 38: U71^#(tt(), N) -> isNatKind^#(activate(N)) 704.90/185.74 , 39: U81^#(tt(), M, N) -> isNatKind^#(activate(M)) 704.90/185.74 , 40: U81^#(tt(), M, N) -> 704.90/185.74 U82^#(isNatKind(activate(M)), activate(M), activate(N)) 704.90/185.74 , 41: U82^#(tt(), M, N) -> isNat^#(activate(N)) 704.90/185.74 , 42: U82^#(tt(), M, N) -> 704.90/185.74 U83^#(isNat(activate(N)), activate(M), activate(N)) 704.90/185.74 , 43: U83^#(tt(), M, N) -> isNatKind^#(activate(N)) 704.90/185.74 , 44: U91^#(tt(), N) -> isNatKind^#(activate(N)) } 704.90/185.74 704.90/185.74 Processor 'matrix interpretation of dimension 1' induces the 704.90/185.74 complexity certificate YES(?,O(n^1)) on application of dependency 704.90/185.74 pairs {3,5,6,7,9,10,15,16,38,39,40,44}. These cover all (indirect) 704.90/185.74 predecessors of dependency pairs 704.90/185.74 {3,5,6,7,8,9,10,15,16,21,22,31,32,33,34,35,36,37,38,39,40,41,42,43,44}, 704.90/185.74 their number of application is equally bounded. The dependency 704.90/185.74 pairs are shifted into the weak component. 704.90/185.74 704.90/185.74 We are left with following problem, upon which TcT provides the 704.90/185.74 certificate YES(O(1),O(n^1)). 704.90/185.74 704.90/185.74 Strict DPs: 704.90/185.74 { isNatKind^#(n__plus(V1, V2)) -> 704.90/185.74 c_3(U41^#(isNatKind(activate(V1)), activate(V2)), 704.90/185.74 isNatKind^#(activate(V1))) 704.90/185.74 , isNatKind^#(n__s(V1)) -> c_4(isNatKind^#(activate(V1))) 704.90/185.74 , U41^#(tt(), V2) -> c_10(isNatKind^#(activate(V2))) } 704.90/185.74 Weak DPs: 704.90/185.74 { U101^#(tt(), M, N) -> 704.90/185.74 U102^#(isNatKind(activate(M)), activate(M), activate(N)) 704.90/185.74 , U101^#(tt(), M, N) -> isNatKind^#(activate(M)) 704.90/185.74 , U102^#(tt(), M, N) -> 704.90/185.74 U103^#(isNat(activate(N)), activate(M), activate(N)) 704.90/185.74 , U102^#(tt(), M, N) -> isNat^#(activate(N)) 704.90/185.74 , isNatKind^#(n__x(V1, V2)) -> 704.90/185.74 c_5(U61^#(isNatKind(activate(V1)), activate(V2)), 704.90/185.74 isNatKind^#(activate(V1))) 704.90/185.74 , U103^#(tt(), M, N) -> isNatKind^#(activate(N)) 704.90/185.74 , isNat^#(n__plus(V1, V2)) -> isNatKind^#(activate(V1)) 704.90/185.74 , isNat^#(n__plus(V1, V2)) -> 704.90/185.74 U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.74 , isNat^#(n__s(V1)) -> isNatKind^#(activate(V1)) 704.90/185.74 , isNat^#(n__s(V1)) -> U21^#(isNatKind(activate(V1)), activate(V1)) 704.90/185.74 , isNat^#(n__x(V1, V2)) -> isNatKind^#(activate(V1)) 704.90/185.74 , isNat^#(n__x(V1, V2)) -> 704.90/185.74 U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.74 , U61^#(tt(), V2) -> c_11(isNatKind^#(activate(V2))) 704.90/185.74 , U11^#(tt(), V1, V2) -> isNatKind^#(activate(V1)) 704.90/185.74 , U11^#(tt(), V1, V2) -> 704.90/185.74 U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.74 , U21^#(tt(), V1) -> isNatKind^#(activate(V1)) 704.90/185.74 , U21^#(tt(), V1) -> U22^#(isNatKind(activate(V1)), activate(V1)) 704.90/185.74 , U31^#(tt(), V1, V2) -> isNatKind^#(activate(V1)) 704.90/185.74 , U31^#(tt(), V1, V2) -> 704.90/185.74 U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.74 , U12^#(tt(), V1, V2) -> isNatKind^#(activate(V2)) 704.90/185.74 , U12^#(tt(), V1, V2) -> 704.90/185.74 U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.74 , U13^#(tt(), V1, V2) -> isNatKind^#(activate(V2)) 704.90/185.74 , U13^#(tt(), V1, V2) -> 704.90/185.74 U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.74 , U14^#(tt(), V1, V2) -> isNat^#(activate(V1)) 704.90/185.74 , U14^#(tt(), V1, V2) -> U15^#(isNat(activate(V1)), activate(V2)) 704.90/185.74 , U15^#(tt(), V2) -> isNat^#(activate(V2)) 704.90/185.74 , U22^#(tt(), V1) -> isNat^#(activate(V1)) 704.90/185.74 , U32^#(tt(), V1, V2) -> isNatKind^#(activate(V2)) 704.90/185.74 , U32^#(tt(), V1, V2) -> 704.90/185.74 U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.74 , U33^#(tt(), V1, V2) -> isNatKind^#(activate(V2)) 704.90/185.74 , U33^#(tt(), V1, V2) -> 704.90/185.74 U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.74 , U34^#(tt(), V1, V2) -> isNat^#(activate(V1)) 704.90/185.74 , U34^#(tt(), V1, V2) -> U35^#(isNat(activate(V1)), activate(V2)) 704.90/185.74 , U35^#(tt(), V2) -> isNat^#(activate(V2)) 704.90/185.74 , U71^#(tt(), N) -> isNatKind^#(activate(N)) 704.90/185.74 , U81^#(tt(), M, N) -> isNatKind^#(activate(M)) 704.90/185.74 , U81^#(tt(), M, N) -> 704.90/185.74 U82^#(isNatKind(activate(M)), activate(M), activate(N)) 704.90/185.74 , U82^#(tt(), M, N) -> isNat^#(activate(N)) 704.90/185.74 , U82^#(tt(), M, N) -> 704.90/185.74 U83^#(isNat(activate(N)), activate(M), activate(N)) 704.90/185.74 , U83^#(tt(), M, N) -> isNatKind^#(activate(N)) 704.90/185.74 , U91^#(tt(), N) -> isNatKind^#(activate(N)) } 704.90/185.74 Weak Trs: 704.90/185.74 { isNatKind(n__0()) -> tt() 704.90/185.74 , isNatKind(n__plus(V1, V2)) -> 704.90/185.74 U41(isNatKind(activate(V1)), activate(V2)) 704.90/185.74 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.90/185.74 , isNatKind(n__x(V1, V2)) -> 704.90/185.74 U61(isNatKind(activate(V1)), activate(V2)) 704.90/185.74 , activate(X) -> X 704.90/185.74 , activate(n__0()) -> 0() 704.90/185.74 , activate(n__plus(X1, X2)) -> plus(X1, X2) 704.90/185.74 , activate(n__s(X)) -> s(X) 704.90/185.74 , activate(n__x(X1, X2)) -> x(X1, X2) 704.90/185.74 , isNat(n__0()) -> tt() 704.90/185.74 , isNat(n__plus(V1, V2)) -> 704.90/185.74 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.74 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 704.90/185.74 , isNat(n__x(V1, V2)) -> 704.90/185.74 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.74 , plus(X1, X2) -> n__plus(X1, X2) 704.90/185.74 , x(X1, X2) -> n__x(X1, X2) 704.90/185.74 , U11(tt(), V1, V2) -> 704.90/185.74 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.74 , U12(tt(), V1, V2) -> 704.90/185.74 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.74 , U13(tt(), V1, V2) -> 704.90/185.74 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.74 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 704.90/185.74 , U15(tt(), V2) -> U16(isNat(activate(V2))) 704.90/185.74 , U16(tt()) -> tt() 704.90/185.74 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 704.90/185.74 , U22(tt(), V1) -> U23(isNat(activate(V1))) 704.90/185.74 , U23(tt()) -> tt() 704.90/185.74 , U31(tt(), V1, V2) -> 704.90/185.74 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.74 , U32(tt(), V1, V2) -> 704.90/185.74 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.74 , U33(tt(), V1, V2) -> 704.90/185.74 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.74 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 704.90/185.74 , U35(tt(), V2) -> U36(isNat(activate(V2))) 704.90/185.74 , U36(tt()) -> tt() 704.90/185.74 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 704.90/185.74 , U42(tt()) -> tt() 704.90/185.74 , U51(tt()) -> tt() 704.90/185.74 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 704.90/185.74 , U62(tt()) -> tt() 704.90/185.74 , s(X) -> n__s(X) 704.90/185.74 , 0() -> n__0() } 704.90/185.74 Obligation: 704.90/185.74 innermost runtime complexity 704.90/185.74 Answer: 704.90/185.74 YES(O(1),O(n^1)) 704.90/185.74 704.90/185.74 We use the processor 'matrix interpretation of dimension 1' to 704.90/185.74 orient following rules strictly. 704.90/185.74 704.90/185.74 DPs: 704.90/185.74 { 2: isNatKind^#(n__s(V1)) -> c_4(isNatKind^#(activate(V1))) 704.90/185.74 , 4: U101^#(tt(), M, N) -> 704.90/185.74 U102^#(isNatKind(activate(M)), activate(M), activate(N)) 704.90/185.74 , 5: U101^#(tt(), M, N) -> isNatKind^#(activate(M)) 704.90/185.74 , 6: U102^#(tt(), M, N) -> 704.90/185.74 U103^#(isNat(activate(N)), activate(M), activate(N)) 704.90/185.74 , 10: isNat^#(n__plus(V1, V2)) -> isNatKind^#(activate(V1)) 704.90/185.74 , 12: isNat^#(n__s(V1)) -> isNatKind^#(activate(V1)) 704.90/185.74 , 13: isNat^#(n__s(V1)) -> 704.90/185.74 U21^#(isNatKind(activate(V1)), activate(V1)) 704.90/185.74 , 14: isNat^#(n__x(V1, V2)) -> isNatKind^#(activate(V1)) 704.90/185.74 , 15: isNat^#(n__x(V1, V2)) -> 704.90/185.74 U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.74 , 16: U61^#(tt(), V2) -> c_11(isNatKind^#(activate(V2))) 704.90/185.74 , 17: U11^#(tt(), V1, V2) -> isNatKind^#(activate(V1)) 704.90/185.74 , 19: U21^#(tt(), V1) -> isNatKind^#(activate(V1)) 704.90/185.74 , 21: U31^#(tt(), V1, V2) -> isNatKind^#(activate(V1)) 704.90/185.74 , 23: U12^#(tt(), V1, V2) -> isNatKind^#(activate(V2)) 704.90/185.74 , 25: U13^#(tt(), V1, V2) -> isNatKind^#(activate(V2)) 704.90/185.74 , 31: U32^#(tt(), V1, V2) -> isNatKind^#(activate(V2)) 704.90/185.74 , 33: U33^#(tt(), V1, V2) -> isNatKind^#(activate(V2)) 704.90/185.74 , 38: U71^#(tt(), N) -> isNatKind^#(activate(N)) 704.90/185.74 , 39: U81^#(tt(), M, N) -> isNatKind^#(activate(M)) 704.90/185.74 , 40: U81^#(tt(), M, N) -> 704.90/185.74 U82^#(isNatKind(activate(M)), activate(M), activate(N)) 704.90/185.74 , 42: U82^#(tt(), M, N) -> 704.90/185.74 U83^#(isNat(activate(N)), activate(M), activate(N)) 704.90/185.74 , 44: U91^#(tt(), N) -> isNatKind^#(activate(N)) } 704.90/185.74 704.90/185.74 Sub-proof: 704.90/185.74 ---------- 704.90/185.74 The following argument positions are usable: 704.90/185.74 Uargs(c_3) = {1, 2}, Uargs(c_4) = {1}, Uargs(c_5) = {1, 2}, 704.90/185.74 Uargs(c_10) = {1}, Uargs(c_11) = {1} 704.90/185.74 704.90/185.74 TcT has computed the following constructor-based matrix 704.90/185.74 interpretation satisfying not(EDA). 704.90/185.74 704.90/185.74 [tt] = [0] 704.90/185.74 704.90/185.74 [isNatKind](x1) = [0] 704.90/185.74 704.90/185.74 [activate](x1) = [1] x1 + [0] 704.90/185.74 704.90/185.74 [isNat](x1) = [0] 704.90/185.74 704.90/185.74 [plus](x1, x2) = [1] x1 + [1] x2 + [0] 704.90/185.74 704.90/185.74 [x](x1, x2) = [1] x1 + [1] x2 + [4] 704.90/185.74 704.90/185.74 [U11](x1, x2, x3) = [0] 704.90/185.74 704.90/185.74 [U12](x1, x2, x3) = [0] 704.90/185.74 704.90/185.74 [U13](x1, x2, x3) = [0] 704.90/185.74 704.90/185.74 [U14](x1, x2, x3) = [0] 704.90/185.74 704.90/185.74 [U15](x1, x2) = [0] 704.90/185.74 704.90/185.74 [U16](x1) = [0] 704.90/185.74 704.90/185.74 [U21](x1, x2) = [0] 704.90/185.74 704.90/185.74 [U22](x1, x2) = [0] 704.90/185.74 704.90/185.74 [U23](x1) = [0] 704.90/185.74 704.90/185.74 [U31](x1, x2, x3) = [0] 704.90/185.74 704.90/185.74 [U32](x1, x2, x3) = [0] 704.90/185.74 704.90/185.74 [U33](x1, x2, x3) = [0] 704.90/185.74 704.90/185.74 [U34](x1, x2, x3) = [0] 704.90/185.74 704.90/185.74 [U35](x1, x2) = [0] 704.90/185.74 704.90/185.74 [U36](x1) = [0] 704.90/185.74 704.90/185.74 [U41](x1, x2) = [0] 704.90/185.74 704.90/185.74 [U42](x1) = [0] 704.90/185.74 704.90/185.74 [U51](x1) = [0] 704.90/185.74 704.90/185.74 [U61](x1, x2) = [0] 704.90/185.74 704.90/185.74 [U62](x1) = [0] 704.90/185.74 704.90/185.74 [s](x1) = [1] x1 + [4] 704.90/185.74 704.90/185.74 [0] = [0] 704.90/185.74 704.90/185.74 [n__0] = [0] 704.90/185.74 704.90/185.74 [n__plus](x1, x2) = [1] x1 + [1] x2 + [0] 704.90/185.74 704.90/185.74 [n__s](x1) = [1] x1 + [4] 704.90/185.74 704.90/185.74 [n__x](x1, x2) = [1] x1 + [1] x2 + [4] 704.90/185.74 704.90/185.74 [U101^#](x1, x2, x3) = [7] x1 + [7] x2 + [7] x3 + [7] 704.90/185.74 704.90/185.74 [U102^#](x1, x2, x3) = [4] x3 + [4] 704.90/185.74 704.90/185.74 [isNatKind^#](x1) = [1] x1 + [0] 704.90/185.74 704.90/185.74 [U103^#](x1, x2, x3) = [2] x3 + [0] 704.90/185.74 704.90/185.74 [isNat^#](x1) = [1] x1 + [4] 704.90/185.74 704.90/185.74 [U41^#](x1, x2) = [1] x2 + [0] 704.90/185.74 704.90/185.74 [U61^#](x1, x2) = [1] x2 + [4] 704.90/185.74 704.90/185.74 [U11^#](x1, x2, x3) = [1] x2 + [1] x3 + [4] 704.90/185.74 704.90/185.74 [U21^#](x1, x2) = [1] x2 + [4] 704.90/185.74 704.90/185.74 [U31^#](x1, x2, x3) = [1] x2 + [1] x3 + [4] 704.90/185.74 704.90/185.74 [U12^#](x1, x2, x3) = [1] x2 + [1] x3 + [4] 704.90/185.74 704.90/185.74 [U13^#](x1, x2, x3) = [1] x2 + [1] x3 + [4] 704.90/185.74 704.90/185.74 [U14^#](x1, x2, x3) = [1] x2 + [1] x3 + [4] 704.90/185.74 704.90/185.74 [U15^#](x1, x2) = [1] x2 + [4] 704.90/185.74 704.90/185.74 [U22^#](x1, x2) = [1] x2 + [4] 704.90/185.74 704.90/185.74 [U32^#](x1, x2, x3) = [1] x2 + [1] x3 + [4] 704.90/185.74 704.90/185.74 [U33^#](x1, x2, x3) = [1] x2 + [1] x3 + [4] 704.90/185.74 704.90/185.74 [U34^#](x1, x2, x3) = [1] x2 + [1] x3 + [4] 704.90/185.74 704.90/185.74 [U35^#](x1, x2) = [1] x2 + [4] 704.90/185.74 704.90/185.74 [U71^#](x1, x2) = [7] x1 + [7] x2 + [7] 704.90/185.74 704.90/185.74 [U81^#](x1, x2, x3) = [7] x1 + [7] x2 + [7] x3 + [5] 704.90/185.74 704.90/185.74 [U82^#](x1, x2, x3) = [4] x2 + [4] x3 + [4] 704.90/185.74 704.90/185.74 [U83^#](x1, x2, x3) = [2] x3 + [0] 704.90/185.74 704.90/185.74 [U91^#](x1, x2) = [7] x1 + [7] x2 + [7] 704.90/185.74 704.90/185.74 [c_3](x1, x2) = [1] x1 + [1] x2 + [0] 704.90/185.74 704.90/185.74 [c_4](x1) = [1] x1 + [1] 704.90/185.74 704.90/185.74 [c_5](x1, x2) = [1] x1 + [1] x2 + [0] 704.90/185.74 704.90/185.74 [c_10](x1) = [1] x1 + [0] 704.90/185.74 704.90/185.74 [c_11](x1) = [1] x1 + [3] 704.90/185.74 704.90/185.74 The order satisfies the following ordering constraints: 704.90/185.74 704.90/185.74 [isNatKind(n__0())] = [0] 704.90/185.74 >= [0] 704.90/185.74 = [tt()] 704.90/185.74 704.90/185.74 [isNatKind(n__plus(V1, V2))] = [0] 704.90/185.74 >= [0] 704.90/185.74 = [U41(isNatKind(activate(V1)), activate(V2))] 704.90/185.74 704.90/185.74 [isNatKind(n__s(V1))] = [0] 704.90/185.74 >= [0] 704.90/185.74 = [U51(isNatKind(activate(V1)))] 704.90/185.74 704.90/185.74 [isNatKind(n__x(V1, V2))] = [0] 704.90/185.74 >= [0] 704.90/185.74 = [U61(isNatKind(activate(V1)), activate(V2))] 704.90/185.74 704.90/185.74 [activate(X)] = [1] X + [0] 704.90/185.74 >= [1] X + [0] 704.90/185.74 = [X] 704.90/185.74 704.90/185.74 [activate(n__0())] = [0] 704.90/185.74 >= [0] 704.90/185.74 = [0()] 704.90/185.74 704.90/185.74 [activate(n__plus(X1, X2))] = [1] X1 + [1] X2 + [0] 704.90/185.74 >= [1] X1 + [1] X2 + [0] 704.90/185.74 = [plus(X1, X2)] 704.90/185.74 704.90/185.74 [activate(n__s(X))] = [1] X + [4] 704.90/185.74 >= [1] X + [4] 704.90/185.74 = [s(X)] 704.90/185.74 704.90/185.74 [activate(n__x(X1, X2))] = [1] X1 + [1] X2 + [4] 704.90/185.74 >= [1] X1 + [1] X2 + [4] 704.90/185.74 = [x(X1, X2)] 704.90/185.74 704.90/185.74 [isNat(n__0())] = [0] 704.90/185.74 >= [0] 704.90/185.74 = [tt()] 704.90/185.74 704.90/185.74 [isNat(n__plus(V1, V2))] = [0] 704.90/185.74 >= [0] 704.90/185.74 = [U11(isNatKind(activate(V1)), activate(V1), activate(V2))] 704.90/185.74 704.90/185.74 [isNat(n__s(V1))] = [0] 704.90/185.74 >= [0] 704.90/185.74 = [U21(isNatKind(activate(V1)), activate(V1))] 704.90/185.74 704.90/185.74 [isNat(n__x(V1, V2))] = [0] 704.90/185.74 >= [0] 704.90/185.74 = [U31(isNatKind(activate(V1)), activate(V1), activate(V2))] 704.90/185.74 704.90/185.74 [plus(X1, X2)] = [1] X1 + [1] X2 + [0] 704.90/185.74 >= [1] X1 + [1] X2 + [0] 704.90/185.74 = [n__plus(X1, X2)] 704.90/185.74 704.90/185.74 [x(X1, X2)] = [1] X1 + [1] X2 + [4] 704.90/185.74 >= [1] X1 + [1] X2 + [4] 704.90/185.74 = [n__x(X1, X2)] 704.90/185.74 704.90/185.74 [U11(tt(), V1, V2)] = [0] 704.90/185.74 >= [0] 704.90/185.74 = [U12(isNatKind(activate(V1)), activate(V1), activate(V2))] 704.90/185.74 704.90/185.74 [U12(tt(), V1, V2)] = [0] 704.90/185.74 >= [0] 704.90/185.74 = [U13(isNatKind(activate(V2)), activate(V1), activate(V2))] 704.90/185.74 704.90/185.74 [U13(tt(), V1, V2)] = [0] 704.90/185.74 >= [0] 704.90/185.74 = [U14(isNatKind(activate(V2)), activate(V1), activate(V2))] 704.90/185.74 704.90/185.74 [U14(tt(), V1, V2)] = [0] 704.90/185.74 >= [0] 704.90/185.74 = [U15(isNat(activate(V1)), activate(V2))] 704.90/185.74 704.90/185.74 [U15(tt(), V2)] = [0] 704.90/185.74 >= [0] 704.90/185.74 = [U16(isNat(activate(V2)))] 704.90/185.74 704.90/185.74 [U16(tt())] = [0] 704.90/185.74 >= [0] 704.90/185.74 = [tt()] 704.90/185.74 704.90/185.74 [U21(tt(), V1)] = [0] 704.90/185.74 >= [0] 704.90/185.74 = [U22(isNatKind(activate(V1)), activate(V1))] 704.90/185.74 704.90/185.74 [U22(tt(), V1)] = [0] 704.90/185.74 >= [0] 704.90/185.74 = [U23(isNat(activate(V1)))] 704.90/185.74 704.90/185.74 [U23(tt())] = [0] 704.90/185.74 >= [0] 704.90/185.74 = [tt()] 704.90/185.74 704.90/185.74 [U31(tt(), V1, V2)] = [0] 704.90/185.74 >= [0] 704.90/185.74 = [U32(isNatKind(activate(V1)), activate(V1), activate(V2))] 704.90/185.74 704.90/185.74 [U32(tt(), V1, V2)] = [0] 704.90/185.74 >= [0] 704.90/185.74 = [U33(isNatKind(activate(V2)), activate(V1), activate(V2))] 704.90/185.74 704.90/185.74 [U33(tt(), V1, V2)] = [0] 704.90/185.74 >= [0] 704.90/185.74 = [U34(isNatKind(activate(V2)), activate(V1), activate(V2))] 704.90/185.74 704.90/185.74 [U34(tt(), V1, V2)] = [0] 704.90/185.74 >= [0] 704.90/185.74 = [U35(isNat(activate(V1)), activate(V2))] 704.90/185.74 704.90/185.74 [U35(tt(), V2)] = [0] 704.90/185.74 >= [0] 704.90/185.74 = [U36(isNat(activate(V2)))] 704.90/185.74 704.90/185.74 [U36(tt())] = [0] 704.90/185.74 >= [0] 704.90/185.74 = [tt()] 704.90/185.74 704.90/185.74 [U41(tt(), V2)] = [0] 704.90/185.74 >= [0] 704.90/185.74 = [U42(isNatKind(activate(V2)))] 704.90/185.74 704.90/185.74 [U42(tt())] = [0] 704.90/185.74 >= [0] 704.90/185.74 = [tt()] 704.90/185.74 704.90/185.74 [U51(tt())] = [0] 704.90/185.74 >= [0] 704.90/185.74 = [tt()] 704.90/185.74 704.90/185.74 [U61(tt(), V2)] = [0] 704.90/185.74 >= [0] 704.90/185.74 = [U62(isNatKind(activate(V2)))] 704.90/185.74 704.90/185.74 [U62(tt())] = [0] 704.90/185.74 >= [0] 704.90/185.74 = [tt()] 704.90/185.74 704.90/185.74 [s(X)] = [1] X + [4] 704.90/185.74 >= [1] X + [4] 704.90/185.74 = [n__s(X)] 704.90/185.74 704.90/185.74 [0()] = [0] 704.90/185.74 >= [0] 704.90/185.74 = [n__0()] 704.90/185.74 704.90/185.74 [U101^#(tt(), M, N)] = [7] M + [7] N + [7] 704.90/185.74 > [4] N + [4] 704.90/185.74 = [U102^#(isNatKind(activate(M)), activate(M), activate(N))] 704.90/185.74 704.90/185.74 [U101^#(tt(), M, N)] = [7] M + [7] N + [7] 704.90/185.74 > [1] M + [0] 704.90/185.74 = [isNatKind^#(activate(M))] 704.90/185.74 704.90/185.74 [U102^#(tt(), M, N)] = [4] N + [4] 704.90/185.74 > [2] N + [0] 704.90/185.74 = [U103^#(isNat(activate(N)), activate(M), activate(N))] 704.90/185.74 704.90/185.74 [U102^#(tt(), M, N)] = [4] N + [4] 704.90/185.74 >= [1] N + [4] 704.90/185.74 = [isNat^#(activate(N))] 704.90/185.74 704.90/185.74 [isNatKind^#(n__plus(V1, V2))] = [1] V1 + [1] V2 + [0] 704.90/185.74 >= [1] V1 + [1] V2 + [0] 704.90/185.74 = [c_3(U41^#(isNatKind(activate(V1)), activate(V2)), 704.90/185.74 isNatKind^#(activate(V1)))] 704.90/185.74 704.90/185.74 [isNatKind^#(n__s(V1))] = [1] V1 + [4] 704.90/185.74 > [1] V1 + [1] 704.90/185.74 = [c_4(isNatKind^#(activate(V1)))] 704.90/185.74 704.90/185.74 [isNatKind^#(n__x(V1, V2))] = [1] V1 + [1] V2 + [4] 704.90/185.74 >= [1] V1 + [1] V2 + [4] 704.90/185.74 = [c_5(U61^#(isNatKind(activate(V1)), activate(V2)), 704.90/185.74 isNatKind^#(activate(V1)))] 704.90/185.74 704.90/185.74 [U103^#(tt(), M, N)] = [2] N + [0] 704.90/185.74 >= [1] N + [0] 704.90/185.74 = [isNatKind^#(activate(N))] 704.90/185.74 704.90/185.74 [isNat^#(n__plus(V1, V2))] = [1] V1 + [1] V2 + [4] 704.90/185.75 > [1] V1 + [0] 704.90/185.75 = [isNatKind^#(activate(V1))] 704.90/185.75 704.90/185.75 [isNat^#(n__plus(V1, V2))] = [1] V1 + [1] V2 + [4] 704.90/185.75 >= [1] V1 + [1] V2 + [4] 704.90/185.75 = [U11^#(isNatKind(activate(V1)), activate(V1), activate(V2))] 704.90/185.75 704.90/185.75 [isNat^#(n__s(V1))] = [1] V1 + [8] 704.90/185.75 > [1] V1 + [0] 704.90/185.75 = [isNatKind^#(activate(V1))] 704.90/185.75 704.90/185.75 [isNat^#(n__s(V1))] = [1] V1 + [8] 704.90/185.75 > [1] V1 + [4] 704.90/185.75 = [U21^#(isNatKind(activate(V1)), activate(V1))] 704.90/185.75 704.90/185.75 [isNat^#(n__x(V1, V2))] = [1] V1 + [1] V2 + [8] 704.90/185.75 > [1] V1 + [0] 704.90/185.75 = [isNatKind^#(activate(V1))] 704.90/185.75 704.90/185.75 [isNat^#(n__x(V1, V2))] = [1] V1 + [1] V2 + [8] 704.90/185.75 > [1] V1 + [1] V2 + [4] 704.90/185.75 = [U31^#(isNatKind(activate(V1)), activate(V1), activate(V2))] 704.90/185.75 704.90/185.75 [U41^#(tt(), V2)] = [1] V2 + [0] 704.90/185.75 >= [1] V2 + [0] 704.90/185.75 = [c_10(isNatKind^#(activate(V2)))] 704.90/185.75 704.90/185.75 [U61^#(tt(), V2)] = [1] V2 + [4] 704.90/185.75 > [1] V2 + [3] 704.90/185.75 = [c_11(isNatKind^#(activate(V2)))] 704.90/185.75 704.90/185.75 [U11^#(tt(), V1, V2)] = [1] V1 + [1] V2 + [4] 704.90/185.75 > [1] V1 + [0] 704.90/185.75 = [isNatKind^#(activate(V1))] 704.90/185.75 704.90/185.75 [U11^#(tt(), V1, V2)] = [1] V1 + [1] V2 + [4] 704.90/185.75 >= [1] V1 + [1] V2 + [4] 704.90/185.75 = [U12^#(isNatKind(activate(V1)), activate(V1), activate(V2))] 704.90/185.75 704.90/185.75 [U21^#(tt(), V1)] = [1] V1 + [4] 704.90/185.75 > [1] V1 + [0] 704.90/185.75 = [isNatKind^#(activate(V1))] 704.90/185.75 704.90/185.75 [U21^#(tt(), V1)] = [1] V1 + [4] 704.90/185.75 >= [1] V1 + [4] 704.90/185.75 = [U22^#(isNatKind(activate(V1)), activate(V1))] 704.90/185.75 704.90/185.75 [U31^#(tt(), V1, V2)] = [1] V1 + [1] V2 + [4] 704.90/185.75 > [1] V1 + [0] 704.90/185.75 = [isNatKind^#(activate(V1))] 704.90/185.75 704.90/185.75 [U31^#(tt(), V1, V2)] = [1] V1 + [1] V2 + [4] 704.90/185.75 >= [1] V1 + [1] V2 + [4] 704.90/185.75 = [U32^#(isNatKind(activate(V1)), activate(V1), activate(V2))] 704.90/185.75 704.90/185.75 [U12^#(tt(), V1, V2)] = [1] V1 + [1] V2 + [4] 704.90/185.75 > [1] V2 + [0] 704.90/185.75 = [isNatKind^#(activate(V2))] 704.90/185.75 704.90/185.75 [U12^#(tt(), V1, V2)] = [1] V1 + [1] V2 + [4] 704.90/185.75 >= [1] V1 + [1] V2 + [4] 704.90/185.75 = [U13^#(isNatKind(activate(V2)), activate(V1), activate(V2))] 704.90/185.75 704.90/185.75 [U13^#(tt(), V1, V2)] = [1] V1 + [1] V2 + [4] 704.90/185.75 > [1] V2 + [0] 704.90/185.75 = [isNatKind^#(activate(V2))] 704.90/185.75 704.90/185.75 [U13^#(tt(), V1, V2)] = [1] V1 + [1] V2 + [4] 704.90/185.75 >= [1] V1 + [1] V2 + [4] 704.90/185.75 = [U14^#(isNatKind(activate(V2)), activate(V1), activate(V2))] 704.90/185.75 704.90/185.75 [U14^#(tt(), V1, V2)] = [1] V1 + [1] V2 + [4] 704.90/185.75 >= [1] V1 + [4] 704.90/185.75 = [isNat^#(activate(V1))] 704.90/185.75 704.90/185.75 [U14^#(tt(), V1, V2)] = [1] V1 + [1] V2 + [4] 704.90/185.75 >= [1] V2 + [4] 704.90/185.75 = [U15^#(isNat(activate(V1)), activate(V2))] 704.90/185.75 704.90/185.75 [U15^#(tt(), V2)] = [1] V2 + [4] 704.90/185.75 >= [1] V2 + [4] 704.90/185.75 = [isNat^#(activate(V2))] 704.90/185.75 704.90/185.75 [U22^#(tt(), V1)] = [1] V1 + [4] 704.90/185.75 >= [1] V1 + [4] 704.90/185.75 = [isNat^#(activate(V1))] 704.90/185.75 704.90/185.75 [U32^#(tt(), V1, V2)] = [1] V1 + [1] V2 + [4] 704.90/185.75 > [1] V2 + [0] 704.90/185.75 = [isNatKind^#(activate(V2))] 704.90/185.75 704.90/185.75 [U32^#(tt(), V1, V2)] = [1] V1 + [1] V2 + [4] 704.90/185.75 >= [1] V1 + [1] V2 + [4] 704.90/185.75 = [U33^#(isNatKind(activate(V2)), activate(V1), activate(V2))] 704.90/185.75 704.90/185.75 [U33^#(tt(), V1, V2)] = [1] V1 + [1] V2 + [4] 704.90/185.75 > [1] V2 + [0] 704.90/185.75 = [isNatKind^#(activate(V2))] 704.90/185.75 704.90/185.75 [U33^#(tt(), V1, V2)] = [1] V1 + [1] V2 + [4] 704.90/185.75 >= [1] V1 + [1] V2 + [4] 704.90/185.75 = [U34^#(isNatKind(activate(V2)), activate(V1), activate(V2))] 704.90/185.75 704.90/185.75 [U34^#(tt(), V1, V2)] = [1] V1 + [1] V2 + [4] 704.90/185.75 >= [1] V1 + [4] 704.90/185.75 = [isNat^#(activate(V1))] 704.90/185.75 704.90/185.75 [U34^#(tt(), V1, V2)] = [1] V1 + [1] V2 + [4] 704.90/185.75 >= [1] V2 + [4] 704.90/185.75 = [U35^#(isNat(activate(V1)), activate(V2))] 704.90/185.75 704.90/185.75 [U35^#(tt(), V2)] = [1] V2 + [4] 704.90/185.75 >= [1] V2 + [4] 704.90/185.75 = [isNat^#(activate(V2))] 704.90/185.75 704.90/185.75 [U71^#(tt(), N)] = [7] N + [7] 704.90/185.75 > [1] N + [0] 704.90/185.75 = [isNatKind^#(activate(N))] 704.90/185.75 704.90/185.75 [U81^#(tt(), M, N)] = [7] M + [7] N + [5] 704.90/185.75 > [1] M + [0] 704.90/185.75 = [isNatKind^#(activate(M))] 704.90/185.75 704.90/185.75 [U81^#(tt(), M, N)] = [7] M + [7] N + [5] 704.90/185.75 > [4] M + [4] N + [4] 704.90/185.75 = [U82^#(isNatKind(activate(M)), activate(M), activate(N))] 704.90/185.75 704.90/185.75 [U82^#(tt(), M, N)] = [4] M + [4] N + [4] 704.90/185.75 >= [1] N + [4] 704.90/185.75 = [isNat^#(activate(N))] 704.90/185.75 704.90/185.75 [U82^#(tt(), M, N)] = [4] M + [4] N + [4] 704.90/185.75 > [2] N + [0] 704.90/185.75 = [U83^#(isNat(activate(N)), activate(M), activate(N))] 704.90/185.75 704.90/185.75 [U83^#(tt(), M, N)] = [2] N + [0] 704.90/185.75 >= [1] N + [0] 704.90/185.75 = [isNatKind^#(activate(N))] 704.90/185.75 704.90/185.75 [U91^#(tt(), N)] = [7] N + [7] 704.90/185.75 > [1] N + [0] 704.90/185.75 = [isNatKind^#(activate(N))] 704.90/185.75 704.90/185.75 704.90/185.75 We return to the main proof. Consider the set of all dependency 704.90/185.75 pairs 704.90/185.75 704.90/185.75 : 704.90/185.75 { 1: isNatKind^#(n__plus(V1, V2)) -> 704.90/185.75 c_3(U41^#(isNatKind(activate(V1)), activate(V2)), 704.90/185.75 isNatKind^#(activate(V1))) 704.90/185.75 , 2: isNatKind^#(n__s(V1)) -> c_4(isNatKind^#(activate(V1))) 704.90/185.75 , 3: U41^#(tt(), V2) -> c_10(isNatKind^#(activate(V2))) 704.90/185.75 , 4: U101^#(tt(), M, N) -> 704.90/185.75 U102^#(isNatKind(activate(M)), activate(M), activate(N)) 704.90/185.75 , 5: U101^#(tt(), M, N) -> isNatKind^#(activate(M)) 704.90/185.75 , 6: U102^#(tt(), M, N) -> 704.90/185.75 U103^#(isNat(activate(N)), activate(M), activate(N)) 704.90/185.75 , 7: U102^#(tt(), M, N) -> isNat^#(activate(N)) 704.90/185.75 , 8: isNatKind^#(n__x(V1, V2)) -> 704.90/185.75 c_5(U61^#(isNatKind(activate(V1)), activate(V2)), 704.90/185.75 isNatKind^#(activate(V1))) 704.90/185.75 , 9: U103^#(tt(), M, N) -> isNatKind^#(activate(N)) 704.90/185.75 , 10: isNat^#(n__plus(V1, V2)) -> isNatKind^#(activate(V1)) 704.90/185.75 , 11: isNat^#(n__plus(V1, V2)) -> 704.90/185.75 U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.75 , 12: isNat^#(n__s(V1)) -> isNatKind^#(activate(V1)) 704.90/185.75 , 13: isNat^#(n__s(V1)) -> 704.90/185.75 U21^#(isNatKind(activate(V1)), activate(V1)) 704.90/185.75 , 14: isNat^#(n__x(V1, V2)) -> isNatKind^#(activate(V1)) 704.90/185.75 , 15: isNat^#(n__x(V1, V2)) -> 704.90/185.75 U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.75 , 16: U61^#(tt(), V2) -> c_11(isNatKind^#(activate(V2))) 704.90/185.75 , 17: U11^#(tt(), V1, V2) -> isNatKind^#(activate(V1)) 704.90/185.75 , 18: U11^#(tt(), V1, V2) -> 704.90/185.75 U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.75 , 19: U21^#(tt(), V1) -> isNatKind^#(activate(V1)) 704.90/185.75 , 20: U21^#(tt(), V1) -> 704.90/185.75 U22^#(isNatKind(activate(V1)), activate(V1)) 704.90/185.75 , 21: U31^#(tt(), V1, V2) -> isNatKind^#(activate(V1)) 704.90/185.75 , 22: U31^#(tt(), V1, V2) -> 704.90/185.75 U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.75 , 23: U12^#(tt(), V1, V2) -> isNatKind^#(activate(V2)) 704.90/185.75 , 24: U12^#(tt(), V1, V2) -> 704.90/185.75 U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.75 , 25: U13^#(tt(), V1, V2) -> isNatKind^#(activate(V2)) 704.90/185.75 , 26: U13^#(tt(), V1, V2) -> 704.90/185.75 U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.75 , 27: U14^#(tt(), V1, V2) -> isNat^#(activate(V1)) 704.90/185.75 , 28: U14^#(tt(), V1, V2) -> 704.90/185.75 U15^#(isNat(activate(V1)), activate(V2)) 704.90/185.75 , 29: U15^#(tt(), V2) -> isNat^#(activate(V2)) 704.90/185.75 , 30: U22^#(tt(), V1) -> isNat^#(activate(V1)) 704.90/185.75 , 31: U32^#(tt(), V1, V2) -> isNatKind^#(activate(V2)) 704.90/185.75 , 32: U32^#(tt(), V1, V2) -> 704.90/185.75 U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.75 , 33: U33^#(tt(), V1, V2) -> isNatKind^#(activate(V2)) 704.90/185.75 , 34: U33^#(tt(), V1, V2) -> 704.90/185.75 U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.75 , 35: U34^#(tt(), V1, V2) -> isNat^#(activate(V1)) 704.90/185.75 , 36: U34^#(tt(), V1, V2) -> 704.90/185.75 U35^#(isNat(activate(V1)), activate(V2)) 704.90/185.75 , 37: U35^#(tt(), V2) -> isNat^#(activate(V2)) 704.90/185.75 , 38: U71^#(tt(), N) -> isNatKind^#(activate(N)) 704.90/185.75 , 39: U81^#(tt(), M, N) -> isNatKind^#(activate(M)) 704.90/185.75 , 40: U81^#(tt(), M, N) -> 704.90/185.75 U82^#(isNatKind(activate(M)), activate(M), activate(N)) 704.90/185.75 , 41: U82^#(tt(), M, N) -> isNat^#(activate(N)) 704.90/185.75 , 42: U82^#(tt(), M, N) -> 704.90/185.75 U83^#(isNat(activate(N)), activate(M), activate(N)) 704.90/185.75 , 43: U83^#(tt(), M, N) -> isNatKind^#(activate(N)) 704.90/185.75 , 44: U91^#(tt(), N) -> isNatKind^#(activate(N)) } 704.90/185.75 704.90/185.75 Processor 'matrix interpretation of dimension 1' induces the 704.90/185.75 complexity certificate YES(?,O(n^1)) on application of dependency 704.90/185.75 pairs 704.90/185.75 {2,4,5,6,10,12,13,14,15,16,17,19,21,23,25,31,33,38,39,40,42,44}. 704.90/185.75 These cover all (indirect) predecessors of dependency pairs 704.90/185.75 {2,4,5,6,7,9,10,12,13,14,15,16,17,19,20,21,22,23,25,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44}, 704.90/185.75 their number of application is equally bounded. The dependency 704.90/185.75 pairs are shifted into the weak component. 704.90/185.75 704.90/185.75 We are left with following problem, upon which TcT provides the 704.90/185.75 certificate YES(O(1),O(n^1)). 704.90/185.75 704.90/185.75 Strict DPs: 704.90/185.75 { isNatKind^#(n__plus(V1, V2)) -> 704.90/185.75 c_3(U41^#(isNatKind(activate(V1)), activate(V2)), 704.90/185.75 isNatKind^#(activate(V1))) 704.90/185.75 , U41^#(tt(), V2) -> c_10(isNatKind^#(activate(V2))) } 704.90/185.75 Weak DPs: 704.90/185.75 { U101^#(tt(), M, N) -> 704.90/185.75 U102^#(isNatKind(activate(M)), activate(M), activate(N)) 704.90/185.75 , U101^#(tt(), M, N) -> isNatKind^#(activate(M)) 704.90/185.75 , U102^#(tt(), M, N) -> 704.90/185.75 U103^#(isNat(activate(N)), activate(M), activate(N)) 704.90/185.75 , U102^#(tt(), M, N) -> isNat^#(activate(N)) 704.90/185.75 , isNatKind^#(n__s(V1)) -> c_4(isNatKind^#(activate(V1))) 704.90/185.75 , isNatKind^#(n__x(V1, V2)) -> 704.90/185.75 c_5(U61^#(isNatKind(activate(V1)), activate(V2)), 704.90/185.75 isNatKind^#(activate(V1))) 704.90/185.75 , U103^#(tt(), M, N) -> isNatKind^#(activate(N)) 704.90/185.75 , isNat^#(n__plus(V1, V2)) -> isNatKind^#(activate(V1)) 704.90/185.75 , isNat^#(n__plus(V1, V2)) -> 704.90/185.75 U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.75 , isNat^#(n__s(V1)) -> isNatKind^#(activate(V1)) 704.90/185.75 , isNat^#(n__s(V1)) -> U21^#(isNatKind(activate(V1)), activate(V1)) 704.90/185.75 , isNat^#(n__x(V1, V2)) -> isNatKind^#(activate(V1)) 704.90/185.75 , isNat^#(n__x(V1, V2)) -> 704.90/185.75 U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.75 , U61^#(tt(), V2) -> c_11(isNatKind^#(activate(V2))) 704.90/185.75 , U11^#(tt(), V1, V2) -> isNatKind^#(activate(V1)) 704.90/185.75 , U11^#(tt(), V1, V2) -> 704.90/185.75 U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.75 , U21^#(tt(), V1) -> isNatKind^#(activate(V1)) 704.90/185.75 , U21^#(tt(), V1) -> U22^#(isNatKind(activate(V1)), activate(V1)) 704.90/185.75 , U31^#(tt(), V1, V2) -> isNatKind^#(activate(V1)) 704.90/185.75 , U31^#(tt(), V1, V2) -> 704.90/185.75 U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.75 , U12^#(tt(), V1, V2) -> isNatKind^#(activate(V2)) 704.90/185.75 , U12^#(tt(), V1, V2) -> 704.90/185.75 U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.75 , U13^#(tt(), V1, V2) -> isNatKind^#(activate(V2)) 704.90/185.75 , U13^#(tt(), V1, V2) -> 704.90/185.75 U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.75 , U14^#(tt(), V1, V2) -> isNat^#(activate(V1)) 704.90/185.75 , U14^#(tt(), V1, V2) -> U15^#(isNat(activate(V1)), activate(V2)) 704.90/185.75 , U15^#(tt(), V2) -> isNat^#(activate(V2)) 704.90/185.75 , U22^#(tt(), V1) -> isNat^#(activate(V1)) 704.90/185.75 , U32^#(tt(), V1, V2) -> isNatKind^#(activate(V2)) 704.90/185.75 , U32^#(tt(), V1, V2) -> 704.90/185.75 U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.75 , U33^#(tt(), V1, V2) -> isNatKind^#(activate(V2)) 704.90/185.75 , U33^#(tt(), V1, V2) -> 704.90/185.75 U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.75 , U34^#(tt(), V1, V2) -> isNat^#(activate(V1)) 704.90/185.75 , U34^#(tt(), V1, V2) -> U35^#(isNat(activate(V1)), activate(V2)) 704.90/185.75 , U35^#(tt(), V2) -> isNat^#(activate(V2)) 704.90/185.75 , U71^#(tt(), N) -> isNatKind^#(activate(N)) 704.90/185.75 , U81^#(tt(), M, N) -> isNatKind^#(activate(M)) 704.90/185.75 , U81^#(tt(), M, N) -> 704.90/185.75 U82^#(isNatKind(activate(M)), activate(M), activate(N)) 704.90/185.75 , U82^#(tt(), M, N) -> isNat^#(activate(N)) 704.90/185.75 , U82^#(tt(), M, N) -> 704.90/185.75 U83^#(isNat(activate(N)), activate(M), activate(N)) 704.90/185.75 , U83^#(tt(), M, N) -> isNatKind^#(activate(N)) 704.90/185.75 , U91^#(tt(), N) -> isNatKind^#(activate(N)) } 704.90/185.75 Weak Trs: 704.90/185.75 { isNatKind(n__0()) -> tt() 704.90/185.75 , isNatKind(n__plus(V1, V2)) -> 704.90/185.75 U41(isNatKind(activate(V1)), activate(V2)) 704.90/185.75 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.90/185.75 , isNatKind(n__x(V1, V2)) -> 704.90/185.75 U61(isNatKind(activate(V1)), activate(V2)) 704.90/185.75 , activate(X) -> X 704.90/185.75 , activate(n__0()) -> 0() 704.90/185.75 , activate(n__plus(X1, X2)) -> plus(X1, X2) 704.90/185.75 , activate(n__s(X)) -> s(X) 704.90/185.75 , activate(n__x(X1, X2)) -> x(X1, X2) 704.90/185.75 , isNat(n__0()) -> tt() 704.90/185.75 , isNat(n__plus(V1, V2)) -> 704.90/185.75 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.75 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 704.90/185.75 , isNat(n__x(V1, V2)) -> 704.90/185.75 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.75 , plus(X1, X2) -> n__plus(X1, X2) 704.90/185.75 , x(X1, X2) -> n__x(X1, X2) 704.90/185.75 , U11(tt(), V1, V2) -> 704.90/185.75 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.75 , U12(tt(), V1, V2) -> 704.90/185.75 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.75 , U13(tt(), V1, V2) -> 704.90/185.75 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.75 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 704.90/185.75 , U15(tt(), V2) -> U16(isNat(activate(V2))) 704.90/185.75 , U16(tt()) -> tt() 704.90/185.75 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 704.90/185.75 , U22(tt(), V1) -> U23(isNat(activate(V1))) 704.90/185.75 , U23(tt()) -> tt() 704.90/185.75 , U31(tt(), V1, V2) -> 704.90/185.75 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.75 , U32(tt(), V1, V2) -> 704.90/185.75 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.75 , U33(tt(), V1, V2) -> 704.90/185.75 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.75 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 704.90/185.75 , U35(tt(), V2) -> U36(isNat(activate(V2))) 704.90/185.75 , U36(tt()) -> tt() 704.90/185.75 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 704.90/185.75 , U42(tt()) -> tt() 704.90/185.75 , U51(tt()) -> tt() 704.90/185.75 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 704.90/185.75 , U62(tt()) -> tt() 704.90/185.75 , s(X) -> n__s(X) 704.90/185.75 , 0() -> n__0() } 704.90/185.75 Obligation: 704.90/185.75 innermost runtime complexity 704.90/185.75 Answer: 704.90/185.75 YES(O(1),O(n^1)) 704.90/185.75 704.90/185.75 We use the processor 'matrix interpretation of dimension 1' to 704.90/185.75 orient following rules strictly. 704.90/185.75 704.90/185.75 DPs: 704.90/185.75 { 1: isNatKind^#(n__plus(V1, V2)) -> 704.90/185.75 c_3(U41^#(isNatKind(activate(V1)), activate(V2)), 704.90/185.75 isNatKind^#(activate(V1))) 704.90/185.75 , 3: U101^#(tt(), M, N) -> 704.90/185.75 U102^#(isNatKind(activate(M)), activate(M), activate(N)) 704.90/185.75 , 4: U101^#(tt(), M, N) -> isNatKind^#(activate(M)) 704.90/185.75 , 6: U102^#(tt(), M, N) -> isNat^#(activate(N)) 704.90/185.75 , 9: U103^#(tt(), M, N) -> isNatKind^#(activate(N)) 704.90/185.75 , 10: isNat^#(n__plus(V1, V2)) -> isNatKind^#(activate(V1)) 704.90/185.75 , 11: isNat^#(n__plus(V1, V2)) -> 704.90/185.75 U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.75 , 12: isNat^#(n__s(V1)) -> isNatKind^#(activate(V1)) 704.90/185.75 , 13: isNat^#(n__s(V1)) -> 704.90/185.75 U21^#(isNatKind(activate(V1)), activate(V1)) 704.90/185.75 , 14: isNat^#(n__x(V1, V2)) -> isNatKind^#(activate(V1)) 704.90/185.75 , 17: U11^#(tt(), V1, V2) -> isNatKind^#(activate(V1)) 704.90/185.75 , 19: U21^#(tt(), V1) -> isNatKind^#(activate(V1)) 704.90/185.75 , 21: U31^#(tt(), V1, V2) -> isNatKind^#(activate(V1)) 704.90/185.75 , 23: U12^#(tt(), V1, V2) -> isNatKind^#(activate(V2)) 704.90/185.75 , 24: U12^#(tt(), V1, V2) -> 704.90/185.75 U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.75 , 25: U13^#(tt(), V1, V2) -> isNatKind^#(activate(V2)) 704.90/185.75 , 31: U32^#(tt(), V1, V2) -> isNatKind^#(activate(V2)) 704.90/185.75 , 33: U33^#(tt(), V1, V2) -> isNatKind^#(activate(V2)) 704.90/185.75 , 38: U71^#(tt(), N) -> isNatKind^#(activate(N)) 704.90/185.75 , 39: U81^#(tt(), M, N) -> isNatKind^#(activate(M)) 704.90/185.75 , 42: U82^#(tt(), M, N) -> 704.90/185.75 U83^#(isNat(activate(N)), activate(M), activate(N)) 704.90/185.75 , 44: U91^#(tt(), N) -> isNatKind^#(activate(N)) } 704.90/185.75 704.90/185.75 Sub-proof: 704.90/185.75 ---------- 704.90/185.75 The following argument positions are usable: 704.90/185.75 Uargs(c_3) = {1, 2}, Uargs(c_4) = {1}, Uargs(c_5) = {1, 2}, 704.90/185.75 Uargs(c_10) = {1}, Uargs(c_11) = {1} 704.90/185.75 704.90/185.75 TcT has computed the following constructor-based matrix 704.90/185.75 interpretation satisfying not(EDA). 704.90/185.75 704.90/185.75 [tt] = [0] 704.90/185.75 704.90/185.75 [isNatKind](x1) = [0] 704.90/185.75 704.90/185.75 [activate](x1) = [1] x1 + [0] 704.90/185.75 704.90/185.75 [isNat](x1) = [0] 704.90/185.75 704.90/185.75 [plus](x1, x2) = [1] x1 + [1] x2 + [1] 704.90/185.75 704.90/185.75 [x](x1, x2) = [1] x1 + [1] x2 + [0] 704.90/185.75 704.90/185.75 [U11](x1, x2, x3) = [0] 704.90/185.75 704.90/185.75 [U12](x1, x2, x3) = [0] 704.90/185.75 704.90/185.75 [U13](x1, x2, x3) = [0] 704.90/185.75 704.90/185.75 [U14](x1, x2, x3) = [0] 704.90/185.75 704.90/185.75 [U15](x1, x2) = [0] 704.90/185.75 704.90/185.75 [U16](x1) = [0] 704.90/185.75 704.90/185.75 [U21](x1, x2) = [0] 704.90/185.75 704.90/185.75 [U22](x1, x2) = [0] 704.90/185.75 704.90/185.75 [U23](x1) = [0] 704.90/185.75 704.90/185.75 [U31](x1, x2, x3) = [0] 704.90/185.75 704.90/185.75 [U32](x1, x2, x3) = [0] 704.90/185.75 704.90/185.75 [U33](x1, x2, x3) = [0] 704.90/185.75 704.90/185.75 [U34](x1, x2, x3) = [0] 704.90/185.75 704.90/185.75 [U35](x1, x2) = [0] 704.90/185.75 704.90/185.75 [U36](x1) = [0] 704.90/185.75 704.90/185.75 [U41](x1, x2) = [0] 704.90/185.75 704.90/185.75 [U42](x1) = [0] 704.90/185.75 704.90/185.75 [U51](x1) = [0] 704.90/185.75 704.90/185.75 [U61](x1, x2) = [0] 704.90/185.75 704.90/185.75 [U62](x1) = [0] 704.90/185.75 704.90/185.75 [s](x1) = [1] x1 + [1] 704.90/185.75 704.90/185.75 [0] = [0] 704.90/185.75 704.90/185.75 [n__0] = [0] 704.90/185.75 704.90/185.75 [n__plus](x1, x2) = [1] x1 + [1] x2 + [1] 704.90/185.75 704.90/185.75 [n__s](x1) = [1] x1 + [1] 704.90/185.75 704.90/185.75 [n__x](x1, x2) = [1] x1 + [1] x2 + [0] 704.90/185.75 704.90/185.75 [U101^#](x1, x2, x3) = [7] x1 + [7] x2 + [7] x3 + [7] 704.90/185.75 704.90/185.75 [U102^#](x1, x2, x3) = [6] x3 + [4] 704.90/185.75 704.90/185.75 [isNatKind^#](x1) = [1] x1 + [0] 704.90/185.75 704.90/185.75 [U103^#](x1, x2, x3) = [2] x3 + [4] 704.90/185.75 704.90/185.75 [isNat^#](x1) = [5] x1 + [3] 704.90/185.75 704.90/185.75 [U41^#](x1, x2) = [1] x2 + [0] 704.90/185.75 704.90/185.75 [U61^#](x1, x2) = [1] x2 + [0] 704.90/185.75 704.90/185.75 [U11^#](x1, x2, x3) = [5] x2 + [5] x3 + [4] 704.90/185.75 704.90/185.75 [U21^#](x1, x2) = [5] x2 + [3] 704.90/185.75 704.90/185.75 [U31^#](x1, x2, x3) = [5] x2 + [5] x3 + [3] 704.90/185.75 704.90/185.75 [U12^#](x1, x2, x3) = [5] x2 + [5] x3 + [4] 704.90/185.75 704.90/185.75 [U13^#](x1, x2, x3) = [5] x2 + [5] x3 + [3] 704.90/185.75 704.90/185.75 [U14^#](x1, x2, x3) = [5] x2 + [5] x3 + [3] 704.90/185.75 704.90/185.75 [U15^#](x1, x2) = [5] x2 + [3] 704.90/185.75 704.90/185.75 [U22^#](x1, x2) = [5] x2 + [3] 704.90/185.75 704.90/185.75 [U32^#](x1, x2, x3) = [5] x2 + [5] x3 + [3] 704.90/185.75 704.90/185.75 [U33^#](x1, x2, x3) = [5] x2 + [5] x3 + [3] 704.90/185.75 704.90/185.75 [U34^#](x1, x2, x3) = [5] x2 + [5] x3 + [3] 704.90/185.75 704.90/185.75 [U35^#](x1, x2) = [5] x2 + [3] 704.90/185.75 704.90/185.75 [U71^#](x1, x2) = [7] x1 + [7] x2 + [7] 704.90/185.75 704.90/185.75 [U81^#](x1, x2, x3) = [7] x1 + [7] x2 + [7] x3 + [3] 704.90/185.75 704.90/185.76 [U82^#](x1, x2, x3) = [6] x3 + [3] 704.90/185.76 704.90/185.76 [U83^#](x1, x2, x3) = [4] x3 + [0] 704.90/185.76 704.90/185.76 [U91^#](x1, x2) = [7] x1 + [7] x2 + [7] 704.90/185.76 704.90/185.76 [c_3](x1, x2) = [1] x1 + [1] x2 + [0] 704.90/185.76 704.90/185.76 [c_4](x1) = [1] x1 + [1] 704.90/185.76 704.90/185.76 [c_5](x1, x2) = [1] x1 + [1] x2 + [0] 704.90/185.76 704.90/185.76 [c_10](x1) = [1] x1 + [0] 704.90/185.76 704.90/185.76 [c_11](x1) = [1] x1 + [0] 704.90/185.76 704.90/185.76 The order satisfies the following ordering constraints: 704.90/185.76 704.90/185.76 [isNatKind(n__0())] = [0] 704.90/185.76 >= [0] 704.90/185.76 = [tt()] 704.90/185.76 704.90/185.76 [isNatKind(n__plus(V1, V2))] = [0] 704.90/185.76 >= [0] 704.90/185.76 = [U41(isNatKind(activate(V1)), activate(V2))] 704.90/185.76 704.90/185.76 [isNatKind(n__s(V1))] = [0] 704.90/185.76 >= [0] 704.90/185.76 = [U51(isNatKind(activate(V1)))] 704.90/185.76 704.90/185.76 [isNatKind(n__x(V1, V2))] = [0] 704.90/185.76 >= [0] 704.90/185.76 = [U61(isNatKind(activate(V1)), activate(V2))] 704.90/185.76 704.90/185.76 [activate(X)] = [1] X + [0] 704.90/185.76 >= [1] X + [0] 704.90/185.76 = [X] 704.90/185.76 704.90/185.76 [activate(n__0())] = [0] 704.90/185.76 >= [0] 704.90/185.76 = [0()] 704.90/185.76 704.90/185.76 [activate(n__plus(X1, X2))] = [1] X1 + [1] X2 + [1] 704.90/185.76 >= [1] X1 + [1] X2 + [1] 704.90/185.76 = [plus(X1, X2)] 704.90/185.76 704.90/185.76 [activate(n__s(X))] = [1] X + [1] 704.90/185.76 >= [1] X + [1] 704.90/185.76 = [s(X)] 704.90/185.76 704.90/185.76 [activate(n__x(X1, X2))] = [1] X1 + [1] X2 + [0] 704.90/185.76 >= [1] X1 + [1] X2 + [0] 704.90/185.76 = [x(X1, X2)] 704.90/185.76 704.90/185.76 [isNat(n__0())] = [0] 704.90/185.76 >= [0] 704.90/185.76 = [tt()] 704.90/185.76 704.90/185.76 [isNat(n__plus(V1, V2))] = [0] 704.90/185.76 >= [0] 704.90/185.76 = [U11(isNatKind(activate(V1)), activate(V1), activate(V2))] 704.90/185.76 704.90/185.76 [isNat(n__s(V1))] = [0] 704.90/185.76 >= [0] 704.90/185.76 = [U21(isNatKind(activate(V1)), activate(V1))] 704.90/185.76 704.90/185.76 [isNat(n__x(V1, V2))] = [0] 704.90/185.76 >= [0] 704.90/185.76 = [U31(isNatKind(activate(V1)), activate(V1), activate(V2))] 704.90/185.76 704.90/185.76 [plus(X1, X2)] = [1] X1 + [1] X2 + [1] 704.90/185.76 >= [1] X1 + [1] X2 + [1] 704.90/185.76 = [n__plus(X1, X2)] 704.90/185.76 704.90/185.76 [x(X1, X2)] = [1] X1 + [1] X2 + [0] 704.90/185.76 >= [1] X1 + [1] X2 + [0] 704.90/185.76 = [n__x(X1, X2)] 704.90/185.76 704.90/185.76 [U11(tt(), V1, V2)] = [0] 704.90/185.76 >= [0] 704.90/185.76 = [U12(isNatKind(activate(V1)), activate(V1), activate(V2))] 704.90/185.76 704.90/185.76 [U12(tt(), V1, V2)] = [0] 704.90/185.76 >= [0] 704.90/185.76 = [U13(isNatKind(activate(V2)), activate(V1), activate(V2))] 704.90/185.76 704.90/185.76 [U13(tt(), V1, V2)] = [0] 704.90/185.76 >= [0] 704.90/185.76 = [U14(isNatKind(activate(V2)), activate(V1), activate(V2))] 704.90/185.76 704.90/185.76 [U14(tt(), V1, V2)] = [0] 704.90/185.76 >= [0] 704.90/185.76 = [U15(isNat(activate(V1)), activate(V2))] 704.90/185.76 704.90/185.76 [U15(tt(), V2)] = [0] 704.90/185.76 >= [0] 704.90/185.76 = [U16(isNat(activate(V2)))] 704.90/185.76 704.90/185.76 [U16(tt())] = [0] 704.90/185.76 >= [0] 704.90/185.76 = [tt()] 704.90/185.76 704.90/185.76 [U21(tt(), V1)] = [0] 704.90/185.76 >= [0] 704.90/185.76 = [U22(isNatKind(activate(V1)), activate(V1))] 704.90/185.76 704.90/185.76 [U22(tt(), V1)] = [0] 704.90/185.76 >= [0] 704.90/185.76 = [U23(isNat(activate(V1)))] 704.90/185.76 704.90/185.76 [U23(tt())] = [0] 704.90/185.76 >= [0] 704.90/185.76 = [tt()] 704.90/185.76 704.90/185.76 [U31(tt(), V1, V2)] = [0] 704.90/185.76 >= [0] 704.90/185.76 = [U32(isNatKind(activate(V1)), activate(V1), activate(V2))] 704.90/185.76 704.90/185.76 [U32(tt(), V1, V2)] = [0] 704.90/185.76 >= [0] 704.90/185.76 = [U33(isNatKind(activate(V2)), activate(V1), activate(V2))] 704.90/185.76 704.90/185.76 [U33(tt(), V1, V2)] = [0] 704.90/185.76 >= [0] 704.90/185.76 = [U34(isNatKind(activate(V2)), activate(V1), activate(V2))] 704.90/185.76 704.90/185.76 [U34(tt(), V1, V2)] = [0] 704.90/185.76 >= [0] 704.90/185.76 = [U35(isNat(activate(V1)), activate(V2))] 704.90/185.76 704.90/185.76 [U35(tt(), V2)] = [0] 704.90/185.76 >= [0] 704.90/185.76 = [U36(isNat(activate(V2)))] 704.90/185.76 704.90/185.76 [U36(tt())] = [0] 704.90/185.76 >= [0] 704.90/185.76 = [tt()] 704.90/185.76 704.90/185.76 [U41(tt(), V2)] = [0] 704.90/185.76 >= [0] 704.90/185.76 = [U42(isNatKind(activate(V2)))] 704.90/185.76 704.90/185.76 [U42(tt())] = [0] 704.90/185.76 >= [0] 704.90/185.76 = [tt()] 704.90/185.76 704.90/185.76 [U51(tt())] = [0] 704.90/185.76 >= [0] 704.90/185.76 = [tt()] 704.90/185.76 704.90/185.76 [U61(tt(), V2)] = [0] 704.90/185.76 >= [0] 704.90/185.76 = [U62(isNatKind(activate(V2)))] 704.90/185.76 704.90/185.76 [U62(tt())] = [0] 704.90/185.76 >= [0] 704.90/185.76 = [tt()] 704.90/185.76 704.90/185.76 [s(X)] = [1] X + [1] 704.90/185.76 >= [1] X + [1] 704.90/185.76 = [n__s(X)] 704.90/185.76 704.90/185.76 [0()] = [0] 704.90/185.76 >= [0] 704.90/185.76 = [n__0()] 704.90/185.76 704.90/185.76 [U101^#(tt(), M, N)] = [7] M + [7] N + [7] 704.90/185.76 > [6] N + [4] 704.90/185.76 = [U102^#(isNatKind(activate(M)), activate(M), activate(N))] 704.90/185.76 704.90/185.76 [U101^#(tt(), M, N)] = [7] M + [7] N + [7] 704.90/185.76 > [1] M + [0] 704.90/185.76 = [isNatKind^#(activate(M))] 704.90/185.76 704.90/185.76 [U102^#(tt(), M, N)] = [6] N + [4] 704.90/185.76 >= [2] N + [4] 704.90/185.76 = [U103^#(isNat(activate(N)), activate(M), activate(N))] 704.90/185.76 704.90/185.76 [U102^#(tt(), M, N)] = [6] N + [4] 704.90/185.76 > [5] N + [3] 704.90/185.76 = [isNat^#(activate(N))] 704.90/185.76 704.90/185.76 [isNatKind^#(n__plus(V1, V2))] = [1] V1 + [1] V2 + [1] 704.90/185.76 > [1] V1 + [1] V2 + [0] 704.90/185.76 = [c_3(U41^#(isNatKind(activate(V1)), activate(V2)), 704.90/185.76 isNatKind^#(activate(V1)))] 704.90/185.76 704.90/185.76 [isNatKind^#(n__s(V1))] = [1] V1 + [1] 704.90/185.76 >= [1] V1 + [1] 704.90/185.76 = [c_4(isNatKind^#(activate(V1)))] 704.90/185.76 704.90/185.76 [isNatKind^#(n__x(V1, V2))] = [1] V1 + [1] V2 + [0] 704.90/185.76 >= [1] V1 + [1] V2 + [0] 704.90/185.76 = [c_5(U61^#(isNatKind(activate(V1)), activate(V2)), 704.90/185.76 isNatKind^#(activate(V1)))] 704.90/185.76 704.90/185.76 [U103^#(tt(), M, N)] = [2] N + [4] 704.90/185.76 > [1] N + [0] 704.90/185.76 = [isNatKind^#(activate(N))] 704.90/185.76 704.90/185.76 [isNat^#(n__plus(V1, V2))] = [5] V1 + [5] V2 + [8] 704.90/185.76 > [1] V1 + [0] 704.90/185.76 = [isNatKind^#(activate(V1))] 704.90/185.76 704.90/185.76 [isNat^#(n__plus(V1, V2))] = [5] V1 + [5] V2 + [8] 704.90/185.76 > [5] V1 + [5] V2 + [4] 704.90/185.76 = [U11^#(isNatKind(activate(V1)), activate(V1), activate(V2))] 704.90/185.76 704.90/185.76 [isNat^#(n__s(V1))] = [5] V1 + [8] 704.90/185.76 > [1] V1 + [0] 704.90/185.76 = [isNatKind^#(activate(V1))] 704.90/185.76 704.90/185.76 [isNat^#(n__s(V1))] = [5] V1 + [8] 704.90/185.76 > [5] V1 + [3] 704.90/185.76 = [U21^#(isNatKind(activate(V1)), activate(V1))] 704.90/185.76 704.90/185.76 [isNat^#(n__x(V1, V2))] = [5] V1 + [5] V2 + [3] 704.90/185.76 > [1] V1 + [0] 704.90/185.76 = [isNatKind^#(activate(V1))] 704.90/185.76 704.90/185.76 [isNat^#(n__x(V1, V2))] = [5] V1 + [5] V2 + [3] 704.90/185.76 >= [5] V1 + [5] V2 + [3] 704.90/185.76 = [U31^#(isNatKind(activate(V1)), activate(V1), activate(V2))] 704.90/185.76 704.90/185.76 [U41^#(tt(), V2)] = [1] V2 + [0] 704.90/185.76 >= [1] V2 + [0] 704.90/185.76 = [c_10(isNatKind^#(activate(V2)))] 704.90/185.76 704.90/185.76 [U61^#(tt(), V2)] = [1] V2 + [0] 704.90/185.76 >= [1] V2 + [0] 704.90/185.76 = [c_11(isNatKind^#(activate(V2)))] 704.90/185.76 704.90/185.76 [U11^#(tt(), V1, V2)] = [5] V1 + [5] V2 + [4] 704.90/185.76 > [1] V1 + [0] 704.90/185.76 = [isNatKind^#(activate(V1))] 704.90/185.76 704.90/185.76 [U11^#(tt(), V1, V2)] = [5] V1 + [5] V2 + [4] 704.90/185.76 >= [5] V1 + [5] V2 + [4] 704.90/185.76 = [U12^#(isNatKind(activate(V1)), activate(V1), activate(V2))] 704.90/185.76 704.90/185.76 [U21^#(tt(), V1)] = [5] V1 + [3] 704.90/185.76 > [1] V1 + [0] 704.90/185.76 = [isNatKind^#(activate(V1))] 704.90/185.76 704.90/185.76 [U21^#(tt(), V1)] = [5] V1 + [3] 704.90/185.76 >= [5] V1 + [3] 704.90/185.76 = [U22^#(isNatKind(activate(V1)), activate(V1))] 704.90/185.76 704.90/185.76 [U31^#(tt(), V1, V2)] = [5] V1 + [5] V2 + [3] 704.90/185.76 > [1] V1 + [0] 704.90/185.76 = [isNatKind^#(activate(V1))] 704.90/185.76 704.90/185.76 [U31^#(tt(), V1, V2)] = [5] V1 + [5] V2 + [3] 704.90/185.76 >= [5] V1 + [5] V2 + [3] 704.90/185.76 = [U32^#(isNatKind(activate(V1)), activate(V1), activate(V2))] 704.90/185.76 704.90/185.76 [U12^#(tt(), V1, V2)] = [5] V1 + [5] V2 + [4] 704.90/185.76 > [1] V2 + [0] 704.90/185.76 = [isNatKind^#(activate(V2))] 704.90/185.76 704.90/185.76 [U12^#(tt(), V1, V2)] = [5] V1 + [5] V2 + [4] 704.90/185.76 > [5] V1 + [5] V2 + [3] 704.90/185.76 = [U13^#(isNatKind(activate(V2)), activate(V1), activate(V2))] 704.90/185.76 704.90/185.76 [U13^#(tt(), V1, V2)] = [5] V1 + [5] V2 + [3] 704.90/185.76 > [1] V2 + [0] 704.90/185.76 = [isNatKind^#(activate(V2))] 704.90/185.76 704.90/185.76 [U13^#(tt(), V1, V2)] = [5] V1 + [5] V2 + [3] 704.90/185.76 >= [5] V1 + [5] V2 + [3] 704.90/185.76 = [U14^#(isNatKind(activate(V2)), activate(V1), activate(V2))] 704.90/185.76 704.90/185.76 [U14^#(tt(), V1, V2)] = [5] V1 + [5] V2 + [3] 704.90/185.76 >= [5] V1 + [3] 704.90/185.76 = [isNat^#(activate(V1))] 704.90/185.76 704.90/185.76 [U14^#(tt(), V1, V2)] = [5] V1 + [5] V2 + [3] 704.90/185.76 >= [5] V2 + [3] 704.90/185.76 = [U15^#(isNat(activate(V1)), activate(V2))] 704.90/185.76 704.90/185.76 [U15^#(tt(), V2)] = [5] V2 + [3] 704.90/185.76 >= [5] V2 + [3] 704.90/185.76 = [isNat^#(activate(V2))] 704.90/185.76 704.90/185.76 [U22^#(tt(), V1)] = [5] V1 + [3] 704.90/185.76 >= [5] V1 + [3] 704.90/185.76 = [isNat^#(activate(V1))] 704.90/185.76 704.90/185.76 [U32^#(tt(), V1, V2)] = [5] V1 + [5] V2 + [3] 704.90/185.76 > [1] V2 + [0] 704.90/185.76 = [isNatKind^#(activate(V2))] 704.90/185.76 704.90/185.76 [U32^#(tt(), V1, V2)] = [5] V1 + [5] V2 + [3] 704.90/185.76 >= [5] V1 + [5] V2 + [3] 704.90/185.76 = [U33^#(isNatKind(activate(V2)), activate(V1), activate(V2))] 704.90/185.76 704.90/185.76 [U33^#(tt(), V1, V2)] = [5] V1 + [5] V2 + [3] 704.90/185.76 > [1] V2 + [0] 704.90/185.76 = [isNatKind^#(activate(V2))] 704.90/185.76 704.90/185.76 [U33^#(tt(), V1, V2)] = [5] V1 + [5] V2 + [3] 704.90/185.76 >= [5] V1 + [5] V2 + [3] 704.90/185.76 = [U34^#(isNatKind(activate(V2)), activate(V1), activate(V2))] 704.90/185.76 704.90/185.76 [U34^#(tt(), V1, V2)] = [5] V1 + [5] V2 + [3] 704.90/185.76 >= [5] V1 + [3] 704.90/185.76 = [isNat^#(activate(V1))] 704.90/185.76 704.90/185.76 [U34^#(tt(), V1, V2)] = [5] V1 + [5] V2 + [3] 704.90/185.76 >= [5] V2 + [3] 704.90/185.76 = [U35^#(isNat(activate(V1)), activate(V2))] 704.90/185.76 704.90/185.76 [U35^#(tt(), V2)] = [5] V2 + [3] 704.90/185.76 >= [5] V2 + [3] 704.90/185.76 = [isNat^#(activate(V2))] 704.90/185.76 704.90/185.76 [U71^#(tt(), N)] = [7] N + [7] 704.90/185.76 > [1] N + [0] 704.90/185.76 = [isNatKind^#(activate(N))] 704.90/185.76 704.90/185.76 [U81^#(tt(), M, N)] = [7] M + [7] N + [3] 704.90/185.76 > [1] M + [0] 704.90/185.76 = [isNatKind^#(activate(M))] 704.90/185.76 704.90/185.76 [U81^#(tt(), M, N)] = [7] M + [7] N + [3] 704.90/185.76 >= [6] N + [3] 704.90/185.76 = [U82^#(isNatKind(activate(M)), activate(M), activate(N))] 704.90/185.76 704.90/185.76 [U82^#(tt(), M, N)] = [6] N + [3] 704.90/185.76 >= [5] N + [3] 704.90/185.76 = [isNat^#(activate(N))] 704.90/185.76 704.90/185.76 [U82^#(tt(), M, N)] = [6] N + [3] 704.90/185.76 > [4] N + [0] 704.90/185.76 = [U83^#(isNat(activate(N)), activate(M), activate(N))] 704.90/185.76 704.90/185.76 [U83^#(tt(), M, N)] = [4] N + [0] 704.90/185.76 >= [1] N + [0] 704.90/185.76 = [isNatKind^#(activate(N))] 704.90/185.76 704.90/185.76 [U91^#(tt(), N)] = [7] N + [7] 704.90/185.76 > [1] N + [0] 704.90/185.76 = [isNatKind^#(activate(N))] 704.90/185.76 704.90/185.76 704.90/185.76 We return to the main proof. Consider the set of all dependency 704.90/185.76 pairs 704.90/185.76 704.90/185.76 : 704.90/185.76 { 1: isNatKind^#(n__plus(V1, V2)) -> 704.90/185.76 c_3(U41^#(isNatKind(activate(V1)), activate(V2)), 704.90/185.76 isNatKind^#(activate(V1))) 704.90/185.76 , 2: U41^#(tt(), V2) -> c_10(isNatKind^#(activate(V2))) 704.90/185.76 , 3: U101^#(tt(), M, N) -> 704.90/185.76 U102^#(isNatKind(activate(M)), activate(M), activate(N)) 704.90/185.76 , 4: U101^#(tt(), M, N) -> isNatKind^#(activate(M)) 704.90/185.76 , 5: U102^#(tt(), M, N) -> 704.90/185.76 U103^#(isNat(activate(N)), activate(M), activate(N)) 704.90/185.76 , 6: U102^#(tt(), M, N) -> isNat^#(activate(N)) 704.90/185.76 , 7: isNatKind^#(n__s(V1)) -> c_4(isNatKind^#(activate(V1))) 704.90/185.76 , 8: isNatKind^#(n__x(V1, V2)) -> 704.90/185.76 c_5(U61^#(isNatKind(activate(V1)), activate(V2)), 704.90/185.76 isNatKind^#(activate(V1))) 704.90/185.76 , 9: U103^#(tt(), M, N) -> isNatKind^#(activate(N)) 704.90/185.76 , 10: isNat^#(n__plus(V1, V2)) -> isNatKind^#(activate(V1)) 704.90/185.76 , 11: isNat^#(n__plus(V1, V2)) -> 704.90/185.76 U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.76 , 12: isNat^#(n__s(V1)) -> isNatKind^#(activate(V1)) 704.90/185.76 , 13: isNat^#(n__s(V1)) -> 704.90/185.76 U21^#(isNatKind(activate(V1)), activate(V1)) 704.90/185.76 , 14: isNat^#(n__x(V1, V2)) -> isNatKind^#(activate(V1)) 704.90/185.76 , 15: isNat^#(n__x(V1, V2)) -> 704.90/185.76 U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.76 , 16: U61^#(tt(), V2) -> c_11(isNatKind^#(activate(V2))) 704.90/185.76 , 17: U11^#(tt(), V1, V2) -> isNatKind^#(activate(V1)) 704.90/185.76 , 18: U11^#(tt(), V1, V2) -> 704.90/185.76 U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.76 , 19: U21^#(tt(), V1) -> isNatKind^#(activate(V1)) 704.90/185.76 , 20: U21^#(tt(), V1) -> 704.90/185.76 U22^#(isNatKind(activate(V1)), activate(V1)) 704.90/185.76 , 21: U31^#(tt(), V1, V2) -> isNatKind^#(activate(V1)) 704.90/185.76 , 22: U31^#(tt(), V1, V2) -> 704.90/185.76 U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.76 , 23: U12^#(tt(), V1, V2) -> isNatKind^#(activate(V2)) 704.90/185.76 , 24: U12^#(tt(), V1, V2) -> 704.90/185.76 U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.76 , 25: U13^#(tt(), V1, V2) -> isNatKind^#(activate(V2)) 704.90/185.76 , 26: U13^#(tt(), V1, V2) -> 704.90/185.76 U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.76 , 27: U14^#(tt(), V1, V2) -> isNat^#(activate(V1)) 704.90/185.76 , 28: U14^#(tt(), V1, V2) -> 704.90/185.76 U15^#(isNat(activate(V1)), activate(V2)) 704.90/185.76 , 29: U15^#(tt(), V2) -> isNat^#(activate(V2)) 704.90/185.76 , 30: U22^#(tt(), V1) -> isNat^#(activate(V1)) 704.90/185.76 , 31: U32^#(tt(), V1, V2) -> isNatKind^#(activate(V2)) 704.90/185.76 , 32: U32^#(tt(), V1, V2) -> 704.90/185.76 U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.76 , 33: U33^#(tt(), V1, V2) -> isNatKind^#(activate(V2)) 704.90/185.76 , 34: U33^#(tt(), V1, V2) -> 704.90/185.76 U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.76 , 35: U34^#(tt(), V1, V2) -> isNat^#(activate(V1)) 704.90/185.76 , 36: U34^#(tt(), V1, V2) -> 704.90/185.76 U35^#(isNat(activate(V1)), activate(V2)) 704.90/185.76 , 37: U35^#(tt(), V2) -> isNat^#(activate(V2)) 704.90/185.76 , 38: U71^#(tt(), N) -> isNatKind^#(activate(N)) 704.90/185.76 , 39: U81^#(tt(), M, N) -> isNatKind^#(activate(M)) 704.90/185.76 , 40: U81^#(tt(), M, N) -> 704.90/185.76 U82^#(isNatKind(activate(M)), activate(M), activate(N)) 704.90/185.76 , 41: U82^#(tt(), M, N) -> isNat^#(activate(N)) 704.90/185.76 , 42: U82^#(tt(), M, N) -> 704.90/185.76 U83^#(isNat(activate(N)), activate(M), activate(N)) 704.90/185.76 , 43: U83^#(tt(), M, N) -> isNatKind^#(activate(N)) 704.90/185.76 , 44: U91^#(tt(), N) -> isNatKind^#(activate(N)) } 704.90/185.76 704.90/185.76 Processor 'matrix interpretation of dimension 1' induces the 704.90/185.76 complexity certificate YES(?,O(n^1)) on application of dependency 704.90/185.76 pairs 704.90/185.76 {1,3,4,6,9,10,11,12,13,14,17,19,21,23,24,25,31,33,38,39,42,44}. 704.90/185.76 These cover all (indirect) predecessors of dependency pairs 704.90/185.76 {1,2,3,4,5,6,9,10,11,12,13,14,17,18,19,20,21,23,24,25,26,27,28,29,30,31,33,38,39,40,41,42,43,44}, 704.90/185.76 their number of application is equally bounded. The dependency 704.90/185.76 pairs are shifted into the weak component. 704.90/185.76 704.90/185.76 We are left with following problem, upon which TcT provides the 704.90/185.76 certificate YES(O(1),O(1)). 704.90/185.76 704.90/185.76 Weak DPs: 704.90/185.76 { U101^#(tt(), M, N) -> 704.90/185.76 U102^#(isNatKind(activate(M)), activate(M), activate(N)) 704.90/185.76 , U101^#(tt(), M, N) -> isNatKind^#(activate(M)) 704.90/185.76 , U102^#(tt(), M, N) -> 704.90/185.76 U103^#(isNat(activate(N)), activate(M), activate(N)) 704.90/185.76 , U102^#(tt(), M, N) -> isNat^#(activate(N)) 704.90/185.76 , isNatKind^#(n__plus(V1, V2)) -> 704.90/185.76 c_3(U41^#(isNatKind(activate(V1)), activate(V2)), 704.90/185.76 isNatKind^#(activate(V1))) 704.90/185.76 , isNatKind^#(n__s(V1)) -> c_4(isNatKind^#(activate(V1))) 704.90/185.76 , isNatKind^#(n__x(V1, V2)) -> 704.90/185.76 c_5(U61^#(isNatKind(activate(V1)), activate(V2)), 704.90/185.76 isNatKind^#(activate(V1))) 704.90/185.76 , U103^#(tt(), M, N) -> isNatKind^#(activate(N)) 704.90/185.76 , isNat^#(n__plus(V1, V2)) -> isNatKind^#(activate(V1)) 704.90/185.76 , isNat^#(n__plus(V1, V2)) -> 704.90/185.76 U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.76 , isNat^#(n__s(V1)) -> isNatKind^#(activate(V1)) 704.90/185.76 , isNat^#(n__s(V1)) -> U21^#(isNatKind(activate(V1)), activate(V1)) 704.90/185.76 , isNat^#(n__x(V1, V2)) -> isNatKind^#(activate(V1)) 704.90/185.76 , isNat^#(n__x(V1, V2)) -> 704.90/185.76 U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.76 , U41^#(tt(), V2) -> c_10(isNatKind^#(activate(V2))) 704.90/185.76 , U61^#(tt(), V2) -> c_11(isNatKind^#(activate(V2))) 704.90/185.76 , U11^#(tt(), V1, V2) -> isNatKind^#(activate(V1)) 704.90/185.76 , U11^#(tt(), V1, V2) -> 704.90/185.76 U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.76 , U21^#(tt(), V1) -> isNatKind^#(activate(V1)) 704.90/185.76 , U21^#(tt(), V1) -> U22^#(isNatKind(activate(V1)), activate(V1)) 704.90/185.76 , U31^#(tt(), V1, V2) -> isNatKind^#(activate(V1)) 704.90/185.76 , U31^#(tt(), V1, V2) -> 704.90/185.76 U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.76 , U12^#(tt(), V1, V2) -> isNatKind^#(activate(V2)) 704.90/185.76 , U12^#(tt(), V1, V2) -> 704.90/185.76 U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.76 , U13^#(tt(), V1, V2) -> isNatKind^#(activate(V2)) 704.90/185.76 , U13^#(tt(), V1, V2) -> 704.90/185.76 U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.76 , U14^#(tt(), V1, V2) -> isNat^#(activate(V1)) 704.90/185.76 , U14^#(tt(), V1, V2) -> U15^#(isNat(activate(V1)), activate(V2)) 704.90/185.76 , U15^#(tt(), V2) -> isNat^#(activate(V2)) 704.90/185.76 , U22^#(tt(), V1) -> isNat^#(activate(V1)) 704.90/185.77 , U32^#(tt(), V1, V2) -> isNatKind^#(activate(V2)) 704.90/185.77 , U32^#(tt(), V1, V2) -> 704.90/185.77 U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.77 , U33^#(tt(), V1, V2) -> isNatKind^#(activate(V2)) 704.90/185.77 , U33^#(tt(), V1, V2) -> 704.90/185.77 U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.77 , U34^#(tt(), V1, V2) -> isNat^#(activate(V1)) 704.90/185.77 , U34^#(tt(), V1, V2) -> U35^#(isNat(activate(V1)), activate(V2)) 704.90/185.77 , U35^#(tt(), V2) -> isNat^#(activate(V2)) 704.90/185.77 , U71^#(tt(), N) -> isNatKind^#(activate(N)) 704.90/185.77 , U81^#(tt(), M, N) -> isNatKind^#(activate(M)) 704.90/185.77 , U81^#(tt(), M, N) -> 704.90/185.77 U82^#(isNatKind(activate(M)), activate(M), activate(N)) 704.90/185.77 , U82^#(tt(), M, N) -> isNat^#(activate(N)) 704.90/185.77 , U82^#(tt(), M, N) -> 704.90/185.77 U83^#(isNat(activate(N)), activate(M), activate(N)) 704.90/185.77 , U83^#(tt(), M, N) -> isNatKind^#(activate(N)) 704.90/185.77 , U91^#(tt(), N) -> isNatKind^#(activate(N)) } 704.90/185.77 Weak Trs: 704.90/185.77 { isNatKind(n__0()) -> tt() 704.90/185.77 , isNatKind(n__plus(V1, V2)) -> 704.90/185.77 U41(isNatKind(activate(V1)), activate(V2)) 704.90/185.77 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.90/185.77 , isNatKind(n__x(V1, V2)) -> 704.90/185.77 U61(isNatKind(activate(V1)), activate(V2)) 704.90/185.77 , activate(X) -> X 704.90/185.77 , activate(n__0()) -> 0() 704.90/185.77 , activate(n__plus(X1, X2)) -> plus(X1, X2) 704.90/185.77 , activate(n__s(X)) -> s(X) 704.90/185.77 , activate(n__x(X1, X2)) -> x(X1, X2) 704.90/185.77 , isNat(n__0()) -> tt() 704.90/185.77 , isNat(n__plus(V1, V2)) -> 704.90/185.77 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.77 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 704.90/185.77 , isNat(n__x(V1, V2)) -> 704.90/185.77 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.77 , plus(X1, X2) -> n__plus(X1, X2) 704.90/185.77 , x(X1, X2) -> n__x(X1, X2) 704.90/185.77 , U11(tt(), V1, V2) -> 704.90/185.77 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.77 , U12(tt(), V1, V2) -> 704.90/185.77 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.77 , U13(tt(), V1, V2) -> 704.90/185.77 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.77 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 704.90/185.77 , U15(tt(), V2) -> U16(isNat(activate(V2))) 704.90/185.77 , U16(tt()) -> tt() 704.90/185.77 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 704.90/185.77 , U22(tt(), V1) -> U23(isNat(activate(V1))) 704.90/185.77 , U23(tt()) -> tt() 704.90/185.77 , U31(tt(), V1, V2) -> 704.90/185.77 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.77 , U32(tt(), V1, V2) -> 704.90/185.77 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.77 , U33(tt(), V1, V2) -> 704.90/185.77 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.77 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 704.90/185.77 , U35(tt(), V2) -> U36(isNat(activate(V2))) 704.90/185.77 , U36(tt()) -> tt() 704.90/185.77 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 704.90/185.77 , U42(tt()) -> tt() 704.90/185.77 , U51(tt()) -> tt() 704.90/185.77 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 704.90/185.77 , U62(tt()) -> tt() 704.90/185.77 , s(X) -> n__s(X) 704.90/185.77 , 0() -> n__0() } 704.90/185.77 Obligation: 704.90/185.77 innermost runtime complexity 704.90/185.77 Answer: 704.90/185.77 YES(O(1),O(1)) 704.90/185.77 704.90/185.77 The following weak DPs constitute a sub-graph of the DG that is 704.90/185.77 closed under successors. The DPs are removed. 704.90/185.77 704.90/185.77 { U101^#(tt(), M, N) -> 704.90/185.77 U102^#(isNatKind(activate(M)), activate(M), activate(N)) 704.90/185.77 , U101^#(tt(), M, N) -> isNatKind^#(activate(M)) 704.90/185.77 , U102^#(tt(), M, N) -> 704.90/185.77 U103^#(isNat(activate(N)), activate(M), activate(N)) 704.90/185.77 , U102^#(tt(), M, N) -> isNat^#(activate(N)) 704.90/185.77 , isNatKind^#(n__plus(V1, V2)) -> 704.90/185.77 c_3(U41^#(isNatKind(activate(V1)), activate(V2)), 704.90/185.77 isNatKind^#(activate(V1))) 704.90/185.77 , isNatKind^#(n__s(V1)) -> c_4(isNatKind^#(activate(V1))) 704.90/185.77 , isNatKind^#(n__x(V1, V2)) -> 704.90/185.77 c_5(U61^#(isNatKind(activate(V1)), activate(V2)), 704.90/185.77 isNatKind^#(activate(V1))) 704.90/185.77 , U103^#(tt(), M, N) -> isNatKind^#(activate(N)) 704.90/185.77 , isNat^#(n__plus(V1, V2)) -> isNatKind^#(activate(V1)) 704.90/185.77 , isNat^#(n__plus(V1, V2)) -> 704.90/185.77 U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.77 , isNat^#(n__s(V1)) -> isNatKind^#(activate(V1)) 704.90/185.77 , isNat^#(n__s(V1)) -> U21^#(isNatKind(activate(V1)), activate(V1)) 704.90/185.77 , isNat^#(n__x(V1, V2)) -> isNatKind^#(activate(V1)) 704.90/185.77 , isNat^#(n__x(V1, V2)) -> 704.90/185.77 U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.77 , U41^#(tt(), V2) -> c_10(isNatKind^#(activate(V2))) 704.90/185.77 , U61^#(tt(), V2) -> c_11(isNatKind^#(activate(V2))) 704.90/185.77 , U11^#(tt(), V1, V2) -> isNatKind^#(activate(V1)) 704.90/185.77 , U11^#(tt(), V1, V2) -> 704.90/185.77 U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.77 , U21^#(tt(), V1) -> isNatKind^#(activate(V1)) 704.90/185.77 , U21^#(tt(), V1) -> U22^#(isNatKind(activate(V1)), activate(V1)) 704.90/185.77 , U31^#(tt(), V1, V2) -> isNatKind^#(activate(V1)) 704.90/185.77 , U31^#(tt(), V1, V2) -> 704.90/185.77 U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.77 , U12^#(tt(), V1, V2) -> isNatKind^#(activate(V2)) 704.90/185.77 , U12^#(tt(), V1, V2) -> 704.90/185.77 U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.77 , U13^#(tt(), V1, V2) -> isNatKind^#(activate(V2)) 704.90/185.77 , U13^#(tt(), V1, V2) -> 704.90/185.77 U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.77 , U14^#(tt(), V1, V2) -> isNat^#(activate(V1)) 704.90/185.77 , U14^#(tt(), V1, V2) -> U15^#(isNat(activate(V1)), activate(V2)) 704.90/185.77 , U15^#(tt(), V2) -> isNat^#(activate(V2)) 704.90/185.77 , U22^#(tt(), V1) -> isNat^#(activate(V1)) 704.90/185.77 , U32^#(tt(), V1, V2) -> isNatKind^#(activate(V2)) 704.90/185.77 , U32^#(tt(), V1, V2) -> 704.90/185.77 U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.77 , U33^#(tt(), V1, V2) -> isNatKind^#(activate(V2)) 704.90/185.77 , U33^#(tt(), V1, V2) -> 704.90/185.77 U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.77 , U34^#(tt(), V1, V2) -> isNat^#(activate(V1)) 704.90/185.77 , U34^#(tt(), V1, V2) -> U35^#(isNat(activate(V1)), activate(V2)) 704.90/185.77 , U35^#(tt(), V2) -> isNat^#(activate(V2)) 704.90/185.77 , U71^#(tt(), N) -> isNatKind^#(activate(N)) 704.90/185.77 , U81^#(tt(), M, N) -> isNatKind^#(activate(M)) 704.90/185.77 , U81^#(tt(), M, N) -> 704.90/185.77 U82^#(isNatKind(activate(M)), activate(M), activate(N)) 704.90/185.77 , U82^#(tt(), M, N) -> isNat^#(activate(N)) 704.90/185.77 , U82^#(tt(), M, N) -> 704.90/185.77 U83^#(isNat(activate(N)), activate(M), activate(N)) 704.90/185.77 , U83^#(tt(), M, N) -> isNatKind^#(activate(N)) 704.90/185.77 , U91^#(tt(), N) -> isNatKind^#(activate(N)) } 704.90/185.77 704.90/185.77 We are left with following problem, upon which TcT provides the 704.90/185.77 certificate YES(O(1),O(1)). 704.90/185.77 704.90/185.77 Weak Trs: 704.90/185.77 { isNatKind(n__0()) -> tt() 704.90/185.77 , isNatKind(n__plus(V1, V2)) -> 704.90/185.77 U41(isNatKind(activate(V1)), activate(V2)) 704.90/185.77 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.90/185.77 , isNatKind(n__x(V1, V2)) -> 704.90/185.77 U61(isNatKind(activate(V1)), activate(V2)) 704.90/185.77 , activate(X) -> X 704.90/185.77 , activate(n__0()) -> 0() 704.90/185.77 , activate(n__plus(X1, X2)) -> plus(X1, X2) 704.90/185.77 , activate(n__s(X)) -> s(X) 704.90/185.77 , activate(n__x(X1, X2)) -> x(X1, X2) 704.90/185.77 , isNat(n__0()) -> tt() 704.90/185.77 , isNat(n__plus(V1, V2)) -> 704.90/185.77 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.77 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 704.90/185.77 , isNat(n__x(V1, V2)) -> 704.90/185.77 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.77 , plus(X1, X2) -> n__plus(X1, X2) 704.90/185.77 , x(X1, X2) -> n__x(X1, X2) 704.90/185.77 , U11(tt(), V1, V2) -> 704.90/185.77 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.77 , U12(tt(), V1, V2) -> 704.90/185.77 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.77 , U13(tt(), V1, V2) -> 704.90/185.77 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.77 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 704.90/185.77 , U15(tt(), V2) -> U16(isNat(activate(V2))) 704.90/185.77 , U16(tt()) -> tt() 704.90/185.77 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 704.90/185.77 , U22(tt(), V1) -> U23(isNat(activate(V1))) 704.90/185.77 , U23(tt()) -> tt() 704.90/185.77 , U31(tt(), V1, V2) -> 704.90/185.77 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.77 , U32(tt(), V1, V2) -> 704.90/185.77 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.77 , U33(tt(), V1, V2) -> 704.90/185.77 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.77 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 704.90/185.77 , U35(tt(), V2) -> U36(isNat(activate(V2))) 704.90/185.77 , U36(tt()) -> tt() 704.90/185.77 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 704.90/185.77 , U42(tt()) -> tt() 704.90/185.77 , U51(tt()) -> tt() 704.90/185.77 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 704.90/185.77 , U62(tt()) -> tt() 704.90/185.77 , s(X) -> n__s(X) 704.90/185.77 , 0() -> n__0() } 704.90/185.77 Obligation: 704.90/185.77 innermost runtime complexity 704.90/185.77 Answer: 704.90/185.77 YES(O(1),O(1)) 704.90/185.77 704.90/185.77 No rule is usable, rules are removed from the input problem. 704.90/185.77 704.90/185.77 We are left with following problem, upon which TcT provides the 704.90/185.77 certificate YES(O(1),O(1)). 704.90/185.77 704.90/185.77 Rules: Empty 704.90/185.77 Obligation: 704.90/185.77 innermost runtime complexity 704.90/185.77 Answer: 704.90/185.77 YES(O(1),O(1)) 704.90/185.77 704.90/185.77 Empty rules are trivially bounded 704.90/185.77 704.90/185.77 S) We are left with following problem, upon which TcT provides the 704.90/185.77 certificate YES(O(1),O(n^1)). 704.90/185.77 704.90/185.77 Strict DPs: 704.90/185.77 { U102^#(tt(), M, N) -> 704.90/185.77 c_2(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.90/185.77 isNat^#(activate(N))) 704.90/185.77 , U103^#(tt(), M, N) -> c_6(isNatKind^#(activate(N))) 704.90/185.77 , isNat^#(n__plus(V1, V2)) -> 704.90/185.77 c_7(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.90/185.77 isNatKind^#(activate(V1))) 704.90/185.77 , isNat^#(n__s(V1)) -> 704.90/185.77 c_8(U21^#(isNatKind(activate(V1)), activate(V1)), 704.90/185.77 isNatKind^#(activate(V1))) 704.90/185.77 , isNat^#(n__x(V1, V2)) -> 704.90/185.77 c_9(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.90/185.77 isNatKind^#(activate(V1))) 704.90/185.77 , U11^#(tt(), V1, V2) -> 704.90/185.77 c_12(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.90/185.77 isNatKind^#(activate(V1))) 704.90/185.77 , U21^#(tt(), V1) -> 704.90/185.77 c_13(U22^#(isNatKind(activate(V1)), activate(V1)), 704.90/185.77 isNatKind^#(activate(V1))) 704.90/185.77 , U31^#(tt(), V1, V2) -> 704.90/185.77 c_14(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.90/185.77 isNatKind^#(activate(V1))) 704.90/185.77 , U12^#(tt(), V1, V2) -> 704.90/185.77 c_15(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.90/185.77 isNatKind^#(activate(V2))) 704.90/185.77 , U13^#(tt(), V1, V2) -> 704.90/185.77 c_16(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.90/185.77 isNatKind^#(activate(V2))) 704.90/185.77 , U14^#(tt(), V1, V2) -> 704.90/185.77 c_17(U15^#(isNat(activate(V1)), activate(V2)), 704.90/185.77 isNat^#(activate(V1))) 704.90/185.77 , U15^#(tt(), V2) -> c_18(isNat^#(activate(V2))) 704.90/185.77 , U22^#(tt(), V1) -> c_19(isNat^#(activate(V1))) 704.90/185.77 , U32^#(tt(), V1, V2) -> 704.90/185.77 c_20(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.90/185.77 isNatKind^#(activate(V2))) 704.90/185.77 , U33^#(tt(), V1, V2) -> 704.90/185.77 c_21(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.90/185.77 isNatKind^#(activate(V2))) 704.90/185.77 , U34^#(tt(), V1, V2) -> 704.90/185.77 c_22(U35^#(isNat(activate(V1)), activate(V2)), 704.90/185.77 isNat^#(activate(V1))) 704.90/185.77 , U35^#(tt(), V2) -> c_23(isNat^#(activate(V2))) 704.90/185.77 , U71^#(tt(), N) -> c_24(isNatKind^#(activate(N))) 704.90/185.77 , U81^#(tt(), M, N) -> 704.90/185.77 c_25(U82^#(isNatKind(activate(M)), activate(M), activate(N)), 704.90/185.77 isNatKind^#(activate(M))) 704.90/185.77 , U82^#(tt(), M, N) -> 704.90/185.77 c_26(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.90/185.77 isNat^#(activate(N))) 704.90/185.77 , U83^#(tt(), M, N) -> c_27(isNatKind^#(activate(N))) 704.90/185.77 , U91^#(tt(), N) -> c_28(isNatKind^#(activate(N))) } 704.90/185.77 Weak DPs: 704.90/185.77 { U101^#(tt(), M, N) -> 704.90/185.77 c_1(U102^#(isNatKind(activate(M)), activate(M), activate(N)), 704.90/185.77 isNatKind^#(activate(M))) 704.90/185.77 , isNatKind^#(n__plus(V1, V2)) -> 704.90/185.77 c_3(U41^#(isNatKind(activate(V1)), activate(V2)), 704.90/185.77 isNatKind^#(activate(V1))) 704.90/185.77 , isNatKind^#(n__s(V1)) -> c_4(isNatKind^#(activate(V1))) 704.90/185.77 , isNatKind^#(n__x(V1, V2)) -> 704.90/185.77 c_5(U61^#(isNatKind(activate(V1)), activate(V2)), 704.90/185.77 isNatKind^#(activate(V1))) 704.90/185.77 , U41^#(tt(), V2) -> c_10(isNatKind^#(activate(V2))) 704.90/185.77 , U61^#(tt(), V2) -> c_11(isNatKind^#(activate(V2))) } 704.90/185.77 Weak Trs: 704.90/185.77 { isNatKind(n__0()) -> tt() 704.90/185.77 , isNatKind(n__plus(V1, V2)) -> 704.90/185.77 U41(isNatKind(activate(V1)), activate(V2)) 704.90/185.77 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.90/185.77 , isNatKind(n__x(V1, V2)) -> 704.90/185.77 U61(isNatKind(activate(V1)), activate(V2)) 704.90/185.77 , activate(X) -> X 704.90/185.77 , activate(n__0()) -> 0() 704.90/185.77 , activate(n__plus(X1, X2)) -> plus(X1, X2) 704.90/185.77 , activate(n__s(X)) -> s(X) 704.90/185.77 , activate(n__x(X1, X2)) -> x(X1, X2) 704.90/185.77 , isNat(n__0()) -> tt() 704.90/185.77 , isNat(n__plus(V1, V2)) -> 704.90/185.77 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.77 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 704.90/185.77 , isNat(n__x(V1, V2)) -> 704.90/185.77 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.77 , plus(X1, X2) -> n__plus(X1, X2) 704.90/185.77 , x(X1, X2) -> n__x(X1, X2) 704.90/185.77 , U11(tt(), V1, V2) -> 704.90/185.77 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.77 , U12(tt(), V1, V2) -> 704.90/185.77 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.77 , U13(tt(), V1, V2) -> 704.90/185.77 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.77 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 704.90/185.77 , U15(tt(), V2) -> U16(isNat(activate(V2))) 704.90/185.77 , U16(tt()) -> tt() 704.90/185.77 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 704.90/185.77 , U22(tt(), V1) -> U23(isNat(activate(V1))) 704.90/185.77 , U23(tt()) -> tt() 704.90/185.77 , U31(tt(), V1, V2) -> 704.90/185.77 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.77 , U32(tt(), V1, V2) -> 704.90/185.77 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.77 , U33(tt(), V1, V2) -> 704.90/185.77 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.77 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 704.90/185.77 , U35(tt(), V2) -> U36(isNat(activate(V2))) 704.90/185.77 , U36(tt()) -> tt() 704.90/185.77 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 704.90/185.77 , U42(tt()) -> tt() 704.90/185.77 , U51(tt()) -> tt() 704.90/185.77 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 704.90/185.77 , U62(tt()) -> tt() 704.90/185.77 , s(X) -> n__s(X) 704.90/185.77 , 0() -> n__0() } 704.90/185.77 Obligation: 704.90/185.77 innermost runtime complexity 704.90/185.77 Answer: 704.90/185.77 YES(O(1),O(n^1)) 704.90/185.77 704.90/185.77 We estimate the number of application of {2,18,21,22} by 704.90/185.77 applications of Pre({2,18,21,22}) = {1,20}. Here rules are labeled 704.90/185.77 as follows: 704.90/185.77 704.90/185.77 DPs: 704.90/185.77 { 1: U102^#(tt(), M, N) -> 704.90/185.77 c_2(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.90/185.77 isNat^#(activate(N))) 704.90/185.77 , 2: U103^#(tt(), M, N) -> c_6(isNatKind^#(activate(N))) 704.90/185.77 , 3: isNat^#(n__plus(V1, V2)) -> 704.90/185.77 c_7(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.90/185.77 isNatKind^#(activate(V1))) 704.90/185.77 , 4: isNat^#(n__s(V1)) -> 704.90/185.77 c_8(U21^#(isNatKind(activate(V1)), activate(V1)), 704.90/185.77 isNatKind^#(activate(V1))) 704.90/185.77 , 5: isNat^#(n__x(V1, V2)) -> 704.90/185.77 c_9(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.90/185.77 isNatKind^#(activate(V1))) 704.90/185.77 , 6: U11^#(tt(), V1, V2) -> 704.90/185.77 c_12(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.90/185.77 isNatKind^#(activate(V1))) 704.90/185.77 , 7: U21^#(tt(), V1) -> 704.90/185.77 c_13(U22^#(isNatKind(activate(V1)), activate(V1)), 704.90/185.77 isNatKind^#(activate(V1))) 704.90/185.77 , 8: U31^#(tt(), V1, V2) -> 704.90/185.77 c_14(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.90/185.77 isNatKind^#(activate(V1))) 704.90/185.77 , 9: U12^#(tt(), V1, V2) -> 704.90/185.77 c_15(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.90/185.77 isNatKind^#(activate(V2))) 704.90/185.77 , 10: U13^#(tt(), V1, V2) -> 704.90/185.77 c_16(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.90/185.77 isNatKind^#(activate(V2))) 704.90/185.77 , 11: U14^#(tt(), V1, V2) -> 704.90/185.77 c_17(U15^#(isNat(activate(V1)), activate(V2)), 704.90/185.77 isNat^#(activate(V1))) 704.90/185.77 , 12: U15^#(tt(), V2) -> c_18(isNat^#(activate(V2))) 704.90/185.77 , 13: U22^#(tt(), V1) -> c_19(isNat^#(activate(V1))) 704.90/185.77 , 14: U32^#(tt(), V1, V2) -> 704.90/185.77 c_20(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.90/185.77 isNatKind^#(activate(V2))) 704.90/185.77 , 15: U33^#(tt(), V1, V2) -> 704.90/185.77 c_21(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.90/185.77 isNatKind^#(activate(V2))) 704.90/185.77 , 16: U34^#(tt(), V1, V2) -> 704.90/185.77 c_22(U35^#(isNat(activate(V1)), activate(V2)), 704.90/185.77 isNat^#(activate(V1))) 704.90/185.77 , 17: U35^#(tt(), V2) -> c_23(isNat^#(activate(V2))) 704.90/185.78 , 18: U71^#(tt(), N) -> c_24(isNatKind^#(activate(N))) 704.90/185.78 , 19: U81^#(tt(), M, N) -> 704.90/185.78 c_25(U82^#(isNatKind(activate(M)), activate(M), activate(N)), 704.90/185.78 isNatKind^#(activate(M))) 704.90/185.78 , 20: U82^#(tt(), M, N) -> 704.90/185.78 c_26(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.90/185.78 isNat^#(activate(N))) 704.90/185.78 , 21: U83^#(tt(), M, N) -> c_27(isNatKind^#(activate(N))) 704.90/185.78 , 22: U91^#(tt(), N) -> c_28(isNatKind^#(activate(N))) 704.90/185.78 , 23: U101^#(tt(), M, N) -> 704.90/185.78 c_1(U102^#(isNatKind(activate(M)), activate(M), activate(N)), 704.90/185.78 isNatKind^#(activate(M))) 704.90/185.78 , 24: isNatKind^#(n__plus(V1, V2)) -> 704.90/185.78 c_3(U41^#(isNatKind(activate(V1)), activate(V2)), 704.90/185.78 isNatKind^#(activate(V1))) 704.90/185.78 , 25: isNatKind^#(n__s(V1)) -> c_4(isNatKind^#(activate(V1))) 704.90/185.78 , 26: isNatKind^#(n__x(V1, V2)) -> 704.90/185.78 c_5(U61^#(isNatKind(activate(V1)), activate(V2)), 704.90/185.78 isNatKind^#(activate(V1))) 704.90/185.78 , 27: U41^#(tt(), V2) -> c_10(isNatKind^#(activate(V2))) 704.90/185.78 , 28: U61^#(tt(), V2) -> c_11(isNatKind^#(activate(V2))) } 704.90/185.78 704.90/185.78 We are left with following problem, upon which TcT provides the 704.90/185.78 certificate YES(O(1),O(n^1)). 704.90/185.78 704.90/185.78 Strict DPs: 704.90/185.78 { U102^#(tt(), M, N) -> 704.90/185.78 c_2(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.90/185.78 isNat^#(activate(N))) 704.90/185.78 , isNat^#(n__plus(V1, V2)) -> 704.90/185.78 c_7(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.90/185.78 isNatKind^#(activate(V1))) 704.90/185.78 , isNat^#(n__s(V1)) -> 704.90/185.78 c_8(U21^#(isNatKind(activate(V1)), activate(V1)), 704.90/185.78 isNatKind^#(activate(V1))) 704.90/185.78 , isNat^#(n__x(V1, V2)) -> 704.90/185.78 c_9(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.90/185.78 isNatKind^#(activate(V1))) 704.90/185.78 , U11^#(tt(), V1, V2) -> 704.90/185.78 c_12(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.90/185.78 isNatKind^#(activate(V1))) 704.90/185.78 , U21^#(tt(), V1) -> 704.90/185.78 c_13(U22^#(isNatKind(activate(V1)), activate(V1)), 704.90/185.78 isNatKind^#(activate(V1))) 704.90/185.78 , U31^#(tt(), V1, V2) -> 704.90/185.78 c_14(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.90/185.78 isNatKind^#(activate(V1))) 704.90/185.78 , U12^#(tt(), V1, V2) -> 704.90/185.78 c_15(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.90/185.78 isNatKind^#(activate(V2))) 704.90/185.78 , U13^#(tt(), V1, V2) -> 704.90/185.78 c_16(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.90/185.78 isNatKind^#(activate(V2))) 704.90/185.78 , U14^#(tt(), V1, V2) -> 704.90/185.78 c_17(U15^#(isNat(activate(V1)), activate(V2)), 704.90/185.78 isNat^#(activate(V1))) 704.90/185.78 , U15^#(tt(), V2) -> c_18(isNat^#(activate(V2))) 704.90/185.78 , U22^#(tt(), V1) -> c_19(isNat^#(activate(V1))) 704.90/185.78 , U32^#(tt(), V1, V2) -> 704.90/185.78 c_20(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.90/185.78 isNatKind^#(activate(V2))) 704.90/185.78 , U33^#(tt(), V1, V2) -> 704.90/185.78 c_21(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.90/185.78 isNatKind^#(activate(V2))) 704.90/185.78 , U34^#(tt(), V1, V2) -> 704.90/185.78 c_22(U35^#(isNat(activate(V1)), activate(V2)), 704.90/185.78 isNat^#(activate(V1))) 704.90/185.78 , U35^#(tt(), V2) -> c_23(isNat^#(activate(V2))) 704.90/185.78 , U81^#(tt(), M, N) -> 704.90/185.78 c_25(U82^#(isNatKind(activate(M)), activate(M), activate(N)), 704.90/185.78 isNatKind^#(activate(M))) 704.90/185.78 , U82^#(tt(), M, N) -> 704.90/185.78 c_26(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.90/185.78 isNat^#(activate(N))) } 704.90/185.78 Weak DPs: 704.90/185.78 { U101^#(tt(), M, N) -> 704.90/185.78 c_1(U102^#(isNatKind(activate(M)), activate(M), activate(N)), 704.90/185.78 isNatKind^#(activate(M))) 704.90/185.78 , isNatKind^#(n__plus(V1, V2)) -> 704.90/185.78 c_3(U41^#(isNatKind(activate(V1)), activate(V2)), 704.90/185.78 isNatKind^#(activate(V1))) 704.90/185.78 , isNatKind^#(n__s(V1)) -> c_4(isNatKind^#(activate(V1))) 704.90/185.78 , isNatKind^#(n__x(V1, V2)) -> 704.90/185.78 c_5(U61^#(isNatKind(activate(V1)), activate(V2)), 704.90/185.78 isNatKind^#(activate(V1))) 704.90/185.78 , U103^#(tt(), M, N) -> c_6(isNatKind^#(activate(N))) 704.90/185.78 , U41^#(tt(), V2) -> c_10(isNatKind^#(activate(V2))) 704.90/185.78 , U61^#(tt(), V2) -> c_11(isNatKind^#(activate(V2))) 704.90/185.78 , U71^#(tt(), N) -> c_24(isNatKind^#(activate(N))) 704.90/185.78 , U83^#(tt(), M, N) -> c_27(isNatKind^#(activate(N))) 704.90/185.78 , U91^#(tt(), N) -> c_28(isNatKind^#(activate(N))) } 704.90/185.78 Weak Trs: 704.90/185.78 { isNatKind(n__0()) -> tt() 704.90/185.78 , isNatKind(n__plus(V1, V2)) -> 704.90/185.78 U41(isNatKind(activate(V1)), activate(V2)) 704.90/185.78 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.90/185.78 , isNatKind(n__x(V1, V2)) -> 704.90/185.78 U61(isNatKind(activate(V1)), activate(V2)) 704.90/185.78 , activate(X) -> X 704.90/185.78 , activate(n__0()) -> 0() 704.90/185.78 , activate(n__plus(X1, X2)) -> plus(X1, X2) 704.90/185.78 , activate(n__s(X)) -> s(X) 704.90/185.78 , activate(n__x(X1, X2)) -> x(X1, X2) 704.90/185.78 , isNat(n__0()) -> tt() 704.90/185.78 , isNat(n__plus(V1, V2)) -> 704.90/185.78 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.78 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 704.90/185.78 , isNat(n__x(V1, V2)) -> 704.90/185.78 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.78 , plus(X1, X2) -> n__plus(X1, X2) 704.90/185.78 , x(X1, X2) -> n__x(X1, X2) 704.90/185.78 , U11(tt(), V1, V2) -> 704.90/185.78 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.78 , U12(tt(), V1, V2) -> 704.90/185.78 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.78 , U13(tt(), V1, V2) -> 704.90/185.78 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.78 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 704.90/185.78 , U15(tt(), V2) -> U16(isNat(activate(V2))) 704.90/185.78 , U16(tt()) -> tt() 704.90/185.78 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 704.90/185.78 , U22(tt(), V1) -> U23(isNat(activate(V1))) 704.90/185.78 , U23(tt()) -> tt() 704.90/185.78 , U31(tt(), V1, V2) -> 704.90/185.78 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.78 , U32(tt(), V1, V2) -> 704.90/185.78 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.78 , U33(tt(), V1, V2) -> 704.90/185.78 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.78 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 704.90/185.78 , U35(tt(), V2) -> U36(isNat(activate(V2))) 704.90/185.78 , U36(tt()) -> tt() 704.90/185.78 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 704.90/185.78 , U42(tt()) -> tt() 704.90/185.78 , U51(tt()) -> tt() 704.90/185.78 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 704.90/185.78 , U62(tt()) -> tt() 704.90/185.78 , s(X) -> n__s(X) 704.90/185.78 , 0() -> n__0() } 704.90/185.78 Obligation: 704.90/185.78 innermost runtime complexity 704.90/185.78 Answer: 704.90/185.78 YES(O(1),O(n^1)) 704.90/185.78 704.90/185.78 The following weak DPs constitute a sub-graph of the DG that is 704.90/185.78 closed under successors. The DPs are removed. 704.90/185.78 704.90/185.78 { isNatKind^#(n__plus(V1, V2)) -> 704.90/185.78 c_3(U41^#(isNatKind(activate(V1)), activate(V2)), 704.90/185.78 isNatKind^#(activate(V1))) 704.90/185.78 , isNatKind^#(n__s(V1)) -> c_4(isNatKind^#(activate(V1))) 704.90/185.78 , isNatKind^#(n__x(V1, V2)) -> 704.90/185.78 c_5(U61^#(isNatKind(activate(V1)), activate(V2)), 704.90/185.78 isNatKind^#(activate(V1))) 704.90/185.78 , U103^#(tt(), M, N) -> c_6(isNatKind^#(activate(N))) 704.90/185.78 , U41^#(tt(), V2) -> c_10(isNatKind^#(activate(V2))) 704.90/185.78 , U61^#(tt(), V2) -> c_11(isNatKind^#(activate(V2))) 704.90/185.78 , U71^#(tt(), N) -> c_24(isNatKind^#(activate(N))) 704.90/185.78 , U83^#(tt(), M, N) -> c_27(isNatKind^#(activate(N))) 704.90/185.78 , U91^#(tt(), N) -> c_28(isNatKind^#(activate(N))) } 704.90/185.78 704.90/185.78 We are left with following problem, upon which TcT provides the 704.90/185.78 certificate YES(O(1),O(n^1)). 704.90/185.78 704.90/185.78 Strict DPs: 704.90/185.78 { U102^#(tt(), M, N) -> 704.90/185.78 c_2(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.90/185.78 isNat^#(activate(N))) 704.90/185.78 , isNat^#(n__plus(V1, V2)) -> 704.90/185.78 c_7(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.90/185.78 isNatKind^#(activate(V1))) 704.90/185.78 , isNat^#(n__s(V1)) -> 704.90/185.78 c_8(U21^#(isNatKind(activate(V1)), activate(V1)), 704.90/185.78 isNatKind^#(activate(V1))) 704.90/185.78 , isNat^#(n__x(V1, V2)) -> 704.90/185.78 c_9(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.90/185.78 isNatKind^#(activate(V1))) 704.90/185.78 , U11^#(tt(), V1, V2) -> 704.90/185.78 c_12(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.90/185.78 isNatKind^#(activate(V1))) 704.90/185.78 , U21^#(tt(), V1) -> 704.90/185.78 c_13(U22^#(isNatKind(activate(V1)), activate(V1)), 704.90/185.78 isNatKind^#(activate(V1))) 704.90/185.78 , U31^#(tt(), V1, V2) -> 704.90/185.78 c_14(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.90/185.78 isNatKind^#(activate(V1))) 704.90/185.78 , U12^#(tt(), V1, V2) -> 704.90/185.78 c_15(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.90/185.78 isNatKind^#(activate(V2))) 704.90/185.78 , U13^#(tt(), V1, V2) -> 704.90/185.78 c_16(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.90/185.78 isNatKind^#(activate(V2))) 704.90/185.78 , U14^#(tt(), V1, V2) -> 704.90/185.78 c_17(U15^#(isNat(activate(V1)), activate(V2)), 704.90/185.78 isNat^#(activate(V1))) 704.90/185.78 , U15^#(tt(), V2) -> c_18(isNat^#(activate(V2))) 704.90/185.78 , U22^#(tt(), V1) -> c_19(isNat^#(activate(V1))) 704.90/185.78 , U32^#(tt(), V1, V2) -> 704.90/185.78 c_20(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.90/185.78 isNatKind^#(activate(V2))) 704.90/185.78 , U33^#(tt(), V1, V2) -> 704.90/185.78 c_21(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.90/185.78 isNatKind^#(activate(V2))) 704.90/185.78 , U34^#(tt(), V1, V2) -> 704.90/185.78 c_22(U35^#(isNat(activate(V1)), activate(V2)), 704.90/185.78 isNat^#(activate(V1))) 704.90/185.78 , U35^#(tt(), V2) -> c_23(isNat^#(activate(V2))) 704.90/185.78 , U81^#(tt(), M, N) -> 704.90/185.78 c_25(U82^#(isNatKind(activate(M)), activate(M), activate(N)), 704.90/185.78 isNatKind^#(activate(M))) 704.90/185.78 , U82^#(tt(), M, N) -> 704.90/185.78 c_26(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.90/185.78 isNat^#(activate(N))) } 704.90/185.78 Weak DPs: 704.90/185.78 { U101^#(tt(), M, N) -> 704.90/185.78 c_1(U102^#(isNatKind(activate(M)), activate(M), activate(N)), 704.90/185.78 isNatKind^#(activate(M))) } 704.90/185.78 Weak Trs: 704.90/185.78 { isNatKind(n__0()) -> tt() 704.90/185.78 , isNatKind(n__plus(V1, V2)) -> 704.90/185.78 U41(isNatKind(activate(V1)), activate(V2)) 704.90/185.78 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.90/185.78 , isNatKind(n__x(V1, V2)) -> 704.90/185.78 U61(isNatKind(activate(V1)), activate(V2)) 704.90/185.78 , activate(X) -> X 704.90/185.78 , activate(n__0()) -> 0() 704.90/185.78 , activate(n__plus(X1, X2)) -> plus(X1, X2) 704.90/185.78 , activate(n__s(X)) -> s(X) 704.90/185.78 , activate(n__x(X1, X2)) -> x(X1, X2) 704.90/185.78 , isNat(n__0()) -> tt() 704.90/185.78 , isNat(n__plus(V1, V2)) -> 704.90/185.78 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.78 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 704.90/185.78 , isNat(n__x(V1, V2)) -> 704.90/185.78 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.78 , plus(X1, X2) -> n__plus(X1, X2) 704.90/185.78 , x(X1, X2) -> n__x(X1, X2) 704.90/185.78 , U11(tt(), V1, V2) -> 704.90/185.78 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.78 , U12(tt(), V1, V2) -> 704.90/185.78 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.78 , U13(tt(), V1, V2) -> 704.90/185.78 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.78 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 704.90/185.78 , U15(tt(), V2) -> U16(isNat(activate(V2))) 704.90/185.78 , U16(tt()) -> tt() 704.90/185.78 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 704.90/185.78 , U22(tt(), V1) -> U23(isNat(activate(V1))) 704.90/185.78 , U23(tt()) -> tt() 704.90/185.78 , U31(tt(), V1, V2) -> 704.90/185.78 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.78 , U32(tt(), V1, V2) -> 704.90/185.78 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.78 , U33(tt(), V1, V2) -> 704.90/185.78 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.78 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 704.90/185.78 , U35(tt(), V2) -> U36(isNat(activate(V2))) 704.90/185.78 , U36(tt()) -> tt() 704.90/185.78 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 704.90/185.78 , U42(tt()) -> tt() 704.90/185.78 , U51(tt()) -> tt() 704.90/185.78 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 704.90/185.78 , U62(tt()) -> tt() 704.90/185.78 , s(X) -> n__s(X) 704.90/185.78 , 0() -> n__0() } 704.90/185.78 Obligation: 704.90/185.78 innermost runtime complexity 704.90/185.78 Answer: 704.90/185.78 YES(O(1),O(n^1)) 704.90/185.78 704.90/185.78 Due to missing edges in the dependency-graph, the right-hand sides 704.90/185.78 of following rules could be simplified: 704.90/185.78 704.90/185.78 { U101^#(tt(), M, N) -> 704.90/185.78 c_1(U102^#(isNatKind(activate(M)), activate(M), activate(N)), 704.90/185.78 isNatKind^#(activate(M))) 704.90/185.78 , U102^#(tt(), M, N) -> 704.90/185.78 c_2(U103^#(isNat(activate(N)), activate(M), activate(N)), 704.90/185.78 isNat^#(activate(N))) 704.90/185.78 , isNat^#(n__plus(V1, V2)) -> 704.90/185.78 c_7(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.90/185.78 isNatKind^#(activate(V1))) 704.90/185.78 , isNat^#(n__s(V1)) -> 704.90/185.78 c_8(U21^#(isNatKind(activate(V1)), activate(V1)), 704.90/185.78 isNatKind^#(activate(V1))) 704.90/185.78 , isNat^#(n__x(V1, V2)) -> 704.90/185.78 c_9(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.90/185.78 isNatKind^#(activate(V1))) 704.90/185.78 , U11^#(tt(), V1, V2) -> 704.90/185.78 c_12(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.90/185.78 isNatKind^#(activate(V1))) 704.90/185.78 , U21^#(tt(), V1) -> 704.90/185.78 c_13(U22^#(isNatKind(activate(V1)), activate(V1)), 704.90/185.78 isNatKind^#(activate(V1))) 704.90/185.78 , U31^#(tt(), V1, V2) -> 704.90/185.78 c_14(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)), 704.90/185.78 isNatKind^#(activate(V1))) 704.90/185.78 , U12^#(tt(), V1, V2) -> 704.90/185.78 c_15(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.90/185.78 isNatKind^#(activate(V2))) 704.90/185.78 , U13^#(tt(), V1, V2) -> 704.90/185.78 c_16(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.90/185.78 isNatKind^#(activate(V2))) 704.90/185.78 , U32^#(tt(), V1, V2) -> 704.90/185.78 c_20(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.90/185.78 isNatKind^#(activate(V2))) 704.90/185.78 , U33^#(tt(), V1, V2) -> 704.90/185.78 c_21(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)), 704.90/185.78 isNatKind^#(activate(V2))) 704.90/185.78 , U81^#(tt(), M, N) -> 704.90/185.78 c_25(U82^#(isNatKind(activate(M)), activate(M), activate(N)), 704.90/185.78 isNatKind^#(activate(M))) 704.90/185.78 , U82^#(tt(), M, N) -> 704.90/185.78 c_26(U83^#(isNat(activate(N)), activate(M), activate(N)), 704.90/185.78 isNat^#(activate(N))) } 704.90/185.78 704.90/185.78 We are left with following problem, upon which TcT provides the 704.90/185.78 certificate YES(O(1),O(n^1)). 704.90/185.78 704.90/185.78 Strict DPs: 704.90/185.78 { U102^#(tt(), M, N) -> c_1(isNat^#(activate(N))) 704.90/185.78 , isNat^#(n__plus(V1, V2)) -> 704.90/185.78 c_2(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.78 , isNat^#(n__s(V1)) -> 704.90/185.78 c_3(U21^#(isNatKind(activate(V1)), activate(V1))) 704.90/185.78 , isNat^#(n__x(V1, V2)) -> 704.90/185.78 c_4(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.78 , U11^#(tt(), V1, V2) -> 704.90/185.78 c_5(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.78 , U21^#(tt(), V1) -> 704.90/185.78 c_6(U22^#(isNatKind(activate(V1)), activate(V1))) 704.90/185.78 , U31^#(tt(), V1, V2) -> 704.90/185.78 c_7(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.78 , U12^#(tt(), V1, V2) -> 704.90/185.78 c_8(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.78 , U13^#(tt(), V1, V2) -> 704.90/185.78 c_9(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.78 , U14^#(tt(), V1, V2) -> 704.90/185.78 c_10(U15^#(isNat(activate(V1)), activate(V2)), 704.90/185.78 isNat^#(activate(V1))) 704.90/185.78 , U15^#(tt(), V2) -> c_11(isNat^#(activate(V2))) 704.90/185.78 , U22^#(tt(), V1) -> c_12(isNat^#(activate(V1))) 704.90/185.78 , U32^#(tt(), V1, V2) -> 704.90/185.78 c_13(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.78 , U33^#(tt(), V1, V2) -> 704.90/185.78 c_14(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.78 , U34^#(tt(), V1, V2) -> 704.90/185.78 c_15(U35^#(isNat(activate(V1)), activate(V2)), 704.90/185.78 isNat^#(activate(V1))) 704.90/185.78 , U35^#(tt(), V2) -> c_16(isNat^#(activate(V2))) 704.90/185.78 , U81^#(tt(), M, N) -> 704.90/185.78 c_17(U82^#(isNatKind(activate(M)), activate(M), activate(N))) 704.90/185.78 , U82^#(tt(), M, N) -> c_18(isNat^#(activate(N))) } 704.90/185.78 Weak DPs: 704.90/185.78 { U101^#(tt(), M, N) -> 704.90/185.78 c_19(U102^#(isNatKind(activate(M)), activate(M), activate(N))) } 704.90/185.78 Weak Trs: 704.90/185.78 { isNatKind(n__0()) -> tt() 704.90/185.78 , isNatKind(n__plus(V1, V2)) -> 704.90/185.78 U41(isNatKind(activate(V1)), activate(V2)) 704.90/185.78 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.90/185.78 , isNatKind(n__x(V1, V2)) -> 704.90/185.78 U61(isNatKind(activate(V1)), activate(V2)) 704.90/185.78 , activate(X) -> X 704.90/185.78 , activate(n__0()) -> 0() 704.90/185.78 , activate(n__plus(X1, X2)) -> plus(X1, X2) 704.90/185.78 , activate(n__s(X)) -> s(X) 704.90/185.78 , activate(n__x(X1, X2)) -> x(X1, X2) 704.90/185.78 , isNat(n__0()) -> tt() 704.90/185.78 , isNat(n__plus(V1, V2)) -> 704.90/185.78 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.78 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 704.90/185.78 , isNat(n__x(V1, V2)) -> 704.90/185.78 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.78 , plus(X1, X2) -> n__plus(X1, X2) 704.90/185.78 , x(X1, X2) -> n__x(X1, X2) 704.90/185.78 , U11(tt(), V1, V2) -> 704.90/185.78 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.78 , U12(tt(), V1, V2) -> 704.90/185.78 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.78 , U13(tt(), V1, V2) -> 704.90/185.78 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.78 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 704.90/185.78 , U15(tt(), V2) -> U16(isNat(activate(V2))) 704.90/185.78 , U16(tt()) -> tt() 704.90/185.78 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 704.90/185.78 , U22(tt(), V1) -> U23(isNat(activate(V1))) 704.90/185.78 , U23(tt()) -> tt() 704.90/185.78 , U31(tt(), V1, V2) -> 704.90/185.78 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.78 , U32(tt(), V1, V2) -> 704.90/185.78 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.78 , U33(tt(), V1, V2) -> 704.90/185.78 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.78 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 704.90/185.79 , U35(tt(), V2) -> U36(isNat(activate(V2))) 704.90/185.79 , U36(tt()) -> tt() 704.90/185.79 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 704.90/185.79 , U42(tt()) -> tt() 704.90/185.79 , U51(tt()) -> tt() 704.90/185.79 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 704.90/185.79 , U62(tt()) -> tt() 704.90/185.79 , s(X) -> n__s(X) 704.90/185.79 , 0() -> n__0() } 704.90/185.79 Obligation: 704.90/185.79 innermost runtime complexity 704.90/185.79 Answer: 704.90/185.79 YES(O(1),O(n^1)) 704.90/185.79 704.90/185.79 We analyse the complexity of following sub-problems (R) and (S). 704.90/185.79 Problem (S) is obtained from the input problem by shifting strict 704.90/185.79 rules from (R) into the weak component: 704.90/185.79 704.90/185.79 Problem (R): 704.90/185.79 ------------ 704.90/185.79 Strict DPs: 704.90/185.79 { isNat^#(n__plus(V1, V2)) -> 704.90/185.79 c_2(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.79 , isNat^#(n__s(V1)) -> 704.90/185.79 c_3(U21^#(isNatKind(activate(V1)), activate(V1))) 704.90/185.79 , isNat^#(n__x(V1, V2)) -> 704.90/185.79 c_4(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.79 , U11^#(tt(), V1, V2) -> 704.90/185.79 c_5(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.79 , U21^#(tt(), V1) -> 704.90/185.79 c_6(U22^#(isNatKind(activate(V1)), activate(V1))) 704.90/185.79 , U31^#(tt(), V1, V2) -> 704.90/185.79 c_7(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.79 , U12^#(tt(), V1, V2) -> 704.90/185.79 c_8(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.79 , U13^#(tt(), V1, V2) -> 704.90/185.79 c_9(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.79 , U14^#(tt(), V1, V2) -> 704.90/185.79 c_10(U15^#(isNat(activate(V1)), activate(V2)), 704.90/185.79 isNat^#(activate(V1))) 704.90/185.79 , U15^#(tt(), V2) -> c_11(isNat^#(activate(V2))) 704.90/185.79 , U22^#(tt(), V1) -> c_12(isNat^#(activate(V1))) 704.90/185.79 , U32^#(tt(), V1, V2) -> 704.90/185.79 c_13(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.79 , U33^#(tt(), V1, V2) -> 704.90/185.79 c_14(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.79 , U34^#(tt(), V1, V2) -> 704.90/185.79 c_15(U35^#(isNat(activate(V1)), activate(V2)), 704.90/185.79 isNat^#(activate(V1))) 704.90/185.79 , U35^#(tt(), V2) -> c_16(isNat^#(activate(V2))) 704.90/185.79 , U81^#(tt(), M, N) -> 704.90/185.79 c_17(U82^#(isNatKind(activate(M)), activate(M), activate(N))) 704.90/185.79 , U82^#(tt(), M, N) -> c_18(isNat^#(activate(N))) } 704.90/185.79 Weak DPs: 704.90/185.79 { U101^#(tt(), M, N) -> 704.90/185.79 c_19(U102^#(isNatKind(activate(M)), activate(M), activate(N))) 704.90/185.79 , U102^#(tt(), M, N) -> c_1(isNat^#(activate(N))) } 704.90/185.79 Weak Trs: 704.90/185.79 { isNatKind(n__0()) -> tt() 704.90/185.79 , isNatKind(n__plus(V1, V2)) -> 704.90/185.79 U41(isNatKind(activate(V1)), activate(V2)) 704.90/185.79 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.90/185.79 , isNatKind(n__x(V1, V2)) -> 704.90/185.79 U61(isNatKind(activate(V1)), activate(V2)) 704.90/185.79 , activate(X) -> X 704.90/185.79 , activate(n__0()) -> 0() 704.90/185.79 , activate(n__plus(X1, X2)) -> plus(X1, X2) 704.90/185.79 , activate(n__s(X)) -> s(X) 704.90/185.79 , activate(n__x(X1, X2)) -> x(X1, X2) 704.90/185.79 , isNat(n__0()) -> tt() 704.90/185.79 , isNat(n__plus(V1, V2)) -> 704.90/185.79 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.79 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 704.90/185.79 , isNat(n__x(V1, V2)) -> 704.90/185.79 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.79 , plus(X1, X2) -> n__plus(X1, X2) 704.90/185.79 , x(X1, X2) -> n__x(X1, X2) 704.90/185.79 , U11(tt(), V1, V2) -> 704.90/185.79 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.79 , U12(tt(), V1, V2) -> 704.90/185.79 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.79 , U13(tt(), V1, V2) -> 704.90/185.79 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.79 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 704.90/185.79 , U15(tt(), V2) -> U16(isNat(activate(V2))) 704.90/185.79 , U16(tt()) -> tt() 704.90/185.79 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 704.90/185.79 , U22(tt(), V1) -> U23(isNat(activate(V1))) 704.90/185.79 , U23(tt()) -> tt() 704.90/185.79 , U31(tt(), V1, V2) -> 704.90/185.79 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.79 , U32(tt(), V1, V2) -> 704.90/185.79 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.79 , U33(tt(), V1, V2) -> 704.90/185.79 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.79 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 704.90/185.79 , U35(tt(), V2) -> U36(isNat(activate(V2))) 704.90/185.79 , U36(tt()) -> tt() 704.90/185.79 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 704.90/185.79 , U42(tt()) -> tt() 704.90/185.79 , U51(tt()) -> tt() 704.90/185.79 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 704.90/185.79 , U62(tt()) -> tt() 704.90/185.79 , s(X) -> n__s(X) 704.90/185.79 , 0() -> n__0() } 704.90/185.79 StartTerms: basic terms 704.90/185.79 Strategy: innermost 704.90/185.79 704.90/185.79 Problem (S): 704.90/185.79 ------------ 704.90/185.79 Strict DPs: { U102^#(tt(), M, N) -> c_1(isNat^#(activate(N))) } 704.90/185.79 Weak DPs: 704.90/185.79 { U101^#(tt(), M, N) -> 704.90/185.79 c_19(U102^#(isNatKind(activate(M)), activate(M), activate(N))) 704.90/185.79 , isNat^#(n__plus(V1, V2)) -> 704.90/185.79 c_2(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.79 , isNat^#(n__s(V1)) -> 704.90/185.79 c_3(U21^#(isNatKind(activate(V1)), activate(V1))) 704.90/185.79 , isNat^#(n__x(V1, V2)) -> 704.90/185.79 c_4(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.79 , U11^#(tt(), V1, V2) -> 704.90/185.79 c_5(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.79 , U21^#(tt(), V1) -> 704.90/185.79 c_6(U22^#(isNatKind(activate(V1)), activate(V1))) 704.90/185.79 , U31^#(tt(), V1, V2) -> 704.90/185.79 c_7(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.79 , U12^#(tt(), V1, V2) -> 704.90/185.79 c_8(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.79 , U13^#(tt(), V1, V2) -> 704.90/185.79 c_9(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.79 , U14^#(tt(), V1, V2) -> 704.90/185.79 c_10(U15^#(isNat(activate(V1)), activate(V2)), 704.90/185.79 isNat^#(activate(V1))) 704.90/185.79 , U15^#(tt(), V2) -> c_11(isNat^#(activate(V2))) 704.90/185.79 , U22^#(tt(), V1) -> c_12(isNat^#(activate(V1))) 704.90/185.79 , U32^#(tt(), V1, V2) -> 704.90/185.79 c_13(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.79 , U33^#(tt(), V1, V2) -> 704.90/185.79 c_14(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.79 , U34^#(tt(), V1, V2) -> 704.90/185.79 c_15(U35^#(isNat(activate(V1)), activate(V2)), 704.90/185.79 isNat^#(activate(V1))) 704.90/185.79 , U35^#(tt(), V2) -> c_16(isNat^#(activate(V2))) 704.90/185.79 , U81^#(tt(), M, N) -> 704.90/185.79 c_17(U82^#(isNatKind(activate(M)), activate(M), activate(N))) 704.90/185.79 , U82^#(tt(), M, N) -> c_18(isNat^#(activate(N))) } 704.90/185.79 Weak Trs: 704.90/185.79 { isNatKind(n__0()) -> tt() 704.90/185.79 , isNatKind(n__plus(V1, V2)) -> 704.90/185.79 U41(isNatKind(activate(V1)), activate(V2)) 704.90/185.79 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.90/185.79 , isNatKind(n__x(V1, V2)) -> 704.90/185.79 U61(isNatKind(activate(V1)), activate(V2)) 704.90/185.79 , activate(X) -> X 704.90/185.79 , activate(n__0()) -> 0() 704.90/185.79 , activate(n__plus(X1, X2)) -> plus(X1, X2) 704.90/185.79 , activate(n__s(X)) -> s(X) 704.90/185.79 , activate(n__x(X1, X2)) -> x(X1, X2) 704.90/185.79 , isNat(n__0()) -> tt() 704.90/185.79 , isNat(n__plus(V1, V2)) -> 704.90/185.79 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.79 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 704.90/185.79 , isNat(n__x(V1, V2)) -> 704.90/185.79 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.79 , plus(X1, X2) -> n__plus(X1, X2) 704.90/185.79 , x(X1, X2) -> n__x(X1, X2) 704.90/185.79 , U11(tt(), V1, V2) -> 704.90/185.79 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.79 , U12(tt(), V1, V2) -> 704.90/185.79 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.79 , U13(tt(), V1, V2) -> 704.90/185.79 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.79 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 704.90/185.79 , U15(tt(), V2) -> U16(isNat(activate(V2))) 704.90/185.79 , U16(tt()) -> tt() 704.90/185.79 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 704.90/185.79 , U22(tt(), V1) -> U23(isNat(activate(V1))) 704.90/185.79 , U23(tt()) -> tt() 704.90/185.79 , U31(tt(), V1, V2) -> 704.90/185.79 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.79 , U32(tt(), V1, V2) -> 704.90/185.79 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.79 , U33(tt(), V1, V2) -> 704.90/185.79 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.79 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 704.90/185.79 , U35(tt(), V2) -> U36(isNat(activate(V2))) 704.90/185.79 , U36(tt()) -> tt() 704.90/185.79 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 704.90/185.79 , U42(tt()) -> tt() 704.90/185.79 , U51(tt()) -> tt() 704.90/185.79 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 704.90/185.79 , U62(tt()) -> tt() 704.90/185.79 , s(X) -> n__s(X) 704.90/185.79 , 0() -> n__0() } 704.90/185.79 StartTerms: basic terms 704.90/185.79 Strategy: innermost 704.90/185.79 704.90/185.79 Overall, the transformation results in the following sub-problem(s): 704.90/185.79 704.90/185.79 Generated new problems: 704.90/185.79 ----------------------- 704.90/185.79 R) Strict DPs: 704.90/185.79 { isNat^#(n__plus(V1, V2)) -> 704.90/185.79 c_2(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.79 , isNat^#(n__s(V1)) -> 704.90/185.79 c_3(U21^#(isNatKind(activate(V1)), activate(V1))) 704.90/185.79 , isNat^#(n__x(V1, V2)) -> 704.90/185.79 c_4(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.79 , U11^#(tt(), V1, V2) -> 704.90/185.79 c_5(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.79 , U21^#(tt(), V1) -> 704.90/185.79 c_6(U22^#(isNatKind(activate(V1)), activate(V1))) 704.90/185.79 , U31^#(tt(), V1, V2) -> 704.90/185.79 c_7(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.79 , U12^#(tt(), V1, V2) -> 704.90/185.79 c_8(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.79 , U13^#(tt(), V1, V2) -> 704.90/185.79 c_9(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.79 , U14^#(tt(), V1, V2) -> 704.90/185.79 c_10(U15^#(isNat(activate(V1)), activate(V2)), 704.90/185.79 isNat^#(activate(V1))) 704.90/185.79 , U15^#(tt(), V2) -> c_11(isNat^#(activate(V2))) 704.90/185.79 , U22^#(tt(), V1) -> c_12(isNat^#(activate(V1))) 704.90/185.79 , U32^#(tt(), V1, V2) -> 704.90/185.79 c_13(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.79 , U33^#(tt(), V1, V2) -> 704.90/185.79 c_14(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.79 , U34^#(tt(), V1, V2) -> 704.90/185.79 c_15(U35^#(isNat(activate(V1)), activate(V2)), 704.90/185.79 isNat^#(activate(V1))) 704.90/185.79 , U35^#(tt(), V2) -> c_16(isNat^#(activate(V2))) 704.90/185.79 , U81^#(tt(), M, N) -> 704.90/185.79 c_17(U82^#(isNatKind(activate(M)), activate(M), activate(N))) 704.90/185.79 , U82^#(tt(), M, N) -> c_18(isNat^#(activate(N))) } 704.90/185.79 Weak DPs: 704.90/185.79 { U101^#(tt(), M, N) -> 704.90/185.79 c_19(U102^#(isNatKind(activate(M)), activate(M), activate(N))) 704.90/185.79 , U102^#(tt(), M, N) -> c_1(isNat^#(activate(N))) } 704.90/185.79 Weak Trs: 704.90/185.79 { isNatKind(n__0()) -> tt() 704.90/185.79 , isNatKind(n__plus(V1, V2)) -> 704.90/185.79 U41(isNatKind(activate(V1)), activate(V2)) 704.90/185.79 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.90/185.79 , isNatKind(n__x(V1, V2)) -> 704.90/185.79 U61(isNatKind(activate(V1)), activate(V2)) 704.90/185.79 , activate(X) -> X 704.90/185.79 , activate(n__0()) -> 0() 704.90/185.79 , activate(n__plus(X1, X2)) -> plus(X1, X2) 704.90/185.79 , activate(n__s(X)) -> s(X) 704.90/185.79 , activate(n__x(X1, X2)) -> x(X1, X2) 704.90/185.79 , isNat(n__0()) -> tt() 704.90/185.79 , isNat(n__plus(V1, V2)) -> 704.90/185.79 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.79 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 704.90/185.79 , isNat(n__x(V1, V2)) -> 704.90/185.79 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.79 , plus(X1, X2) -> n__plus(X1, X2) 704.90/185.79 , x(X1, X2) -> n__x(X1, X2) 704.90/185.79 , U11(tt(), V1, V2) -> 704.90/185.79 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.79 , U12(tt(), V1, V2) -> 704.90/185.79 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.79 , U13(tt(), V1, V2) -> 704.90/185.79 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.79 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 704.90/185.79 , U15(tt(), V2) -> U16(isNat(activate(V2))) 704.90/185.79 , U16(tt()) -> tt() 704.90/185.79 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 704.90/185.79 , U22(tt(), V1) -> U23(isNat(activate(V1))) 704.90/185.79 , U23(tt()) -> tt() 704.90/185.79 , U31(tt(), V1, V2) -> 704.90/185.79 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.79 , U32(tt(), V1, V2) -> 704.90/185.79 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.79 , U33(tt(), V1, V2) -> 704.90/185.79 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.79 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 704.90/185.79 , U35(tt(), V2) -> U36(isNat(activate(V2))) 704.90/185.79 , U36(tt()) -> tt() 704.90/185.79 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 704.90/185.79 , U42(tt()) -> tt() 704.90/185.79 , U51(tt()) -> tt() 704.90/185.79 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 704.90/185.79 , U62(tt()) -> tt() 704.90/185.79 , s(X) -> n__s(X) 704.90/185.79 , 0() -> n__0() } 704.90/185.79 StartTerms: basic terms 704.90/185.79 Strategy: innermost 704.90/185.79 704.90/185.79 This problem was proven YES(O(1),O(n^1)). 704.90/185.79 704.90/185.79 S) Strict DPs: { U102^#(tt(), M, N) -> c_1(isNat^#(activate(N))) } 704.90/185.79 Weak DPs: 704.90/185.79 { U101^#(tt(), M, N) -> 704.90/185.79 c_19(U102^#(isNatKind(activate(M)), activate(M), activate(N))) 704.90/185.79 , isNat^#(n__plus(V1, V2)) -> 704.90/185.79 c_2(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.79 , isNat^#(n__s(V1)) -> 704.90/185.79 c_3(U21^#(isNatKind(activate(V1)), activate(V1))) 704.90/185.79 , isNat^#(n__x(V1, V2)) -> 704.90/185.79 c_4(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.79 , U11^#(tt(), V1, V2) -> 704.90/185.79 c_5(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.79 , U21^#(tt(), V1) -> 704.90/185.79 c_6(U22^#(isNatKind(activate(V1)), activate(V1))) 704.90/185.79 , U31^#(tt(), V1, V2) -> 704.90/185.79 c_7(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.79 , U12^#(tt(), V1, V2) -> 704.90/185.79 c_8(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.79 , U13^#(tt(), V1, V2) -> 704.90/185.79 c_9(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.79 , U14^#(tt(), V1, V2) -> 704.90/185.79 c_10(U15^#(isNat(activate(V1)), activate(V2)), 704.90/185.79 isNat^#(activate(V1))) 704.90/185.79 , U15^#(tt(), V2) -> c_11(isNat^#(activate(V2))) 704.90/185.79 , U22^#(tt(), V1) -> c_12(isNat^#(activate(V1))) 704.90/185.79 , U32^#(tt(), V1, V2) -> 704.90/185.79 c_13(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.79 , U33^#(tt(), V1, V2) -> 704.90/185.79 c_14(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.79 , U34^#(tt(), V1, V2) -> 704.90/185.79 c_15(U35^#(isNat(activate(V1)), activate(V2)), 704.90/185.79 isNat^#(activate(V1))) 704.90/185.79 , U35^#(tt(), V2) -> c_16(isNat^#(activate(V2))) 704.90/185.79 , U81^#(tt(), M, N) -> 704.90/185.79 c_17(U82^#(isNatKind(activate(M)), activate(M), activate(N))) 704.90/185.79 , U82^#(tt(), M, N) -> c_18(isNat^#(activate(N))) } 704.90/185.79 Weak Trs: 704.90/185.79 { isNatKind(n__0()) -> tt() 704.90/185.79 , isNatKind(n__plus(V1, V2)) -> 704.90/185.79 U41(isNatKind(activate(V1)), activate(V2)) 704.90/185.79 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.90/185.79 , isNatKind(n__x(V1, V2)) -> 704.90/185.79 U61(isNatKind(activate(V1)), activate(V2)) 704.90/185.79 , activate(X) -> X 704.90/185.79 , activate(n__0()) -> 0() 704.90/185.79 , activate(n__plus(X1, X2)) -> plus(X1, X2) 704.90/185.79 , activate(n__s(X)) -> s(X) 704.90/185.79 , activate(n__x(X1, X2)) -> x(X1, X2) 704.90/185.79 , isNat(n__0()) -> tt() 704.90/185.79 , isNat(n__plus(V1, V2)) -> 704.90/185.79 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.79 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 704.90/185.79 , isNat(n__x(V1, V2)) -> 704.90/185.79 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.79 , plus(X1, X2) -> n__plus(X1, X2) 704.90/185.79 , x(X1, X2) -> n__x(X1, X2) 704.90/185.79 , U11(tt(), V1, V2) -> 704.90/185.79 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.79 , U12(tt(), V1, V2) -> 704.90/185.79 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.79 , U13(tt(), V1, V2) -> 704.90/185.79 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.79 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 704.90/185.79 , U15(tt(), V2) -> U16(isNat(activate(V2))) 704.90/185.79 , U16(tt()) -> tt() 704.90/185.79 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 704.90/185.79 , U22(tt(), V1) -> U23(isNat(activate(V1))) 704.90/185.79 , U23(tt()) -> tt() 704.90/185.79 , U31(tt(), V1, V2) -> 704.90/185.79 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.79 , U32(tt(), V1, V2) -> 704.90/185.79 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.79 , U33(tt(), V1, V2) -> 704.90/185.79 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.79 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 704.90/185.79 , U35(tt(), V2) -> U36(isNat(activate(V2))) 704.90/185.79 , U36(tt()) -> tt() 704.90/185.79 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 704.90/185.79 , U42(tt()) -> tt() 704.90/185.79 , U51(tt()) -> tt() 704.90/185.79 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 704.90/185.79 , U62(tt()) -> tt() 704.90/185.79 , s(X) -> n__s(X) 704.90/185.79 , 0() -> n__0() } 704.90/185.79 StartTerms: basic terms 704.90/185.79 Strategy: innermost 704.90/185.79 704.90/185.79 This problem was proven YES(O(1),O(1)). 704.90/185.79 704.90/185.79 704.90/185.79 Proofs for generated problems: 704.90/185.79 ------------------------------ 704.90/185.79 R) We are left with following problem, upon which TcT provides the 704.90/185.79 certificate YES(O(1),O(n^1)). 704.90/185.79 704.90/185.79 Strict DPs: 704.90/185.79 { isNat^#(n__plus(V1, V2)) -> 704.90/185.79 c_2(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.79 , isNat^#(n__s(V1)) -> 704.90/185.79 c_3(U21^#(isNatKind(activate(V1)), activate(V1))) 704.90/185.79 , isNat^#(n__x(V1, V2)) -> 704.90/185.79 c_4(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.79 , U11^#(tt(), V1, V2) -> 704.90/185.79 c_5(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.79 , U21^#(tt(), V1) -> 704.90/185.79 c_6(U22^#(isNatKind(activate(V1)), activate(V1))) 704.90/185.79 , U31^#(tt(), V1, V2) -> 704.90/185.79 c_7(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.79 , U12^#(tt(), V1, V2) -> 704.90/185.79 c_8(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.79 , U13^#(tt(), V1, V2) -> 704.90/185.79 c_9(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.79 , U14^#(tt(), V1, V2) -> 704.90/185.79 c_10(U15^#(isNat(activate(V1)), activate(V2)), 704.90/185.79 isNat^#(activate(V1))) 704.90/185.79 , U15^#(tt(), V2) -> c_11(isNat^#(activate(V2))) 704.90/185.79 , U22^#(tt(), V1) -> c_12(isNat^#(activate(V1))) 704.90/185.79 , U32^#(tt(), V1, V2) -> 704.90/185.79 c_13(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.79 , U33^#(tt(), V1, V2) -> 704.90/185.79 c_14(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 704.90/185.79 , U34^#(tt(), V1, V2) -> 704.90/185.79 c_15(U35^#(isNat(activate(V1)), activate(V2)), 704.90/185.79 isNat^#(activate(V1))) 704.90/185.79 , U35^#(tt(), V2) -> c_16(isNat^#(activate(V2))) 704.90/185.79 , U81^#(tt(), M, N) -> 704.90/185.79 c_17(U82^#(isNatKind(activate(M)), activate(M), activate(N))) 704.90/185.79 , U82^#(tt(), M, N) -> c_18(isNat^#(activate(N))) } 704.90/185.79 Weak DPs: 704.90/185.79 { U101^#(tt(), M, N) -> 704.90/185.79 c_19(U102^#(isNatKind(activate(M)), activate(M), activate(N))) 704.90/185.79 , U102^#(tt(), M, N) -> c_1(isNat^#(activate(N))) } 704.90/185.79 Weak Trs: 704.90/185.79 { isNatKind(n__0()) -> tt() 704.90/185.79 , isNatKind(n__plus(V1, V2)) -> 704.90/185.79 U41(isNatKind(activate(V1)), activate(V2)) 704.90/185.79 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 704.90/185.79 , isNatKind(n__x(V1, V2)) -> 704.90/185.79 U61(isNatKind(activate(V1)), activate(V2)) 704.90/185.79 , activate(X) -> X 704.90/185.79 , activate(n__0()) -> 0() 704.90/185.79 , activate(n__plus(X1, X2)) -> plus(X1, X2) 704.90/185.79 , activate(n__s(X)) -> s(X) 704.90/185.79 , activate(n__x(X1, X2)) -> x(X1, X2) 704.90/185.79 , isNat(n__0()) -> tt() 704.90/185.79 , isNat(n__plus(V1, V2)) -> 704.90/185.79 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.79 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 704.90/185.79 , isNat(n__x(V1, V2)) -> 704.90/185.79 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.79 , plus(X1, X2) -> n__plus(X1, X2) 704.90/185.79 , x(X1, X2) -> n__x(X1, X2) 704.90/185.79 , U11(tt(), V1, V2) -> 704.90/185.79 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.79 , U12(tt(), V1, V2) -> 704.90/185.79 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.79 , U13(tt(), V1, V2) -> 704.90/185.79 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.79 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 704.90/185.79 , U15(tt(), V2) -> U16(isNat(activate(V2))) 704.90/185.79 , U16(tt()) -> tt() 704.90/185.79 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 704.90/185.79 , U22(tt(), V1) -> U23(isNat(activate(V1))) 704.90/185.79 , U23(tt()) -> tt() 704.90/185.79 , U31(tt(), V1, V2) -> 704.90/185.79 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 704.90/185.79 , U32(tt(), V1, V2) -> 704.90/185.79 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.79 , U33(tt(), V1, V2) -> 704.90/185.79 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 704.90/185.79 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 704.90/185.79 , U35(tt(), V2) -> U36(isNat(activate(V2))) 704.90/185.79 , U36(tt()) -> tt() 704.90/185.79 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 704.90/185.79 , U42(tt()) -> tt() 704.90/185.79 , U51(tt()) -> tt() 704.90/185.79 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 704.90/185.79 , U62(tt()) -> tt() 704.90/185.79 , s(X) -> n__s(X) 704.90/185.79 , 0() -> n__0() } 704.90/185.79 Obligation: 704.90/185.79 innermost runtime complexity 704.90/185.79 Answer: 704.90/185.79 YES(O(1),O(n^1)) 704.90/185.79 704.90/185.79 We use the processor 'matrix interpretation of dimension 1' to 704.90/185.79 orient following rules strictly. 704.90/185.79 704.90/185.79 DPs: 704.90/185.79 { 1: isNat^#(n__plus(V1, V2)) -> 704.90/185.79 c_2(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.79 , 2: isNat^#(n__s(V1)) -> 704.90/185.79 c_3(U21^#(isNatKind(activate(V1)), activate(V1))) 704.90/185.79 , 3: isNat^#(n__x(V1, V2)) -> 704.90/185.79 c_4(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 704.90/185.79 , 16: U81^#(tt(), M, N) -> 704.90/185.79 c_17(U82^#(isNatKind(activate(M)), activate(M), activate(N))) 704.90/185.79 , 18: U101^#(tt(), M, N) -> 704.90/185.79 c_19(U102^#(isNatKind(activate(M)), activate(M), activate(N))) } 704.90/185.79 704.90/185.79 Sub-proof: 704.90/185.79 ---------- 704.90/185.79 The following argument positions are usable: 704.90/185.79 Uargs(c_1) = {1}, Uargs(c_2) = {1}, Uargs(c_3) = {1}, 704.90/185.79 Uargs(c_4) = {1}, Uargs(c_5) = {1}, Uargs(c_6) = {1}, 704.90/185.79 Uargs(c_7) = {1}, Uargs(c_8) = {1}, Uargs(c_9) = {1}, 704.90/185.79 Uargs(c_10) = {1, 2}, Uargs(c_11) = {1}, Uargs(c_12) = {1}, 704.90/185.79 Uargs(c_13) = {1}, Uargs(c_14) = {1}, Uargs(c_15) = {1, 2}, 704.90/185.79 Uargs(c_16) = {1}, Uargs(c_17) = {1}, Uargs(c_18) = {1}, 704.90/185.79 Uargs(c_19) = {1} 704.90/185.79 704.90/185.79 TcT has computed the following constructor-based matrix 704.90/185.79 interpretation satisfying not(EDA). 704.90/185.79 704.90/185.79 [tt] = [0] 704.90/185.79 704.90/185.79 [isNatKind](x1) = [0] 704.90/185.79 704.90/185.79 [activate](x1) = [1] x1 + [0] 704.90/185.79 704.90/185.79 [isNat](x1) = [0] 704.90/185.79 704.90/185.79 [plus](x1, x2) = [1] x1 + [1] x2 + [1] 704.90/185.79 704.90/185.79 [x](x1, x2) = [1] x1 + [1] x2 + [2] 704.90/185.79 704.90/185.80 [U11](x1, x2, x3) = [0] 704.90/185.80 704.90/185.80 [U12](x1, x2, x3) = [0] 704.90/185.80 704.90/185.80 [U13](x1, x2, x3) = [0] 704.90/185.80 704.90/185.80 [U14](x1, x2, x3) = [0] 704.90/185.80 704.90/185.80 [U15](x1, x2) = [0] 704.90/185.80 704.90/185.80 [U16](x1) = [0] 704.90/185.80 704.90/185.80 [U21](x1, x2) = [0] 704.90/185.80 704.90/185.80 [U22](x1, x2) = [0] 704.90/185.80 704.90/185.80 [U23](x1) = [0] 704.90/185.80 704.90/185.80 [U31](x1, x2, x3) = [0] 704.90/185.80 704.90/185.80 [U32](x1, x2, x3) = [0] 704.90/185.80 704.90/185.80 [U33](x1, x2, x3) = [0] 704.90/185.80 704.90/185.80 [U34](x1, x2, x3) = [0] 704.90/185.80 704.90/185.80 [U35](x1, x2) = [0] 704.90/185.80 704.90/185.80 [U36](x1) = [0] 704.90/185.80 704.90/185.80 [U41](x1, x2) = [0] 704.90/185.80 704.90/185.80 [U42](x1) = [0] 704.90/185.80 704.90/185.80 [U51](x1) = [0] 704.90/185.80 704.90/185.80 [U61](x1, x2) = [0] 704.90/185.80 704.90/185.80 [U62](x1) = [0] 704.90/185.80 704.90/185.80 [s](x1) = [1] x1 + [1] 704.90/185.80 704.90/185.80 [0] = [0] 704.90/185.80 704.90/185.80 [n__0] = [0] 704.90/185.80 704.90/185.80 [n__plus](x1, x2) = [1] x1 + [1] x2 + [1] 704.90/185.80 704.90/185.80 [n__s](x1) = [1] x1 + [1] 704.90/185.80 704.90/185.80 [n__x](x1, x2) = [1] x1 + [1] x2 + [2] 704.90/185.80 704.90/185.80 [U101^#](x1, x2, x3) = [7] x1 + [7] x2 + [7] x3 + [7] 704.90/185.80 704.90/185.80 [U102^#](x1, x2, x3) = [4] x3 + [0] 704.90/185.80 704.90/185.80 [isNat^#](x1) = [4] x1 + [0] 704.90/185.80 704.90/185.80 [U11^#](x1, x2, x3) = [4] x2 + [4] x3 + [0] 704.90/185.80 704.90/185.80 [U21^#](x1, x2) = [4] x2 + [0] 704.90/185.80 704.90/185.80 [U31^#](x1, x2, x3) = [4] x2 + [4] x3 + [0] 704.90/185.80 704.90/185.80 [U12^#](x1, x2, x3) = [4] x2 + [4] x3 + [0] 704.90/185.80 704.90/185.80 [U13^#](x1, x2, x3) = [4] x2 + [4] x3 + [0] 704.90/185.80 704.90/185.80 [U14^#](x1, x2, x3) = [4] x2 + [4] x3 + [0] 704.90/185.80 704.90/185.80 [U15^#](x1, x2) = [4] x2 + [0] 704.90/185.80 704.90/185.80 [U22^#](x1, x2) = [4] x2 + [0] 704.90/185.80 704.90/185.80 [U32^#](x1, x2, x3) = [4] x2 + [4] x3 + [0] 704.90/185.80 704.90/185.80 [U33^#](x1, x2, x3) = [4] x2 + [4] x3 + [0] 704.90/185.80 704.90/185.80 [U34^#](x1, x2, x3) = [4] x2 + [4] x3 + [0] 704.90/185.80 704.90/185.80 [U35^#](x1, x2) = [4] x2 + [0] 704.90/185.80 704.90/185.80 [U81^#](x1, x2, x3) = [7] x1 + [7] x2 + [7] x3 + [7] 704.90/185.80 704.90/185.80 [U82^#](x1, x2, x3) = [4] x3 + [0] 704.90/185.80 704.90/185.80 [c_1](x1) = [1] x1 + [0] 704.90/185.80 704.90/185.80 [c_2](x1) = [1] x1 + [3] 704.90/185.80 704.90/185.80 [c_3](x1) = [1] x1 + [3] 704.90/185.80 704.90/185.80 [c_4](x1) = [1] x1 + [5] 704.90/185.80 704.90/185.80 [c_5](x1) = [1] x1 + [0] 704.90/185.80 704.90/185.80 [c_6](x1) = [1] x1 + [0] 704.90/185.80 704.90/185.80 [c_7](x1) = [1] x1 + [0] 704.90/185.80 704.90/185.80 [c_8](x1) = [1] x1 + [0] 704.90/185.80 704.90/185.80 [c_9](x1) = [1] x1 + [0] 704.90/185.80 704.90/185.80 [c_10](x1, x2) = [1] x1 + [1] x2 + [0] 704.90/185.80 704.90/185.80 [c_11](x1) = [1] x1 + [0] 704.90/185.80 704.90/185.80 [c_12](x1) = [1] x1 + [0] 704.90/185.80 704.90/185.80 [c_13](x1) = [1] x1 + [0] 704.90/185.80 704.90/185.80 [c_14](x1) = [1] x1 + [0] 704.90/185.80 704.90/185.80 [c_15](x1, x2) = [1] x1 + [1] x2 + [0] 704.90/185.80 704.90/185.80 [c_16](x1) = [1] x1 + [0] 704.90/185.80 704.90/185.80 [c_17](x1) = [1] x1 + [3] 704.90/185.80 704.90/185.80 [c_18](x1) = [1] x1 + [0] 704.90/185.80 704.90/185.80 [c_19](x1) = [1] x1 + [3] 704.90/185.80 704.90/185.80 The order satisfies the following ordering constraints: 704.90/185.80 704.90/185.80 [isNatKind(n__0())] = [0] 705.14/185.80 >= [0] 705.14/185.80 = [tt()] 705.14/185.80 705.14/185.80 [isNatKind(n__plus(V1, V2))] = [0] 705.14/185.80 >= [0] 705.14/185.80 = [U41(isNatKind(activate(V1)), activate(V2))] 705.14/185.80 705.14/185.80 [isNatKind(n__s(V1))] = [0] 705.14/185.80 >= [0] 705.14/185.80 = [U51(isNatKind(activate(V1)))] 705.14/185.80 705.14/185.80 [isNatKind(n__x(V1, V2))] = [0] 705.14/185.80 >= [0] 705.14/185.80 = [U61(isNatKind(activate(V1)), activate(V2))] 705.14/185.80 705.14/185.80 [activate(X)] = [1] X + [0] 705.14/185.80 >= [1] X + [0] 705.14/185.80 = [X] 705.14/185.80 705.14/185.80 [activate(n__0())] = [0] 705.14/185.80 >= [0] 705.14/185.80 = [0()] 705.14/185.80 705.14/185.80 [activate(n__plus(X1, X2))] = [1] X1 + [1] X2 + [1] 705.14/185.80 >= [1] X1 + [1] X2 + [1] 705.14/185.80 = [plus(X1, X2)] 705.14/185.80 705.14/185.80 [activate(n__s(X))] = [1] X + [1] 705.14/185.80 >= [1] X + [1] 705.14/185.80 = [s(X)] 705.14/185.80 705.14/185.80 [activate(n__x(X1, X2))] = [1] X1 + [1] X2 + [2] 705.14/185.80 >= [1] X1 + [1] X2 + [2] 705.14/185.80 = [x(X1, X2)] 705.14/185.80 705.14/185.80 [isNat(n__0())] = [0] 705.14/185.80 >= [0] 705.14/185.80 = [tt()] 705.14/185.80 705.14/185.80 [isNat(n__plus(V1, V2))] = [0] 705.14/185.80 >= [0] 705.14/185.80 = [U11(isNatKind(activate(V1)), activate(V1), activate(V2))] 705.14/185.80 705.14/185.80 [isNat(n__s(V1))] = [0] 705.14/185.80 >= [0] 705.14/185.80 = [U21(isNatKind(activate(V1)), activate(V1))] 705.14/185.80 705.14/185.80 [isNat(n__x(V1, V2))] = [0] 705.14/185.80 >= [0] 705.14/185.80 = [U31(isNatKind(activate(V1)), activate(V1), activate(V2))] 705.14/185.80 705.14/185.80 [plus(X1, X2)] = [1] X1 + [1] X2 + [1] 705.14/185.80 >= [1] X1 + [1] X2 + [1] 705.14/185.80 = [n__plus(X1, X2)] 705.14/185.80 705.14/185.80 [x(X1, X2)] = [1] X1 + [1] X2 + [2] 705.14/185.80 >= [1] X1 + [1] X2 + [2] 705.14/185.80 = [n__x(X1, X2)] 705.14/185.80 705.14/185.80 [U11(tt(), V1, V2)] = [0] 705.14/185.80 >= [0] 705.14/185.80 = [U12(isNatKind(activate(V1)), activate(V1), activate(V2))] 705.14/185.80 705.14/185.80 [U12(tt(), V1, V2)] = [0] 705.14/185.80 >= [0] 705.14/185.80 = [U13(isNatKind(activate(V2)), activate(V1), activate(V2))] 705.14/185.80 705.14/185.80 [U13(tt(), V1, V2)] = [0] 705.14/185.80 >= [0] 705.14/185.80 = [U14(isNatKind(activate(V2)), activate(V1), activate(V2))] 705.14/185.80 705.14/185.80 [U14(tt(), V1, V2)] = [0] 705.14/185.80 >= [0] 705.14/185.80 = [U15(isNat(activate(V1)), activate(V2))] 705.14/185.80 705.14/185.81 [U15(tt(), V2)] = [0] 705.14/185.81 >= [0] 705.14/185.81 = [U16(isNat(activate(V2)))] 705.14/185.81 705.14/185.81 [U16(tt())] = [0] 705.14/185.81 >= [0] 705.14/185.81 = [tt()] 705.14/185.81 705.14/185.81 [U21(tt(), V1)] = [0] 705.14/185.81 >= [0] 705.14/185.81 = [U22(isNatKind(activate(V1)), activate(V1))] 705.14/185.81 705.14/185.81 [U22(tt(), V1)] = [0] 705.14/185.81 >= [0] 705.14/185.81 = [U23(isNat(activate(V1)))] 705.14/185.81 705.14/185.81 [U23(tt())] = [0] 705.14/185.81 >= [0] 705.14/185.81 = [tt()] 705.14/185.81 705.14/185.81 [U31(tt(), V1, V2)] = [0] 705.14/185.81 >= [0] 705.14/185.81 = [U32(isNatKind(activate(V1)), activate(V1), activate(V2))] 705.14/185.81 705.14/185.81 [U32(tt(), V1, V2)] = [0] 705.14/185.81 >= [0] 705.14/185.81 = [U33(isNatKind(activate(V2)), activate(V1), activate(V2))] 705.14/185.81 705.14/185.81 [U33(tt(), V1, V2)] = [0] 705.14/185.81 >= [0] 705.14/185.81 = [U34(isNatKind(activate(V2)), activate(V1), activate(V2))] 705.14/185.81 705.14/185.81 [U34(tt(), V1, V2)] = [0] 705.14/185.81 >= [0] 705.14/185.81 = [U35(isNat(activate(V1)), activate(V2))] 705.14/185.81 705.14/185.81 [U35(tt(), V2)] = [0] 705.14/185.81 >= [0] 705.14/185.81 = [U36(isNat(activate(V2)))] 705.14/185.81 705.14/185.81 [U36(tt())] = [0] 705.14/185.81 >= [0] 705.14/185.81 = [tt()] 705.14/185.81 705.14/185.81 [U41(tt(), V2)] = [0] 705.14/185.81 >= [0] 705.14/185.81 = [U42(isNatKind(activate(V2)))] 705.14/185.81 705.14/185.81 [U42(tt())] = [0] 705.14/185.81 >= [0] 705.14/185.81 = [tt()] 705.14/185.81 705.14/185.81 [U51(tt())] = [0] 705.14/185.81 >= [0] 705.14/185.81 = [tt()] 705.14/185.81 705.14/185.81 [U61(tt(), V2)] = [0] 705.14/185.81 >= [0] 705.14/185.81 = [U62(isNatKind(activate(V2)))] 705.14/185.81 705.14/185.81 [U62(tt())] = [0] 705.14/185.81 >= [0] 705.14/185.81 = [tt()] 705.14/185.81 705.14/185.81 [s(X)] = [1] X + [1] 705.14/185.81 >= [1] X + [1] 705.14/185.81 = [n__s(X)] 705.14/185.81 705.14/185.81 [0()] = [0] 705.14/185.81 >= [0] 705.14/185.81 = [n__0()] 705.14/185.81 705.14/185.81 [U101^#(tt(), M, N)] = [7] M + [7] N + [7] 705.14/185.81 > [4] N + [3] 705.14/185.81 = [c_19(U102^#(isNatKind(activate(M)), activate(M), activate(N)))] 705.14/185.81 705.14/185.81 [U102^#(tt(), M, N)] = [4] N + [0] 705.14/185.81 >= [4] N + [0] 705.14/185.81 = [c_1(isNat^#(activate(N)))] 705.14/185.81 705.14/185.81 [isNat^#(n__plus(V1, V2))] = [4] V1 + [4] V2 + [4] 705.14/185.81 > [4] V1 + [4] V2 + [3] 705.14/185.81 = [c_2(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2)))] 705.14/185.81 705.14/185.81 [isNat^#(n__s(V1))] = [4] V1 + [4] 705.14/185.81 > [4] V1 + [3] 705.14/185.81 = [c_3(U21^#(isNatKind(activate(V1)), activate(V1)))] 705.14/185.81 705.14/185.81 [isNat^#(n__x(V1, V2))] = [4] V1 + [4] V2 + [8] 705.14/185.81 > [4] V1 + [4] V2 + [5] 705.14/185.81 = [c_4(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2)))] 705.14/185.81 705.14/185.81 [U11^#(tt(), V1, V2)] = [4] V1 + [4] V2 + [0] 705.14/185.81 >= [4] V1 + [4] V2 + [0] 705.14/185.81 = [c_5(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2)))] 705.14/185.81 705.14/185.81 [U21^#(tt(), V1)] = [4] V1 + [0] 705.14/185.81 >= [4] V1 + [0] 705.14/185.81 = [c_6(U22^#(isNatKind(activate(V1)), activate(V1)))] 705.14/185.81 705.14/185.81 [U31^#(tt(), V1, V2)] = [4] V1 + [4] V2 + [0] 705.14/185.81 >= [4] V1 + [4] V2 + [0] 705.14/185.81 = [c_7(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2)))] 705.14/185.81 705.14/185.81 [U12^#(tt(), V1, V2)] = [4] V1 + [4] V2 + [0] 705.14/185.81 >= [4] V1 + [4] V2 + [0] 705.14/185.81 = [c_8(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2)))] 705.14/185.81 705.14/185.81 [U13^#(tt(), V1, V2)] = [4] V1 + [4] V2 + [0] 705.14/185.81 >= [4] V1 + [4] V2 + [0] 705.14/185.81 = [c_9(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2)))] 705.14/185.81 705.14/185.81 [U14^#(tt(), V1, V2)] = [4] V1 + [4] V2 + [0] 705.14/185.81 >= [4] V1 + [4] V2 + [0] 705.14/185.81 = [c_10(U15^#(isNat(activate(V1)), activate(V2)), 705.14/185.81 isNat^#(activate(V1)))] 705.14/185.81 705.14/185.81 [U15^#(tt(), V2)] = [4] V2 + [0] 705.14/185.81 >= [4] V2 + [0] 705.14/185.81 = [c_11(isNat^#(activate(V2)))] 705.14/185.81 705.14/185.81 [U22^#(tt(), V1)] = [4] V1 + [0] 705.14/185.81 >= [4] V1 + [0] 705.14/185.81 = [c_12(isNat^#(activate(V1)))] 705.14/185.81 705.14/185.81 [U32^#(tt(), V1, V2)] = [4] V1 + [4] V2 + [0] 705.14/185.81 >= [4] V1 + [4] V2 + [0] 705.14/185.81 = [c_13(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2)))] 705.14/185.81 705.14/185.81 [U33^#(tt(), V1, V2)] = [4] V1 + [4] V2 + [0] 705.14/185.81 >= [4] V1 + [4] V2 + [0] 705.14/185.81 = [c_14(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2)))] 705.14/185.81 705.14/185.81 [U34^#(tt(), V1, V2)] = [4] V1 + [4] V2 + [0] 705.14/185.81 >= [4] V1 + [4] V2 + [0] 705.14/185.81 = [c_15(U35^#(isNat(activate(V1)), activate(V2)), 705.14/185.81 isNat^#(activate(V1)))] 705.14/185.81 705.14/185.81 [U35^#(tt(), V2)] = [4] V2 + [0] 705.14/185.81 >= [4] V2 + [0] 705.14/185.81 = [c_16(isNat^#(activate(V2)))] 705.14/185.81 705.14/185.81 [U81^#(tt(), M, N)] = [7] M + [7] N + [7] 705.14/185.81 > [4] N + [3] 705.14/185.81 = [c_17(U82^#(isNatKind(activate(M)), activate(M), activate(N)))] 705.14/185.81 705.14/185.81 [U82^#(tt(), M, N)] = [4] N + [0] 705.14/185.81 >= [4] N + [0] 705.14/185.81 = [c_18(isNat^#(activate(N)))] 705.14/185.81 705.14/185.81 705.14/185.81 We return to the main proof. Consider the set of all dependency 705.14/185.81 pairs 705.14/185.81 705.14/185.81 : 705.14/185.81 { 1: isNat^#(n__plus(V1, V2)) -> 705.14/185.81 c_2(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 705.14/185.81 , 2: isNat^#(n__s(V1)) -> 705.14/185.81 c_3(U21^#(isNatKind(activate(V1)), activate(V1))) 705.14/185.81 , 3: isNat^#(n__x(V1, V2)) -> 705.14/185.81 c_4(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 705.14/185.81 , 4: U11^#(tt(), V1, V2) -> 705.14/185.81 c_5(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 705.14/185.81 , 5: U21^#(tt(), V1) -> 705.14/185.81 c_6(U22^#(isNatKind(activate(V1)), activate(V1))) 705.14/185.81 , 6: U31^#(tt(), V1, V2) -> 705.14/185.81 c_7(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 705.14/185.81 , 7: U12^#(tt(), V1, V2) -> 705.14/185.81 c_8(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 705.14/185.81 , 8: U13^#(tt(), V1, V2) -> 705.14/185.81 c_9(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 705.14/185.81 , 9: U14^#(tt(), V1, V2) -> 705.14/185.81 c_10(U15^#(isNat(activate(V1)), activate(V2)), 705.14/185.81 isNat^#(activate(V1))) 705.14/185.81 , 10: U15^#(tt(), V2) -> c_11(isNat^#(activate(V2))) 705.14/185.81 , 11: U22^#(tt(), V1) -> c_12(isNat^#(activate(V1))) 705.14/185.81 , 12: U32^#(tt(), V1, V2) -> 705.14/185.81 c_13(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 705.14/185.81 , 13: U33^#(tt(), V1, V2) -> 705.14/185.81 c_14(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 705.14/185.81 , 14: U34^#(tt(), V1, V2) -> 705.14/185.81 c_15(U35^#(isNat(activate(V1)), activate(V2)), 705.14/185.81 isNat^#(activate(V1))) 705.14/185.81 , 15: U35^#(tt(), V2) -> c_16(isNat^#(activate(V2))) 705.14/185.81 , 16: U81^#(tt(), M, N) -> 705.14/185.81 c_17(U82^#(isNatKind(activate(M)), activate(M), activate(N))) 705.14/185.81 , 17: U82^#(tt(), M, N) -> c_18(isNat^#(activate(N))) 705.14/185.81 , 18: U101^#(tt(), M, N) -> 705.14/185.81 c_19(U102^#(isNatKind(activate(M)), activate(M), activate(N))) 705.14/185.81 , 19: U102^#(tt(), M, N) -> c_1(isNat^#(activate(N))) } 705.14/185.81 705.14/185.81 Processor 'matrix interpretation of dimension 1' induces the 705.14/185.81 complexity certificate YES(?,O(n^1)) on application of dependency 705.14/185.81 pairs {1,2,3,16,18}. These cover all (indirect) predecessors of 705.14/185.81 dependency pairs {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19}, 705.14/185.81 their number of application is equally bounded. The dependency 705.14/185.81 pairs are shifted into the weak component. 705.14/185.81 705.14/185.81 We are left with following problem, upon which TcT provides the 705.14/185.81 certificate YES(O(1),O(1)). 705.14/185.81 705.14/185.81 Weak DPs: 705.14/185.81 { U101^#(tt(), M, N) -> 705.14/185.81 c_19(U102^#(isNatKind(activate(M)), activate(M), activate(N))) 705.14/185.81 , U102^#(tt(), M, N) -> c_1(isNat^#(activate(N))) 705.14/185.81 , isNat^#(n__plus(V1, V2)) -> 705.14/185.81 c_2(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 705.14/185.81 , isNat^#(n__s(V1)) -> 705.14/185.81 c_3(U21^#(isNatKind(activate(V1)), activate(V1))) 705.14/185.81 , isNat^#(n__x(V1, V2)) -> 705.14/185.81 c_4(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 705.14/185.81 , U11^#(tt(), V1, V2) -> 705.14/185.81 c_5(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 705.14/185.81 , U21^#(tt(), V1) -> 705.14/185.81 c_6(U22^#(isNatKind(activate(V1)), activate(V1))) 705.14/185.81 , U31^#(tt(), V1, V2) -> 705.14/185.81 c_7(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 705.14/185.81 , U12^#(tt(), V1, V2) -> 705.14/185.81 c_8(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 705.14/185.81 , U13^#(tt(), V1, V2) -> 705.14/185.81 c_9(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 705.14/185.81 , U14^#(tt(), V1, V2) -> 705.14/185.81 c_10(U15^#(isNat(activate(V1)), activate(V2)), 705.14/185.81 isNat^#(activate(V1))) 705.14/185.81 , U15^#(tt(), V2) -> c_11(isNat^#(activate(V2))) 705.14/185.81 , U22^#(tt(), V1) -> c_12(isNat^#(activate(V1))) 705.14/185.81 , U32^#(tt(), V1, V2) -> 705.14/185.81 c_13(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 705.14/185.81 , U33^#(tt(), V1, V2) -> 705.14/185.81 c_14(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 705.14/185.81 , U34^#(tt(), V1, V2) -> 705.14/185.81 c_15(U35^#(isNat(activate(V1)), activate(V2)), 705.14/185.81 isNat^#(activate(V1))) 705.14/185.81 , U35^#(tt(), V2) -> c_16(isNat^#(activate(V2))) 705.14/185.81 , U81^#(tt(), M, N) -> 705.14/185.81 c_17(U82^#(isNatKind(activate(M)), activate(M), activate(N))) 705.14/185.81 , U82^#(tt(), M, N) -> c_18(isNat^#(activate(N))) } 705.14/185.81 Weak Trs: 705.14/185.81 { isNatKind(n__0()) -> tt() 705.14/185.81 , isNatKind(n__plus(V1, V2)) -> 705.14/185.81 U41(isNatKind(activate(V1)), activate(V2)) 705.14/185.81 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 705.14/185.81 , isNatKind(n__x(V1, V2)) -> 705.14/185.81 U61(isNatKind(activate(V1)), activate(V2)) 705.14/185.81 , activate(X) -> X 705.14/185.81 , activate(n__0()) -> 0() 705.14/185.81 , activate(n__plus(X1, X2)) -> plus(X1, X2) 705.14/185.81 , activate(n__s(X)) -> s(X) 705.14/185.81 , activate(n__x(X1, X2)) -> x(X1, X2) 705.14/185.81 , isNat(n__0()) -> tt() 705.14/185.81 , isNat(n__plus(V1, V2)) -> 705.14/185.81 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 705.14/185.81 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 705.14/185.81 , isNat(n__x(V1, V2)) -> 705.14/185.81 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 705.14/185.81 , plus(X1, X2) -> n__plus(X1, X2) 705.14/185.81 , x(X1, X2) -> n__x(X1, X2) 705.14/185.81 , U11(tt(), V1, V2) -> 705.14/185.81 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 705.14/185.81 , U12(tt(), V1, V2) -> 705.14/185.81 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 705.14/185.81 , U13(tt(), V1, V2) -> 705.14/185.81 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 705.14/185.81 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 705.14/185.81 , U15(tt(), V2) -> U16(isNat(activate(V2))) 705.14/185.81 , U16(tt()) -> tt() 705.14/185.81 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 705.14/185.81 , U22(tt(), V1) -> U23(isNat(activate(V1))) 705.14/185.81 , U23(tt()) -> tt() 705.14/185.81 , U31(tt(), V1, V2) -> 705.14/185.81 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 705.14/185.81 , U32(tt(), V1, V2) -> 705.14/185.81 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 705.14/185.81 , U33(tt(), V1, V2) -> 705.14/185.81 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 705.14/185.81 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 705.14/185.81 , U35(tt(), V2) -> U36(isNat(activate(V2))) 705.14/185.81 , U36(tt()) -> tt() 705.14/185.81 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 705.14/185.81 , U42(tt()) -> tt() 705.14/185.81 , U51(tt()) -> tt() 705.14/185.81 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 705.14/185.81 , U62(tt()) -> tt() 705.14/185.81 , s(X) -> n__s(X) 705.14/185.81 , 0() -> n__0() } 705.14/185.81 Obligation: 705.14/185.81 innermost runtime complexity 705.14/185.81 Answer: 705.14/185.81 YES(O(1),O(1)) 705.14/185.81 705.14/185.81 The following weak DPs constitute a sub-graph of the DG that is 705.14/185.81 closed under successors. The DPs are removed. 705.14/185.81 705.14/185.81 { U101^#(tt(), M, N) -> 705.14/185.81 c_19(U102^#(isNatKind(activate(M)), activate(M), activate(N))) 705.14/185.81 , U102^#(tt(), M, N) -> c_1(isNat^#(activate(N))) 705.14/185.81 , isNat^#(n__plus(V1, V2)) -> 705.14/185.81 c_2(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 705.14/185.81 , isNat^#(n__s(V1)) -> 705.14/185.81 c_3(U21^#(isNatKind(activate(V1)), activate(V1))) 705.14/185.81 , isNat^#(n__x(V1, V2)) -> 705.14/185.81 c_4(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 705.14/185.81 , U11^#(tt(), V1, V2) -> 705.14/185.81 c_5(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 705.14/185.81 , U21^#(tt(), V1) -> 705.14/185.81 c_6(U22^#(isNatKind(activate(V1)), activate(V1))) 705.14/185.81 , U31^#(tt(), V1, V2) -> 705.14/185.81 c_7(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 705.14/185.81 , U12^#(tt(), V1, V2) -> 705.14/185.81 c_8(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 705.14/185.81 , U13^#(tt(), V1, V2) -> 705.14/185.81 c_9(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 705.14/185.81 , U14^#(tt(), V1, V2) -> 705.14/185.81 c_10(U15^#(isNat(activate(V1)), activate(V2)), 705.14/185.81 isNat^#(activate(V1))) 705.14/185.81 , U15^#(tt(), V2) -> c_11(isNat^#(activate(V2))) 705.14/185.82 , U22^#(tt(), V1) -> c_12(isNat^#(activate(V1))) 705.14/185.82 , U32^#(tt(), V1, V2) -> 705.14/185.82 c_13(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 705.14/185.82 , U33^#(tt(), V1, V2) -> 705.14/185.82 c_14(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 705.14/185.82 , U34^#(tt(), V1, V2) -> 705.14/185.82 c_15(U35^#(isNat(activate(V1)), activate(V2)), 705.14/185.82 isNat^#(activate(V1))) 705.14/185.82 , U35^#(tt(), V2) -> c_16(isNat^#(activate(V2))) 705.14/185.82 , U81^#(tt(), M, N) -> 705.14/185.82 c_17(U82^#(isNatKind(activate(M)), activate(M), activate(N))) 705.14/185.82 , U82^#(tt(), M, N) -> c_18(isNat^#(activate(N))) } 705.14/185.82 705.14/185.82 We are left with following problem, upon which TcT provides the 705.14/185.82 certificate YES(O(1),O(1)). 705.14/185.82 705.14/185.82 Weak Trs: 705.14/185.82 { isNatKind(n__0()) -> tt() 705.14/185.82 , isNatKind(n__plus(V1, V2)) -> 705.14/185.82 U41(isNatKind(activate(V1)), activate(V2)) 705.14/185.82 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 705.14/185.82 , isNatKind(n__x(V1, V2)) -> 705.14/185.82 U61(isNatKind(activate(V1)), activate(V2)) 705.14/185.82 , activate(X) -> X 705.14/185.82 , activate(n__0()) -> 0() 705.14/185.82 , activate(n__plus(X1, X2)) -> plus(X1, X2) 705.14/185.82 , activate(n__s(X)) -> s(X) 705.14/185.82 , activate(n__x(X1, X2)) -> x(X1, X2) 705.14/185.82 , isNat(n__0()) -> tt() 705.14/185.82 , isNat(n__plus(V1, V2)) -> 705.14/185.82 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 705.14/185.82 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 705.14/185.82 , isNat(n__x(V1, V2)) -> 705.14/185.82 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 705.14/185.82 , plus(X1, X2) -> n__plus(X1, X2) 705.14/185.82 , x(X1, X2) -> n__x(X1, X2) 705.14/185.82 , U11(tt(), V1, V2) -> 705.14/185.82 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 705.14/185.82 , U12(tt(), V1, V2) -> 705.14/185.82 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 705.14/185.82 , U13(tt(), V1, V2) -> 705.14/185.82 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 705.14/185.82 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 705.14/185.82 , U15(tt(), V2) -> U16(isNat(activate(V2))) 705.14/185.82 , U16(tt()) -> tt() 705.14/185.82 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 705.14/185.82 , U22(tt(), V1) -> U23(isNat(activate(V1))) 705.14/185.82 , U23(tt()) -> tt() 705.14/185.82 , U31(tt(), V1, V2) -> 705.14/185.82 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 705.14/185.82 , U32(tt(), V1, V2) -> 705.14/185.82 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 705.14/185.82 , U33(tt(), V1, V2) -> 705.14/185.82 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 705.14/185.82 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 705.14/185.82 , U35(tt(), V2) -> U36(isNat(activate(V2))) 705.14/185.82 , U36(tt()) -> tt() 705.14/185.82 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 705.14/185.82 , U42(tt()) -> tt() 705.14/185.82 , U51(tt()) -> tt() 705.14/185.82 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 705.14/185.82 , U62(tt()) -> tt() 705.14/185.82 , s(X) -> n__s(X) 705.14/185.82 , 0() -> n__0() } 705.14/185.82 Obligation: 705.14/185.82 innermost runtime complexity 705.14/185.82 Answer: 705.14/185.82 YES(O(1),O(1)) 705.14/185.82 705.14/185.82 No rule is usable, rules are removed from the input problem. 705.14/185.82 705.14/185.82 We are left with following problem, upon which TcT provides the 705.14/185.82 certificate YES(O(1),O(1)). 705.14/185.82 705.14/185.82 Rules: Empty 705.14/185.82 Obligation: 705.14/185.82 innermost runtime complexity 705.14/185.82 Answer: 705.14/185.82 YES(O(1),O(1)) 705.14/185.82 705.14/185.82 Empty rules are trivially bounded 705.14/185.82 705.14/185.82 S) We are left with following problem, upon which TcT provides the 705.14/185.82 certificate YES(O(1),O(1)). 705.14/185.82 705.14/185.82 Strict DPs: { U102^#(tt(), M, N) -> c_1(isNat^#(activate(N))) } 705.14/185.82 Weak DPs: 705.14/185.82 { U101^#(tt(), M, N) -> 705.14/185.82 c_19(U102^#(isNatKind(activate(M)), activate(M), activate(N))) 705.14/185.82 , isNat^#(n__plus(V1, V2)) -> 705.14/185.82 c_2(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 705.14/185.82 , isNat^#(n__s(V1)) -> 705.14/185.82 c_3(U21^#(isNatKind(activate(V1)), activate(V1))) 705.14/185.82 , isNat^#(n__x(V1, V2)) -> 705.14/185.82 c_4(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 705.14/185.82 , U11^#(tt(), V1, V2) -> 705.14/185.82 c_5(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 705.14/185.82 , U21^#(tt(), V1) -> 705.14/185.82 c_6(U22^#(isNatKind(activate(V1)), activate(V1))) 705.14/185.82 , U31^#(tt(), V1, V2) -> 705.14/185.82 c_7(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 705.14/185.82 , U12^#(tt(), V1, V2) -> 705.14/185.82 c_8(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 705.14/185.82 , U13^#(tt(), V1, V2) -> 705.14/185.82 c_9(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 705.14/185.82 , U14^#(tt(), V1, V2) -> 705.14/185.82 c_10(U15^#(isNat(activate(V1)), activate(V2)), 705.14/185.82 isNat^#(activate(V1))) 705.14/185.82 , U15^#(tt(), V2) -> c_11(isNat^#(activate(V2))) 705.14/185.82 , U22^#(tt(), V1) -> c_12(isNat^#(activate(V1))) 705.14/185.82 , U32^#(tt(), V1, V2) -> 705.14/185.82 c_13(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 705.14/185.82 , U33^#(tt(), V1, V2) -> 705.14/185.82 c_14(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 705.14/185.82 , U34^#(tt(), V1, V2) -> 705.14/185.82 c_15(U35^#(isNat(activate(V1)), activate(V2)), 705.14/185.82 isNat^#(activate(V1))) 705.14/185.82 , U35^#(tt(), V2) -> c_16(isNat^#(activate(V2))) 705.14/185.82 , U81^#(tt(), M, N) -> 705.14/185.82 c_17(U82^#(isNatKind(activate(M)), activate(M), activate(N))) 705.14/185.82 , U82^#(tt(), M, N) -> c_18(isNat^#(activate(N))) } 705.14/185.82 Weak Trs: 705.14/185.82 { isNatKind(n__0()) -> tt() 705.14/185.82 , isNatKind(n__plus(V1, V2)) -> 705.14/185.82 U41(isNatKind(activate(V1)), activate(V2)) 705.14/185.82 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 705.14/185.82 , isNatKind(n__x(V1, V2)) -> 705.14/185.82 U61(isNatKind(activate(V1)), activate(V2)) 705.14/185.82 , activate(X) -> X 705.14/185.82 , activate(n__0()) -> 0() 705.14/185.82 , activate(n__plus(X1, X2)) -> plus(X1, X2) 705.14/185.82 , activate(n__s(X)) -> s(X) 705.14/185.82 , activate(n__x(X1, X2)) -> x(X1, X2) 705.14/185.82 , isNat(n__0()) -> tt() 705.14/185.82 , isNat(n__plus(V1, V2)) -> 705.14/185.82 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 705.14/185.82 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 705.14/185.82 , isNat(n__x(V1, V2)) -> 705.14/185.82 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 705.14/185.82 , plus(X1, X2) -> n__plus(X1, X2) 705.14/185.82 , x(X1, X2) -> n__x(X1, X2) 705.14/185.82 , U11(tt(), V1, V2) -> 705.14/185.82 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 705.14/185.82 , U12(tt(), V1, V2) -> 705.14/185.82 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 705.14/185.82 , U13(tt(), V1, V2) -> 705.14/185.82 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 705.14/185.82 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 705.14/185.82 , U15(tt(), V2) -> U16(isNat(activate(V2))) 705.14/185.82 , U16(tt()) -> tt() 705.14/185.82 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 705.14/185.82 , U22(tt(), V1) -> U23(isNat(activate(V1))) 705.14/185.82 , U23(tt()) -> tt() 705.14/185.82 , U31(tt(), V1, V2) -> 705.14/185.82 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 705.14/185.82 , U32(tt(), V1, V2) -> 705.14/185.82 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 705.14/185.82 , U33(tt(), V1, V2) -> 705.14/185.82 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 705.14/185.82 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 705.14/185.82 , U35(tt(), V2) -> U36(isNat(activate(V2))) 705.14/185.82 , U36(tt()) -> tt() 705.14/185.82 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 705.14/185.82 , U42(tt()) -> tt() 705.14/185.82 , U51(tt()) -> tt() 705.14/185.82 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 705.14/185.82 , U62(tt()) -> tt() 705.14/185.82 , s(X) -> n__s(X) 705.14/185.82 , 0() -> n__0() } 705.14/185.82 Obligation: 705.14/185.82 innermost runtime complexity 705.14/185.82 Answer: 705.14/185.82 YES(O(1),O(1)) 705.14/185.82 705.14/185.82 The following weak DPs constitute a sub-graph of the DG that is 705.14/185.82 closed under successors. The DPs are removed. 705.14/185.82 705.14/185.82 { isNat^#(n__plus(V1, V2)) -> 705.14/185.82 c_2(U11^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 705.14/185.82 , isNat^#(n__s(V1)) -> 705.14/185.82 c_3(U21^#(isNatKind(activate(V1)), activate(V1))) 705.14/185.82 , isNat^#(n__x(V1, V2)) -> 705.14/185.82 c_4(U31^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 705.14/185.82 , U11^#(tt(), V1, V2) -> 705.14/185.82 c_5(U12^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 705.14/185.82 , U21^#(tt(), V1) -> 705.14/185.82 c_6(U22^#(isNatKind(activate(V1)), activate(V1))) 705.14/185.82 , U31^#(tt(), V1, V2) -> 705.14/185.82 c_7(U32^#(isNatKind(activate(V1)), activate(V1), activate(V2))) 705.14/185.82 , U12^#(tt(), V1, V2) -> 705.14/185.82 c_8(U13^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 705.14/185.82 , U13^#(tt(), V1, V2) -> 705.14/185.82 c_9(U14^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 705.14/185.82 , U14^#(tt(), V1, V2) -> 705.14/185.82 c_10(U15^#(isNat(activate(V1)), activate(V2)), 705.14/185.82 isNat^#(activate(V1))) 705.14/185.82 , U15^#(tt(), V2) -> c_11(isNat^#(activate(V2))) 705.14/185.82 , U22^#(tt(), V1) -> c_12(isNat^#(activate(V1))) 705.14/185.82 , U32^#(tt(), V1, V2) -> 705.14/185.82 c_13(U33^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 705.14/185.82 , U33^#(tt(), V1, V2) -> 705.14/185.82 c_14(U34^#(isNatKind(activate(V2)), activate(V1), activate(V2))) 705.14/185.82 , U34^#(tt(), V1, V2) -> 705.14/185.82 c_15(U35^#(isNat(activate(V1)), activate(V2)), 705.14/185.82 isNat^#(activate(V1))) 705.14/185.82 , U35^#(tt(), V2) -> c_16(isNat^#(activate(V2))) 705.14/185.82 , U81^#(tt(), M, N) -> 705.14/185.82 c_17(U82^#(isNatKind(activate(M)), activate(M), activate(N))) 705.14/185.82 , U82^#(tt(), M, N) -> c_18(isNat^#(activate(N))) } 705.14/185.82 705.14/185.82 We are left with following problem, upon which TcT provides the 705.14/185.82 certificate YES(O(1),O(1)). 705.14/185.82 705.14/185.82 Strict DPs: { U102^#(tt(), M, N) -> c_1(isNat^#(activate(N))) } 705.14/185.82 Weak DPs: 705.14/185.82 { U101^#(tt(), M, N) -> 705.14/185.82 c_19(U102^#(isNatKind(activate(M)), activate(M), activate(N))) } 705.14/185.82 Weak Trs: 705.14/185.82 { isNatKind(n__0()) -> tt() 705.14/185.82 , isNatKind(n__plus(V1, V2)) -> 705.14/185.82 U41(isNatKind(activate(V1)), activate(V2)) 705.14/185.82 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 705.14/185.82 , isNatKind(n__x(V1, V2)) -> 705.14/185.82 U61(isNatKind(activate(V1)), activate(V2)) 705.14/185.82 , activate(X) -> X 705.14/185.82 , activate(n__0()) -> 0() 705.14/185.82 , activate(n__plus(X1, X2)) -> plus(X1, X2) 705.14/185.82 , activate(n__s(X)) -> s(X) 705.14/185.82 , activate(n__x(X1, X2)) -> x(X1, X2) 705.14/185.82 , isNat(n__0()) -> tt() 705.14/185.82 , isNat(n__plus(V1, V2)) -> 705.14/185.82 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 705.14/185.82 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 705.14/185.82 , isNat(n__x(V1, V2)) -> 705.14/185.82 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 705.14/185.82 , plus(X1, X2) -> n__plus(X1, X2) 705.14/185.82 , x(X1, X2) -> n__x(X1, X2) 705.14/185.82 , U11(tt(), V1, V2) -> 705.14/185.82 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 705.14/185.82 , U12(tt(), V1, V2) -> 705.14/185.82 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 705.14/185.82 , U13(tt(), V1, V2) -> 705.14/185.82 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 705.14/185.82 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 705.14/185.82 , U15(tt(), V2) -> U16(isNat(activate(V2))) 705.14/185.82 , U16(tt()) -> tt() 705.14/185.82 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 705.14/185.82 , U22(tt(), V1) -> U23(isNat(activate(V1))) 705.14/185.82 , U23(tt()) -> tt() 705.14/185.82 , U31(tt(), V1, V2) -> 705.14/185.82 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 705.14/185.82 , U32(tt(), V1, V2) -> 705.14/185.82 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 705.14/185.82 , U33(tt(), V1, V2) -> 705.14/185.82 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 705.14/185.82 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 705.14/185.82 , U35(tt(), V2) -> U36(isNat(activate(V2))) 705.14/185.82 , U36(tt()) -> tt() 705.14/185.82 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 705.14/185.82 , U42(tt()) -> tt() 705.14/185.82 , U51(tt()) -> tt() 705.14/185.82 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 705.14/185.82 , U62(tt()) -> tt() 705.14/185.82 , s(X) -> n__s(X) 705.14/185.82 , 0() -> n__0() } 705.14/185.82 Obligation: 705.14/185.82 innermost runtime complexity 705.14/185.82 Answer: 705.14/185.82 YES(O(1),O(1)) 705.14/185.82 705.14/185.82 Due to missing edges in the dependency-graph, the right-hand sides 705.14/185.82 of following rules could be simplified: 705.14/185.82 705.14/185.82 { U102^#(tt(), M, N) -> c_1(isNat^#(activate(N))) } 705.14/185.82 705.14/185.82 We are left with following problem, upon which TcT provides the 705.14/185.82 certificate YES(O(1),O(1)). 705.14/185.82 705.14/185.82 Strict DPs: { U102^#(tt(), M, N) -> c_1() } 705.14/185.82 Weak DPs: 705.14/185.82 { U101^#(tt(), M, N) -> 705.14/185.82 c_2(U102^#(isNatKind(activate(M)), activate(M), activate(N))) } 705.14/185.82 Weak Trs: 705.14/185.82 { isNatKind(n__0()) -> tt() 705.14/185.82 , isNatKind(n__plus(V1, V2)) -> 705.14/185.82 U41(isNatKind(activate(V1)), activate(V2)) 705.14/185.82 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 705.14/185.82 , isNatKind(n__x(V1, V2)) -> 705.14/185.82 U61(isNatKind(activate(V1)), activate(V2)) 705.14/185.82 , activate(X) -> X 705.14/185.82 , activate(n__0()) -> 0() 705.14/185.82 , activate(n__plus(X1, X2)) -> plus(X1, X2) 705.14/185.82 , activate(n__s(X)) -> s(X) 705.14/185.82 , activate(n__x(X1, X2)) -> x(X1, X2) 705.14/185.82 , isNat(n__0()) -> tt() 705.14/185.82 , isNat(n__plus(V1, V2)) -> 705.14/185.82 U11(isNatKind(activate(V1)), activate(V1), activate(V2)) 705.14/185.82 , isNat(n__s(V1)) -> U21(isNatKind(activate(V1)), activate(V1)) 705.14/185.82 , isNat(n__x(V1, V2)) -> 705.14/185.82 U31(isNatKind(activate(V1)), activate(V1), activate(V2)) 705.14/185.82 , plus(X1, X2) -> n__plus(X1, X2) 705.14/185.82 , x(X1, X2) -> n__x(X1, X2) 705.14/185.82 , U11(tt(), V1, V2) -> 705.14/185.82 U12(isNatKind(activate(V1)), activate(V1), activate(V2)) 705.14/185.82 , U12(tt(), V1, V2) -> 705.14/185.82 U13(isNatKind(activate(V2)), activate(V1), activate(V2)) 705.14/185.82 , U13(tt(), V1, V2) -> 705.14/185.82 U14(isNatKind(activate(V2)), activate(V1), activate(V2)) 705.14/185.82 , U14(tt(), V1, V2) -> U15(isNat(activate(V1)), activate(V2)) 705.14/185.82 , U15(tt(), V2) -> U16(isNat(activate(V2))) 705.14/185.82 , U16(tt()) -> tt() 705.14/185.82 , U21(tt(), V1) -> U22(isNatKind(activate(V1)), activate(V1)) 705.14/185.82 , U22(tt(), V1) -> U23(isNat(activate(V1))) 705.14/185.82 , U23(tt()) -> tt() 705.14/185.82 , U31(tt(), V1, V2) -> 705.14/185.82 U32(isNatKind(activate(V1)), activate(V1), activate(V2)) 705.14/185.82 , U32(tt(), V1, V2) -> 705.14/185.82 U33(isNatKind(activate(V2)), activate(V1), activate(V2)) 705.14/185.82 , U33(tt(), V1, V2) -> 705.14/185.82 U34(isNatKind(activate(V2)), activate(V1), activate(V2)) 705.14/185.82 , U34(tt(), V1, V2) -> U35(isNat(activate(V1)), activate(V2)) 705.14/185.82 , U35(tt(), V2) -> U36(isNat(activate(V2))) 705.14/185.82 , U36(tt()) -> tt() 705.14/185.82 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 705.14/185.82 , U42(tt()) -> tt() 705.14/185.82 , U51(tt()) -> tt() 705.14/185.82 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 705.14/185.82 , U62(tt()) -> tt() 705.14/185.82 , s(X) -> n__s(X) 705.14/185.82 , 0() -> n__0() } 705.14/185.82 Obligation: 705.14/185.82 innermost runtime complexity 705.14/185.82 Answer: 705.14/185.82 YES(O(1),O(1)) 705.14/185.82 705.14/185.82 We replace rewrite rules by usable rules: 705.14/185.82 705.14/185.82 Weak Usable Rules: 705.14/185.82 { isNatKind(n__0()) -> tt() 705.14/185.82 , isNatKind(n__plus(V1, V2)) -> 705.14/185.82 U41(isNatKind(activate(V1)), activate(V2)) 705.14/185.82 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 705.14/185.82 , isNatKind(n__x(V1, V2)) -> 705.14/185.82 U61(isNatKind(activate(V1)), activate(V2)) 705.14/185.82 , activate(X) -> X 705.14/185.82 , activate(n__0()) -> 0() 705.14/185.82 , activate(n__plus(X1, X2)) -> plus(X1, X2) 705.14/185.82 , activate(n__s(X)) -> s(X) 705.14/185.82 , activate(n__x(X1, X2)) -> x(X1, X2) 705.14/185.82 , plus(X1, X2) -> n__plus(X1, X2) 705.14/185.82 , x(X1, X2) -> n__x(X1, X2) 705.14/185.82 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 705.14/185.82 , U42(tt()) -> tt() 705.14/185.82 , U51(tt()) -> tt() 705.14/185.82 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 705.14/185.82 , U62(tt()) -> tt() 705.14/185.82 , s(X) -> n__s(X) 705.14/185.82 , 0() -> n__0() } 705.14/185.82 705.14/185.82 We are left with following problem, upon which TcT provides the 705.14/185.82 certificate YES(O(1),O(1)). 705.14/185.82 705.14/185.82 Strict DPs: { U102^#(tt(), M, N) -> c_1() } 705.14/185.82 Weak DPs: 705.14/185.82 { U101^#(tt(), M, N) -> 705.14/185.82 c_2(U102^#(isNatKind(activate(M)), activate(M), activate(N))) } 705.14/185.82 Weak Trs: 705.14/185.82 { isNatKind(n__0()) -> tt() 705.14/185.82 , isNatKind(n__plus(V1, V2)) -> 705.14/185.82 U41(isNatKind(activate(V1)), activate(V2)) 705.14/185.82 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 705.14/185.82 , isNatKind(n__x(V1, V2)) -> 705.14/185.82 U61(isNatKind(activate(V1)), activate(V2)) 705.14/185.82 , activate(X) -> X 705.14/185.82 , activate(n__0()) -> 0() 705.14/185.82 , activate(n__plus(X1, X2)) -> plus(X1, X2) 705.14/185.82 , activate(n__s(X)) -> s(X) 705.14/185.82 , activate(n__x(X1, X2)) -> x(X1, X2) 705.14/185.82 , plus(X1, X2) -> n__plus(X1, X2) 705.14/185.82 , x(X1, X2) -> n__x(X1, X2) 705.14/185.82 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 705.14/185.82 , U42(tt()) -> tt() 705.14/185.82 , U51(tt()) -> tt() 705.14/185.82 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 705.14/185.82 , U62(tt()) -> tt() 705.14/185.82 , s(X) -> n__s(X) 705.14/185.82 , 0() -> n__0() } 705.14/185.82 Obligation: 705.14/185.82 innermost runtime complexity 705.14/185.82 Answer: 705.14/185.82 YES(O(1),O(1)) 705.14/185.82 705.14/185.82 The dependency graph contains no loops, we remove all dependency 705.14/185.82 pairs. 705.14/185.82 705.14/185.82 We are left with following problem, upon which TcT provides the 705.14/185.82 certificate YES(O(1),O(1)). 705.14/185.82 705.14/185.82 Weak Trs: 705.14/185.82 { isNatKind(n__0()) -> tt() 705.14/185.82 , isNatKind(n__plus(V1, V2)) -> 705.14/185.82 U41(isNatKind(activate(V1)), activate(V2)) 705.14/185.82 , isNatKind(n__s(V1)) -> U51(isNatKind(activate(V1))) 705.14/185.82 , isNatKind(n__x(V1, V2)) -> 705.14/185.82 U61(isNatKind(activate(V1)), activate(V2)) 705.14/185.82 , activate(X) -> X 705.14/185.82 , activate(n__0()) -> 0() 705.14/185.82 , activate(n__plus(X1, X2)) -> plus(X1, X2) 705.14/185.82 , activate(n__s(X)) -> s(X) 705.14/185.82 , activate(n__x(X1, X2)) -> x(X1, X2) 705.14/185.82 , plus(X1, X2) -> n__plus(X1, X2) 705.14/185.82 , x(X1, X2) -> n__x(X1, X2) 705.14/185.82 , U41(tt(), V2) -> U42(isNatKind(activate(V2))) 705.14/185.82 , U42(tt()) -> tt() 705.14/185.82 , U51(tt()) -> tt() 705.14/185.82 , U61(tt(), V2) -> U62(isNatKind(activate(V2))) 705.14/185.82 , U62(tt()) -> tt() 705.14/185.82 , s(X) -> n__s(X) 705.14/185.82 , 0() -> n__0() } 705.14/185.82 Obligation: 705.14/185.82 innermost runtime complexity 705.14/185.82 Answer: 705.14/185.82 YES(O(1),O(1)) 705.14/185.82 705.14/185.82 No rule is usable, rules are removed from the input problem. 705.14/185.82 705.14/185.82 We are left with following problem, upon which TcT provides the 705.14/185.82 certificate YES(O(1),O(1)). 705.14/185.82 705.14/185.82 Rules: Empty 705.14/185.82 Obligation: 705.14/185.82 innermost runtime complexity 705.14/185.82 Answer: 705.14/185.82 YES(O(1),O(1)) 705.14/185.82 705.14/185.82 Empty rules are trivially bounded 705.14/185.82 705.14/185.82 705.14/185.82 705.14/185.82 Hurray, we answered YES(O(1),O(n^2)) 705.14/185.86 EOF