* Step 1: Sum WORST_CASE(?,O(n^1)) + Considered Problem: - Strict TRS: eqNatList(Cons(x,xs),Cons(y,ys)) -> eqNatList[Match][Cons][Match][Cons][Ite](!EQ(x,y),y,ys,x,xs) eqNatList(Cons(x,xs),Nil()) -> False() eqNatList(Nil(),Cons(y,ys)) -> False() eqNatList(Nil(),Nil()) -> True() goal(a1,b1,a2,b2,a3,b3) -> nolexicord(a1,b1,a2,b2,a3,b3) nolexicord(Cons(x,xs),b1,a2,b2,a3,b3) -> nolexicord[Ite][False][Ite](eqNatList(Cons(x,xs),b1) ,Cons(x,xs) ,b1 ,a2 ,b2 ,a3 ,b3) nolexicord(Nil(),b1,a2,b2,a3,b3) -> Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Nil())))))))))))))))))))))))))))))))))))))))))) number42() -> Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Nil())))))))))))))))))))))))))))))))))))))))))) - Weak TRS: !EQ(0(),0()) -> True() !EQ(0(),S(y)) -> False() !EQ(S(x),0()) -> False() !EQ(S(x),S(y)) -> !EQ(x,y) nolexicord[Ite][False][Ite](False() ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x,xs)) -> nolexicord(xs',xs',xs',xs',xs',xs) nolexicord[Ite][False][Ite](True() ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x,xs) ,Cons(x',xs')) -> nolexicord(xs',xs',xs',xs',xs',xs) - Signature: {!EQ/2,eqNatList/2,goal/6,nolexicord/6,nolexicord[Ite][False][Ite]/7,number42/0} / {0/0,Cons/2,False/0,Nil/0 ,S/1,True/0,eqNatList[Match][Cons][Match][Cons][Ite]/5} - Obligation: innermost runtime complexity wrt. defined symbols {!EQ,eqNatList,goal,nolexicord,nolexicord[Ite][False][Ite] ,number42} and constructors {0,Cons,False,Nil,S,True,eqNatList[Match][Cons][Match][Cons][Ite]} + Applied Processor: Sum {left = someStrategy, right = someStrategy} + Details: () * Step 2: WeightGap WORST_CASE(?,O(n^1)) + Considered Problem: - Strict TRS: eqNatList(Cons(x,xs),Cons(y,ys)) -> eqNatList[Match][Cons][Match][Cons][Ite](!EQ(x,y),y,ys,x,xs) eqNatList(Cons(x,xs),Nil()) -> False() eqNatList(Nil(),Cons(y,ys)) -> False() eqNatList(Nil(),Nil()) -> True() goal(a1,b1,a2,b2,a3,b3) -> nolexicord(a1,b1,a2,b2,a3,b3) nolexicord(Cons(x,xs),b1,a2,b2,a3,b3) -> nolexicord[Ite][False][Ite](eqNatList(Cons(x,xs),b1) ,Cons(x,xs) ,b1 ,a2 ,b2 ,a3 ,b3) nolexicord(Nil(),b1,a2,b2,a3,b3) -> Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Nil())))))))))))))))))))))))))))))))))))))))))) number42() -> Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Nil())))))))))))))))))))))))))))))))))))))))))) - Weak TRS: !EQ(0(),0()) -> True() !EQ(0(),S(y)) -> False() !EQ(S(x),0()) -> False() !EQ(S(x),S(y)) -> !EQ(x,y) nolexicord[Ite][False][Ite](False() ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x,xs)) -> nolexicord(xs',xs',xs',xs',xs',xs) nolexicord[Ite][False][Ite](True() ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x,xs) ,Cons(x',xs')) -> nolexicord(xs',xs',xs',xs',xs',xs) - Signature: {!EQ/2,eqNatList/2,goal/6,nolexicord/6,nolexicord[Ite][False][Ite]/7,number42/0} / {0/0,Cons/2,False/0,Nil/0 ,S/1,True/0,eqNatList[Match][Cons][Match][Cons][Ite]/5} - Obligation: innermost runtime complexity wrt. defined symbols {!EQ,eqNatList,goal,nolexicord,nolexicord[Ite][False][Ite] ,number42} and constructors {0,Cons,False,Nil,S,True,eqNatList[Match][Cons][Match][Cons][Ite]} + 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(eqNatList[Match][Cons][Match][Cons][Ite]) = {1}, uargs(nolexicord[Ite][False][Ite]) = {1} Following symbols are considered usable: all TcT has computed the following interpretation: p(!EQ) = [4] p(0) = [1] p(Cons) = [1] x2 + [0] p(False) = [1] p(Nil) = [1] p(S) = [0] p(True) = [0] p(eqNatList) = [2] p(eqNatList[Match][Cons][Match][Cons][Ite]) = [1] x1 + [6] p(goal) = [5] x1 + [4] x3 + [5] x4 + [5] x5 + [1] x6 + [1] p(nolexicord) = [4] x1 + [4] x3 + [2] x4 + [1] x5 + [1] x6 + [0] p(nolexicord[Ite][False][Ite]) = [1] x1 + [4] x2 + [4] x4 + [2] x5 + [1] x6 + [1] x7 + [6] p(number42) = [0] Following rules are strictly oriented: eqNatList(Cons(x,xs),Nil()) = [2] > [1] = False() eqNatList(Nil(),Cons(y,ys)) = [2] > [1] = False() eqNatList(Nil(),Nil()) = [2] > [0] = True() goal(a1,b1,a2,b2,a3,b3) = [5] a1 + [4] a2 + [5] a3 + [5] b2 + [1] b3 + [1] > [4] a1 + [4] a2 + [1] a3 + [2] b2 + [1] b3 + [0] = nolexicord(a1,b1,a2,b2,a3,b3) nolexicord(Nil(),b1,a2,b2,a3,b3) = [4] a2 + [1] a3 + [2] b2 + [1] b3 + [4] > [1] = Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Nil())))))))))))))))))))))))))))))))))))))))))) Following rules are (at-least) weakly oriented: !EQ(0(),0()) = [4] >= [0] = True() !EQ(0(),S(y)) = [4] >= [1] = False() !EQ(S(x),0()) = [4] >= [1] = False() !EQ(S(x),S(y)) = [4] >= [4] = !EQ(x,y) eqNatList(Cons(x,xs),Cons(y,ys)) = [2] >= [10] = eqNatList[Match][Cons][Match][Cons][Ite](!EQ(x,y),y,ys,x,xs) nolexicord(Cons(x,xs),b1,a2,b2,a3,b3) = [4] a2 + [1] a3 + [2] b2 + [1] b3 + [4] xs + [0] >= [4] a2 + [1] a3 + [2] b2 + [1] b3 + [4] xs + [8] = nolexicord[Ite][False][Ite](eqNatList(Cons(x,xs),b1),Cons(x,xs),b1,a2,b2,a3,b3) nolexicord[Ite][False][Ite](False() = [1] xs + [11] xs' + [7] ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x,xs)) >= [1] xs + [11] xs' + [0] = nolexicord(xs',xs',xs',xs',xs',xs) nolexicord[Ite][False][Ite](True() = [1] xs + [11] xs' + [6] ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x,xs) ,Cons(x',xs')) >= [1] xs + [11] xs' + [0] = nolexicord(xs',xs',xs',xs',xs',xs) number42() = [0] >= [1] = Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Nil())))))))))))))))))))))))))))))))))))))))))) 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: eqNatList(Cons(x,xs),Cons(y,ys)) -> eqNatList[Match][Cons][Match][Cons][Ite](!EQ(x,y),y,ys,x,xs) nolexicord(Cons(x,xs),b1,a2,b2,a3,b3) -> nolexicord[Ite][False][Ite](eqNatList(Cons(x,xs),b1) ,Cons(x,xs) ,b1 ,a2 ,b2 ,a3 ,b3) number42() -> Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Nil())))))))))))))))))))))))))))))))))))))))))) - Weak TRS: !EQ(0(),0()) -> True() !EQ(0(),S(y)) -> False() !EQ(S(x),0()) -> False() !EQ(S(x),S(y)) -> !EQ(x,y) eqNatList(Cons(x,xs),Nil()) -> False() eqNatList(Nil(),Cons(y,ys)) -> False() eqNatList(Nil(),Nil()) -> True() goal(a1,b1,a2,b2,a3,b3) -> nolexicord(a1,b1,a2,b2,a3,b3) nolexicord(Nil(),b1,a2,b2,a3,b3) -> Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Nil())))))))))))))))))))))))))))))))))))))))))) nolexicord[Ite][False][Ite](False() ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x,xs)) -> nolexicord(xs',xs',xs',xs',xs',xs) nolexicord[Ite][False][Ite](True() ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x,xs) ,Cons(x',xs')) -> nolexicord(xs',xs',xs',xs',xs',xs) - Signature: {!EQ/2,eqNatList/2,goal/6,nolexicord/6,nolexicord[Ite][False][Ite]/7,number42/0} / {0/0,Cons/2,False/0,Nil/0 ,S/1,True/0,eqNatList[Match][Cons][Match][Cons][Ite]/5} - Obligation: innermost runtime complexity wrt. defined symbols {!EQ,eqNatList,goal,nolexicord,nolexicord[Ite][False][Ite] ,number42} and constructors {0,Cons,False,Nil,S,True,eqNatList[Match][Cons][Match][Cons][Ite]} + 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(eqNatList[Match][Cons][Match][Cons][Ite]) = {1}, uargs(nolexicord[Ite][False][Ite]) = {1} Following symbols are considered usable: all TcT has computed the following interpretation: p(!EQ) = [1] p(0) = [1] p(Cons) = [1] x1 + [0] p(False) = [0] p(Nil) = [1] p(S) = [1] x1 + [1] p(True) = [1] p(eqNatList) = [1] p(eqNatList[Match][Cons][Match][Cons][Ite]) = [1] x1 + [1] p(goal) = [1] x3 + [3] x4 + [2] x5 + [5] x6 + [4] p(nolexicord) = [1] p(nolexicord[Ite][False][Ite]) = [1] x1 + [7] p(number42) = [4] Following rules are strictly oriented: number42() = [4] > [1] = Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Nil())))))))))))))))))))))))))))))))))))))))))) Following rules are (at-least) weakly oriented: !EQ(0(),0()) = [1] >= [1] = True() !EQ(0(),S(y)) = [1] >= [0] = False() !EQ(S(x),0()) = [1] >= [0] = False() !EQ(S(x),S(y)) = [1] >= [1] = !EQ(x,y) eqNatList(Cons(x,xs),Cons(y,ys)) = [1] >= [2] = eqNatList[Match][Cons][Match][Cons][Ite](!EQ(x,y),y,ys,x,xs) eqNatList(Cons(x,xs),Nil()) = [1] >= [0] = False() eqNatList(Nil(),Cons(y,ys)) = [1] >= [0] = False() eqNatList(Nil(),Nil()) = [1] >= [1] = True() goal(a1,b1,a2,b2,a3,b3) = [1] a2 + [2] a3 + [3] b2 + [5] b3 + [4] >= [1] = nolexicord(a1,b1,a2,b2,a3,b3) nolexicord(Cons(x,xs),b1,a2,b2,a3,b3) = [1] >= [8] = nolexicord[Ite][False][Ite](eqNatList(Cons(x,xs),b1),Cons(x,xs),b1,a2,b2,a3,b3) nolexicord(Nil(),b1,a2,b2,a3,b3) = [1] >= [1] = Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Nil())))))))))))))))))))))))))))))))))))))))))) nolexicord[Ite][False][Ite](False() = [7] ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x,xs)) >= [1] = nolexicord(xs',xs',xs',xs',xs',xs) nolexicord[Ite][False][Ite](True() = [8] ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x,xs) ,Cons(x',xs')) >= [1] = nolexicord(xs',xs',xs',xs',xs',xs) Further, it can be verified that all rules not oriented are covered by the weightgap condition. * Step 4: WeightGap WORST_CASE(?,O(n^1)) + Considered Problem: - Strict TRS: eqNatList(Cons(x,xs),Cons(y,ys)) -> eqNatList[Match][Cons][Match][Cons][Ite](!EQ(x,y),y,ys,x,xs) nolexicord(Cons(x,xs),b1,a2,b2,a3,b3) -> nolexicord[Ite][False][Ite](eqNatList(Cons(x,xs),b1) ,Cons(x,xs) ,b1 ,a2 ,b2 ,a3 ,b3) - Weak TRS: !EQ(0(),0()) -> True() !EQ(0(),S(y)) -> False() !EQ(S(x),0()) -> False() !EQ(S(x),S(y)) -> !EQ(x,y) eqNatList(Cons(x,xs),Nil()) -> False() eqNatList(Nil(),Cons(y,ys)) -> False() eqNatList(Nil(),Nil()) -> True() goal(a1,b1,a2,b2,a3,b3) -> nolexicord(a1,b1,a2,b2,a3,b3) nolexicord(Nil(),b1,a2,b2,a3,b3) -> Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Nil())))))))))))))))))))))))))))))))))))))))))) nolexicord[Ite][False][Ite](False() ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x,xs)) -> nolexicord(xs',xs',xs',xs',xs',xs) nolexicord[Ite][False][Ite](True() ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x,xs) ,Cons(x',xs')) -> nolexicord(xs',xs',xs',xs',xs',xs) number42() -> Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Nil())))))))))))))))))))))))))))))))))))))))))) - Signature: {!EQ/2,eqNatList/2,goal/6,nolexicord/6,nolexicord[Ite][False][Ite]/7,number42/0} / {0/0,Cons/2,False/0,Nil/0 ,S/1,True/0,eqNatList[Match][Cons][Match][Cons][Ite]/5} - Obligation: innermost runtime complexity wrt. defined symbols {!EQ,eqNatList,goal,nolexicord,nolexicord[Ite][False][Ite] ,number42} and constructors {0,Cons,False,Nil,S,True,eqNatList[Match][Cons][Match][Cons][Ite]} + 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(eqNatList[Match][Cons][Match][Cons][Ite]) = {1}, uargs(nolexicord[Ite][False][Ite]) = {1} Following symbols are considered usable: all TcT has computed the following interpretation: p(!EQ) = [2] p(0) = [0] p(Cons) = [1] x2 + [0] p(False) = [1] p(Nil) = [0] p(S) = [0] p(True) = [1] p(eqNatList) = [4] p(eqNatList[Match][Cons][Match][Cons][Ite]) = [1] x1 + [0] p(goal) = [5] x1 + [5] x3 + [5] x4 + [2] x5 + [5] p(nolexicord) = [3] x3 + [2] x4 + [2] p(nolexicord[Ite][False][Ite]) = [1] x1 + [3] x4 + [2] x5 + [4] p(number42) = [0] Following rules are strictly oriented: eqNatList(Cons(x,xs),Cons(y,ys)) = [4] > [2] = eqNatList[Match][Cons][Match][Cons][Ite](!EQ(x,y),y,ys,x,xs) Following rules are (at-least) weakly oriented: !EQ(0(),0()) = [2] >= [1] = True() !EQ(0(),S(y)) = [2] >= [1] = False() !EQ(S(x),0()) = [2] >= [1] = False() !EQ(S(x),S(y)) = [2] >= [2] = !EQ(x,y) eqNatList(Cons(x,xs),Nil()) = [4] >= [1] = False() eqNatList(Nil(),Cons(y,ys)) = [4] >= [1] = False() eqNatList(Nil(),Nil()) = [4] >= [1] = True() goal(a1,b1,a2,b2,a3,b3) = [5] a1 + [5] a2 + [2] a3 + [5] b2 + [5] >= [3] a2 + [2] b2 + [2] = nolexicord(a1,b1,a2,b2,a3,b3) nolexicord(Cons(x,xs),b1,a2,b2,a3,b3) = [3] a2 + [2] b2 + [2] >= [3] a2 + [2] b2 + [8] = nolexicord[Ite][False][Ite](eqNatList(Cons(x,xs),b1),Cons(x,xs),b1,a2,b2,a3,b3) nolexicord(Nil(),b1,a2,b2,a3,b3) = [3] a2 + [2] b2 + [2] >= [0] = Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Nil())))))))))))))))))))))))))))))))))))))))))) nolexicord[Ite][False][Ite](False() = [5] xs' + [5] ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x,xs)) >= [5] xs' + [2] = nolexicord(xs',xs',xs',xs',xs',xs) nolexicord[Ite][False][Ite](True() = [5] xs' + [5] ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x,xs) ,Cons(x',xs')) >= [5] xs' + [2] = nolexicord(xs',xs',xs',xs',xs',xs) number42() = [0] >= [0] = Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Nil())))))))))))))))))))))))))))))))))))))))))) Further, it can be verified that all rules not oriented are covered by the weightgap condition. * Step 5: MI WORST_CASE(?,O(n^1)) + Considered Problem: - Strict TRS: nolexicord(Cons(x,xs),b1,a2,b2,a3,b3) -> nolexicord[Ite][False][Ite](eqNatList(Cons(x,xs),b1) ,Cons(x,xs) ,b1 ,a2 ,b2 ,a3 ,b3) - Weak TRS: !EQ(0(),0()) -> True() !EQ(0(),S(y)) -> False() !EQ(S(x),0()) -> False() !EQ(S(x),S(y)) -> !EQ(x,y) eqNatList(Cons(x,xs),Cons(y,ys)) -> eqNatList[Match][Cons][Match][Cons][Ite](!EQ(x,y),y,ys,x,xs) eqNatList(Cons(x,xs),Nil()) -> False() eqNatList(Nil(),Cons(y,ys)) -> False() eqNatList(Nil(),Nil()) -> True() goal(a1,b1,a2,b2,a3,b3) -> nolexicord(a1,b1,a2,b2,a3,b3) nolexicord(Nil(),b1,a2,b2,a3,b3) -> Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Nil())))))))))))))))))))))))))))))))))))))))))) nolexicord[Ite][False][Ite](False() ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x,xs)) -> nolexicord(xs',xs',xs',xs',xs',xs) nolexicord[Ite][False][Ite](True() ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x,xs) ,Cons(x',xs')) -> nolexicord(xs',xs',xs',xs',xs',xs) number42() -> Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Nil())))))))))))))))))))))))))))))))))))))))))) - Signature: {!EQ/2,eqNatList/2,goal/6,nolexicord/6,nolexicord[Ite][False][Ite]/7,number42/0} / {0/0,Cons/2,False/0,Nil/0 ,S/1,True/0,eqNatList[Match][Cons][Match][Cons][Ite]/5} - Obligation: innermost runtime complexity wrt. defined symbols {!EQ,eqNatList,goal,nolexicord,nolexicord[Ite][False][Ite] ,number42} and constructors {0,Cons,False,Nil,S,True,eqNatList[Match][Cons][Match][Cons][Ite]} + Applied Processor: MI {miKind = MaximalMatrix (UpperTriangular (Multiplicity (Just 1))), miDimension = 2, miUArgs = UArgs, miURules = URules, miSelector = Just any strict-rules} + Details: We apply a matrix interpretation of kind MaximalMatrix (UpperTriangular (Multiplicity (Just 1))): The following argument positions are considered usable: uargs(eqNatList[Match][Cons][Match][Cons][Ite]) = {1}, uargs(nolexicord[Ite][False][Ite]) = {1} Following symbols are considered usable: {!EQ,eqNatList,goal,nolexicord,nolexicord[Ite][False][Ite],number42} TcT has computed the following interpretation: p(!EQ) = [0 0] x_1 + [0] [2 0] [2] p(0) = [1] [0] p(Cons) = [1 1] x_2 + [0] [0 0] [0] p(False) = [0] [1] p(Nil) = [1] [2] p(S) = [1 3] x_1 + [0] [0 0] [2] p(True) = [0] [1] p(eqNatList) = [0 0] x_1 + [0 0] x_2 + [0] [0 2] [0 1] [0] p(eqNatList[Match][Cons][Match][Cons][Ite]) = [1 0] x_1 + [0] [0 0] [0] p(goal) = [2 0] x_1 + [0 3] x_2 + [3 2] x_3 + [1 0] x_4 + [0 2] x_5 + [2 0] x_6 + [2] [0 2] [3 3] [3 2] [1 0] [0 1] [2 2] [1] p(nolexicord) = [2 0] x_1 + [0 3] x_2 + [2 1] x_3 + [0 0] x_5 + [1] [0 1] [3 3] [3 1] [0 1] [1] p(nolexicord[Ite][False][Ite]) = [2 3] x_1 + [2 0] x_2 + [0 0] x_3 + [2 0] x_4 + [0] [0 0] [0 1] [3 2] [3 0] [1] p(number42) = [3] [0] Following rules are strictly oriented: nolexicord(Cons(x,xs),b1,a2,b2,a3,b3) = [2 1] a2 + [0 0] a3 + [0 3] b1 + [2 2] xs + [1] [3 1] [0 1] [3 3] [0 0] [1] > [2 0] a2 + [0 3] b1 + [2 2] xs + [0] [3 0] [3 2] [0 0] [1] = nolexicord[Ite][False][Ite](eqNatList(Cons(x,xs),b1),Cons(x,xs),b1,a2,b2,a3,b3) Following rules are (at-least) weakly oriented: !EQ(0(),0()) = [0] [4] >= [0] [1] = True() !EQ(0(),S(y)) = [0] [4] >= [0] [1] = False() !EQ(S(x),0()) = [0 0] x + [0] [2 6] [2] >= [0] [1] = False() !EQ(S(x),S(y)) = [0 0] x + [0] [2 6] [2] >= [0 0] x + [0] [2 0] [2] = !EQ(x,y) eqNatList(Cons(x,xs),Cons(y,ys)) = [0] [0] >= [0] [0] = eqNatList[Match][Cons][Match][Cons][Ite](!EQ(x,y),y,ys,x,xs) eqNatList(Cons(x,xs),Nil()) = [0] [2] >= [0] [1] = False() eqNatList(Nil(),Cons(y,ys)) = [0] [4] >= [0] [1] = False() eqNatList(Nil(),Nil()) = [0] [6] >= [0] [1] = True() goal(a1,b1,a2,b2,a3,b3) = [2 0] a1 + [3 2] a2 + [0 2] a3 + [0 3] b1 + [1 0] b2 + [2 0] b3 + [2] [0 2] [3 2] [0 1] [3 3] [1 0] [2 2] [1] >= [2 0] a1 + [2 1] a2 + [0 0] a3 + [0 3] b1 + [1] [0 1] [3 1] [0 1] [3 3] [1] = nolexicord(a1,b1,a2,b2,a3,b3) nolexicord(Nil(),b1,a2,b2,a3,b3) = [2 1] a2 + [0 0] a3 + [0 3] b1 + [3] [3 1] [0 1] [3 3] [3] >= [3] [0] = Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Nil())))))))))))))))))))))))))))))))))))))))))) nolexicord[Ite][False][Ite](False() = [4 4] xs' + [3] ,Cons(x',xs') [6 6] [1] ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x,xs)) >= [4 4] xs' + [1] [6 6] [1] = nolexicord(xs',xs',xs',xs',xs',xs) nolexicord[Ite][False][Ite](True() = [4 4] xs' + [3] ,Cons(x',xs') [6 6] [1] ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x,xs) ,Cons(x',xs')) >= [4 4] xs' + [1] [6 6] [1] = nolexicord(xs',xs',xs',xs',xs',xs) number42() = [3] [0] >= [3] [0] = Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Nil())))))))))))))))))))))))))))))))))))))))))) * Step 6: EmptyProcessor WORST_CASE(?,O(1)) + Considered Problem: - Weak TRS: !EQ(0(),0()) -> True() !EQ(0(),S(y)) -> False() !EQ(S(x),0()) -> False() !EQ(S(x),S(y)) -> !EQ(x,y) eqNatList(Cons(x,xs),Cons(y,ys)) -> eqNatList[Match][Cons][Match][Cons][Ite](!EQ(x,y),y,ys,x,xs) eqNatList(Cons(x,xs),Nil()) -> False() eqNatList(Nil(),Cons(y,ys)) -> False() eqNatList(Nil(),Nil()) -> True() goal(a1,b1,a2,b2,a3,b3) -> nolexicord(a1,b1,a2,b2,a3,b3) nolexicord(Cons(x,xs),b1,a2,b2,a3,b3) -> nolexicord[Ite][False][Ite](eqNatList(Cons(x,xs),b1) ,Cons(x,xs) ,b1 ,a2 ,b2 ,a3 ,b3) nolexicord(Nil(),b1,a2,b2,a3,b3) -> Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Nil())))))))))))))))))))))))))))))))))))))))))) nolexicord[Ite][False][Ite](False() ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x,xs)) -> nolexicord(xs',xs',xs',xs',xs',xs) nolexicord[Ite][False][Ite](True() ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x',xs') ,Cons(x,xs) ,Cons(x',xs')) -> nolexicord(xs',xs',xs',xs',xs',xs) number42() -> Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Cons(Nil() ,Nil())))))))))))))))))))))))))))))))))))))))))) - Signature: {!EQ/2,eqNatList/2,goal/6,nolexicord/6,nolexicord[Ite][False][Ite]/7,number42/0} / {0/0,Cons/2,False/0,Nil/0 ,S/1,True/0,eqNatList[Match][Cons][Match][Cons][Ite]/5} - Obligation: innermost runtime complexity wrt. defined symbols {!EQ,eqNatList,goal,nolexicord,nolexicord[Ite][False][Ite] ,number42} and constructors {0,Cons,False,Nil,S,True,eqNatList[Match][Cons][Match][Cons][Ite]} + Applied Processor: EmptyProcessor + Details: The problem is already closed. The intended complexity is O(1). WORST_CASE(?,O(n^1))