* Step 1: Sum WORST_CASE(Omega(n^1),O(n^1)) + Considered Problem: - Strict TRS: a(C(x1,x2),y) -> C(a(x1,y),a(x2,C(x1,x2))) a(Z(),y) -> Z() eqZList(C(x1,x2),C(y1,y2)) -> and(eqZList(x1,y1),eqZList(x2,y2)) eqZList(C(x1,x2),Z()) -> False() eqZList(Z(),C(y1,y2)) -> False() eqZList(Z(),Z()) -> True() first(C(x1,x2)) -> x1 second(C(x1,x2)) -> x2 - Weak TRS: and(False(),False()) -> False() and(False(),True()) -> False() and(True(),False()) -> False() and(True(),True()) -> True() - Signature: {a/2,and/2,eqZList/2,first/1,second/1} / {C/2,False/0,True/0,Z/0} - Obligation: innermost runtime complexity wrt. defined symbols {a,and,eqZList,first,second} and constructors {C,False ,True,Z} + Applied Processor: Sum {left = someStrategy, right = someStrategy} + Details: () ** Step 1.a:1: DecreasingLoops WORST_CASE(Omega(n^1),?) + Considered Problem: - Strict TRS: a(C(x1,x2),y) -> C(a(x1,y),a(x2,C(x1,x2))) a(Z(),y) -> Z() eqZList(C(x1,x2),C(y1,y2)) -> and(eqZList(x1,y1),eqZList(x2,y2)) eqZList(C(x1,x2),Z()) -> False() eqZList(Z(),C(y1,y2)) -> False() eqZList(Z(),Z()) -> True() first(C(x1,x2)) -> x1 second(C(x1,x2)) -> x2 - Weak TRS: and(False(),False()) -> False() and(False(),True()) -> False() and(True(),False()) -> False() and(True(),True()) -> True() - Signature: {a/2,and/2,eqZList/2,first/1,second/1} / {C/2,False/0,True/0,Z/0} - Obligation: innermost runtime complexity wrt. defined symbols {a,and,eqZList,first,second} and constructors {C,False ,True,Z} + Applied Processor: DecreasingLoops {bound = AnyLoop, narrow = 10} + Details: The system has following decreasing Loops: a(x,z){x -> C(x,y)} = a(C(x,y),z) ->^+ C(a(x,z),a(y,C(x,y))) = C[a(x,z) = a(x,z){}] ** Step 1.b:1: WeightGap WORST_CASE(?,O(n^1)) + Considered Problem: - Strict TRS: a(C(x1,x2),y) -> C(a(x1,y),a(x2,C(x1,x2))) a(Z(),y) -> Z() eqZList(C(x1,x2),C(y1,y2)) -> and(eqZList(x1,y1),eqZList(x2,y2)) eqZList(C(x1,x2),Z()) -> False() eqZList(Z(),C(y1,y2)) -> False() eqZList(Z(),Z()) -> True() first(C(x1,x2)) -> x1 second(C(x1,x2)) -> x2 - Weak TRS: and(False(),False()) -> False() and(False(),True()) -> False() and(True(),False()) -> False() and(True(),True()) -> True() - Signature: {a/2,and/2,eqZList/2,first/1,second/1} / {C/2,False/0,True/0,Z/0} - Obligation: innermost runtime complexity wrt. defined symbols {a,and,eqZList,first,second} and constructors {C,False ,True,Z} + 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(C) = {1,2}, uargs(and) = {1,2} Following symbols are considered usable: all TcT has computed the following interpretation: p(C) = [1] x1 + [1] x2 + [8] p(False) = [0] p(True) = [10] p(Z) = [4] p(a) = [0] p(and) = [1] x1 + [1] x2 + [9] p(eqZList) = [1] p(first) = [3] x1 + [0] p(second) = [3] x1 + [5] Following rules are strictly oriented: eqZList(C(x1,x2),Z()) = [1] > [0] = False() eqZList(Z(),C(y1,y2)) = [1] > [0] = False() first(C(x1,x2)) = [3] x1 + [3] x2 + [24] > [1] x1 + [0] = x1 second(C(x1,x2)) = [3] x1 + [3] x2 + [29] > [1] x2 + [0] = x2 Following rules are (at-least) weakly oriented: a(C(x1,x2),y) = [0] >= [8] = C(a(x1,y),a(x2,C(x1,x2))) a(Z(),y) = [0] >= [4] = Z() and(False(),False()) = [9] >= [0] = False() and(False(),True()) = [19] >= [0] = False() and(True(),False()) = [19] >= [0] = False() and(True(),True()) = [29] >= [10] = True() eqZList(C(x1,x2),C(y1,y2)) = [1] >= [11] = and(eqZList(x1,y1),eqZList(x2,y2)) eqZList(Z(),Z()) = [1] >= [10] = True() Further, it can be verified that all rules not oriented are covered by the weightgap condition. ** Step 1.b:2: WeightGap WORST_CASE(?,O(n^1)) + Considered Problem: - Strict TRS: a(C(x1,x2),y) -> C(a(x1,y),a(x2,C(x1,x2))) a(Z(),y) -> Z() eqZList(C(x1,x2),C(y1,y2)) -> and(eqZList(x1,y1),eqZList(x2,y2)) eqZList(Z(),Z()) -> True() - Weak TRS: and(False(),False()) -> False() and(False(),True()) -> False() and(True(),False()) -> False() and(True(),True()) -> True() eqZList(C(x1,x2),Z()) -> False() eqZList(Z(),C(y1,y2)) -> False() first(C(x1,x2)) -> x1 second(C(x1,x2)) -> x2 - Signature: {a/2,and/2,eqZList/2,first/1,second/1} / {C/2,False/0,True/0,Z/0} - Obligation: innermost runtime complexity wrt. defined symbols {a,and,eqZList,first,second} and constructors {C,False ,True,Z} + 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(C) = {1,2}, uargs(and) = {1,2} Following symbols are considered usable: all TcT has computed the following interpretation: p(C) = [1] x1 + [1] x2 + [0] p(False) = [4] p(True) = [8] p(Z) = [2] p(a) = [8] p(and) = [1] x1 + [1] x2 + [0] p(eqZList) = [8] x2 + [4] p(first) = [1] x1 + [1] p(second) = [4] x1 + [13] Following rules are strictly oriented: a(Z(),y) = [8] > [2] = Z() eqZList(Z(),Z()) = [20] > [8] = True() Following rules are (at-least) weakly oriented: a(C(x1,x2),y) = [8] >= [16] = C(a(x1,y),a(x2,C(x1,x2))) and(False(),False()) = [8] >= [4] = False() and(False(),True()) = [12] >= [4] = False() and(True(),False()) = [12] >= [4] = False() and(True(),True()) = [16] >= [8] = True() eqZList(C(x1,x2),C(y1,y2)) = [8] y1 + [8] y2 + [4] >= [8] y1 + [8] y2 + [8] = and(eqZList(x1,y1),eqZList(x2,y2)) eqZList(C(x1,x2),Z()) = [20] >= [4] = False() eqZList(Z(),C(y1,y2)) = [8] y1 + [8] y2 + [4] >= [4] = False() first(C(x1,x2)) = [1] x1 + [1] x2 + [1] >= [1] x1 + [0] = x1 second(C(x1,x2)) = [4] x1 + [4] x2 + [13] >= [1] x2 + [0] = x2 Further, it can be verified that all rules not oriented are covered by the weightgap condition. ** Step 1.b:3: WeightGap WORST_CASE(?,O(n^1)) + Considered Problem: - Strict TRS: a(C(x1,x2),y) -> C(a(x1,y),a(x2,C(x1,x2))) eqZList(C(x1,x2),C(y1,y2)) -> and(eqZList(x1,y1),eqZList(x2,y2)) - Weak TRS: a(Z(),y) -> Z() and(False(),False()) -> False() and(False(),True()) -> False() and(True(),False()) -> False() and(True(),True()) -> True() eqZList(C(x1,x2),Z()) -> False() eqZList(Z(),C(y1,y2)) -> False() eqZList(Z(),Z()) -> True() first(C(x1,x2)) -> x1 second(C(x1,x2)) -> x2 - Signature: {a/2,and/2,eqZList/2,first/1,second/1} / {C/2,False/0,True/0,Z/0} - Obligation: innermost runtime complexity wrt. defined symbols {a,and,eqZList,first,second} and constructors {C,False ,True,Z} + 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(C) = {1,2}, uargs(and) = {1,2} Following symbols are considered usable: all TcT has computed the following interpretation: p(C) = [1] x1 + [1] x2 + [8] p(False) = [0] p(True) = [0] p(Z) = [0] p(a) = [2] x1 + [6] p(and) = [1] x1 + [1] x2 + [0] p(eqZList) = [0] p(first) = [2] x1 + [2] p(second) = [1] x1 + [4] Following rules are strictly oriented: a(C(x1,x2),y) = [2] x1 + [2] x2 + [22] > [2] x1 + [2] x2 + [20] = C(a(x1,y),a(x2,C(x1,x2))) Following rules are (at-least) weakly oriented: a(Z(),y) = [6] >= [0] = Z() and(False(),False()) = [0] >= [0] = False() and(False(),True()) = [0] >= [0] = False() and(True(),False()) = [0] >= [0] = False() and(True(),True()) = [0] >= [0] = True() eqZList(C(x1,x2),C(y1,y2)) = [0] >= [0] = and(eqZList(x1,y1),eqZList(x2,y2)) eqZList(C(x1,x2),Z()) = [0] >= [0] = False() eqZList(Z(),C(y1,y2)) = [0] >= [0] = False() eqZList(Z(),Z()) = [0] >= [0] = True() first(C(x1,x2)) = [2] x1 + [2] x2 + [18] >= [1] x1 + [0] = x1 second(C(x1,x2)) = [1] x1 + [1] x2 + [12] >= [1] x2 + [0] = x2 Further, it can be verified that all rules not oriented are covered by the weightgap condition. ** Step 1.b:4: WeightGap WORST_CASE(?,O(n^1)) + Considered Problem: - Strict TRS: eqZList(C(x1,x2),C(y1,y2)) -> and(eqZList(x1,y1),eqZList(x2,y2)) - Weak TRS: a(C(x1,x2),y) -> C(a(x1,y),a(x2,C(x1,x2))) a(Z(),y) -> Z() and(False(),False()) -> False() and(False(),True()) -> False() and(True(),False()) -> False() and(True(),True()) -> True() eqZList(C(x1,x2),Z()) -> False() eqZList(Z(),C(y1,y2)) -> False() eqZList(Z(),Z()) -> True() first(C(x1,x2)) -> x1 second(C(x1,x2)) -> x2 - Signature: {a/2,and/2,eqZList/2,first/1,second/1} / {C/2,False/0,True/0,Z/0} - Obligation: innermost runtime complexity wrt. defined symbols {a,and,eqZList,first,second} and constructors {C,False ,True,Z} + 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(C) = {1,2}, uargs(and) = {1,2} Following symbols are considered usable: all TcT has computed the following interpretation: p(C) = [1] x1 + [1] x2 + [2] p(False) = [12] p(True) = [0] p(Z) = [2] p(a) = [8] x1 + [0] p(and) = [1] x1 + [1] x2 + [2] p(eqZList) = [4] x2 + [5] p(first) = [1] x1 + [4] p(second) = [14] x1 + [2] Following rules are strictly oriented: eqZList(C(x1,x2),C(y1,y2)) = [4] y1 + [4] y2 + [13] > [4] y1 + [4] y2 + [12] = and(eqZList(x1,y1),eqZList(x2,y2)) Following rules are (at-least) weakly oriented: a(C(x1,x2),y) = [8] x1 + [8] x2 + [16] >= [8] x1 + [8] x2 + [2] = C(a(x1,y),a(x2,C(x1,x2))) a(Z(),y) = [16] >= [2] = Z() and(False(),False()) = [26] >= [12] = False() and(False(),True()) = [14] >= [12] = False() and(True(),False()) = [14] >= [12] = False() and(True(),True()) = [2] >= [0] = True() eqZList(C(x1,x2),Z()) = [13] >= [12] = False() eqZList(Z(),C(y1,y2)) = [4] y1 + [4] y2 + [13] >= [12] = False() eqZList(Z(),Z()) = [13] >= [0] = True() first(C(x1,x2)) = [1] x1 + [1] x2 + [6] >= [1] x1 + [0] = x1 second(C(x1,x2)) = [14] x1 + [14] x2 + [30] >= [1] x2 + [0] = x2 Further, it can be verified that all rules not oriented are covered by the weightgap condition. ** Step 1.b:5: EmptyProcessor WORST_CASE(?,O(1)) + Considered Problem: - Weak TRS: a(C(x1,x2),y) -> C(a(x1,y),a(x2,C(x1,x2))) a(Z(),y) -> Z() and(False(),False()) -> False() and(False(),True()) -> False() and(True(),False()) -> False() and(True(),True()) -> True() eqZList(C(x1,x2),C(y1,y2)) -> and(eqZList(x1,y1),eqZList(x2,y2)) eqZList(C(x1,x2),Z()) -> False() eqZList(Z(),C(y1,y2)) -> False() eqZList(Z(),Z()) -> True() first(C(x1,x2)) -> x1 second(C(x1,x2)) -> x2 - Signature: {a/2,and/2,eqZList/2,first/1,second/1} / {C/2,False/0,True/0,Z/0} - Obligation: innermost runtime complexity wrt. defined symbols {a,and,eqZList,first,second} and constructors {C,False ,True,Z} + Applied Processor: EmptyProcessor + Details: The problem is already closed. The intended complexity is O(1). WORST_CASE(Omega(n^1),O(n^1))