*** 1 Progress [(O(1),O(n^1))] *** Considered Problem: Strict DP Rules: Strict TRS Rules: a() -> n__a() activate(X) -> X activate(n__a()) -> a() activate(n__f(X)) -> f(activate(X)) activate(n__g(X)) -> g(activate(X)) f(X) -> n__f(X) f(f(a())) -> c(n__f(n__g(n__f(n__a())))) g(X) -> n__g(X) Weak DP Rules: Weak TRS Rules: Signature: {a/0,activate/1,f/1,g/1} / {c/1,n__a/0,n__f/1,n__g/1} Obligation: Full basic terms: {a,activate,f,g}/{c,n__a,n__f,n__g} Applied Processor: DependencyPairs {dpKind_ = DT} Proof: We add the following weak dependency pairs: Strict DPs a#() -> c_1() activate#(X) -> c_2(X) activate#(n__a()) -> c_3(a#()) activate#(n__f(X)) -> c_4(f#(activate(X))) activate#(n__g(X)) -> c_5(g#(activate(X))) f#(X) -> c_6(X) f#(f(a())) -> c_7() g#(X) -> c_8(X) Weak DPs and mark the set of starting terms. *** 1.1 Progress [(O(1),O(n^1))] *** Considered Problem: Strict DP Rules: a#() -> c_1() activate#(X) -> c_2(X) activate#(n__a()) -> c_3(a#()) activate#(n__f(X)) -> c_4(f#(activate(X))) activate#(n__g(X)) -> c_5(g#(activate(X))) f#(X) -> c_6(X) f#(f(a())) -> c_7() g#(X) -> c_8(X) Strict TRS Rules: a() -> n__a() activate(X) -> X activate(n__a()) -> a() activate(n__f(X)) -> f(activate(X)) activate(n__g(X)) -> g(activate(X)) f(X) -> n__f(X) f(f(a())) -> c(n__f(n__g(n__f(n__a())))) g(X) -> n__g(X) Weak DP Rules: Weak TRS Rules: Signature: {a/0,activate/1,f/1,g/1,a#/0,activate#/1,f#/1,g#/1} / {c/1,n__a/0,n__f/1,n__g/1,c_1/0,c_2/1,c_3/1,c_4/1,c_5/1,c_6/1,c_7/0,c_8/1} Obligation: Full basic terms: {a#,activate#,f#,g#}/{c,n__a,n__f,n__g} Applied Processor: PredecessorEstimation {onSelection = all simple predecessor estimation selector} Proof: We estimate the number of application of {1,7} by application of Pre({1,7}) = {2,3,4,6,8}. Here rules are labelled as follows: 1: a#() -> c_1() 2: activate#(X) -> c_2(X) 3: activate#(n__a()) -> c_3(a#()) 4: activate#(n__f(X)) -> c_4(f#(activate(X))) 5: activate#(n__g(X)) -> c_5(g#(activate(X))) 6: f#(X) -> c_6(X) 7: f#(f(a())) -> c_7() 8: g#(X) -> c_8(X) *** 1.1.1 Progress [(O(1),O(n^1))] *** Considered Problem: Strict DP Rules: activate#(X) -> c_2(X) activate#(n__a()) -> c_3(a#()) activate#(n__f(X)) -> c_4(f#(activate(X))) activate#(n__g(X)) -> c_5(g#(activate(X))) f#(X) -> c_6(X) g#(X) -> c_8(X) Strict TRS Rules: a() -> n__a() activate(X) -> X activate(n__a()) -> a() activate(n__f(X)) -> f(activate(X)) activate(n__g(X)) -> g(activate(X)) f(X) -> n__f(X) f(f(a())) -> c(n__f(n__g(n__f(n__a())))) g(X) -> n__g(X) Weak DP Rules: a#() -> c_1() f#(f(a())) -> c_7() Weak TRS Rules: Signature: {a/0,activate/1,f/1,g/1,a#/0,activate#/1,f#/1,g#/1} / {c/1,n__a/0,n__f/1,n__g/1,c_1/0,c_2/1,c_3/1,c_4/1,c_5/1,c_6/1,c_7/0,c_8/1} Obligation: Full basic terms: {a#,activate#,f#,g#}/{c,n__a,n__f,n__g} Applied Processor: PredecessorEstimation {onSelection = all simple predecessor estimation selector} Proof: We estimate the number of application of {2} by application of Pre({2}) = {1,5,6}. Here rules are labelled as follows: 1: activate#(X) -> c_2(X) 2: activate#(n__a()) -> c_3(a#()) 3: activate#(n__f(X)) -> c_4(f#(activate(X))) 4: activate#(n__g(X)) -> c_5(g#(activate(X))) 5: f#(X) -> c_6(X) 6: g#(X) -> c_8(X) 7: a#() -> c_1() 8: f#(f(a())) -> c_7() *** 1.1.1.1 Progress [(O(1),O(n^1))] *** Considered Problem: Strict DP Rules: activate#(X) -> c_2(X) activate#(n__f(X)) -> c_4(f#(activate(X))) activate#(n__g(X)) -> c_5(g#(activate(X))) f#(X) -> c_6(X) g#(X) -> c_8(X) Strict TRS Rules: a() -> n__a() activate(X) -> X activate(n__a()) -> a() activate(n__f(X)) -> f(activate(X)) activate(n__g(X)) -> g(activate(X)) f(X) -> n__f(X) f(f(a())) -> c(n__f(n__g(n__f(n__a())))) g(X) -> n__g(X) Weak DP Rules: a#() -> c_1() activate#(n__a()) -> c_3(a#()) f#(f(a())) -> c_7() Weak TRS Rules: Signature: {a/0,activate/1,f/1,g/1,a#/0,activate#/1,f#/1,g#/1} / {c/1,n__a/0,n__f/1,n__g/1,c_1/0,c_2/1,c_3/1,c_4/1,c_5/1,c_6/1,c_7/0,c_8/1} Obligation: Full basic terms: {a#,activate#,f#,g#}/{c,n__a,n__f,n__g} Applied Processor: WeightGap {wgDimension = 1, wgDegree = 0, 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(f) = {1}, uargs(g) = {1}, uargs(n__f) = {1}, uargs(n__g) = {1}, uargs(f#) = {1}, uargs(g#) = {1}, uargs(c_3) = {1}, uargs(c_4) = {1}, uargs(c_5) = {1}, uargs(c_6) = {1}, uargs(c_8) = {1} Following symbols are considered usable: {} TcT has computed the following interpretation: p(a) = [0] p(activate) = [3] x1 + [0] p(c) = [0] p(f) = [1] x1 + [0] p(g) = [1] x1 + [0] p(n__a) = [0] p(n__f) = [1] x1 + [0] p(n__g) = [1] x1 + [1] p(a#) = [0] p(activate#) = [3] x1 + [0] p(f#) = [1] x1 + [0] p(g#) = [1] x1 + [3] p(c_1) = [0] p(c_2) = [3] x1 + [0] p(c_3) = [1] x1 + [0] p(c_4) = [1] x1 + [0] p(c_5) = [1] x1 + [0] p(c_6) = [1] x1 + [0] p(c_7) = [0] p(c_8) = [1] x1 + [0] Following rules are strictly oriented: g#(X) = [1] X + [3] > [1] X + [0] = c_8(X) activate(n__g(X)) = [3] X + [3] > [3] X + [0] = g(activate(X)) Following rules are (at-least) weakly oriented: a#() = [0] >= [0] = c_1() activate#(X) = [3] X + [0] >= [3] X + [0] = c_2(X) activate#(n__a()) = [0] >= [0] = c_3(a#()) activate#(n__f(X)) = [3] X + [0] >= [3] X + [0] = c_4(f#(activate(X))) activate#(n__g(X)) = [3] X + [3] >= [3] X + [3] = c_5(g#(activate(X))) f#(X) = [1] X + [0] >= [1] X + [0] = c_6(X) f#(f(a())) = [0] >= [0] = c_7() a() = [0] >= [0] = n__a() activate(X) = [3] X + [0] >= [1] X + [0] = X activate(n__a()) = [0] >= [0] = a() activate(n__f(X)) = [3] X + [0] >= [3] X + [0] = f(activate(X)) f(X) = [1] X + [0] >= [1] X + [0] = n__f(X) f(f(a())) = [0] >= [0] = c(n__f(n__g(n__f(n__a())))) g(X) = [1] X + [0] >= [1] X + [1] = n__g(X) 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^1))] *** Considered Problem: Strict DP Rules: activate#(X) -> c_2(X) activate#(n__f(X)) -> c_4(f#(activate(X))) activate#(n__g(X)) -> c_5(g#(activate(X))) f#(X) -> c_6(X) Strict TRS Rules: a() -> n__a() activate(X) -> X activate(n__a()) -> a() activate(n__f(X)) -> f(activate(X)) f(X) -> n__f(X) f(f(a())) -> c(n__f(n__g(n__f(n__a())))) g(X) -> n__g(X) Weak DP Rules: a#() -> c_1() activate#(n__a()) -> c_3(a#()) f#(f(a())) -> c_7() g#(X) -> c_8(X) Weak TRS Rules: activate(n__g(X)) -> g(activate(X)) Signature: {a/0,activate/1,f/1,g/1,a#/0,activate#/1,f#/1,g#/1} / {c/1,n__a/0,n__f/1,n__g/1,c_1/0,c_2/1,c_3/1,c_4/1,c_5/1,c_6/1,c_7/0,c_8/1} Obligation: Full basic terms: {a#,activate#,f#,g#}/{c,n__a,n__f,n__g} Applied Processor: WeightGap {wgDimension = 1, wgDegree = 0, 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(f) = {1}, uargs(g) = {1}, uargs(n__f) = {1}, uargs(n__g) = {1}, uargs(f#) = {1}, uargs(g#) = {1}, uargs(c_3) = {1}, uargs(c_4) = {1}, uargs(c_5) = {1}, uargs(c_6) = {1}, uargs(c_8) = {1} Following symbols are considered usable: {} TcT has computed the following interpretation: p(a) = [8] p(activate) = [1] x1 + [1] p(c) = [0] p(f) = [1] x1 + [0] p(g) = [1] x1 + [4] p(n__a) = [7] p(n__f) = [1] x1 + [0] p(n__g) = [1] x1 + [15] p(a#) = [2] p(activate#) = [1] x1 + [0] p(f#) = [1] x1 + [8] p(g#) = [1] x1 + [1] p(c_1) = [0] p(c_2) = [1] x1 + [1] p(c_3) = [1] x1 + [4] p(c_4) = [1] x1 + [0] p(c_5) = [1] x1 + [15] p(c_6) = [1] x1 + [4] p(c_7) = [8] p(c_8) = [1] x1 + [0] Following rules are strictly oriented: f#(X) = [1] X + [8] > [1] X + [4] = c_6(X) a() = [8] > [7] = n__a() activate(X) = [1] X + [1] > [1] X + [0] = X f(f(a())) = [8] > [0] = c(n__f(n__g(n__f(n__a())))) Following rules are (at-least) weakly oriented: a#() = [2] >= [0] = c_1() activate#(X) = [1] X + [0] >= [1] X + [1] = c_2(X) activate#(n__a()) = [7] >= [6] = c_3(a#()) activate#(n__f(X)) = [1] X + [0] >= [1] X + [9] = c_4(f#(activate(X))) activate#(n__g(X)) = [1] X + [15] >= [1] X + [17] = c_5(g#(activate(X))) f#(f(a())) = [16] >= [8] = c_7() g#(X) = [1] X + [1] >= [1] X + [0] = c_8(X) activate(n__a()) = [8] >= [8] = a() activate(n__f(X)) = [1] X + [1] >= [1] X + [1] = f(activate(X)) activate(n__g(X)) = [1] X + [16] >= [1] X + [5] = g(activate(X)) f(X) = [1] X + [0] >= [1] X + [0] = n__f(X) g(X) = [1] X + [4] >= [1] X + [15] = n__g(X) 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^1))] *** Considered Problem: Strict DP Rules: activate#(X) -> c_2(X) activate#(n__f(X)) -> c_4(f#(activate(X))) activate#(n__g(X)) -> c_5(g#(activate(X))) Strict TRS Rules: activate(n__a()) -> a() activate(n__f(X)) -> f(activate(X)) f(X) -> n__f(X) g(X) -> n__g(X) Weak DP Rules: a#() -> c_1() activate#(n__a()) -> c_3(a#()) f#(X) -> c_6(X) f#(f(a())) -> c_7() g#(X) -> c_8(X) Weak TRS Rules: a() -> n__a() activate(X) -> X activate(n__g(X)) -> g(activate(X)) f(f(a())) -> c(n__f(n__g(n__f(n__a())))) Signature: {a/0,activate/1,f/1,g/1,a#/0,activate#/1,f#/1,g#/1} / {c/1,n__a/0,n__f/1,n__g/1,c_1/0,c_2/1,c_3/1,c_4/1,c_5/1,c_6/1,c_7/0,c_8/1} Obligation: Full basic terms: {a#,activate#,f#,g#}/{c,n__a,n__f,n__g} Applied Processor: WeightGap {wgDimension = 1, wgDegree = 0, 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(f) = {1}, uargs(g) = {1}, uargs(n__f) = {1}, uargs(n__g) = {1}, uargs(f#) = {1}, uargs(g#) = {1}, uargs(c_3) = {1}, uargs(c_4) = {1}, uargs(c_5) = {1}, uargs(c_6) = {1}, uargs(c_8) = {1} Following symbols are considered usable: {} TcT has computed the following interpretation: p(a) = [0] p(activate) = [3] x1 + [0] p(c) = [1] x1 + [1] p(f) = [1] x1 + [1] p(g) = [1] x1 + [3] p(n__a) = [0] p(n__f) = [1] x1 + [0] p(n__g) = [1] x1 + [1] p(a#) = [0] p(activate#) = [3] x1 + [0] p(f#) = [1] x1 + [0] p(g#) = [1] x1 + [0] p(c_1) = [0] p(c_2) = [3] x1 + [0] p(c_3) = [1] x1 + [0] p(c_4) = [1] x1 + [0] p(c_5) = [1] x1 + [0] p(c_6) = [1] x1 + [0] p(c_7) = [1] p(c_8) = [1] x1 + [0] Following rules are strictly oriented: activate#(n__g(X)) = [3] X + [3] > [3] X + [0] = c_5(g#(activate(X))) f(X) = [1] X + [1] > [1] X + [0] = n__f(X) g(X) = [1] X + [3] > [1] X + [1] = n__g(X) Following rules are (at-least) weakly oriented: a#() = [0] >= [0] = c_1() activate#(X) = [3] X + [0] >= [3] X + [0] = c_2(X) activate#(n__a()) = [0] >= [0] = c_3(a#()) activate#(n__f(X)) = [3] X + [0] >= [3] X + [0] = c_4(f#(activate(X))) f#(X) = [1] X + [0] >= [1] X + [0] = c_6(X) f#(f(a())) = [1] >= [1] = c_7() g#(X) = [1] X + [0] >= [1] X + [0] = c_8(X) a() = [0] >= [0] = n__a() activate(X) = [3] X + [0] >= [1] X + [0] = X activate(n__a()) = [0] >= [0] = a() activate(n__f(X)) = [3] X + [0] >= [3] X + [1] = f(activate(X)) activate(n__g(X)) = [3] X + [3] >= [3] X + [3] = g(activate(X)) f(f(a())) = [2] >= [2] = c(n__f(n__g(n__f(n__a())))) 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^1))] *** Considered Problem: Strict DP Rules: activate#(X) -> c_2(X) activate#(n__f(X)) -> c_4(f#(activate(X))) Strict TRS Rules: activate(n__a()) -> a() activate(n__f(X)) -> f(activate(X)) Weak DP Rules: a#() -> c_1() activate#(n__a()) -> c_3(a#()) activate#(n__g(X)) -> c_5(g#(activate(X))) f#(X) -> c_6(X) f#(f(a())) -> c_7() g#(X) -> c_8(X) Weak TRS Rules: a() -> n__a() activate(X) -> X activate(n__g(X)) -> g(activate(X)) f(X) -> n__f(X) f(f(a())) -> c(n__f(n__g(n__f(n__a())))) g(X) -> n__g(X) Signature: {a/0,activate/1,f/1,g/1,a#/0,activate#/1,f#/1,g#/1} / {c/1,n__a/0,n__f/1,n__g/1,c_1/0,c_2/1,c_3/1,c_4/1,c_5/1,c_6/1,c_7/0,c_8/1} Obligation: Full basic terms: {a#,activate#,f#,g#}/{c,n__a,n__f,n__g} Applied Processor: WeightGap {wgDimension = 1, wgDegree = 0, 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(f) = {1}, uargs(g) = {1}, uargs(n__f) = {1}, uargs(n__g) = {1}, uargs(f#) = {1}, uargs(g#) = {1}, uargs(c_3) = {1}, uargs(c_4) = {1}, uargs(c_5) = {1}, uargs(c_6) = {1}, uargs(c_8) = {1} Following symbols are considered usable: {} TcT has computed the following interpretation: p(a) = [1] p(activate) = [2] x1 + [0] p(c) = [1] x1 + [0] p(f) = [1] x1 + [0] p(g) = [1] x1 + [0] p(n__a) = [1] p(n__f) = [1] x1 + [0] p(n__g) = [1] x1 + [0] p(a#) = [3] p(activate#) = [2] x1 + [1] p(f#) = [1] x1 + [0] p(g#) = [1] x1 + [0] p(c_1) = [3] p(c_2) = [2] x1 + [0] p(c_3) = [1] x1 + [0] p(c_4) = [1] x1 + [0] p(c_5) = [1] x1 + [1] p(c_6) = [1] x1 + [0] p(c_7) = [1] p(c_8) = [1] x1 + [0] Following rules are strictly oriented: activate#(X) = [2] X + [1] > [2] X + [0] = c_2(X) activate#(n__f(X)) = [2] X + [1] > [2] X + [0] = c_4(f#(activate(X))) activate(n__a()) = [2] > [1] = a() Following rules are (at-least) weakly oriented: a#() = [3] >= [3] = c_1() activate#(n__a()) = [3] >= [3] = c_3(a#()) activate#(n__g(X)) = [2] X + [1] >= [2] X + [1] = c_5(g#(activate(X))) f#(X) = [1] X + [0] >= [1] X + [0] = c_6(X) f#(f(a())) = [1] >= [1] = c_7() g#(X) = [1] X + [0] >= [1] X + [0] = c_8(X) a() = [1] >= [1] = n__a() activate(X) = [2] X + [0] >= [1] X + [0] = X activate(n__f(X)) = [2] X + [0] >= [2] X + [0] = f(activate(X)) activate(n__g(X)) = [2] X + [0] >= [2] X + [0] = g(activate(X)) f(X) = [1] X + [0] >= [1] X + [0] = n__f(X) f(f(a())) = [1] >= [1] = c(n__f(n__g(n__f(n__a())))) g(X) = [1] X + [0] >= [1] X + [0] = n__g(X) 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^1))] *** Considered Problem: Strict DP Rules: Strict TRS Rules: activate(n__f(X)) -> f(activate(X)) Weak DP Rules: a#() -> c_1() activate#(X) -> c_2(X) activate#(n__a()) -> c_3(a#()) activate#(n__f(X)) -> c_4(f#(activate(X))) activate#(n__g(X)) -> c_5(g#(activate(X))) f#(X) -> c_6(X) f#(f(a())) -> c_7() g#(X) -> c_8(X) Weak TRS Rules: a() -> n__a() activate(X) -> X activate(n__a()) -> a() activate(n__g(X)) -> g(activate(X)) f(X) -> n__f(X) f(f(a())) -> c(n__f(n__g(n__f(n__a())))) g(X) -> n__g(X) Signature: {a/0,activate/1,f/1,g/1,a#/0,activate#/1,f#/1,g#/1} / {c/1,n__a/0,n__f/1,n__g/1,c_1/0,c_2/1,c_3/1,c_4/1,c_5/1,c_6/1,c_7/0,c_8/1} Obligation: Full basic terms: {a#,activate#,f#,g#}/{c,n__a,n__f,n__g} Applied Processor: WeightGap {wgDimension = 1, wgDegree = 0, 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(f) = {1}, uargs(g) = {1}, uargs(n__f) = {1}, uargs(n__g) = {1}, uargs(f#) = {1}, uargs(g#) = {1}, uargs(c_3) = {1}, uargs(c_4) = {1}, uargs(c_5) = {1}, uargs(c_6) = {1}, uargs(c_8) = {1} Following symbols are considered usable: {} TcT has computed the following interpretation: p(a) = [1] p(activate) = [4] x1 + [3] p(c) = [0] p(f) = [1] x1 + [3] p(g) = [1] x1 + [0] p(n__a) = [0] p(n__f) = [1] x1 + [1] p(n__g) = [1] x1 + [0] p(a#) = [8] p(activate#) = [9] x1 + [15] p(f#) = [1] x1 + [4] p(g#) = [1] x1 + [1] p(c_1) = [8] p(c_2) = [1] x1 + [1] p(c_3) = [1] x1 + [0] p(c_4) = [1] x1 + [4] p(c_5) = [1] x1 + [1] p(c_6) = [1] x1 + [0] p(c_7) = [1] p(c_8) = [1] x1 + [0] Following rules are strictly oriented: activate(n__f(X)) = [4] X + [7] > [4] X + [6] = f(activate(X)) Following rules are (at-least) weakly oriented: a#() = [8] >= [8] = c_1() activate#(X) = [9] X + [15] >= [1] X + [1] = c_2(X) activate#(n__a()) = [15] >= [8] = c_3(a#()) activate#(n__f(X)) = [9] X + [24] >= [4] X + [11] = c_4(f#(activate(X))) activate#(n__g(X)) = [9] X + [15] >= [4] X + [5] = c_5(g#(activate(X))) f#(X) = [1] X + [4] >= [1] X + [0] = c_6(X) f#(f(a())) = [8] >= [1] = c_7() g#(X) = [1] X + [1] >= [1] X + [0] = c_8(X) a() = [1] >= [0] = n__a() activate(X) = [4] X + [3] >= [1] X + [0] = X activate(n__a()) = [3] >= [1] = a() activate(n__g(X)) = [4] X + [3] >= [4] X + [3] = g(activate(X)) f(X) = [1] X + [3] >= [1] X + [1] = n__f(X) f(f(a())) = [7] >= [0] = c(n__f(n__g(n__f(n__a())))) g(X) = [1] X + [0] >= [1] X + [0] = n__g(X) Further, it can be verified that all rules not oriented are covered by the weightgap condition. *** 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: a#() -> c_1() activate#(X) -> c_2(X) activate#(n__a()) -> c_3(a#()) activate#(n__f(X)) -> c_4(f#(activate(X))) activate#(n__g(X)) -> c_5(g#(activate(X))) f#(X) -> c_6(X) f#(f(a())) -> c_7() g#(X) -> c_8(X) Weak TRS Rules: a() -> n__a() activate(X) -> X activate(n__a()) -> a() activate(n__f(X)) -> f(activate(X)) activate(n__g(X)) -> g(activate(X)) f(X) -> n__f(X) f(f(a())) -> c(n__f(n__g(n__f(n__a())))) g(X) -> n__g(X) Signature: {a/0,activate/1,f/1,g/1,a#/0,activate#/1,f#/1,g#/1} / {c/1,n__a/0,n__f/1,n__g/1,c_1/0,c_2/1,c_3/1,c_4/1,c_5/1,c_6/1,c_7/0,c_8/1} Obligation: Full basic terms: {a#,activate#,f#,g#}/{c,n__a,n__f,n__g} Applied Processor: EmptyProcessor Proof: The problem is already closed. The intended complexity is O(1).