MAYBE * Step 1: WeightGap MAYBE + Considered Problem: - Strict TRS: activate(X) -> X activate(n__adx(X)) -> adx(activate(X)) activate(n__incr(X)) -> incr(activate(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 + [1] 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 + [3] 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 + [1] > [1] X + [0] = X activate(n__adx(X)) = [1] X + [4] > [1] X + [1] = adx(activate(X)) activate(n__zeros()) = [1] > [0] = zeros() Following rules are (at-least) weakly oriented: activate(n__incr(X)) = [1] X + [1] >= [1] X + [1] = incr(activate(X)) adx(X) = [1] X + [0] >= [1] X + [3] = n__adx(X) adx(cons(X,L)) = [1] L + [1] X + [0] >= [1] L + [1] X + [4] = 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 + [1] = 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 + [1] = 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: activate(n__incr(X)) -> incr(activate(X)) 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(activate(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) = [0] p(activate) = [1] x1 + [3] 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 + [0] 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) = [3] Following rules are strictly oriented: zeros() = [3] > [0] = cons(0(),n__zeros()) zeros() = [3] > [0] = n__zeros() Following rules are (at-least) weakly oriented: activate(X) = [1] X + [3] >= [1] X + [0] = X activate(n__adx(X)) = [1] X + [3] >= [1] X + [3] = adx(activate(X)) activate(n__incr(X)) = [1] X + [3] >= [1] X + [3] = incr(activate(X)) activate(n__zeros()) = [3] >= [3] = 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 + [3] = 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 + [3] = cons(s(X),n__incr(activate(L))) incr(nil()) = [0] >= [0] = nil() nats() = [0] >= [3] = adx(zeros()) tail(cons(X,L)) = [1] L + [1] X + [0] >= [1] L + [3] = 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: activate(n__incr(X)) -> incr(activate(X)) 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(activate(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 + [8] p(cons) = [1] x1 + [1] x2 + [8] p(head) = [1] x1 + [0] p(incr) = [1] x1 + [4] p(n__adx) = [1] x1 + [8] p(n__incr) = [1] x1 + [0] p(n__zeros) = [0] p(nats) = [0] p(nil) = [9] p(s) = [9] p(tail) = [2] x1 + [0] p(zeros) = [9] Following rules are strictly oriented: adx(nil()) = [17] > [9] = nil() head(cons(X,L)) = [1] L + [1] X + [8] > [1] X + [0] = X incr(X) = [1] X + [4] > [1] X + [0] = n__incr(X) incr(nil()) = [13] > [9] = nil() tail(cons(X,L)) = [2] L + [2] X + [16] > [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 + [17] >= [1] X + [17] = adx(activate(X)) activate(n__incr(X)) = [1] X + [9] >= [1] X + [13] = incr(activate(X)) activate(n__zeros()) = [9] >= [9] = zeros() adx(X) = [1] X + [8] >= [1] X + [8] = n__adx(X) adx(cons(X,L)) = [1] L + [1] X + [16] >= [1] L + [1] X + [29] = incr(cons(X,n__adx(activate(L)))) incr(cons(X,L)) = [1] L + [1] X + [12] >= [1] L + [26] = cons(s(X),n__incr(activate(L))) nats() = [0] >= [17] = adx(zeros()) zeros() = [9] >= [8] = cons(0(),n__zeros()) zeros() = [9] >= [0] = 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: activate(n__incr(X)) -> incr(activate(X)) adx(X) -> n__adx(X) 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(activate(X)) activate(n__zeros()) -> zeros() 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 + [2] p(cons) = [1] x1 + [1] x2 + [0] p(head) = [2] x1 + [3] p(incr) = [1] x1 + [4] p(n__adx) = [1] x1 + [12] p(n__incr) = [1] x1 + [4] p(n__zeros) = [0] p(nats) = [9] p(nil) = [9] p(s) = [2] p(tail) = [1] x1 + [0] p(zeros) = [0] Following rules are strictly oriented: nats() = [9] > [2] = adx(zeros()) Following rules are (at-least) weakly oriented: activate(X) = [1] X + [0] >= [1] X + [0] = X activate(n__adx(X)) = [1] X + [12] >= [1] X + [2] = adx(activate(X)) activate(n__incr(X)) = [1] X + [4] >= [1] X + [4] = incr(activate(X)) activate(n__zeros()) = [0] >= [0] = zeros() adx(X) = [1] X + [2] >= [1] X + [12] = n__adx(X) adx(cons(X,L)) = [1] L + [1] X + [2] >= [1] L + [1] X + [16] = incr(cons(X,n__adx(activate(L)))) adx(nil()) = [11] >= [9] = nil() head(cons(X,L)) = [2] L + [2] X + [3] >= [1] X + [0] = X incr(X) = [1] X + [4] >= [1] X + [4] = n__incr(X) incr(cons(X,L)) = [1] L + [1] X + [4] >= [1] L + [6] = cons(s(X),n__incr(activate(L))) incr(nil()) = [13] >= [9] = 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 5: WeightGap MAYBE + Considered Problem: - Strict TRS: activate(n__incr(X)) -> incr(activate(X)) adx(X) -> n__adx(X) 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(activate(X)) activate(n__zeros()) -> zeros() 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: 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) = [4] p(activate) = [1] x1 + [7] p(adx) = [1] x1 + [0] p(cons) = [1] x1 + [1] x2 + [0] p(head) = [1] x1 + [0] p(incr) = [1] x1 + [14] p(n__adx) = [1] x1 + [0] p(n__incr) = [1] x1 + [2] p(n__zeros) = [1] p(nats) = [8] p(nil) = [0] p(s) = [2] p(tail) = [1] x1 + [9] p(zeros) = [8] Following rules are strictly oriented: incr(cons(X,L)) = [1] L + [1] X + [14] > [1] L + [11] = cons(s(X),n__incr(activate(L))) Following rules are (at-least) weakly oriented: activate(X) = [1] X + [7] >= [1] X + [0] = X activate(n__adx(X)) = [1] X + [7] >= [1] X + [7] = adx(activate(X)) activate(n__incr(X)) = [1] X + [9] >= [1] X + [21] = incr(activate(X)) activate(n__zeros()) = [8] >= [8] = 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 + [21] = 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 + [14] >= [1] X + [2] = n__incr(X) incr(nil()) = [14] >= [0] = nil() nats() = [8] >= [8] = adx(zeros()) tail(cons(X,L)) = [1] L + [1] X + [9] >= [1] L + [7] = activate(L) zeros() = [8] >= [5] = cons(0(),n__zeros()) zeros() = [8] >= [1] = 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: activate(n__incr(X)) -> incr(activate(X)) adx(X) -> n__adx(X) adx(cons(X,L)) -> incr(cons(X,n__adx(activate(L)))) - Weak TRS: activate(X) -> X activate(n__adx(X)) -> adx(activate(X)) activate(n__zeros()) -> zeros() 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: EmptyProcessor + Details: The problem is still open. MAYBE