*** 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)) f(X) -> n__f(X) f(f(a())) -> f(g(n__f(n__a()))) Weak DP Rules: Weak TRS Rules: Signature: {a/0,activate/1,f/1} / {g/1,n__a/0,n__f/1} Obligation: Full basic terms: {a,activate,f}/{g,n__a,n__f} 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))) f#(X) -> c_5(X) f#(f(a())) -> c_6(f#(g(n__f(n__a())))) 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))) f#(X) -> c_5(X) f#(f(a())) -> c_6(f#(g(n__f(n__a())))) 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())) -> f(g(n__f(n__a()))) Weak DP Rules: Weak TRS Rules: Signature: {a/0,activate/1,f/1,a#/0,activate#/1,f#/1} / {g/1,n__a/0,n__f/1,c_1/0,c_2/1,c_3/1,c_4/1,c_5/1,c_6/1} Obligation: Full basic terms: {a#,activate#,f#}/{g,n__a,n__f} Applied Processor: PredecessorEstimation {onSelection = all simple predecessor estimation selector} Proof: We estimate the number of application of {1} by application of Pre({1}) = {2,3,5}. 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: f#(X) -> c_5(X) 6: f#(f(a())) -> c_6(f#(g(n__f(n__a())))) *** 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))) f#(X) -> c_5(X) f#(f(a())) -> c_6(f#(g(n__f(n__a())))) 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())) -> f(g(n__f(n__a()))) Weak DP Rules: a#() -> c_1() Weak TRS Rules: Signature: {a/0,activate/1,f/1,a#/0,activate#/1,f#/1} / {g/1,n__a/0,n__f/1,c_1/0,c_2/1,c_3/1,c_4/1,c_5/1,c_6/1} Obligation: Full basic terms: {a#,activate#,f#}/{g,n__a,n__f} Applied Processor: PredecessorEstimation {onSelection = all simple predecessor estimation selector} Proof: We estimate the number of application of {2} by application of Pre({2}) = {1,4}. 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: f#(X) -> c_5(X) 5: f#(f(a())) -> c_6(f#(g(n__f(n__a())))) 6: a#() -> c_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))) f#(X) -> c_5(X) f#(f(a())) -> c_6(f#(g(n__f(n__a())))) 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())) -> f(g(n__f(n__a()))) Weak DP Rules: a#() -> c_1() activate#(n__a()) -> c_3(a#()) Weak TRS Rules: Signature: {a/0,activate/1,f/1,a#/0,activate#/1,f#/1} / {g/1,n__a/0,n__f/1,c_1/0,c_2/1,c_3/1,c_4/1,c_5/1,c_6/1} Obligation: Full basic terms: {a#,activate#,f#}/{g,n__a,n__f} 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(n__f) = {1}, uargs(f#) = {1}, uargs(c_3) = {1}, uargs(c_4) = {1}, uargs(c_5) = {1}, uargs(c_6) = {1} Following symbols are considered usable: {} TcT has computed the following interpretation: p(a) = [0] p(activate) = [2] x1 + [9] p(f) = [1] x1 + [0] p(g) = [1] x1 + [0] p(n__a) = [2] p(n__f) = [1] x1 + [0] p(a#) = [0] p(activate#) = [8] x1 + [8] p(f#) = [1] x1 + [0] p(c_1) = [0] p(c_2) = [8] x1 + [2] p(c_3) = [1] x1 + [0] p(c_4) = [1] x1 + [0] p(c_5) = [1] x1 + [0] p(c_6) = [1] x1 + [0] Following rules are strictly oriented: activate#(X) = [8] X + [8] > [8] X + [2] = c_2(X) activate(X) = [2] X + [9] > [1] X + [0] = X activate(n__a()) = [13] > [0] = a() Following rules are (at-least) weakly oriented: a#() = [0] >= [0] = c_1() activate#(n__a()) = [24] >= [0] = c_3(a#()) activate#(n__f(X)) = [8] X + [8] >= [2] X + [9] = c_4(f#(activate(X))) f#(X) = [1] X + [0] >= [1] X + [0] = c_5(X) f#(f(a())) = [0] >= [2] = c_6(f#(g(n__f(n__a())))) a() = [0] >= [2] = n__a() activate(n__f(X)) = [2] X + [9] >= [2] X + [9] = f(activate(X)) f(X) = [1] X + [0] >= [1] X + [0] = n__f(X) f(f(a())) = [0] >= [2] = f(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 Progress [(O(1),O(n^1))] *** Considered Problem: Strict DP Rules: activate#(n__f(X)) -> c_4(f#(activate(X))) f#(X) -> c_5(X) f#(f(a())) -> c_6(f#(g(n__f(n__a())))) Strict TRS Rules: a() -> n__a() activate(n__f(X)) -> f(activate(X)) f(X) -> n__f(X) f(f(a())) -> f(g(n__f(n__a()))) Weak DP Rules: a#() -> c_1() activate#(X) -> c_2(X) activate#(n__a()) -> c_3(a#()) Weak TRS Rules: activate(X) -> X activate(n__a()) -> a() Signature: {a/0,activate/1,f/1,a#/0,activate#/1,f#/1} / {g/1,n__a/0,n__f/1,c_1/0,c_2/1,c_3/1,c_4/1,c_5/1,c_6/1} Obligation: Full basic terms: {a#,activate#,f#}/{g,n__a,n__f} 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(n__f) = {1}, uargs(f#) = {1}, uargs(c_3) = {1}, uargs(c_4) = {1}, uargs(c_5) = {1}, uargs(c_6) = {1} Following symbols are considered usable: {} TcT has computed the following interpretation: p(a) = [6] p(activate) = [3] x1 + [0] p(f) = [1] x1 + [3] p(g) = [0] p(n__a) = [2] p(n__f) = [1] x1 + [6] p(a#) = [6] p(activate#) = [3] x1 + [0] p(f#) = [1] x1 + [2] p(c_1) = [6] 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] Following rules are strictly oriented: activate#(n__f(X)) = [3] X + [18] > [3] X + [2] = c_4(f#(activate(X))) f#(X) = [1] X + [2] > [1] X + [0] = c_5(X) f#(f(a())) = [11] > [2] = c_6(f#(g(n__f(n__a())))) a() = [6] > [2] = n__a() activate(n__f(X)) = [3] X + [18] > [3] X + [3] = f(activate(X)) f(f(a())) = [12] > [3] = f(g(n__f(n__a()))) Following rules are (at-least) weakly oriented: a#() = [6] >= [6] = c_1() activate#(X) = [3] X + [0] >= [3] X + [0] = c_2(X) activate#(n__a()) = [6] >= [6] = c_3(a#()) activate(X) = [3] X + [0] >= [1] X + [0] = X activate(n__a()) = [6] >= [6] = a() f(X) = [1] X + [3] >= [1] X + [6] = n__f(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: Strict TRS Rules: f(X) -> n__f(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))) f#(X) -> c_5(X) f#(f(a())) -> c_6(f#(g(n__f(n__a())))) Weak TRS Rules: a() -> n__a() activate(X) -> X activate(n__a()) -> a() activate(n__f(X)) -> f(activate(X)) f(f(a())) -> f(g(n__f(n__a()))) Signature: {a/0,activate/1,f/1,a#/0,activate#/1,f#/1} / {g/1,n__a/0,n__f/1,c_1/0,c_2/1,c_3/1,c_4/1,c_5/1,c_6/1} Obligation: Full basic terms: {a#,activate#,f#}/{g,n__a,n__f} 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(n__f) = {1}, uargs(f#) = {1}, uargs(c_3) = {1}, uargs(c_4) = {1}, uargs(c_5) = {1}, uargs(c_6) = {1} Following symbols are considered usable: {} TcT has computed the following interpretation: p(a) = [0] p(activate) = [3] x1 + [0] p(f) = [1] x1 + [9] p(g) = [1] x1 + [6] p(n__a) = [0] p(n__f) = [1] x1 + [3] p(a#) = [0] p(activate#) = [3] x1 + [0] p(f#) = [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] Following rules are strictly oriented: f(X) = [1] X + [9] > [1] X + [3] = n__f(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 + [9] >= [3] X + [0] = c_4(f#(activate(X))) f#(X) = [1] X + [0] >= [1] X + [0] = c_5(X) f#(f(a())) = [9] >= [9] = c_6(f#(g(n__f(n__a())))) 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 + [9] >= [3] X + [9] = f(activate(X)) f(f(a())) = [18] >= [18] = f(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(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))) f#(X) -> c_5(X) f#(f(a())) -> c_6(f#(g(n__f(n__a())))) Weak 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())) -> f(g(n__f(n__a()))) Signature: {a/0,activate/1,f/1,a#/0,activate#/1,f#/1} / {g/1,n__a/0,n__f/1,c_1/0,c_2/1,c_3/1,c_4/1,c_5/1,c_6/1} Obligation: Full basic terms: {a#,activate#,f#}/{g,n__a,n__f} Applied Processor: EmptyProcessor Proof: The problem is already closed. The intended complexity is O(1).