MAYBE * Step 1: WeightGap MAYBE + Considered Problem: - Strict TRS: activate(X) -> X activate(n__adx(X)) -> adx(X) activate(n__incr(X)) -> incr(X) activate(n__zeros()) -> zeros() adx(X) -> n__adx(X) adx(cons(X,L)) -> incr(cons(X,n__adx(activate(L)))) adx(nil()) -> nil() head(cons(X,L)) -> X incr(X) -> n__incr(X) incr(cons(X,L)) -> cons(s(X),n__incr(activate(L))) incr(nil()) -> nil() nats() -> adx(zeros()) tail(cons(X,L)) -> activate(L) zeros() -> cons(0(),n__zeros()) zeros() -> n__zeros() - Signature: {activate/1,adx/1,head/1,incr/1,nats/0,tail/1,zeros/0} / {0/0,cons/2,n__adx/1,n__incr/1,n__zeros/0,nil/0 ,s/1} - Obligation: innermost runtime complexity wrt. defined symbols {activate,adx,head,incr,nats,tail ,zeros} and constructors {0,cons,n__adx,n__incr,n__zeros,nil,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(adx) = {1}, uargs(cons) = {2}, uargs(incr) = {1}, uargs(n__adx) = {1}, uargs(n__incr) = {1} Following symbols are considered usable: all TcT has computed the following interpretation: p(0) = [0] p(activate) = [1] x1 + [9] p(adx) = [1] x1 + [0] p(cons) = [1] x1 + [1] x2 + [0] p(head) = [1] x1 + [0] p(incr) = [1] x1 + [0] p(n__adx) = [1] x1 + [5] p(n__incr) = [1] x1 + [0] p(n__zeros) = [0] p(nats) = [0] p(nil) = [0] p(s) = [1] x1 + [0] p(tail) = [1] x1 + [0] p(zeros) = [0] Following rules are strictly oriented: activate(X) = [1] X + [9] > [1] X + [0] = X activate(n__adx(X)) = [1] X + [14] > [1] X + [0] = adx(X) activate(n__incr(X)) = [1] X + [9] > [1] X + [0] = incr(X) activate(n__zeros()) = [9] > [0] = zeros() Following rules are (at-least) weakly oriented: adx(X) = [1] X + [0] >= [1] X + [5] = n__adx(X) adx(cons(X,L)) = [1] L + [1] X + [0] >= [1] L + [1] X + [14] = incr(cons(X,n__adx(activate(L)))) adx(nil()) = [0] >= [0] = nil() head(cons(X,L)) = [1] L + [1] X + [0] >= [1] X + [0] = X incr(X) = [1] X + [0] >= [1] X + [0] = n__incr(X) incr(cons(X,L)) = [1] L + [1] X + [0] >= [1] L + [1] X + [9] = cons(s(X),n__incr(activate(L))) incr(nil()) = [0] >= [0] = nil() nats() = [0] >= [0] = adx(zeros()) tail(cons(X,L)) = [1] L + [1] X + [0] >= [1] L + [9] = activate(L) zeros() = [0] >= [0] = cons(0(),n__zeros()) zeros() = [0] >= [0] = n__zeros() Further, it can be verified that all rules not oriented are covered by the weightgap condition. * Step 2: WeightGap MAYBE + Considered Problem: - Strict TRS: adx(X) -> n__adx(X) adx(cons(X,L)) -> incr(cons(X,n__adx(activate(L)))) adx(nil()) -> nil() head(cons(X,L)) -> X incr(X) -> n__incr(X) incr(cons(X,L)) -> cons(s(X),n__incr(activate(L))) incr(nil()) -> nil() nats() -> adx(zeros()) tail(cons(X,L)) -> activate(L) zeros() -> cons(0(),n__zeros()) zeros() -> n__zeros() - Weak TRS: activate(X) -> X activate(n__adx(X)) -> adx(X) activate(n__incr(X)) -> incr(X) activate(n__zeros()) -> zeros() - Signature: {activate/1,adx/1,head/1,incr/1,nats/0,tail/1,zeros/0} / {0/0,cons/2,n__adx/1,n__incr/1,n__zeros/0,nil/0 ,s/1} - Obligation: innermost runtime complexity wrt. defined symbols {activate,adx,head,incr,nats,tail ,zeros} and constructors {0,cons,n__adx,n__incr,n__zeros,nil,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(adx) = {1}, uargs(cons) = {2}, uargs(incr) = {1}, uargs(n__adx) = {1}, uargs(n__incr) = {1} Following symbols are considered usable: all TcT has computed the following interpretation: p(0) = [3] p(activate) = [1] x1 + [11] p(adx) = [1] x1 + [0] p(cons) = [1] x1 + [1] x2 + [0] p(head) = [1] x1 + [0] p(incr) = [1] x1 + [0] p(n__adx) = [1] x1 + [8] p(n__incr) = [1] x1 + [0] p(n__zeros) = [0] p(nats) = [0] p(nil) = [0] p(s) = [0] p(tail) = [1] x1 + [0] p(zeros) = [11] Following rules are strictly oriented: zeros() = [11] > [3] = cons(0(),n__zeros()) zeros() = [11] > [0] = n__zeros() Following rules are (at-least) weakly oriented: activate(X) = [1] X + [11] >= [1] X + [0] = X activate(n__adx(X)) = [1] X + [19] >= [1] X + [0] = adx(X) activate(n__incr(X)) = [1] X + [11] >= [1] X + [0] = incr(X) activate(n__zeros()) = [11] >= [11] = zeros() adx(X) = [1] X + [0] >= [1] X + [8] = n__adx(X) adx(cons(X,L)) = [1] L + [1] X + [0] >= [1] L + [1] X + [19] = incr(cons(X,n__adx(activate(L)))) adx(nil()) = [0] >= [0] = nil() head(cons(X,L)) = [1] L + [1] X + [0] >= [1] X + [0] = X incr(X) = [1] X + [0] >= [1] X + [0] = n__incr(X) incr(cons(X,L)) = [1] L + [1] X + [0] >= [1] L + [11] = cons(s(X),n__incr(activate(L))) incr(nil()) = [0] >= [0] = nil() nats() = [0] >= [11] = adx(zeros()) tail(cons(X,L)) = [1] L + [1] X + [0] >= [1] L + [11] = activate(L) Further, it can be verified that all rules not oriented are covered by the weightgap condition. * Step 3: WeightGap MAYBE + Considered Problem: - Strict TRS: adx(X) -> n__adx(X) adx(cons(X,L)) -> incr(cons(X,n__adx(activate(L)))) adx(nil()) -> nil() head(cons(X,L)) -> X incr(X) -> n__incr(X) incr(cons(X,L)) -> cons(s(X),n__incr(activate(L))) incr(nil()) -> nil() nats() -> adx(zeros()) tail(cons(X,L)) -> activate(L) - Weak TRS: activate(X) -> X activate(n__adx(X)) -> adx(X) activate(n__incr(X)) -> incr(X) activate(n__zeros()) -> zeros() zeros() -> cons(0(),n__zeros()) zeros() -> n__zeros() - Signature: {activate/1,adx/1,head/1,incr/1,nats/0,tail/1,zeros/0} / {0/0,cons/2,n__adx/1,n__incr/1,n__zeros/0,nil/0 ,s/1} - Obligation: innermost runtime complexity wrt. defined symbols {activate,adx,head,incr,nats,tail ,zeros} and constructors {0,cons,n__adx,n__incr,n__zeros,nil,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(adx) = {1}, uargs(cons) = {2}, uargs(incr) = {1}, uargs(n__adx) = {1}, uargs(n__incr) = {1} Following symbols are considered usable: all TcT has computed the following interpretation: p(0) = [0] p(activate) = [1] x1 + [9] p(adx) = [1] x1 + [0] p(cons) = [1] x1 + [1] x2 + [1] p(head) = [1] x1 + [0] p(incr) = [1] x1 + [9] p(n__adx) = [1] x1 + [12] p(n__incr) = [1] x1 + [0] p(n__zeros) = [1] p(nats) = [8] p(nil) = [0] p(s) = [1] x1 + [9] p(tail) = [1] x1 + [10] p(zeros) = [10] Following rules are strictly oriented: head(cons(X,L)) = [1] L + [1] X + [1] > [1] X + [0] = X incr(X) = [1] X + [9] > [1] X + [0] = n__incr(X) incr(nil()) = [9] > [0] = nil() tail(cons(X,L)) = [1] L + [1] X + [11] > [1] L + [9] = activate(L) Following rules are (at-least) weakly oriented: activate(X) = [1] X + [9] >= [1] X + [0] = X activate(n__adx(X)) = [1] X + [21] >= [1] X + [0] = adx(X) activate(n__incr(X)) = [1] X + [9] >= [1] X + [9] = incr(X) activate(n__zeros()) = [10] >= [10] = zeros() adx(X) = [1] X + [0] >= [1] X + [12] = n__adx(X) adx(cons(X,L)) = [1] L + [1] X + [1] >= [1] L + [1] X + [31] = incr(cons(X,n__adx(activate(L)))) adx(nil()) = [0] >= [0] = nil() incr(cons(X,L)) = [1] L + [1] X + [10] >= [1] L + [1] X + [19] = cons(s(X),n__incr(activate(L))) nats() = [8] >= [10] = adx(zeros()) zeros() = [10] >= [2] = cons(0(),n__zeros()) zeros() = [10] >= [1] = n__zeros() Further, it can be verified that all rules not oriented are covered by the weightgap condition. * Step 4: WeightGap MAYBE + Considered Problem: - Strict TRS: adx(X) -> n__adx(X) adx(cons(X,L)) -> incr(cons(X,n__adx(activate(L)))) adx(nil()) -> nil() incr(cons(X,L)) -> cons(s(X),n__incr(activate(L))) nats() -> adx(zeros()) - Weak TRS: activate(X) -> X activate(n__adx(X)) -> adx(X) activate(n__incr(X)) -> incr(X) activate(n__zeros()) -> zeros() head(cons(X,L)) -> X incr(X) -> n__incr(X) incr(nil()) -> nil() tail(cons(X,L)) -> activate(L) zeros() -> cons(0(),n__zeros()) zeros() -> n__zeros() - Signature: {activate/1,adx/1,head/1,incr/1,nats/0,tail/1,zeros/0} / {0/0,cons/2,n__adx/1,n__incr/1,n__zeros/0,nil/0 ,s/1} - Obligation: innermost runtime complexity wrt. defined symbols {activate,adx,head,incr,nats,tail ,zeros} and constructors {0,cons,n__adx,n__incr,n__zeros,nil,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(adx) = {1}, uargs(cons) = {2}, uargs(incr) = {1}, uargs(n__adx) = {1}, uargs(n__incr) = {1} Following symbols are considered usable: all TcT has computed the following interpretation: p(0) = [2] p(activate) = [1] x1 + [12] p(adx) = [1] x1 + [1] p(cons) = [1] x1 + [1] x2 + [10] p(head) = [2] x1 + [3] p(incr) = [1] x1 + [8] p(n__adx) = [1] x1 + [0] p(n__incr) = [1] x1 + [4] p(n__zeros) = [0] p(nats) = [0] p(nil) = [8] p(s) = [0] p(tail) = [2] x1 + [9] p(zeros) = [12] Following rules are strictly oriented: adx(X) = [1] X + [1] > [1] X + [0] = n__adx(X) adx(nil()) = [9] > [8] = nil() Following rules are (at-least) weakly oriented: activate(X) = [1] X + [12] >= [1] X + [0] = X activate(n__adx(X)) = [1] X + [12] >= [1] X + [1] = adx(X) activate(n__incr(X)) = [1] X + [16] >= [1] X + [8] = incr(X) activate(n__zeros()) = [12] >= [12] = zeros() adx(cons(X,L)) = [1] L + [1] X + [11] >= [1] L + [1] X + [30] = incr(cons(X,n__adx(activate(L)))) head(cons(X,L)) = [2] L + [2] X + [23] >= [1] X + [0] = X incr(X) = [1] X + [8] >= [1] X + [4] = n__incr(X) incr(cons(X,L)) = [1] L + [1] X + [18] >= [1] L + [26] = cons(s(X),n__incr(activate(L))) incr(nil()) = [16] >= [8] = nil() nats() = [0] >= [13] = adx(zeros()) tail(cons(X,L)) = [2] L + [2] X + [29] >= [1] L + [12] = activate(L) zeros() = [12] >= [12] = cons(0(),n__zeros()) zeros() = [12] >= [0] = n__zeros() Further, it can be verified that all rules not oriented are covered by the weightgap condition. * Step 5: WeightGap MAYBE + Considered Problem: - Strict TRS: adx(cons(X,L)) -> incr(cons(X,n__adx(activate(L)))) incr(cons(X,L)) -> cons(s(X),n__incr(activate(L))) nats() -> adx(zeros()) - Weak TRS: activate(X) -> X activate(n__adx(X)) -> adx(X) activate(n__incr(X)) -> incr(X) activate(n__zeros()) -> zeros() adx(X) -> n__adx(X) adx(nil()) -> nil() head(cons(X,L)) -> X incr(X) -> n__incr(X) incr(nil()) -> nil() tail(cons(X,L)) -> activate(L) zeros() -> cons(0(),n__zeros()) zeros() -> n__zeros() - Signature: {activate/1,adx/1,head/1,incr/1,nats/0,tail/1,zeros/0} / {0/0,cons/2,n__adx/1,n__incr/1,n__zeros/0,nil/0 ,s/1} - Obligation: innermost runtime complexity wrt. defined symbols {activate,adx,head,incr,nats,tail ,zeros} and constructors {0,cons,n__adx,n__incr,n__zeros,nil,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(adx) = {1}, uargs(cons) = {2}, uargs(incr) = {1}, uargs(n__adx) = {1}, uargs(n__incr) = {1} Following symbols are considered usable: all TcT has computed the following interpretation: p(0) = [0] p(activate) = [1] x1 + [0] p(adx) = [1] x1 + [0] p(cons) = [1] x1 + [1] x2 + [0] p(head) = [10] x1 + [0] p(incr) = [1] x1 + [0] p(n__adx) = [1] x1 + [0] p(n__incr) = [1] x1 + [0] p(n__zeros) = [0] p(nats) = [1] p(nil) = [0] p(s) = [0] p(tail) = [1] x1 + [0] p(zeros) = [0] Following rules are strictly oriented: nats() = [1] > [0] = adx(zeros()) Following rules are (at-least) weakly oriented: activate(X) = [1] X + [0] >= [1] X + [0] = X activate(n__adx(X)) = [1] X + [0] >= [1] X + [0] = adx(X) activate(n__incr(X)) = [1] X + [0] >= [1] X + [0] = incr(X) activate(n__zeros()) = [0] >= [0] = zeros() adx(X) = [1] X + [0] >= [1] X + [0] = n__adx(X) adx(cons(X,L)) = [1] L + [1] X + [0] >= [1] L + [1] X + [0] = incr(cons(X,n__adx(activate(L)))) adx(nil()) = [0] >= [0] = nil() head(cons(X,L)) = [10] L + [10] X + [0] >= [1] X + [0] = X incr(X) = [1] X + [0] >= [1] X + [0] = n__incr(X) incr(cons(X,L)) = [1] L + [1] X + [0] >= [1] L + [0] = cons(s(X),n__incr(activate(L))) incr(nil()) = [0] >= [0] = nil() tail(cons(X,L)) = [1] L + [1] X + [0] >= [1] L + [0] = activate(L) zeros() = [0] >= [0] = cons(0(),n__zeros()) zeros() = [0] >= [0] = n__zeros() Further, it can be verified that all rules not oriented are covered by the weightgap condition. * Step 6: Failure MAYBE + Considered Problem: - Strict TRS: adx(cons(X,L)) -> incr(cons(X,n__adx(activate(L)))) incr(cons(X,L)) -> cons(s(X),n__incr(activate(L))) - Weak TRS: activate(X) -> X activate(n__adx(X)) -> adx(X) activate(n__incr(X)) -> incr(X) activate(n__zeros()) -> zeros() adx(X) -> n__adx(X) adx(nil()) -> nil() head(cons(X,L)) -> X incr(X) -> n__incr(X) incr(nil()) -> nil() nats() -> adx(zeros()) tail(cons(X,L)) -> activate(L) zeros() -> cons(0(),n__zeros()) zeros() -> n__zeros() - Signature: {activate/1,adx/1,head/1,incr/1,nats/0,tail/1,zeros/0} / {0/0,cons/2,n__adx/1,n__incr/1,n__zeros/0,nil/0 ,s/1} - Obligation: innermost runtime complexity wrt. defined symbols {activate,adx,head,incr,nats,tail ,zeros} and constructors {0,cons,n__adx,n__incr,n__zeros,nil,s} + Applied Processor: EmptyProcessor + Details: The problem is still open. MAYBE