*** 1 Progress [(?,O(n^1))] *** Considered Problem: Strict DP Rules: Strict TRS Rules: b(x,b(z,y)) -> f(b(f(f(z)),c(x,z,y))) b(y,z) -> z f(c(a(),z,x)) -> b(a(),z) Weak DP Rules: Weak TRS Rules: Signature: {b/2,f/1} / {a/0,c/3} Obligation: Full basic terms: {b,f}/{a,c} Applied Processor: DependencyPairs {dpKind_ = WIDP} Proof: We add the following weak dependency pairs: Strict DPs b#(x,b(z,y)) -> c_1(f#(b(f(f(z)),c(x,z,y)))) b#(y,z) -> c_2(z) f#(c(a(),z,x)) -> c_3(b#(a(),z)) Weak DPs and mark the set of starting terms. *** 1.1 Progress [(?,O(n^1))] *** Considered Problem: Strict DP Rules: b#(x,b(z,y)) -> c_1(f#(b(f(f(z)),c(x,z,y)))) b#(y,z) -> c_2(z) f#(c(a(),z,x)) -> c_3(b#(a(),z)) Strict TRS Rules: b(x,b(z,y)) -> f(b(f(f(z)),c(x,z,y))) b(y,z) -> z f(c(a(),z,x)) -> b(a(),z) Weak DP Rules: Weak TRS Rules: Signature: {b/2,f/1,b#/2,f#/1} / {a/0,c/3,c_1/1,c_2/1,c_3/1} Obligation: Full basic terms: {b#,f#}/{a,c} Applied Processor: NaturalMI {miDimension = 2, miDegree = 2, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just any intersect of strict-rules and rewrite-rules, greedy = NoGreedy} Proof: We apply a matrix interpretation of kind constructor based matrix interpretation: The following argument positions are considered usable: uargs(b) = {1,2}, uargs(c) = {1,2,3}, uargs(f) = {1}, uargs(b#) = {2}, uargs(f#) = {1}, uargs(c_1) = {1}, uargs(c_2) = {1}, uargs(c_3) = {1} Following symbols are considered usable: {} TcT has computed the following interpretation: p(a) = [0] [0] p(b) = [1 0] x1 + [1 1] x2 + [0] [2 4] [2 1] [3] p(c) = [1 0] x1 + [1 1] x2 + [1 0] x3 + [2] [0 0] [0 0] [0 0] [0] p(f) = [1 0] x1 + [0] [2 0] [0] p(b#) = [4 4] x1 + [4 2] x2 + [4] [0 5] [0 1] [0] p(f#) = [4 0] x1 + [0] [0 0] [7] p(c_1) = [1 0] x1 + [0] [0 0] [2] p(c_2) = [4 0] x1 + [1] [0 1] [0] p(c_3) = [1 1] x1 + [4] [0 0] [0] Following rules are strictly oriented: b#(x,b(z,y)) = [4 4] x + [8 6] y + [8 8] z + [10] [0 5] [2 1] [2 4] [3] > [4 0] x + [4 0] y + [8 4] z + [8] [0 0] [0 0] [0 0] [2] = c_1(f#(b(f(f(z)),c(x,z,y)))) b#(y,z) = [4 4] y + [4 2] z + [4] [0 5] [0 1] [0] > [4 0] z + [1] [0 1] [0] = c_2(z) b(x,b(z,y)) = [1 0] x + [3 2] y + [3 4] z + [3] [2 4] [4 3] [4 4] [6] > [1 0] x + [1 0] y + [2 1] z + [2] [2 0] [2 0] [4 2] [4] = f(b(f(f(z)),c(x,z,y))) f(c(a(),z,x)) = [1 0] x + [1 1] z + [2] [2 0] [2 2] [4] > [1 1] z + [0] [2 1] [3] = b(a(),z) Following rules are (at-least) weakly oriented: f#(c(a(),z,x)) = [4 0] x + [4 4] z + [8] [0 0] [0 0] [7] >= [4 3] z + [8] [0 0] [0] = c_3(b#(a(),z)) b(y,z) = [1 0] y + [1 1] z + [0] [2 4] [2 1] [3] >= [1 0] z + [0] [0 1] [0] = z *** 1.1.1 Progress [(?,O(n^1))] *** Considered Problem: Strict DP Rules: f#(c(a(),z,x)) -> c_3(b#(a(),z)) Strict TRS Rules: b(y,z) -> z Weak DP Rules: b#(x,b(z,y)) -> c_1(f#(b(f(f(z)),c(x,z,y)))) b#(y,z) -> c_2(z) Weak TRS Rules: b(x,b(z,y)) -> f(b(f(f(z)),c(x,z,y))) f(c(a(),z,x)) -> b(a(),z) Signature: {b/2,f/1,b#/2,f#/1} / {a/0,c/3,c_1/1,c_2/1,c_3/1} Obligation: Full basic terms: {b#,f#}/{a,c} Applied Processor: NaturalMI {miDimension = 2, miDegree = 2, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just any intersect of strict-rules and rewrite-rules, greedy = NoGreedy} Proof: We apply a matrix interpretation of kind constructor based matrix interpretation: The following argument positions are considered usable: uargs(b) = {1,2}, uargs(c) = {1,2,3}, uargs(f) = {1}, uargs(b#) = {2}, uargs(f#) = {1}, uargs(c_1) = {1}, uargs(c_2) = {1}, uargs(c_3) = {1} Following symbols are considered usable: {} TcT has computed the following interpretation: p(a) = [0] [0] p(b) = [1 1] x1 + [1 1] x2 + [2] [4 0] [2 2] [2] p(c) = [1 0] x1 + [1 1] x2 + [1 0] x3 + [3] [0 0] [0 0] [0 0] [0] p(f) = [1 0] x1 + [0] [2 0] [0] p(b#) = [1 0] x1 + [1 1] x2 + [5] [5 0] [0 0] [4] p(f#) = [1 0] x1 + [4] [0 0] [1] p(c_1) = [1 0] x1 + [0] [0 4] [0] p(c_2) = [1 1] x1 + [4] [0 0] [2] p(c_3) = [1 0] x1 + [2] [0 0] [1] Following rules are strictly oriented: b(y,z) = [1 1] y + [1 1] z + [2] [4 0] [2 2] [2] > [1 0] z + [0] [0 1] [0] = z Following rules are (at-least) weakly oriented: b#(x,b(z,y)) = [1 0] x + [3 3] y + [5 1] z + [9] [5 0] [0 0] [0 0] [4] >= [1 0] x + [1 0] y + [4 1] z + [9] [0 0] [0 0] [0 0] [4] = c_1(f#(b(f(f(z)),c(x,z,y)))) b#(y,z) = [1 0] y + [1 1] z + [5] [5 0] [0 0] [4] >= [1 1] z + [4] [0 0] [2] = c_2(z) f#(c(a(),z,x)) = [1 0] x + [1 1] z + [7] [0 0] [0 0] [1] >= [1 1] z + [7] [0 0] [1] = c_3(b#(a(),z)) b(x,b(z,y)) = [1 1] x + [3 3] y + [ 5 1] z + [6] [4 0] [6 6] [10 2] [10] >= [1 0] x + [1 0] y + [4 1] z + [5] [2 0] [2 0] [8 2] [10] = f(b(f(f(z)),c(x,z,y))) f(c(a(),z,x)) = [1 0] x + [1 1] z + [3] [2 0] [2 2] [6] >= [1 1] z + [2] [2 2] [2] = b(a(),z) *** 1.1.1.1 Progress [(?,O(n^1))] *** Considered Problem: Strict DP Rules: f#(c(a(),z,x)) -> c_3(b#(a(),z)) Strict TRS Rules: Weak DP Rules: b#(x,b(z,y)) -> c_1(f#(b(f(f(z)),c(x,z,y)))) b#(y,z) -> c_2(z) Weak TRS Rules: b(x,b(z,y)) -> f(b(f(f(z)),c(x,z,y))) b(y,z) -> z f(c(a(),z,x)) -> b(a(),z) Signature: {b/2,f/1,b#/2,f#/1} / {a/0,c/3,c_1/1,c_2/1,c_3/1} Obligation: Full basic terms: {b#,f#}/{a,c} Applied Processor: PredecessorEstimationCP {onSelectionCP = any intersect of rules of CDG leaf and strict-rules, withComplexityPair = NaturalMI {miDimension = 3, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing, greedy = NoGreedy}} Proof: We first use the processor NaturalMI {miDimension = 3, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing, greedy = NoGreedy} to orient following rules strictly: 1: f#(c(a(),z,x)) -> c_3(b#(a(),z)) The strictly oriented rules are moved into the weak component. *** 1.1.1.1.1 Progress [(?,O(n^1))] *** Considered Problem: Strict DP Rules: f#(c(a(),z,x)) -> c_3(b#(a(),z)) Strict TRS Rules: Weak DP Rules: b#(x,b(z,y)) -> c_1(f#(b(f(f(z)),c(x,z,y)))) b#(y,z) -> c_2(z) Weak TRS Rules: b(x,b(z,y)) -> f(b(f(f(z)),c(x,z,y))) b(y,z) -> z f(c(a(),z,x)) -> b(a(),z) Signature: {b/2,f/1,b#/2,f#/1} / {a/0,c/3,c_1/1,c_2/1,c_3/1} Obligation: Full basic terms: {b#,f#}/{a,c} Applied Processor: NaturalMI {miDimension = 3, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just first alternative for predecessorEstimation any intersect of rules of CDG leaf and strict-rules, greedy = NoGreedy} Proof: We apply a matrix interpretation of kind constructor based matrix interpretation (containing no more than 1 non-zero interpretation-entries in the diagonal of the component-wise maxima): The following argument positions are considered usable: uargs(c_1) = {1}, uargs(c_2) = {1}, uargs(c_3) = {1} Following symbols are considered usable: {} TcT has computed the following interpretation: p(a) = [0] [0] [0] p(b) = [0 0 0] [1 0 1] [0] [0 0 0] x1 + [0 1 1] x2 + [0] [1 1 1] [0 0 1] [1] p(c) = [1 1 1] [0 0 0] [0] [0 0 1] x2 + [0 0 1] x3 + [0] [0 0 0] [0 0 0] [0] p(f) = [1 0 0] [0] [1 0 0] x1 + [0] [0 1 0] [1] p(b#) = [1 0 0] [1 1 1] [0] [1 0 1] x1 + [0 1 0] x2 + [1] [0 0 0] [0 0 0] [1] p(f#) = [1 0 0] [1] [0 0 0] x1 + [1] [0 0 0] [1] p(c_1) = [1 0 0] [0] [0 0 1] x1 + [0] [0 0 0] [1] p(c_2) = [1 0 0] [0] [0 1 0] x1 + [0] [0 0 0] [0] p(c_3) = [1 0 0] [0] [0 0 1] x1 + [0] [0 0 0] [1] Following rules are strictly oriented: f#(c(a(),z,x)) = [1 1 1] [1] [0 0 0] z + [1] [0 0 0] [1] > [1 1 1] [0] [0 0 0] z + [1] [0 0 0] [1] = c_3(b#(a(),z)) Following rules are (at-least) weakly oriented: b#(x,b(z,y)) = [1 0 0] [1 1 3] [1 1 1] [1] [1 0 1] x + [0 1 1] y + [0 0 0] z + [1] [0 0 0] [0 0 0] [0 0 0] [1] >= [1 1 1] [1] [0 0 0] z + [1] [0 0 0] [1] = c_1(f#(b(f(f(z)),c(x,z,y)))) b#(y,z) = [1 0 0] [1 1 1] [0] [1 0 1] y + [0 1 0] z + [1] [0 0 0] [0 0 0] [1] >= [1 0 0] [0] [0 1 0] z + [0] [0 0 0] [0] = c_2(z) b(x,b(z,y)) = [0 0 0] [1 0 2] [1 1 1] [1] [0 0 0] x + [0 1 2] y + [1 1 1] z + [1] [1 1 1] [0 0 1] [1 1 1] [2] >= [0 0 0] [1 1 1] [0] [0 0 0] y + [1 1 1] z + [0] [0 0 1] [0 0 1] [1] = f(b(f(f(z)),c(x,z,y))) b(y,z) = [0 0 0] [1 0 1] [0] [0 0 0] y + [0 1 1] z + [0] [1 1 1] [0 0 1] [1] >= [1 0 0] [0] [0 1 0] z + [0] [0 0 1] [0] = z f(c(a(),z,x)) = [0 0 0] [1 1 1] [0] [0 0 0] x + [1 1 1] z + [0] [0 0 1] [0 0 1] [1] >= [1 0 1] [0] [0 1 1] z + [0] [0 0 1] [1] = b(a(),z) *** 1.1.1.1.1.1 Progress [(?,O(1))] *** Considered Problem: Strict DP Rules: Strict TRS Rules: Weak DP Rules: b#(x,b(z,y)) -> c_1(f#(b(f(f(z)),c(x,z,y)))) b#(y,z) -> c_2(z) f#(c(a(),z,x)) -> c_3(b#(a(),z)) Weak TRS Rules: b(x,b(z,y)) -> f(b(f(f(z)),c(x,z,y))) b(y,z) -> z f(c(a(),z,x)) -> b(a(),z) Signature: {b/2,f/1,b#/2,f#/1} / {a/0,c/3,c_1/1,c_2/1,c_3/1} Obligation: Full basic terms: {b#,f#}/{a,c} Applied Processor: Assumption Proof: () *** 1.1.1.1.2 Progress [(O(1),O(1))] *** Considered Problem: Strict DP Rules: Strict TRS Rules: Weak DP Rules: b#(x,b(z,y)) -> c_1(f#(b(f(f(z)),c(x,z,y)))) b#(y,z) -> c_2(z) f#(c(a(),z,x)) -> c_3(b#(a(),z)) Weak TRS Rules: b(x,b(z,y)) -> f(b(f(f(z)),c(x,z,y))) b(y,z) -> z f(c(a(),z,x)) -> b(a(),z) Signature: {b/2,f/1,b#/2,f#/1} / {a/0,c/3,c_1/1,c_2/1,c_3/1} Obligation: Full basic terms: {b#,f#}/{a,c} Applied Processor: RemoveWeakSuffixes Proof: Consider the dependency graph 1:W:b#(x,b(z,y)) -> c_1(f#(b(f(f(z)),c(x,z,y)))) -->_1 f#(c(a(),z,x)) -> c_3(b#(a(),z)):3 2:W:b#(y,z) -> c_2(z) -->_1 f#(c(a(),z,x)) -> c_3(b#(a(),z)):3 -->_1 b#(y,z) -> c_2(z):2 -->_1 b#(x,b(z,y)) -> c_1(f#(b(f(f(z)),c(x,z,y)))):1 3:W:f#(c(a(),z,x)) -> c_3(b#(a(),z)) -->_1 b#(y,z) -> c_2(z):2 -->_1 b#(x,b(z,y)) -> c_1(f#(b(f(f(z)),c(x,z,y)))):1 The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed. 1: b#(x,b(z,y)) -> c_1(f#(b(f(f(z)) ,c(x,z,y)))) 3: f#(c(a(),z,x)) -> c_3(b#(a(),z)) 2: b#(y,z) -> c_2(z) *** 1.1.1.1.2.1 Progress [(O(1),O(1))] *** Considered Problem: Strict DP Rules: Strict TRS Rules: Weak DP Rules: Weak TRS Rules: b(x,b(z,y)) -> f(b(f(f(z)),c(x,z,y))) b(y,z) -> z f(c(a(),z,x)) -> b(a(),z) Signature: {b/2,f/1,b#/2,f#/1} / {a/0,c/3,c_1/1,c_2/1,c_3/1} Obligation: Full basic terms: {b#,f#}/{a,c} Applied Processor: EmptyProcessor Proof: The problem is already closed. The intended complexity is O(1).