* Step 1: Sum WORST_CASE(Omega(n^1),O(n^3))
+ Considered Problem:
- Strict TRS:
0() -> n__0()
U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2))
U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2))
U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2))
U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2))
U15(tt(),V2) -> U16(isNat(activate(V2)))
U16(tt()) -> tt()
U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1))
U22(tt(),V1) -> U23(isNat(activate(V1)))
U23(tt()) -> tt()
U31(tt(),V2) -> U32(isNatKind(activate(V2)))
U32(tt()) -> tt()
U41(tt()) -> tt()
U51(tt(),N) -> U52(isNatKind(activate(N)),activate(N))
U52(tt(),N) -> activate(N)
U61(tt(),M,N) -> U62(isNatKind(activate(M)),activate(M),activate(N))
U62(tt(),M,N) -> U63(isNat(activate(N)),activate(M),activate(N))
U63(tt(),M,N) -> U64(isNatKind(activate(N)),activate(M),activate(N))
U64(tt(),M,N) -> s(plus(activate(N),activate(M)))
activate(X) -> X
activate(n__0()) -> 0()
activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2))
activate(n__s(X)) -> s(activate(X))
isNat(n__0()) -> tt()
isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2))
isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1))
isNatKind(n__0()) -> tt()
isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2))
isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1)))
plus(N,0()) -> U51(isNat(N),N)
plus(N,s(M)) -> U61(isNat(M),M,N)
plus(X1,X2) -> n__plus(X1,X2)
s(X) -> n__s(X)
- Signature:
{0/0,U11/3,U12/3,U13/3,U14/3,U15/2,U16/1,U21/2,U22/2,U23/1,U31/2,U32/1,U41/1,U51/2,U52/2,U61/3,U62/3,U63/3
,U64/3,activate/1,isNat/1,isNatKind/1,plus/2,s/1} / {n__0/0,n__plus/2,n__s/1,tt/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {0,U11,U12,U13,U14,U15,U16,U21,U22,U23,U31,U32,U41,U51,U52
,U61,U62,U63,U64,activate,isNat,isNatKind,plus,s} and constructors {n__0,n__plus,n__s,tt}
+ Applied Processor:
Sum {left = someStrategy, right = someStrategy}
+ Details:
()
** Step 1.a:1: DecreasingLoops WORST_CASE(Omega(n^1),?)
+ Considered Problem:
- Strict TRS:
0() -> n__0()
U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2))
U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2))
U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2))
U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2))
U15(tt(),V2) -> U16(isNat(activate(V2)))
U16(tt()) -> tt()
U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1))
U22(tt(),V1) -> U23(isNat(activate(V1)))
U23(tt()) -> tt()
U31(tt(),V2) -> U32(isNatKind(activate(V2)))
U32(tt()) -> tt()
U41(tt()) -> tt()
U51(tt(),N) -> U52(isNatKind(activate(N)),activate(N))
U52(tt(),N) -> activate(N)
U61(tt(),M,N) -> U62(isNatKind(activate(M)),activate(M),activate(N))
U62(tt(),M,N) -> U63(isNat(activate(N)),activate(M),activate(N))
U63(tt(),M,N) -> U64(isNatKind(activate(N)),activate(M),activate(N))
U64(tt(),M,N) -> s(plus(activate(N),activate(M)))
activate(X) -> X
activate(n__0()) -> 0()
activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2))
activate(n__s(X)) -> s(activate(X))
isNat(n__0()) -> tt()
isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2))
isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1))
isNatKind(n__0()) -> tt()
isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2))
isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1)))
plus(N,0()) -> U51(isNat(N),N)
plus(N,s(M)) -> U61(isNat(M),M,N)
plus(X1,X2) -> n__plus(X1,X2)
s(X) -> n__s(X)
- Signature:
{0/0,U11/3,U12/3,U13/3,U14/3,U15/2,U16/1,U21/2,U22/2,U23/1,U31/2,U32/1,U41/1,U51/2,U52/2,U61/3,U62/3,U63/3
,U64/3,activate/1,isNat/1,isNatKind/1,plus/2,s/1} / {n__0/0,n__plus/2,n__s/1,tt/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {0,U11,U12,U13,U14,U15,U16,U21,U22,U23,U31,U32,U41,U51,U52
,U61,U62,U63,U64,activate,isNat,isNatKind,plus,s} and constructors {n__0,n__plus,n__s,tt}
+ Applied Processor:
DecreasingLoops {bound = AnyLoop, narrow = 10}
+ Details:
The system has following decreasing Loops:
activate(x){x -> n__plus(x,y)} =
activate(n__plus(x,y)) ->^+ plus(activate(x),activate(y))
= C[activate(x) = activate(x){}]
** Step 1.b:1: InnermostRuleRemoval WORST_CASE(?,O(n^3))
+ Considered Problem:
- Strict TRS:
0() -> n__0()
U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2))
U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2))
U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2))
U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2))
U15(tt(),V2) -> U16(isNat(activate(V2)))
U16(tt()) -> tt()
U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1))
U22(tt(),V1) -> U23(isNat(activate(V1)))
U23(tt()) -> tt()
U31(tt(),V2) -> U32(isNatKind(activate(V2)))
U32(tt()) -> tt()
U41(tt()) -> tt()
U51(tt(),N) -> U52(isNatKind(activate(N)),activate(N))
U52(tt(),N) -> activate(N)
U61(tt(),M,N) -> U62(isNatKind(activate(M)),activate(M),activate(N))
U62(tt(),M,N) -> U63(isNat(activate(N)),activate(M),activate(N))
U63(tt(),M,N) -> U64(isNatKind(activate(N)),activate(M),activate(N))
U64(tt(),M,N) -> s(plus(activate(N),activate(M)))
activate(X) -> X
activate(n__0()) -> 0()
activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2))
activate(n__s(X)) -> s(activate(X))
isNat(n__0()) -> tt()
isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2))
isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1))
isNatKind(n__0()) -> tt()
isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2))
isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1)))
plus(N,0()) -> U51(isNat(N),N)
plus(N,s(M)) -> U61(isNat(M),M,N)
plus(X1,X2) -> n__plus(X1,X2)
s(X) -> n__s(X)
- Signature:
{0/0,U11/3,U12/3,U13/3,U14/3,U15/2,U16/1,U21/2,U22/2,U23/1,U31/2,U32/1,U41/1,U51/2,U52/2,U61/3,U62/3,U63/3
,U64/3,activate/1,isNat/1,isNatKind/1,plus/2,s/1} / {n__0/0,n__plus/2,n__s/1,tt/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {0,U11,U12,U13,U14,U15,U16,U21,U22,U23,U31,U32,U41,U51,U52
,U61,U62,U63,U64,activate,isNat,isNatKind,plus,s} and constructors {n__0,n__plus,n__s,tt}
+ Applied Processor:
InnermostRuleRemoval
+ Details:
Arguments of following rules are not normal-forms.
plus(N,0()) -> U51(isNat(N),N)
plus(N,s(M)) -> U61(isNat(M),M,N)
All above mentioned rules can be savely removed.
** Step 1.b:2: DependencyPairs WORST_CASE(?,O(n^3))
+ Considered Problem:
- Strict TRS:
0() -> n__0()
U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2))
U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2))
U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2))
U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2))
U15(tt(),V2) -> U16(isNat(activate(V2)))
U16(tt()) -> tt()
U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1))
U22(tt(),V1) -> U23(isNat(activate(V1)))
U23(tt()) -> tt()
U31(tt(),V2) -> U32(isNatKind(activate(V2)))
U32(tt()) -> tt()
U41(tt()) -> tt()
U51(tt(),N) -> U52(isNatKind(activate(N)),activate(N))
U52(tt(),N) -> activate(N)
U61(tt(),M,N) -> U62(isNatKind(activate(M)),activate(M),activate(N))
U62(tt(),M,N) -> U63(isNat(activate(N)),activate(M),activate(N))
U63(tt(),M,N) -> U64(isNatKind(activate(N)),activate(M),activate(N))
U64(tt(),M,N) -> s(plus(activate(N),activate(M)))
activate(X) -> X
activate(n__0()) -> 0()
activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2))
activate(n__s(X)) -> s(activate(X))
isNat(n__0()) -> tt()
isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2))
isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1))
isNatKind(n__0()) -> tt()
isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2))
isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1)))
plus(X1,X2) -> n__plus(X1,X2)
s(X) -> n__s(X)
- Signature:
{0/0,U11/3,U12/3,U13/3,U14/3,U15/2,U16/1,U21/2,U22/2,U23/1,U31/2,U32/1,U41/1,U51/2,U52/2,U61/3,U62/3,U63/3
,U64/3,activate/1,isNat/1,isNatKind/1,plus/2,s/1} / {n__0/0,n__plus/2,n__s/1,tt/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {0,U11,U12,U13,U14,U15,U16,U21,U22,U23,U31,U32,U41,U51,U52
,U61,U62,U63,U64,activate,isNat,isNatKind,plus,s} and constructors {n__0,n__plus,n__s,tt}
+ Applied Processor:
DependencyPairs {dpKind_ = DT}
+ Details:
We add the following dependency tuples:
Strict DPs
0#() -> c_1()
U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2))
,isNat#(activate(V1))
,activate#(V1)
,activate#(V2))
U15#(tt(),V2) -> c_6(U16#(isNat(activate(V2))),isNat#(activate(V2)),activate#(V2))
U16#(tt()) -> c_7()
U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
U22#(tt(),V1) -> c_9(U23#(isNat(activate(V1))),isNat#(activate(V1)),activate#(V1))
U23#(tt()) -> c_10()
U31#(tt(),V2) -> c_11(U32#(isNatKind(activate(V2))),isNatKind#(activate(V2)),activate#(V2))
U32#(tt()) -> c_12()
U41#(tt()) -> c_13()
U51#(tt(),N) -> c_14(U52#(isNatKind(activate(N)),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(N))
U52#(tt(),N) -> c_15(activate#(N))
U61#(tt(),M,N) -> c_16(U62#(isNatKind(activate(M)),activate(M),activate(N))
,isNatKind#(activate(M))
,activate#(M)
,activate#(M)
,activate#(N))
U62#(tt(),M,N) -> c_17(U63#(isNat(activate(N)),activate(M),activate(N))
,isNat#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
U63#(tt(),M,N) -> c_18(U64#(isNatKind(activate(N)),activate(M),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
U64#(tt(),M,N) -> c_19(s#(plus(activate(N),activate(M)))
,plus#(activate(N),activate(M))
,activate#(N)
,activate#(M))
activate#(X) -> c_20()
activate#(n__0()) -> c_21(0#())
activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2))
activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X))
isNat#(n__0()) -> c_24()
isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
isNatKind#(n__0()) -> c_27()
isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2))
isNatKind#(n__s(V1)) -> c_29(U41#(isNatKind(activate(V1))),isNatKind#(activate(V1)),activate#(V1))
plus#(X1,X2) -> c_30()
s#(X) -> c_31()
Weak DPs
and mark the set of starting terms.
** Step 1.b:3: UsableRules WORST_CASE(?,O(n^3))
+ Considered Problem:
- Strict DPs:
0#() -> c_1()
U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2))
,isNat#(activate(V1))
,activate#(V1)
,activate#(V2))
U15#(tt(),V2) -> c_6(U16#(isNat(activate(V2))),isNat#(activate(V2)),activate#(V2))
U16#(tt()) -> c_7()
U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
U22#(tt(),V1) -> c_9(U23#(isNat(activate(V1))),isNat#(activate(V1)),activate#(V1))
U23#(tt()) -> c_10()
U31#(tt(),V2) -> c_11(U32#(isNatKind(activate(V2))),isNatKind#(activate(V2)),activate#(V2))
U32#(tt()) -> c_12()
U41#(tt()) -> c_13()
U51#(tt(),N) -> c_14(U52#(isNatKind(activate(N)),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(N))
U52#(tt(),N) -> c_15(activate#(N))
U61#(tt(),M,N) -> c_16(U62#(isNatKind(activate(M)),activate(M),activate(N))
,isNatKind#(activate(M))
,activate#(M)
,activate#(M)
,activate#(N))
U62#(tt(),M,N) -> c_17(U63#(isNat(activate(N)),activate(M),activate(N))
,isNat#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
U63#(tt(),M,N) -> c_18(U64#(isNatKind(activate(N)),activate(M),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
U64#(tt(),M,N) -> c_19(s#(plus(activate(N),activate(M)))
,plus#(activate(N),activate(M))
,activate#(N)
,activate#(M))
activate#(X) -> c_20()
activate#(n__0()) -> c_21(0#())
activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2))
activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X))
isNat#(n__0()) -> c_24()
isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
isNatKind#(n__0()) -> c_27()
isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2))
isNatKind#(n__s(V1)) -> c_29(U41#(isNatKind(activate(V1))),isNatKind#(activate(V1)),activate#(V1))
plus#(X1,X2) -> c_30()
s#(X) -> c_31()
- Weak TRS:
0() -> n__0()
U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2))
U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2))
U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2))
U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2))
U15(tt(),V2) -> U16(isNat(activate(V2)))
U16(tt()) -> tt()
U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1))
U22(tt(),V1) -> U23(isNat(activate(V1)))
U23(tt()) -> tt()
U31(tt(),V2) -> U32(isNatKind(activate(V2)))
U32(tt()) -> tt()
U41(tt()) -> tt()
U51(tt(),N) -> U52(isNatKind(activate(N)),activate(N))
U52(tt(),N) -> activate(N)
U61(tt(),M,N) -> U62(isNatKind(activate(M)),activate(M),activate(N))
U62(tt(),M,N) -> U63(isNat(activate(N)),activate(M),activate(N))
U63(tt(),M,N) -> U64(isNatKind(activate(N)),activate(M),activate(N))
U64(tt(),M,N) -> s(plus(activate(N),activate(M)))
activate(X) -> X
activate(n__0()) -> 0()
activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2))
activate(n__s(X)) -> s(activate(X))
isNat(n__0()) -> tt()
isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2))
isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1))
isNatKind(n__0()) -> tt()
isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2))
isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1)))
plus(X1,X2) -> n__plus(X1,X2)
s(X) -> n__s(X)
- Signature:
{0/0,U11/3,U12/3,U13/3,U14/3,U15/2,U16/1,U21/2,U22/2,U23/1,U31/2,U32/1,U41/1,U51/2,U52/2,U61/3,U62/3,U63/3
,U64/3,activate/1,isNat/1,isNatKind/1,plus/2,s/1,0#/0,U11#/3,U12#/3,U13#/3,U14#/3,U15#/2,U16#/1,U21#/2
,U22#/2,U23#/1,U31#/2,U32#/1,U41#/1,U51#/2,U52#/2,U61#/3,U62#/3,U63#/3,U64#/3,activate#/1,isNat#/1
,isNatKind#/1,plus#/2,s#/1} / {n__0/0,n__plus/2,n__s/1,tt/0,c_1/0,c_2/5,c_3/5,c_4/5,c_5/4,c_6/3,c_7/0,c_8/4
,c_9/3,c_10/0,c_11/3,c_12/0,c_13/0,c_14/4,c_15/1,c_16/5,c_17/5,c_18/5,c_19/4,c_20/0,c_21/1,c_22/3,c_23/2
,c_24/0,c_25/5,c_26/4,c_27/0,c_28/4,c_29/3,c_30/0,c_31/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {0#,U11#,U12#,U13#,U14#,U15#,U16#,U21#,U22#,U23#,U31#,U32#
,U41#,U51#,U52#,U61#,U62#,U63#,U64#,activate#,isNat#,isNatKind#,plus#,s#} and constructors {n__0,n__plus
,n__s,tt}
+ Applied Processor:
UsableRules
+ Details:
We replace rewrite rules by usable rules:
0() -> n__0()
U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2))
U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2))
U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2))
U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2))
U15(tt(),V2) -> U16(isNat(activate(V2)))
U16(tt()) -> tt()
U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1))
U22(tt(),V1) -> U23(isNat(activate(V1)))
U23(tt()) -> tt()
U31(tt(),V2) -> U32(isNatKind(activate(V2)))
U32(tt()) -> tt()
U41(tt()) -> tt()
activate(X) -> X
activate(n__0()) -> 0()
activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2))
activate(n__s(X)) -> s(activate(X))
isNat(n__0()) -> tt()
isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2))
isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1))
isNatKind(n__0()) -> tt()
isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2))
isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1)))
plus(X1,X2) -> n__plus(X1,X2)
s(X) -> n__s(X)
0#() -> c_1()
U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2))
,isNat#(activate(V1))
,activate#(V1)
,activate#(V2))
U15#(tt(),V2) -> c_6(U16#(isNat(activate(V2))),isNat#(activate(V2)),activate#(V2))
U16#(tt()) -> c_7()
U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
U22#(tt(),V1) -> c_9(U23#(isNat(activate(V1))),isNat#(activate(V1)),activate#(V1))
U23#(tt()) -> c_10()
U31#(tt(),V2) -> c_11(U32#(isNatKind(activate(V2))),isNatKind#(activate(V2)),activate#(V2))
U32#(tt()) -> c_12()
U41#(tt()) -> c_13()
U51#(tt(),N) -> c_14(U52#(isNatKind(activate(N)),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(N))
U52#(tt(),N) -> c_15(activate#(N))
U61#(tt(),M,N) -> c_16(U62#(isNatKind(activate(M)),activate(M),activate(N))
,isNatKind#(activate(M))
,activate#(M)
,activate#(M)
,activate#(N))
U62#(tt(),M,N) -> c_17(U63#(isNat(activate(N)),activate(M),activate(N))
,isNat#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
U63#(tt(),M,N) -> c_18(U64#(isNatKind(activate(N)),activate(M),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
U64#(tt(),M,N) -> c_19(s#(plus(activate(N),activate(M)))
,plus#(activate(N),activate(M))
,activate#(N)
,activate#(M))
activate#(X) -> c_20()
activate#(n__0()) -> c_21(0#())
activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2))
activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X))
isNat#(n__0()) -> c_24()
isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
isNatKind#(n__0()) -> c_27()
isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2))
isNatKind#(n__s(V1)) -> c_29(U41#(isNatKind(activate(V1))),isNatKind#(activate(V1)),activate#(V1))
plus#(X1,X2) -> c_30()
s#(X) -> c_31()
** Step 1.b:4: PredecessorEstimation WORST_CASE(?,O(n^3))
+ Considered Problem:
- Strict DPs:
0#() -> c_1()
U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2))
,isNat#(activate(V1))
,activate#(V1)
,activate#(V2))
U15#(tt(),V2) -> c_6(U16#(isNat(activate(V2))),isNat#(activate(V2)),activate#(V2))
U16#(tt()) -> c_7()
U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
U22#(tt(),V1) -> c_9(U23#(isNat(activate(V1))),isNat#(activate(V1)),activate#(V1))
U23#(tt()) -> c_10()
U31#(tt(),V2) -> c_11(U32#(isNatKind(activate(V2))),isNatKind#(activate(V2)),activate#(V2))
U32#(tt()) -> c_12()
U41#(tt()) -> c_13()
U51#(tt(),N) -> c_14(U52#(isNatKind(activate(N)),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(N))
U52#(tt(),N) -> c_15(activate#(N))
U61#(tt(),M,N) -> c_16(U62#(isNatKind(activate(M)),activate(M),activate(N))
,isNatKind#(activate(M))
,activate#(M)
,activate#(M)
,activate#(N))
U62#(tt(),M,N) -> c_17(U63#(isNat(activate(N)),activate(M),activate(N))
,isNat#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
U63#(tt(),M,N) -> c_18(U64#(isNatKind(activate(N)),activate(M),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
U64#(tt(),M,N) -> c_19(s#(plus(activate(N),activate(M)))
,plus#(activate(N),activate(M))
,activate#(N)
,activate#(M))
activate#(X) -> c_20()
activate#(n__0()) -> c_21(0#())
activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2))
activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X))
isNat#(n__0()) -> c_24()
isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
isNatKind#(n__0()) -> c_27()
isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2))
isNatKind#(n__s(V1)) -> c_29(U41#(isNatKind(activate(V1))),isNatKind#(activate(V1)),activate#(V1))
plus#(X1,X2) -> c_30()
s#(X) -> c_31()
- Weak TRS:
0() -> n__0()
U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2))
U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2))
U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2))
U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2))
U15(tt(),V2) -> U16(isNat(activate(V2)))
U16(tt()) -> tt()
U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1))
U22(tt(),V1) -> U23(isNat(activate(V1)))
U23(tt()) -> tt()
U31(tt(),V2) -> U32(isNatKind(activate(V2)))
U32(tt()) -> tt()
U41(tt()) -> tt()
activate(X) -> X
activate(n__0()) -> 0()
activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2))
activate(n__s(X)) -> s(activate(X))
isNat(n__0()) -> tt()
isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2))
isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1))
isNatKind(n__0()) -> tt()
isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2))
isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1)))
plus(X1,X2) -> n__plus(X1,X2)
s(X) -> n__s(X)
- Signature:
{0/0,U11/3,U12/3,U13/3,U14/3,U15/2,U16/1,U21/2,U22/2,U23/1,U31/2,U32/1,U41/1,U51/2,U52/2,U61/3,U62/3,U63/3
,U64/3,activate/1,isNat/1,isNatKind/1,plus/2,s/1,0#/0,U11#/3,U12#/3,U13#/3,U14#/3,U15#/2,U16#/1,U21#/2
,U22#/2,U23#/1,U31#/2,U32#/1,U41#/1,U51#/2,U52#/2,U61#/3,U62#/3,U63#/3,U64#/3,activate#/1,isNat#/1
,isNatKind#/1,plus#/2,s#/1} / {n__0/0,n__plus/2,n__s/1,tt/0,c_1/0,c_2/5,c_3/5,c_4/5,c_5/4,c_6/3,c_7/0,c_8/4
,c_9/3,c_10/0,c_11/3,c_12/0,c_13/0,c_14/4,c_15/1,c_16/5,c_17/5,c_18/5,c_19/4,c_20/0,c_21/1,c_22/3,c_23/2
,c_24/0,c_25/5,c_26/4,c_27/0,c_28/4,c_29/3,c_30/0,c_31/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {0#,U11#,U12#,U13#,U14#,U15#,U16#,U21#,U22#,U23#,U31#,U32#
,U41#,U51#,U52#,U61#,U62#,U63#,U64#,activate#,isNat#,isNatKind#,plus#,s#} and constructors {n__0,n__plus
,n__s,tt}
+ Applied Processor:
PredecessorEstimation {onSelection = all simple predecessor estimation selector}
+ Details:
We estimate the number of application of
{1,7,10,12,13,20,24,27,30,31}
by application of
Pre({1,7,10,12,13,20,24,27,30,31}) = {2,3,4,5,6,8,9,11,14,15,16,17,18,19,21,22,23,25,26,28,29}.
Here rules are labelled as follows:
1: 0#() -> c_1()
2: U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
3: U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
4: U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
5: U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2))
,isNat#(activate(V1))
,activate#(V1)
,activate#(V2))
6: U15#(tt(),V2) -> c_6(U16#(isNat(activate(V2))),isNat#(activate(V2)),activate#(V2))
7: U16#(tt()) -> c_7()
8: U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
9: U22#(tt(),V1) -> c_9(U23#(isNat(activate(V1))),isNat#(activate(V1)),activate#(V1))
10: U23#(tt()) -> c_10()
11: U31#(tt(),V2) -> c_11(U32#(isNatKind(activate(V2))),isNatKind#(activate(V2)),activate#(V2))
12: U32#(tt()) -> c_12()
13: U41#(tt()) -> c_13()
14: U51#(tt(),N) -> c_14(U52#(isNatKind(activate(N)),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(N))
15: U52#(tt(),N) -> c_15(activate#(N))
16: U61#(tt(),M,N) -> c_16(U62#(isNatKind(activate(M)),activate(M),activate(N))
,isNatKind#(activate(M))
,activate#(M)
,activate#(M)
,activate#(N))
17: U62#(tt(),M,N) -> c_17(U63#(isNat(activate(N)),activate(M),activate(N))
,isNat#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
18: U63#(tt(),M,N) -> c_18(U64#(isNatKind(activate(N)),activate(M),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
19: U64#(tt(),M,N) -> c_19(s#(plus(activate(N),activate(M)))
,plus#(activate(N),activate(M))
,activate#(N)
,activate#(M))
20: activate#(X) -> c_20()
21: activate#(n__0()) -> c_21(0#())
22: activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2))
23: activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X))
24: isNat#(n__0()) -> c_24()
25: isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
26: isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
27: isNatKind#(n__0()) -> c_27()
28: isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2))
29: isNatKind#(n__s(V1)) -> c_29(U41#(isNatKind(activate(V1))),isNatKind#(activate(V1)),activate#(V1))
30: plus#(X1,X2) -> c_30()
31: s#(X) -> c_31()
** Step 1.b:5: PredecessorEstimation WORST_CASE(?,O(n^3))
+ Considered Problem:
- Strict DPs:
U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2))
,isNat#(activate(V1))
,activate#(V1)
,activate#(V2))
U15#(tt(),V2) -> c_6(U16#(isNat(activate(V2))),isNat#(activate(V2)),activate#(V2))
U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
U22#(tt(),V1) -> c_9(U23#(isNat(activate(V1))),isNat#(activate(V1)),activate#(V1))
U31#(tt(),V2) -> c_11(U32#(isNatKind(activate(V2))),isNatKind#(activate(V2)),activate#(V2))
U51#(tt(),N) -> c_14(U52#(isNatKind(activate(N)),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(N))
U52#(tt(),N) -> c_15(activate#(N))
U61#(tt(),M,N) -> c_16(U62#(isNatKind(activate(M)),activate(M),activate(N))
,isNatKind#(activate(M))
,activate#(M)
,activate#(M)
,activate#(N))
U62#(tt(),M,N) -> c_17(U63#(isNat(activate(N)),activate(M),activate(N))
,isNat#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
U63#(tt(),M,N) -> c_18(U64#(isNatKind(activate(N)),activate(M),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
U64#(tt(),M,N) -> c_19(s#(plus(activate(N),activate(M)))
,plus#(activate(N),activate(M))
,activate#(N)
,activate#(M))
activate#(n__0()) -> c_21(0#())
activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2))
activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X))
isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2))
isNatKind#(n__s(V1)) -> c_29(U41#(isNatKind(activate(V1))),isNatKind#(activate(V1)),activate#(V1))
- Weak DPs:
0#() -> c_1()
U16#(tt()) -> c_7()
U23#(tt()) -> c_10()
U32#(tt()) -> c_12()
U41#(tt()) -> c_13()
activate#(X) -> c_20()
isNat#(n__0()) -> c_24()
isNatKind#(n__0()) -> c_27()
plus#(X1,X2) -> c_30()
s#(X) -> c_31()
- Weak TRS:
0() -> n__0()
U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2))
U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2))
U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2))
U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2))
U15(tt(),V2) -> U16(isNat(activate(V2)))
U16(tt()) -> tt()
U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1))
U22(tt(),V1) -> U23(isNat(activate(V1)))
U23(tt()) -> tt()
U31(tt(),V2) -> U32(isNatKind(activate(V2)))
U32(tt()) -> tt()
U41(tt()) -> tt()
activate(X) -> X
activate(n__0()) -> 0()
activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2))
activate(n__s(X)) -> s(activate(X))
isNat(n__0()) -> tt()
isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2))
isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1))
isNatKind(n__0()) -> tt()
isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2))
isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1)))
plus(X1,X2) -> n__plus(X1,X2)
s(X) -> n__s(X)
- Signature:
{0/0,U11/3,U12/3,U13/3,U14/3,U15/2,U16/1,U21/2,U22/2,U23/1,U31/2,U32/1,U41/1,U51/2,U52/2,U61/3,U62/3,U63/3
,U64/3,activate/1,isNat/1,isNatKind/1,plus/2,s/1,0#/0,U11#/3,U12#/3,U13#/3,U14#/3,U15#/2,U16#/1,U21#/2
,U22#/2,U23#/1,U31#/2,U32#/1,U41#/1,U51#/2,U52#/2,U61#/3,U62#/3,U63#/3,U64#/3,activate#/1,isNat#/1
,isNatKind#/1,plus#/2,s#/1} / {n__0/0,n__plus/2,n__s/1,tt/0,c_1/0,c_2/5,c_3/5,c_4/5,c_5/4,c_6/3,c_7/0,c_8/4
,c_9/3,c_10/0,c_11/3,c_12/0,c_13/0,c_14/4,c_15/1,c_16/5,c_17/5,c_18/5,c_19/4,c_20/0,c_21/1,c_22/3,c_23/2
,c_24/0,c_25/5,c_26/4,c_27/0,c_28/4,c_29/3,c_30/0,c_31/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {0#,U11#,U12#,U13#,U14#,U15#,U16#,U21#,U22#,U23#,U31#,U32#
,U41#,U51#,U52#,U61#,U62#,U63#,U64#,activate#,isNat#,isNatKind#,plus#,s#} and constructors {n__0,n__plus
,n__s,tt}
+ Applied Processor:
PredecessorEstimation {onSelection = all simple predecessor estimation selector}
+ Details:
We estimate the number of application of
{15}
by application of
Pre({15}) = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,17,18,19,20,21}.
Here rules are labelled as follows:
1: U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
2: U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
3: U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
4: U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2))
,isNat#(activate(V1))
,activate#(V1)
,activate#(V2))
5: U15#(tt(),V2) -> c_6(U16#(isNat(activate(V2))),isNat#(activate(V2)),activate#(V2))
6: U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
7: U22#(tt(),V1) -> c_9(U23#(isNat(activate(V1))),isNat#(activate(V1)),activate#(V1))
8: U31#(tt(),V2) -> c_11(U32#(isNatKind(activate(V2))),isNatKind#(activate(V2)),activate#(V2))
9: U51#(tt(),N) -> c_14(U52#(isNatKind(activate(N)),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(N))
10: U52#(tt(),N) -> c_15(activate#(N))
11: U61#(tt(),M,N) -> c_16(U62#(isNatKind(activate(M)),activate(M),activate(N))
,isNatKind#(activate(M))
,activate#(M)
,activate#(M)
,activate#(N))
12: U62#(tt(),M,N) -> c_17(U63#(isNat(activate(N)),activate(M),activate(N))
,isNat#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
13: U63#(tt(),M,N) -> c_18(U64#(isNatKind(activate(N)),activate(M),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
14: U64#(tt(),M,N) -> c_19(s#(plus(activate(N),activate(M)))
,plus#(activate(N),activate(M))
,activate#(N)
,activate#(M))
15: activate#(n__0()) -> c_21(0#())
16: activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2))
17: activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X))
18: isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
19: isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
20: isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2))
21: isNatKind#(n__s(V1)) -> c_29(U41#(isNatKind(activate(V1))),isNatKind#(activate(V1)),activate#(V1))
22: 0#() -> c_1()
23: U16#(tt()) -> c_7()
24: U23#(tt()) -> c_10()
25: U32#(tt()) -> c_12()
26: U41#(tt()) -> c_13()
27: activate#(X) -> c_20()
28: isNat#(n__0()) -> c_24()
29: isNatKind#(n__0()) -> c_27()
30: plus#(X1,X2) -> c_30()
31: s#(X) -> c_31()
** Step 1.b:6: RemoveWeakSuffixes WORST_CASE(?,O(n^3))
+ Considered Problem:
- Strict DPs:
U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2))
,isNat#(activate(V1))
,activate#(V1)
,activate#(V2))
U15#(tt(),V2) -> c_6(U16#(isNat(activate(V2))),isNat#(activate(V2)),activate#(V2))
U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
U22#(tt(),V1) -> c_9(U23#(isNat(activate(V1))),isNat#(activate(V1)),activate#(V1))
U31#(tt(),V2) -> c_11(U32#(isNatKind(activate(V2))),isNatKind#(activate(V2)),activate#(V2))
U51#(tt(),N) -> c_14(U52#(isNatKind(activate(N)),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(N))
U52#(tt(),N) -> c_15(activate#(N))
U61#(tt(),M,N) -> c_16(U62#(isNatKind(activate(M)),activate(M),activate(N))
,isNatKind#(activate(M))
,activate#(M)
,activate#(M)
,activate#(N))
U62#(tt(),M,N) -> c_17(U63#(isNat(activate(N)),activate(M),activate(N))
,isNat#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
U63#(tt(),M,N) -> c_18(U64#(isNatKind(activate(N)),activate(M),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
U64#(tt(),M,N) -> c_19(s#(plus(activate(N),activate(M)))
,plus#(activate(N),activate(M))
,activate#(N)
,activate#(M))
activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2))
activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X))
isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2))
isNatKind#(n__s(V1)) -> c_29(U41#(isNatKind(activate(V1))),isNatKind#(activate(V1)),activate#(V1))
- Weak DPs:
0#() -> c_1()
U16#(tt()) -> c_7()
U23#(tt()) -> c_10()
U32#(tt()) -> c_12()
U41#(tt()) -> c_13()
activate#(X) -> c_20()
activate#(n__0()) -> c_21(0#())
isNat#(n__0()) -> c_24()
isNatKind#(n__0()) -> c_27()
plus#(X1,X2) -> c_30()
s#(X) -> c_31()
- Weak TRS:
0() -> n__0()
U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2))
U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2))
U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2))
U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2))
U15(tt(),V2) -> U16(isNat(activate(V2)))
U16(tt()) -> tt()
U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1))
U22(tt(),V1) -> U23(isNat(activate(V1)))
U23(tt()) -> tt()
U31(tt(),V2) -> U32(isNatKind(activate(V2)))
U32(tt()) -> tt()
U41(tt()) -> tt()
activate(X) -> X
activate(n__0()) -> 0()
activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2))
activate(n__s(X)) -> s(activate(X))
isNat(n__0()) -> tt()
isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2))
isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1))
isNatKind(n__0()) -> tt()
isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2))
isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1)))
plus(X1,X2) -> n__plus(X1,X2)
s(X) -> n__s(X)
- Signature:
{0/0,U11/3,U12/3,U13/3,U14/3,U15/2,U16/1,U21/2,U22/2,U23/1,U31/2,U32/1,U41/1,U51/2,U52/2,U61/3,U62/3,U63/3
,U64/3,activate/1,isNat/1,isNatKind/1,plus/2,s/1,0#/0,U11#/3,U12#/3,U13#/3,U14#/3,U15#/2,U16#/1,U21#/2
,U22#/2,U23#/1,U31#/2,U32#/1,U41#/1,U51#/2,U52#/2,U61#/3,U62#/3,U63#/3,U64#/3,activate#/1,isNat#/1
,isNatKind#/1,plus#/2,s#/1} / {n__0/0,n__plus/2,n__s/1,tt/0,c_1/0,c_2/5,c_3/5,c_4/5,c_5/4,c_6/3,c_7/0,c_8/4
,c_9/3,c_10/0,c_11/3,c_12/0,c_13/0,c_14/4,c_15/1,c_16/5,c_17/5,c_18/5,c_19/4,c_20/0,c_21/1,c_22/3,c_23/2
,c_24/0,c_25/5,c_26/4,c_27/0,c_28/4,c_29/3,c_30/0,c_31/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {0#,U11#,U12#,U13#,U14#,U15#,U16#,U21#,U22#,U23#,U31#,U32#
,U41#,U51#,U52#,U61#,U62#,U63#,U64#,activate#,isNat#,isNatKind#,plus#,s#} and constructors {n__0,n__plus
,n__s,tt}
+ Applied Processor:
RemoveWeakSuffixes
+ Details:
Consider the dependency graph
1:S:U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
-->_5 activate#(n__0()) -> c_21(0#()):27
-->_4 activate#(n__0()) -> c_21(0#()):27
-->_3 activate#(n__0()) -> c_21(0#()):27
-->_2 isNatKind#(n__s(V1)) -> c_29(U41#(isNatKind(activate(V1))),isNatKind#(activate(V1)),activate#(V1)):20
-->_2 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):19
-->_5 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_4 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_3 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_5 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_4 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_3 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_1 U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2)):2
-->_2 isNatKind#(n__0()) -> c_27():29
-->_5 activate#(X) -> c_20():26
-->_4 activate#(X) -> c_20():26
-->_3 activate#(X) -> c_20():26
2:S:U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
-->_5 activate#(n__0()) -> c_21(0#()):27
-->_4 activate#(n__0()) -> c_21(0#()):27
-->_3 activate#(n__0()) -> c_21(0#()):27
-->_2 isNatKind#(n__s(V1)) -> c_29(U41#(isNatKind(activate(V1))),isNatKind#(activate(V1)),activate#(V1)):20
-->_2 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):19
-->_5 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_4 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_3 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_5 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_4 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_3 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_1 U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2)):3
-->_2 isNatKind#(n__0()) -> c_27():29
-->_5 activate#(X) -> c_20():26
-->_4 activate#(X) -> c_20():26
-->_3 activate#(X) -> c_20():26
3:S:U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
-->_5 activate#(n__0()) -> c_21(0#()):27
-->_4 activate#(n__0()) -> c_21(0#()):27
-->_3 activate#(n__0()) -> c_21(0#()):27
-->_2 isNatKind#(n__s(V1)) -> c_29(U41#(isNatKind(activate(V1))),isNatKind#(activate(V1)),activate#(V1)):20
-->_2 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):19
-->_5 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_4 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_3 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_5 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_4 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_3 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_1 U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2))
,isNat#(activate(V1))
,activate#(V1)
,activate#(V2)):4
-->_2 isNatKind#(n__0()) -> c_27():29
-->_5 activate#(X) -> c_20():26
-->_4 activate#(X) -> c_20():26
-->_3 activate#(X) -> c_20():26
4:S:U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2))
,isNat#(activate(V1))
,activate#(V1)
,activate#(V2))
-->_4 activate#(n__0()) -> c_21(0#()):27
-->_3 activate#(n__0()) -> c_21(0#()):27
-->_2 isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)):18
-->_2 isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2)):17
-->_4 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_3 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_4 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_3 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_1 U15#(tt(),V2) -> c_6(U16#(isNat(activate(V2))),isNat#(activate(V2)),activate#(V2)):5
-->_2 isNat#(n__0()) -> c_24():28
-->_4 activate#(X) -> c_20():26
-->_3 activate#(X) -> c_20():26
5:S:U15#(tt(),V2) -> c_6(U16#(isNat(activate(V2))),isNat#(activate(V2)),activate#(V2))
-->_3 activate#(n__0()) -> c_21(0#()):27
-->_2 isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)):18
-->_2 isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2)):17
-->_3 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_3 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_2 isNat#(n__0()) -> c_24():28
-->_3 activate#(X) -> c_20():26
-->_1 U16#(tt()) -> c_7():22
6:S:U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
-->_4 activate#(n__0()) -> c_21(0#()):27
-->_3 activate#(n__0()) -> c_21(0#()):27
-->_2 isNatKind#(n__s(V1)) -> c_29(U41#(isNatKind(activate(V1))),isNatKind#(activate(V1)),activate#(V1)):20
-->_2 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):19
-->_4 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_3 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_4 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_3 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_1 U22#(tt(),V1) -> c_9(U23#(isNat(activate(V1))),isNat#(activate(V1)),activate#(V1)):7
-->_2 isNatKind#(n__0()) -> c_27():29
-->_4 activate#(X) -> c_20():26
-->_3 activate#(X) -> c_20():26
7:S:U22#(tt(),V1) -> c_9(U23#(isNat(activate(V1))),isNat#(activate(V1)),activate#(V1))
-->_3 activate#(n__0()) -> c_21(0#()):27
-->_2 isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)):18
-->_2 isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2)):17
-->_3 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_3 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_2 isNat#(n__0()) -> c_24():28
-->_3 activate#(X) -> c_20():26
-->_1 U23#(tt()) -> c_10():23
8:S:U31#(tt(),V2) -> c_11(U32#(isNatKind(activate(V2))),isNatKind#(activate(V2)),activate#(V2))
-->_3 activate#(n__0()) -> c_21(0#()):27
-->_2 isNatKind#(n__s(V1)) -> c_29(U41#(isNatKind(activate(V1))),isNatKind#(activate(V1)),activate#(V1)):20
-->_2 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):19
-->_3 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_3 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_2 isNatKind#(n__0()) -> c_27():29
-->_3 activate#(X) -> c_20():26
-->_1 U32#(tt()) -> c_12():24
9:S:U51#(tt(),N) -> c_14(U52#(isNatKind(activate(N)),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(N))
-->_4 activate#(n__0()) -> c_21(0#()):27
-->_3 activate#(n__0()) -> c_21(0#()):27
-->_2 isNatKind#(n__s(V1)) -> c_29(U41#(isNatKind(activate(V1))),isNatKind#(activate(V1)),activate#(V1)):20
-->_2 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):19
-->_4 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_3 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_4 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_3 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_1 U52#(tt(),N) -> c_15(activate#(N)):10
-->_2 isNatKind#(n__0()) -> c_27():29
-->_4 activate#(X) -> c_20():26
-->_3 activate#(X) -> c_20():26
10:S:U52#(tt(),N) -> c_15(activate#(N))
-->_1 activate#(n__0()) -> c_21(0#()):27
-->_1 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_1 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_1 activate#(X) -> c_20():26
11:S:U61#(tt(),M,N) -> c_16(U62#(isNatKind(activate(M)),activate(M),activate(N))
,isNatKind#(activate(M))
,activate#(M)
,activate#(M)
,activate#(N))
-->_5 activate#(n__0()) -> c_21(0#()):27
-->_4 activate#(n__0()) -> c_21(0#()):27
-->_3 activate#(n__0()) -> c_21(0#()):27
-->_2 isNatKind#(n__s(V1)) -> c_29(U41#(isNatKind(activate(V1))),isNatKind#(activate(V1)),activate#(V1)):20
-->_2 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):19
-->_5 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_4 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_3 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_5 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_4 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_3 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_1 U62#(tt(),M,N) -> c_17(U63#(isNat(activate(N)),activate(M),activate(N))
,isNat#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N)):12
-->_2 isNatKind#(n__0()) -> c_27():29
-->_5 activate#(X) -> c_20():26
-->_4 activate#(X) -> c_20():26
-->_3 activate#(X) -> c_20():26
12:S:U62#(tt(),M,N) -> c_17(U63#(isNat(activate(N)),activate(M),activate(N))
,isNat#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
-->_5 activate#(n__0()) -> c_21(0#()):27
-->_4 activate#(n__0()) -> c_21(0#()):27
-->_3 activate#(n__0()) -> c_21(0#()):27
-->_2 isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)):18
-->_2 isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2)):17
-->_5 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_4 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_3 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_5 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_4 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_3 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_1 U63#(tt(),M,N) -> c_18(U64#(isNatKind(activate(N)),activate(M),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N)):13
-->_2 isNat#(n__0()) -> c_24():28
-->_5 activate#(X) -> c_20():26
-->_4 activate#(X) -> c_20():26
-->_3 activate#(X) -> c_20():26
13:S:U63#(tt(),M,N) -> c_18(U64#(isNatKind(activate(N)),activate(M),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
-->_5 activate#(n__0()) -> c_21(0#()):27
-->_4 activate#(n__0()) -> c_21(0#()):27
-->_3 activate#(n__0()) -> c_21(0#()):27
-->_2 isNatKind#(n__s(V1)) -> c_29(U41#(isNatKind(activate(V1))),isNatKind#(activate(V1)),activate#(V1)):20
-->_2 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):19
-->_5 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_4 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_3 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_5 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_4 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_3 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_1 U64#(tt(),M,N) -> c_19(s#(plus(activate(N),activate(M)))
,plus#(activate(N),activate(M))
,activate#(N)
,activate#(M)):14
-->_2 isNatKind#(n__0()) -> c_27():29
-->_5 activate#(X) -> c_20():26
-->_4 activate#(X) -> c_20():26
-->_3 activate#(X) -> c_20():26
14:S:U64#(tt(),M,N) -> c_19(s#(plus(activate(N),activate(M)))
,plus#(activate(N),activate(M))
,activate#(N)
,activate#(M))
-->_4 activate#(n__0()) -> c_21(0#()):27
-->_3 activate#(n__0()) -> c_21(0#()):27
-->_4 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_3 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_4 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_3 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_1 s#(X) -> c_31():31
-->_2 plus#(X1,X2) -> c_30():30
-->_4 activate#(X) -> c_20():26
-->_3 activate#(X) -> c_20():26
15:S:activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2))
-->_3 activate#(n__0()) -> c_21(0#()):27
-->_2 activate#(n__0()) -> c_21(0#()):27
-->_3 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_2 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_1 plus#(X1,X2) -> c_30():30
-->_3 activate#(X) -> c_20():26
-->_2 activate#(X) -> c_20():26
-->_3 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_2 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
16:S:activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X))
-->_2 activate#(n__0()) -> c_21(0#()):27
-->_1 s#(X) -> c_31():31
-->_2 activate#(X) -> c_20():26
-->_2 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_2 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
17:S:isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
-->_5 activate#(n__0()) -> c_21(0#()):27
-->_4 activate#(n__0()) -> c_21(0#()):27
-->_3 activate#(n__0()) -> c_21(0#()):27
-->_2 isNatKind#(n__s(V1)) -> c_29(U41#(isNatKind(activate(V1))),isNatKind#(activate(V1)),activate#(V1)):20
-->_2 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):19
-->_2 isNatKind#(n__0()) -> c_27():29
-->_5 activate#(X) -> c_20():26
-->_4 activate#(X) -> c_20():26
-->_3 activate#(X) -> c_20():26
-->_5 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_4 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_3 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_5 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_4 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_3 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_1 U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2)):1
18:S:isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
-->_4 activate#(n__0()) -> c_21(0#()):27
-->_3 activate#(n__0()) -> c_21(0#()):27
-->_2 isNatKind#(n__s(V1)) -> c_29(U41#(isNatKind(activate(V1))),isNatKind#(activate(V1)),activate#(V1)):20
-->_2 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):19
-->_2 isNatKind#(n__0()) -> c_27():29
-->_4 activate#(X) -> c_20():26
-->_3 activate#(X) -> c_20():26
-->_4 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_3 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_4 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_3 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_1 U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)):6
19:S:isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2))
-->_4 activate#(n__0()) -> c_21(0#()):27
-->_3 activate#(n__0()) -> c_21(0#()):27
-->_2 isNatKind#(n__s(V1)) -> c_29(U41#(isNatKind(activate(V1))),isNatKind#(activate(V1)),activate#(V1)):20
-->_2 isNatKind#(n__0()) -> c_27():29
-->_4 activate#(X) -> c_20():26
-->_3 activate#(X) -> c_20():26
-->_2 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):19
-->_4 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_3 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_4 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_3 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_1 U31#(tt(),V2) -> c_11(U32#(isNatKind(activate(V2))),isNatKind#(activate(V2)),activate#(V2)):8
20:S:isNatKind#(n__s(V1)) -> c_29(U41#(isNatKind(activate(V1))),isNatKind#(activate(V1)),activate#(V1))
-->_3 activate#(n__0()) -> c_21(0#()):27
-->_2 isNatKind#(n__0()) -> c_27():29
-->_3 activate#(X) -> c_20():26
-->_1 U41#(tt()) -> c_13():25
-->_2 isNatKind#(n__s(V1)) -> c_29(U41#(isNatKind(activate(V1))),isNatKind#(activate(V1)),activate#(V1)):20
-->_2 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):19
-->_3 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_3 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
21:W:0#() -> c_1()
22:W:U16#(tt()) -> c_7()
23:W:U23#(tt()) -> c_10()
24:W:U32#(tt()) -> c_12()
25:W:U41#(tt()) -> c_13()
26:W:activate#(X) -> c_20()
27:W:activate#(n__0()) -> c_21(0#())
-->_1 0#() -> c_1():21
28:W:isNat#(n__0()) -> c_24()
29:W:isNatKind#(n__0()) -> c_27()
30:W:plus#(X1,X2) -> c_30()
31:W:s#(X) -> c_31()
The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
22: U16#(tt()) -> c_7()
23: U23#(tt()) -> c_10()
28: isNat#(n__0()) -> c_24()
24: U32#(tt()) -> c_12()
30: plus#(X1,X2) -> c_30()
31: s#(X) -> c_31()
25: U41#(tt()) -> c_13()
26: activate#(X) -> c_20()
29: isNatKind#(n__0()) -> c_27()
27: activate#(n__0()) -> c_21(0#())
21: 0#() -> c_1()
** Step 1.b:7: SimplifyRHS WORST_CASE(?,O(n^3))
+ Considered Problem:
- Strict DPs:
U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2))
,isNat#(activate(V1))
,activate#(V1)
,activate#(V2))
U15#(tt(),V2) -> c_6(U16#(isNat(activate(V2))),isNat#(activate(V2)),activate#(V2))
U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
U22#(tt(),V1) -> c_9(U23#(isNat(activate(V1))),isNat#(activate(V1)),activate#(V1))
U31#(tt(),V2) -> c_11(U32#(isNatKind(activate(V2))),isNatKind#(activate(V2)),activate#(V2))
U51#(tt(),N) -> c_14(U52#(isNatKind(activate(N)),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(N))
U52#(tt(),N) -> c_15(activate#(N))
U61#(tt(),M,N) -> c_16(U62#(isNatKind(activate(M)),activate(M),activate(N))
,isNatKind#(activate(M))
,activate#(M)
,activate#(M)
,activate#(N))
U62#(tt(),M,N) -> c_17(U63#(isNat(activate(N)),activate(M),activate(N))
,isNat#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
U63#(tt(),M,N) -> c_18(U64#(isNatKind(activate(N)),activate(M),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
U64#(tt(),M,N) -> c_19(s#(plus(activate(N),activate(M)))
,plus#(activate(N),activate(M))
,activate#(N)
,activate#(M))
activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2))
activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X))
isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2))
isNatKind#(n__s(V1)) -> c_29(U41#(isNatKind(activate(V1))),isNatKind#(activate(V1)),activate#(V1))
- Weak TRS:
0() -> n__0()
U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2))
U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2))
U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2))
U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2))
U15(tt(),V2) -> U16(isNat(activate(V2)))
U16(tt()) -> tt()
U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1))
U22(tt(),V1) -> U23(isNat(activate(V1)))
U23(tt()) -> tt()
U31(tt(),V2) -> U32(isNatKind(activate(V2)))
U32(tt()) -> tt()
U41(tt()) -> tt()
activate(X) -> X
activate(n__0()) -> 0()
activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2))
activate(n__s(X)) -> s(activate(X))
isNat(n__0()) -> tt()
isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2))
isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1))
isNatKind(n__0()) -> tt()
isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2))
isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1)))
plus(X1,X2) -> n__plus(X1,X2)
s(X) -> n__s(X)
- Signature:
{0/0,U11/3,U12/3,U13/3,U14/3,U15/2,U16/1,U21/2,U22/2,U23/1,U31/2,U32/1,U41/1,U51/2,U52/2,U61/3,U62/3,U63/3
,U64/3,activate/1,isNat/1,isNatKind/1,plus/2,s/1,0#/0,U11#/3,U12#/3,U13#/3,U14#/3,U15#/2,U16#/1,U21#/2
,U22#/2,U23#/1,U31#/2,U32#/1,U41#/1,U51#/2,U52#/2,U61#/3,U62#/3,U63#/3,U64#/3,activate#/1,isNat#/1
,isNatKind#/1,plus#/2,s#/1} / {n__0/0,n__plus/2,n__s/1,tt/0,c_1/0,c_2/5,c_3/5,c_4/5,c_5/4,c_6/3,c_7/0,c_8/4
,c_9/3,c_10/0,c_11/3,c_12/0,c_13/0,c_14/4,c_15/1,c_16/5,c_17/5,c_18/5,c_19/4,c_20/0,c_21/1,c_22/3,c_23/2
,c_24/0,c_25/5,c_26/4,c_27/0,c_28/4,c_29/3,c_30/0,c_31/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {0#,U11#,U12#,U13#,U14#,U15#,U16#,U21#,U22#,U23#,U31#,U32#
,U41#,U51#,U52#,U61#,U62#,U63#,U64#,activate#,isNat#,isNatKind#,plus#,s#} and constructors {n__0,n__plus
,n__s,tt}
+ Applied Processor:
SimplifyRHS
+ Details:
Consider the dependency graph
1:S:U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
-->_2 isNatKind#(n__s(V1)) -> c_29(U41#(isNatKind(activate(V1)))
,isNatKind#(activate(V1))
,activate#(V1)):20
-->_2 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):19
-->_5 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_4 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_3 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_5 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_4 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_3 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_1 U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2)):2
2:S:U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
-->_2 isNatKind#(n__s(V1)) -> c_29(U41#(isNatKind(activate(V1)))
,isNatKind#(activate(V1))
,activate#(V1)):20
-->_2 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):19
-->_5 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_4 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_3 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_5 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_4 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_3 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_1 U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2)):3
3:S:U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
-->_2 isNatKind#(n__s(V1)) -> c_29(U41#(isNatKind(activate(V1)))
,isNatKind#(activate(V1))
,activate#(V1)):20
-->_2 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):19
-->_5 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_4 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_3 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_5 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_4 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_3 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_1 U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2))
,isNat#(activate(V1))
,activate#(V1)
,activate#(V2)):4
4:S:U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2))
,isNat#(activate(V1))
,activate#(V1)
,activate#(V2))
-->_2 isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)):18
-->_2 isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2)):17
-->_4 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_3 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_4 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_3 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_1 U15#(tt(),V2) -> c_6(U16#(isNat(activate(V2))),isNat#(activate(V2)),activate#(V2)):5
5:S:U15#(tt(),V2) -> c_6(U16#(isNat(activate(V2))),isNat#(activate(V2)),activate#(V2))
-->_2 isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)):18
-->_2 isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2)):17
-->_3 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_3 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
6:S:U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
-->_2 isNatKind#(n__s(V1)) -> c_29(U41#(isNatKind(activate(V1)))
,isNatKind#(activate(V1))
,activate#(V1)):20
-->_2 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):19
-->_4 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_3 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_4 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_3 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_1 U22#(tt(),V1) -> c_9(U23#(isNat(activate(V1))),isNat#(activate(V1)),activate#(V1)):7
7:S:U22#(tt(),V1) -> c_9(U23#(isNat(activate(V1))),isNat#(activate(V1)),activate#(V1))
-->_2 isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)):18
-->_2 isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2)):17
-->_3 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_3 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
8:S:U31#(tt(),V2) -> c_11(U32#(isNatKind(activate(V2))),isNatKind#(activate(V2)),activate#(V2))
-->_2 isNatKind#(n__s(V1)) -> c_29(U41#(isNatKind(activate(V1)))
,isNatKind#(activate(V1))
,activate#(V1)):20
-->_2 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):19
-->_3 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_3 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
9:S:U51#(tt(),N) -> c_14(U52#(isNatKind(activate(N)),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(N))
-->_2 isNatKind#(n__s(V1)) -> c_29(U41#(isNatKind(activate(V1)))
,isNatKind#(activate(V1))
,activate#(V1)):20
-->_2 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):19
-->_4 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_3 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_4 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_3 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_1 U52#(tt(),N) -> c_15(activate#(N)):10
10:S:U52#(tt(),N) -> c_15(activate#(N))
-->_1 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_1 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
11:S:U61#(tt(),M,N) -> c_16(U62#(isNatKind(activate(M)),activate(M),activate(N))
,isNatKind#(activate(M))
,activate#(M)
,activate#(M)
,activate#(N))
-->_2 isNatKind#(n__s(V1)) -> c_29(U41#(isNatKind(activate(V1)))
,isNatKind#(activate(V1))
,activate#(V1)):20
-->_2 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):19
-->_5 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_4 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_3 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_5 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_4 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_3 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_1 U62#(tt(),M,N) -> c_17(U63#(isNat(activate(N)),activate(M),activate(N))
,isNat#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N)):12
12:S:U62#(tt(),M,N) -> c_17(U63#(isNat(activate(N)),activate(M),activate(N))
,isNat#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
-->_2 isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)):18
-->_2 isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2)):17
-->_5 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_4 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_3 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_5 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_4 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_3 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_1 U63#(tt(),M,N) -> c_18(U64#(isNatKind(activate(N)),activate(M),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N)):13
13:S:U63#(tt(),M,N) -> c_18(U64#(isNatKind(activate(N)),activate(M),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
-->_2 isNatKind#(n__s(V1)) -> c_29(U41#(isNatKind(activate(V1)))
,isNatKind#(activate(V1))
,activate#(V1)):20
-->_2 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):19
-->_5 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_4 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_3 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_5 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_4 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_3 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_1 U64#(tt(),M,N) -> c_19(s#(plus(activate(N),activate(M)))
,plus#(activate(N),activate(M))
,activate#(N)
,activate#(M)):14
14:S:U64#(tt(),M,N) -> c_19(s#(plus(activate(N),activate(M)))
,plus#(activate(N),activate(M))
,activate#(N)
,activate#(M))
-->_4 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_3 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_4 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_3 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
15:S:activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2))
-->_3 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_2 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_3 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_2 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
16:S:activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X))
-->_2 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_2 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
17:S:isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
-->_2 isNatKind#(n__s(V1)) -> c_29(U41#(isNatKind(activate(V1)))
,isNatKind#(activate(V1))
,activate#(V1)):20
-->_2 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):19
-->_5 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_4 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_3 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_5 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_4 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_3 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_1 U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2)):1
18:S:isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
-->_2 isNatKind#(n__s(V1)) -> c_29(U41#(isNatKind(activate(V1)))
,isNatKind#(activate(V1))
,activate#(V1)):20
-->_2 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):19
-->_4 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_3 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_4 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_3 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_1 U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)):6
19:S:isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2))
-->_2 isNatKind#(n__s(V1)) -> c_29(U41#(isNatKind(activate(V1)))
,isNatKind#(activate(V1))
,activate#(V1)):20
-->_2 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):19
-->_4 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_3 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_4 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_3 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
-->_1 U31#(tt(),V2) -> c_11(U32#(isNatKind(activate(V2))),isNatKind#(activate(V2)),activate#(V2)):8
20:S:isNatKind#(n__s(V1)) -> c_29(U41#(isNatKind(activate(V1))),isNatKind#(activate(V1)),activate#(V1))
-->_2 isNatKind#(n__s(V1)) -> c_29(U41#(isNatKind(activate(V1)))
,isNatKind#(activate(V1))
,activate#(V1)):20
-->_2 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):19
-->_3 activate#(n__s(X)) -> c_23(s#(activate(X)),activate#(X)):16
-->_3 activate#(n__plus(X1,X2)) -> c_22(plus#(activate(X1),activate(X2)),activate#(X1),activate#(X2)):15
Due to missing edges in the depndency graph, the right-hand sides of following rules could be simplified:
U15#(tt(),V2) -> c_6(isNat#(activate(V2)),activate#(V2))
U22#(tt(),V1) -> c_9(isNat#(activate(V1)),activate#(V1))
U31#(tt(),V2) -> c_11(isNatKind#(activate(V2)),activate#(V2))
U64#(tt(),M,N) -> c_19(activate#(N),activate#(M))
activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2))
activate#(n__s(X)) -> c_23(activate#(X))
isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1))
** Step 1.b:8: Decompose WORST_CASE(?,O(n^3))
+ Considered Problem:
- Strict DPs:
U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2))
,isNat#(activate(V1))
,activate#(V1)
,activate#(V2))
U15#(tt(),V2) -> c_6(isNat#(activate(V2)),activate#(V2))
U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
U22#(tt(),V1) -> c_9(isNat#(activate(V1)),activate#(V1))
U31#(tt(),V2) -> c_11(isNatKind#(activate(V2)),activate#(V2))
U51#(tt(),N) -> c_14(U52#(isNatKind(activate(N)),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(N))
U52#(tt(),N) -> c_15(activate#(N))
U61#(tt(),M,N) -> c_16(U62#(isNatKind(activate(M)),activate(M),activate(N))
,isNatKind#(activate(M))
,activate#(M)
,activate#(M)
,activate#(N))
U62#(tt(),M,N) -> c_17(U63#(isNat(activate(N)),activate(M),activate(N))
,isNat#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
U63#(tt(),M,N) -> c_18(U64#(isNatKind(activate(N)),activate(M),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
U64#(tt(),M,N) -> c_19(activate#(N),activate#(M))
activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2))
activate#(n__s(X)) -> c_23(activate#(X))
isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2))
isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1))
- Weak TRS:
0() -> n__0()
U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2))
U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2))
U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2))
U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2))
U15(tt(),V2) -> U16(isNat(activate(V2)))
U16(tt()) -> tt()
U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1))
U22(tt(),V1) -> U23(isNat(activate(V1)))
U23(tt()) -> tt()
U31(tt(),V2) -> U32(isNatKind(activate(V2)))
U32(tt()) -> tt()
U41(tt()) -> tt()
activate(X) -> X
activate(n__0()) -> 0()
activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2))
activate(n__s(X)) -> s(activate(X))
isNat(n__0()) -> tt()
isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2))
isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1))
isNatKind(n__0()) -> tt()
isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2))
isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1)))
plus(X1,X2) -> n__plus(X1,X2)
s(X) -> n__s(X)
- Signature:
{0/0,U11/3,U12/3,U13/3,U14/3,U15/2,U16/1,U21/2,U22/2,U23/1,U31/2,U32/1,U41/1,U51/2,U52/2,U61/3,U62/3,U63/3
,U64/3,activate/1,isNat/1,isNatKind/1,plus/2,s/1,0#/0,U11#/3,U12#/3,U13#/3,U14#/3,U15#/2,U16#/1,U21#/2
,U22#/2,U23#/1,U31#/2,U32#/1,U41#/1,U51#/2,U52#/2,U61#/3,U62#/3,U63#/3,U64#/3,activate#/1,isNat#/1
,isNatKind#/1,plus#/2,s#/1} / {n__0/0,n__plus/2,n__s/1,tt/0,c_1/0,c_2/5,c_3/5,c_4/5,c_5/4,c_6/2,c_7/0,c_8/4
,c_9/2,c_10/0,c_11/2,c_12/0,c_13/0,c_14/4,c_15/1,c_16/5,c_17/5,c_18/5,c_19/2,c_20/0,c_21/1,c_22/2,c_23/1
,c_24/0,c_25/5,c_26/4,c_27/0,c_28/4,c_29/2,c_30/0,c_31/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {0#,U11#,U12#,U13#,U14#,U15#,U16#,U21#,U22#,U23#,U31#,U32#
,U41#,U51#,U52#,U61#,U62#,U63#,U64#,activate#,isNat#,isNatKind#,plus#,s#} and constructors {n__0,n__plus
,n__s,tt}
+ Applied Processor:
Decompose {onSelection = all cycle independent sub-graph, withBound = RelativeAdd}
+ Details:
We analyse the complexity of following sub-problems (R) and (S).
Problem (S) is obtained from the input problem by shifting strict rules from (R) into the weak component.
Problem (R)
- Strict DPs:
U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2))
,isNat#(activate(V1))
,activate#(V1)
,activate#(V2))
U15#(tt(),V2) -> c_6(isNat#(activate(V2)),activate#(V2))
U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
U22#(tt(),V1) -> c_9(isNat#(activate(V1)),activate#(V1))
U31#(tt(),V2) -> c_11(isNatKind#(activate(V2)),activate#(V2))
activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2))
activate#(n__s(X)) -> c_23(activate#(X))
isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2))
isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1))
- Weak DPs:
U51#(tt(),N) -> c_14(U52#(isNatKind(activate(N)),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(N))
U52#(tt(),N) -> c_15(activate#(N))
U61#(tt(),M,N) -> c_16(U62#(isNatKind(activate(M)),activate(M),activate(N))
,isNatKind#(activate(M))
,activate#(M)
,activate#(M)
,activate#(N))
U62#(tt(),M,N) -> c_17(U63#(isNat(activate(N)),activate(M),activate(N))
,isNat#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
U63#(tt(),M,N) -> c_18(U64#(isNatKind(activate(N)),activate(M),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
U64#(tt(),M,N) -> c_19(activate#(N),activate#(M))
- Weak TRS:
0() -> n__0()
U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2))
U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2))
U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2))
U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2))
U15(tt(),V2) -> U16(isNat(activate(V2)))
U16(tt()) -> tt()
U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1))
U22(tt(),V1) -> U23(isNat(activate(V1)))
U23(tt()) -> tt()
U31(tt(),V2) -> U32(isNatKind(activate(V2)))
U32(tt()) -> tt()
U41(tt()) -> tt()
activate(X) -> X
activate(n__0()) -> 0()
activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2))
activate(n__s(X)) -> s(activate(X))
isNat(n__0()) -> tt()
isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2))
isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1))
isNatKind(n__0()) -> tt()
isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2))
isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1)))
plus(X1,X2) -> n__plus(X1,X2)
s(X) -> n__s(X)
- Signature:
{0/0,U11/3,U12/3,U13/3,U14/3,U15/2,U16/1,U21/2,U22/2,U23/1,U31/2,U32/1,U41/1,U51/2,U52/2,U61/3,U62/3,U63/3
,U64/3,activate/1,isNat/1,isNatKind/1,plus/2,s/1,0#/0,U11#/3,U12#/3,U13#/3,U14#/3,U15#/2,U16#/1,U21#/2
,U22#/2,U23#/1,U31#/2,U32#/1,U41#/1,U51#/2,U52#/2,U61#/3,U62#/3,U63#/3,U64#/3,activate#/1,isNat#/1
,isNatKind#/1,plus#/2,s#/1} / {n__0/0,n__plus/2,n__s/1,tt/0,c_1/0,c_2/5,c_3/5,c_4/5,c_5/4,c_6/2,c_7/0
,c_8/4,c_9/2,c_10/0,c_11/2,c_12/0,c_13/0,c_14/4,c_15/1,c_16/5,c_17/5,c_18/5,c_19/2,c_20/0,c_21/1,c_22/2
,c_23/1,c_24/0,c_25/5,c_26/4,c_27/0,c_28/4,c_29/2,c_30/0,c_31/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {0#,U11#,U12#,U13#,U14#,U15#,U16#,U21#,U22#,U23#,U31#
,U32#,U41#,U51#,U52#,U61#,U62#,U63#,U64#,activate#,isNat#,isNatKind#,plus#,s#} and constructors {n__0
,n__plus,n__s,tt}
Problem (S)
- Strict DPs:
U51#(tt(),N) -> c_14(U52#(isNatKind(activate(N)),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(N))
U52#(tt(),N) -> c_15(activate#(N))
U61#(tt(),M,N) -> c_16(U62#(isNatKind(activate(M)),activate(M),activate(N))
,isNatKind#(activate(M))
,activate#(M)
,activate#(M)
,activate#(N))
U62#(tt(),M,N) -> c_17(U63#(isNat(activate(N)),activate(M),activate(N))
,isNat#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
U63#(tt(),M,N) -> c_18(U64#(isNatKind(activate(N)),activate(M),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
U64#(tt(),M,N) -> c_19(activate#(N),activate#(M))
- Weak DPs:
U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2))
,isNat#(activate(V1))
,activate#(V1)
,activate#(V2))
U15#(tt(),V2) -> c_6(isNat#(activate(V2)),activate#(V2))
U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
U22#(tt(),V1) -> c_9(isNat#(activate(V1)),activate#(V1))
U31#(tt(),V2) -> c_11(isNatKind#(activate(V2)),activate#(V2))
activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2))
activate#(n__s(X)) -> c_23(activate#(X))
isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2))
isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1))
- Weak TRS:
0() -> n__0()
U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2))
U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2))
U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2))
U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2))
U15(tt(),V2) -> U16(isNat(activate(V2)))
U16(tt()) -> tt()
U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1))
U22(tt(),V1) -> U23(isNat(activate(V1)))
U23(tt()) -> tt()
U31(tt(),V2) -> U32(isNatKind(activate(V2)))
U32(tt()) -> tt()
U41(tt()) -> tt()
activate(X) -> X
activate(n__0()) -> 0()
activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2))
activate(n__s(X)) -> s(activate(X))
isNat(n__0()) -> tt()
isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2))
isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1))
isNatKind(n__0()) -> tt()
isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2))
isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1)))
plus(X1,X2) -> n__plus(X1,X2)
s(X) -> n__s(X)
- Signature:
{0/0,U11/3,U12/3,U13/3,U14/3,U15/2,U16/1,U21/2,U22/2,U23/1,U31/2,U32/1,U41/1,U51/2,U52/2,U61/3,U62/3,U63/3
,U64/3,activate/1,isNat/1,isNatKind/1,plus/2,s/1,0#/0,U11#/3,U12#/3,U13#/3,U14#/3,U15#/2,U16#/1,U21#/2
,U22#/2,U23#/1,U31#/2,U32#/1,U41#/1,U51#/2,U52#/2,U61#/3,U62#/3,U63#/3,U64#/3,activate#/1,isNat#/1
,isNatKind#/1,plus#/2,s#/1} / {n__0/0,n__plus/2,n__s/1,tt/0,c_1/0,c_2/5,c_3/5,c_4/5,c_5/4,c_6/2,c_7/0
,c_8/4,c_9/2,c_10/0,c_11/2,c_12/0,c_13/0,c_14/4,c_15/1,c_16/5,c_17/5,c_18/5,c_19/2,c_20/0,c_21/1,c_22/2
,c_23/1,c_24/0,c_25/5,c_26/4,c_27/0,c_28/4,c_29/2,c_30/0,c_31/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {0#,U11#,U12#,U13#,U14#,U15#,U16#,U21#,U22#,U23#,U31#
,U32#,U41#,U51#,U52#,U61#,U62#,U63#,U64#,activate#,isNat#,isNatKind#,plus#,s#} and constructors {n__0
,n__plus,n__s,tt}
*** Step 1.b:8.a:1: DecomposeDG WORST_CASE(?,O(n^3))
+ Considered Problem:
- Strict DPs:
U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2))
,isNat#(activate(V1))
,activate#(V1)
,activate#(V2))
U15#(tt(),V2) -> c_6(isNat#(activate(V2)),activate#(V2))
U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
U22#(tt(),V1) -> c_9(isNat#(activate(V1)),activate#(V1))
U31#(tt(),V2) -> c_11(isNatKind#(activate(V2)),activate#(V2))
activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2))
activate#(n__s(X)) -> c_23(activate#(X))
isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2))
isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1))
- Weak DPs:
U51#(tt(),N) -> c_14(U52#(isNatKind(activate(N)),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(N))
U52#(tt(),N) -> c_15(activate#(N))
U61#(tt(),M,N) -> c_16(U62#(isNatKind(activate(M)),activate(M),activate(N))
,isNatKind#(activate(M))
,activate#(M)
,activate#(M)
,activate#(N))
U62#(tt(),M,N) -> c_17(U63#(isNat(activate(N)),activate(M),activate(N))
,isNat#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
U63#(tt(),M,N) -> c_18(U64#(isNatKind(activate(N)),activate(M),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
U64#(tt(),M,N) -> c_19(activate#(N),activate#(M))
- Weak TRS:
0() -> n__0()
U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2))
U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2))
U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2))
U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2))
U15(tt(),V2) -> U16(isNat(activate(V2)))
U16(tt()) -> tt()
U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1))
U22(tt(),V1) -> U23(isNat(activate(V1)))
U23(tt()) -> tt()
U31(tt(),V2) -> U32(isNatKind(activate(V2)))
U32(tt()) -> tt()
U41(tt()) -> tt()
activate(X) -> X
activate(n__0()) -> 0()
activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2))
activate(n__s(X)) -> s(activate(X))
isNat(n__0()) -> tt()
isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2))
isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1))
isNatKind(n__0()) -> tt()
isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2))
isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1)))
plus(X1,X2) -> n__plus(X1,X2)
s(X) -> n__s(X)
- Signature:
{0/0,U11/3,U12/3,U13/3,U14/3,U15/2,U16/1,U21/2,U22/2,U23/1,U31/2,U32/1,U41/1,U51/2,U52/2,U61/3,U62/3,U63/3
,U64/3,activate/1,isNat/1,isNatKind/1,plus/2,s/1,0#/0,U11#/3,U12#/3,U13#/3,U14#/3,U15#/2,U16#/1,U21#/2
,U22#/2,U23#/1,U31#/2,U32#/1,U41#/1,U51#/2,U52#/2,U61#/3,U62#/3,U63#/3,U64#/3,activate#/1,isNat#/1
,isNatKind#/1,plus#/2,s#/1} / {n__0/0,n__plus/2,n__s/1,tt/0,c_1/0,c_2/5,c_3/5,c_4/5,c_5/4,c_6/2,c_7/0,c_8/4
,c_9/2,c_10/0,c_11/2,c_12/0,c_13/0,c_14/4,c_15/1,c_16/5,c_17/5,c_18/5,c_19/2,c_20/0,c_21/1,c_22/2,c_23/1
,c_24/0,c_25/5,c_26/4,c_27/0,c_28/4,c_29/2,c_30/0,c_31/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {0#,U11#,U12#,U13#,U14#,U15#,U16#,U21#,U22#,U23#,U31#,U32#
,U41#,U51#,U52#,U61#,U62#,U63#,U64#,activate#,isNat#,isNatKind#,plus#,s#} and constructors {n__0,n__plus
,n__s,tt}
+ Applied Processor:
DecomposeDG {onSelection = all below first cut in WDG, onUpper = Just someStrategy, onLower = Nothing}
+ Details:
We decompose the input problem according to the dependency graph into the upper component
U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2))
,isNat#(activate(V1))
,activate#(V1)
,activate#(V2))
U15#(tt(),V2) -> c_6(isNat#(activate(V2)),activate#(V2))
U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
U22#(tt(),V1) -> c_9(isNat#(activate(V1)),activate#(V1))
U51#(tt(),N) -> c_14(U52#(isNatKind(activate(N)),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(N))
U52#(tt(),N) -> c_15(activate#(N))
U61#(tt(),M,N) -> c_16(U62#(isNatKind(activate(M)),activate(M),activate(N))
,isNatKind#(activate(M))
,activate#(M)
,activate#(M)
,activate#(N))
U62#(tt(),M,N) -> c_17(U63#(isNat(activate(N)),activate(M),activate(N))
,isNat#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
U63#(tt(),M,N) -> c_18(U64#(isNatKind(activate(N)),activate(M),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
U64#(tt(),M,N) -> c_19(activate#(N),activate#(M))
isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
and a lower component
U31#(tt(),V2) -> c_11(isNatKind#(activate(V2)),activate#(V2))
activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2))
activate#(n__s(X)) -> c_23(activate#(X))
isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2))
isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1))
Further, following extension rules are added to the lower component.
U11#(tt(),V1,V2) -> U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
U11#(tt(),V1,V2) -> activate#(V1)
U11#(tt(),V1,V2) -> activate#(V2)
U11#(tt(),V1,V2) -> isNatKind#(activate(V1))
U12#(tt(),V1,V2) -> U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
U12#(tt(),V1,V2) -> activate#(V1)
U12#(tt(),V1,V2) -> activate#(V2)
U12#(tt(),V1,V2) -> isNatKind#(activate(V2))
U13#(tt(),V1,V2) -> U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
U13#(tt(),V1,V2) -> activate#(V1)
U13#(tt(),V1,V2) -> activate#(V2)
U13#(tt(),V1,V2) -> isNatKind#(activate(V2))
U14#(tt(),V1,V2) -> U15#(isNat(activate(V1)),activate(V2))
U14#(tt(),V1,V2) -> activate#(V1)
U14#(tt(),V1,V2) -> activate#(V2)
U14#(tt(),V1,V2) -> isNat#(activate(V1))
U15#(tt(),V2) -> activate#(V2)
U15#(tt(),V2) -> isNat#(activate(V2))
U21#(tt(),V1) -> U22#(isNatKind(activate(V1)),activate(V1))
U21#(tt(),V1) -> activate#(V1)
U21#(tt(),V1) -> isNatKind#(activate(V1))
U22#(tt(),V1) -> activate#(V1)
U22#(tt(),V1) -> isNat#(activate(V1))
U51#(tt(),N) -> U52#(isNatKind(activate(N)),activate(N))
U51#(tt(),N) -> activate#(N)
U51#(tt(),N) -> isNatKind#(activate(N))
U52#(tt(),N) -> activate#(N)
U61#(tt(),M,N) -> U62#(isNatKind(activate(M)),activate(M),activate(N))
U61#(tt(),M,N) -> activate#(M)
U61#(tt(),M,N) -> activate#(N)
U61#(tt(),M,N) -> isNatKind#(activate(M))
U62#(tt(),M,N) -> U63#(isNat(activate(N)),activate(M),activate(N))
U62#(tt(),M,N) -> activate#(M)
U62#(tt(),M,N) -> activate#(N)
U62#(tt(),M,N) -> isNat#(activate(N))
U63#(tt(),M,N) -> U64#(isNatKind(activate(N)),activate(M),activate(N))
U63#(tt(),M,N) -> activate#(M)
U63#(tt(),M,N) -> activate#(N)
U63#(tt(),M,N) -> isNatKind#(activate(N))
U64#(tt(),M,N) -> activate#(M)
U64#(tt(),M,N) -> activate#(N)
isNat#(n__plus(V1,V2)) -> U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
isNat#(n__plus(V1,V2)) -> activate#(V1)
isNat#(n__plus(V1,V2)) -> activate#(V2)
isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1))
isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1))
isNat#(n__s(V1)) -> activate#(V1)
isNat#(n__s(V1)) -> isNatKind#(activate(V1))
**** Step 1.b:8.a:1.a:1: PredecessorEstimation WORST_CASE(?,O(n^1))
+ Considered Problem:
- Strict DPs:
U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2))
,isNat#(activate(V1))
,activate#(V1)
,activate#(V2))
U15#(tt(),V2) -> c_6(isNat#(activate(V2)),activate#(V2))
U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
U22#(tt(),V1) -> c_9(isNat#(activate(V1)),activate#(V1))
U51#(tt(),N) -> c_14(U52#(isNatKind(activate(N)),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(N))
U52#(tt(),N) -> c_15(activate#(N))
U61#(tt(),M,N) -> c_16(U62#(isNatKind(activate(M)),activate(M),activate(N))
,isNatKind#(activate(M))
,activate#(M)
,activate#(M)
,activate#(N))
U62#(tt(),M,N) -> c_17(U63#(isNat(activate(N)),activate(M),activate(N))
,isNat#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
U63#(tt(),M,N) -> c_18(U64#(isNatKind(activate(N)),activate(M),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
U64#(tt(),M,N) -> c_19(activate#(N),activate#(M))
isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
- Weak TRS:
0() -> n__0()
U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2))
U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2))
U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2))
U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2))
U15(tt(),V2) -> U16(isNat(activate(V2)))
U16(tt()) -> tt()
U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1))
U22(tt(),V1) -> U23(isNat(activate(V1)))
U23(tt()) -> tt()
U31(tt(),V2) -> U32(isNatKind(activate(V2)))
U32(tt()) -> tt()
U41(tt()) -> tt()
activate(X) -> X
activate(n__0()) -> 0()
activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2))
activate(n__s(X)) -> s(activate(X))
isNat(n__0()) -> tt()
isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2))
isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1))
isNatKind(n__0()) -> tt()
isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2))
isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1)))
plus(X1,X2) -> n__plus(X1,X2)
s(X) -> n__s(X)
- Signature:
{0/0,U11/3,U12/3,U13/3,U14/3,U15/2,U16/1,U21/2,U22/2,U23/1,U31/2,U32/1,U41/1,U51/2,U52/2,U61/3,U62/3,U63/3
,U64/3,activate/1,isNat/1,isNatKind/1,plus/2,s/1,0#/0,U11#/3,U12#/3,U13#/3,U14#/3,U15#/2,U16#/1,U21#/2
,U22#/2,U23#/1,U31#/2,U32#/1,U41#/1,U51#/2,U52#/2,U61#/3,U62#/3,U63#/3,U64#/3,activate#/1,isNat#/1
,isNatKind#/1,plus#/2,s#/1} / {n__0/0,n__plus/2,n__s/1,tt/0,c_1/0,c_2/5,c_3/5,c_4/5,c_5/4,c_6/2,c_7/0,c_8/4
,c_9/2,c_10/0,c_11/2,c_12/0,c_13/0,c_14/4,c_15/1,c_16/5,c_17/5,c_18/5,c_19/2,c_20/0,c_21/1,c_22/2,c_23/1
,c_24/0,c_25/5,c_26/4,c_27/0,c_28/4,c_29/2,c_30/0,c_31/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {0#,U11#,U12#,U13#,U14#,U15#,U16#,U21#,U22#,U23#,U31#,U32#
,U41#,U51#,U52#,U61#,U62#,U63#,U64#,activate#,isNat#,isNatKind#,plus#,s#} and constructors {n__0,n__plus
,n__s,tt}
+ Applied Processor:
PredecessorEstimation {onSelection = all simple predecessor estimation selector}
+ Details:
We estimate the number of application of
{9,13}
by application of
Pre({9,13}) = {8,12}.
Here rules are labelled as follows:
1: U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
2: U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
3: U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
4: U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2))
,isNat#(activate(V1))
,activate#(V1)
,activate#(V2))
5: U15#(tt(),V2) -> c_6(isNat#(activate(V2)),activate#(V2))
6: U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
7: U22#(tt(),V1) -> c_9(isNat#(activate(V1)),activate#(V1))
8: U51#(tt(),N) -> c_14(U52#(isNatKind(activate(N)),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(N))
9: U52#(tt(),N) -> c_15(activate#(N))
10: U61#(tt(),M,N) -> c_16(U62#(isNatKind(activate(M)),activate(M),activate(N))
,isNatKind#(activate(M))
,activate#(M)
,activate#(M)
,activate#(N))
11: U62#(tt(),M,N) -> c_17(U63#(isNat(activate(N)),activate(M),activate(N))
,isNat#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
12: U63#(tt(),M,N) -> c_18(U64#(isNatKind(activate(N)),activate(M),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
13: U64#(tt(),M,N) -> c_19(activate#(N),activate#(M))
14: isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
15: isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
**** Step 1.b:8.a:1.a:2: PredecessorEstimation WORST_CASE(?,O(n^1))
+ Considered Problem:
- Strict DPs:
U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2))
,isNat#(activate(V1))
,activate#(V1)
,activate#(V2))
U15#(tt(),V2) -> c_6(isNat#(activate(V2)),activate#(V2))
U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
U22#(tt(),V1) -> c_9(isNat#(activate(V1)),activate#(V1))
U51#(tt(),N) -> c_14(U52#(isNatKind(activate(N)),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(N))
U61#(tt(),M,N) -> c_16(U62#(isNatKind(activate(M)),activate(M),activate(N))
,isNatKind#(activate(M))
,activate#(M)
,activate#(M)
,activate#(N))
U62#(tt(),M,N) -> c_17(U63#(isNat(activate(N)),activate(M),activate(N))
,isNat#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
U63#(tt(),M,N) -> c_18(U64#(isNatKind(activate(N)),activate(M),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
- Weak DPs:
U52#(tt(),N) -> c_15(activate#(N))
U64#(tt(),M,N) -> c_19(activate#(N),activate#(M))
- Weak TRS:
0() -> n__0()
U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2))
U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2))
U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2))
U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2))
U15(tt(),V2) -> U16(isNat(activate(V2)))
U16(tt()) -> tt()
U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1))
U22(tt(),V1) -> U23(isNat(activate(V1)))
U23(tt()) -> tt()
U31(tt(),V2) -> U32(isNatKind(activate(V2)))
U32(tt()) -> tt()
U41(tt()) -> tt()
activate(X) -> X
activate(n__0()) -> 0()
activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2))
activate(n__s(X)) -> s(activate(X))
isNat(n__0()) -> tt()
isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2))
isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1))
isNatKind(n__0()) -> tt()
isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2))
isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1)))
plus(X1,X2) -> n__plus(X1,X2)
s(X) -> n__s(X)
- Signature:
{0/0,U11/3,U12/3,U13/3,U14/3,U15/2,U16/1,U21/2,U22/2,U23/1,U31/2,U32/1,U41/1,U51/2,U52/2,U61/3,U62/3,U63/3
,U64/3,activate/1,isNat/1,isNatKind/1,plus/2,s/1,0#/0,U11#/3,U12#/3,U13#/3,U14#/3,U15#/2,U16#/1,U21#/2
,U22#/2,U23#/1,U31#/2,U32#/1,U41#/1,U51#/2,U52#/2,U61#/3,U62#/3,U63#/3,U64#/3,activate#/1,isNat#/1
,isNatKind#/1,plus#/2,s#/1} / {n__0/0,n__plus/2,n__s/1,tt/0,c_1/0,c_2/5,c_3/5,c_4/5,c_5/4,c_6/2,c_7/0,c_8/4
,c_9/2,c_10/0,c_11/2,c_12/0,c_13/0,c_14/4,c_15/1,c_16/5,c_17/5,c_18/5,c_19/2,c_20/0,c_21/1,c_22/2,c_23/1
,c_24/0,c_25/5,c_26/4,c_27/0,c_28/4,c_29/2,c_30/0,c_31/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {0#,U11#,U12#,U13#,U14#,U15#,U16#,U21#,U22#,U23#,U31#,U32#
,U41#,U51#,U52#,U61#,U62#,U63#,U64#,activate#,isNat#,isNatKind#,plus#,s#} and constructors {n__0,n__plus
,n__s,tt}
+ Applied Processor:
PredecessorEstimation {onSelection = all simple predecessor estimation selector}
+ Details:
We estimate the number of application of
{8,11}
by application of
Pre({8,11}) = {10}.
Here rules are labelled as follows:
1: U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
2: U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
3: U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
4: U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2))
,isNat#(activate(V1))
,activate#(V1)
,activate#(V2))
5: U15#(tt(),V2) -> c_6(isNat#(activate(V2)),activate#(V2))
6: U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
7: U22#(tt(),V1) -> c_9(isNat#(activate(V1)),activate#(V1))
8: U51#(tt(),N) -> c_14(U52#(isNatKind(activate(N)),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(N))
9: U61#(tt(),M,N) -> c_16(U62#(isNatKind(activate(M)),activate(M),activate(N))
,isNatKind#(activate(M))
,activate#(M)
,activate#(M)
,activate#(N))
10: U62#(tt(),M,N) -> c_17(U63#(isNat(activate(N)),activate(M),activate(N))
,isNat#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
11: U63#(tt(),M,N) -> c_18(U64#(isNatKind(activate(N)),activate(M),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
12: isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
13: isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
14: U52#(tt(),N) -> c_15(activate#(N))
15: U64#(tt(),M,N) -> c_19(activate#(N),activate#(M))
**** Step 1.b:8.a:1.a:3: RemoveWeakSuffixes WORST_CASE(?,O(n^1))
+ Considered Problem:
- Strict DPs:
U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2))
,isNat#(activate(V1))
,activate#(V1)
,activate#(V2))
U15#(tt(),V2) -> c_6(isNat#(activate(V2)),activate#(V2))
U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
U22#(tt(),V1) -> c_9(isNat#(activate(V1)),activate#(V1))
U61#(tt(),M,N) -> c_16(U62#(isNatKind(activate(M)),activate(M),activate(N))
,isNatKind#(activate(M))
,activate#(M)
,activate#(M)
,activate#(N))
U62#(tt(),M,N) -> c_17(U63#(isNat(activate(N)),activate(M),activate(N))
,isNat#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
- Weak DPs:
U51#(tt(),N) -> c_14(U52#(isNatKind(activate(N)),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(N))
U52#(tt(),N) -> c_15(activate#(N))
U63#(tt(),M,N) -> c_18(U64#(isNatKind(activate(N)),activate(M),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
U64#(tt(),M,N) -> c_19(activate#(N),activate#(M))
- Weak TRS:
0() -> n__0()
U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2))
U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2))
U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2))
U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2))
U15(tt(),V2) -> U16(isNat(activate(V2)))
U16(tt()) -> tt()
U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1))
U22(tt(),V1) -> U23(isNat(activate(V1)))
U23(tt()) -> tt()
U31(tt(),V2) -> U32(isNatKind(activate(V2)))
U32(tt()) -> tt()
U41(tt()) -> tt()
activate(X) -> X
activate(n__0()) -> 0()
activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2))
activate(n__s(X)) -> s(activate(X))
isNat(n__0()) -> tt()
isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2))
isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1))
isNatKind(n__0()) -> tt()
isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2))
isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1)))
plus(X1,X2) -> n__plus(X1,X2)
s(X) -> n__s(X)
- Signature:
{0/0,U11/3,U12/3,U13/3,U14/3,U15/2,U16/1,U21/2,U22/2,U23/1,U31/2,U32/1,U41/1,U51/2,U52/2,U61/3,U62/3,U63/3
,U64/3,activate/1,isNat/1,isNatKind/1,plus/2,s/1,0#/0,U11#/3,U12#/3,U13#/3,U14#/3,U15#/2,U16#/1,U21#/2
,U22#/2,U23#/1,U31#/2,U32#/1,U41#/1,U51#/2,U52#/2,U61#/3,U62#/3,U63#/3,U64#/3,activate#/1,isNat#/1
,isNatKind#/1,plus#/2,s#/1} / {n__0/0,n__plus/2,n__s/1,tt/0,c_1/0,c_2/5,c_3/5,c_4/5,c_5/4,c_6/2,c_7/0,c_8/4
,c_9/2,c_10/0,c_11/2,c_12/0,c_13/0,c_14/4,c_15/1,c_16/5,c_17/5,c_18/5,c_19/2,c_20/0,c_21/1,c_22/2,c_23/1
,c_24/0,c_25/5,c_26/4,c_27/0,c_28/4,c_29/2,c_30/0,c_31/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {0#,U11#,U12#,U13#,U14#,U15#,U16#,U21#,U22#,U23#,U31#,U32#
,U41#,U51#,U52#,U61#,U62#,U63#,U64#,activate#,isNat#,isNatKind#,plus#,s#} and constructors {n__0,n__plus
,n__s,tt}
+ Applied Processor:
RemoveWeakSuffixes
+ Details:
Consider the dependency graph
1:S:U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
-->_1 U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2)):2
2:S:U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
-->_1 U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2)):3
3:S:U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
-->_1 U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2))
,isNat#(activate(V1))
,activate#(V1)
,activate#(V2)):4
4:S:U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2))
,isNat#(activate(V1))
,activate#(V1)
,activate#(V2))
-->_2 isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)):11
-->_2 isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2)):10
-->_1 U15#(tt(),V2) -> c_6(isNat#(activate(V2)),activate#(V2)):5
5:S:U15#(tt(),V2) -> c_6(isNat#(activate(V2)),activate#(V2))
-->_1 isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)):11
-->_1 isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2)):10
6:S:U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
-->_1 U22#(tt(),V1) -> c_9(isNat#(activate(V1)),activate#(V1)):7
7:S:U22#(tt(),V1) -> c_9(isNat#(activate(V1)),activate#(V1))
-->_1 isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)):11
-->_1 isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2)):10
8:S:U61#(tt(),M,N) -> c_16(U62#(isNatKind(activate(M)),activate(M),activate(N))
,isNatKind#(activate(M))
,activate#(M)
,activate#(M)
,activate#(N))
-->_1 U62#(tt(),M,N) -> c_17(U63#(isNat(activate(N)),activate(M),activate(N))
,isNat#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N)):9
9:S:U62#(tt(),M,N) -> c_17(U63#(isNat(activate(N)),activate(M),activate(N))
,isNat#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
-->_1 U63#(tt(),M,N) -> c_18(U64#(isNatKind(activate(N)),activate(M),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N)):14
-->_2 isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)):11
-->_2 isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2)):10
10:S:isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
-->_1 U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2)):1
11:S:isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
-->_1 U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)):6
12:W:U51#(tt(),N) -> c_14(U52#(isNatKind(activate(N)),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(N))
-->_1 U52#(tt(),N) -> c_15(activate#(N)):13
13:W:U52#(tt(),N) -> c_15(activate#(N))
14:W:U63#(tt(),M,N) -> c_18(U64#(isNatKind(activate(N)),activate(M),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
-->_1 U64#(tt(),M,N) -> c_19(activate#(N),activate#(M)):15
15:W:U64#(tt(),M,N) -> c_19(activate#(N),activate#(M))
The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
12: U51#(tt(),N) -> c_14(U52#(isNatKind(activate(N)),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(N))
13: U52#(tt(),N) -> c_15(activate#(N))
14: U63#(tt(),M,N) -> c_18(U64#(isNatKind(activate(N)),activate(M),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
15: U64#(tt(),M,N) -> c_19(activate#(N),activate#(M))
**** Step 1.b:8.a:1.a:4: SimplifyRHS WORST_CASE(?,O(n^1))
+ Considered Problem:
- Strict DPs:
U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2))
,isNat#(activate(V1))
,activate#(V1)
,activate#(V2))
U15#(tt(),V2) -> c_6(isNat#(activate(V2)),activate#(V2))
U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
U22#(tt(),V1) -> c_9(isNat#(activate(V1)),activate#(V1))
U61#(tt(),M,N) -> c_16(U62#(isNatKind(activate(M)),activate(M),activate(N))
,isNatKind#(activate(M))
,activate#(M)
,activate#(M)
,activate#(N))
U62#(tt(),M,N) -> c_17(U63#(isNat(activate(N)),activate(M),activate(N))
,isNat#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
- Weak TRS:
0() -> n__0()
U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2))
U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2))
U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2))
U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2))
U15(tt(),V2) -> U16(isNat(activate(V2)))
U16(tt()) -> tt()
U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1))
U22(tt(),V1) -> U23(isNat(activate(V1)))
U23(tt()) -> tt()
U31(tt(),V2) -> U32(isNatKind(activate(V2)))
U32(tt()) -> tt()
U41(tt()) -> tt()
activate(X) -> X
activate(n__0()) -> 0()
activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2))
activate(n__s(X)) -> s(activate(X))
isNat(n__0()) -> tt()
isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2))
isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1))
isNatKind(n__0()) -> tt()
isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2))
isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1)))
plus(X1,X2) -> n__plus(X1,X2)
s(X) -> n__s(X)
- Signature:
{0/0,U11/3,U12/3,U13/3,U14/3,U15/2,U16/1,U21/2,U22/2,U23/1,U31/2,U32/1,U41/1,U51/2,U52/2,U61/3,U62/3,U63/3
,U64/3,activate/1,isNat/1,isNatKind/1,plus/2,s/1,0#/0,U11#/3,U12#/3,U13#/3,U14#/3,U15#/2,U16#/1,U21#/2
,U22#/2,U23#/1,U31#/2,U32#/1,U41#/1,U51#/2,U52#/2,U61#/3,U62#/3,U63#/3,U64#/3,activate#/1,isNat#/1
,isNatKind#/1,plus#/2,s#/1} / {n__0/0,n__plus/2,n__s/1,tt/0,c_1/0,c_2/5,c_3/5,c_4/5,c_5/4,c_6/2,c_7/0,c_8/4
,c_9/2,c_10/0,c_11/2,c_12/0,c_13/0,c_14/4,c_15/1,c_16/5,c_17/5,c_18/5,c_19/2,c_20/0,c_21/1,c_22/2,c_23/1
,c_24/0,c_25/5,c_26/4,c_27/0,c_28/4,c_29/2,c_30/0,c_31/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {0#,U11#,U12#,U13#,U14#,U15#,U16#,U21#,U22#,U23#,U31#,U32#
,U41#,U51#,U52#,U61#,U62#,U63#,U64#,activate#,isNat#,isNatKind#,plus#,s#} and constructors {n__0,n__plus
,n__s,tt}
+ Applied Processor:
SimplifyRHS
+ Details:
Consider the dependency graph
1:S:U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
-->_1 U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2)):2
2:S:U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
-->_1 U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2)):3
3:S:U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
-->_1 U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2))
,isNat#(activate(V1))
,activate#(V1)
,activate#(V2)):4
4:S:U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2))
,isNat#(activate(V1))
,activate#(V1)
,activate#(V2))
-->_2 isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)):11
-->_2 isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2)):10
-->_1 U15#(tt(),V2) -> c_6(isNat#(activate(V2)),activate#(V2)):5
5:S:U15#(tt(),V2) -> c_6(isNat#(activate(V2)),activate#(V2))
-->_1 isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)):11
-->_1 isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2)):10
6:S:U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
-->_1 U22#(tt(),V1) -> c_9(isNat#(activate(V1)),activate#(V1)):7
7:S:U22#(tt(),V1) -> c_9(isNat#(activate(V1)),activate#(V1))
-->_1 isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)):11
-->_1 isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2)):10
8:S:U61#(tt(),M,N) -> c_16(U62#(isNatKind(activate(M)),activate(M),activate(N))
,isNatKind#(activate(M))
,activate#(M)
,activate#(M)
,activate#(N))
-->_1 U62#(tt(),M,N) -> c_17(U63#(isNat(activate(N)),activate(M),activate(N))
,isNat#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N)):9
9:S:U62#(tt(),M,N) -> c_17(U63#(isNat(activate(N)),activate(M),activate(N))
,isNat#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
-->_2 isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)):11
-->_2 isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2)):10
10:S:isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
-->_1 U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2)):1
11:S:isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
-->_1 U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)):6
Due to missing edges in the depndency graph, the right-hand sides of following rules could be simplified:
U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2)))
U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2)))
U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2)))
U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2)),isNat#(activate(V1)))
U15#(tt(),V2) -> c_6(isNat#(activate(V2)))
U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1)))
U22#(tt(),V1) -> c_9(isNat#(activate(V1)))
U61#(tt(),M,N) -> c_16(U62#(isNatKind(activate(M)),activate(M),activate(N)))
U62#(tt(),M,N) -> c_17(isNat#(activate(N)))
isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2)))
isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1)))
**** Step 1.b:8.a:1.a:5: PredecessorEstimationCP WORST_CASE(?,O(n^1))
+ Considered Problem:
- Strict DPs:
U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2)))
U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2)))
U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2)))
U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2)),isNat#(activate(V1)))
U15#(tt(),V2) -> c_6(isNat#(activate(V2)))
U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1)))
U22#(tt(),V1) -> c_9(isNat#(activate(V1)))
U61#(tt(),M,N) -> c_16(U62#(isNatKind(activate(M)),activate(M),activate(N)))
U62#(tt(),M,N) -> c_17(isNat#(activate(N)))
isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2)))
isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1)))
- Weak TRS:
0() -> n__0()
U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2))
U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2))
U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2))
U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2))
U15(tt(),V2) -> U16(isNat(activate(V2)))
U16(tt()) -> tt()
U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1))
U22(tt(),V1) -> U23(isNat(activate(V1)))
U23(tt()) -> tt()
U31(tt(),V2) -> U32(isNatKind(activate(V2)))
U32(tt()) -> tt()
U41(tt()) -> tt()
activate(X) -> X
activate(n__0()) -> 0()
activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2))
activate(n__s(X)) -> s(activate(X))
isNat(n__0()) -> tt()
isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2))
isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1))
isNatKind(n__0()) -> tt()
isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2))
isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1)))
plus(X1,X2) -> n__plus(X1,X2)
s(X) -> n__s(X)
- Signature:
{0/0,U11/3,U12/3,U13/3,U14/3,U15/2,U16/1,U21/2,U22/2,U23/1,U31/2,U32/1,U41/1,U51/2,U52/2,U61/3,U62/3,U63/3
,U64/3,activate/1,isNat/1,isNatKind/1,plus/2,s/1,0#/0,U11#/3,U12#/3,U13#/3,U14#/3,U15#/2,U16#/1,U21#/2
,U22#/2,U23#/1,U31#/2,U32#/1,U41#/1,U51#/2,U52#/2,U61#/3,U62#/3,U63#/3,U64#/3,activate#/1,isNat#/1
,isNatKind#/1,plus#/2,s#/1} / {n__0/0,n__plus/2,n__s/1,tt/0,c_1/0,c_2/1,c_3/1,c_4/1,c_5/2,c_6/1,c_7/0,c_8/1
,c_9/1,c_10/0,c_11/2,c_12/0,c_13/0,c_14/4,c_15/1,c_16/1,c_17/1,c_18/5,c_19/2,c_20/0,c_21/1,c_22/2,c_23/1
,c_24/0,c_25/1,c_26/1,c_27/0,c_28/4,c_29/2,c_30/0,c_31/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {0#,U11#,U12#,U13#,U14#,U15#,U16#,U21#,U22#,U23#,U31#,U32#
,U41#,U51#,U52#,U61#,U62#,U63#,U64#,activate#,isNat#,isNatKind#,plus#,s#} and constructors {n__0,n__plus
,n__s,tt}
+ Applied Processor:
PredecessorEstimationCP {onSelectionCP = any intersect of rules of CDG leaf and strict-rules, withComplexityPair = NaturalMI {miDimension = 2, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing}}
+ Details:
We first use the processor NaturalMI {miDimension = 2, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing} to orient following rules strictly:
4: U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2)),isNat#(activate(V1)))
6: U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1)))
9: U62#(tt(),M,N) -> c_17(isNat#(activate(N)))
Consider the set of all dependency pairs
1: U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2)))
2: U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2)))
3: U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2)))
4: U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2)),isNat#(activate(V1)))
5: U15#(tt(),V2) -> c_6(isNat#(activate(V2)))
6: U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1)))
7: U22#(tt(),V1) -> c_9(isNat#(activate(V1)))
8: U61#(tt(),M,N) -> c_16(U62#(isNatKind(activate(M)),activate(M),activate(N)))
9: U62#(tt(),M,N) -> c_17(isNat#(activate(N)))
10: isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2)))
11: isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1)))
Processor NaturalMI {miDimension = 2, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing}induces the complexity certificateTIME (?,O(n^1))
SPACE(?,?)on application of the dependency pairs
{4,6,9}
These cover all (indirect) predecessors of dependency pairs
{1,2,3,4,5,6,7,8,9,10,11}
their number of applications is equally bounded.
The dependency pairs are shifted into the weak component.
***** Step 1.b:8.a:1.a:5.a:1: NaturalMI WORST_CASE(?,O(n^1))
+ Considered Problem:
- Strict DPs:
U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2)))
U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2)))
U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2)))
U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2)),isNat#(activate(V1)))
U15#(tt(),V2) -> c_6(isNat#(activate(V2)))
U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1)))
U22#(tt(),V1) -> c_9(isNat#(activate(V1)))
U61#(tt(),M,N) -> c_16(U62#(isNatKind(activate(M)),activate(M),activate(N)))
U62#(tt(),M,N) -> c_17(isNat#(activate(N)))
isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2)))
isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1)))
- Weak TRS:
0() -> n__0()
U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2))
U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2))
U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2))
U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2))
U15(tt(),V2) -> U16(isNat(activate(V2)))
U16(tt()) -> tt()
U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1))
U22(tt(),V1) -> U23(isNat(activate(V1)))
U23(tt()) -> tt()
U31(tt(),V2) -> U32(isNatKind(activate(V2)))
U32(tt()) -> tt()
U41(tt()) -> tt()
activate(X) -> X
activate(n__0()) -> 0()
activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2))
activate(n__s(X)) -> s(activate(X))
isNat(n__0()) -> tt()
isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2))
isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1))
isNatKind(n__0()) -> tt()
isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2))
isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1)))
plus(X1,X2) -> n__plus(X1,X2)
s(X) -> n__s(X)
- Signature:
{0/0,U11/3,U12/3,U13/3,U14/3,U15/2,U16/1,U21/2,U22/2,U23/1,U31/2,U32/1,U41/1,U51/2,U52/2,U61/3,U62/3,U63/3
,U64/3,activate/1,isNat/1,isNatKind/1,plus/2,s/1,0#/0,U11#/3,U12#/3,U13#/3,U14#/3,U15#/2,U16#/1,U21#/2
,U22#/2,U23#/1,U31#/2,U32#/1,U41#/1,U51#/2,U52#/2,U61#/3,U62#/3,U63#/3,U64#/3,activate#/1,isNat#/1
,isNatKind#/1,plus#/2,s#/1} / {n__0/0,n__plus/2,n__s/1,tt/0,c_1/0,c_2/1,c_3/1,c_4/1,c_5/2,c_6/1,c_7/0,c_8/1
,c_9/1,c_10/0,c_11/2,c_12/0,c_13/0,c_14/4,c_15/1,c_16/1,c_17/1,c_18/5,c_19/2,c_20/0,c_21/1,c_22/2,c_23/1
,c_24/0,c_25/1,c_26/1,c_27/0,c_28/4,c_29/2,c_30/0,c_31/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {0#,U11#,U12#,U13#,U14#,U15#,U16#,U21#,U22#,U23#,U31#,U32#
,U41#,U51#,U52#,U61#,U62#,U63#,U64#,activate#,isNat#,isNatKind#,plus#,s#} and constructors {n__0,n__plus
,n__s,tt}
+ Applied Processor:
NaturalMI {miDimension = 2, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just first alternative for predecessorEstimation on any intersect of rules of CDG leaf and strict-rules}
+ Details:
We apply a matrix interpretation of kind constructor based matrix interpretation (containing no more than 1 non-zero interpretation-entries in the diagonal of the component-wise maxima):
The following argument positions are considered usable:
uargs(c_2) = {1},
uargs(c_3) = {1},
uargs(c_4) = {1},
uargs(c_5) = {1,2},
uargs(c_6) = {1},
uargs(c_8) = {1},
uargs(c_9) = {1},
uargs(c_16) = {1},
uargs(c_17) = {1},
uargs(c_25) = {1},
uargs(c_26) = {1}
Following symbols are considered usable:
{0,U31,U32,U41,activate,isNatKind,plus,s,0#,U11#,U12#,U13#,U14#,U15#,U16#,U21#,U22#,U23#,U31#,U32#,U41#
,U51#,U52#,U61#,U62#,U63#,U64#,activate#,isNat#,isNatKind#,plus#,s#}
TcT has computed the following interpretation:
p(0) = [0]
[0]
p(U11) = [0]
[0]
p(U12) = [0 1] x3 + [0]
[0 0] [0]
p(U13) = [0 1] x1 + [0]
[0 1] [0]
p(U14) = [1 0] x1 + [0 0] x2 + [0 0] x3 + [0]
[0 0] [0 1] [0 1] [0]
p(U15) = [0]
[0]
p(U16) = [1]
[0]
p(U21) = [0 0] x1 + [0]
[0 1] [1]
p(U22) = [1 0] x1 + [0]
[1 0] [0]
p(U23) = [0]
[1]
p(U31) = [0 0] x1 + [0]
[0 1] [0]
p(U32) = [0 0] x1 + [0]
[0 1] [0]
p(U41) = [1]
[1]
p(U51) = [0]
[0]
p(U52) = [0]
[0]
p(U61) = [0]
[0]
p(U62) = [0]
[0]
p(U63) = [0]
[0]
p(U64) = [0]
[0]
p(activate) = [1 0] x1 + [0]
[0 1] [0]
p(isNat) = [0]
[1]
p(isNatKind) = [1 0] x1 + [0]
[0 0] [1]
p(n__0) = [0]
[0]
p(n__plus) = [0 0] x1 + [0 0] x2 + [1]
[0 1] [0 1] [1]
p(n__s) = [0 0] x1 + [1]
[0 1] [1]
p(plus) = [0 0] x1 + [0 0] x2 + [1]
[0 1] [0 1] [1]
p(s) = [0 0] x1 + [1]
[0 1] [1]
p(tt) = [0]
[1]
p(0#) = [0]
[0]
p(U11#) = [0 1] x1 + [0 1] x2 + [0 1] x3 + [0]
[0 0] [0 0] [0 0] [0]
p(U12#) = [0 1] x2 + [0 1] x3 + [1]
[0 0] [0 0] [1]
p(U13#) = [0 1] x1 + [0 1] x2 + [0 1] x3 + [0]
[0 0] [0 0] [0 0] [1]
p(U14#) = [0 0] x1 + [0 1] x2 + [0 1] x3 + [1]
[0 1] [0 0] [0 0] [1]
p(U15#) = [0 1] x2 + [0]
[0 0] [1]
p(U16#) = [0]
[0]
p(U21#) = [0 1] x2 + [1]
[0 0] [0]
p(U22#) = [0 1] x2 + [0]
[0 0] [1]
p(U23#) = [0]
[0]
p(U31#) = [0]
[0]
p(U32#) = [0]
[0]
p(U41#) = [0]
[0]
p(U51#) = [0]
[0]
p(U52#) = [0]
[0]
p(U61#) = [0 1] x3 + [1]
[0 0] [1]
p(U62#) = [0 0] x2 + [0 1] x3 + [1]
[1 0] [1 1] [0]
p(U63#) = [0]
[0]
p(U64#) = [0]
[0]
p(activate#) = [0]
[0]
p(isNat#) = [0 1] x1 + [0]
[0 0] [0]
p(isNatKind#) = [0]
[0]
p(plus#) = [0]
[0]
p(s#) = [0]
[0]
p(c_1) = [0]
[0]
p(c_2) = [1 0] x1 + [0]
[0 0] [0]
p(c_3) = [1 0] x1 + [0]
[0 0] [1]
p(c_4) = [1 0] x1 + [0]
[0 0] [0]
p(c_5) = [1 0] x1 + [1 0] x2 + [0]
[0 0] [0 0] [0]
p(c_6) = [1 0] x1 + [0]
[0 0] [1]
p(c_7) = [0]
[0]
p(c_8) = [1 0] x1 + [0]
[0 0] [0]
p(c_9) = [1 0] x1 + [0]
[0 0] [0]
p(c_10) = [0]
[0]
p(c_11) = [0]
[0]
p(c_12) = [0]
[0]
p(c_13) = [0]
[0]
p(c_14) = [0]
[0]
p(c_15) = [0]
[0]
p(c_16) = [1 0] x1 + [0]
[0 0] [0]
p(c_17) = [1 0] x1 + [0]
[0 0] [0]
p(c_18) = [0]
[0]
p(c_19) = [0]
[0]
p(c_20) = [0]
[0]
p(c_21) = [0]
[0]
p(c_22) = [0]
[0]
p(c_23) = [0]
[0]
p(c_24) = [0]
[0]
p(c_25) = [1 0] x1 + [0]
[0 0] [0]
p(c_26) = [1 0] x1 + [0]
[0 0] [0]
p(c_27) = [0]
[0]
p(c_28) = [0]
[0]
p(c_29) = [0]
[0]
p(c_30) = [0]
[0]
p(c_31) = [0]
[0]
Following rules are strictly oriented:
U14#(tt(),V1,V2) = [0 1] V1 + [0 1] V2 + [1]
[0 0] [0 0] [2]
> [0 1] V1 + [0 1] V2 + [0]
[0 0] [0 0] [0]
= c_5(U15#(isNat(activate(V1)),activate(V2)),isNat#(activate(V1)))
U21#(tt(),V1) = [0 1] V1 + [1]
[0 0] [0]
> [0 1] V1 + [0]
[0 0] [0]
= c_8(U22#(isNatKind(activate(V1)),activate(V1)))
U62#(tt(),M,N) = [0 0] M + [0 1] N + [1]
[1 0] [1 1] [0]
> [0 1] N + [0]
[0 0] [0]
= c_17(isNat#(activate(N)))
Following rules are (at-least) weakly oriented:
U11#(tt(),V1,V2) = [0 1] V1 + [0 1] V2 + [1]
[0 0] [0 0] [0]
>= [0 1] V1 + [0 1] V2 + [1]
[0 0] [0 0] [0]
= c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2)))
U12#(tt(),V1,V2) = [0 1] V1 + [0 1] V2 + [1]
[0 0] [0 0] [1]
>= [0 1] V1 + [0 1] V2 + [1]
[0 0] [0 0] [1]
= c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2)))
U13#(tt(),V1,V2) = [0 1] V1 + [0 1] V2 + [1]
[0 0] [0 0] [1]
>= [0 1] V1 + [0 1] V2 + [1]
[0 0] [0 0] [0]
= c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2)))
U15#(tt(),V2) = [0 1] V2 + [0]
[0 0] [1]
>= [0 1] V2 + [0]
[0 0] [1]
= c_6(isNat#(activate(V2)))
U22#(tt(),V1) = [0 1] V1 + [0]
[0 0] [1]
>= [0 1] V1 + [0]
[0 0] [0]
= c_9(isNat#(activate(V1)))
U61#(tt(),M,N) = [0 1] N + [1]
[0 0] [1]
>= [0 1] N + [1]
[0 0] [0]
= c_16(U62#(isNatKind(activate(M)),activate(M),activate(N)))
isNat#(n__plus(V1,V2)) = [0 1] V1 + [0 1] V2 + [1]
[0 0] [0 0] [0]
>= [0 1] V1 + [0 1] V2 + [1]
[0 0] [0 0] [0]
= c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2)))
isNat#(n__s(V1)) = [0 1] V1 + [1]
[0 0] [0]
>= [0 1] V1 + [1]
[0 0] [0]
= c_26(U21#(isNatKind(activate(V1)),activate(V1)))
0() = [0]
[0]
>= [0]
[0]
= n__0()
U31(tt(),V2) = [0]
[1]
>= [0]
[1]
= U32(isNatKind(activate(V2)))
U32(tt()) = [0]
[1]
>= [0]
[1]
= tt()
U41(tt()) = [1]
[1]
>= [0]
[1]
= tt()
activate(X) = [1 0] X + [0]
[0 1] [0]
>= [1 0] X + [0]
[0 1] [0]
= X
activate(n__0()) = [0]
[0]
>= [0]
[0]
= 0()
activate(n__plus(X1,X2)) = [0 0] X1 + [0 0] X2 + [1]
[0 1] [0 1] [1]
>= [0 0] X1 + [0 0] X2 + [1]
[0 1] [0 1] [1]
= plus(activate(X1),activate(X2))
activate(n__s(X)) = [0 0] X + [1]
[0 1] [1]
>= [0 0] X + [1]
[0 1] [1]
= s(activate(X))
isNatKind(n__0()) = [0]
[1]
>= [0]
[1]
= tt()
isNatKind(n__plus(V1,V2)) = [1]
[1]
>= [0]
[1]
= U31(isNatKind(activate(V1)),activate(V2))
isNatKind(n__s(V1)) = [1]
[1]
>= [1]
[1]
= U41(isNatKind(activate(V1)))
plus(X1,X2) = [0 0] X1 + [0 0] X2 + [1]
[0 1] [0 1] [1]
>= [0 0] X1 + [0 0] X2 + [1]
[0 1] [0 1] [1]
= n__plus(X1,X2)
s(X) = [0 0] X + [1]
[0 1] [1]
>= [0 0] X + [1]
[0 1] [1]
= n__s(X)
***** Step 1.b:8.a:1.a:5.a:2: Assumption WORST_CASE(?,O(1))
+ Considered Problem:
- Strict DPs:
U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2)))
U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2)))
U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2)))
U15#(tt(),V2) -> c_6(isNat#(activate(V2)))
U22#(tt(),V1) -> c_9(isNat#(activate(V1)))
U61#(tt(),M,N) -> c_16(U62#(isNatKind(activate(M)),activate(M),activate(N)))
isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2)))
isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1)))
- Weak DPs:
U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2)),isNat#(activate(V1)))
U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1)))
U62#(tt(),M,N) -> c_17(isNat#(activate(N)))
- Weak TRS:
0() -> n__0()
U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2))
U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2))
U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2))
U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2))
U15(tt(),V2) -> U16(isNat(activate(V2)))
U16(tt()) -> tt()
U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1))
U22(tt(),V1) -> U23(isNat(activate(V1)))
U23(tt()) -> tt()
U31(tt(),V2) -> U32(isNatKind(activate(V2)))
U32(tt()) -> tt()
U41(tt()) -> tt()
activate(X) -> X
activate(n__0()) -> 0()
activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2))
activate(n__s(X)) -> s(activate(X))
isNat(n__0()) -> tt()
isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2))
isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1))
isNatKind(n__0()) -> tt()
isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2))
isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1)))
plus(X1,X2) -> n__plus(X1,X2)
s(X) -> n__s(X)
- Signature:
{0/0,U11/3,U12/3,U13/3,U14/3,U15/2,U16/1,U21/2,U22/2,U23/1,U31/2,U32/1,U41/1,U51/2,U52/2,U61/3,U62/3,U63/3
,U64/3,activate/1,isNat/1,isNatKind/1,plus/2,s/1,0#/0,U11#/3,U12#/3,U13#/3,U14#/3,U15#/2,U16#/1,U21#/2
,U22#/2,U23#/1,U31#/2,U32#/1,U41#/1,U51#/2,U52#/2,U61#/3,U62#/3,U63#/3,U64#/3,activate#/1,isNat#/1
,isNatKind#/1,plus#/2,s#/1} / {n__0/0,n__plus/2,n__s/1,tt/0,c_1/0,c_2/1,c_3/1,c_4/1,c_5/2,c_6/1,c_7/0,c_8/1
,c_9/1,c_10/0,c_11/2,c_12/0,c_13/0,c_14/4,c_15/1,c_16/1,c_17/1,c_18/5,c_19/2,c_20/0,c_21/1,c_22/2,c_23/1
,c_24/0,c_25/1,c_26/1,c_27/0,c_28/4,c_29/2,c_30/0,c_31/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {0#,U11#,U12#,U13#,U14#,U15#,U16#,U21#,U22#,U23#,U31#,U32#
,U41#,U51#,U52#,U61#,U62#,U63#,U64#,activate#,isNat#,isNatKind#,plus#,s#} and constructors {n__0,n__plus
,n__s,tt}
+ Applied Processor:
Assumption {assumed = Certificate {spaceUB = Unknown, spaceLB = Unknown, timeUB = Poly (Just 0), timeLB = Unknown}}
+ Details:
()
***** Step 1.b:8.a:1.a:5.b:1: RemoveWeakSuffixes WORST_CASE(?,O(1))
+ Considered Problem:
- Weak DPs:
U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2)))
U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2)))
U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2)))
U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2)),isNat#(activate(V1)))
U15#(tt(),V2) -> c_6(isNat#(activate(V2)))
U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1)))
U22#(tt(),V1) -> c_9(isNat#(activate(V1)))
U61#(tt(),M,N) -> c_16(U62#(isNatKind(activate(M)),activate(M),activate(N)))
U62#(tt(),M,N) -> c_17(isNat#(activate(N)))
isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2)))
isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1)))
- Weak TRS:
0() -> n__0()
U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2))
U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2))
U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2))
U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2))
U15(tt(),V2) -> U16(isNat(activate(V2)))
U16(tt()) -> tt()
U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1))
U22(tt(),V1) -> U23(isNat(activate(V1)))
U23(tt()) -> tt()
U31(tt(),V2) -> U32(isNatKind(activate(V2)))
U32(tt()) -> tt()
U41(tt()) -> tt()
activate(X) -> X
activate(n__0()) -> 0()
activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2))
activate(n__s(X)) -> s(activate(X))
isNat(n__0()) -> tt()
isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2))
isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1))
isNatKind(n__0()) -> tt()
isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2))
isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1)))
plus(X1,X2) -> n__plus(X1,X2)
s(X) -> n__s(X)
- Signature:
{0/0,U11/3,U12/3,U13/3,U14/3,U15/2,U16/1,U21/2,U22/2,U23/1,U31/2,U32/1,U41/1,U51/2,U52/2,U61/3,U62/3,U63/3
,U64/3,activate/1,isNat/1,isNatKind/1,plus/2,s/1,0#/0,U11#/3,U12#/3,U13#/3,U14#/3,U15#/2,U16#/1,U21#/2
,U22#/2,U23#/1,U31#/2,U32#/1,U41#/1,U51#/2,U52#/2,U61#/3,U62#/3,U63#/3,U64#/3,activate#/1,isNat#/1
,isNatKind#/1,plus#/2,s#/1} / {n__0/0,n__plus/2,n__s/1,tt/0,c_1/0,c_2/1,c_3/1,c_4/1,c_5/2,c_6/1,c_7/0,c_8/1
,c_9/1,c_10/0,c_11/2,c_12/0,c_13/0,c_14/4,c_15/1,c_16/1,c_17/1,c_18/5,c_19/2,c_20/0,c_21/1,c_22/2,c_23/1
,c_24/0,c_25/1,c_26/1,c_27/0,c_28/4,c_29/2,c_30/0,c_31/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {0#,U11#,U12#,U13#,U14#,U15#,U16#,U21#,U22#,U23#,U31#,U32#
,U41#,U51#,U52#,U61#,U62#,U63#,U64#,activate#,isNat#,isNatKind#,plus#,s#} and constructors {n__0,n__plus
,n__s,tt}
+ Applied Processor:
RemoveWeakSuffixes
+ Details:
Consider the dependency graph
1:W:U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2)))
-->_1 U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2))):2
2:W:U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2)))
-->_1 U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2))):3
3:W:U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2)))
-->_1 U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2)),isNat#(activate(V1))):4
4:W:U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2)),isNat#(activate(V1)))
-->_2 isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))):11
-->_2 isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))):10
-->_1 U15#(tt(),V2) -> c_6(isNat#(activate(V2))):5
5:W:U15#(tt(),V2) -> c_6(isNat#(activate(V2)))
-->_1 isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))):11
-->_1 isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))):10
6:W:U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1)))
-->_1 U22#(tt(),V1) -> c_9(isNat#(activate(V1))):7
7:W:U22#(tt(),V1) -> c_9(isNat#(activate(V1)))
-->_1 isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))):11
-->_1 isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))):10
8:W:U61#(tt(),M,N) -> c_16(U62#(isNatKind(activate(M)),activate(M),activate(N)))
-->_1 U62#(tt(),M,N) -> c_17(isNat#(activate(N))):9
9:W:U62#(tt(),M,N) -> c_17(isNat#(activate(N)))
-->_1 isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))):11
-->_1 isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))):10
10:W:isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2)))
-->_1 U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2))):1
11:W:isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1)))
-->_1 U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1))):6
The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
8: U61#(tt(),M,N) -> c_16(U62#(isNatKind(activate(M)),activate(M),activate(N)))
9: U62#(tt(),M,N) -> c_17(isNat#(activate(N)))
1: U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2)))
10: isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2)))
7: U22#(tt(),V1) -> c_9(isNat#(activate(V1)))
6: U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1)))
11: isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1)))
5: U15#(tt(),V2) -> c_6(isNat#(activate(V2)))
4: U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2)),isNat#(activate(V1)))
3: U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2)))
2: U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2)))
***** Step 1.b:8.a:1.a:5.b:2: EmptyProcessor WORST_CASE(?,O(1))
+ Considered Problem:
- Weak TRS:
0() -> n__0()
U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2))
U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2))
U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2))
U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2))
U15(tt(),V2) -> U16(isNat(activate(V2)))
U16(tt()) -> tt()
U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1))
U22(tt(),V1) -> U23(isNat(activate(V1)))
U23(tt()) -> tt()
U31(tt(),V2) -> U32(isNatKind(activate(V2)))
U32(tt()) -> tt()
U41(tt()) -> tt()
activate(X) -> X
activate(n__0()) -> 0()
activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2))
activate(n__s(X)) -> s(activate(X))
isNat(n__0()) -> tt()
isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2))
isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1))
isNatKind(n__0()) -> tt()
isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2))
isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1)))
plus(X1,X2) -> n__plus(X1,X2)
s(X) -> n__s(X)
- Signature:
{0/0,U11/3,U12/3,U13/3,U14/3,U15/2,U16/1,U21/2,U22/2,U23/1,U31/2,U32/1,U41/1,U51/2,U52/2,U61/3,U62/3,U63/3
,U64/3,activate/1,isNat/1,isNatKind/1,plus/2,s/1,0#/0,U11#/3,U12#/3,U13#/3,U14#/3,U15#/2,U16#/1,U21#/2
,U22#/2,U23#/1,U31#/2,U32#/1,U41#/1,U51#/2,U52#/2,U61#/3,U62#/3,U63#/3,U64#/3,activate#/1,isNat#/1
,isNatKind#/1,plus#/2,s#/1} / {n__0/0,n__plus/2,n__s/1,tt/0,c_1/0,c_2/1,c_3/1,c_4/1,c_5/2,c_6/1,c_7/0,c_8/1
,c_9/1,c_10/0,c_11/2,c_12/0,c_13/0,c_14/4,c_15/1,c_16/1,c_17/1,c_18/5,c_19/2,c_20/0,c_21/1,c_22/2,c_23/1
,c_24/0,c_25/1,c_26/1,c_27/0,c_28/4,c_29/2,c_30/0,c_31/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {0#,U11#,U12#,U13#,U14#,U15#,U16#,U21#,U22#,U23#,U31#,U32#
,U41#,U51#,U52#,U61#,U62#,U63#,U64#,activate#,isNat#,isNatKind#,plus#,s#} and constructors {n__0,n__plus
,n__s,tt}
+ Applied Processor:
EmptyProcessor
+ Details:
The problem is already closed. The intended complexity is O(1).
**** Step 1.b:8.a:1.b:1: PredecessorEstimationCP WORST_CASE(?,O(n^2))
+ Considered Problem:
- Strict DPs:
U31#(tt(),V2) -> c_11(isNatKind#(activate(V2)),activate#(V2))
activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2))
activate#(n__s(X)) -> c_23(activate#(X))
isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2))
isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1))
- Weak DPs:
U11#(tt(),V1,V2) -> U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
U11#(tt(),V1,V2) -> activate#(V1)
U11#(tt(),V1,V2) -> activate#(V2)
U11#(tt(),V1,V2) -> isNatKind#(activate(V1))
U12#(tt(),V1,V2) -> U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
U12#(tt(),V1,V2) -> activate#(V1)
U12#(tt(),V1,V2) -> activate#(V2)
U12#(tt(),V1,V2) -> isNatKind#(activate(V2))
U13#(tt(),V1,V2) -> U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
U13#(tt(),V1,V2) -> activate#(V1)
U13#(tt(),V1,V2) -> activate#(V2)
U13#(tt(),V1,V2) -> isNatKind#(activate(V2))
U14#(tt(),V1,V2) -> U15#(isNat(activate(V1)),activate(V2))
U14#(tt(),V1,V2) -> activate#(V1)
U14#(tt(),V1,V2) -> activate#(V2)
U14#(tt(),V1,V2) -> isNat#(activate(V1))
U15#(tt(),V2) -> activate#(V2)
U15#(tt(),V2) -> isNat#(activate(V2))
U21#(tt(),V1) -> U22#(isNatKind(activate(V1)),activate(V1))
U21#(tt(),V1) -> activate#(V1)
U21#(tt(),V1) -> isNatKind#(activate(V1))
U22#(tt(),V1) -> activate#(V1)
U22#(tt(),V1) -> isNat#(activate(V1))
U51#(tt(),N) -> U52#(isNatKind(activate(N)),activate(N))
U51#(tt(),N) -> activate#(N)
U51#(tt(),N) -> isNatKind#(activate(N))
U52#(tt(),N) -> activate#(N)
U61#(tt(),M,N) -> U62#(isNatKind(activate(M)),activate(M),activate(N))
U61#(tt(),M,N) -> activate#(M)
U61#(tt(),M,N) -> activate#(N)
U61#(tt(),M,N) -> isNatKind#(activate(M))
U62#(tt(),M,N) -> U63#(isNat(activate(N)),activate(M),activate(N))
U62#(tt(),M,N) -> activate#(M)
U62#(tt(),M,N) -> activate#(N)
U62#(tt(),M,N) -> isNat#(activate(N))
U63#(tt(),M,N) -> U64#(isNatKind(activate(N)),activate(M),activate(N))
U63#(tt(),M,N) -> activate#(M)
U63#(tt(),M,N) -> activate#(N)
U63#(tt(),M,N) -> isNatKind#(activate(N))
U64#(tt(),M,N) -> activate#(M)
U64#(tt(),M,N) -> activate#(N)
isNat#(n__plus(V1,V2)) -> U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
isNat#(n__plus(V1,V2)) -> activate#(V1)
isNat#(n__plus(V1,V2)) -> activate#(V2)
isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1))
isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1))
isNat#(n__s(V1)) -> activate#(V1)
isNat#(n__s(V1)) -> isNatKind#(activate(V1))
- Weak TRS:
0() -> n__0()
U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2))
U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2))
U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2))
U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2))
U15(tt(),V2) -> U16(isNat(activate(V2)))
U16(tt()) -> tt()
U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1))
U22(tt(),V1) -> U23(isNat(activate(V1)))
U23(tt()) -> tt()
U31(tt(),V2) -> U32(isNatKind(activate(V2)))
U32(tt()) -> tt()
U41(tt()) -> tt()
activate(X) -> X
activate(n__0()) -> 0()
activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2))
activate(n__s(X)) -> s(activate(X))
isNat(n__0()) -> tt()
isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2))
isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1))
isNatKind(n__0()) -> tt()
isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2))
isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1)))
plus(X1,X2) -> n__plus(X1,X2)
s(X) -> n__s(X)
- Signature:
{0/0,U11/3,U12/3,U13/3,U14/3,U15/2,U16/1,U21/2,U22/2,U23/1,U31/2,U32/1,U41/1,U51/2,U52/2,U61/3,U62/3,U63/3
,U64/3,activate/1,isNat/1,isNatKind/1,plus/2,s/1,0#/0,U11#/3,U12#/3,U13#/3,U14#/3,U15#/2,U16#/1,U21#/2
,U22#/2,U23#/1,U31#/2,U32#/1,U41#/1,U51#/2,U52#/2,U61#/3,U62#/3,U63#/3,U64#/3,activate#/1,isNat#/1
,isNatKind#/1,plus#/2,s#/1} / {n__0/0,n__plus/2,n__s/1,tt/0,c_1/0,c_2/5,c_3/5,c_4/5,c_5/4,c_6/2,c_7/0,c_8/4
,c_9/2,c_10/0,c_11/2,c_12/0,c_13/0,c_14/4,c_15/1,c_16/5,c_17/5,c_18/5,c_19/2,c_20/0,c_21/1,c_22/2,c_23/1
,c_24/0,c_25/5,c_26/4,c_27/0,c_28/4,c_29/2,c_30/0,c_31/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {0#,U11#,U12#,U13#,U14#,U15#,U16#,U21#,U22#,U23#,U31#,U32#
,U41#,U51#,U52#,U61#,U62#,U63#,U64#,activate#,isNat#,isNatKind#,plus#,s#} and constructors {n__0,n__plus
,n__s,tt}
+ Applied Processor:
PredecessorEstimationCP {onSelectionCP = any intersect of rules of CDG leaf and strict-rules, withComplexityPair = NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Nothing}}
+ Details:
We first use the processor NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Nothing} to orient following rules strictly:
2: activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2))
3: activate#(n__s(X)) -> c_23(activate#(X))
4: isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2))
5: isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1))
Consider the set of all dependency pairs
1: U31#(tt(),V2) -> c_11(isNatKind#(activate(V2)),activate#(V2))
2: activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2))
3: activate#(n__s(X)) -> c_23(activate#(X))
4: isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2))
5: isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1))
6: U11#(tt(),V1,V2) -> U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
7: U11#(tt(),V1,V2) -> activate#(V1)
8: U11#(tt(),V1,V2) -> activate#(V2)
9: U11#(tt(),V1,V2) -> isNatKind#(activate(V1))
10: U12#(tt(),V1,V2) -> U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
11: U12#(tt(),V1,V2) -> activate#(V1)
12: U12#(tt(),V1,V2) -> activate#(V2)
13: U12#(tt(),V1,V2) -> isNatKind#(activate(V2))
14: U13#(tt(),V1,V2) -> U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
15: U13#(tt(),V1,V2) -> activate#(V1)
16: U13#(tt(),V1,V2) -> activate#(V2)
17: U13#(tt(),V1,V2) -> isNatKind#(activate(V2))
18: U14#(tt(),V1,V2) -> U15#(isNat(activate(V1)),activate(V2))
19: U14#(tt(),V1,V2) -> activate#(V1)
20: U14#(tt(),V1,V2) -> activate#(V2)
21: U14#(tt(),V1,V2) -> isNat#(activate(V1))
22: U15#(tt(),V2) -> activate#(V2)
23: U15#(tt(),V2) -> isNat#(activate(V2))
24: U21#(tt(),V1) -> U22#(isNatKind(activate(V1)),activate(V1))
25: U21#(tt(),V1) -> activate#(V1)
26: U21#(tt(),V1) -> isNatKind#(activate(V1))
27: U22#(tt(),V1) -> activate#(V1)
28: U22#(tt(),V1) -> isNat#(activate(V1))
29: U51#(tt(),N) -> U52#(isNatKind(activate(N)),activate(N))
30: U51#(tt(),N) -> activate#(N)
31: U51#(tt(),N) -> isNatKind#(activate(N))
32: U52#(tt(),N) -> activate#(N)
33: U61#(tt(),M,N) -> U62#(isNatKind(activate(M)),activate(M),activate(N))
34: U61#(tt(),M,N) -> activate#(M)
35: U61#(tt(),M,N) -> activate#(N)
36: U61#(tt(),M,N) -> isNatKind#(activate(M))
37: U62#(tt(),M,N) -> U63#(isNat(activate(N)),activate(M),activate(N))
38: U62#(tt(),M,N) -> activate#(M)
39: U62#(tt(),M,N) -> activate#(N)
40: U62#(tt(),M,N) -> isNat#(activate(N))
41: U63#(tt(),M,N) -> U64#(isNatKind(activate(N)),activate(M),activate(N))
42: U63#(tt(),M,N) -> activate#(M)
43: U63#(tt(),M,N) -> activate#(N)
44: U63#(tt(),M,N) -> isNatKind#(activate(N))
45: U64#(tt(),M,N) -> activate#(M)
46: U64#(tt(),M,N) -> activate#(N)
47: isNat#(n__plus(V1,V2)) -> U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
48: isNat#(n__plus(V1,V2)) -> activate#(V1)
49: isNat#(n__plus(V1,V2)) -> activate#(V2)
50: isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1))
51: isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1))
52: isNat#(n__s(V1)) -> activate#(V1)
53: isNat#(n__s(V1)) -> isNatKind#(activate(V1))
Processor NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Nothing}induces the complexity certificateTIME (?,O(n^2))
SPACE(?,?)on application of the dependency pairs
{2,3,4,5}
These cover all (indirect) predecessors of dependency pairs
{1,2,3,4,5,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46}
their number of applications is equally bounded.
The dependency pairs are shifted into the weak component.
***** Step 1.b:8.a:1.b:1.a:1: NaturalPI WORST_CASE(?,O(n^2))
+ Considered Problem:
- Strict DPs:
U31#(tt(),V2) -> c_11(isNatKind#(activate(V2)),activate#(V2))
activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2))
activate#(n__s(X)) -> c_23(activate#(X))
isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2))
isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1))
- Weak DPs:
U11#(tt(),V1,V2) -> U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
U11#(tt(),V1,V2) -> activate#(V1)
U11#(tt(),V1,V2) -> activate#(V2)
U11#(tt(),V1,V2) -> isNatKind#(activate(V1))
U12#(tt(),V1,V2) -> U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
U12#(tt(),V1,V2) -> activate#(V1)
U12#(tt(),V1,V2) -> activate#(V2)
U12#(tt(),V1,V2) -> isNatKind#(activate(V2))
U13#(tt(),V1,V2) -> U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
U13#(tt(),V1,V2) -> activate#(V1)
U13#(tt(),V1,V2) -> activate#(V2)
U13#(tt(),V1,V2) -> isNatKind#(activate(V2))
U14#(tt(),V1,V2) -> U15#(isNat(activate(V1)),activate(V2))
U14#(tt(),V1,V2) -> activate#(V1)
U14#(tt(),V1,V2) -> activate#(V2)
U14#(tt(),V1,V2) -> isNat#(activate(V1))
U15#(tt(),V2) -> activate#(V2)
U15#(tt(),V2) -> isNat#(activate(V2))
U21#(tt(),V1) -> U22#(isNatKind(activate(V1)),activate(V1))
U21#(tt(),V1) -> activate#(V1)
U21#(tt(),V1) -> isNatKind#(activate(V1))
U22#(tt(),V1) -> activate#(V1)
U22#(tt(),V1) -> isNat#(activate(V1))
U51#(tt(),N) -> U52#(isNatKind(activate(N)),activate(N))
U51#(tt(),N) -> activate#(N)
U51#(tt(),N) -> isNatKind#(activate(N))
U52#(tt(),N) -> activate#(N)
U61#(tt(),M,N) -> U62#(isNatKind(activate(M)),activate(M),activate(N))
U61#(tt(),M,N) -> activate#(M)
U61#(tt(),M,N) -> activate#(N)
U61#(tt(),M,N) -> isNatKind#(activate(M))
U62#(tt(),M,N) -> U63#(isNat(activate(N)),activate(M),activate(N))
U62#(tt(),M,N) -> activate#(M)
U62#(tt(),M,N) -> activate#(N)
U62#(tt(),M,N) -> isNat#(activate(N))
U63#(tt(),M,N) -> U64#(isNatKind(activate(N)),activate(M),activate(N))
U63#(tt(),M,N) -> activate#(M)
U63#(tt(),M,N) -> activate#(N)
U63#(tt(),M,N) -> isNatKind#(activate(N))
U64#(tt(),M,N) -> activate#(M)
U64#(tt(),M,N) -> activate#(N)
isNat#(n__plus(V1,V2)) -> U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
isNat#(n__plus(V1,V2)) -> activate#(V1)
isNat#(n__plus(V1,V2)) -> activate#(V2)
isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1))
isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1))
isNat#(n__s(V1)) -> activate#(V1)
isNat#(n__s(V1)) -> isNatKind#(activate(V1))
- Weak TRS:
0() -> n__0()
U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2))
U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2))
U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2))
U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2))
U15(tt(),V2) -> U16(isNat(activate(V2)))
U16(tt()) -> tt()
U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1))
U22(tt(),V1) -> U23(isNat(activate(V1)))
U23(tt()) -> tt()
U31(tt(),V2) -> U32(isNatKind(activate(V2)))
U32(tt()) -> tt()
U41(tt()) -> tt()
activate(X) -> X
activate(n__0()) -> 0()
activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2))
activate(n__s(X)) -> s(activate(X))
isNat(n__0()) -> tt()
isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2))
isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1))
isNatKind(n__0()) -> tt()
isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2))
isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1)))
plus(X1,X2) -> n__plus(X1,X2)
s(X) -> n__s(X)
- Signature:
{0/0,U11/3,U12/3,U13/3,U14/3,U15/2,U16/1,U21/2,U22/2,U23/1,U31/2,U32/1,U41/1,U51/2,U52/2,U61/3,U62/3,U63/3
,U64/3,activate/1,isNat/1,isNatKind/1,plus/2,s/1,0#/0,U11#/3,U12#/3,U13#/3,U14#/3,U15#/2,U16#/1,U21#/2
,U22#/2,U23#/1,U31#/2,U32#/1,U41#/1,U51#/2,U52#/2,U61#/3,U62#/3,U63#/3,U64#/3,activate#/1,isNat#/1
,isNatKind#/1,plus#/2,s#/1} / {n__0/0,n__plus/2,n__s/1,tt/0,c_1/0,c_2/5,c_3/5,c_4/5,c_5/4,c_6/2,c_7/0,c_8/4
,c_9/2,c_10/0,c_11/2,c_12/0,c_13/0,c_14/4,c_15/1,c_16/5,c_17/5,c_18/5,c_19/2,c_20/0,c_21/1,c_22/2,c_23/1
,c_24/0,c_25/5,c_26/4,c_27/0,c_28/4,c_29/2,c_30/0,c_31/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {0#,U11#,U12#,U13#,U14#,U15#,U16#,U21#,U22#,U23#,U31#,U32#
,U41#,U51#,U52#,U61#,U62#,U63#,U64#,activate#,isNat#,isNatKind#,plus#,s#} and constructors {n__0,n__plus
,n__s,tt}
+ Applied Processor:
NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Just first alternative for predecessorEstimation on any intersect of rules of CDG leaf and strict-rules}
+ Details:
We apply a polynomial interpretation of kind constructor-based(mixed(2)):
The following argument positions are considered usable:
uargs(c_11) = {1,2},
uargs(c_22) = {1,2},
uargs(c_23) = {1},
uargs(c_28) = {1,2,3,4},
uargs(c_29) = {1,2}
Following symbols are considered usable:
{0,U11,U12,U13,U14,U15,U16,U21,U22,U23,activate,isNat,plus,s,0#,U11#,U12#,U13#,U14#,U15#,U16#,U21#,U22#
,U23#,U31#,U32#,U41#,U51#,U52#,U61#,U62#,U63#,U64#,activate#,isNat#,isNatKind#,plus#,s#}
TcT has computed the following interpretation:
p(0) = 1
p(U11) = 1 + x3
p(U12) = 1 + x3
p(U13) = 1 + x3
p(U14) = 1 + x3
p(U15) = x2
p(U16) = x1
p(U21) = x2
p(U22) = x2
p(U23) = x1
p(U31) = x1*x2 + x2
p(U32) = 0
p(U41) = 0
p(U51) = 0
p(U52) = 0
p(U61) = 0
p(U62) = 0
p(U63) = 0
p(U64) = 0
p(activate) = x1
p(isNat) = x1
p(isNatKind) = 0
p(n__0) = 1
p(n__plus) = 1 + x1 + x2
p(n__s) = 1 + x1
p(plus) = 1 + x1 + x2
p(s) = 1 + x1
p(tt) = 1
p(0#) = 0
p(U11#) = x2 + x2^2 + x3 + x3^2
p(U12#) = x2 + x2^2 + x3 + x3^2
p(U13#) = x2 + x2^2 + x3 + x3^2
p(U14#) = x2 + x2^2 + x3 + x3^2
p(U15#) = x2 + x2^2
p(U16#) = 0
p(U21#) = x2 + x2^2
p(U22#) = x2 + x2^2
p(U23#) = 0
p(U31#) = x2 + x2^2
p(U32#) = 0
p(U41#) = 0
p(U51#) = x2 + x2^2
p(U52#) = x2
p(U61#) = 1 + x2 + x2*x3 + x2^2 + x3 + x3^2
p(U62#) = 1 + x2 + x2*x3 + x3 + x3^2
p(U63#) = x1*x2 + x2 + x3 + x3^2
p(U64#) = x2 + x3
p(activate#) = x1
p(isNat#) = x1^2
p(isNatKind#) = x1^2
p(plus#) = 0
p(s#) = 0
p(c_1) = 0
p(c_2) = 0
p(c_3) = 0
p(c_4) = 0
p(c_5) = 0
p(c_6) = 0
p(c_7) = 0
p(c_8) = 0
p(c_9) = 0
p(c_10) = 0
p(c_11) = x1 + x2
p(c_12) = 0
p(c_13) = 0
p(c_14) = 0
p(c_15) = 0
p(c_16) = 0
p(c_17) = 0
p(c_18) = 0
p(c_19) = 0
p(c_20) = 0
p(c_21) = 0
p(c_22) = x1 + x2
p(c_23) = x1
p(c_24) = 0
p(c_25) = 0
p(c_26) = 0
p(c_27) = 0
p(c_28) = x1 + x2 + x3 + x4
p(c_29) = x1 + x2
p(c_30) = 0
p(c_31) = 0
Following rules are strictly oriented:
activate#(n__plus(X1,X2)) = 1 + X1 + X2
> X1 + X2
= c_22(activate#(X1),activate#(X2))
activate#(n__s(X)) = 1 + X
> X
= c_23(activate#(X))
isNatKind#(n__plus(V1,V2)) = 1 + 2*V1 + 2*V1*V2 + V1^2 + 2*V2 + V2^2
> V1 + V1^2 + 2*V2 + V2^2
= c_28(U31#(isNatKind(activate(V1)),activate(V2)),isNatKind#(activate(V1)),activate#(V1),activate#(V2))
isNatKind#(n__s(V1)) = 1 + 2*V1 + V1^2
> V1 + V1^2
= c_29(isNatKind#(activate(V1)),activate#(V1))
Following rules are (at-least) weakly oriented:
U11#(tt(),V1,V2) = V1 + V1^2 + V2 + V2^2
>= V1 + V1^2 + V2 + V2^2
= U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
U11#(tt(),V1,V2) = V1 + V1^2 + V2 + V2^2
>= V1
= activate#(V1)
U11#(tt(),V1,V2) = V1 + V1^2 + V2 + V2^2
>= V2
= activate#(V2)
U11#(tt(),V1,V2) = V1 + V1^2 + V2 + V2^2
>= V1^2
= isNatKind#(activate(V1))
U12#(tt(),V1,V2) = V1 + V1^2 + V2 + V2^2
>= V1 + V1^2 + V2 + V2^2
= U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
U12#(tt(),V1,V2) = V1 + V1^2 + V2 + V2^2
>= V1
= activate#(V1)
U12#(tt(),V1,V2) = V1 + V1^2 + V2 + V2^2
>= V2
= activate#(V2)
U12#(tt(),V1,V2) = V1 + V1^2 + V2 + V2^2
>= V2^2
= isNatKind#(activate(V2))
U13#(tt(),V1,V2) = V1 + V1^2 + V2 + V2^2
>= V1 + V1^2 + V2 + V2^2
= U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
U13#(tt(),V1,V2) = V1 + V1^2 + V2 + V2^2
>= V1
= activate#(V1)
U13#(tt(),V1,V2) = V1 + V1^2 + V2 + V2^2
>= V2
= activate#(V2)
U13#(tt(),V1,V2) = V1 + V1^2 + V2 + V2^2
>= V2^2
= isNatKind#(activate(V2))
U14#(tt(),V1,V2) = V1 + V1^2 + V2 + V2^2
>= V2 + V2^2
= U15#(isNat(activate(V1)),activate(V2))
U14#(tt(),V1,V2) = V1 + V1^2 + V2 + V2^2
>= V1
= activate#(V1)
U14#(tt(),V1,V2) = V1 + V1^2 + V2 + V2^2
>= V2
= activate#(V2)
U14#(tt(),V1,V2) = V1 + V1^2 + V2 + V2^2
>= V1^2
= isNat#(activate(V1))
U15#(tt(),V2) = V2 + V2^2
>= V2
= activate#(V2)
U15#(tt(),V2) = V2 + V2^2
>= V2^2
= isNat#(activate(V2))
U21#(tt(),V1) = V1 + V1^2
>= V1 + V1^2
= U22#(isNatKind(activate(V1)),activate(V1))
U21#(tt(),V1) = V1 + V1^2
>= V1
= activate#(V1)
U21#(tt(),V1) = V1 + V1^2
>= V1^2
= isNatKind#(activate(V1))
U22#(tt(),V1) = V1 + V1^2
>= V1
= activate#(V1)
U22#(tt(),V1) = V1 + V1^2
>= V1^2
= isNat#(activate(V1))
U31#(tt(),V2) = V2 + V2^2
>= V2 + V2^2
= c_11(isNatKind#(activate(V2)),activate#(V2))
U51#(tt(),N) = N + N^2
>= N
= U52#(isNatKind(activate(N)),activate(N))
U51#(tt(),N) = N + N^2
>= N
= activate#(N)
U51#(tt(),N) = N + N^2
>= N^2
= isNatKind#(activate(N))
U52#(tt(),N) = N
>= N
= activate#(N)
U61#(tt(),M,N) = 1 + M + M*N + M^2 + N + N^2
>= 1 + M + M*N + N + N^2
= U62#(isNatKind(activate(M)),activate(M),activate(N))
U61#(tt(),M,N) = 1 + M + M*N + M^2 + N + N^2
>= M
= activate#(M)
U61#(tt(),M,N) = 1 + M + M*N + M^2 + N + N^2
>= N
= activate#(N)
U61#(tt(),M,N) = 1 + M + M*N + M^2 + N + N^2
>= M^2
= isNatKind#(activate(M))
U62#(tt(),M,N) = 1 + M + M*N + N + N^2
>= M + M*N + N + N^2
= U63#(isNat(activate(N)),activate(M),activate(N))
U62#(tt(),M,N) = 1 + M + M*N + N + N^2
>= M
= activate#(M)
U62#(tt(),M,N) = 1 + M + M*N + N + N^2
>= N
= activate#(N)
U62#(tt(),M,N) = 1 + M + M*N + N + N^2
>= N^2
= isNat#(activate(N))
U63#(tt(),M,N) = 2*M + N + N^2
>= M + N
= U64#(isNatKind(activate(N)),activate(M),activate(N))
U63#(tt(),M,N) = 2*M + N + N^2
>= M
= activate#(M)
U63#(tt(),M,N) = 2*M + N + N^2
>= N
= activate#(N)
U63#(tt(),M,N) = 2*M + N + N^2
>= N^2
= isNatKind#(activate(N))
U64#(tt(),M,N) = M + N
>= M
= activate#(M)
U64#(tt(),M,N) = M + N
>= N
= activate#(N)
isNat#(n__plus(V1,V2)) = 1 + 2*V1 + 2*V1*V2 + V1^2 + 2*V2 + V2^2
>= V1 + V1^2 + V2 + V2^2
= U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
isNat#(n__plus(V1,V2)) = 1 + 2*V1 + 2*V1*V2 + V1^2 + 2*V2 + V2^2
>= V1
= activate#(V1)
isNat#(n__plus(V1,V2)) = 1 + 2*V1 + 2*V1*V2 + V1^2 + 2*V2 + V2^2
>= V2
= activate#(V2)
isNat#(n__plus(V1,V2)) = 1 + 2*V1 + 2*V1*V2 + V1^2 + 2*V2 + V2^2
>= V1^2
= isNatKind#(activate(V1))
isNat#(n__s(V1)) = 1 + 2*V1 + V1^2
>= V1 + V1^2
= U21#(isNatKind(activate(V1)),activate(V1))
isNat#(n__s(V1)) = 1 + 2*V1 + V1^2
>= V1
= activate#(V1)
isNat#(n__s(V1)) = 1 + 2*V1 + V1^2
>= V1^2
= isNatKind#(activate(V1))
0() = 1
>= 1
= n__0()
U11(tt(),V1,V2) = 1 + V2
>= 1 + V2
= U12(isNatKind(activate(V1)),activate(V1),activate(V2))
U12(tt(),V1,V2) = 1 + V2
>= 1 + V2
= U13(isNatKind(activate(V2)),activate(V1),activate(V2))
U13(tt(),V1,V2) = 1 + V2
>= 1 + V2
= U14(isNatKind(activate(V2)),activate(V1),activate(V2))
U14(tt(),V1,V2) = 1 + V2
>= V2
= U15(isNat(activate(V1)),activate(V2))
U15(tt(),V2) = V2
>= V2
= U16(isNat(activate(V2)))
U16(tt()) = 1
>= 1
= tt()
U21(tt(),V1) = V1
>= V1
= U22(isNatKind(activate(V1)),activate(V1))
U22(tt(),V1) = V1
>= V1
= U23(isNat(activate(V1)))
U23(tt()) = 1
>= 1
= tt()
activate(X) = X
>= X
= X
activate(n__0()) = 1
>= 1
= 0()
activate(n__plus(X1,X2)) = 1 + X1 + X2
>= 1 + X1 + X2
= plus(activate(X1),activate(X2))
activate(n__s(X)) = 1 + X
>= 1 + X
= s(activate(X))
isNat(n__0()) = 1
>= 1
= tt()
isNat(n__plus(V1,V2)) = 1 + V1 + V2
>= 1 + V2
= U11(isNatKind(activate(V1)),activate(V1),activate(V2))
isNat(n__s(V1)) = 1 + V1
>= V1
= U21(isNatKind(activate(V1)),activate(V1))
plus(X1,X2) = 1 + X1 + X2
>= 1 + X1 + X2
= n__plus(X1,X2)
s(X) = 1 + X
>= 1 + X
= n__s(X)
***** Step 1.b:8.a:1.b:1.a:2: Assumption WORST_CASE(?,O(1))
+ Considered Problem:
- Strict DPs:
U31#(tt(),V2) -> c_11(isNatKind#(activate(V2)),activate#(V2))
- Weak DPs:
U11#(tt(),V1,V2) -> U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
U11#(tt(),V1,V2) -> activate#(V1)
U11#(tt(),V1,V2) -> activate#(V2)
U11#(tt(),V1,V2) -> isNatKind#(activate(V1))
U12#(tt(),V1,V2) -> U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
U12#(tt(),V1,V2) -> activate#(V1)
U12#(tt(),V1,V2) -> activate#(V2)
U12#(tt(),V1,V2) -> isNatKind#(activate(V2))
U13#(tt(),V1,V2) -> U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
U13#(tt(),V1,V2) -> activate#(V1)
U13#(tt(),V1,V2) -> activate#(V2)
U13#(tt(),V1,V2) -> isNatKind#(activate(V2))
U14#(tt(),V1,V2) -> U15#(isNat(activate(V1)),activate(V2))
U14#(tt(),V1,V2) -> activate#(V1)
U14#(tt(),V1,V2) -> activate#(V2)
U14#(tt(),V1,V2) -> isNat#(activate(V1))
U15#(tt(),V2) -> activate#(V2)
U15#(tt(),V2) -> isNat#(activate(V2))
U21#(tt(),V1) -> U22#(isNatKind(activate(V1)),activate(V1))
U21#(tt(),V1) -> activate#(V1)
U21#(tt(),V1) -> isNatKind#(activate(V1))
U22#(tt(),V1) -> activate#(V1)
U22#(tt(),V1) -> isNat#(activate(V1))
U51#(tt(),N) -> U52#(isNatKind(activate(N)),activate(N))
U51#(tt(),N) -> activate#(N)
U51#(tt(),N) -> isNatKind#(activate(N))
U52#(tt(),N) -> activate#(N)
U61#(tt(),M,N) -> U62#(isNatKind(activate(M)),activate(M),activate(N))
U61#(tt(),M,N) -> activate#(M)
U61#(tt(),M,N) -> activate#(N)
U61#(tt(),M,N) -> isNatKind#(activate(M))
U62#(tt(),M,N) -> U63#(isNat(activate(N)),activate(M),activate(N))
U62#(tt(),M,N) -> activate#(M)
U62#(tt(),M,N) -> activate#(N)
U62#(tt(),M,N) -> isNat#(activate(N))
U63#(tt(),M,N) -> U64#(isNatKind(activate(N)),activate(M),activate(N))
U63#(tt(),M,N) -> activate#(M)
U63#(tt(),M,N) -> activate#(N)
U63#(tt(),M,N) -> isNatKind#(activate(N))
U64#(tt(),M,N) -> activate#(M)
U64#(tt(),M,N) -> activate#(N)
activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2))
activate#(n__s(X)) -> c_23(activate#(X))
isNat#(n__plus(V1,V2)) -> U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
isNat#(n__plus(V1,V2)) -> activate#(V1)
isNat#(n__plus(V1,V2)) -> activate#(V2)
isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1))
isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1))
isNat#(n__s(V1)) -> activate#(V1)
isNat#(n__s(V1)) -> isNatKind#(activate(V1))
isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2))
isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1))
- Weak TRS:
0() -> n__0()
U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2))
U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2))
U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2))
U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2))
U15(tt(),V2) -> U16(isNat(activate(V2)))
U16(tt()) -> tt()
U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1))
U22(tt(),V1) -> U23(isNat(activate(V1)))
U23(tt()) -> tt()
U31(tt(),V2) -> U32(isNatKind(activate(V2)))
U32(tt()) -> tt()
U41(tt()) -> tt()
activate(X) -> X
activate(n__0()) -> 0()
activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2))
activate(n__s(X)) -> s(activate(X))
isNat(n__0()) -> tt()
isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2))
isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1))
isNatKind(n__0()) -> tt()
isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2))
isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1)))
plus(X1,X2) -> n__plus(X1,X2)
s(X) -> n__s(X)
- Signature:
{0/0,U11/3,U12/3,U13/3,U14/3,U15/2,U16/1,U21/2,U22/2,U23/1,U31/2,U32/1,U41/1,U51/2,U52/2,U61/3,U62/3,U63/3
,U64/3,activate/1,isNat/1,isNatKind/1,plus/2,s/1,0#/0,U11#/3,U12#/3,U13#/3,U14#/3,U15#/2,U16#/1,U21#/2
,U22#/2,U23#/1,U31#/2,U32#/1,U41#/1,U51#/2,U52#/2,U61#/3,U62#/3,U63#/3,U64#/3,activate#/1,isNat#/1
,isNatKind#/1,plus#/2,s#/1} / {n__0/0,n__plus/2,n__s/1,tt/0,c_1/0,c_2/5,c_3/5,c_4/5,c_5/4,c_6/2,c_7/0,c_8/4
,c_9/2,c_10/0,c_11/2,c_12/0,c_13/0,c_14/4,c_15/1,c_16/5,c_17/5,c_18/5,c_19/2,c_20/0,c_21/1,c_22/2,c_23/1
,c_24/0,c_25/5,c_26/4,c_27/0,c_28/4,c_29/2,c_30/0,c_31/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {0#,U11#,U12#,U13#,U14#,U15#,U16#,U21#,U22#,U23#,U31#,U32#
,U41#,U51#,U52#,U61#,U62#,U63#,U64#,activate#,isNat#,isNatKind#,plus#,s#} and constructors {n__0,n__plus
,n__s,tt}
+ Applied Processor:
Assumption {assumed = Certificate {spaceUB = Unknown, spaceLB = Unknown, timeUB = Poly (Just 0), timeLB = Unknown}}
+ Details:
()
***** Step 1.b:8.a:1.b:1.b:1: RemoveWeakSuffixes WORST_CASE(?,O(1))
+ Considered Problem:
- Weak DPs:
U11#(tt(),V1,V2) -> U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
U11#(tt(),V1,V2) -> activate#(V1)
U11#(tt(),V1,V2) -> activate#(V2)
U11#(tt(),V1,V2) -> isNatKind#(activate(V1))
U12#(tt(),V1,V2) -> U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
U12#(tt(),V1,V2) -> activate#(V1)
U12#(tt(),V1,V2) -> activate#(V2)
U12#(tt(),V1,V2) -> isNatKind#(activate(V2))
U13#(tt(),V1,V2) -> U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
U13#(tt(),V1,V2) -> activate#(V1)
U13#(tt(),V1,V2) -> activate#(V2)
U13#(tt(),V1,V2) -> isNatKind#(activate(V2))
U14#(tt(),V1,V2) -> U15#(isNat(activate(V1)),activate(V2))
U14#(tt(),V1,V2) -> activate#(V1)
U14#(tt(),V1,V2) -> activate#(V2)
U14#(tt(),V1,V2) -> isNat#(activate(V1))
U15#(tt(),V2) -> activate#(V2)
U15#(tt(),V2) -> isNat#(activate(V2))
U21#(tt(),V1) -> U22#(isNatKind(activate(V1)),activate(V1))
U21#(tt(),V1) -> activate#(V1)
U21#(tt(),V1) -> isNatKind#(activate(V1))
U22#(tt(),V1) -> activate#(V1)
U22#(tt(),V1) -> isNat#(activate(V1))
U31#(tt(),V2) -> c_11(isNatKind#(activate(V2)),activate#(V2))
U51#(tt(),N) -> U52#(isNatKind(activate(N)),activate(N))
U51#(tt(),N) -> activate#(N)
U51#(tt(),N) -> isNatKind#(activate(N))
U52#(tt(),N) -> activate#(N)
U61#(tt(),M,N) -> U62#(isNatKind(activate(M)),activate(M),activate(N))
U61#(tt(),M,N) -> activate#(M)
U61#(tt(),M,N) -> activate#(N)
U61#(tt(),M,N) -> isNatKind#(activate(M))
U62#(tt(),M,N) -> U63#(isNat(activate(N)),activate(M),activate(N))
U62#(tt(),M,N) -> activate#(M)
U62#(tt(),M,N) -> activate#(N)
U62#(tt(),M,N) -> isNat#(activate(N))
U63#(tt(),M,N) -> U64#(isNatKind(activate(N)),activate(M),activate(N))
U63#(tt(),M,N) -> activate#(M)
U63#(tt(),M,N) -> activate#(N)
U63#(tt(),M,N) -> isNatKind#(activate(N))
U64#(tt(),M,N) -> activate#(M)
U64#(tt(),M,N) -> activate#(N)
activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2))
activate#(n__s(X)) -> c_23(activate#(X))
isNat#(n__plus(V1,V2)) -> U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
isNat#(n__plus(V1,V2)) -> activate#(V1)
isNat#(n__plus(V1,V2)) -> activate#(V2)
isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1))
isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1))
isNat#(n__s(V1)) -> activate#(V1)
isNat#(n__s(V1)) -> isNatKind#(activate(V1))
isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2))
isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1))
- Weak TRS:
0() -> n__0()
U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2))
U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2))
U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2))
U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2))
U15(tt(),V2) -> U16(isNat(activate(V2)))
U16(tt()) -> tt()
U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1))
U22(tt(),V1) -> U23(isNat(activate(V1)))
U23(tt()) -> tt()
U31(tt(),V2) -> U32(isNatKind(activate(V2)))
U32(tt()) -> tt()
U41(tt()) -> tt()
activate(X) -> X
activate(n__0()) -> 0()
activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2))
activate(n__s(X)) -> s(activate(X))
isNat(n__0()) -> tt()
isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2))
isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1))
isNatKind(n__0()) -> tt()
isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2))
isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1)))
plus(X1,X2) -> n__plus(X1,X2)
s(X) -> n__s(X)
- Signature:
{0/0,U11/3,U12/3,U13/3,U14/3,U15/2,U16/1,U21/2,U22/2,U23/1,U31/2,U32/1,U41/1,U51/2,U52/2,U61/3,U62/3,U63/3
,U64/3,activate/1,isNat/1,isNatKind/1,plus/2,s/1,0#/0,U11#/3,U12#/3,U13#/3,U14#/3,U15#/2,U16#/1,U21#/2
,U22#/2,U23#/1,U31#/2,U32#/1,U41#/1,U51#/2,U52#/2,U61#/3,U62#/3,U63#/3,U64#/3,activate#/1,isNat#/1
,isNatKind#/1,plus#/2,s#/1} / {n__0/0,n__plus/2,n__s/1,tt/0,c_1/0,c_2/5,c_3/5,c_4/5,c_5/4,c_6/2,c_7/0,c_8/4
,c_9/2,c_10/0,c_11/2,c_12/0,c_13/0,c_14/4,c_15/1,c_16/5,c_17/5,c_18/5,c_19/2,c_20/0,c_21/1,c_22/2,c_23/1
,c_24/0,c_25/5,c_26/4,c_27/0,c_28/4,c_29/2,c_30/0,c_31/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {0#,U11#,U12#,U13#,U14#,U15#,U16#,U21#,U22#,U23#,U31#,U32#
,U41#,U51#,U52#,U61#,U62#,U63#,U64#,activate#,isNat#,isNatKind#,plus#,s#} and constructors {n__0,n__plus
,n__s,tt}
+ Applied Processor:
RemoveWeakSuffixes
+ Details:
Consider the dependency graph
1:W:U11#(tt(),V1,V2) -> U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
-->_1 U12#(tt(),V1,V2) -> isNatKind#(activate(V2)):8
-->_1 U12#(tt(),V1,V2) -> activate#(V2):7
-->_1 U12#(tt(),V1,V2) -> activate#(V1):6
-->_1 U12#(tt(),V1,V2) -> U13#(isNatKind(activate(V2)),activate(V1),activate(V2)):5
2:W:U11#(tt(),V1,V2) -> activate#(V1)
-->_1 activate#(n__s(X)) -> c_23(activate#(X)):44
-->_1 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):43
3:W:U11#(tt(),V1,V2) -> activate#(V2)
-->_1 activate#(n__s(X)) -> c_23(activate#(X)):44
-->_1 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):43
4:W:U11#(tt(),V1,V2) -> isNatKind#(activate(V1))
-->_1 isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1)):53
-->_1 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):52
5:W:U12#(tt(),V1,V2) -> U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
-->_1 U13#(tt(),V1,V2) -> isNatKind#(activate(V2)):12
-->_1 U13#(tt(),V1,V2) -> activate#(V2):11
-->_1 U13#(tt(),V1,V2) -> activate#(V1):10
-->_1 U13#(tt(),V1,V2) -> U14#(isNatKind(activate(V2)),activate(V1),activate(V2)):9
6:W:U12#(tt(),V1,V2) -> activate#(V1)
-->_1 activate#(n__s(X)) -> c_23(activate#(X)):44
-->_1 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):43
7:W:U12#(tt(),V1,V2) -> activate#(V2)
-->_1 activate#(n__s(X)) -> c_23(activate#(X)):44
-->_1 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):43
8:W:U12#(tt(),V1,V2) -> isNatKind#(activate(V2))
-->_1 isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1)):53
-->_1 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):52
9:W:U13#(tt(),V1,V2) -> U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
-->_1 U14#(tt(),V1,V2) -> isNat#(activate(V1)):16
-->_1 U14#(tt(),V1,V2) -> activate#(V2):15
-->_1 U14#(tt(),V1,V2) -> activate#(V1):14
-->_1 U14#(tt(),V1,V2) -> U15#(isNat(activate(V1)),activate(V2)):13
10:W:U13#(tt(),V1,V2) -> activate#(V1)
-->_1 activate#(n__s(X)) -> c_23(activate#(X)):44
-->_1 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):43
11:W:U13#(tt(),V1,V2) -> activate#(V2)
-->_1 activate#(n__s(X)) -> c_23(activate#(X)):44
-->_1 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):43
12:W:U13#(tt(),V1,V2) -> isNatKind#(activate(V2))
-->_1 isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1)):53
-->_1 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):52
13:W:U14#(tt(),V1,V2) -> U15#(isNat(activate(V1)),activate(V2))
-->_1 U15#(tt(),V2) -> isNat#(activate(V2)):18
-->_1 U15#(tt(),V2) -> activate#(V2):17
14:W:U14#(tt(),V1,V2) -> activate#(V1)
-->_1 activate#(n__s(X)) -> c_23(activate#(X)):44
-->_1 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):43
15:W:U14#(tt(),V1,V2) -> activate#(V2)
-->_1 activate#(n__s(X)) -> c_23(activate#(X)):44
-->_1 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):43
16:W:U14#(tt(),V1,V2) -> isNat#(activate(V1))
-->_1 isNat#(n__s(V1)) -> isNatKind#(activate(V1)):51
-->_1 isNat#(n__s(V1)) -> activate#(V1):50
-->_1 isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)):49
-->_1 isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1)):48
-->_1 isNat#(n__plus(V1,V2)) -> activate#(V2):47
-->_1 isNat#(n__plus(V1,V2)) -> activate#(V1):46
-->_1 isNat#(n__plus(V1,V2)) -> U11#(isNatKind(activate(V1)),activate(V1),activate(V2)):45
17:W:U15#(tt(),V2) -> activate#(V2)
-->_1 activate#(n__s(X)) -> c_23(activate#(X)):44
-->_1 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):43
18:W:U15#(tt(),V2) -> isNat#(activate(V2))
-->_1 isNat#(n__s(V1)) -> isNatKind#(activate(V1)):51
-->_1 isNat#(n__s(V1)) -> activate#(V1):50
-->_1 isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)):49
-->_1 isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1)):48
-->_1 isNat#(n__plus(V1,V2)) -> activate#(V2):47
-->_1 isNat#(n__plus(V1,V2)) -> activate#(V1):46
-->_1 isNat#(n__plus(V1,V2)) -> U11#(isNatKind(activate(V1)),activate(V1),activate(V2)):45
19:W:U21#(tt(),V1) -> U22#(isNatKind(activate(V1)),activate(V1))
-->_1 U22#(tt(),V1) -> isNat#(activate(V1)):23
-->_1 U22#(tt(),V1) -> activate#(V1):22
20:W:U21#(tt(),V1) -> activate#(V1)
-->_1 activate#(n__s(X)) -> c_23(activate#(X)):44
-->_1 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):43
21:W:U21#(tt(),V1) -> isNatKind#(activate(V1))
-->_1 isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1)):53
-->_1 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):52
22:W:U22#(tt(),V1) -> activate#(V1)
-->_1 activate#(n__s(X)) -> c_23(activate#(X)):44
-->_1 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):43
23:W:U22#(tt(),V1) -> isNat#(activate(V1))
-->_1 isNat#(n__s(V1)) -> isNatKind#(activate(V1)):51
-->_1 isNat#(n__s(V1)) -> activate#(V1):50
-->_1 isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)):49
-->_1 isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1)):48
-->_1 isNat#(n__plus(V1,V2)) -> activate#(V2):47
-->_1 isNat#(n__plus(V1,V2)) -> activate#(V1):46
-->_1 isNat#(n__plus(V1,V2)) -> U11#(isNatKind(activate(V1)),activate(V1),activate(V2)):45
24:W:U31#(tt(),V2) -> c_11(isNatKind#(activate(V2)),activate#(V2))
-->_1 isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1)):53
-->_1 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):52
-->_2 activate#(n__s(X)) -> c_23(activate#(X)):44
-->_2 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):43
25:W:U51#(tt(),N) -> U52#(isNatKind(activate(N)),activate(N))
-->_1 U52#(tt(),N) -> activate#(N):28
26:W:U51#(tt(),N) -> activate#(N)
-->_1 activate#(n__s(X)) -> c_23(activate#(X)):44
-->_1 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):43
27:W:U51#(tt(),N) -> isNatKind#(activate(N))
-->_1 isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1)):53
-->_1 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):52
28:W:U52#(tt(),N) -> activate#(N)
-->_1 activate#(n__s(X)) -> c_23(activate#(X)):44
-->_1 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):43
29:W:U61#(tt(),M,N) -> U62#(isNatKind(activate(M)),activate(M),activate(N))
-->_1 U62#(tt(),M,N) -> isNat#(activate(N)):36
-->_1 U62#(tt(),M,N) -> activate#(N):35
-->_1 U62#(tt(),M,N) -> activate#(M):34
-->_1 U62#(tt(),M,N) -> U63#(isNat(activate(N)),activate(M),activate(N)):33
30:W:U61#(tt(),M,N) -> activate#(M)
-->_1 activate#(n__s(X)) -> c_23(activate#(X)):44
-->_1 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):43
31:W:U61#(tt(),M,N) -> activate#(N)
-->_1 activate#(n__s(X)) -> c_23(activate#(X)):44
-->_1 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):43
32:W:U61#(tt(),M,N) -> isNatKind#(activate(M))
-->_1 isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1)):53
-->_1 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):52
33:W:U62#(tt(),M,N) -> U63#(isNat(activate(N)),activate(M),activate(N))
-->_1 U63#(tt(),M,N) -> isNatKind#(activate(N)):40
-->_1 U63#(tt(),M,N) -> activate#(N):39
-->_1 U63#(tt(),M,N) -> activate#(M):38
-->_1 U63#(tt(),M,N) -> U64#(isNatKind(activate(N)),activate(M),activate(N)):37
34:W:U62#(tt(),M,N) -> activate#(M)
-->_1 activate#(n__s(X)) -> c_23(activate#(X)):44
-->_1 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):43
35:W:U62#(tt(),M,N) -> activate#(N)
-->_1 activate#(n__s(X)) -> c_23(activate#(X)):44
-->_1 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):43
36:W:U62#(tt(),M,N) -> isNat#(activate(N))
-->_1 isNat#(n__s(V1)) -> isNatKind#(activate(V1)):51
-->_1 isNat#(n__s(V1)) -> activate#(V1):50
-->_1 isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)):49
-->_1 isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1)):48
-->_1 isNat#(n__plus(V1,V2)) -> activate#(V2):47
-->_1 isNat#(n__plus(V1,V2)) -> activate#(V1):46
-->_1 isNat#(n__plus(V1,V2)) -> U11#(isNatKind(activate(V1)),activate(V1),activate(V2)):45
37:W:U63#(tt(),M,N) -> U64#(isNatKind(activate(N)),activate(M),activate(N))
-->_1 U64#(tt(),M,N) -> activate#(N):42
-->_1 U64#(tt(),M,N) -> activate#(M):41
38:W:U63#(tt(),M,N) -> activate#(M)
-->_1 activate#(n__s(X)) -> c_23(activate#(X)):44
-->_1 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):43
39:W:U63#(tt(),M,N) -> activate#(N)
-->_1 activate#(n__s(X)) -> c_23(activate#(X)):44
-->_1 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):43
40:W:U63#(tt(),M,N) -> isNatKind#(activate(N))
-->_1 isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1)):53
-->_1 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):52
41:W:U64#(tt(),M,N) -> activate#(M)
-->_1 activate#(n__s(X)) -> c_23(activate#(X)):44
-->_1 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):43
42:W:U64#(tt(),M,N) -> activate#(N)
-->_1 activate#(n__s(X)) -> c_23(activate#(X)):44
-->_1 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):43
43:W:activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2))
-->_2 activate#(n__s(X)) -> c_23(activate#(X)):44
-->_1 activate#(n__s(X)) -> c_23(activate#(X)):44
-->_2 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):43
-->_1 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):43
44:W:activate#(n__s(X)) -> c_23(activate#(X))
-->_1 activate#(n__s(X)) -> c_23(activate#(X)):44
-->_1 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):43
45:W:isNat#(n__plus(V1,V2)) -> U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
-->_1 U11#(tt(),V1,V2) -> isNatKind#(activate(V1)):4
-->_1 U11#(tt(),V1,V2) -> activate#(V2):3
-->_1 U11#(tt(),V1,V2) -> activate#(V1):2
-->_1 U11#(tt(),V1,V2) -> U12#(isNatKind(activate(V1)),activate(V1),activate(V2)):1
46:W:isNat#(n__plus(V1,V2)) -> activate#(V1)
-->_1 activate#(n__s(X)) -> c_23(activate#(X)):44
-->_1 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):43
47:W:isNat#(n__plus(V1,V2)) -> activate#(V2)
-->_1 activate#(n__s(X)) -> c_23(activate#(X)):44
-->_1 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):43
48:W:isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1))
-->_1 isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1)):53
-->_1 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):52
49:W:isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1))
-->_1 U21#(tt(),V1) -> isNatKind#(activate(V1)):21
-->_1 U21#(tt(),V1) -> activate#(V1):20
-->_1 U21#(tt(),V1) -> U22#(isNatKind(activate(V1)),activate(V1)):19
50:W:isNat#(n__s(V1)) -> activate#(V1)
-->_1 activate#(n__s(X)) -> c_23(activate#(X)):44
-->_1 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):43
51:W:isNat#(n__s(V1)) -> isNatKind#(activate(V1))
-->_1 isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1)):53
-->_1 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):52
52:W:isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2))
-->_2 isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1)):53
-->_2 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):52
-->_4 activate#(n__s(X)) -> c_23(activate#(X)):44
-->_3 activate#(n__s(X)) -> c_23(activate#(X)):44
-->_4 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):43
-->_3 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):43
-->_1 U31#(tt(),V2) -> c_11(isNatKind#(activate(V2)),activate#(V2)):24
53:W:isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1))
-->_1 isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1)):53
-->_1 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):52
-->_2 activate#(n__s(X)) -> c_23(activate#(X)):44
-->_2 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):43
The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
32: U61#(tt(),M,N) -> isNatKind#(activate(M))
31: U61#(tt(),M,N) -> activate#(N)
30: U61#(tt(),M,N) -> activate#(M)
29: U61#(tt(),M,N) -> U62#(isNatKind(activate(M)),activate(M),activate(N))
33: U62#(tt(),M,N) -> U63#(isNat(activate(N)),activate(M),activate(N))
37: U63#(tt(),M,N) -> U64#(isNatKind(activate(N)),activate(M),activate(N))
41: U64#(tt(),M,N) -> activate#(M)
42: U64#(tt(),M,N) -> activate#(N)
38: U63#(tt(),M,N) -> activate#(M)
39: U63#(tt(),M,N) -> activate#(N)
40: U63#(tt(),M,N) -> isNatKind#(activate(N))
34: U62#(tt(),M,N) -> activate#(M)
35: U62#(tt(),M,N) -> activate#(N)
36: U62#(tt(),M,N) -> isNat#(activate(N))
27: U51#(tt(),N) -> isNatKind#(activate(N))
26: U51#(tt(),N) -> activate#(N)
25: U51#(tt(),N) -> U52#(isNatKind(activate(N)),activate(N))
28: U52#(tt(),N) -> activate#(N)
1: U11#(tt(),V1,V2) -> U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
45: isNat#(n__plus(V1,V2)) -> U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
23: U22#(tt(),V1) -> isNat#(activate(V1))
19: U21#(tt(),V1) -> U22#(isNatKind(activate(V1)),activate(V1))
49: isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1))
18: U15#(tt(),V2) -> isNat#(activate(V2))
13: U14#(tt(),V1,V2) -> U15#(isNat(activate(V1)),activate(V2))
9: U13#(tt(),V1,V2) -> U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
5: U12#(tt(),V1,V2) -> U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
16: U14#(tt(),V1,V2) -> isNat#(activate(V1))
17: U15#(tt(),V2) -> activate#(V2)
14: U14#(tt(),V1,V2) -> activate#(V1)
15: U14#(tt(),V1,V2) -> activate#(V2)
22: U22#(tt(),V1) -> activate#(V1)
2: U11#(tt(),V1,V2) -> activate#(V1)
3: U11#(tt(),V1,V2) -> activate#(V2)
4: U11#(tt(),V1,V2) -> isNatKind#(activate(V1))
46: isNat#(n__plus(V1,V2)) -> activate#(V1)
47: isNat#(n__plus(V1,V2)) -> activate#(V2)
48: isNat#(n__plus(V1,V2)) -> isNatKind#(activate(V1))
20: U21#(tt(),V1) -> activate#(V1)
21: U21#(tt(),V1) -> isNatKind#(activate(V1))
50: isNat#(n__s(V1)) -> activate#(V1)
51: isNat#(n__s(V1)) -> isNatKind#(activate(V1))
10: U13#(tt(),V1,V2) -> activate#(V1)
11: U13#(tt(),V1,V2) -> activate#(V2)
12: U13#(tt(),V1,V2) -> isNatKind#(activate(V2))
6: U12#(tt(),V1,V2) -> activate#(V1)
7: U12#(tt(),V1,V2) -> activate#(V2)
8: U12#(tt(),V1,V2) -> isNatKind#(activate(V2))
53: isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1))
52: isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2))
24: U31#(tt(),V2) -> c_11(isNatKind#(activate(V2)),activate#(V2))
44: activate#(n__s(X)) -> c_23(activate#(X))
43: activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2))
***** Step 1.b:8.a:1.b:1.b:2: EmptyProcessor WORST_CASE(?,O(1))
+ Considered Problem:
- Weak TRS:
0() -> n__0()
U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2))
U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2))
U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2))
U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2))
U15(tt(),V2) -> U16(isNat(activate(V2)))
U16(tt()) -> tt()
U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1))
U22(tt(),V1) -> U23(isNat(activate(V1)))
U23(tt()) -> tt()
U31(tt(),V2) -> U32(isNatKind(activate(V2)))
U32(tt()) -> tt()
U41(tt()) -> tt()
activate(X) -> X
activate(n__0()) -> 0()
activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2))
activate(n__s(X)) -> s(activate(X))
isNat(n__0()) -> tt()
isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2))
isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1))
isNatKind(n__0()) -> tt()
isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2))
isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1)))
plus(X1,X2) -> n__plus(X1,X2)
s(X) -> n__s(X)
- Signature:
{0/0,U11/3,U12/3,U13/3,U14/3,U15/2,U16/1,U21/2,U22/2,U23/1,U31/2,U32/1,U41/1,U51/2,U52/2,U61/3,U62/3,U63/3
,U64/3,activate/1,isNat/1,isNatKind/1,plus/2,s/1,0#/0,U11#/3,U12#/3,U13#/3,U14#/3,U15#/2,U16#/1,U21#/2
,U22#/2,U23#/1,U31#/2,U32#/1,U41#/1,U51#/2,U52#/2,U61#/3,U62#/3,U63#/3,U64#/3,activate#/1,isNat#/1
,isNatKind#/1,plus#/2,s#/1} / {n__0/0,n__plus/2,n__s/1,tt/0,c_1/0,c_2/5,c_3/5,c_4/5,c_5/4,c_6/2,c_7/0,c_8/4
,c_9/2,c_10/0,c_11/2,c_12/0,c_13/0,c_14/4,c_15/1,c_16/5,c_17/5,c_18/5,c_19/2,c_20/0,c_21/1,c_22/2,c_23/1
,c_24/0,c_25/5,c_26/4,c_27/0,c_28/4,c_29/2,c_30/0,c_31/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {0#,U11#,U12#,U13#,U14#,U15#,U16#,U21#,U22#,U23#,U31#,U32#
,U41#,U51#,U52#,U61#,U62#,U63#,U64#,activate#,isNat#,isNatKind#,plus#,s#} and constructors {n__0,n__plus
,n__s,tt}
+ Applied Processor:
EmptyProcessor
+ Details:
The problem is already closed. The intended complexity is O(1).
*** Step 1.b:8.b:1: PredecessorEstimation WORST_CASE(?,O(1))
+ Considered Problem:
- Strict DPs:
U51#(tt(),N) -> c_14(U52#(isNatKind(activate(N)),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(N))
U52#(tt(),N) -> c_15(activate#(N))
U61#(tt(),M,N) -> c_16(U62#(isNatKind(activate(M)),activate(M),activate(N))
,isNatKind#(activate(M))
,activate#(M)
,activate#(M)
,activate#(N))
U62#(tt(),M,N) -> c_17(U63#(isNat(activate(N)),activate(M),activate(N))
,isNat#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
U63#(tt(),M,N) -> c_18(U64#(isNatKind(activate(N)),activate(M),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
U64#(tt(),M,N) -> c_19(activate#(N),activate#(M))
- Weak DPs:
U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2))
,isNat#(activate(V1))
,activate#(V1)
,activate#(V2))
U15#(tt(),V2) -> c_6(isNat#(activate(V2)),activate#(V2))
U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
U22#(tt(),V1) -> c_9(isNat#(activate(V1)),activate#(V1))
U31#(tt(),V2) -> c_11(isNatKind#(activate(V2)),activate#(V2))
activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2))
activate#(n__s(X)) -> c_23(activate#(X))
isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2))
isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1))
- Weak TRS:
0() -> n__0()
U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2))
U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2))
U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2))
U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2))
U15(tt(),V2) -> U16(isNat(activate(V2)))
U16(tt()) -> tt()
U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1))
U22(tt(),V1) -> U23(isNat(activate(V1)))
U23(tt()) -> tt()
U31(tt(),V2) -> U32(isNatKind(activate(V2)))
U32(tt()) -> tt()
U41(tt()) -> tt()
activate(X) -> X
activate(n__0()) -> 0()
activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2))
activate(n__s(X)) -> s(activate(X))
isNat(n__0()) -> tt()
isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2))
isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1))
isNatKind(n__0()) -> tt()
isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2))
isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1)))
plus(X1,X2) -> n__plus(X1,X2)
s(X) -> n__s(X)
- Signature:
{0/0,U11/3,U12/3,U13/3,U14/3,U15/2,U16/1,U21/2,U22/2,U23/1,U31/2,U32/1,U41/1,U51/2,U52/2,U61/3,U62/3,U63/3
,U64/3,activate/1,isNat/1,isNatKind/1,plus/2,s/1,0#/0,U11#/3,U12#/3,U13#/3,U14#/3,U15#/2,U16#/1,U21#/2
,U22#/2,U23#/1,U31#/2,U32#/1,U41#/1,U51#/2,U52#/2,U61#/3,U62#/3,U63#/3,U64#/3,activate#/1,isNat#/1
,isNatKind#/1,plus#/2,s#/1} / {n__0/0,n__plus/2,n__s/1,tt/0,c_1/0,c_2/5,c_3/5,c_4/5,c_5/4,c_6/2,c_7/0,c_8/4
,c_9/2,c_10/0,c_11/2,c_12/0,c_13/0,c_14/4,c_15/1,c_16/5,c_17/5,c_18/5,c_19/2,c_20/0,c_21/1,c_22/2,c_23/1
,c_24/0,c_25/5,c_26/4,c_27/0,c_28/4,c_29/2,c_30/0,c_31/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {0#,U11#,U12#,U13#,U14#,U15#,U16#,U21#,U22#,U23#,U31#,U32#
,U41#,U51#,U52#,U61#,U62#,U63#,U64#,activate#,isNat#,isNatKind#,plus#,s#} and constructors {n__0,n__plus
,n__s,tt}
+ Applied Processor:
PredecessorEstimation {onSelection = all simple predecessor estimation selector}
+ Details:
We estimate the number of application of
{2,6}
by application of
Pre({2,6}) = {1,5}.
Here rules are labelled as follows:
1: U51#(tt(),N) -> c_14(U52#(isNatKind(activate(N)),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(N))
2: U52#(tt(),N) -> c_15(activate#(N))
3: U61#(tt(),M,N) -> c_16(U62#(isNatKind(activate(M)),activate(M),activate(N))
,isNatKind#(activate(M))
,activate#(M)
,activate#(M)
,activate#(N))
4: U62#(tt(),M,N) -> c_17(U63#(isNat(activate(N)),activate(M),activate(N))
,isNat#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
5: U63#(tt(),M,N) -> c_18(U64#(isNatKind(activate(N)),activate(M),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
6: U64#(tt(),M,N) -> c_19(activate#(N),activate#(M))
7: U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
8: U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
9: U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
10: U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2))
,isNat#(activate(V1))
,activate#(V1)
,activate#(V2))
11: U15#(tt(),V2) -> c_6(isNat#(activate(V2)),activate#(V2))
12: U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
13: U22#(tt(),V1) -> c_9(isNat#(activate(V1)),activate#(V1))
14: U31#(tt(),V2) -> c_11(isNatKind#(activate(V2)),activate#(V2))
15: activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2))
16: activate#(n__s(X)) -> c_23(activate#(X))
17: isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
18: isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
19: isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2))
20: isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1))
*** Step 1.b:8.b:2: PredecessorEstimation WORST_CASE(?,O(1))
+ Considered Problem:
- Strict DPs:
U51#(tt(),N) -> c_14(U52#(isNatKind(activate(N)),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(N))
U61#(tt(),M,N) -> c_16(U62#(isNatKind(activate(M)),activate(M),activate(N))
,isNatKind#(activate(M))
,activate#(M)
,activate#(M)
,activate#(N))
U62#(tt(),M,N) -> c_17(U63#(isNat(activate(N)),activate(M),activate(N))
,isNat#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
U63#(tt(),M,N) -> c_18(U64#(isNatKind(activate(N)),activate(M),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
- Weak DPs:
U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2))
,isNat#(activate(V1))
,activate#(V1)
,activate#(V2))
U15#(tt(),V2) -> c_6(isNat#(activate(V2)),activate#(V2))
U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
U22#(tt(),V1) -> c_9(isNat#(activate(V1)),activate#(V1))
U31#(tt(),V2) -> c_11(isNatKind#(activate(V2)),activate#(V2))
U52#(tt(),N) -> c_15(activate#(N))
U64#(tt(),M,N) -> c_19(activate#(N),activate#(M))
activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2))
activate#(n__s(X)) -> c_23(activate#(X))
isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2))
isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1))
- Weak TRS:
0() -> n__0()
U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2))
U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2))
U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2))
U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2))
U15(tt(),V2) -> U16(isNat(activate(V2)))
U16(tt()) -> tt()
U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1))
U22(tt(),V1) -> U23(isNat(activate(V1)))
U23(tt()) -> tt()
U31(tt(),V2) -> U32(isNatKind(activate(V2)))
U32(tt()) -> tt()
U41(tt()) -> tt()
activate(X) -> X
activate(n__0()) -> 0()
activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2))
activate(n__s(X)) -> s(activate(X))
isNat(n__0()) -> tt()
isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2))
isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1))
isNatKind(n__0()) -> tt()
isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2))
isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1)))
plus(X1,X2) -> n__plus(X1,X2)
s(X) -> n__s(X)
- Signature:
{0/0,U11/3,U12/3,U13/3,U14/3,U15/2,U16/1,U21/2,U22/2,U23/1,U31/2,U32/1,U41/1,U51/2,U52/2,U61/3,U62/3,U63/3
,U64/3,activate/1,isNat/1,isNatKind/1,plus/2,s/1,0#/0,U11#/3,U12#/3,U13#/3,U14#/3,U15#/2,U16#/1,U21#/2
,U22#/2,U23#/1,U31#/2,U32#/1,U41#/1,U51#/2,U52#/2,U61#/3,U62#/3,U63#/3,U64#/3,activate#/1,isNat#/1
,isNatKind#/1,plus#/2,s#/1} / {n__0/0,n__plus/2,n__s/1,tt/0,c_1/0,c_2/5,c_3/5,c_4/5,c_5/4,c_6/2,c_7/0,c_8/4
,c_9/2,c_10/0,c_11/2,c_12/0,c_13/0,c_14/4,c_15/1,c_16/5,c_17/5,c_18/5,c_19/2,c_20/0,c_21/1,c_22/2,c_23/1
,c_24/0,c_25/5,c_26/4,c_27/0,c_28/4,c_29/2,c_30/0,c_31/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {0#,U11#,U12#,U13#,U14#,U15#,U16#,U21#,U22#,U23#,U31#,U32#
,U41#,U51#,U52#,U61#,U62#,U63#,U64#,activate#,isNat#,isNatKind#,plus#,s#} and constructors {n__0,n__plus
,n__s,tt}
+ Applied Processor:
PredecessorEstimation {onSelection = all simple predecessor estimation selector}
+ Details:
We estimate the number of application of
{1,4}
by application of
Pre({1,4}) = {3}.
Here rules are labelled as follows:
1: U51#(tt(),N) -> c_14(U52#(isNatKind(activate(N)),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(N))
2: U61#(tt(),M,N) -> c_16(U62#(isNatKind(activate(M)),activate(M),activate(N))
,isNatKind#(activate(M))
,activate#(M)
,activate#(M)
,activate#(N))
3: U62#(tt(),M,N) -> c_17(U63#(isNat(activate(N)),activate(M),activate(N))
,isNat#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
4: U63#(tt(),M,N) -> c_18(U64#(isNatKind(activate(N)),activate(M),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
5: U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
6: U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
7: U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
8: U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2))
,isNat#(activate(V1))
,activate#(V1)
,activate#(V2))
9: U15#(tt(),V2) -> c_6(isNat#(activate(V2)),activate#(V2))
10: U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
11: U22#(tt(),V1) -> c_9(isNat#(activate(V1)),activate#(V1))
12: U31#(tt(),V2) -> c_11(isNatKind#(activate(V2)),activate#(V2))
13: U52#(tt(),N) -> c_15(activate#(N))
14: U64#(tt(),M,N) -> c_19(activate#(N),activate#(M))
15: activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2))
16: activate#(n__s(X)) -> c_23(activate#(X))
17: isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
18: isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
19: isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2))
20: isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1))
*** Step 1.b:8.b:3: PredecessorEstimation WORST_CASE(?,O(1))
+ Considered Problem:
- Strict DPs:
U61#(tt(),M,N) -> c_16(U62#(isNatKind(activate(M)),activate(M),activate(N))
,isNatKind#(activate(M))
,activate#(M)
,activate#(M)
,activate#(N))
U62#(tt(),M,N) -> c_17(U63#(isNat(activate(N)),activate(M),activate(N))
,isNat#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
- Weak DPs:
U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2))
,isNat#(activate(V1))
,activate#(V1)
,activate#(V2))
U15#(tt(),V2) -> c_6(isNat#(activate(V2)),activate#(V2))
U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
U22#(tt(),V1) -> c_9(isNat#(activate(V1)),activate#(V1))
U31#(tt(),V2) -> c_11(isNatKind#(activate(V2)),activate#(V2))
U51#(tt(),N) -> c_14(U52#(isNatKind(activate(N)),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(N))
U52#(tt(),N) -> c_15(activate#(N))
U63#(tt(),M,N) -> c_18(U64#(isNatKind(activate(N)),activate(M),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
U64#(tt(),M,N) -> c_19(activate#(N),activate#(M))
activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2))
activate#(n__s(X)) -> c_23(activate#(X))
isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2))
isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1))
- Weak TRS:
0() -> n__0()
U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2))
U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2))
U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2))
U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2))
U15(tt(),V2) -> U16(isNat(activate(V2)))
U16(tt()) -> tt()
U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1))
U22(tt(),V1) -> U23(isNat(activate(V1)))
U23(tt()) -> tt()
U31(tt(),V2) -> U32(isNatKind(activate(V2)))
U32(tt()) -> tt()
U41(tt()) -> tt()
activate(X) -> X
activate(n__0()) -> 0()
activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2))
activate(n__s(X)) -> s(activate(X))
isNat(n__0()) -> tt()
isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2))
isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1))
isNatKind(n__0()) -> tt()
isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2))
isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1)))
plus(X1,X2) -> n__plus(X1,X2)
s(X) -> n__s(X)
- Signature:
{0/0,U11/3,U12/3,U13/3,U14/3,U15/2,U16/1,U21/2,U22/2,U23/1,U31/2,U32/1,U41/1,U51/2,U52/2,U61/3,U62/3,U63/3
,U64/3,activate/1,isNat/1,isNatKind/1,plus/2,s/1,0#/0,U11#/3,U12#/3,U13#/3,U14#/3,U15#/2,U16#/1,U21#/2
,U22#/2,U23#/1,U31#/2,U32#/1,U41#/1,U51#/2,U52#/2,U61#/3,U62#/3,U63#/3,U64#/3,activate#/1,isNat#/1
,isNatKind#/1,plus#/2,s#/1} / {n__0/0,n__plus/2,n__s/1,tt/0,c_1/0,c_2/5,c_3/5,c_4/5,c_5/4,c_6/2,c_7/0,c_8/4
,c_9/2,c_10/0,c_11/2,c_12/0,c_13/0,c_14/4,c_15/1,c_16/5,c_17/5,c_18/5,c_19/2,c_20/0,c_21/1,c_22/2,c_23/1
,c_24/0,c_25/5,c_26/4,c_27/0,c_28/4,c_29/2,c_30/0,c_31/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {0#,U11#,U12#,U13#,U14#,U15#,U16#,U21#,U22#,U23#,U31#,U32#
,U41#,U51#,U52#,U61#,U62#,U63#,U64#,activate#,isNat#,isNatKind#,plus#,s#} and constructors {n__0,n__plus
,n__s,tt}
+ Applied Processor:
PredecessorEstimation {onSelection = all simple predecessor estimation selector}
+ Details:
We estimate the number of application of
{2}
by application of
Pre({2}) = {1}.
Here rules are labelled as follows:
1: U61#(tt(),M,N) -> c_16(U62#(isNatKind(activate(M)),activate(M),activate(N))
,isNatKind#(activate(M))
,activate#(M)
,activate#(M)
,activate#(N))
2: U62#(tt(),M,N) -> c_17(U63#(isNat(activate(N)),activate(M),activate(N))
,isNat#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
3: U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
4: U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
5: U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
6: U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2))
,isNat#(activate(V1))
,activate#(V1)
,activate#(V2))
7: U15#(tt(),V2) -> c_6(isNat#(activate(V2)),activate#(V2))
8: U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
9: U22#(tt(),V1) -> c_9(isNat#(activate(V1)),activate#(V1))
10: U31#(tt(),V2) -> c_11(isNatKind#(activate(V2)),activate#(V2))
11: U51#(tt(),N) -> c_14(U52#(isNatKind(activate(N)),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(N))
12: U52#(tt(),N) -> c_15(activate#(N))
13: U63#(tt(),M,N) -> c_18(U64#(isNatKind(activate(N)),activate(M),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
14: U64#(tt(),M,N) -> c_19(activate#(N),activate#(M))
15: activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2))
16: activate#(n__s(X)) -> c_23(activate#(X))
17: isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
18: isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
19: isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2))
20: isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1))
*** Step 1.b:8.b:4: PredecessorEstimation WORST_CASE(?,O(1))
+ Considered Problem:
- Strict DPs:
U61#(tt(),M,N) -> c_16(U62#(isNatKind(activate(M)),activate(M),activate(N))
,isNatKind#(activate(M))
,activate#(M)
,activate#(M)
,activate#(N))
- Weak DPs:
U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2))
,isNat#(activate(V1))
,activate#(V1)
,activate#(V2))
U15#(tt(),V2) -> c_6(isNat#(activate(V2)),activate#(V2))
U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
U22#(tt(),V1) -> c_9(isNat#(activate(V1)),activate#(V1))
U31#(tt(),V2) -> c_11(isNatKind#(activate(V2)),activate#(V2))
U51#(tt(),N) -> c_14(U52#(isNatKind(activate(N)),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(N))
U52#(tt(),N) -> c_15(activate#(N))
U62#(tt(),M,N) -> c_17(U63#(isNat(activate(N)),activate(M),activate(N))
,isNat#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
U63#(tt(),M,N) -> c_18(U64#(isNatKind(activate(N)),activate(M),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
U64#(tt(),M,N) -> c_19(activate#(N),activate#(M))
activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2))
activate#(n__s(X)) -> c_23(activate#(X))
isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2))
isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1))
- Weak TRS:
0() -> n__0()
U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2))
U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2))
U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2))
U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2))
U15(tt(),V2) -> U16(isNat(activate(V2)))
U16(tt()) -> tt()
U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1))
U22(tt(),V1) -> U23(isNat(activate(V1)))
U23(tt()) -> tt()
U31(tt(),V2) -> U32(isNatKind(activate(V2)))
U32(tt()) -> tt()
U41(tt()) -> tt()
activate(X) -> X
activate(n__0()) -> 0()
activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2))
activate(n__s(X)) -> s(activate(X))
isNat(n__0()) -> tt()
isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2))
isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1))
isNatKind(n__0()) -> tt()
isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2))
isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1)))
plus(X1,X2) -> n__plus(X1,X2)
s(X) -> n__s(X)
- Signature:
{0/0,U11/3,U12/3,U13/3,U14/3,U15/2,U16/1,U21/2,U22/2,U23/1,U31/2,U32/1,U41/1,U51/2,U52/2,U61/3,U62/3,U63/3
,U64/3,activate/1,isNat/1,isNatKind/1,plus/2,s/1,0#/0,U11#/3,U12#/3,U13#/3,U14#/3,U15#/2,U16#/1,U21#/2
,U22#/2,U23#/1,U31#/2,U32#/1,U41#/1,U51#/2,U52#/2,U61#/3,U62#/3,U63#/3,U64#/3,activate#/1,isNat#/1
,isNatKind#/1,plus#/2,s#/1} / {n__0/0,n__plus/2,n__s/1,tt/0,c_1/0,c_2/5,c_3/5,c_4/5,c_5/4,c_6/2,c_7/0,c_8/4
,c_9/2,c_10/0,c_11/2,c_12/0,c_13/0,c_14/4,c_15/1,c_16/5,c_17/5,c_18/5,c_19/2,c_20/0,c_21/1,c_22/2,c_23/1
,c_24/0,c_25/5,c_26/4,c_27/0,c_28/4,c_29/2,c_30/0,c_31/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {0#,U11#,U12#,U13#,U14#,U15#,U16#,U21#,U22#,U23#,U31#,U32#
,U41#,U51#,U52#,U61#,U62#,U63#,U64#,activate#,isNat#,isNatKind#,plus#,s#} and constructors {n__0,n__plus
,n__s,tt}
+ Applied Processor:
PredecessorEstimation {onSelection = all simple predecessor estimation selector}
+ Details:
We estimate the number of application of
{1}
by application of
Pre({1}) = {}.
Here rules are labelled as follows:
1: U61#(tt(),M,N) -> c_16(U62#(isNatKind(activate(M)),activate(M),activate(N))
,isNatKind#(activate(M))
,activate#(M)
,activate#(M)
,activate#(N))
2: U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
3: U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
4: U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
5: U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2))
,isNat#(activate(V1))
,activate#(V1)
,activate#(V2))
6: U15#(tt(),V2) -> c_6(isNat#(activate(V2)),activate#(V2))
7: U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
8: U22#(tt(),V1) -> c_9(isNat#(activate(V1)),activate#(V1))
9: U31#(tt(),V2) -> c_11(isNatKind#(activate(V2)),activate#(V2))
10: U51#(tt(),N) -> c_14(U52#(isNatKind(activate(N)),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(N))
11: U52#(tt(),N) -> c_15(activate#(N))
12: U62#(tt(),M,N) -> c_17(U63#(isNat(activate(N)),activate(M),activate(N))
,isNat#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
13: U63#(tt(),M,N) -> c_18(U64#(isNatKind(activate(N)),activate(M),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
14: U64#(tt(),M,N) -> c_19(activate#(N),activate#(M))
15: activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2))
16: activate#(n__s(X)) -> c_23(activate#(X))
17: isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
18: isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
19: isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2))
20: isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1))
*** Step 1.b:8.b:5: RemoveWeakSuffixes WORST_CASE(?,O(1))
+ Considered Problem:
- Weak DPs:
U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2))
,isNat#(activate(V1))
,activate#(V1)
,activate#(V2))
U15#(tt(),V2) -> c_6(isNat#(activate(V2)),activate#(V2))
U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
U22#(tt(),V1) -> c_9(isNat#(activate(V1)),activate#(V1))
U31#(tt(),V2) -> c_11(isNatKind#(activate(V2)),activate#(V2))
U51#(tt(),N) -> c_14(U52#(isNatKind(activate(N)),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(N))
U52#(tt(),N) -> c_15(activate#(N))
U61#(tt(),M,N) -> c_16(U62#(isNatKind(activate(M)),activate(M),activate(N))
,isNatKind#(activate(M))
,activate#(M)
,activate#(M)
,activate#(N))
U62#(tt(),M,N) -> c_17(U63#(isNat(activate(N)),activate(M),activate(N))
,isNat#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
U63#(tt(),M,N) -> c_18(U64#(isNatKind(activate(N)),activate(M),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
U64#(tt(),M,N) -> c_19(activate#(N),activate#(M))
activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2))
activate#(n__s(X)) -> c_23(activate#(X))
isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2))
isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1))
- Weak TRS:
0() -> n__0()
U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2))
U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2))
U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2))
U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2))
U15(tt(),V2) -> U16(isNat(activate(V2)))
U16(tt()) -> tt()
U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1))
U22(tt(),V1) -> U23(isNat(activate(V1)))
U23(tt()) -> tt()
U31(tt(),V2) -> U32(isNatKind(activate(V2)))
U32(tt()) -> tt()
U41(tt()) -> tt()
activate(X) -> X
activate(n__0()) -> 0()
activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2))
activate(n__s(X)) -> s(activate(X))
isNat(n__0()) -> tt()
isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2))
isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1))
isNatKind(n__0()) -> tt()
isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2))
isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1)))
plus(X1,X2) -> n__plus(X1,X2)
s(X) -> n__s(X)
- Signature:
{0/0,U11/3,U12/3,U13/3,U14/3,U15/2,U16/1,U21/2,U22/2,U23/1,U31/2,U32/1,U41/1,U51/2,U52/2,U61/3,U62/3,U63/3
,U64/3,activate/1,isNat/1,isNatKind/1,plus/2,s/1,0#/0,U11#/3,U12#/3,U13#/3,U14#/3,U15#/2,U16#/1,U21#/2
,U22#/2,U23#/1,U31#/2,U32#/1,U41#/1,U51#/2,U52#/2,U61#/3,U62#/3,U63#/3,U64#/3,activate#/1,isNat#/1
,isNatKind#/1,plus#/2,s#/1} / {n__0/0,n__plus/2,n__s/1,tt/0,c_1/0,c_2/5,c_3/5,c_4/5,c_5/4,c_6/2,c_7/0,c_8/4
,c_9/2,c_10/0,c_11/2,c_12/0,c_13/0,c_14/4,c_15/1,c_16/5,c_17/5,c_18/5,c_19/2,c_20/0,c_21/1,c_22/2,c_23/1
,c_24/0,c_25/5,c_26/4,c_27/0,c_28/4,c_29/2,c_30/0,c_31/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {0#,U11#,U12#,U13#,U14#,U15#,U16#,U21#,U22#,U23#,U31#,U32#
,U41#,U51#,U52#,U61#,U62#,U63#,U64#,activate#,isNat#,isNatKind#,plus#,s#} and constructors {n__0,n__plus
,n__s,tt}
+ Applied Processor:
RemoveWeakSuffixes
+ Details:
Consider the dependency graph
1:W:U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
-->_2 isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1)):20
-->_2 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):19
-->_5 activate#(n__s(X)) -> c_23(activate#(X)):16
-->_4 activate#(n__s(X)) -> c_23(activate#(X)):16
-->_3 activate#(n__s(X)) -> c_23(activate#(X)):16
-->_5 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):15
-->_4 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):15
-->_3 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):15
-->_1 U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2)):2
2:W:U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
-->_2 isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1)):20
-->_2 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):19
-->_5 activate#(n__s(X)) -> c_23(activate#(X)):16
-->_4 activate#(n__s(X)) -> c_23(activate#(X)):16
-->_3 activate#(n__s(X)) -> c_23(activate#(X)):16
-->_5 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):15
-->_4 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):15
-->_3 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):15
-->_1 U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2)):3
3:W:U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
-->_2 isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1)):20
-->_2 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):19
-->_5 activate#(n__s(X)) -> c_23(activate#(X)):16
-->_4 activate#(n__s(X)) -> c_23(activate#(X)):16
-->_3 activate#(n__s(X)) -> c_23(activate#(X)):16
-->_5 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):15
-->_4 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):15
-->_3 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):15
-->_1 U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2))
,isNat#(activate(V1))
,activate#(V1)
,activate#(V2)):4
4:W:U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2))
,isNat#(activate(V1))
,activate#(V1)
,activate#(V2))
-->_2 isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)):18
-->_2 isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2)):17
-->_4 activate#(n__s(X)) -> c_23(activate#(X)):16
-->_3 activate#(n__s(X)) -> c_23(activate#(X)):16
-->_4 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):15
-->_3 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):15
-->_1 U15#(tt(),V2) -> c_6(isNat#(activate(V2)),activate#(V2)):5
5:W:U15#(tt(),V2) -> c_6(isNat#(activate(V2)),activate#(V2))
-->_1 isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)):18
-->_1 isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2)):17
-->_2 activate#(n__s(X)) -> c_23(activate#(X)):16
-->_2 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):15
6:W:U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
-->_2 isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1)):20
-->_2 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):19
-->_4 activate#(n__s(X)) -> c_23(activate#(X)):16
-->_3 activate#(n__s(X)) -> c_23(activate#(X)):16
-->_4 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):15
-->_3 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):15
-->_1 U22#(tt(),V1) -> c_9(isNat#(activate(V1)),activate#(V1)):7
7:W:U22#(tt(),V1) -> c_9(isNat#(activate(V1)),activate#(V1))
-->_1 isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)):18
-->_1 isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2)):17
-->_2 activate#(n__s(X)) -> c_23(activate#(X)):16
-->_2 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):15
8:W:U31#(tt(),V2) -> c_11(isNatKind#(activate(V2)),activate#(V2))
-->_1 isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1)):20
-->_1 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):19
-->_2 activate#(n__s(X)) -> c_23(activate#(X)):16
-->_2 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):15
9:W:U51#(tt(),N) -> c_14(U52#(isNatKind(activate(N)),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(N))
-->_2 isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1)):20
-->_2 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):19
-->_4 activate#(n__s(X)) -> c_23(activate#(X)):16
-->_3 activate#(n__s(X)) -> c_23(activate#(X)):16
-->_4 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):15
-->_3 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):15
-->_1 U52#(tt(),N) -> c_15(activate#(N)):10
10:W:U52#(tt(),N) -> c_15(activate#(N))
-->_1 activate#(n__s(X)) -> c_23(activate#(X)):16
-->_1 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):15
11:W:U61#(tt(),M,N) -> c_16(U62#(isNatKind(activate(M)),activate(M),activate(N))
,isNatKind#(activate(M))
,activate#(M)
,activate#(M)
,activate#(N))
-->_2 isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1)):20
-->_2 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):19
-->_5 activate#(n__s(X)) -> c_23(activate#(X)):16
-->_4 activate#(n__s(X)) -> c_23(activate#(X)):16
-->_3 activate#(n__s(X)) -> c_23(activate#(X)):16
-->_5 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):15
-->_4 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):15
-->_3 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):15
-->_1 U62#(tt(),M,N) -> c_17(U63#(isNat(activate(N)),activate(M),activate(N))
,isNat#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N)):12
12:W:U62#(tt(),M,N) -> c_17(U63#(isNat(activate(N)),activate(M),activate(N))
,isNat#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
-->_2 isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)):18
-->_2 isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2)):17
-->_5 activate#(n__s(X)) -> c_23(activate#(X)):16
-->_4 activate#(n__s(X)) -> c_23(activate#(X)):16
-->_3 activate#(n__s(X)) -> c_23(activate#(X)):16
-->_5 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):15
-->_4 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):15
-->_3 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):15
-->_1 U63#(tt(),M,N) -> c_18(U64#(isNatKind(activate(N)),activate(M),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N)):13
13:W:U63#(tt(),M,N) -> c_18(U64#(isNatKind(activate(N)),activate(M),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
-->_2 isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1)):20
-->_2 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):19
-->_5 activate#(n__s(X)) -> c_23(activate#(X)):16
-->_4 activate#(n__s(X)) -> c_23(activate#(X)):16
-->_3 activate#(n__s(X)) -> c_23(activate#(X)):16
-->_5 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):15
-->_4 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):15
-->_3 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):15
-->_1 U64#(tt(),M,N) -> c_19(activate#(N),activate#(M)):14
14:W:U64#(tt(),M,N) -> c_19(activate#(N),activate#(M))
-->_2 activate#(n__s(X)) -> c_23(activate#(X)):16
-->_1 activate#(n__s(X)) -> c_23(activate#(X)):16
-->_2 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):15
-->_1 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):15
15:W:activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2))
-->_2 activate#(n__s(X)) -> c_23(activate#(X)):16
-->_1 activate#(n__s(X)) -> c_23(activate#(X)):16
-->_2 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):15
-->_1 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):15
16:W:activate#(n__s(X)) -> c_23(activate#(X))
-->_1 activate#(n__s(X)) -> c_23(activate#(X)):16
-->_1 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):15
17:W:isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
-->_2 isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1)):20
-->_2 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):19
-->_5 activate#(n__s(X)) -> c_23(activate#(X)):16
-->_4 activate#(n__s(X)) -> c_23(activate#(X)):16
-->_3 activate#(n__s(X)) -> c_23(activate#(X)):16
-->_5 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):15
-->_4 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):15
-->_3 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):15
-->_1 U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2)):1
18:W:isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
-->_2 isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1)):20
-->_2 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):19
-->_4 activate#(n__s(X)) -> c_23(activate#(X)):16
-->_3 activate#(n__s(X)) -> c_23(activate#(X)):16
-->_4 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):15
-->_3 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):15
-->_1 U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)):6
19:W:isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2))
-->_2 isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1)):20
-->_2 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):19
-->_4 activate#(n__s(X)) -> c_23(activate#(X)):16
-->_3 activate#(n__s(X)) -> c_23(activate#(X)):16
-->_4 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):15
-->_3 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):15
-->_1 U31#(tt(),V2) -> c_11(isNatKind#(activate(V2)),activate#(V2)):8
20:W:isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1))
-->_1 isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1)):20
-->_1 isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2)):19
-->_2 activate#(n__s(X)) -> c_23(activate#(X)):16
-->_2 activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2)):15
The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
11: U61#(tt(),M,N) -> c_16(U62#(isNatKind(activate(M)),activate(M),activate(N))
,isNatKind#(activate(M))
,activate#(M)
,activate#(M)
,activate#(N))
12: U62#(tt(),M,N) -> c_17(U63#(isNat(activate(N)),activate(M),activate(N))
,isNat#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
13: U63#(tt(),M,N) -> c_18(U64#(isNatKind(activate(N)),activate(M),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(M)
,activate#(N))
14: U64#(tt(),M,N) -> c_19(activate#(N),activate#(M))
9: U51#(tt(),N) -> c_14(U52#(isNatKind(activate(N)),activate(N))
,isNatKind#(activate(N))
,activate#(N)
,activate#(N))
10: U52#(tt(),N) -> c_15(activate#(N))
1: U11#(tt(),V1,V2) -> c_2(U12#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
17: isNat#(n__plus(V1,V2)) -> c_25(U11#(isNatKind(activate(V1)),activate(V1),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1)
,activate#(V2))
7: U22#(tt(),V1) -> c_9(isNat#(activate(V1)),activate#(V1))
6: U21#(tt(),V1) -> c_8(U22#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
18: isNat#(n__s(V1)) -> c_26(U21#(isNatKind(activate(V1)),activate(V1))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V1))
5: U15#(tt(),V2) -> c_6(isNat#(activate(V2)),activate#(V2))
4: U14#(tt(),V1,V2) -> c_5(U15#(isNat(activate(V1)),activate(V2))
,isNat#(activate(V1))
,activate#(V1)
,activate#(V2))
3: U13#(tt(),V1,V2) -> c_4(U14#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
2: U12#(tt(),V1,V2) -> c_3(U13#(isNatKind(activate(V2)),activate(V1),activate(V2))
,isNatKind#(activate(V2))
,activate#(V2)
,activate#(V1)
,activate#(V2))
20: isNatKind#(n__s(V1)) -> c_29(isNatKind#(activate(V1)),activate#(V1))
19: isNatKind#(n__plus(V1,V2)) -> c_28(U31#(isNatKind(activate(V1)),activate(V2))
,isNatKind#(activate(V1))
,activate#(V1)
,activate#(V2))
8: U31#(tt(),V2) -> c_11(isNatKind#(activate(V2)),activate#(V2))
16: activate#(n__s(X)) -> c_23(activate#(X))
15: activate#(n__plus(X1,X2)) -> c_22(activate#(X1),activate#(X2))
*** Step 1.b:8.b:6: EmptyProcessor WORST_CASE(?,O(1))
+ Considered Problem:
- Weak TRS:
0() -> n__0()
U11(tt(),V1,V2) -> U12(isNatKind(activate(V1)),activate(V1),activate(V2))
U12(tt(),V1,V2) -> U13(isNatKind(activate(V2)),activate(V1),activate(V2))
U13(tt(),V1,V2) -> U14(isNatKind(activate(V2)),activate(V1),activate(V2))
U14(tt(),V1,V2) -> U15(isNat(activate(V1)),activate(V2))
U15(tt(),V2) -> U16(isNat(activate(V2)))
U16(tt()) -> tt()
U21(tt(),V1) -> U22(isNatKind(activate(V1)),activate(V1))
U22(tt(),V1) -> U23(isNat(activate(V1)))
U23(tt()) -> tt()
U31(tt(),V2) -> U32(isNatKind(activate(V2)))
U32(tt()) -> tt()
U41(tt()) -> tt()
activate(X) -> X
activate(n__0()) -> 0()
activate(n__plus(X1,X2)) -> plus(activate(X1),activate(X2))
activate(n__s(X)) -> s(activate(X))
isNat(n__0()) -> tt()
isNat(n__plus(V1,V2)) -> U11(isNatKind(activate(V1)),activate(V1),activate(V2))
isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1))
isNatKind(n__0()) -> tt()
isNatKind(n__plus(V1,V2)) -> U31(isNatKind(activate(V1)),activate(V2))
isNatKind(n__s(V1)) -> U41(isNatKind(activate(V1)))
plus(X1,X2) -> n__plus(X1,X2)
s(X) -> n__s(X)
- Signature:
{0/0,U11/3,U12/3,U13/3,U14/3,U15/2,U16/1,U21/2,U22/2,U23/1,U31/2,U32/1,U41/1,U51/2,U52/2,U61/3,U62/3,U63/3
,U64/3,activate/1,isNat/1,isNatKind/1,plus/2,s/1,0#/0,U11#/3,U12#/3,U13#/3,U14#/3,U15#/2,U16#/1,U21#/2
,U22#/2,U23#/1,U31#/2,U32#/1,U41#/1,U51#/2,U52#/2,U61#/3,U62#/3,U63#/3,U64#/3,activate#/1,isNat#/1
,isNatKind#/1,plus#/2,s#/1} / {n__0/0,n__plus/2,n__s/1,tt/0,c_1/0,c_2/5,c_3/5,c_4/5,c_5/4,c_6/2,c_7/0,c_8/4
,c_9/2,c_10/0,c_11/2,c_12/0,c_13/0,c_14/4,c_15/1,c_16/5,c_17/5,c_18/5,c_19/2,c_20/0,c_21/1,c_22/2,c_23/1
,c_24/0,c_25/5,c_26/4,c_27/0,c_28/4,c_29/2,c_30/0,c_31/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {0#,U11#,U12#,U13#,U14#,U15#,U16#,U21#,U22#,U23#,U31#,U32#
,U41#,U51#,U52#,U61#,U62#,U63#,U64#,activate#,isNat#,isNatKind#,plus#,s#} and constructors {n__0,n__plus
,n__s,tt}
+ Applied Processor:
EmptyProcessor
+ Details:
The problem is already closed. The intended complexity is O(1).
WORST_CASE(Omega(n^1),O(n^3))