*** 1 Progress [(O(1),O(n^2))] ***
Considered Problem:
Strict DP Rules:
Strict TRS Rules:
2ndsneg(0(),Z) -> rnil()
2ndsneg(s(N),cons(X,n__cons(Y,Z))) -> rcons(negrecip(activate(Y)),2ndspos(N,activate(Z)))
2ndspos(0(),Z) -> rnil()
2ndspos(s(N),cons(X,n__cons(Y,Z))) -> rcons(posrecip(activate(Y)),2ndsneg(N,activate(Z)))
activate(X) -> X
activate(n__cons(X1,X2)) -> cons(X1,X2)
activate(n__from(X)) -> from(X)
cons(X1,X2) -> n__cons(X1,X2)
from(X) -> cons(X,n__from(s(X)))
from(X) -> n__from(X)
pi(X) -> 2ndspos(X,from(0()))
plus(0(),Y) -> Y
plus(s(X),Y) -> s(plus(X,Y))
square(X) -> times(X,X)
times(0(),Y) -> 0()
times(s(X),Y) -> plus(Y,times(X,Y))
Weak DP Rules:
Weak TRS Rules:
Signature:
{2ndsneg/2,2ndspos/2,activate/1,cons/2,from/1,pi/1,plus/2,square/1,times/2} / {0/0,n__cons/2,n__from/1,negrecip/1,posrecip/1,rcons/2,rnil/0,s/1}
Obligation:
Innermost
basic terms: {2ndsneg,2ndspos,activate,cons,from,pi,plus,square,times}/{0,n__cons,n__from,negrecip,posrecip,rcons,rnil,s}
Applied Processor:
InnermostRuleRemoval
Proof:
Arguments of following rules are not normal-forms.
2ndsneg(s(N),cons(X,n__cons(Y,Z))) -> rcons(negrecip(activate(Y)),2ndspos(N,activate(Z)))
2ndspos(s(N),cons(X,n__cons(Y,Z))) -> rcons(posrecip(activate(Y)),2ndsneg(N,activate(Z)))
All above mentioned rules can be savely removed.
*** 1.1 Progress [(O(1),O(n^2))] ***
Considered Problem:
Strict DP Rules:
Strict TRS Rules:
2ndsneg(0(),Z) -> rnil()
2ndspos(0(),Z) -> rnil()
activate(X) -> X
activate(n__cons(X1,X2)) -> cons(X1,X2)
activate(n__from(X)) -> from(X)
cons(X1,X2) -> n__cons(X1,X2)
from(X) -> cons(X,n__from(s(X)))
from(X) -> n__from(X)
pi(X) -> 2ndspos(X,from(0()))
plus(0(),Y) -> Y
plus(s(X),Y) -> s(plus(X,Y))
square(X) -> times(X,X)
times(0(),Y) -> 0()
times(s(X),Y) -> plus(Y,times(X,Y))
Weak DP Rules:
Weak TRS Rules:
Signature:
{2ndsneg/2,2ndspos/2,activate/1,cons/2,from/1,pi/1,plus/2,square/1,times/2} / {0/0,n__cons/2,n__from/1,negrecip/1,posrecip/1,rcons/2,rnil/0,s/1}
Obligation:
Innermost
basic terms: {2ndsneg,2ndspos,activate,cons,from,pi,plus,square,times}/{0,n__cons,n__from,negrecip,posrecip,rcons,rnil,s}
Applied Processor:
WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
Proof:
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(2ndspos) = {2},
uargs(plus) = {2},
uargs(s) = {1}
Following symbols are considered usable:
{}
TcT has computed the following interpretation:
p(0) = [0]
p(2ndsneg) = [0]
p(2ndspos) = [1] x2 + [0]
p(activate) = [8] x1 + [3]
p(cons) = [1]
p(from) = [8] x1 + [0]
p(n__cons) = [0]
p(n__from) = [1] x1 + [2]
p(negrecip) = [1] x1 + [0]
p(pi) = [0]
p(plus) = [1] x2 + [1]
p(posrecip) = [1] x1 + [0]
p(rcons) = [1] x1 + [1] x2 + [0]
p(rnil) = [0]
p(s) = [1] x1 + [0]
p(square) = [1] x1 + [0]
p(times) = [1] x1 + [9]
Following rules are strictly oriented:
activate(X) = [8] X + [3]
> [1] X + [0]
= X
activate(n__cons(X1,X2)) = [3]
> [1]
= cons(X1,X2)
activate(n__from(X)) = [8] X + [19]
> [8] X + [0]
= from(X)
cons(X1,X2) = [1]
> [0]
= n__cons(X1,X2)
plus(0(),Y) = [1] Y + [1]
> [1] Y + [0]
= Y
times(0(),Y) = [9]
> [0]
= 0()
Following rules are (at-least) weakly oriented:
2ndsneg(0(),Z) = [0]
>= [0]
= rnil()
2ndspos(0(),Z) = [1] Z + [0]
>= [0]
= rnil()
from(X) = [8] X + [0]
>= [1]
= cons(X,n__from(s(X)))
from(X) = [8] X + [0]
>= [1] X + [2]
= n__from(X)
pi(X) = [0]
>= [0]
= 2ndspos(X,from(0()))
plus(s(X),Y) = [1] Y + [1]
>= [1] Y + [1]
= s(plus(X,Y))
square(X) = [1] X + [0]
>= [1] X + [9]
= times(X,X)
times(s(X),Y) = [1] X + [9]
>= [1] X + [10]
= plus(Y,times(X,Y))
Further, it can be verified that all rules not oriented are covered by the weightgap condition.
*** 1.1.1 Progress [(O(1),O(n^2))] ***
Considered Problem:
Strict DP Rules:
Strict TRS Rules:
2ndsneg(0(),Z) -> rnil()
2ndspos(0(),Z) -> rnil()
from(X) -> cons(X,n__from(s(X)))
from(X) -> n__from(X)
pi(X) -> 2ndspos(X,from(0()))
plus(s(X),Y) -> s(plus(X,Y))
square(X) -> times(X,X)
times(s(X),Y) -> plus(Y,times(X,Y))
Weak DP Rules:
Weak TRS Rules:
activate(X) -> X
activate(n__cons(X1,X2)) -> cons(X1,X2)
activate(n__from(X)) -> from(X)
cons(X1,X2) -> n__cons(X1,X2)
plus(0(),Y) -> Y
times(0(),Y) -> 0()
Signature:
{2ndsneg/2,2ndspos/2,activate/1,cons/2,from/1,pi/1,plus/2,square/1,times/2} / {0/0,n__cons/2,n__from/1,negrecip/1,posrecip/1,rcons/2,rnil/0,s/1}
Obligation:
Innermost
basic terms: {2ndsneg,2ndspos,activate,cons,from,pi,plus,square,times}/{0,n__cons,n__from,negrecip,posrecip,rcons,rnil,s}
Applied Processor:
WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
Proof:
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(2ndspos) = {2},
uargs(plus) = {2},
uargs(s) = {1}
Following symbols are considered usable:
{}
TcT has computed the following interpretation:
p(0) = [4]
p(2ndsneg) = [0]
p(2ndspos) = [1] x2 + [0]
p(activate) = [6] x1 + [0]
p(cons) = [4] x1 + [0]
p(from) = [4] x1 + [10]
p(n__cons) = [1] x1 + [0]
p(n__from) = [1] x1 + [4]
p(negrecip) = [1] x1 + [0]
p(pi) = [4] x1 + [0]
p(plus) = [1] x2 + [0]
p(posrecip) = [1] x1 + [0]
p(rcons) = [1] x1 + [1] x2 + [0]
p(rnil) = [0]
p(s) = [1] x1 + [0]
p(square) = [1] x1 + [0]
p(times) = [12]
Following rules are strictly oriented:
from(X) = [4] X + [10]
> [4] X + [0]
= cons(X,n__from(s(X)))
from(X) = [4] X + [10]
> [1] X + [4]
= n__from(X)
Following rules are (at-least) weakly oriented:
2ndsneg(0(),Z) = [0]
>= [0]
= rnil()
2ndspos(0(),Z) = [1] Z + [0]
>= [0]
= rnil()
activate(X) = [6] X + [0]
>= [1] X + [0]
= X
activate(n__cons(X1,X2)) = [6] X1 + [0]
>= [4] X1 + [0]
= cons(X1,X2)
activate(n__from(X)) = [6] X + [24]
>= [4] X + [10]
= from(X)
cons(X1,X2) = [4] X1 + [0]
>= [1] X1 + [0]
= n__cons(X1,X2)
pi(X) = [4] X + [0]
>= [26]
= 2ndspos(X,from(0()))
plus(0(),Y) = [1] Y + [0]
>= [1] Y + [0]
= Y
plus(s(X),Y) = [1] Y + [0]
>= [1] Y + [0]
= s(plus(X,Y))
square(X) = [1] X + [0]
>= [12]
= times(X,X)
times(0(),Y) = [12]
>= [4]
= 0()
times(s(X),Y) = [12]
>= [12]
= plus(Y,times(X,Y))
Further, it can be verified that all rules not oriented are covered by the weightgap condition.
*** 1.1.1.1 Progress [(O(1),O(n^2))] ***
Considered Problem:
Strict DP Rules:
Strict TRS Rules:
2ndsneg(0(),Z) -> rnil()
2ndspos(0(),Z) -> rnil()
pi(X) -> 2ndspos(X,from(0()))
plus(s(X),Y) -> s(plus(X,Y))
square(X) -> times(X,X)
times(s(X),Y) -> plus(Y,times(X,Y))
Weak DP Rules:
Weak TRS Rules:
activate(X) -> X
activate(n__cons(X1,X2)) -> cons(X1,X2)
activate(n__from(X)) -> from(X)
cons(X1,X2) -> n__cons(X1,X2)
from(X) -> cons(X,n__from(s(X)))
from(X) -> n__from(X)
plus(0(),Y) -> Y
times(0(),Y) -> 0()
Signature:
{2ndsneg/2,2ndspos/2,activate/1,cons/2,from/1,pi/1,plus/2,square/1,times/2} / {0/0,n__cons/2,n__from/1,negrecip/1,posrecip/1,rcons/2,rnil/0,s/1}
Obligation:
Innermost
basic terms: {2ndsneg,2ndspos,activate,cons,from,pi,plus,square,times}/{0,n__cons,n__from,negrecip,posrecip,rcons,rnil,s}
Applied Processor:
WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
Proof:
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(2ndspos) = {2},
uargs(plus) = {2},
uargs(s) = {1}
Following symbols are considered usable:
{}
TcT has computed the following interpretation:
p(0) = [0]
p(2ndsneg) = [1]
p(2ndspos) = [1] x2 + [0]
p(activate) = [1] x1 + [0]
p(cons) = [1] x2 + [0]
p(from) = [0]
p(n__cons) = [1] x2 + [0]
p(n__from) = [0]
p(negrecip) = [1] x1 + [0]
p(pi) = [0]
p(plus) = [1] x2 + [0]
p(posrecip) = [1] x1 + [0]
p(rcons) = [1] x1 + [1] x2 + [0]
p(rnil) = [0]
p(s) = [1] x1 + [9]
p(square) = [2] x1 + [0]
p(times) = [2] x1 + [0]
Following rules are strictly oriented:
2ndsneg(0(),Z) = [1]
> [0]
= rnil()
times(s(X),Y) = [2] X + [18]
> [2] X + [0]
= plus(Y,times(X,Y))
Following rules are (at-least) weakly oriented:
2ndspos(0(),Z) = [1] Z + [0]
>= [0]
= rnil()
activate(X) = [1] X + [0]
>= [1] X + [0]
= X
activate(n__cons(X1,X2)) = [1] X2 + [0]
>= [1] X2 + [0]
= cons(X1,X2)
activate(n__from(X)) = [0]
>= [0]
= from(X)
cons(X1,X2) = [1] X2 + [0]
>= [1] X2 + [0]
= n__cons(X1,X2)
from(X) = [0]
>= [0]
= cons(X,n__from(s(X)))
from(X) = [0]
>= [0]
= n__from(X)
pi(X) = [0]
>= [0]
= 2ndspos(X,from(0()))
plus(0(),Y) = [1] Y + [0]
>= [1] Y + [0]
= Y
plus(s(X),Y) = [1] Y + [0]
>= [1] Y + [9]
= s(plus(X,Y))
square(X) = [2] X + [0]
>= [2] X + [0]
= times(X,X)
times(0(),Y) = [0]
>= [0]
= 0()
Further, it can be verified that all rules not oriented are covered by the weightgap condition.
*** 1.1.1.1.1 Progress [(O(1),O(n^2))] ***
Considered Problem:
Strict DP Rules:
Strict TRS Rules:
2ndspos(0(),Z) -> rnil()
pi(X) -> 2ndspos(X,from(0()))
plus(s(X),Y) -> s(plus(X,Y))
square(X) -> times(X,X)
Weak DP Rules:
Weak TRS Rules:
2ndsneg(0(),Z) -> rnil()
activate(X) -> X
activate(n__cons(X1,X2)) -> cons(X1,X2)
activate(n__from(X)) -> from(X)
cons(X1,X2) -> n__cons(X1,X2)
from(X) -> cons(X,n__from(s(X)))
from(X) -> n__from(X)
plus(0(),Y) -> Y
times(0(),Y) -> 0()
times(s(X),Y) -> plus(Y,times(X,Y))
Signature:
{2ndsneg/2,2ndspos/2,activate/1,cons/2,from/1,pi/1,plus/2,square/1,times/2} / {0/0,n__cons/2,n__from/1,negrecip/1,posrecip/1,rcons/2,rnil/0,s/1}
Obligation:
Innermost
basic terms: {2ndsneg,2ndspos,activate,cons,from,pi,plus,square,times}/{0,n__cons,n__from,negrecip,posrecip,rcons,rnil,s}
Applied Processor:
WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
Proof:
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(2ndspos) = {2},
uargs(plus) = {2},
uargs(s) = {1}
Following symbols are considered usable:
{}
TcT has computed the following interpretation:
p(0) = [3]
p(2ndsneg) = [4] x1 + [0]
p(2ndspos) = [1] x2 + [0]
p(activate) = [1] x1 + [4]
p(cons) = [2]
p(from) = [1] x1 + [4]
p(n__cons) = [0]
p(n__from) = [1] x1 + [0]
p(negrecip) = [1]
p(pi) = [2] x1 + [0]
p(plus) = [1] x2 + [6]
p(posrecip) = [1]
p(rcons) = [1] x1 + [1] x2 + [2]
p(rnil) = [0]
p(s) = [1] x1 + [5]
p(square) = [4] x1 + [4]
p(times) = [3] x1 + [1] x2 + [0]
Following rules are strictly oriented:
square(X) = [4] X + [4]
> [4] X + [0]
= times(X,X)
Following rules are (at-least) weakly oriented:
2ndsneg(0(),Z) = [12]
>= [0]
= rnil()
2ndspos(0(),Z) = [1] Z + [0]
>= [0]
= rnil()
activate(X) = [1] X + [4]
>= [1] X + [0]
= X
activate(n__cons(X1,X2)) = [4]
>= [2]
= cons(X1,X2)
activate(n__from(X)) = [1] X + [4]
>= [1] X + [4]
= from(X)
cons(X1,X2) = [2]
>= [0]
= n__cons(X1,X2)
from(X) = [1] X + [4]
>= [2]
= cons(X,n__from(s(X)))
from(X) = [1] X + [4]
>= [1] X + [0]
= n__from(X)
pi(X) = [2] X + [0]
>= [7]
= 2ndspos(X,from(0()))
plus(0(),Y) = [1] Y + [6]
>= [1] Y + [0]
= Y
plus(s(X),Y) = [1] Y + [6]
>= [1] Y + [11]
= s(plus(X,Y))
times(0(),Y) = [1] Y + [9]
>= [3]
= 0()
times(s(X),Y) = [3] X + [1] Y + [15]
>= [3] X + [1] Y + [6]
= plus(Y,times(X,Y))
Further, it can be verified that all rules not oriented are covered by the weightgap condition.
*** 1.1.1.1.1.1 Progress [(O(1),O(n^2))] ***
Considered Problem:
Strict DP Rules:
Strict TRS Rules:
2ndspos(0(),Z) -> rnil()
pi(X) -> 2ndspos(X,from(0()))
plus(s(X),Y) -> s(plus(X,Y))
Weak DP Rules:
Weak TRS Rules:
2ndsneg(0(),Z) -> rnil()
activate(X) -> X
activate(n__cons(X1,X2)) -> cons(X1,X2)
activate(n__from(X)) -> from(X)
cons(X1,X2) -> n__cons(X1,X2)
from(X) -> cons(X,n__from(s(X)))
from(X) -> n__from(X)
plus(0(),Y) -> Y
square(X) -> times(X,X)
times(0(),Y) -> 0()
times(s(X),Y) -> plus(Y,times(X,Y))
Signature:
{2ndsneg/2,2ndspos/2,activate/1,cons/2,from/1,pi/1,plus/2,square/1,times/2} / {0/0,n__cons/2,n__from/1,negrecip/1,posrecip/1,rcons/2,rnil/0,s/1}
Obligation:
Innermost
basic terms: {2ndsneg,2ndspos,activate,cons,from,pi,plus,square,times}/{0,n__cons,n__from,negrecip,posrecip,rcons,rnil,s}
Applied Processor:
WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
Proof:
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(2ndspos) = {2},
uargs(plus) = {2},
uargs(s) = {1}
Following symbols are considered usable:
{}
TcT has computed the following interpretation:
p(0) = [4]
p(2ndsneg) = [1] x1 + [7]
p(2ndspos) = [1] x2 + [1]
p(activate) = [2] x1 + [4]
p(cons) = [1] x2 + [0]
p(from) = [1]
p(n__cons) = [1] x2 + [0]
p(n__from) = [1]
p(negrecip) = [1] x1 + [0]
p(pi) = [2]
p(plus) = [1] x2 + [0]
p(posrecip) = [1] x1 + [0]
p(rcons) = [1] x1 + [1] x2 + [0]
p(rnil) = [0]
p(s) = [1] x1 + [1]
p(square) = [7] x1 + [4]
p(times) = [2] x1 + [4] x2 + [2]
Following rules are strictly oriented:
2ndspos(0(),Z) = [1] Z + [1]
> [0]
= rnil()
Following rules are (at-least) weakly oriented:
2ndsneg(0(),Z) = [11]
>= [0]
= rnil()
activate(X) = [2] X + [4]
>= [1] X + [0]
= X
activate(n__cons(X1,X2)) = [2] X2 + [4]
>= [1] X2 + [0]
= cons(X1,X2)
activate(n__from(X)) = [6]
>= [1]
= from(X)
cons(X1,X2) = [1] X2 + [0]
>= [1] X2 + [0]
= n__cons(X1,X2)
from(X) = [1]
>= [1]
= cons(X,n__from(s(X)))
from(X) = [1]
>= [1]
= n__from(X)
pi(X) = [2]
>= [2]
= 2ndspos(X,from(0()))
plus(0(),Y) = [1] Y + [0]
>= [1] Y + [0]
= Y
plus(s(X),Y) = [1] Y + [0]
>= [1] Y + [1]
= s(plus(X,Y))
square(X) = [7] X + [4]
>= [6] X + [2]
= times(X,X)
times(0(),Y) = [4] Y + [10]
>= [4]
= 0()
times(s(X),Y) = [2] X + [4] Y + [4]
>= [2] X + [4] Y + [2]
= plus(Y,times(X,Y))
Further, it can be verified that all rules not oriented are covered by the weightgap condition.
*** 1.1.1.1.1.1.1 Progress [(O(1),O(n^2))] ***
Considered Problem:
Strict DP Rules:
Strict TRS Rules:
pi(X) -> 2ndspos(X,from(0()))
plus(s(X),Y) -> s(plus(X,Y))
Weak DP Rules:
Weak TRS Rules:
2ndsneg(0(),Z) -> rnil()
2ndspos(0(),Z) -> rnil()
activate(X) -> X
activate(n__cons(X1,X2)) -> cons(X1,X2)
activate(n__from(X)) -> from(X)
cons(X1,X2) -> n__cons(X1,X2)
from(X) -> cons(X,n__from(s(X)))
from(X) -> n__from(X)
plus(0(),Y) -> Y
square(X) -> times(X,X)
times(0(),Y) -> 0()
times(s(X),Y) -> plus(Y,times(X,Y))
Signature:
{2ndsneg/2,2ndspos/2,activate/1,cons/2,from/1,pi/1,plus/2,square/1,times/2} / {0/0,n__cons/2,n__from/1,negrecip/1,posrecip/1,rcons/2,rnil/0,s/1}
Obligation:
Innermost
basic terms: {2ndsneg,2ndspos,activate,cons,from,pi,plus,square,times}/{0,n__cons,n__from,negrecip,posrecip,rcons,rnil,s}
Applied Processor:
WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
Proof:
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(2ndspos) = {2},
uargs(plus) = {2},
uargs(s) = {1}
Following symbols are considered usable:
{}
TcT has computed the following interpretation:
p(0) = [1]
p(2ndsneg) = [2] x1 + [0]
p(2ndspos) = [1] x2 + [1]
p(activate) = [2] x1 + [6]
p(cons) = [1] x1 + [0]
p(from) = [1] x1 + [0]
p(n__cons) = [1] x1 + [0]
p(n__from) = [1] x1 + [0]
p(negrecip) = [1] x1 + [0]
p(pi) = [3]
p(plus) = [1] x2 + [0]
p(posrecip) = [1] x1 + [0]
p(rcons) = [1] x1 + [1] x2 + [0]
p(rnil) = [0]
p(s) = [1] x1 + [1]
p(square) = [5] x1 + [1]
p(times) = [4] x2 + [1]
Following rules are strictly oriented:
pi(X) = [3]
> [2]
= 2ndspos(X,from(0()))
Following rules are (at-least) weakly oriented:
2ndsneg(0(),Z) = [2]
>= [0]
= rnil()
2ndspos(0(),Z) = [1] Z + [1]
>= [0]
= rnil()
activate(X) = [2] X + [6]
>= [1] X + [0]
= X
activate(n__cons(X1,X2)) = [2] X1 + [6]
>= [1] X1 + [0]
= cons(X1,X2)
activate(n__from(X)) = [2] X + [6]
>= [1] X + [0]
= from(X)
cons(X1,X2) = [1] X1 + [0]
>= [1] X1 + [0]
= n__cons(X1,X2)
from(X) = [1] X + [0]
>= [1] X + [0]
= cons(X,n__from(s(X)))
from(X) = [1] X + [0]
>= [1] X + [0]
= n__from(X)
plus(0(),Y) = [1] Y + [0]
>= [1] Y + [0]
= Y
plus(s(X),Y) = [1] Y + [0]
>= [1] Y + [1]
= s(plus(X,Y))
square(X) = [5] X + [1]
>= [4] X + [1]
= times(X,X)
times(0(),Y) = [4] Y + [1]
>= [1]
= 0()
times(s(X),Y) = [4] Y + [1]
>= [4] Y + [1]
= plus(Y,times(X,Y))
Further, it can be verified that all rules not oriented are covered by the weightgap condition.
*** 1.1.1.1.1.1.1.1 Progress [(O(1),O(n^2))] ***
Considered Problem:
Strict DP Rules:
Strict TRS Rules:
plus(s(X),Y) -> s(plus(X,Y))
Weak DP Rules:
Weak TRS Rules:
2ndsneg(0(),Z) -> rnil()
2ndspos(0(),Z) -> rnil()
activate(X) -> X
activate(n__cons(X1,X2)) -> cons(X1,X2)
activate(n__from(X)) -> from(X)
cons(X1,X2) -> n__cons(X1,X2)
from(X) -> cons(X,n__from(s(X)))
from(X) -> n__from(X)
pi(X) -> 2ndspos(X,from(0()))
plus(0(),Y) -> Y
square(X) -> times(X,X)
times(0(),Y) -> 0()
times(s(X),Y) -> plus(Y,times(X,Y))
Signature:
{2ndsneg/2,2ndspos/2,activate/1,cons/2,from/1,pi/1,plus/2,square/1,times/2} / {0/0,n__cons/2,n__from/1,negrecip/1,posrecip/1,rcons/2,rnil/0,s/1}
Obligation:
Innermost
basic terms: {2ndsneg,2ndspos,activate,cons,from,pi,plus,square,times}/{0,n__cons,n__from,negrecip,posrecip,rcons,rnil,s}
Applied Processor:
NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Just any strict-rules, greedy = NoGreedy}
Proof:
We apply a polynomial interpretation of kind constructor-based(mixed(2)):
The following argument positions are considered usable:
uargs(2ndspos) = {2},
uargs(plus) = {2},
uargs(s) = {1}
Following symbols are considered usable:
{2ndsneg,2ndspos,activate,cons,from,pi,plus,square,times}
TcT has computed the following interpretation:
p(0) = 0
p(2ndsneg) = 4 + 2*x1 + 2*x1^2 + 2*x2
p(2ndspos) = 2 + 2*x1*x2 + 3*x2 + x2^2
p(activate) = 4 + 4*x1 + 5*x1^2
p(cons) = 2*x1 + 5*x1^2
p(from) = 3*x1 + 5*x1^2
p(n__cons) = x1
p(n__from) = x1
p(negrecip) = x1
p(pi) = 2
p(plus) = 1 + 3*x1 + x2
p(posrecip) = 1
p(rcons) = x2
p(rnil) = 0
p(s) = 1 + x1
p(square) = 1 + x1 + 6*x1^2
p(times) = x1 + 3*x1*x2 + 2*x2^2
Following rules are strictly oriented:
plus(s(X),Y) = 4 + 3*X + Y
> 2 + 3*X + Y
= s(plus(X,Y))
Following rules are (at-least) weakly oriented:
2ndsneg(0(),Z) = 4 + 2*Z
>= 0
= rnil()
2ndspos(0(),Z) = 2 + 3*Z + Z^2
>= 0
= rnil()
activate(X) = 4 + 4*X + 5*X^2
>= X
= X
activate(n__cons(X1,X2)) = 4 + 4*X1 + 5*X1^2
>= 2*X1 + 5*X1^2
= cons(X1,X2)
activate(n__from(X)) = 4 + 4*X + 5*X^2
>= 3*X + 5*X^2
= from(X)
cons(X1,X2) = 2*X1 + 5*X1^2
>= X1
= n__cons(X1,X2)
from(X) = 3*X + 5*X^2
>= 2*X + 5*X^2
= cons(X,n__from(s(X)))
from(X) = 3*X + 5*X^2
>= X
= n__from(X)
pi(X) = 2
>= 2
= 2ndspos(X,from(0()))
plus(0(),Y) = 1 + Y
>= Y
= Y
square(X) = 1 + X + 6*X^2
>= X + 5*X^2
= times(X,X)
times(0(),Y) = 2*Y^2
>= 0
= 0()
times(s(X),Y) = 1 + X + 3*X*Y + 3*Y + 2*Y^2
>= 1 + X + 3*X*Y + 3*Y + 2*Y^2
= plus(Y,times(X,Y))
*** 1.1.1.1.1.1.1.1.1 Progress [(O(1),O(1))] ***
Considered Problem:
Strict DP Rules:
Strict TRS Rules:
Weak DP Rules:
Weak TRS Rules:
2ndsneg(0(),Z) -> rnil()
2ndspos(0(),Z) -> rnil()
activate(X) -> X
activate(n__cons(X1,X2)) -> cons(X1,X2)
activate(n__from(X)) -> from(X)
cons(X1,X2) -> n__cons(X1,X2)
from(X) -> cons(X,n__from(s(X)))
from(X) -> n__from(X)
pi(X) -> 2ndspos(X,from(0()))
plus(0(),Y) -> Y
plus(s(X),Y) -> s(plus(X,Y))
square(X) -> times(X,X)
times(0(),Y) -> 0()
times(s(X),Y) -> plus(Y,times(X,Y))
Signature:
{2ndsneg/2,2ndspos/2,activate/1,cons/2,from/1,pi/1,plus/2,square/1,times/2} / {0/0,n__cons/2,n__from/1,negrecip/1,posrecip/1,rcons/2,rnil/0,s/1}
Obligation:
Innermost
basic terms: {2ndsneg,2ndspos,activate,cons,from,pi,plus,square,times}/{0,n__cons,n__from,negrecip,posrecip,rcons,rnil,s}
Applied Processor:
EmptyProcessor
Proof:
The problem is already closed. The intended complexity is O(1).