/export/starexec/sandbox/solver/bin/starexec_run_tct_rci /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- WORST_CASE(Omega(n^1),O(n^1)) * Step 1: Sum. WORST_CASE(Omega(n^1),O(n^1)) + Considered Problem: - Strict TRS: a(C(x1,x2),y,z) -> C(a(x1,y,z),a(x2,y,y)) a(Z(),y,z) -> 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/3,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: Sum. WORST_CASE(Omega(n^1),?) + Considered Problem: - Strict TRS: a(C(x1,x2),y,z) -> C(a(x1,y,z),a(x2,y,y)) a(Z(),y,z) -> 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/3,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:2: DecreasingLoops. WORST_CASE(Omega(n^1),?) + Considered Problem: - Strict TRS: a(C(x1,x2),y,z) -> C(a(x1,y,z),a(x2,y,y)) a(Z(),y,z) -> 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/3,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,u){x -> C(x,y)} = a(C(x,y),z,u) ->^+ C(a(x,z,u),a(y,z,z)) = C[a(x,z,u) = a(x,z,u){}] ** Step 1.b:1: DependencyPairs. WORST_CASE(?,O(n^1)) + Considered Problem: - Strict TRS: a(C(x1,x2),y,z) -> C(a(x1,y,z),a(x2,y,y)) a(Z(),y,z) -> 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/3,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: DependencyPairs {dpKind_ = DT} + Details: We add the following dependency tuples: Strict DPs a#(C(x1,x2),y,z) -> c_1(a#(x1,y,z),a#(x2,y,y)) a#(Z(),y,z) -> c_2() eqZList#(C(x1,x2),C(y1,y2)) -> c_3(and#(eqZList(x1,y1),eqZList(x2,y2)),eqZList#(x1,y1),eqZList#(x2,y2)) eqZList#(C(x1,x2),Z()) -> c_4() eqZList#(Z(),C(y1,y2)) -> c_5() eqZList#(Z(),Z()) -> c_6() first#(C(x1,x2)) -> c_7() second#(C(x1,x2)) -> c_8() Weak DPs and#(False(),False()) -> c_9() and#(False(),True()) -> c_10() and#(True(),False()) -> c_11() and#(True(),True()) -> c_12() and mark the set of starting terms. ** Step 1.b:2: PredecessorEstimation. WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: a#(C(x1,x2),y,z) -> c_1(a#(x1,y,z),a#(x2,y,y)) a#(Z(),y,z) -> c_2() eqZList#(C(x1,x2),C(y1,y2)) -> c_3(and#(eqZList(x1,y1),eqZList(x2,y2)),eqZList#(x1,y1),eqZList#(x2,y2)) eqZList#(C(x1,x2),Z()) -> c_4() eqZList#(Z(),C(y1,y2)) -> c_5() eqZList#(Z(),Z()) -> c_6() first#(C(x1,x2)) -> c_7() second#(C(x1,x2)) -> c_8() - Weak DPs: and#(False(),False()) -> c_9() and#(False(),True()) -> c_10() and#(True(),False()) -> c_11() and#(True(),True()) -> c_12() - Weak TRS: a(C(x1,x2),y,z) -> C(a(x1,y,z),a(x2,y,y)) a(Z(),y,z) -> 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/3,and/2,eqZList/2,first/1,second/1,a#/3,and#/2,eqZList#/2,first#/1,second#/1} / {C/2,False/0,True/0,Z/0 ,c_1/2,c_2/0,c_3/3,c_4/0,c_5/0,c_6/0,c_7/0,c_8/0,c_9/0,c_10/0,c_11/0,c_12/0} - Obligation: innermost runtime complexity wrt. defined symbols {a#,and#,eqZList#,first#,second#} and constructors {C ,False,True,Z} + Applied Processor: PredecessorEstimation {onSelection = all simple predecessor estimation selector} + Details: We estimate the number of application of {2,4,5,6,7,8} by application of Pre({2,4,5,6,7,8}) = {1,3}. Here rules are labelled as follows: 1: a#(C(x1,x2),y,z) -> c_1(a#(x1,y,z),a#(x2,y,y)) 2: a#(Z(),y,z) -> c_2() 3: eqZList#(C(x1,x2),C(y1,y2)) -> c_3(and#(eqZList(x1,y1),eqZList(x2,y2)),eqZList#(x1,y1),eqZList#(x2,y2)) 4: eqZList#(C(x1,x2),Z()) -> c_4() 5: eqZList#(Z(),C(y1,y2)) -> c_5() 6: eqZList#(Z(),Z()) -> c_6() 7: first#(C(x1,x2)) -> c_7() 8: second#(C(x1,x2)) -> c_8() 9: and#(False(),False()) -> c_9() 10: and#(False(),True()) -> c_10() 11: and#(True(),False()) -> c_11() 12: and#(True(),True()) -> c_12() ** Step 1.b:3: RemoveWeakSuffixes. WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: a#(C(x1,x2),y,z) -> c_1(a#(x1,y,z),a#(x2,y,y)) eqZList#(C(x1,x2),C(y1,y2)) -> c_3(and#(eqZList(x1,y1),eqZList(x2,y2)),eqZList#(x1,y1),eqZList#(x2,y2)) - Weak DPs: a#(Z(),y,z) -> c_2() and#(False(),False()) -> c_9() and#(False(),True()) -> c_10() and#(True(),False()) -> c_11() and#(True(),True()) -> c_12() eqZList#(C(x1,x2),Z()) -> c_4() eqZList#(Z(),C(y1,y2)) -> c_5() eqZList#(Z(),Z()) -> c_6() first#(C(x1,x2)) -> c_7() second#(C(x1,x2)) -> c_8() - Weak TRS: a(C(x1,x2),y,z) -> C(a(x1,y,z),a(x2,y,y)) a(Z(),y,z) -> 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/3,and/2,eqZList/2,first/1,second/1,a#/3,and#/2,eqZList#/2,first#/1,second#/1} / {C/2,False/0,True/0,Z/0 ,c_1/2,c_2/0,c_3/3,c_4/0,c_5/0,c_6/0,c_7/0,c_8/0,c_9/0,c_10/0,c_11/0,c_12/0} - Obligation: innermost runtime complexity wrt. defined symbols {a#,and#,eqZList#,first#,second#} and constructors {C ,False,True,Z} + Applied Processor: RemoveWeakSuffixes + Details: Consider the dependency graph 1:S:a#(C(x1,x2),y,z) -> c_1(a#(x1,y,z),a#(x2,y,y)) -->_2 a#(Z(),y,z) -> c_2():3 -->_1 a#(Z(),y,z) -> c_2():3 -->_2 a#(C(x1,x2),y,z) -> c_1(a#(x1,y,z),a#(x2,y,y)):1 -->_1 a#(C(x1,x2),y,z) -> c_1(a#(x1,y,z),a#(x2,y,y)):1 2:S:eqZList#(C(x1,x2),C(y1,y2)) -> c_3(and#(eqZList(x1,y1),eqZList(x2,y2)),eqZList#(x1,y1),eqZList#(x2,y2)) -->_3 eqZList#(Z(),Z()) -> c_6():10 -->_2 eqZList#(Z(),Z()) -> c_6():10 -->_3 eqZList#(Z(),C(y1,y2)) -> c_5():9 -->_2 eqZList#(Z(),C(y1,y2)) -> c_5():9 -->_3 eqZList#(C(x1,x2),Z()) -> c_4():8 -->_2 eqZList#(C(x1,x2),Z()) -> c_4():8 -->_1 and#(True(),True()) -> c_12():7 -->_1 and#(True(),False()) -> c_11():6 -->_1 and#(False(),True()) -> c_10():5 -->_1 and#(False(),False()) -> c_9():4 -->_3 eqZList#(C(x1,x2),C(y1,y2)) -> c_3(and#(eqZList(x1,y1),eqZList(x2,y2)) ,eqZList#(x1,y1) ,eqZList#(x2,y2)):2 -->_2 eqZList#(C(x1,x2),C(y1,y2)) -> c_3(and#(eqZList(x1,y1),eqZList(x2,y2)) ,eqZList#(x1,y1) ,eqZList#(x2,y2)):2 3:W:a#(Z(),y,z) -> c_2() 4:W:and#(False(),False()) -> c_9() 5:W:and#(False(),True()) -> c_10() 6:W:and#(True(),False()) -> c_11() 7:W:and#(True(),True()) -> c_12() 8:W:eqZList#(C(x1,x2),Z()) -> c_4() 9:W:eqZList#(Z(),C(y1,y2)) -> c_5() 10:W:eqZList#(Z(),Z()) -> c_6() 11:W:first#(C(x1,x2)) -> c_7() 12:W:second#(C(x1,x2)) -> c_8() The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed. 12: second#(C(x1,x2)) -> c_8() 11: first#(C(x1,x2)) -> c_7() 4: and#(False(),False()) -> c_9() 5: and#(False(),True()) -> c_10() 6: and#(True(),False()) -> c_11() 7: and#(True(),True()) -> c_12() 8: eqZList#(C(x1,x2),Z()) -> c_4() 9: eqZList#(Z(),C(y1,y2)) -> c_5() 10: eqZList#(Z(),Z()) -> c_6() 3: a#(Z(),y,z) -> c_2() ** Step 1.b:4: SimplifyRHS. WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: a#(C(x1,x2),y,z) -> c_1(a#(x1,y,z),a#(x2,y,y)) eqZList#(C(x1,x2),C(y1,y2)) -> c_3(and#(eqZList(x1,y1),eqZList(x2,y2)),eqZList#(x1,y1),eqZList#(x2,y2)) - Weak TRS: a(C(x1,x2),y,z) -> C(a(x1,y,z),a(x2,y,y)) a(Z(),y,z) -> 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/3,and/2,eqZList/2,first/1,second/1,a#/3,and#/2,eqZList#/2,first#/1,second#/1} / {C/2,False/0,True/0,Z/0 ,c_1/2,c_2/0,c_3/3,c_4/0,c_5/0,c_6/0,c_7/0,c_8/0,c_9/0,c_10/0,c_11/0,c_12/0} - Obligation: innermost runtime complexity wrt. defined symbols {a#,and#,eqZList#,first#,second#} and constructors {C ,False,True,Z} + Applied Processor: SimplifyRHS + Details: Consider the dependency graph 1:S:a#(C(x1,x2),y,z) -> c_1(a#(x1,y,z),a#(x2,y,y)) -->_2 a#(C(x1,x2),y,z) -> c_1(a#(x1,y,z),a#(x2,y,y)):1 -->_1 a#(C(x1,x2),y,z) -> c_1(a#(x1,y,z),a#(x2,y,y)):1 2:S:eqZList#(C(x1,x2),C(y1,y2)) -> c_3(and#(eqZList(x1,y1),eqZList(x2,y2)),eqZList#(x1,y1),eqZList#(x2,y2)) -->_3 eqZList#(C(x1,x2),C(y1,y2)) -> c_3(and#(eqZList(x1,y1),eqZList(x2,y2)) ,eqZList#(x1,y1) ,eqZList#(x2,y2)):2 -->_2 eqZList#(C(x1,x2),C(y1,y2)) -> c_3(and#(eqZList(x1,y1),eqZList(x2,y2)) ,eqZList#(x1,y1) ,eqZList#(x2,y2)):2 Due to missing edges in the depndency graph, the right-hand sides of following rules could be simplified: eqZList#(C(x1,x2),C(y1,y2)) -> c_3(eqZList#(x1,y1),eqZList#(x2,y2)) ** Step 1.b:5: UsableRules. WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: a#(C(x1,x2),y,z) -> c_1(a#(x1,y,z),a#(x2,y,y)) eqZList#(C(x1,x2),C(y1,y2)) -> c_3(eqZList#(x1,y1),eqZList#(x2,y2)) - Weak TRS: a(C(x1,x2),y,z) -> C(a(x1,y,z),a(x2,y,y)) a(Z(),y,z) -> 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/3,and/2,eqZList/2,first/1,second/1,a#/3,and#/2,eqZList#/2,first#/1,second#/1} / {C/2,False/0,True/0,Z/0 ,c_1/2,c_2/0,c_3/2,c_4/0,c_5/0,c_6/0,c_7/0,c_8/0,c_9/0,c_10/0,c_11/0,c_12/0} - Obligation: innermost runtime complexity wrt. defined symbols {a#,and#,eqZList#,first#,second#} and constructors {C ,False,True,Z} + Applied Processor: UsableRules + Details: We replace rewrite rules by usable rules: a#(C(x1,x2),y,z) -> c_1(a#(x1,y,z),a#(x2,y,y)) eqZList#(C(x1,x2),C(y1,y2)) -> c_3(eqZList#(x1,y1),eqZList#(x2,y2)) ** Step 1.b:6: NaturalMI. WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: a#(C(x1,x2),y,z) -> c_1(a#(x1,y,z),a#(x2,y,y)) eqZList#(C(x1,x2),C(y1,y2)) -> c_3(eqZList#(x1,y1),eqZList#(x2,y2)) - Signature: {a/3,and/2,eqZList/2,first/1,second/1,a#/3,and#/2,eqZList#/2,first#/1,second#/1} / {C/2,False/0,True/0,Z/0 ,c_1/2,c_2/0,c_3/2,c_4/0,c_5/0,c_6/0,c_7/0,c_8/0,c_9/0,c_10/0,c_11/0,c_12/0} - Obligation: innermost runtime complexity wrt. defined symbols {a#,and#,eqZList#,first#,second#} and constructors {C ,False,True,Z} + 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(c_1) = {1,2}, uargs(c_3) = {1,2} Following symbols are considered usable: {a#,and#,eqZList#,first#,second#} TcT has computed the following interpretation: p(C) = [1] x1 + [1] x2 + [8] p(False) = [0] p(True) = [1] p(Z) = [1] p(a) = [0] p(and) = [1] x1 + [2] x2 + [1] p(eqZList) = [1] x2 + [0] p(first) = [2] x1 + [2] p(second) = [1] x1 + [8] p(a#) = [0] p(and#) = [2] x1 + [0] p(eqZList#) = [2] x2 + [0] p(first#) = [0] p(second#) = [0] p(c_1) = [1] x1 + [1] x2 + [0] p(c_2) = [4] p(c_3) = [1] x1 + [1] x2 + [0] p(c_4) = [0] p(c_5) = [1] p(c_6) = [0] p(c_7) = [0] p(c_8) = [1] p(c_9) = [2] p(c_10) = [1] p(c_11) = [1] p(c_12) = [0] Following rules are strictly oriented: eqZList#(C(x1,x2),C(y1,y2)) = [2] y1 + [2] y2 + [16] > [2] y1 + [2] y2 + [0] = c_3(eqZList#(x1,y1),eqZList#(x2,y2)) Following rules are (at-least) weakly oriented: a#(C(x1,x2),y,z) = [0] >= [0] = c_1(a#(x1,y,z),a#(x2,y,y)) ** Step 1.b:7: WeightGap. WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: a#(C(x1,x2),y,z) -> c_1(a#(x1,y,z),a#(x2,y,y)) - Weak DPs: eqZList#(C(x1,x2),C(y1,y2)) -> c_3(eqZList#(x1,y1),eqZList#(x2,y2)) - Signature: {a/3,and/2,eqZList/2,first/1,second/1,a#/3,and#/2,eqZList#/2,first#/1,second#/1} / {C/2,False/0,True/0,Z/0 ,c_1/2,c_2/0,c_3/2,c_4/0,c_5/0,c_6/0,c_7/0,c_8/0,c_9/0,c_10/0,c_11/0,c_12/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 constant growth matrix-interpretation: We apply a matrix interpretation of kind constructor based matrix interpretation: The following argument positions are considered usable: uargs(c_1) = {1,2}, uargs(c_3) = {1,2} Following symbols are considered usable: all TcT has computed the following interpretation: p(C) = [1] x1 + [1] x2 + [8] p(False) = [1] p(True) = [1] p(Z) = [1] p(a) = [1] x1 + [2] x2 + [2] x3 + [1] p(and) = [2] x1 + [1] x2 + [1] p(eqZList) = [2] x1 + [1] x2 + [1] p(first) = [8] p(second) = [1] p(a#) = [2] x1 + [1] p(and#) = [1] x1 + [8] x2 + [1] p(eqZList#) = [1] x1 + [0] p(first#) = [1] x1 + [8] p(second#) = [1] x1 + [1] p(c_1) = [1] x1 + [1] x2 + [14] p(c_2) = [0] p(c_3) = [1] x1 + [1] x2 + [8] p(c_4) = [0] p(c_5) = [2] p(c_6) = [0] p(c_7) = [0] p(c_8) = [1] p(c_9) = [0] p(c_10) = [1] p(c_11) = [4] p(c_12) = [0] Following rules are strictly oriented: a#(C(x1,x2),y,z) = [2] x1 + [2] x2 + [17] > [2] x1 + [2] x2 + [16] = c_1(a#(x1,y,z),a#(x2,y,y)) Following rules are (at-least) weakly oriented: eqZList#(C(x1,x2),C(y1,y2)) = [1] x1 + [1] x2 + [8] >= [1] x1 + [1] x2 + [8] = c_3(eqZList#(x1,y1),eqZList#(x2,y2)) Further, it can be verified that all rules not oriented are covered by the weightgap condition. ** Step 1.b:8: EmptyProcessor. WORST_CASE(?,O(1)) + Considered Problem: - Weak DPs: a#(C(x1,x2),y,z) -> c_1(a#(x1,y,z),a#(x2,y,y)) eqZList#(C(x1,x2),C(y1,y2)) -> c_3(eqZList#(x1,y1),eqZList#(x2,y2)) - Signature: {a/3,and/2,eqZList/2,first/1,second/1,a#/3,and#/2,eqZList#/2,first#/1,second#/1} / {C/2,False/0,True/0,Z/0 ,c_1/2,c_2/0,c_3/2,c_4/0,c_5/0,c_6/0,c_7/0,c_8/0,c_9/0,c_10/0,c_11/0,c_12/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))