*** 1 Progress [(O(1),O(1))] ***
Considered Problem:
Strict DP Rules:
Strict TRS Rules:
f(f(x)) -> f(c(f(x)))
f(f(x)) -> f(d(f(x)))
g(c(x)) -> x
g(c(0())) -> g(d(1()))
g(c(1())) -> g(d(0()))
g(d(x)) -> x
Weak DP Rules:
Weak TRS Rules:
Signature:
{f/1,g/1} / {0/0,1/0,c/1,d/1}
Obligation:
Full
basic terms: {f,g}/{0,1,c,d}
Applied Processor:
DependencyPairs {dpKind_ = DT}
Proof:
We add the following weak dependency pairs:
Strict DPs
f#(f(x)) -> c_1(f#(c(f(x))))
f#(f(x)) -> c_2(f#(d(f(x))))
g#(c(x)) -> c_3(x)
g#(c(0())) -> c_4(g#(d(1())))
g#(c(1())) -> c_5(g#(d(0())))
g#(d(x)) -> c_6(x)
Weak DPs
and mark the set of starting terms.
*** 1.1 Progress [(O(1),O(1))] ***
Considered Problem:
Strict DP Rules:
f#(f(x)) -> c_1(f#(c(f(x))))
f#(f(x)) -> c_2(f#(d(f(x))))
g#(c(x)) -> c_3(x)
g#(c(0())) -> c_4(g#(d(1())))
g#(c(1())) -> c_5(g#(d(0())))
g#(d(x)) -> c_6(x)
Strict TRS Rules:
f(f(x)) -> f(c(f(x)))
f(f(x)) -> f(d(f(x)))
g(c(x)) -> x
g(c(0())) -> g(d(1()))
g(c(1())) -> g(d(0()))
g(d(x)) -> x
Weak DP Rules:
Weak TRS Rules:
Signature:
{f/1,g/1,f#/1,g#/1} / {0/0,1/0,c/1,d/1,c_1/1,c_2/1,c_3/1,c_4/1,c_5/1,c_6/1}
Obligation:
Full
basic terms: {f#,g#}/{0,1,c,d}
Applied Processor:
UsableRules
Proof:
We replace rewrite rules by usable rules:
g#(c(x)) -> c_3(x)
g#(c(0())) -> c_4(g#(d(1())))
g#(c(1())) -> c_5(g#(d(0())))
g#(d(x)) -> c_6(x)
*** 1.1.1 Progress [(O(1),O(1))] ***
Considered Problem:
Strict DP Rules:
g#(c(x)) -> c_3(x)
g#(c(0())) -> c_4(g#(d(1())))
g#(c(1())) -> c_5(g#(d(0())))
g#(d(x)) -> c_6(x)
Strict TRS Rules:
Weak DP Rules:
Weak TRS Rules:
Signature:
{f/1,g/1,f#/1,g#/1} / {0/0,1/0,c/1,d/1,c_1/1,c_2/1,c_3/1,c_4/1,c_5/1,c_6/1}
Obligation:
Full
basic terms: {f#,g#}/{0,1,c,d}
Applied Processor:
NaturalMI {miDimension = 1, miDegree = 0, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just any strict-rules, greedy = NoGreedy}
Proof:
We apply a matrix interpretation of kind constructor based matrix interpretation (containing no more than 0 non-zero interpretation-entries in the diagonal of the component-wise maxima):
The following argument positions are considered usable:
uargs(c_4) = {1},
uargs(c_5) = {1}
Following symbols are considered usable:
{}
TcT has computed the following interpretation:
p(0) = [0]
p(1) = [0]
p(c) = [3]
p(d) = [0]
p(f) = [1] x1 + [2]
p(g) = [8] x1 + [1]
p(f#) = [2]
p(g#) = [8] x1 + [1]
p(c_1) = [2] x1 + [0]
p(c_2) = [1] x1 + [1]
p(c_3) = [8]
p(c_4) = [2] x1 + [15]
p(c_5) = [4] x1 + [15]
p(c_6) = [0]
Following rules are strictly oriented:
g#(c(x)) = [25]
> [8]
= c_3(x)
g#(c(0())) = [25]
> [17]
= c_4(g#(d(1())))
g#(c(1())) = [25]
> [19]
= c_5(g#(d(0())))
g#(d(x)) = [1]
> [0]
= c_6(x)
Following rules are (at-least) weakly oriented:
*** 1.1.1.1 Progress [(O(1),O(1))] ***
Considered Problem:
Strict DP Rules:
Strict TRS Rules:
Weak DP Rules:
g#(c(x)) -> c_3(x)
g#(c(0())) -> c_4(g#(d(1())))
g#(c(1())) -> c_5(g#(d(0())))
g#(d(x)) -> c_6(x)
Weak TRS Rules:
Signature:
{f/1,g/1,f#/1,g#/1} / {0/0,1/0,c/1,d/1,c_1/1,c_2/1,c_3/1,c_4/1,c_5/1,c_6/1}
Obligation:
Full
basic terms: {f#,g#}/{0,1,c,d}
Applied Processor:
EmptyProcessor
Proof:
The problem is already closed. The intended complexity is O(1).