*** 1 Progress [(O(1),O(n^1))] *** Considered Problem: Strict DP Rules: Strict TRS Rules: f(a()) -> g(h(a())) h(g(x)) -> g(h(f(x))) k(x,h(x),a()) -> h(x) k(f(x),y,x) -> f(x) Weak DP Rules: Weak TRS Rules: Signature: {f/1,h/1,k/3} / {a/0,g/1} Obligation: Full basic terms: {f,h,k}/{a,g} Applied Processor: DependencyPairs {dpKind_ = DT} Proof: We add the following weak dependency pairs: Strict DPs f#(a()) -> c_1(h#(a())) h#(g(x)) -> c_2(h#(f(x))) k#(x,h(x),a()) -> c_3(h#(x)) k#(f(x),y,x) -> c_4(f#(x)) Weak DPs and mark the set of starting terms. *** 1.1 Progress [(O(1),O(n^1))] *** Considered Problem: Strict DP Rules: f#(a()) -> c_1(h#(a())) h#(g(x)) -> c_2(h#(f(x))) k#(x,h(x),a()) -> c_3(h#(x)) k#(f(x),y,x) -> c_4(f#(x)) Strict TRS Rules: f(a()) -> g(h(a())) h(g(x)) -> g(h(f(x))) k(x,h(x),a()) -> h(x) k(f(x),y,x) -> f(x) Weak DP Rules: Weak TRS Rules: Signature: {f/1,h/1,k/3,f#/1,h#/1,k#/3} / {a/0,g/1,c_1/1,c_2/1,c_3/1,c_4/1} Obligation: Full basic terms: {f#,h#,k#}/{a,g} Applied Processor: UsableRules Proof: We replace rewrite rules by usable rules: f(a()) -> g(h(a())) f#(a()) -> c_1(h#(a())) h#(g(x)) -> c_2(h#(f(x))) *** 1.1.1 Progress [(O(1),O(n^1))] *** Considered Problem: Strict DP Rules: f#(a()) -> c_1(h#(a())) h#(g(x)) -> c_2(h#(f(x))) Strict TRS Rules: f(a()) -> g(h(a())) Weak DP Rules: Weak TRS Rules: Signature: {f/1,h/1,k/3,f#/1,h#/1,k#/3} / {a/0,g/1,c_1/1,c_2/1,c_3/1,c_4/1} Obligation: Full basic terms: {f#,h#,k#}/{a,g} Applied Processor: PredecessorEstimation {onSelection = all simple predecessor estimation selector} Proof: We estimate the number of application of {1} by application of Pre({1}) = {}. Here rules are labelled as follows: 1: f#(a()) -> c_1(h#(a())) 2: h#(g(x)) -> c_2(h#(f(x))) *** 1.1.1.1 Progress [(O(1),O(n^1))] *** Considered Problem: Strict DP Rules: h#(g(x)) -> c_2(h#(f(x))) Strict TRS Rules: f(a()) -> g(h(a())) Weak DP Rules: f#(a()) -> c_1(h#(a())) Weak TRS Rules: Signature: {f/1,h/1,k/3,f#/1,h#/1,k#/3} / {a/0,g/1,c_1/1,c_2/1,c_3/1,c_4/1} Obligation: Full basic terms: {f#,h#,k#}/{a,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(h#) = {1}, uargs(c_2) = {1} Following symbols are considered usable: {} TcT has computed the following interpretation: p(a) = [0] p(f) = [1] x1 + [0] p(g) = [1] x1 + [7] p(h) = [0] p(k) = [0] p(f#) = [0] p(h#) = [1] x1 + [0] p(k#) = [0] p(c_1) = [0] p(c_2) = [1] x1 + [0] p(c_3) = [0] p(c_4) = [0] Following rules are strictly oriented: h#(g(x)) = [1] x + [7] > [1] x + [0] = c_2(h#(f(x))) Following rules are (at-least) weakly oriented: f#(a()) = [0] >= [0] = c_1(h#(a())) f(a()) = [0] >= [7] = g(h(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: Strict TRS Rules: f(a()) -> g(h(a())) Weak DP Rules: f#(a()) -> c_1(h#(a())) h#(g(x)) -> c_2(h#(f(x))) Weak TRS Rules: Signature: {f/1,h/1,k/3,f#/1,h#/1,k#/3} / {a/0,g/1,c_1/1,c_2/1,c_3/1,c_4/1} Obligation: Full basic terms: {f#,h#,k#}/{a,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(h#) = {1}, uargs(c_2) = {1} Following symbols are considered usable: {} TcT has computed the following interpretation: p(a) = [2] p(f) = [1] x1 + [1] p(g) = [1] x1 + [1] p(h) = [1] p(k) = [0] p(f#) = [0] p(h#) = [1] x1 + [0] p(k#) = [0] p(c_1) = [0] p(c_2) = [1] x1 + [0] p(c_3) = [0] p(c_4) = [0] Following rules are strictly oriented: f(a()) = [3] > [2] = g(h(a())) Following rules are (at-least) weakly oriented: f#(a()) = [0] >= [0] = c_1(h#(a())) h#(g(x)) = [1] x + [1] >= [1] x + [1] = c_2(h#(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(1))] *** Considered Problem: Strict DP Rules: Strict TRS Rules: Weak DP Rules: f#(a()) -> c_1(h#(a())) h#(g(x)) -> c_2(h#(f(x))) Weak TRS Rules: f(a()) -> g(h(a())) Signature: {f/1,h/1,k/3,f#/1,h#/1,k#/3} / {a/0,g/1,c_1/1,c_2/1,c_3/1,c_4/1} Obligation: Full basic terms: {f#,h#,k#}/{a,g} Applied Processor: EmptyProcessor Proof: The problem is already closed. The intended complexity is O(1).