tct-trs: Prelude.head: empty list tct-trs: Prelude.head: empty list tct-trs: Prelude.head: empty list tct-trs: Prelude.head: empty list WORST_CASE(Omega(n^1),?) * Step 1: Sum. WORST_CASE(Omega(n^1),?) + Considered Problem: - Strict TRS: F() -> c16() F() -> c17() HALF(0()) -> c() HALF(s(0())) -> c1() HALF(s(s(z0))) -> c2(HALF(z0)) IF(false(),z0,z1,z2) -> c13() IF(true(),false(),z0,s(z1)) -> c14() IF(true(),true(),z0,z1) -> c15(LOGITER(z0,z1)) INC(0()) -> c7() INC(s(z0)) -> c6(INC(z0)) LE(0(),z0) -> c3() LE(s(z0),0()) -> c4() LE(s(z0),s(z1)) -> c5(LE(z0,z1)) LOGARITHM(z0) -> c8(LOGITER(z0,0())) LOGITER(z0,z1) -> c10(IF(le(s(0()),z0),le(s(s(0())),z0),half(z0),inc(z1)),LE(s(s(0())),z0)) LOGITER(z0,z1) -> c11(IF(le(s(0()),z0),le(s(s(0())),z0),half(z0),inc(z1)),HALF(z0)) LOGITER(z0,z1) -> c12(IF(le(s(0()),z0),le(s(s(0())),z0),half(z0),inc(z1)),INC(z1)) LOGITER(z0,z1) -> c9(IF(le(s(0()),z0),le(s(s(0())),z0),half(z0),inc(z1)),LE(s(0()),z0)) - Weak TRS: f() -> g() f() -> h() half(0()) -> 0() half(s(0())) -> 0() half(s(s(z0))) -> s(half(z0)) if(false(),z0,z1,z2) -> logZeroError() if(true(),false(),z0,s(z1)) -> z1 if(true(),true(),z0,z1) -> logIter(z0,z1) inc(0()) -> s(0()) inc(s(z0)) -> s(inc(z0)) le(0(),z0) -> true() le(s(z0),0()) -> false() le(s(z0),s(z1)) -> le(z0,z1) logIter(z0,z1) -> if(le(s(0()),z0),le(s(s(0())),z0),half(z0),inc(z1)) logarithm(z0) -> logIter(z0,0()) - Signature: {F/0,HALF/1,IF/4,INC/1,LE/2,LOGARITHM/1,LOGITER/2,f/0,half/1,if/4,inc/1,le/2,logIter/2,logarithm/1} / {0/0 ,c/0,c1/0,c10/2,c11/2,c12/2,c13/0,c14/0,c15/1,c16/0,c17/0,c2/1,c3/0,c4/0,c5/1,c6/1,c7/0,c8/1,c9/2,false/0 ,g/0,h/0,logZeroError/0,s/1,true/0} - Obligation: innermost runtime complexity wrt. defined symbols {F,HALF,IF,INC,LE,LOGARITHM,LOGITER,f,half,if,inc,le ,logIter,logarithm} and constructors {0,c,c1,c10,c11,c12,c13,c14,c15,c16,c17,c2,c3,c4,c5,c6,c7,c8,c9,false,g ,h,logZeroError,s,true} + Applied Processor: Sum {left = someStrategy, right = someStrategy} + Details: () * Step 2: Sum. WORST_CASE(Omega(n^1),?) + Considered Problem: - Strict TRS: F() -> c16() F() -> c17() HALF(0()) -> c() HALF(s(0())) -> c1() HALF(s(s(z0))) -> c2(HALF(z0)) IF(false(),z0,z1,z2) -> c13() IF(true(),false(),z0,s(z1)) -> c14() IF(true(),true(),z0,z1) -> c15(LOGITER(z0,z1)) INC(0()) -> c7() INC(s(z0)) -> c6(INC(z0)) LE(0(),z0) -> c3() LE(s(z0),0()) -> c4() LE(s(z0),s(z1)) -> c5(LE(z0,z1)) LOGARITHM(z0) -> c8(LOGITER(z0,0())) LOGITER(z0,z1) -> c10(IF(le(s(0()),z0),le(s(s(0())),z0),half(z0),inc(z1)),LE(s(s(0())),z0)) LOGITER(z0,z1) -> c11(IF(le(s(0()),z0),le(s(s(0())),z0),half(z0),inc(z1)),HALF(z0)) LOGITER(z0,z1) -> c12(IF(le(s(0()),z0),le(s(s(0())),z0),half(z0),inc(z1)),INC(z1)) LOGITER(z0,z1) -> c9(IF(le(s(0()),z0),le(s(s(0())),z0),half(z0),inc(z1)),LE(s(0()),z0)) - Weak TRS: f() -> g() f() -> h() half(0()) -> 0() half(s(0())) -> 0() half(s(s(z0))) -> s(half(z0)) if(false(),z0,z1,z2) -> logZeroError() if(true(),false(),z0,s(z1)) -> z1 if(true(),true(),z0,z1) -> logIter(z0,z1) inc(0()) -> s(0()) inc(s(z0)) -> s(inc(z0)) le(0(),z0) -> true() le(s(z0),0()) -> false() le(s(z0),s(z1)) -> le(z0,z1) logIter(z0,z1) -> if(le(s(0()),z0),le(s(s(0())),z0),half(z0),inc(z1)) logarithm(z0) -> logIter(z0,0()) - Signature: {F/0,HALF/1,IF/4,INC/1,LE/2,LOGARITHM/1,LOGITER/2,f/0,half/1,if/4,inc/1,le/2,logIter/2,logarithm/1} / {0/0 ,c/0,c1/0,c10/2,c11/2,c12/2,c13/0,c14/0,c15/1,c16/0,c17/0,c2/1,c3/0,c4/0,c5/1,c6/1,c7/0,c8/1,c9/2,false/0 ,g/0,h/0,logZeroError/0,s/1,true/0} - Obligation: innermost runtime complexity wrt. defined symbols {F,HALF,IF,INC,LE,LOGARITHM,LOGITER,f,half,if,inc,le ,logIter,logarithm} and constructors {0,c,c1,c10,c11,c12,c13,c14,c15,c16,c17,c2,c3,c4,c5,c6,c7,c8,c9,false,g ,h,logZeroError,s,true} + Applied Processor: Sum {left = someStrategy, right = someStrategy} + Details: () * Step 3: DecreasingLoops. WORST_CASE(Omega(n^1),?) + Considered Problem: - Strict TRS: F() -> c16() F() -> c17() HALF(0()) -> c() HALF(s(0())) -> c1() HALF(s(s(z0))) -> c2(HALF(z0)) IF(false(),z0,z1,z2) -> c13() IF(true(),false(),z0,s(z1)) -> c14() IF(true(),true(),z0,z1) -> c15(LOGITER(z0,z1)) INC(0()) -> c7() INC(s(z0)) -> c6(INC(z0)) LE(0(),z0) -> c3() LE(s(z0),0()) -> c4() LE(s(z0),s(z1)) -> c5(LE(z0,z1)) LOGARITHM(z0) -> c8(LOGITER(z0,0())) LOGITER(z0,z1) -> c10(IF(le(s(0()),z0),le(s(s(0())),z0),half(z0),inc(z1)),LE(s(s(0())),z0)) LOGITER(z0,z1) -> c11(IF(le(s(0()),z0),le(s(s(0())),z0),half(z0),inc(z1)),HALF(z0)) LOGITER(z0,z1) -> c12(IF(le(s(0()),z0),le(s(s(0())),z0),half(z0),inc(z1)),INC(z1)) LOGITER(z0,z1) -> c9(IF(le(s(0()),z0),le(s(s(0())),z0),half(z0),inc(z1)),LE(s(0()),z0)) - Weak TRS: f() -> g() f() -> h() half(0()) -> 0() half(s(0())) -> 0() half(s(s(z0))) -> s(half(z0)) if(false(),z0,z1,z2) -> logZeroError() if(true(),false(),z0,s(z1)) -> z1 if(true(),true(),z0,z1) -> logIter(z0,z1) inc(0()) -> s(0()) inc(s(z0)) -> s(inc(z0)) le(0(),z0) -> true() le(s(z0),0()) -> false() le(s(z0),s(z1)) -> le(z0,z1) logIter(z0,z1) -> if(le(s(0()),z0),le(s(s(0())),z0),half(z0),inc(z1)) logarithm(z0) -> logIter(z0,0()) - Signature: {F/0,HALF/1,IF/4,INC/1,LE/2,LOGARITHM/1,LOGITER/2,f/0,half/1,if/4,inc/1,le/2,logIter/2,logarithm/1} / {0/0 ,c/0,c1/0,c10/2,c11/2,c12/2,c13/0,c14/0,c15/1,c16/0,c17/0,c2/1,c3/0,c4/0,c5/1,c6/1,c7/0,c8/1,c9/2,false/0 ,g/0,h/0,logZeroError/0,s/1,true/0} - Obligation: innermost runtime complexity wrt. defined symbols {F,HALF,IF,INC,LE,LOGARITHM,LOGITER,f,half,if,inc,le ,logIter,logarithm} and constructors {0,c,c1,c10,c11,c12,c13,c14,c15,c16,c17,c2,c3,c4,c5,c6,c7,c8,c9,false,g ,h,logZeroError,s,true} + Applied Processor: DecreasingLoops {bound = AnyLoop, narrow = 10} + Details: The system has following decreasing Loops: HALF(x){x -> s(s(x))} = HALF(s(s(x))) ->^+ c2(HALF(x)) = C[HALF(x) = HALF(x){}] WORST_CASE(Omega(n^1),?)