WORST_CASE(?,O(n^1)) * Step 1: NaturalMI WORST_CASE(?,O(n^1)) + Considered Problem: - Strict TRS: sqr(x) -> *(x,x) sum(0()) -> 0() sum(s(x)) -> +(*(s(x),s(x)),sum(x)) sum(s(x)) -> +(sqr(s(x)),sum(x)) - Signature: {sqr/1,sum/1} / {*/2,+/2,0/0,s/1} - Obligation: innermost runtime complexity wrt. defined symbols {sqr,sum} and constructors {*,+,0,s} + Applied Processor: NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just any strict-rules} + Details: We apply a matrix interpretation of kind constructor based matrix interpretation: The following argument positions are considered usable: uargs(+) = {1,2} Following symbols are considered usable: {sqr,sum} TcT has computed the following interpretation: p(*) = [0] p(+) = [1] x1 + [1] x2 + [0] p(0) = [2] p(s) = [1] x1 + [0] p(sqr) = [0] p(sum) = [8] x1 + [0] Following rules are strictly oriented: sum(0()) = [16] > [2] = 0() Following rules are (at-least) weakly oriented: sqr(x) = [0] >= [0] = *(x,x) sum(s(x)) = [8] x + [0] >= [8] x + [0] = +(*(s(x),s(x)),sum(x)) sum(s(x)) = [8] x + [0] >= [8] x + [0] = +(sqr(s(x)),sum(x)) * Step 2: WeightGap WORST_CASE(?,O(n^1)) + Considered Problem: - Strict TRS: sqr(x) -> *(x,x) sum(s(x)) -> +(*(s(x),s(x)),sum(x)) sum(s(x)) -> +(sqr(s(x)),sum(x)) - Weak TRS: sum(0()) -> 0() - Signature: {sqr/1,sum/1} / {*/2,+/2,0/0,s/1} - Obligation: innermost runtime complexity wrt. defined symbols {sqr,sum} and constructors {*,+,0,s} + Applied Processor: WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny} + Details: The weightgap principle applies using the following nonconstant growth matrix-interpretation: We apply a matrix interpretation of kind constructor based matrix interpretation: The following argument positions are considered usable: uargs(+) = {1,2} Following symbols are considered usable: all TcT has computed the following interpretation: p(*) = [3] p(+) = [1] x1 + [1] x2 + [7] p(0) = [0] p(s) = [0] p(sqr) = [1] x1 + [4] p(sum) = [1] Following rules are strictly oriented: sqr(x) = [1] x + [4] > [3] = *(x,x) Following rules are (at-least) weakly oriented: sum(0()) = [1] >= [0] = 0() sum(s(x)) = [1] >= [11] = +(*(s(x),s(x)),sum(x)) sum(s(x)) = [1] >= [12] = +(sqr(s(x)),sum(x)) Further, it can be verified that all rules not oriented are covered by the weightgap condition. * Step 3: WeightGap WORST_CASE(?,O(n^1)) + Considered Problem: - Strict TRS: sum(s(x)) -> +(*(s(x),s(x)),sum(x)) sum(s(x)) -> +(sqr(s(x)),sum(x)) - Weak TRS: sqr(x) -> *(x,x) sum(0()) -> 0() - Signature: {sqr/1,sum/1} / {*/2,+/2,0/0,s/1} - Obligation: innermost runtime complexity wrt. defined symbols {sqr,sum} and constructors {*,+,0,s} + Applied Processor: WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny} + Details: The weightgap principle applies using the following nonconstant growth matrix-interpretation: We apply a matrix interpretation of kind constructor based matrix interpretation: The following argument positions are considered usable: uargs(+) = {1,2} Following symbols are considered usable: all TcT has computed the following interpretation: p(*) = [1] p(+) = [1] x1 + [1] x2 + [0] p(0) = [10] p(s) = [1] x1 + [2] p(sqr) = [1] p(sum) = [1] x1 + [0] Following rules are strictly oriented: sum(s(x)) = [1] x + [2] > [1] x + [1] = +(*(s(x),s(x)),sum(x)) sum(s(x)) = [1] x + [2] > [1] x + [1] = +(sqr(s(x)),sum(x)) Following rules are (at-least) weakly oriented: sqr(x) = [1] >= [1] = *(x,x) sum(0()) = [10] >= [10] = 0() Further, it can be verified that all rules not oriented are covered by the weightgap condition. * Step 4: EmptyProcessor WORST_CASE(?,O(1)) + Considered Problem: - Weak TRS: sqr(x) -> *(x,x) sum(0()) -> 0() sum(s(x)) -> +(*(s(x),s(x)),sum(x)) sum(s(x)) -> +(sqr(s(x)),sum(x)) - Signature: {sqr/1,sum/1} / {*/2,+/2,0/0,s/1} - Obligation: innermost runtime complexity wrt. defined symbols {sqr,sum} and constructors {*,+,0,s} + Applied Processor: EmptyProcessor + Details: The problem is already closed. The intended complexity is O(1). WORST_CASE(?,O(n^1))