*** 1 Progress [(O(1),O(n^1))] ***
Considered Problem:
Strict DP Rules:
Strict TRS Rules:
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 DP Rules:
Weak TRS Rules:
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
basic terms: {a,and,eqZList,first,second}/{C,False,True,Z}
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(C) = {1,2},
uargs(and) = {1,2}
Following symbols are considered usable:
{}
TcT has computed the following interpretation:
p(C) = [1] x1 + [1] x2 + [1]
p(False) = [8]
p(True) = [7]
p(Z) = [1]
p(a) = [1] x1 + [15]
p(and) = [1] x1 + [1] x2 + [2]
p(eqZList) = [3] x1 + [6] x2 + [0]
p(first) = [5] x1 + [0]
p(second) = [1] x1 + [15]
Following rules are strictly oriented:
a(Z(),y,z) = [16]
> [1]
= Z()
eqZList(C(x1,x2),C(y1,y2)) = [3] x1 + [3] x2 + [6] y1 + [6] y2 + [9]
> [3] x1 + [3] x2 + [6] y1 + [6] y2 + [2]
= and(eqZList(x1,y1)
,eqZList(x2,y2))
eqZList(C(x1,x2),Z()) = [3] x1 + [3] x2 + [9]
> [8]
= False()
eqZList(Z(),C(y1,y2)) = [6] y1 + [6] y2 + [9]
> [8]
= False()
eqZList(Z(),Z()) = [9]
> [7]
= True()
first(C(x1,x2)) = [5] x1 + [5] x2 + [5]
> [1] x1 + [0]
= x1
second(C(x1,x2)) = [1] x1 + [1] x2 + [16]
> [1] x2 + [0]
= x2
Following rules are (at-least) weakly oriented:
a(C(x1,x2),y,z) = [1] x1 + [1] x2 + [16]
>= [1] x1 + [1] x2 + [31]
= C(a(x1,y,z),a(x2,y,y))
and(False(),False()) = [18]
>= [8]
= False()
and(False(),True()) = [17]
>= [8]
= False()
and(True(),False()) = [17]
>= [8]
= False()
and(True(),True()) = [16]
>= [7]
= True()
Further, it can be verified that all rules not oriented are covered by the weightgap condition.
*** 1.1 Progress [(O(1),O(n^1))] ***
Considered Problem:
Strict DP Rules:
Strict TRS Rules:
a(C(x1,x2),y,z) -> C(a(x1,y,z),a(x2,y,y))
Weak DP Rules:
Weak TRS Rules:
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} / {C/2,False/0,True/0,Z/0}
Obligation:
Innermost
basic terms: {a,and,eqZList,first,second}/{C,False,True,Z}
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(C) = {1,2},
uargs(and) = {1,2}
Following symbols are considered usable:
{}
TcT has computed the following interpretation:
p(C) = [1] x1 + [1] x2 + [4]
p(False) = [0]
p(True) = [2]
p(Z) = [1]
p(a) = [2] x1 + [0]
p(and) = [1] x1 + [1] x2 + [4]
p(eqZList) = [2] x1 + [0]
p(first) = [1] x1 + [0]
p(second) = [2] x1 + [4]
Following rules are strictly oriented:
a(C(x1,x2),y,z) = [2] x1 + [2] x2 + [8]
> [2] x1 + [2] x2 + [4]
= C(a(x1,y,z),a(x2,y,y))
Following rules are (at-least) weakly oriented:
a(Z(),y,z) = [2]
>= [1]
= Z()
and(False(),False()) = [4]
>= [0]
= False()
and(False(),True()) = [6]
>= [0]
= False()
and(True(),False()) = [6]
>= [0]
= False()
and(True(),True()) = [8]
>= [2]
= True()
eqZList(C(x1,x2),C(y1,y2)) = [2] x1 + [2] x2 + [8]
>= [2] x1 + [2] x2 + [4]
= and(eqZList(x1,y1)
,eqZList(x2,y2))
eqZList(C(x1,x2),Z()) = [2] x1 + [2] x2 + [8]
>= [0]
= False()
eqZList(Z(),C(y1,y2)) = [2]
>= [0]
= False()
eqZList(Z(),Z()) = [2]
>= [2]
= True()
first(C(x1,x2)) = [1] x1 + [1] x2 + [4]
>= [1] x1 + [0]
= x1
second(C(x1,x2)) = [2] x1 + [2] x2 + [12]
>= [1] x2 + [0]
= x2
Further, it can be verified that all rules not oriented are covered by the weightgap condition.
*** 1.1.1 Progress [(O(1),O(1))] ***
Considered Problem:
Strict DP Rules:
Strict TRS Rules:
Weak DP Rules:
Weak TRS Rules:
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} / {C/2,False/0,True/0,Z/0}
Obligation:
Innermost
basic terms: {a,and,eqZList,first,second}/{C,False,True,Z}
Applied Processor:
EmptyProcessor
Proof:
The problem is already closed. The intended complexity is O(1).