/export/starexec/sandbox/solver/bin/starexec_run_rcdcRelativeAlsoLower /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- WORST_CASE(?, O(n^1)) proof of /export/starexec/sandbox/benchmark/theBenchmark.xml # AProVE Commit ID: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty The Derivational Complexity (full) of the given DCpxTrs could be proven to be BOUNDS(1, n^1). (0) DCpxTrs (1) DerivationalComplexityToRuntimeComplexityProof [BOTH BOUNDS(ID, ID), 0 ms] (2) CpxRelTRS (3) SInnermostTerminationProof [BOTH CONCRETE BOUNDS(ID, ID), 192 ms] (4) CpxRelTRS (5) NonCtorToCtorProof [UPPER BOUND(ID), 0 ms] (6) CpxRelTRS (7) RcToIrcProof [BOTH BOUNDS(ID, ID), 0 ms] (8) CpxRelTRS (9) CpxTrsToCdtProof [UPPER BOUND(ID), 0 ms] (10) CdtProblem (11) CdtLeafRemovalProof [ComplexityIfPolyImplication, 0 ms] (12) CdtProblem (13) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (14) CdtProblem (15) CdtGraphSplitRhsProof [BOTH BOUNDS(ID, ID), 0 ms] (16) CdtProblem (17) CdtLeafRemovalProof [ComplexityIfPolyImplication, 0 ms] (18) CdtProblem (19) CdtUsableRulesProof [BOTH BOUNDS(ID, ID), 0 ms] (20) CdtProblem (21) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 86 ms] (22) CdtProblem (23) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 54 ms] (24) CdtProblem (25) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 55 ms] (26) CdtProblem (27) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (28) CdtProblem (29) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (30) CdtProblem (31) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (32) CdtProblem (33) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (34) CdtProblem (35) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (36) CdtProblem (37) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (38) CdtProblem (39) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (40) CdtProblem (41) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (42) CdtProblem (43) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (44) CdtProblem (45) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (46) CdtProblem (47) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (48) CdtProblem (49) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (50) CdtProblem (51) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (52) CdtProblem (53) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 92 ms] (54) CdtProblem (55) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 92 ms] (56) CdtProblem (57) SIsEmptyProof [BOTH BOUNDS(ID, ID), 0 ms] (58) BOUNDS(1, 1) ---------------------------------------- (0) Obligation: The Derivational Complexity (full) of the given DCpxTrs could be proven to be BOUNDS(1, n^1). The TRS R consists of the following 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) S is empty. Rewrite Strategy: FULL ---------------------------------------- (1) DerivationalComplexityToRuntimeComplexityProof (BOTH BOUNDS(ID, ID)) The following rules have been added to S to convert the given derivational complexity problem to a runtime complexity problem: encArg(a) -> a encArg(g(x_1)) -> g(encArg(x_1)) encArg(cons_f(x_1)) -> f(encArg(x_1)) encArg(cons_h(x_1)) -> h(encArg(x_1)) encArg(cons_k(x_1, x_2, x_3)) -> k(encArg(x_1), encArg(x_2), encArg(x_3)) encode_f(x_1) -> f(encArg(x_1)) encode_a -> a encode_g(x_1) -> g(encArg(x_1)) encode_h(x_1) -> h(encArg(x_1)) encode_k(x_1, x_2, x_3) -> k(encArg(x_1), encArg(x_2), encArg(x_3)) ---------------------------------------- (2) Obligation: The Runtime Complexity (full) of the given CpxRelTRS could be proven to be BOUNDS(1, n^1). The TRS R consists of the following 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) The (relative) TRS S consists of the following rules: encArg(a) -> a encArg(g(x_1)) -> g(encArg(x_1)) encArg(cons_f(x_1)) -> f(encArg(x_1)) encArg(cons_h(x_1)) -> h(encArg(x_1)) encArg(cons_k(x_1, x_2, x_3)) -> k(encArg(x_1), encArg(x_2), encArg(x_3)) encode_f(x_1) -> f(encArg(x_1)) encode_a -> a encode_g(x_1) -> g(encArg(x_1)) encode_h(x_1) -> h(encArg(x_1)) encode_k(x_1, x_2, x_3) -> k(encArg(x_1), encArg(x_2), encArg(x_3)) Rewrite Strategy: FULL ---------------------------------------- (3) SInnermostTerminationProof (BOTH CONCRETE BOUNDS(ID, ID)) proved innermost termination of relative rules ---------------------------------------- (4) Obligation: The Runtime Complexity (full) of the given CpxRelTRS could be proven to be BOUNDS(1, n^1). The TRS R consists of the following 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) The (relative) TRS S consists of the following rules: encArg(a) -> a encArg(g(x_1)) -> g(encArg(x_1)) encArg(cons_f(x_1)) -> f(encArg(x_1)) encArg(cons_h(x_1)) -> h(encArg(x_1)) encArg(cons_k(x_1, x_2, x_3)) -> k(encArg(x_1), encArg(x_2), encArg(x_3)) encode_f(x_1) -> f(encArg(x_1)) encode_a -> a encode_g(x_1) -> g(encArg(x_1)) encode_h(x_1) -> h(encArg(x_1)) encode_k(x_1, x_2, x_3) -> k(encArg(x_1), encArg(x_2), encArg(x_3)) Rewrite Strategy: FULL ---------------------------------------- (5) NonCtorToCtorProof (UPPER BOUND(ID)) transformed non-ctor to ctor-system ---------------------------------------- (6) Obligation: The Runtime Complexity (full) of the given CpxRelTRS could be proven to be BOUNDS(1, n^1). The TRS R consists of the following rules: f(a) -> g(h(a)) h(g(x)) -> g(h(f(x))) k(x, c_h(x), a) -> h(x) k(c_f(x), y, x) -> f(x) The (relative) TRS S consists of the following rules: encArg(a) -> a encArg(g(x_1)) -> g(encArg(x_1)) encArg(cons_f(x_1)) -> f(encArg(x_1)) encArg(cons_h(x_1)) -> h(encArg(x_1)) encArg(cons_k(x_1, x_2, x_3)) -> k(encArg(x_1), encArg(x_2), encArg(x_3)) encode_f(x_1) -> f(encArg(x_1)) encode_a -> a encode_g(x_1) -> g(encArg(x_1)) encode_h(x_1) -> h(encArg(x_1)) encode_k(x_1, x_2, x_3) -> k(encArg(x_1), encArg(x_2), encArg(x_3)) f(x0) -> c_f(x0) h(x0) -> c_h(x0) Rewrite Strategy: FULL ---------------------------------------- (7) RcToIrcProof (BOTH BOUNDS(ID, ID)) Converted rc-obligation to irc-obligation. As the TRS is a non-duplicating overlay system, we have rc = irc. ---------------------------------------- (8) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, n^1). The TRS R consists of the following rules: f(a) -> g(h(a)) h(g(x)) -> g(h(f(x))) k(x, c_h(x), a) -> h(x) k(c_f(x), y, x) -> f(x) The (relative) TRS S consists of the following rules: encArg(a) -> a encArg(g(x_1)) -> g(encArg(x_1)) encArg(cons_f(x_1)) -> f(encArg(x_1)) encArg(cons_h(x_1)) -> h(encArg(x_1)) encArg(cons_k(x_1, x_2, x_3)) -> k(encArg(x_1), encArg(x_2), encArg(x_3)) encode_f(x_1) -> f(encArg(x_1)) encode_a -> a encode_g(x_1) -> g(encArg(x_1)) encode_h(x_1) -> h(encArg(x_1)) encode_k(x_1, x_2, x_3) -> k(encArg(x_1), encArg(x_2), encArg(x_3)) f(x0) -> c_f(x0) h(x0) -> c_h(x0) Rewrite Strategy: INNERMOST ---------------------------------------- (9) CpxTrsToCdtProof (UPPER BOUND(ID)) Converted Cpx (relative) TRS to CDT ---------------------------------------- (10) Obligation: Complexity Dependency Tuples Problem Rules: encArg(a) -> a encArg(g(z0)) -> g(encArg(z0)) encArg(cons_f(z0)) -> f(encArg(z0)) encArg(cons_h(z0)) -> h(encArg(z0)) encArg(cons_k(z0, z1, z2)) -> k(encArg(z0), encArg(z1), encArg(z2)) encode_f(z0) -> f(encArg(z0)) encode_a -> a encode_g(z0) -> g(encArg(z0)) encode_h(z0) -> h(encArg(z0)) encode_k(z0, z1, z2) -> k(encArg(z0), encArg(z1), encArg(z2)) f(z0) -> c_f(z0) f(a) -> g(h(a)) h(z0) -> c_h(z0) h(g(z0)) -> g(h(f(z0))) k(z0, c_h(z0), a) -> h(z0) k(c_f(z0), z1, z0) -> f(z0) Tuples: ENCARG(a) -> c ENCARG(g(z0)) -> c1(ENCARG(z0)) ENCARG(cons_f(z0)) -> c2(F(encArg(z0)), ENCARG(z0)) ENCARG(cons_h(z0)) -> c3(H(encArg(z0)), ENCARG(z0)) ENCARG(cons_k(z0, z1, z2)) -> c4(K(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ENCODE_F(z0) -> c5(F(encArg(z0)), ENCARG(z0)) ENCODE_A -> c6 ENCODE_G(z0) -> c7(ENCARG(z0)) ENCODE_H(z0) -> c8(H(encArg(z0)), ENCARG(z0)) ENCODE_K(z0, z1, z2) -> c9(K(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) F(z0) -> c10 F(a) -> c11(H(a)) H(z0) -> c12 H(g(z0)) -> c13(H(f(z0)), F(z0)) K(z0, c_h(z0), a) -> c14(H(z0)) K(c_f(z0), z1, z0) -> c15(F(z0)) S tuples: F(a) -> c11(H(a)) H(g(z0)) -> c13(H(f(z0)), F(z0)) K(z0, c_h(z0), a) -> c14(H(z0)) K(c_f(z0), z1, z0) -> c15(F(z0)) K tuples:none Defined Rule Symbols: f_1, h_1, k_3, encArg_1, encode_f_1, encode_a, encode_g_1, encode_h_1, encode_k_3 Defined Pair Symbols: ENCARG_1, ENCODE_F_1, ENCODE_A, ENCODE_G_1, ENCODE_H_1, ENCODE_K_3, F_1, H_1, K_3 Compound Symbols: c, c1_1, c2_2, c3_2, c4_4, c5_2, c6, c7_1, c8_2, c9_4, c10, c11_1, c12, c13_2, c14_1, c15_1 ---------------------------------------- (11) CdtLeafRemovalProof (ComplexityIfPolyImplication) Removed 1 leading nodes: ENCODE_G(z0) -> c7(ENCARG(z0)) Removed 4 trailing nodes: ENCODE_A -> c6 F(z0) -> c10 ENCARG(a) -> c H(z0) -> c12 ---------------------------------------- (12) Obligation: Complexity Dependency Tuples Problem Rules: encArg(a) -> a encArg(g(z0)) -> g(encArg(z0)) encArg(cons_f(z0)) -> f(encArg(z0)) encArg(cons_h(z0)) -> h(encArg(z0)) encArg(cons_k(z0, z1, z2)) -> k(encArg(z0), encArg(z1), encArg(z2)) encode_f(z0) -> f(encArg(z0)) encode_a -> a encode_g(z0) -> g(encArg(z0)) encode_h(z0) -> h(encArg(z0)) encode_k(z0, z1, z2) -> k(encArg(z0), encArg(z1), encArg(z2)) f(z0) -> c_f(z0) f(a) -> g(h(a)) h(z0) -> c_h(z0) h(g(z0)) -> g(h(f(z0))) k(z0, c_h(z0), a) -> h(z0) k(c_f(z0), z1, z0) -> f(z0) Tuples: ENCARG(g(z0)) -> c1(ENCARG(z0)) ENCARG(cons_f(z0)) -> c2(F(encArg(z0)), ENCARG(z0)) ENCARG(cons_h(z0)) -> c3(H(encArg(z0)), ENCARG(z0)) ENCARG(cons_k(z0, z1, z2)) -> c4(K(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ENCODE_F(z0) -> c5(F(encArg(z0)), ENCARG(z0)) ENCODE_H(z0) -> c8(H(encArg(z0)), ENCARG(z0)) ENCODE_K(z0, z1, z2) -> c9(K(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) F(a) -> c11(H(a)) H(g(z0)) -> c13(H(f(z0)), F(z0)) K(z0, c_h(z0), a) -> c14(H(z0)) K(c_f(z0), z1, z0) -> c15(F(z0)) S tuples: F(a) -> c11(H(a)) H(g(z0)) -> c13(H(f(z0)), F(z0)) K(z0, c_h(z0), a) -> c14(H(z0)) K(c_f(z0), z1, z0) -> c15(F(z0)) K tuples:none Defined Rule Symbols: f_1, h_1, k_3, encArg_1, encode_f_1, encode_a, encode_g_1, encode_h_1, encode_k_3 Defined Pair Symbols: ENCARG_1, ENCODE_F_1, ENCODE_H_1, ENCODE_K_3, F_1, H_1, K_3 Compound Symbols: c1_1, c2_2, c3_2, c4_4, c5_2, c8_2, c9_4, c11_1, c13_2, c14_1, c15_1 ---------------------------------------- (13) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (14) Obligation: Complexity Dependency Tuples Problem Rules: encArg(a) -> a encArg(g(z0)) -> g(encArg(z0)) encArg(cons_f(z0)) -> f(encArg(z0)) encArg(cons_h(z0)) -> h(encArg(z0)) encArg(cons_k(z0, z1, z2)) -> k(encArg(z0), encArg(z1), encArg(z2)) encode_f(z0) -> f(encArg(z0)) encode_a -> a encode_g(z0) -> g(encArg(z0)) encode_h(z0) -> h(encArg(z0)) encode_k(z0, z1, z2) -> k(encArg(z0), encArg(z1), encArg(z2)) f(z0) -> c_f(z0) f(a) -> g(h(a)) h(z0) -> c_h(z0) h(g(z0)) -> g(h(f(z0))) k(z0, c_h(z0), a) -> h(z0) k(c_f(z0), z1, z0) -> f(z0) Tuples: ENCARG(g(z0)) -> c1(ENCARG(z0)) ENCARG(cons_f(z0)) -> c2(F(encArg(z0)), ENCARG(z0)) ENCARG(cons_h(z0)) -> c3(H(encArg(z0)), ENCARG(z0)) ENCARG(cons_k(z0, z1, z2)) -> c4(K(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ENCODE_F(z0) -> c5(F(encArg(z0)), ENCARG(z0)) ENCODE_H(z0) -> c8(H(encArg(z0)), ENCARG(z0)) ENCODE_K(z0, z1, z2) -> c9(K(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) H(g(z0)) -> c13(H(f(z0)), F(z0)) K(z0, c_h(z0), a) -> c14(H(z0)) K(c_f(z0), z1, z0) -> c15(F(z0)) F(a) -> c11 S tuples: H(g(z0)) -> c13(H(f(z0)), F(z0)) K(z0, c_h(z0), a) -> c14(H(z0)) K(c_f(z0), z1, z0) -> c15(F(z0)) F(a) -> c11 K tuples:none Defined Rule Symbols: f_1, h_1, k_3, encArg_1, encode_f_1, encode_a, encode_g_1, encode_h_1, encode_k_3 Defined Pair Symbols: ENCARG_1, ENCODE_F_1, ENCODE_H_1, ENCODE_K_3, H_1, K_3, F_1 Compound Symbols: c1_1, c2_2, c3_2, c4_4, c5_2, c8_2, c9_4, c13_2, c14_1, c15_1, c11 ---------------------------------------- (15) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID)) Split RHS of tuples not part of any SCC ---------------------------------------- (16) Obligation: Complexity Dependency Tuples Problem Rules: encArg(a) -> a encArg(g(z0)) -> g(encArg(z0)) encArg(cons_f(z0)) -> f(encArg(z0)) encArg(cons_h(z0)) -> h(encArg(z0)) encArg(cons_k(z0, z1, z2)) -> k(encArg(z0), encArg(z1), encArg(z2)) encode_f(z0) -> f(encArg(z0)) encode_a -> a encode_g(z0) -> g(encArg(z0)) encode_h(z0) -> h(encArg(z0)) encode_k(z0, z1, z2) -> k(encArg(z0), encArg(z1), encArg(z2)) f(z0) -> c_f(z0) f(a) -> g(h(a)) h(z0) -> c_h(z0) h(g(z0)) -> g(h(f(z0))) k(z0, c_h(z0), a) -> h(z0) k(c_f(z0), z1, z0) -> f(z0) Tuples: ENCARG(g(z0)) -> c1(ENCARG(z0)) ENCARG(cons_f(z0)) -> c2(F(encArg(z0)), ENCARG(z0)) ENCARG(cons_h(z0)) -> c3(H(encArg(z0)), ENCARG(z0)) ENCARG(cons_k(z0, z1, z2)) -> c4(K(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) H(g(z0)) -> c13(H(f(z0)), F(z0)) K(z0, c_h(z0), a) -> c14(H(z0)) K(c_f(z0), z1, z0) -> c15(F(z0)) F(a) -> c11 ENCODE_F(z0) -> c(F(encArg(z0))) ENCODE_F(z0) -> c(ENCARG(z0)) ENCODE_H(z0) -> c(H(encArg(z0))) ENCODE_H(z0) -> c(ENCARG(z0)) ENCODE_K(z0, z1, z2) -> c(K(encArg(z0), encArg(z1), encArg(z2))) ENCODE_K(z0, z1, z2) -> c(ENCARG(z0)) ENCODE_K(z0, z1, z2) -> c(ENCARG(z1)) ENCODE_K(z0, z1, z2) -> c(ENCARG(z2)) S tuples: H(g(z0)) -> c13(H(f(z0)), F(z0)) K(z0, c_h(z0), a) -> c14(H(z0)) K(c_f(z0), z1, z0) -> c15(F(z0)) F(a) -> c11 K tuples:none Defined Rule Symbols: f_1, h_1, k_3, encArg_1, encode_f_1, encode_a, encode_g_1, encode_h_1, encode_k_3 Defined Pair Symbols: ENCARG_1, H_1, K_3, F_1, ENCODE_F_1, ENCODE_H_1, ENCODE_K_3 Compound Symbols: c1_1, c2_2, c3_2, c4_4, c13_2, c14_1, c15_1, c11, c_1 ---------------------------------------- (17) CdtLeafRemovalProof (ComplexityIfPolyImplication) Removed 5 leading nodes: ENCODE_F(z0) -> c(ENCARG(z0)) ENCODE_H(z0) -> c(ENCARG(z0)) ENCODE_K(z0, z1, z2) -> c(ENCARG(z0)) ENCODE_K(z0, z1, z2) -> c(ENCARG(z1)) ENCODE_K(z0, z1, z2) -> c(ENCARG(z2)) ---------------------------------------- (18) Obligation: Complexity Dependency Tuples Problem Rules: encArg(a) -> a encArg(g(z0)) -> g(encArg(z0)) encArg(cons_f(z0)) -> f(encArg(z0)) encArg(cons_h(z0)) -> h(encArg(z0)) encArg(cons_k(z0, z1, z2)) -> k(encArg(z0), encArg(z1), encArg(z2)) encode_f(z0) -> f(encArg(z0)) encode_a -> a encode_g(z0) -> g(encArg(z0)) encode_h(z0) -> h(encArg(z0)) encode_k(z0, z1, z2) -> k(encArg(z0), encArg(z1), encArg(z2)) f(z0) -> c_f(z0) f(a) -> g(h(a)) h(z0) -> c_h(z0) h(g(z0)) -> g(h(f(z0))) k(z0, c_h(z0), a) -> h(z0) k(c_f(z0), z1, z0) -> f(z0) Tuples: ENCARG(g(z0)) -> c1(ENCARG(z0)) ENCARG(cons_f(z0)) -> c2(F(encArg(z0)), ENCARG(z0)) ENCARG(cons_h(z0)) -> c3(H(encArg(z0)), ENCARG(z0)) ENCARG(cons_k(z0, z1, z2)) -> c4(K(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) H(g(z0)) -> c13(H(f(z0)), F(z0)) K(z0, c_h(z0), a) -> c14(H(z0)) K(c_f(z0), z1, z0) -> c15(F(z0)) F(a) -> c11 ENCODE_F(z0) -> c(F(encArg(z0))) ENCODE_H(z0) -> c(H(encArg(z0))) ENCODE_K(z0, z1, z2) -> c(K(encArg(z0), encArg(z1), encArg(z2))) S tuples: H(g(z0)) -> c13(H(f(z0)), F(z0)) K(z0, c_h(z0), a) -> c14(H(z0)) K(c_f(z0), z1, z0) -> c15(F(z0)) F(a) -> c11 K tuples:none Defined Rule Symbols: f_1, h_1, k_3, encArg_1, encode_f_1, encode_a, encode_g_1, encode_h_1, encode_k_3 Defined Pair Symbols: ENCARG_1, H_1, K_3, F_1, ENCODE_F_1, ENCODE_H_1, ENCODE_K_3 Compound Symbols: c1_1, c2_2, c3_2, c4_4, c13_2, c14_1, c15_1, c11, c_1 ---------------------------------------- (19) CdtUsableRulesProof (BOTH BOUNDS(ID, ID)) The following rules are not usable and were removed: encode_f(z0) -> f(encArg(z0)) encode_a -> a encode_g(z0) -> g(encArg(z0)) encode_h(z0) -> h(encArg(z0)) encode_k(z0, z1, z2) -> k(encArg(z0), encArg(z1), encArg(z2)) ---------------------------------------- (20) Obligation: Complexity Dependency Tuples Problem Rules: encArg(a) -> a encArg(g(z0)) -> g(encArg(z0)) encArg(cons_f(z0)) -> f(encArg(z0)) encArg(cons_h(z0)) -> h(encArg(z0)) encArg(cons_k(z0, z1, z2)) -> k(encArg(z0), encArg(z1), encArg(z2)) f(z0) -> c_f(z0) f(a) -> g(h(a)) h(z0) -> c_h(z0) h(g(z0)) -> g(h(f(z0))) k(z0, c_h(z0), a) -> h(z0) k(c_f(z0), z1, z0) -> f(z0) Tuples: ENCARG(g(z0)) -> c1(ENCARG(z0)) ENCARG(cons_f(z0)) -> c2(F(encArg(z0)), ENCARG(z0)) ENCARG(cons_h(z0)) -> c3(H(encArg(z0)), ENCARG(z0)) ENCARG(cons_k(z0, z1, z2)) -> c4(K(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) H(g(z0)) -> c13(H(f(z0)), F(z0)) K(z0, c_h(z0), a) -> c14(H(z0)) K(c_f(z0), z1, z0) -> c15(F(z0)) F(a) -> c11 ENCODE_F(z0) -> c(F(encArg(z0))) ENCODE_H(z0) -> c(H(encArg(z0))) ENCODE_K(z0, z1, z2) -> c(K(encArg(z0), encArg(z1), encArg(z2))) S tuples: H(g(z0)) -> c13(H(f(z0)), F(z0)) K(z0, c_h(z0), a) -> c14(H(z0)) K(c_f(z0), z1, z0) -> c15(F(z0)) F(a) -> c11 K tuples:none Defined Rule Symbols: encArg_1, f_1, h_1, k_3 Defined Pair Symbols: ENCARG_1, H_1, K_3, F_1, ENCODE_F_1, ENCODE_H_1, ENCODE_K_3 Compound Symbols: c1_1, c2_2, c3_2, c4_4, c13_2, c14_1, c15_1, c11, c_1 ---------------------------------------- (21) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. K(c_f(z0), z1, z0) -> c15(F(z0)) We considered the (Usable) Rules: f(z0) -> c_f(z0) h(z0) -> c_h(z0) h(g(z0)) -> g(h(f(z0))) f(a) -> g(h(a)) encArg(cons_f(z0)) -> f(encArg(z0)) k(c_f(z0), z1, z0) -> f(z0) encArg(cons_h(z0)) -> h(encArg(z0)) encArg(a) -> a encArg(g(z0)) -> g(encArg(z0)) encArg(cons_k(z0, z1, z2)) -> k(encArg(z0), encArg(z1), encArg(z2)) k(z0, c_h(z0), a) -> h(z0) And the Tuples: ENCARG(g(z0)) -> c1(ENCARG(z0)) ENCARG(cons_f(z0)) -> c2(F(encArg(z0)), ENCARG(z0)) ENCARG(cons_h(z0)) -> c3(H(encArg(z0)), ENCARG(z0)) ENCARG(cons_k(z0, z1, z2)) -> c4(K(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) H(g(z0)) -> c13(H(f(z0)), F(z0)) K(z0, c_h(z0), a) -> c14(H(z0)) K(c_f(z0), z1, z0) -> c15(F(z0)) F(a) -> c11 ENCODE_F(z0) -> c(F(encArg(z0))) ENCODE_H(z0) -> c(H(encArg(z0))) ENCODE_K(z0, z1, z2) -> c(K(encArg(z0), encArg(z1), encArg(z2))) The order we found is given by the following interpretation: Polynomial interpretation : POL(ENCARG(x_1)) = x_1 POL(ENCODE_F(x_1)) = x_1 POL(ENCODE_H(x_1)) = 0 POL(ENCODE_K(x_1, x_2, x_3)) = [1] POL(F(x_1)) = 0 POL(H(x_1)) = 0 POL(K(x_1, x_2, x_3)) = x_1 POL(a) = 0 POL(c(x_1)) = x_1 POL(c1(x_1)) = x_1 POL(c11) = 0 POL(c13(x_1, x_2)) = x_1 + x_2 POL(c14(x_1)) = x_1 POL(c15(x_1)) = x_1 POL(c2(x_1, x_2)) = x_1 + x_2 POL(c3(x_1, x_2)) = x_1 + x_2 POL(c4(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c_f(x_1)) = [1] POL(c_h(x_1)) = 0 POL(cons_f(x_1)) = [1] + x_1 POL(cons_h(x_1)) = [1] + x_1 POL(cons_k(x_1, x_2, x_3)) = [1] + x_1 + x_2 + x_3 POL(encArg(x_1)) = [1] POL(f(x_1)) = [1] POL(g(x_1)) = x_1 POL(h(x_1)) = 0 POL(k(x_1, x_2, x_3)) = [1] ---------------------------------------- (22) Obligation: Complexity Dependency Tuples Problem Rules: encArg(a) -> a encArg(g(z0)) -> g(encArg(z0)) encArg(cons_f(z0)) -> f(encArg(z0)) encArg(cons_h(z0)) -> h(encArg(z0)) encArg(cons_k(z0, z1, z2)) -> k(encArg(z0), encArg(z1), encArg(z2)) f(z0) -> c_f(z0) f(a) -> g(h(a)) h(z0) -> c_h(z0) h(g(z0)) -> g(h(f(z0))) k(z0, c_h(z0), a) -> h(z0) k(c_f(z0), z1, z0) -> f(z0) Tuples: ENCARG(g(z0)) -> c1(ENCARG(z0)) ENCARG(cons_f(z0)) -> c2(F(encArg(z0)), ENCARG(z0)) ENCARG(cons_h(z0)) -> c3(H(encArg(z0)), ENCARG(z0)) ENCARG(cons_k(z0, z1, z2)) -> c4(K(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) H(g(z0)) -> c13(H(f(z0)), F(z0)) K(z0, c_h(z0), a) -> c14(H(z0)) K(c_f(z0), z1, z0) -> c15(F(z0)) F(a) -> c11 ENCODE_F(z0) -> c(F(encArg(z0))) ENCODE_H(z0) -> c(H(encArg(z0))) ENCODE_K(z0, z1, z2) -> c(K(encArg(z0), encArg(z1), encArg(z2))) S tuples: H(g(z0)) -> c13(H(f(z0)), F(z0)) K(z0, c_h(z0), a) -> c14(H(z0)) F(a) -> c11 K tuples: K(c_f(z0), z1, z0) -> c15(F(z0)) Defined Rule Symbols: encArg_1, f_1, h_1, k_3 Defined Pair Symbols: ENCARG_1, H_1, K_3, F_1, ENCODE_F_1, ENCODE_H_1, ENCODE_K_3 Compound Symbols: c1_1, c2_2, c3_2, c4_4, c13_2, c14_1, c15_1, c11, c_1 ---------------------------------------- (23) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. K(z0, c_h(z0), a) -> c14(H(z0)) We considered the (Usable) Rules:none And the Tuples: ENCARG(g(z0)) -> c1(ENCARG(z0)) ENCARG(cons_f(z0)) -> c2(F(encArg(z0)), ENCARG(z0)) ENCARG(cons_h(z0)) -> c3(H(encArg(z0)), ENCARG(z0)) ENCARG(cons_k(z0, z1, z2)) -> c4(K(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) H(g(z0)) -> c13(H(f(z0)), F(z0)) K(z0, c_h(z0), a) -> c14(H(z0)) K(c_f(z0), z1, z0) -> c15(F(z0)) F(a) -> c11 ENCODE_F(z0) -> c(F(encArg(z0))) ENCODE_H(z0) -> c(H(encArg(z0))) ENCODE_K(z0, z1, z2) -> c(K(encArg(z0), encArg(z1), encArg(z2))) The order we found is given by the following interpretation: Polynomial interpretation : POL(ENCARG(x_1)) = x_1 POL(ENCODE_F(x_1)) = x_1 POL(ENCODE_H(x_1)) = 0 POL(ENCODE_K(x_1, x_2, x_3)) = [1] POL(F(x_1)) = 0 POL(H(x_1)) = 0 POL(K(x_1, x_2, x_3)) = [1] POL(a) = 0 POL(c(x_1)) = x_1 POL(c1(x_1)) = x_1 POL(c11) = 0 POL(c13(x_1, x_2)) = x_1 + x_2 POL(c14(x_1)) = x_1 POL(c15(x_1)) = x_1 POL(c2(x_1, x_2)) = x_1 + x_2 POL(c3(x_1, x_2)) = x_1 + x_2 POL(c4(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c_f(x_1)) = [1] + x_1 POL(c_h(x_1)) = [1] + x_1 POL(cons_f(x_1)) = [1] + x_1 POL(cons_h(x_1)) = [1] + x_1 POL(cons_k(x_1, x_2, x_3)) = [1] + x_1 + x_2 + x_3 POL(encArg(x_1)) = [1] + x_1 POL(f(x_1)) = [1] + x_1 POL(g(x_1)) = [1] + x_1 POL(h(x_1)) = 0 POL(k(x_1, x_2, x_3)) = [1] + x_1 + x_2 + x_3 ---------------------------------------- (24) Obligation: Complexity Dependency Tuples Problem Rules: encArg(a) -> a encArg(g(z0)) -> g(encArg(z0)) encArg(cons_f(z0)) -> f(encArg(z0)) encArg(cons_h(z0)) -> h(encArg(z0)) encArg(cons_k(z0, z1, z2)) -> k(encArg(z0), encArg(z1), encArg(z2)) f(z0) -> c_f(z0) f(a) -> g(h(a)) h(z0) -> c_h(z0) h(g(z0)) -> g(h(f(z0))) k(z0, c_h(z0), a) -> h(z0) k(c_f(z0), z1, z0) -> f(z0) Tuples: ENCARG(g(z0)) -> c1(ENCARG(z0)) ENCARG(cons_f(z0)) -> c2(F(encArg(z0)), ENCARG(z0)) ENCARG(cons_h(z0)) -> c3(H(encArg(z0)), ENCARG(z0)) ENCARG(cons_k(z0, z1, z2)) -> c4(K(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) H(g(z0)) -> c13(H(f(z0)), F(z0)) K(z0, c_h(z0), a) -> c14(H(z0)) K(c_f(z0), z1, z0) -> c15(F(z0)) F(a) -> c11 ENCODE_F(z0) -> c(F(encArg(z0))) ENCODE_H(z0) -> c(H(encArg(z0))) ENCODE_K(z0, z1, z2) -> c(K(encArg(z0), encArg(z1), encArg(z2))) S tuples: H(g(z0)) -> c13(H(f(z0)), F(z0)) F(a) -> c11 K tuples: K(c_f(z0), z1, z0) -> c15(F(z0)) K(z0, c_h(z0), a) -> c14(H(z0)) Defined Rule Symbols: encArg_1, f_1, h_1, k_3 Defined Pair Symbols: ENCARG_1, H_1, K_3, F_1, ENCODE_F_1, ENCODE_H_1, ENCODE_K_3 Compound Symbols: c1_1, c2_2, c3_2, c4_4, c13_2, c14_1, c15_1, c11, c_1 ---------------------------------------- (25) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. F(a) -> c11 We considered the (Usable) Rules: f(z0) -> c_f(z0) h(z0) -> c_h(z0) h(g(z0)) -> g(h(f(z0))) f(a) -> g(h(a)) encArg(cons_f(z0)) -> f(encArg(z0)) k(c_f(z0), z1, z0) -> f(z0) encArg(cons_h(z0)) -> h(encArg(z0)) encArg(a) -> a encArg(g(z0)) -> g(encArg(z0)) encArg(cons_k(z0, z1, z2)) -> k(encArg(z0), encArg(z1), encArg(z2)) k(z0, c_h(z0), a) -> h(z0) And the Tuples: ENCARG(g(z0)) -> c1(ENCARG(z0)) ENCARG(cons_f(z0)) -> c2(F(encArg(z0)), ENCARG(z0)) ENCARG(cons_h(z0)) -> c3(H(encArg(z0)), ENCARG(z0)) ENCARG(cons_k(z0, z1, z2)) -> c4(K(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) H(g(z0)) -> c13(H(f(z0)), F(z0)) K(z0, c_h(z0), a) -> c14(H(z0)) K(c_f(z0), z1, z0) -> c15(F(z0)) F(a) -> c11 ENCODE_F(z0) -> c(F(encArg(z0))) ENCODE_H(z0) -> c(H(encArg(z0))) ENCODE_K(z0, z1, z2) -> c(K(encArg(z0), encArg(z1), encArg(z2))) The order we found is given by the following interpretation: Polynomial interpretation : POL(ENCARG(x_1)) = [3]x_1 POL(ENCODE_F(x_1)) = [1] + x_1 POL(ENCODE_H(x_1)) = [3] POL(ENCODE_K(x_1, x_2, x_3)) = [3] + x_1 POL(F(x_1)) = x_1 POL(H(x_1)) = [2]x_1 POL(K(x_1, x_2, x_3)) = [2]x_1 + x_3 POL(a) = [1] POL(c(x_1)) = x_1 POL(c1(x_1)) = x_1 POL(c11) = 0 POL(c13(x_1, x_2)) = x_1 + x_2 POL(c14(x_1)) = x_1 POL(c15(x_1)) = x_1 POL(c2(x_1, x_2)) = x_1 + x_2 POL(c3(x_1, x_2)) = x_1 + x_2 POL(c4(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c_f(x_1)) = 0 POL(c_h(x_1)) = 0 POL(cons_f(x_1)) = [3] + x_1 POL(cons_h(x_1)) = [3] + x_1 POL(cons_k(x_1, x_2, x_3)) = [2] + x_1 + x_2 + x_3 POL(encArg(x_1)) = [1] POL(f(x_1)) = 0 POL(g(x_1)) = x_1 POL(h(x_1)) = 0 POL(k(x_1, x_2, x_3)) = 0 ---------------------------------------- (26) Obligation: Complexity Dependency Tuples Problem Rules: encArg(a) -> a encArg(g(z0)) -> g(encArg(z0)) encArg(cons_f(z0)) -> f(encArg(z0)) encArg(cons_h(z0)) -> h(encArg(z0)) encArg(cons_k(z0, z1, z2)) -> k(encArg(z0), encArg(z1), encArg(z2)) f(z0) -> c_f(z0) f(a) -> g(h(a)) h(z0) -> c_h(z0) h(g(z0)) -> g(h(f(z0))) k(z0, c_h(z0), a) -> h(z0) k(c_f(z0), z1, z0) -> f(z0) Tuples: ENCARG(g(z0)) -> c1(ENCARG(z0)) ENCARG(cons_f(z0)) -> c2(F(encArg(z0)), ENCARG(z0)) ENCARG(cons_h(z0)) -> c3(H(encArg(z0)), ENCARG(z0)) ENCARG(cons_k(z0, z1, z2)) -> c4(K(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) H(g(z0)) -> c13(H(f(z0)), F(z0)) K(z0, c_h(z0), a) -> c14(H(z0)) K(c_f(z0), z1, z0) -> c15(F(z0)) F(a) -> c11 ENCODE_F(z0) -> c(F(encArg(z0))) ENCODE_H(z0) -> c(H(encArg(z0))) ENCODE_K(z0, z1, z2) -> c(K(encArg(z0), encArg(z1), encArg(z2))) S tuples: H(g(z0)) -> c13(H(f(z0)), F(z0)) K tuples: K(c_f(z0), z1, z0) -> c15(F(z0)) K(z0, c_h(z0), a) -> c14(H(z0)) F(a) -> c11 Defined Rule Symbols: encArg_1, f_1, h_1, k_3 Defined Pair Symbols: ENCARG_1, H_1, K_3, F_1, ENCODE_F_1, ENCODE_H_1, ENCODE_K_3 Compound Symbols: c1_1, c2_2, c3_2, c4_4, c13_2, c14_1, c15_1, c11, c_1 ---------------------------------------- (27) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_f(z0)) -> c2(F(encArg(z0)), ENCARG(z0)) by ENCARG(cons_f(a)) -> c2(F(a), ENCARG(a)) ENCARG(cons_f(g(z0))) -> c2(F(g(encArg(z0))), ENCARG(g(z0))) ENCARG(cons_f(cons_f(z0))) -> c2(F(f(encArg(z0))), ENCARG(cons_f(z0))) ENCARG(cons_f(cons_h(z0))) -> c2(F(h(encArg(z0))), ENCARG(cons_h(z0))) ENCARG(cons_f(cons_k(z0, z1, z2))) -> c2(F(k(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_k(z0, z1, z2))) ---------------------------------------- (28) Obligation: Complexity Dependency Tuples Problem Rules: encArg(a) -> a encArg(g(z0)) -> g(encArg(z0)) encArg(cons_f(z0)) -> f(encArg(z0)) encArg(cons_h(z0)) -> h(encArg(z0)) encArg(cons_k(z0, z1, z2)) -> k(encArg(z0), encArg(z1), encArg(z2)) f(z0) -> c_f(z0) f(a) -> g(h(a)) h(z0) -> c_h(z0) h(g(z0)) -> g(h(f(z0))) k(z0, c_h(z0), a) -> h(z0) k(c_f(z0), z1, z0) -> f(z0) Tuples: ENCARG(g(z0)) -> c1(ENCARG(z0)) ENCARG(cons_h(z0)) -> c3(H(encArg(z0)), ENCARG(z0)) ENCARG(cons_k(z0, z1, z2)) -> c4(K(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) H(g(z0)) -> c13(H(f(z0)), F(z0)) K(z0, c_h(z0), a) -> c14(H(z0)) K(c_f(z0), z1, z0) -> c15(F(z0)) F(a) -> c11 ENCODE_F(z0) -> c(F(encArg(z0))) ENCODE_H(z0) -> c(H(encArg(z0))) ENCODE_K(z0, z1, z2) -> c(K(encArg(z0), encArg(z1), encArg(z2))) ENCARG(cons_f(a)) -> c2(F(a), ENCARG(a)) ENCARG(cons_f(g(z0))) -> c2(F(g(encArg(z0))), ENCARG(g(z0))) ENCARG(cons_f(cons_f(z0))) -> c2(F(f(encArg(z0))), ENCARG(cons_f(z0))) ENCARG(cons_f(cons_h(z0))) -> c2(F(h(encArg(z0))), ENCARG(cons_h(z0))) ENCARG(cons_f(cons_k(z0, z1, z2))) -> c2(F(k(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_k(z0, z1, z2))) S tuples: H(g(z0)) -> c13(H(f(z0)), F(z0)) K tuples: K(c_f(z0), z1, z0) -> c15(F(z0)) K(z0, c_h(z0), a) -> c14(H(z0)) F(a) -> c11 Defined Rule Symbols: encArg_1, f_1, h_1, k_3 Defined Pair Symbols: ENCARG_1, H_1, K_3, F_1, ENCODE_F_1, ENCODE_H_1, ENCODE_K_3 Compound Symbols: c1_1, c3_2, c4_4, c13_2, c14_1, c15_1, c11, c_1, c2_2 ---------------------------------------- (29) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing nodes: ENCARG(cons_f(a)) -> c2(F(a), ENCARG(a)) F(a) -> c11 ENCODE_F(z0) -> c(F(encArg(z0))) K(c_f(z0), z1, z0) -> c15(F(z0)) ---------------------------------------- (30) Obligation: Complexity Dependency Tuples Problem Rules: encArg(a) -> a encArg(g(z0)) -> g(encArg(z0)) encArg(cons_f(z0)) -> f(encArg(z0)) encArg(cons_h(z0)) -> h(encArg(z0)) encArg(cons_k(z0, z1, z2)) -> k(encArg(z0), encArg(z1), encArg(z2)) f(z0) -> c_f(z0) f(a) -> g(h(a)) h(z0) -> c_h(z0) h(g(z0)) -> g(h(f(z0))) k(z0, c_h(z0), a) -> h(z0) k(c_f(z0), z1, z0) -> f(z0) Tuples: ENCARG(g(z0)) -> c1(ENCARG(z0)) ENCARG(cons_h(z0)) -> c3(H(encArg(z0)), ENCARG(z0)) ENCARG(cons_k(z0, z1, z2)) -> c4(K(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) H(g(z0)) -> c13(H(f(z0)), F(z0)) K(z0, c_h(z0), a) -> c14(H(z0)) ENCODE_H(z0) -> c(H(encArg(z0))) ENCODE_K(z0, z1, z2) -> c(K(encArg(z0), encArg(z1), encArg(z2))) ENCARG(cons_f(g(z0))) -> c2(F(g(encArg(z0))), ENCARG(g(z0))) ENCARG(cons_f(cons_f(z0))) -> c2(F(f(encArg(z0))), ENCARG(cons_f(z0))) ENCARG(cons_f(cons_h(z0))) -> c2(F(h(encArg(z0))), ENCARG(cons_h(z0))) ENCARG(cons_f(cons_k(z0, z1, z2))) -> c2(F(k(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_k(z0, z1, z2))) S tuples: H(g(z0)) -> c13(H(f(z0)), F(z0)) K tuples: K(z0, c_h(z0), a) -> c14(H(z0)) Defined Rule Symbols: encArg_1, f_1, h_1, k_3 Defined Pair Symbols: ENCARG_1, H_1, K_3, ENCODE_H_1, ENCODE_K_3 Compound Symbols: c1_1, c3_2, c4_4, c13_2, c14_1, c_1, c2_2 ---------------------------------------- (31) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 5 trailing tuple parts ---------------------------------------- (32) Obligation: Complexity Dependency Tuples Problem Rules: encArg(a) -> a encArg(g(z0)) -> g(encArg(z0)) encArg(cons_f(z0)) -> f(encArg(z0)) encArg(cons_h(z0)) -> h(encArg(z0)) encArg(cons_k(z0, z1, z2)) -> k(encArg(z0), encArg(z1), encArg(z2)) f(z0) -> c_f(z0) f(a) -> g(h(a)) h(z0) -> c_h(z0) h(g(z0)) -> g(h(f(z0))) k(z0, c_h(z0), a) -> h(z0) k(c_f(z0), z1, z0) -> f(z0) Tuples: ENCARG(g(z0)) -> c1(ENCARG(z0)) ENCARG(cons_h(z0)) -> c3(H(encArg(z0)), ENCARG(z0)) ENCARG(cons_k(z0, z1, z2)) -> c4(K(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) K(z0, c_h(z0), a) -> c14(H(z0)) ENCODE_H(z0) -> c(H(encArg(z0))) ENCODE_K(z0, z1, z2) -> c(K(encArg(z0), encArg(z1), encArg(z2))) H(g(z0)) -> c13(H(f(z0))) ENCARG(cons_f(g(z0))) -> c2(ENCARG(g(z0))) ENCARG(cons_f(cons_f(z0))) -> c2(ENCARG(cons_f(z0))) ENCARG(cons_f(cons_h(z0))) -> c2(ENCARG(cons_h(z0))) ENCARG(cons_f(cons_k(z0, z1, z2))) -> c2(ENCARG(cons_k(z0, z1, z2))) S tuples: H(g(z0)) -> c13(H(f(z0))) K tuples: K(z0, c_h(z0), a) -> c14(H(z0)) Defined Rule Symbols: encArg_1, f_1, h_1, k_3 Defined Pair Symbols: ENCARG_1, K_3, ENCODE_H_1, ENCODE_K_3, H_1 Compound Symbols: c1_1, c3_2, c4_4, c14_1, c_1, c13_1, c2_1 ---------------------------------------- (33) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_h(z0)) -> c3(H(encArg(z0)), ENCARG(z0)) by ENCARG(cons_h(a)) -> c3(H(a), ENCARG(a)) ENCARG(cons_h(g(z0))) -> c3(H(g(encArg(z0))), ENCARG(g(z0))) ENCARG(cons_h(cons_f(z0))) -> c3(H(f(encArg(z0))), ENCARG(cons_f(z0))) ENCARG(cons_h(cons_h(z0))) -> c3(H(h(encArg(z0))), ENCARG(cons_h(z0))) ENCARG(cons_h(cons_k(z0, z1, z2))) -> c3(H(k(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_k(z0, z1, z2))) ---------------------------------------- (34) Obligation: Complexity Dependency Tuples Problem Rules: encArg(a) -> a encArg(g(z0)) -> g(encArg(z0)) encArg(cons_f(z0)) -> f(encArg(z0)) encArg(cons_h(z0)) -> h(encArg(z0)) encArg(cons_k(z0, z1, z2)) -> k(encArg(z0), encArg(z1), encArg(z2)) f(z0) -> c_f(z0) f(a) -> g(h(a)) h(z0) -> c_h(z0) h(g(z0)) -> g(h(f(z0))) k(z0, c_h(z0), a) -> h(z0) k(c_f(z0), z1, z0) -> f(z0) Tuples: ENCARG(g(z0)) -> c1(ENCARG(z0)) ENCARG(cons_k(z0, z1, z2)) -> c4(K(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) K(z0, c_h(z0), a) -> c14(H(z0)) ENCODE_H(z0) -> c(H(encArg(z0))) ENCODE_K(z0, z1, z2) -> c(K(encArg(z0), encArg(z1), encArg(z2))) H(g(z0)) -> c13(H(f(z0))) ENCARG(cons_f(g(z0))) -> c2(ENCARG(g(z0))) ENCARG(cons_f(cons_f(z0))) -> c2(ENCARG(cons_f(z0))) ENCARG(cons_f(cons_h(z0))) -> c2(ENCARG(cons_h(z0))) ENCARG(cons_f(cons_k(z0, z1, z2))) -> c2(ENCARG(cons_k(z0, z1, z2))) ENCARG(cons_h(a)) -> c3(H(a), ENCARG(a)) ENCARG(cons_h(g(z0))) -> c3(H(g(encArg(z0))), ENCARG(g(z0))) ENCARG(cons_h(cons_f(z0))) -> c3(H(f(encArg(z0))), ENCARG(cons_f(z0))) ENCARG(cons_h(cons_h(z0))) -> c3(H(h(encArg(z0))), ENCARG(cons_h(z0))) ENCARG(cons_h(cons_k(z0, z1, z2))) -> c3(H(k(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_k(z0, z1, z2))) S tuples: H(g(z0)) -> c13(H(f(z0))) K tuples: K(z0, c_h(z0), a) -> c14(H(z0)) Defined Rule Symbols: encArg_1, f_1, h_1, k_3 Defined Pair Symbols: ENCARG_1, K_3, ENCODE_H_1, ENCODE_K_3, H_1 Compound Symbols: c1_1, c4_4, c14_1, c_1, c13_1, c2_1, c3_2 ---------------------------------------- (35) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: ENCARG(cons_h(a)) -> c3(H(a), ENCARG(a)) ---------------------------------------- (36) Obligation: Complexity Dependency Tuples Problem Rules: encArg(a) -> a encArg(g(z0)) -> g(encArg(z0)) encArg(cons_f(z0)) -> f(encArg(z0)) encArg(cons_h(z0)) -> h(encArg(z0)) encArg(cons_k(z0, z1, z2)) -> k(encArg(z0), encArg(z1), encArg(z2)) f(z0) -> c_f(z0) f(a) -> g(h(a)) h(z0) -> c_h(z0) h(g(z0)) -> g(h(f(z0))) k(z0, c_h(z0), a) -> h(z0) k(c_f(z0), z1, z0) -> f(z0) Tuples: ENCARG(g(z0)) -> c1(ENCARG(z0)) ENCARG(cons_k(z0, z1, z2)) -> c4(K(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) K(z0, c_h(z0), a) -> c14(H(z0)) ENCODE_H(z0) -> c(H(encArg(z0))) ENCODE_K(z0, z1, z2) -> c(K(encArg(z0), encArg(z1), encArg(z2))) H(g(z0)) -> c13(H(f(z0))) ENCARG(cons_f(g(z0))) -> c2(ENCARG(g(z0))) ENCARG(cons_f(cons_f(z0))) -> c2(ENCARG(cons_f(z0))) ENCARG(cons_f(cons_h(z0))) -> c2(ENCARG(cons_h(z0))) ENCARG(cons_f(cons_k(z0, z1, z2))) -> c2(ENCARG(cons_k(z0, z1, z2))) ENCARG(cons_h(g(z0))) -> c3(H(g(encArg(z0))), ENCARG(g(z0))) ENCARG(cons_h(cons_f(z0))) -> c3(H(f(encArg(z0))), ENCARG(cons_f(z0))) ENCARG(cons_h(cons_h(z0))) -> c3(H(h(encArg(z0))), ENCARG(cons_h(z0))) ENCARG(cons_h(cons_k(z0, z1, z2))) -> c3(H(k(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_k(z0, z1, z2))) S tuples: H(g(z0)) -> c13(H(f(z0))) K tuples: K(z0, c_h(z0), a) -> c14(H(z0)) Defined Rule Symbols: encArg_1, f_1, h_1, k_3 Defined Pair Symbols: ENCARG_1, K_3, ENCODE_H_1, ENCODE_K_3, H_1 Compound Symbols: c1_1, c4_4, c14_1, c_1, c13_1, c2_1, c3_2 ---------------------------------------- (37) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_k(z0, z1, z2)) -> c4(K(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) by ENCARG(cons_k(x0, x1, a)) -> c4(K(encArg(x0), encArg(x1), a), ENCARG(x0), ENCARG(x1), ENCARG(a)) ENCARG(cons_k(x0, x1, g(z0))) -> c4(K(encArg(x0), encArg(x1), g(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(g(z0))) ENCARG(cons_k(x0, x1, cons_f(z0))) -> c4(K(encArg(x0), encArg(x1), f(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_f(z0))) ENCARG(cons_k(x0, x1, cons_h(z0))) -> c4(K(encArg(x0), encArg(x1), h(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_h(z0))) ENCARG(cons_k(x0, x1, cons_k(z0, z1, z2))) -> c4(K(encArg(x0), encArg(x1), k(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_k(z0, z1, z2))) ENCARG(cons_k(x0, a, x2)) -> c4(K(encArg(x0), a, encArg(x2)), ENCARG(x0), ENCARG(a), ENCARG(x2)) ENCARG(cons_k(x0, g(z0), x2)) -> c4(K(encArg(x0), g(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(g(z0)), ENCARG(x2)) ENCARG(cons_k(x0, cons_f(z0), x2)) -> c4(K(encArg(x0), f(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_f(z0)), ENCARG(x2)) ENCARG(cons_k(x0, cons_h(z0), x2)) -> c4(K(encArg(x0), h(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_h(z0)), ENCARG(x2)) ENCARG(cons_k(x0, cons_k(z0, z1, z2), x2)) -> c4(K(encArg(x0), k(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_k(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_k(a, x1, x2)) -> c4(K(a, encArg(x1), encArg(x2)), ENCARG(a), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(g(z0), x1, x2)) -> c4(K(g(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(g(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(cons_f(z0), x1, x2)) -> c4(K(f(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_f(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(cons_h(z0), x1, x2)) -> c4(K(h(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_h(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(cons_k(z0, z1, z2), x1, x2)) -> c4(K(k(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_k(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ---------------------------------------- (38) Obligation: Complexity Dependency Tuples Problem Rules: encArg(a) -> a encArg(g(z0)) -> g(encArg(z0)) encArg(cons_f(z0)) -> f(encArg(z0)) encArg(cons_h(z0)) -> h(encArg(z0)) encArg(cons_k(z0, z1, z2)) -> k(encArg(z0), encArg(z1), encArg(z2)) f(z0) -> c_f(z0) f(a) -> g(h(a)) h(z0) -> c_h(z0) h(g(z0)) -> g(h(f(z0))) k(z0, c_h(z0), a) -> h(z0) k(c_f(z0), z1, z0) -> f(z0) Tuples: ENCARG(g(z0)) -> c1(ENCARG(z0)) K(z0, c_h(z0), a) -> c14(H(z0)) ENCODE_H(z0) -> c(H(encArg(z0))) ENCODE_K(z0, z1, z2) -> c(K(encArg(z0), encArg(z1), encArg(z2))) H(g(z0)) -> c13(H(f(z0))) ENCARG(cons_f(g(z0))) -> c2(ENCARG(g(z0))) ENCARG(cons_f(cons_f(z0))) -> c2(ENCARG(cons_f(z0))) ENCARG(cons_f(cons_h(z0))) -> c2(ENCARG(cons_h(z0))) ENCARG(cons_f(cons_k(z0, z1, z2))) -> c2(ENCARG(cons_k(z0, z1, z2))) ENCARG(cons_h(g(z0))) -> c3(H(g(encArg(z0))), ENCARG(g(z0))) ENCARG(cons_h(cons_f(z0))) -> c3(H(f(encArg(z0))), ENCARG(cons_f(z0))) ENCARG(cons_h(cons_h(z0))) -> c3(H(h(encArg(z0))), ENCARG(cons_h(z0))) ENCARG(cons_h(cons_k(z0, z1, z2))) -> c3(H(k(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_k(z0, z1, z2))) ENCARG(cons_k(x0, x1, a)) -> c4(K(encArg(x0), encArg(x1), a), ENCARG(x0), ENCARG(x1), ENCARG(a)) ENCARG(cons_k(x0, x1, g(z0))) -> c4(K(encArg(x0), encArg(x1), g(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(g(z0))) ENCARG(cons_k(x0, x1, cons_f(z0))) -> c4(K(encArg(x0), encArg(x1), f(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_f(z0))) ENCARG(cons_k(x0, x1, cons_h(z0))) -> c4(K(encArg(x0), encArg(x1), h(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_h(z0))) ENCARG(cons_k(x0, x1, cons_k(z0, z1, z2))) -> c4(K(encArg(x0), encArg(x1), k(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_k(z0, z1, z2))) ENCARG(cons_k(x0, a, x2)) -> c4(K(encArg(x0), a, encArg(x2)), ENCARG(x0), ENCARG(a), ENCARG(x2)) ENCARG(cons_k(x0, g(z0), x2)) -> c4(K(encArg(x0), g(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(g(z0)), ENCARG(x2)) ENCARG(cons_k(x0, cons_f(z0), x2)) -> c4(K(encArg(x0), f(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_f(z0)), ENCARG(x2)) ENCARG(cons_k(x0, cons_h(z0), x2)) -> c4(K(encArg(x0), h(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_h(z0)), ENCARG(x2)) ENCARG(cons_k(x0, cons_k(z0, z1, z2), x2)) -> c4(K(encArg(x0), k(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_k(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_k(a, x1, x2)) -> c4(K(a, encArg(x1), encArg(x2)), ENCARG(a), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(g(z0), x1, x2)) -> c4(K(g(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(g(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(cons_f(z0), x1, x2)) -> c4(K(f(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_f(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(cons_h(z0), x1, x2)) -> c4(K(h(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_h(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(cons_k(z0, z1, z2), x1, x2)) -> c4(K(k(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_k(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) S tuples: H(g(z0)) -> c13(H(f(z0))) K tuples: K(z0, c_h(z0), a) -> c14(H(z0)) Defined Rule Symbols: encArg_1, f_1, h_1, k_3 Defined Pair Symbols: ENCARG_1, K_3, ENCODE_H_1, ENCODE_K_3, H_1 Compound Symbols: c1_1, c14_1, c_1, c13_1, c2_1, c3_2, c4_4 ---------------------------------------- (39) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 6 trailing tuple parts ---------------------------------------- (40) Obligation: Complexity Dependency Tuples Problem Rules: encArg(a) -> a encArg(g(z0)) -> g(encArg(z0)) encArg(cons_f(z0)) -> f(encArg(z0)) encArg(cons_h(z0)) -> h(encArg(z0)) encArg(cons_k(z0, z1, z2)) -> k(encArg(z0), encArg(z1), encArg(z2)) f(z0) -> c_f(z0) f(a) -> g(h(a)) h(z0) -> c_h(z0) h(g(z0)) -> g(h(f(z0))) k(z0, c_h(z0), a) -> h(z0) k(c_f(z0), z1, z0) -> f(z0) Tuples: ENCARG(g(z0)) -> c1(ENCARG(z0)) K(z0, c_h(z0), a) -> c14(H(z0)) ENCODE_H(z0) -> c(H(encArg(z0))) ENCODE_K(z0, z1, z2) -> c(K(encArg(z0), encArg(z1), encArg(z2))) H(g(z0)) -> c13(H(f(z0))) ENCARG(cons_f(g(z0))) -> c2(ENCARG(g(z0))) ENCARG(cons_f(cons_f(z0))) -> c2(ENCARG(cons_f(z0))) ENCARG(cons_f(cons_h(z0))) -> c2(ENCARG(cons_h(z0))) ENCARG(cons_f(cons_k(z0, z1, z2))) -> c2(ENCARG(cons_k(z0, z1, z2))) ENCARG(cons_h(g(z0))) -> c3(H(g(encArg(z0))), ENCARG(g(z0))) ENCARG(cons_h(cons_f(z0))) -> c3(H(f(encArg(z0))), ENCARG(cons_f(z0))) ENCARG(cons_h(cons_h(z0))) -> c3(H(h(encArg(z0))), ENCARG(cons_h(z0))) ENCARG(cons_h(cons_k(z0, z1, z2))) -> c3(H(k(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_k(z0, z1, z2))) ENCARG(cons_k(x0, x1, cons_f(z0))) -> c4(K(encArg(x0), encArg(x1), f(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_f(z0))) ENCARG(cons_k(x0, x1, cons_h(z0))) -> c4(K(encArg(x0), encArg(x1), h(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_h(z0))) ENCARG(cons_k(x0, x1, cons_k(z0, z1, z2))) -> c4(K(encArg(x0), encArg(x1), k(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_k(z0, z1, z2))) ENCARG(cons_k(x0, cons_f(z0), x2)) -> c4(K(encArg(x0), f(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_f(z0)), ENCARG(x2)) ENCARG(cons_k(x0, cons_h(z0), x2)) -> c4(K(encArg(x0), h(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_h(z0)), ENCARG(x2)) ENCARG(cons_k(x0, cons_k(z0, z1, z2), x2)) -> c4(K(encArg(x0), k(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_k(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_k(g(z0), x1, x2)) -> c4(K(g(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(g(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(cons_f(z0), x1, x2)) -> c4(K(f(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_f(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(cons_h(z0), x1, x2)) -> c4(K(h(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_h(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(cons_k(z0, z1, z2), x1, x2)) -> c4(K(k(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_k(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(x0, x1, a)) -> c4(K(encArg(x0), encArg(x1), a), ENCARG(x0), ENCARG(x1)) ENCARG(cons_k(x0, x1, g(z0))) -> c4(ENCARG(x0), ENCARG(x1), ENCARG(g(z0))) ENCARG(cons_k(x0, a, x2)) -> c4(ENCARG(x0), ENCARG(x2)) ENCARG(cons_k(x0, g(z0), x2)) -> c4(ENCARG(x0), ENCARG(g(z0)), ENCARG(x2)) ENCARG(cons_k(a, x1, x2)) -> c4(K(a, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) S tuples: H(g(z0)) -> c13(H(f(z0))) K tuples: K(z0, c_h(z0), a) -> c14(H(z0)) Defined Rule Symbols: encArg_1, f_1, h_1, k_3 Defined Pair Symbols: ENCARG_1, K_3, ENCODE_H_1, ENCODE_K_3, H_1 Compound Symbols: c1_1, c14_1, c_1, c13_1, c2_1, c3_2, c4_4, c4_3, c4_2 ---------------------------------------- (41) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_H(z0) -> c(H(encArg(z0))) by ENCODE_H(a) -> c(H(a)) ENCODE_H(g(z0)) -> c(H(g(encArg(z0)))) ENCODE_H(cons_f(z0)) -> c(H(f(encArg(z0)))) ENCODE_H(cons_h(z0)) -> c(H(h(encArg(z0)))) ENCODE_H(cons_k(z0, z1, z2)) -> c(H(k(encArg(z0), encArg(z1), encArg(z2)))) ---------------------------------------- (42) Obligation: Complexity Dependency Tuples Problem Rules: encArg(a) -> a encArg(g(z0)) -> g(encArg(z0)) encArg(cons_f(z0)) -> f(encArg(z0)) encArg(cons_h(z0)) -> h(encArg(z0)) encArg(cons_k(z0, z1, z2)) -> k(encArg(z0), encArg(z1), encArg(z2)) f(z0) -> c_f(z0) f(a) -> g(h(a)) h(z0) -> c_h(z0) h(g(z0)) -> g(h(f(z0))) k(z0, c_h(z0), a) -> h(z0) k(c_f(z0), z1, z0) -> f(z0) Tuples: ENCARG(g(z0)) -> c1(ENCARG(z0)) K(z0, c_h(z0), a) -> c14(H(z0)) ENCODE_K(z0, z1, z2) -> c(K(encArg(z0), encArg(z1), encArg(z2))) H(g(z0)) -> c13(H(f(z0))) ENCARG(cons_f(g(z0))) -> c2(ENCARG(g(z0))) ENCARG(cons_f(cons_f(z0))) -> c2(ENCARG(cons_f(z0))) ENCARG(cons_f(cons_h(z0))) -> c2(ENCARG(cons_h(z0))) ENCARG(cons_f(cons_k(z0, z1, z2))) -> c2(ENCARG(cons_k(z0, z1, z2))) ENCARG(cons_h(g(z0))) -> c3(H(g(encArg(z0))), ENCARG(g(z0))) ENCARG(cons_h(cons_f(z0))) -> c3(H(f(encArg(z0))), ENCARG(cons_f(z0))) ENCARG(cons_h(cons_h(z0))) -> c3(H(h(encArg(z0))), ENCARG(cons_h(z0))) ENCARG(cons_h(cons_k(z0, z1, z2))) -> c3(H(k(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_k(z0, z1, z2))) ENCARG(cons_k(x0, x1, cons_f(z0))) -> c4(K(encArg(x0), encArg(x1), f(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_f(z0))) ENCARG(cons_k(x0, x1, cons_h(z0))) -> c4(K(encArg(x0), encArg(x1), h(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_h(z0))) ENCARG(cons_k(x0, x1, cons_k(z0, z1, z2))) -> c4(K(encArg(x0), encArg(x1), k(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_k(z0, z1, z2))) ENCARG(cons_k(x0, cons_f(z0), x2)) -> c4(K(encArg(x0), f(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_f(z0)), ENCARG(x2)) ENCARG(cons_k(x0, cons_h(z0), x2)) -> c4(K(encArg(x0), h(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_h(z0)), ENCARG(x2)) ENCARG(cons_k(x0, cons_k(z0, z1, z2), x2)) -> c4(K(encArg(x0), k(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_k(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_k(g(z0), x1, x2)) -> c4(K(g(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(g(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(cons_f(z0), x1, x2)) -> c4(K(f(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_f(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(cons_h(z0), x1, x2)) -> c4(K(h(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_h(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(cons_k(z0, z1, z2), x1, x2)) -> c4(K(k(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_k(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(x0, x1, a)) -> c4(K(encArg(x0), encArg(x1), a), ENCARG(x0), ENCARG(x1)) ENCARG(cons_k(x0, x1, g(z0))) -> c4(ENCARG(x0), ENCARG(x1), ENCARG(g(z0))) ENCARG(cons_k(x0, a, x2)) -> c4(ENCARG(x0), ENCARG(x2)) ENCARG(cons_k(x0, g(z0), x2)) -> c4(ENCARG(x0), ENCARG(g(z0)), ENCARG(x2)) ENCARG(cons_k(a, x1, x2)) -> c4(K(a, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCODE_H(a) -> c(H(a)) ENCODE_H(g(z0)) -> c(H(g(encArg(z0)))) ENCODE_H(cons_f(z0)) -> c(H(f(encArg(z0)))) ENCODE_H(cons_h(z0)) -> c(H(h(encArg(z0)))) ENCODE_H(cons_k(z0, z1, z2)) -> c(H(k(encArg(z0), encArg(z1), encArg(z2)))) S tuples: H(g(z0)) -> c13(H(f(z0))) K tuples: K(z0, c_h(z0), a) -> c14(H(z0)) Defined Rule Symbols: encArg_1, f_1, h_1, k_3 Defined Pair Symbols: ENCARG_1, K_3, ENCODE_K_3, H_1, ENCODE_H_1 Compound Symbols: c1_1, c14_1, c_1, c13_1, c2_1, c3_2, c4_4, c4_3, c4_2 ---------------------------------------- (43) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: ENCODE_H(a) -> c(H(a)) ---------------------------------------- (44) Obligation: Complexity Dependency Tuples Problem Rules: encArg(a) -> a encArg(g(z0)) -> g(encArg(z0)) encArg(cons_f(z0)) -> f(encArg(z0)) encArg(cons_h(z0)) -> h(encArg(z0)) encArg(cons_k(z0, z1, z2)) -> k(encArg(z0), encArg(z1), encArg(z2)) f(z0) -> c_f(z0) f(a) -> g(h(a)) h(z0) -> c_h(z0) h(g(z0)) -> g(h(f(z0))) k(z0, c_h(z0), a) -> h(z0) k(c_f(z0), z1, z0) -> f(z0) Tuples: ENCARG(g(z0)) -> c1(ENCARG(z0)) K(z0, c_h(z0), a) -> c14(H(z0)) ENCODE_K(z0, z1, z2) -> c(K(encArg(z0), encArg(z1), encArg(z2))) H(g(z0)) -> c13(H(f(z0))) ENCARG(cons_f(g(z0))) -> c2(ENCARG(g(z0))) ENCARG(cons_f(cons_f(z0))) -> c2(ENCARG(cons_f(z0))) ENCARG(cons_f(cons_h(z0))) -> c2(ENCARG(cons_h(z0))) ENCARG(cons_f(cons_k(z0, z1, z2))) -> c2(ENCARG(cons_k(z0, z1, z2))) ENCARG(cons_h(g(z0))) -> c3(H(g(encArg(z0))), ENCARG(g(z0))) ENCARG(cons_h(cons_f(z0))) -> c3(H(f(encArg(z0))), ENCARG(cons_f(z0))) ENCARG(cons_h(cons_h(z0))) -> c3(H(h(encArg(z0))), ENCARG(cons_h(z0))) ENCARG(cons_h(cons_k(z0, z1, z2))) -> c3(H(k(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_k(z0, z1, z2))) ENCARG(cons_k(x0, x1, cons_f(z0))) -> c4(K(encArg(x0), encArg(x1), f(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_f(z0))) ENCARG(cons_k(x0, x1, cons_h(z0))) -> c4(K(encArg(x0), encArg(x1), h(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_h(z0))) ENCARG(cons_k(x0, x1, cons_k(z0, z1, z2))) -> c4(K(encArg(x0), encArg(x1), k(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_k(z0, z1, z2))) ENCARG(cons_k(x0, cons_f(z0), x2)) -> c4(K(encArg(x0), f(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_f(z0)), ENCARG(x2)) ENCARG(cons_k(x0, cons_h(z0), x2)) -> c4(K(encArg(x0), h(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_h(z0)), ENCARG(x2)) ENCARG(cons_k(x0, cons_k(z0, z1, z2), x2)) -> c4(K(encArg(x0), k(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_k(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_k(g(z0), x1, x2)) -> c4(K(g(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(g(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(cons_f(z0), x1, x2)) -> c4(K(f(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_f(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(cons_h(z0), x1, x2)) -> c4(K(h(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_h(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(cons_k(z0, z1, z2), x1, x2)) -> c4(K(k(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_k(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(x0, x1, a)) -> c4(K(encArg(x0), encArg(x1), a), ENCARG(x0), ENCARG(x1)) ENCARG(cons_k(x0, x1, g(z0))) -> c4(ENCARG(x0), ENCARG(x1), ENCARG(g(z0))) ENCARG(cons_k(x0, a, x2)) -> c4(ENCARG(x0), ENCARG(x2)) ENCARG(cons_k(x0, g(z0), x2)) -> c4(ENCARG(x0), ENCARG(g(z0)), ENCARG(x2)) ENCARG(cons_k(a, x1, x2)) -> c4(K(a, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCODE_H(g(z0)) -> c(H(g(encArg(z0)))) ENCODE_H(cons_f(z0)) -> c(H(f(encArg(z0)))) ENCODE_H(cons_h(z0)) -> c(H(h(encArg(z0)))) ENCODE_H(cons_k(z0, z1, z2)) -> c(H(k(encArg(z0), encArg(z1), encArg(z2)))) S tuples: H(g(z0)) -> c13(H(f(z0))) K tuples: K(z0, c_h(z0), a) -> c14(H(z0)) Defined Rule Symbols: encArg_1, f_1, h_1, k_3 Defined Pair Symbols: ENCARG_1, K_3, ENCODE_K_3, H_1, ENCODE_H_1 Compound Symbols: c1_1, c14_1, c_1, c13_1, c2_1, c3_2, c4_4, c4_3, c4_2 ---------------------------------------- (45) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_K(z0, z1, z2) -> c(K(encArg(z0), encArg(z1), encArg(z2))) by ENCODE_K(x0, x1, a) -> c(K(encArg(x0), encArg(x1), a)) ENCODE_K(x0, x1, g(z0)) -> c(K(encArg(x0), encArg(x1), g(encArg(z0)))) ENCODE_K(x0, x1, cons_f(z0)) -> c(K(encArg(x0), encArg(x1), f(encArg(z0)))) ENCODE_K(x0, x1, cons_h(z0)) -> c(K(encArg(x0), encArg(x1), h(encArg(z0)))) ENCODE_K(x0, x1, cons_k(z0, z1, z2)) -> c(K(encArg(x0), encArg(x1), k(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_K(x0, a, x2) -> c(K(encArg(x0), a, encArg(x2))) ENCODE_K(x0, g(z0), x2) -> c(K(encArg(x0), g(encArg(z0)), encArg(x2))) ENCODE_K(x0, cons_f(z0), x2) -> c(K(encArg(x0), f(encArg(z0)), encArg(x2))) ENCODE_K(x0, cons_h(z0), x2) -> c(K(encArg(x0), h(encArg(z0)), encArg(x2))) ENCODE_K(x0, cons_k(z0, z1, z2), x2) -> c(K(encArg(x0), k(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_K(a, x1, x2) -> c(K(a, encArg(x1), encArg(x2))) ENCODE_K(g(z0), x1, x2) -> c(K(g(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_K(cons_f(z0), x1, x2) -> c(K(f(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_K(cons_h(z0), x1, x2) -> c(K(h(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_K(cons_k(z0, z1, z2), x1, x2) -> c(K(k(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ---------------------------------------- (46) Obligation: Complexity Dependency Tuples Problem Rules: encArg(a) -> a encArg(g(z0)) -> g(encArg(z0)) encArg(cons_f(z0)) -> f(encArg(z0)) encArg(cons_h(z0)) -> h(encArg(z0)) encArg(cons_k(z0, z1, z2)) -> k(encArg(z0), encArg(z1), encArg(z2)) f(z0) -> c_f(z0) f(a) -> g(h(a)) h(z0) -> c_h(z0) h(g(z0)) -> g(h(f(z0))) k(z0, c_h(z0), a) -> h(z0) k(c_f(z0), z1, z0) -> f(z0) Tuples: ENCARG(g(z0)) -> c1(ENCARG(z0)) K(z0, c_h(z0), a) -> c14(H(z0)) H(g(z0)) -> c13(H(f(z0))) ENCARG(cons_f(g(z0))) -> c2(ENCARG(g(z0))) ENCARG(cons_f(cons_f(z0))) -> c2(ENCARG(cons_f(z0))) ENCARG(cons_f(cons_h(z0))) -> c2(ENCARG(cons_h(z0))) ENCARG(cons_f(cons_k(z0, z1, z2))) -> c2(ENCARG(cons_k(z0, z1, z2))) ENCARG(cons_h(g(z0))) -> c3(H(g(encArg(z0))), ENCARG(g(z0))) ENCARG(cons_h(cons_f(z0))) -> c3(H(f(encArg(z0))), ENCARG(cons_f(z0))) ENCARG(cons_h(cons_h(z0))) -> c3(H(h(encArg(z0))), ENCARG(cons_h(z0))) ENCARG(cons_h(cons_k(z0, z1, z2))) -> c3(H(k(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_k(z0, z1, z2))) ENCARG(cons_k(x0, x1, cons_f(z0))) -> c4(K(encArg(x0), encArg(x1), f(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_f(z0))) ENCARG(cons_k(x0, x1, cons_h(z0))) -> c4(K(encArg(x0), encArg(x1), h(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_h(z0))) ENCARG(cons_k(x0, x1, cons_k(z0, z1, z2))) -> c4(K(encArg(x0), encArg(x1), k(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_k(z0, z1, z2))) ENCARG(cons_k(x0, cons_f(z0), x2)) -> c4(K(encArg(x0), f(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_f(z0)), ENCARG(x2)) ENCARG(cons_k(x0, cons_h(z0), x2)) -> c4(K(encArg(x0), h(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_h(z0)), ENCARG(x2)) ENCARG(cons_k(x0, cons_k(z0, z1, z2), x2)) -> c4(K(encArg(x0), k(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_k(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_k(g(z0), x1, x2)) -> c4(K(g(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(g(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(cons_f(z0), x1, x2)) -> c4(K(f(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_f(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(cons_h(z0), x1, x2)) -> c4(K(h(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_h(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(cons_k(z0, z1, z2), x1, x2)) -> c4(K(k(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_k(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(x0, x1, a)) -> c4(K(encArg(x0), encArg(x1), a), ENCARG(x0), ENCARG(x1)) ENCARG(cons_k(x0, x1, g(z0))) -> c4(ENCARG(x0), ENCARG(x1), ENCARG(g(z0))) ENCARG(cons_k(x0, a, x2)) -> c4(ENCARG(x0), ENCARG(x2)) ENCARG(cons_k(x0, g(z0), x2)) -> c4(ENCARG(x0), ENCARG(g(z0)), ENCARG(x2)) ENCARG(cons_k(a, x1, x2)) -> c4(K(a, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCODE_H(g(z0)) -> c(H(g(encArg(z0)))) ENCODE_H(cons_f(z0)) -> c(H(f(encArg(z0)))) ENCODE_H(cons_h(z0)) -> c(H(h(encArg(z0)))) ENCODE_H(cons_k(z0, z1, z2)) -> c(H(k(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_K(x0, x1, a) -> c(K(encArg(x0), encArg(x1), a)) ENCODE_K(x0, x1, g(z0)) -> c(K(encArg(x0), encArg(x1), g(encArg(z0)))) ENCODE_K(x0, x1, cons_f(z0)) -> c(K(encArg(x0), encArg(x1), f(encArg(z0)))) ENCODE_K(x0, x1, cons_h(z0)) -> c(K(encArg(x0), encArg(x1), h(encArg(z0)))) ENCODE_K(x0, x1, cons_k(z0, z1, z2)) -> c(K(encArg(x0), encArg(x1), k(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_K(x0, a, x2) -> c(K(encArg(x0), a, encArg(x2))) ENCODE_K(x0, g(z0), x2) -> c(K(encArg(x0), g(encArg(z0)), encArg(x2))) ENCODE_K(x0, cons_f(z0), x2) -> c(K(encArg(x0), f(encArg(z0)), encArg(x2))) ENCODE_K(x0, cons_h(z0), x2) -> c(K(encArg(x0), h(encArg(z0)), encArg(x2))) ENCODE_K(x0, cons_k(z0, z1, z2), x2) -> c(K(encArg(x0), k(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_K(a, x1, x2) -> c(K(a, encArg(x1), encArg(x2))) ENCODE_K(g(z0), x1, x2) -> c(K(g(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_K(cons_f(z0), x1, x2) -> c(K(f(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_K(cons_h(z0), x1, x2) -> c(K(h(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_K(cons_k(z0, z1, z2), x1, x2) -> c(K(k(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) S tuples: H(g(z0)) -> c13(H(f(z0))) K tuples: K(z0, c_h(z0), a) -> c14(H(z0)) Defined Rule Symbols: encArg_1, f_1, h_1, k_3 Defined Pair Symbols: ENCARG_1, K_3, H_1, ENCODE_H_1, ENCODE_K_3 Compound Symbols: c1_1, c14_1, c13_1, c2_1, c3_2, c4_4, c4_3, c4_2, c_1 ---------------------------------------- (47) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing nodes: ENCODE_K(x0, g(z0), x2) -> c(K(encArg(x0), g(encArg(z0)), encArg(x2))) ENCODE_K(x0, x1, g(z0)) -> c(K(encArg(x0), encArg(x1), g(encArg(z0)))) ENCODE_K(x0, a, x2) -> c(K(encArg(x0), a, encArg(x2))) ---------------------------------------- (48) Obligation: Complexity Dependency Tuples Problem Rules: encArg(a) -> a encArg(g(z0)) -> g(encArg(z0)) encArg(cons_f(z0)) -> f(encArg(z0)) encArg(cons_h(z0)) -> h(encArg(z0)) encArg(cons_k(z0, z1, z2)) -> k(encArg(z0), encArg(z1), encArg(z2)) f(z0) -> c_f(z0) f(a) -> g(h(a)) h(z0) -> c_h(z0) h(g(z0)) -> g(h(f(z0))) k(z0, c_h(z0), a) -> h(z0) k(c_f(z0), z1, z0) -> f(z0) Tuples: ENCARG(g(z0)) -> c1(ENCARG(z0)) K(z0, c_h(z0), a) -> c14(H(z0)) H(g(z0)) -> c13(H(f(z0))) ENCARG(cons_f(g(z0))) -> c2(ENCARG(g(z0))) ENCARG(cons_f(cons_f(z0))) -> c2(ENCARG(cons_f(z0))) ENCARG(cons_f(cons_h(z0))) -> c2(ENCARG(cons_h(z0))) ENCARG(cons_f(cons_k(z0, z1, z2))) -> c2(ENCARG(cons_k(z0, z1, z2))) ENCARG(cons_h(g(z0))) -> c3(H(g(encArg(z0))), ENCARG(g(z0))) ENCARG(cons_h(cons_f(z0))) -> c3(H(f(encArg(z0))), ENCARG(cons_f(z0))) ENCARG(cons_h(cons_h(z0))) -> c3(H(h(encArg(z0))), ENCARG(cons_h(z0))) ENCARG(cons_h(cons_k(z0, z1, z2))) -> c3(H(k(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_k(z0, z1, z2))) ENCARG(cons_k(x0, x1, cons_f(z0))) -> c4(K(encArg(x0), encArg(x1), f(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_f(z0))) ENCARG(cons_k(x0, x1, cons_h(z0))) -> c4(K(encArg(x0), encArg(x1), h(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_h(z0))) ENCARG(cons_k(x0, x1, cons_k(z0, z1, z2))) -> c4(K(encArg(x0), encArg(x1), k(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_k(z0, z1, z2))) ENCARG(cons_k(x0, cons_f(z0), x2)) -> c4(K(encArg(x0), f(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_f(z0)), ENCARG(x2)) ENCARG(cons_k(x0, cons_h(z0), x2)) -> c4(K(encArg(x0), h(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_h(z0)), ENCARG(x2)) ENCARG(cons_k(x0, cons_k(z0, z1, z2), x2)) -> c4(K(encArg(x0), k(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_k(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_k(g(z0), x1, x2)) -> c4(K(g(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(g(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(cons_f(z0), x1, x2)) -> c4(K(f(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_f(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(cons_h(z0), x1, x2)) -> c4(K(h(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_h(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(cons_k(z0, z1, z2), x1, x2)) -> c4(K(k(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_k(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(x0, x1, a)) -> c4(K(encArg(x0), encArg(x1), a), ENCARG(x0), ENCARG(x1)) ENCARG(cons_k(x0, x1, g(z0))) -> c4(ENCARG(x0), ENCARG(x1), ENCARG(g(z0))) ENCARG(cons_k(x0, a, x2)) -> c4(ENCARG(x0), ENCARG(x2)) ENCARG(cons_k(x0, g(z0), x2)) -> c4(ENCARG(x0), ENCARG(g(z0)), ENCARG(x2)) ENCARG(cons_k(a, x1, x2)) -> c4(K(a, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCODE_H(g(z0)) -> c(H(g(encArg(z0)))) ENCODE_H(cons_f(z0)) -> c(H(f(encArg(z0)))) ENCODE_H(cons_h(z0)) -> c(H(h(encArg(z0)))) ENCODE_H(cons_k(z0, z1, z2)) -> c(H(k(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_K(x0, x1, a) -> c(K(encArg(x0), encArg(x1), a)) ENCODE_K(x0, x1, cons_f(z0)) -> c(K(encArg(x0), encArg(x1), f(encArg(z0)))) ENCODE_K(x0, x1, cons_h(z0)) -> c(K(encArg(x0), encArg(x1), h(encArg(z0)))) ENCODE_K(x0, x1, cons_k(z0, z1, z2)) -> c(K(encArg(x0), encArg(x1), k(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_K(x0, cons_f(z0), x2) -> c(K(encArg(x0), f(encArg(z0)), encArg(x2))) ENCODE_K(x0, cons_h(z0), x2) -> c(K(encArg(x0), h(encArg(z0)), encArg(x2))) ENCODE_K(x0, cons_k(z0, z1, z2), x2) -> c(K(encArg(x0), k(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_K(a, x1, x2) -> c(K(a, encArg(x1), encArg(x2))) ENCODE_K(g(z0), x1, x2) -> c(K(g(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_K(cons_f(z0), x1, x2) -> c(K(f(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_K(cons_h(z0), x1, x2) -> c(K(h(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_K(cons_k(z0, z1, z2), x1, x2) -> c(K(k(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) S tuples: H(g(z0)) -> c13(H(f(z0))) K tuples: K(z0, c_h(z0), a) -> c14(H(z0)) Defined Rule Symbols: encArg_1, f_1, h_1, k_3 Defined Pair Symbols: ENCARG_1, K_3, H_1, ENCODE_H_1, ENCODE_K_3 Compound Symbols: c1_1, c14_1, c13_1, c2_1, c3_2, c4_4, c4_3, c4_2, c_1 ---------------------------------------- (49) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace H(g(z0)) -> c13(H(f(z0))) by H(g(z0)) -> c13(H(c_f(z0))) H(g(a)) -> c13(H(g(h(a)))) ---------------------------------------- (50) Obligation: Complexity Dependency Tuples Problem Rules: encArg(a) -> a encArg(g(z0)) -> g(encArg(z0)) encArg(cons_f(z0)) -> f(encArg(z0)) encArg(cons_h(z0)) -> h(encArg(z0)) encArg(cons_k(z0, z1, z2)) -> k(encArg(z0), encArg(z1), encArg(z2)) f(z0) -> c_f(z0) f(a) -> g(h(a)) h(z0) -> c_h(z0) h(g(z0)) -> g(h(f(z0))) k(z0, c_h(z0), a) -> h(z0) k(c_f(z0), z1, z0) -> f(z0) Tuples: ENCARG(g(z0)) -> c1(ENCARG(z0)) K(z0, c_h(z0), a) -> c14(H(z0)) ENCARG(cons_f(g(z0))) -> c2(ENCARG(g(z0))) ENCARG(cons_f(cons_f(z0))) -> c2(ENCARG(cons_f(z0))) ENCARG(cons_f(cons_h(z0))) -> c2(ENCARG(cons_h(z0))) ENCARG(cons_f(cons_k(z0, z1, z2))) -> c2(ENCARG(cons_k(z0, z1, z2))) ENCARG(cons_h(g(z0))) -> c3(H(g(encArg(z0))), ENCARG(g(z0))) ENCARG(cons_h(cons_f(z0))) -> c3(H(f(encArg(z0))), ENCARG(cons_f(z0))) ENCARG(cons_h(cons_h(z0))) -> c3(H(h(encArg(z0))), ENCARG(cons_h(z0))) ENCARG(cons_h(cons_k(z0, z1, z2))) -> c3(H(k(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_k(z0, z1, z2))) ENCARG(cons_k(x0, x1, cons_f(z0))) -> c4(K(encArg(x0), encArg(x1), f(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_f(z0))) ENCARG(cons_k(x0, x1, cons_h(z0))) -> c4(K(encArg(x0), encArg(x1), h(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_h(z0))) ENCARG(cons_k(x0, x1, cons_k(z0, z1, z2))) -> c4(K(encArg(x0), encArg(x1), k(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_k(z0, z1, z2))) ENCARG(cons_k(x0, cons_f(z0), x2)) -> c4(K(encArg(x0), f(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_f(z0)), ENCARG(x2)) ENCARG(cons_k(x0, cons_h(z0), x2)) -> c4(K(encArg(x0), h(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_h(z0)), ENCARG(x2)) ENCARG(cons_k(x0, cons_k(z0, z1, z2), x2)) -> c4(K(encArg(x0), k(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_k(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_k(g(z0), x1, x2)) -> c4(K(g(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(g(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(cons_f(z0), x1, x2)) -> c4(K(f(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_f(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(cons_h(z0), x1, x2)) -> c4(K(h(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_h(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(cons_k(z0, z1, z2), x1, x2)) -> c4(K(k(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_k(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(x0, x1, a)) -> c4(K(encArg(x0), encArg(x1), a), ENCARG(x0), ENCARG(x1)) ENCARG(cons_k(x0, x1, g(z0))) -> c4(ENCARG(x0), ENCARG(x1), ENCARG(g(z0))) ENCARG(cons_k(x0, a, x2)) -> c4(ENCARG(x0), ENCARG(x2)) ENCARG(cons_k(x0, g(z0), x2)) -> c4(ENCARG(x0), ENCARG(g(z0)), ENCARG(x2)) ENCARG(cons_k(a, x1, x2)) -> c4(K(a, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCODE_H(g(z0)) -> c(H(g(encArg(z0)))) ENCODE_H(cons_f(z0)) -> c(H(f(encArg(z0)))) ENCODE_H(cons_h(z0)) -> c(H(h(encArg(z0)))) ENCODE_H(cons_k(z0, z1, z2)) -> c(H(k(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_K(x0, x1, a) -> c(K(encArg(x0), encArg(x1), a)) ENCODE_K(x0, x1, cons_f(z0)) -> c(K(encArg(x0), encArg(x1), f(encArg(z0)))) ENCODE_K(x0, x1, cons_h(z0)) -> c(K(encArg(x0), encArg(x1), h(encArg(z0)))) ENCODE_K(x0, x1, cons_k(z0, z1, z2)) -> c(K(encArg(x0), encArg(x1), k(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_K(x0, cons_f(z0), x2) -> c(K(encArg(x0), f(encArg(z0)), encArg(x2))) ENCODE_K(x0, cons_h(z0), x2) -> c(K(encArg(x0), h(encArg(z0)), encArg(x2))) ENCODE_K(x0, cons_k(z0, z1, z2), x2) -> c(K(encArg(x0), k(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_K(a, x1, x2) -> c(K(a, encArg(x1), encArg(x2))) ENCODE_K(g(z0), x1, x2) -> c(K(g(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_K(cons_f(z0), x1, x2) -> c(K(f(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_K(cons_h(z0), x1, x2) -> c(K(h(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_K(cons_k(z0, z1, z2), x1, x2) -> c(K(k(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) H(g(z0)) -> c13(H(c_f(z0))) H(g(a)) -> c13(H(g(h(a)))) S tuples: H(g(z0)) -> c13(H(c_f(z0))) H(g(a)) -> c13(H(g(h(a)))) K tuples: K(z0, c_h(z0), a) -> c14(H(z0)) Defined Rule Symbols: encArg_1, f_1, h_1, k_3 Defined Pair Symbols: ENCARG_1, K_3, ENCODE_H_1, ENCODE_K_3, H_1 Compound Symbols: c1_1, c14_1, c2_1, c3_2, c4_4, c4_3, c4_2, c_1, c13_1 ---------------------------------------- (51) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (52) Obligation: Complexity Dependency Tuples Problem Rules: encArg(a) -> a encArg(g(z0)) -> g(encArg(z0)) encArg(cons_f(z0)) -> f(encArg(z0)) encArg(cons_h(z0)) -> h(encArg(z0)) encArg(cons_k(z0, z1, z2)) -> k(encArg(z0), encArg(z1), encArg(z2)) f(z0) -> c_f(z0) f(a) -> g(h(a)) h(z0) -> c_h(z0) h(g(z0)) -> g(h(f(z0))) k(z0, c_h(z0), a) -> h(z0) k(c_f(z0), z1, z0) -> f(z0) Tuples: ENCARG(g(z0)) -> c1(ENCARG(z0)) K(z0, c_h(z0), a) -> c14(H(z0)) ENCARG(cons_f(g(z0))) -> c2(ENCARG(g(z0))) ENCARG(cons_f(cons_f(z0))) -> c2(ENCARG(cons_f(z0))) ENCARG(cons_f(cons_h(z0))) -> c2(ENCARG(cons_h(z0))) ENCARG(cons_f(cons_k(z0, z1, z2))) -> c2(ENCARG(cons_k(z0, z1, z2))) ENCARG(cons_h(g(z0))) -> c3(H(g(encArg(z0))), ENCARG(g(z0))) ENCARG(cons_h(cons_f(z0))) -> c3(H(f(encArg(z0))), ENCARG(cons_f(z0))) ENCARG(cons_h(cons_h(z0))) -> c3(H(h(encArg(z0))), ENCARG(cons_h(z0))) ENCARG(cons_h(cons_k(z0, z1, z2))) -> c3(H(k(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_k(z0, z1, z2))) ENCARG(cons_k(x0, x1, cons_f(z0))) -> c4(K(encArg(x0), encArg(x1), f(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_f(z0))) ENCARG(cons_k(x0, x1, cons_h(z0))) -> c4(K(encArg(x0), encArg(x1), h(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_h(z0))) ENCARG(cons_k(x0, x1, cons_k(z0, z1, z2))) -> c4(K(encArg(x0), encArg(x1), k(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_k(z0, z1, z2))) ENCARG(cons_k(x0, cons_f(z0), x2)) -> c4(K(encArg(x0), f(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_f(z0)), ENCARG(x2)) ENCARG(cons_k(x0, cons_h(z0), x2)) -> c4(K(encArg(x0), h(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_h(z0)), ENCARG(x2)) ENCARG(cons_k(x0, cons_k(z0, z1, z2), x2)) -> c4(K(encArg(x0), k(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_k(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_k(g(z0), x1, x2)) -> c4(K(g(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(g(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(cons_f(z0), x1, x2)) -> c4(K(f(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_f(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(cons_h(z0), x1, x2)) -> c4(K(h(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_h(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(cons_k(z0, z1, z2), x1, x2)) -> c4(K(k(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_k(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(x0, x1, a)) -> c4(K(encArg(x0), encArg(x1), a), ENCARG(x0), ENCARG(x1)) ENCARG(cons_k(x0, x1, g(z0))) -> c4(ENCARG(x0), ENCARG(x1), ENCARG(g(z0))) ENCARG(cons_k(x0, a, x2)) -> c4(ENCARG(x0), ENCARG(x2)) ENCARG(cons_k(x0, g(z0), x2)) -> c4(ENCARG(x0), ENCARG(g(z0)), ENCARG(x2)) ENCARG(cons_k(a, x1, x2)) -> c4(K(a, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCODE_H(g(z0)) -> c(H(g(encArg(z0)))) ENCODE_H(cons_f(z0)) -> c(H(f(encArg(z0)))) ENCODE_H(cons_h(z0)) -> c(H(h(encArg(z0)))) ENCODE_H(cons_k(z0, z1, z2)) -> c(H(k(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_K(x0, x1, a) -> c(K(encArg(x0), encArg(x1), a)) ENCODE_K(x0, x1, cons_f(z0)) -> c(K(encArg(x0), encArg(x1), f(encArg(z0)))) ENCODE_K(x0, x1, cons_h(z0)) -> c(K(encArg(x0), encArg(x1), h(encArg(z0)))) ENCODE_K(x0, x1, cons_k(z0, z1, z2)) -> c(K(encArg(x0), encArg(x1), k(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_K(x0, cons_f(z0), x2) -> c(K(encArg(x0), f(encArg(z0)), encArg(x2))) ENCODE_K(x0, cons_h(z0), x2) -> c(K(encArg(x0), h(encArg(z0)), encArg(x2))) ENCODE_K(x0, cons_k(z0, z1, z2), x2) -> c(K(encArg(x0), k(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_K(a, x1, x2) -> c(K(a, encArg(x1), encArg(x2))) ENCODE_K(g(z0), x1, x2) -> c(K(g(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_K(cons_f(z0), x1, x2) -> c(K(f(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_K(cons_h(z0), x1, x2) -> c(K(h(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_K(cons_k(z0, z1, z2), x1, x2) -> c(K(k(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) H(g(a)) -> c13(H(g(h(a)))) H(g(z0)) -> c13 S tuples: H(g(a)) -> c13(H(g(h(a)))) H(g(z0)) -> c13 K tuples: K(z0, c_h(z0), a) -> c14(H(z0)) Defined Rule Symbols: encArg_1, f_1, h_1, k_3 Defined Pair Symbols: ENCARG_1, K_3, ENCODE_H_1, ENCODE_K_3, H_1 Compound Symbols: c1_1, c14_1, c2_1, c3_2, c4_4, c4_3, c4_2, c_1, c13_1, c13 ---------------------------------------- (53) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. H(g(z0)) -> c13 We considered the (Usable) Rules:none And the Tuples: ENCARG(g(z0)) -> c1(ENCARG(z0)) K(z0, c_h(z0), a) -> c14(H(z0)) ENCARG(cons_f(g(z0))) -> c2(ENCARG(g(z0))) ENCARG(cons_f(cons_f(z0))) -> c2(ENCARG(cons_f(z0))) ENCARG(cons_f(cons_h(z0))) -> c2(ENCARG(cons_h(z0))) ENCARG(cons_f(cons_k(z0, z1, z2))) -> c2(ENCARG(cons_k(z0, z1, z2))) ENCARG(cons_h(g(z0))) -> c3(H(g(encArg(z0))), ENCARG(g(z0))) ENCARG(cons_h(cons_f(z0))) -> c3(H(f(encArg(z0))), ENCARG(cons_f(z0))) ENCARG(cons_h(cons_h(z0))) -> c3(H(h(encArg(z0))), ENCARG(cons_h(z0))) ENCARG(cons_h(cons_k(z0, z1, z2))) -> c3(H(k(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_k(z0, z1, z2))) ENCARG(cons_k(x0, x1, cons_f(z0))) -> c4(K(encArg(x0), encArg(x1), f(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_f(z0))) ENCARG(cons_k(x0, x1, cons_h(z0))) -> c4(K(encArg(x0), encArg(x1), h(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_h(z0))) ENCARG(cons_k(x0, x1, cons_k(z0, z1, z2))) -> c4(K(encArg(x0), encArg(x1), k(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_k(z0, z1, z2))) ENCARG(cons_k(x0, cons_f(z0), x2)) -> c4(K(encArg(x0), f(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_f(z0)), ENCARG(x2)) ENCARG(cons_k(x0, cons_h(z0), x2)) -> c4(K(encArg(x0), h(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_h(z0)), ENCARG(x2)) ENCARG(cons_k(x0, cons_k(z0, z1, z2), x2)) -> c4(K(encArg(x0), k(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_k(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_k(g(z0), x1, x2)) -> c4(K(g(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(g(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(cons_f(z0), x1, x2)) -> c4(K(f(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_f(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(cons_h(z0), x1, x2)) -> c4(K(h(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_h(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(cons_k(z0, z1, z2), x1, x2)) -> c4(K(k(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_k(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(x0, x1, a)) -> c4(K(encArg(x0), encArg(x1), a), ENCARG(x0), ENCARG(x1)) ENCARG(cons_k(x0, x1, g(z0))) -> c4(ENCARG(x0), ENCARG(x1), ENCARG(g(z0))) ENCARG(cons_k(x0, a, x2)) -> c4(ENCARG(x0), ENCARG(x2)) ENCARG(cons_k(x0, g(z0), x2)) -> c4(ENCARG(x0), ENCARG(g(z0)), ENCARG(x2)) ENCARG(cons_k(a, x1, x2)) -> c4(K(a, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCODE_H(g(z0)) -> c(H(g(encArg(z0)))) ENCODE_H(cons_f(z0)) -> c(H(f(encArg(z0)))) ENCODE_H(cons_h(z0)) -> c(H(h(encArg(z0)))) ENCODE_H(cons_k(z0, z1, z2)) -> c(H(k(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_K(x0, x1, a) -> c(K(encArg(x0), encArg(x1), a)) ENCODE_K(x0, x1, cons_f(z0)) -> c(K(encArg(x0), encArg(x1), f(encArg(z0)))) ENCODE_K(x0, x1, cons_h(z0)) -> c(K(encArg(x0), encArg(x1), h(encArg(z0)))) ENCODE_K(x0, x1, cons_k(z0, z1, z2)) -> c(K(encArg(x0), encArg(x1), k(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_K(x0, cons_f(z0), x2) -> c(K(encArg(x0), f(encArg(z0)), encArg(x2))) ENCODE_K(x0, cons_h(z0), x2) -> c(K(encArg(x0), h(encArg(z0)), encArg(x2))) ENCODE_K(x0, cons_k(z0, z1, z2), x2) -> c(K(encArg(x0), k(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_K(a, x1, x2) -> c(K(a, encArg(x1), encArg(x2))) ENCODE_K(g(z0), x1, x2) -> c(K(g(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_K(cons_f(z0), x1, x2) -> c(K(f(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_K(cons_h(z0), x1, x2) -> c(K(h(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_K(cons_k(z0, z1, z2), x1, x2) -> c(K(k(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) H(g(a)) -> c13(H(g(h(a)))) H(g(z0)) -> c13 The order we found is given by the following interpretation: Polynomial interpretation : POL(ENCARG(x_1)) = x_1 POL(ENCODE_H(x_1)) = [1] + x_1 POL(ENCODE_K(x_1, x_2, x_3)) = [1] + x_1 + x_2 POL(H(x_1)) = [1] POL(K(x_1, x_2, x_3)) = [1] POL(a) = 0 POL(c(x_1)) = x_1 POL(c1(x_1)) = x_1 POL(c13) = 0 POL(c13(x_1)) = x_1 POL(c14(x_1)) = x_1 POL(c2(x_1)) = x_1 POL(c3(x_1, x_2)) = x_1 + x_2 POL(c4(x_1, x_2)) = x_1 + x_2 POL(c4(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c4(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c_f(x_1)) = [1] + x_1 POL(c_h(x_1)) = 0 POL(cons_f(x_1)) = x_1 POL(cons_h(x_1)) = [1] + x_1 POL(cons_k(x_1, x_2, x_3)) = [1] + x_1 + x_2 + x_3 POL(encArg(x_1)) = x_1 POL(f(x_1)) = 0 POL(g(x_1)) = x_1 POL(h(x_1)) = 0 POL(k(x_1, x_2, x_3)) = 0 ---------------------------------------- (54) Obligation: Complexity Dependency Tuples Problem Rules: encArg(a) -> a encArg(g(z0)) -> g(encArg(z0)) encArg(cons_f(z0)) -> f(encArg(z0)) encArg(cons_h(z0)) -> h(encArg(z0)) encArg(cons_k(z0, z1, z2)) -> k(encArg(z0), encArg(z1), encArg(z2)) f(z0) -> c_f(z0) f(a) -> g(h(a)) h(z0) -> c_h(z0) h(g(z0)) -> g(h(f(z0))) k(z0, c_h(z0), a) -> h(z0) k(c_f(z0), z1, z0) -> f(z0) Tuples: ENCARG(g(z0)) -> c1(ENCARG(z0)) K(z0, c_h(z0), a) -> c14(H(z0)) ENCARG(cons_f(g(z0))) -> c2(ENCARG(g(z0))) ENCARG(cons_f(cons_f(z0))) -> c2(ENCARG(cons_f(z0))) ENCARG(cons_f(cons_h(z0))) -> c2(ENCARG(cons_h(z0))) ENCARG(cons_f(cons_k(z0, z1, z2))) -> c2(ENCARG(cons_k(z0, z1, z2))) ENCARG(cons_h(g(z0))) -> c3(H(g(encArg(z0))), ENCARG(g(z0))) ENCARG(cons_h(cons_f(z0))) -> c3(H(f(encArg(z0))), ENCARG(cons_f(z0))) ENCARG(cons_h(cons_h(z0))) -> c3(H(h(encArg(z0))), ENCARG(cons_h(z0))) ENCARG(cons_h(cons_k(z0, z1, z2))) -> c3(H(k(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_k(z0, z1, z2))) ENCARG(cons_k(x0, x1, cons_f(z0))) -> c4(K(encArg(x0), encArg(x1), f(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_f(z0))) ENCARG(cons_k(x0, x1, cons_h(z0))) -> c4(K(encArg(x0), encArg(x1), h(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_h(z0))) ENCARG(cons_k(x0, x1, cons_k(z0, z1, z2))) -> c4(K(encArg(x0), encArg(x1), k(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_k(z0, z1, z2))) ENCARG(cons_k(x0, cons_f(z0), x2)) -> c4(K(encArg(x0), f(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_f(z0)), ENCARG(x2)) ENCARG(cons_k(x0, cons_h(z0), x2)) -> c4(K(encArg(x0), h(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_h(z0)), ENCARG(x2)) ENCARG(cons_k(x0, cons_k(z0, z1, z2), x2)) -> c4(K(encArg(x0), k(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_k(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_k(g(z0), x1, x2)) -> c4(K(g(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(g(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(cons_f(z0), x1, x2)) -> c4(K(f(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_f(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(cons_h(z0), x1, x2)) -> c4(K(h(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_h(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(cons_k(z0, z1, z2), x1, x2)) -> c4(K(k(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_k(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(x0, x1, a)) -> c4(K(encArg(x0), encArg(x1), a), ENCARG(x0), ENCARG(x1)) ENCARG(cons_k(x0, x1, g(z0))) -> c4(ENCARG(x0), ENCARG(x1), ENCARG(g(z0))) ENCARG(cons_k(x0, a, x2)) -> c4(ENCARG(x0), ENCARG(x2)) ENCARG(cons_k(x0, g(z0), x2)) -> c4(ENCARG(x0), ENCARG(g(z0)), ENCARG(x2)) ENCARG(cons_k(a, x1, x2)) -> c4(K(a, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCODE_H(g(z0)) -> c(H(g(encArg(z0)))) ENCODE_H(cons_f(z0)) -> c(H(f(encArg(z0)))) ENCODE_H(cons_h(z0)) -> c(H(h(encArg(z0)))) ENCODE_H(cons_k(z0, z1, z2)) -> c(H(k(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_K(x0, x1, a) -> c(K(encArg(x0), encArg(x1), a)) ENCODE_K(x0, x1, cons_f(z0)) -> c(K(encArg(x0), encArg(x1), f(encArg(z0)))) ENCODE_K(x0, x1, cons_h(z0)) -> c(K(encArg(x0), encArg(x1), h(encArg(z0)))) ENCODE_K(x0, x1, cons_k(z0, z1, z2)) -> c(K(encArg(x0), encArg(x1), k(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_K(x0, cons_f(z0), x2) -> c(K(encArg(x0), f(encArg(z0)), encArg(x2))) ENCODE_K(x0, cons_h(z0), x2) -> c(K(encArg(x0), h(encArg(z0)), encArg(x2))) ENCODE_K(x0, cons_k(z0, z1, z2), x2) -> c(K(encArg(x0), k(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_K(a, x1, x2) -> c(K(a, encArg(x1), encArg(x2))) ENCODE_K(g(z0), x1, x2) -> c(K(g(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_K(cons_f(z0), x1, x2) -> c(K(f(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_K(cons_h(z0), x1, x2) -> c(K(h(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_K(cons_k(z0, z1, z2), x1, x2) -> c(K(k(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) H(g(a)) -> c13(H(g(h(a)))) H(g(z0)) -> c13 S tuples: H(g(a)) -> c13(H(g(h(a)))) K tuples: K(z0, c_h(z0), a) -> c14(H(z0)) H(g(z0)) -> c13 Defined Rule Symbols: encArg_1, f_1, h_1, k_3 Defined Pair Symbols: ENCARG_1, K_3, ENCODE_H_1, ENCODE_K_3, H_1 Compound Symbols: c1_1, c14_1, c2_1, c3_2, c4_4, c4_3, c4_2, c_1, c13_1, c13 ---------------------------------------- (55) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. H(g(a)) -> c13(H(g(h(a)))) We considered the (Usable) Rules: f(z0) -> c_f(z0) h(z0) -> c_h(z0) h(g(z0)) -> g(h(f(z0))) f(a) -> g(h(a)) encArg(cons_f(z0)) -> f(encArg(z0)) k(c_f(z0), z1, z0) -> f(z0) encArg(cons_h(z0)) -> h(encArg(z0)) encArg(a) -> a encArg(g(z0)) -> g(encArg(z0)) encArg(cons_k(z0, z1, z2)) -> k(encArg(z0), encArg(z1), encArg(z2)) k(z0, c_h(z0), a) -> h(z0) And the Tuples: ENCARG(g(z0)) -> c1(ENCARG(z0)) K(z0, c_h(z0), a) -> c14(H(z0)) ENCARG(cons_f(g(z0))) -> c2(ENCARG(g(z0))) ENCARG(cons_f(cons_f(z0))) -> c2(ENCARG(cons_f(z0))) ENCARG(cons_f(cons_h(z0))) -> c2(ENCARG(cons_h(z0))) ENCARG(cons_f(cons_k(z0, z1, z2))) -> c2(ENCARG(cons_k(z0, z1, z2))) ENCARG(cons_h(g(z0))) -> c3(H(g(encArg(z0))), ENCARG(g(z0))) ENCARG(cons_h(cons_f(z0))) -> c3(H(f(encArg(z0))), ENCARG(cons_f(z0))) ENCARG(cons_h(cons_h(z0))) -> c3(H(h(encArg(z0))), ENCARG(cons_h(z0))) ENCARG(cons_h(cons_k(z0, z1, z2))) -> c3(H(k(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_k(z0, z1, z2))) ENCARG(cons_k(x0, x1, cons_f(z0))) -> c4(K(encArg(x0), encArg(x1), f(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_f(z0))) ENCARG(cons_k(x0, x1, cons_h(z0))) -> c4(K(encArg(x0), encArg(x1), h(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_h(z0))) ENCARG(cons_k(x0, x1, cons_k(z0, z1, z2))) -> c4(K(encArg(x0), encArg(x1), k(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_k(z0, z1, z2))) ENCARG(cons_k(x0, cons_f(z0), x2)) -> c4(K(encArg(x0), f(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_f(z0)), ENCARG(x2)) ENCARG(cons_k(x0, cons_h(z0), x2)) -> c4(K(encArg(x0), h(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_h(z0)), ENCARG(x2)) ENCARG(cons_k(x0, cons_k(z0, z1, z2), x2)) -> c4(K(encArg(x0), k(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_k(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_k(g(z0), x1, x2)) -> c4(K(g(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(g(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(cons_f(z0), x1, x2)) -> c4(K(f(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_f(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(cons_h(z0), x1, x2)) -> c4(K(h(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_h(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(cons_k(z0, z1, z2), x1, x2)) -> c4(K(k(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_k(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(x0, x1, a)) -> c4(K(encArg(x0), encArg(x1), a), ENCARG(x0), ENCARG(x1)) ENCARG(cons_k(x0, x1, g(z0))) -> c4(ENCARG(x0), ENCARG(x1), ENCARG(g(z0))) ENCARG(cons_k(x0, a, x2)) -> c4(ENCARG(x0), ENCARG(x2)) ENCARG(cons_k(x0, g(z0), x2)) -> c4(ENCARG(x0), ENCARG(g(z0)), ENCARG(x2)) ENCARG(cons_k(a, x1, x2)) -> c4(K(a, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCODE_H(g(z0)) -> c(H(g(encArg(z0)))) ENCODE_H(cons_f(z0)) -> c(H(f(encArg(z0)))) ENCODE_H(cons_h(z0)) -> c(H(h(encArg(z0)))) ENCODE_H(cons_k(z0, z1, z2)) -> c(H(k(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_K(x0, x1, a) -> c(K(encArg(x0), encArg(x1), a)) ENCODE_K(x0, x1, cons_f(z0)) -> c(K(encArg(x0), encArg(x1), f(encArg(z0)))) ENCODE_K(x0, x1, cons_h(z0)) -> c(K(encArg(x0), encArg(x1), h(encArg(z0)))) ENCODE_K(x0, x1, cons_k(z0, z1, z2)) -> c(K(encArg(x0), encArg(x1), k(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_K(x0, cons_f(z0), x2) -> c(K(encArg(x0), f(encArg(z0)), encArg(x2))) ENCODE_K(x0, cons_h(z0), x2) -> c(K(encArg(x0), h(encArg(z0)), encArg(x2))) ENCODE_K(x0, cons_k(z0, z1, z2), x2) -> c(K(encArg(x0), k(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_K(a, x1, x2) -> c(K(a, encArg(x1), encArg(x2))) ENCODE_K(g(z0), x1, x2) -> c(K(g(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_K(cons_f(z0), x1, x2) -> c(K(f(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_K(cons_h(z0), x1, x2) -> c(K(h(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_K(cons_k(z0, z1, z2), x1, x2) -> c(K(k(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) H(g(a)) -> c13(H(g(h(a)))) H(g(z0)) -> c13 The order we found is given by the following interpretation: Polynomial interpretation : POL(ENCARG(x_1)) = x_1 POL(ENCODE_H(x_1)) = [1] POL(ENCODE_K(x_1, x_2, x_3)) = [1] + x_1 + x_2 + x_3 POL(H(x_1)) = x_1 POL(K(x_1, x_2, x_3)) = x_1 POL(a) = [1] POL(c(x_1)) = x_1 POL(c1(x_1)) = x_1 POL(c13) = 0 POL(c13(x_1)) = x_1 POL(c14(x_1)) = x_1 POL(c2(x_1)) = x_1 POL(c3(x_1, x_2)) = x_1 + x_2 POL(c4(x_1, x_2)) = x_1 + x_2 POL(c4(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c4(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c_f(x_1)) = x_1 POL(c_h(x_1)) = 0 POL(cons_f(x_1)) = [1] + x_1 POL(cons_h(x_1)) = [1] + x_1 POL(cons_k(x_1, x_2, x_3)) = [1] + x_1 + x_2 + x_3 POL(encArg(x_1)) = [1] POL(f(x_1)) = x_1 POL(g(x_1)) = x_1 POL(h(x_1)) = 0 POL(k(x_1, x_2, x_3)) = x_1 ---------------------------------------- (56) Obligation: Complexity Dependency Tuples Problem Rules: encArg(a) -> a encArg(g(z0)) -> g(encArg(z0)) encArg(cons_f(z0)) -> f(encArg(z0)) encArg(cons_h(z0)) -> h(encArg(z0)) encArg(cons_k(z0, z1, z2)) -> k(encArg(z0), encArg(z1), encArg(z2)) f(z0) -> c_f(z0) f(a) -> g(h(a)) h(z0) -> c_h(z0) h(g(z0)) -> g(h(f(z0))) k(z0, c_h(z0), a) -> h(z0) k(c_f(z0), z1, z0) -> f(z0) Tuples: ENCARG(g(z0)) -> c1(ENCARG(z0)) K(z0, c_h(z0), a) -> c14(H(z0)) ENCARG(cons_f(g(z0))) -> c2(ENCARG(g(z0))) ENCARG(cons_f(cons_f(z0))) -> c2(ENCARG(cons_f(z0))) ENCARG(cons_f(cons_h(z0))) -> c2(ENCARG(cons_h(z0))) ENCARG(cons_f(cons_k(z0, z1, z2))) -> c2(ENCARG(cons_k(z0, z1, z2))) ENCARG(cons_h(g(z0))) -> c3(H(g(encArg(z0))), ENCARG(g(z0))) ENCARG(cons_h(cons_f(z0))) -> c3(H(f(encArg(z0))), ENCARG(cons_f(z0))) ENCARG(cons_h(cons_h(z0))) -> c3(H(h(encArg(z0))), ENCARG(cons_h(z0))) ENCARG(cons_h(cons_k(z0, z1, z2))) -> c3(H(k(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_k(z0, z1, z2))) ENCARG(cons_k(x0, x1, cons_f(z0))) -> c4(K(encArg(x0), encArg(x1), f(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_f(z0))) ENCARG(cons_k(x0, x1, cons_h(z0))) -> c4(K(encArg(x0), encArg(x1), h(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_h(z0))) ENCARG(cons_k(x0, x1, cons_k(z0, z1, z2))) -> c4(K(encArg(x0), encArg(x1), k(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_k(z0, z1, z2))) ENCARG(cons_k(x0, cons_f(z0), x2)) -> c4(K(encArg(x0), f(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_f(z0)), ENCARG(x2)) ENCARG(cons_k(x0, cons_h(z0), x2)) -> c4(K(encArg(x0), h(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_h(z0)), ENCARG(x2)) ENCARG(cons_k(x0, cons_k(z0, z1, z2), x2)) -> c4(K(encArg(x0), k(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_k(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_k(g(z0), x1, x2)) -> c4(K(g(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(g(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(cons_f(z0), x1, x2)) -> c4(K(f(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_f(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(cons_h(z0), x1, x2)) -> c4(K(h(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_h(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(cons_k(z0, z1, z2), x1, x2)) -> c4(K(k(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_k(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_k(x0, x1, a)) -> c4(K(encArg(x0), encArg(x1), a), ENCARG(x0), ENCARG(x1)) ENCARG(cons_k(x0, x1, g(z0))) -> c4(ENCARG(x0), ENCARG(x1), ENCARG(g(z0))) ENCARG(cons_k(x0, a, x2)) -> c4(ENCARG(x0), ENCARG(x2)) ENCARG(cons_k(x0, g(z0), x2)) -> c4(ENCARG(x0), ENCARG(g(z0)), ENCARG(x2)) ENCARG(cons_k(a, x1, x2)) -> c4(K(a, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCODE_H(g(z0)) -> c(H(g(encArg(z0)))) ENCODE_H(cons_f(z0)) -> c(H(f(encArg(z0)))) ENCODE_H(cons_h(z0)) -> c(H(h(encArg(z0)))) ENCODE_H(cons_k(z0, z1, z2)) -> c(H(k(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_K(x0, x1, a) -> c(K(encArg(x0), encArg(x1), a)) ENCODE_K(x0, x1, cons_f(z0)) -> c(K(encArg(x0), encArg(x1), f(encArg(z0)))) ENCODE_K(x0, x1, cons_h(z0)) -> c(K(encArg(x0), encArg(x1), h(encArg(z0)))) ENCODE_K(x0, x1, cons_k(z0, z1, z2)) -> c(K(encArg(x0), encArg(x1), k(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_K(x0, cons_f(z0), x2) -> c(K(encArg(x0), f(encArg(z0)), encArg(x2))) ENCODE_K(x0, cons_h(z0), x2) -> c(K(encArg(x0), h(encArg(z0)), encArg(x2))) ENCODE_K(x0, cons_k(z0, z1, z2), x2) -> c(K(encArg(x0), k(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_K(a, x1, x2) -> c(K(a, encArg(x1), encArg(x2))) ENCODE_K(g(z0), x1, x2) -> c(K(g(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_K(cons_f(z0), x1, x2) -> c(K(f(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_K(cons_h(z0), x1, x2) -> c(K(h(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_K(cons_k(z0, z1, z2), x1, x2) -> c(K(k(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) H(g(a)) -> c13(H(g(h(a)))) H(g(z0)) -> c13 S tuples:none K tuples: K(z0, c_h(z0), a) -> c14(H(z0)) H(g(z0)) -> c13 H(g(a)) -> c13(H(g(h(a)))) Defined Rule Symbols: encArg_1, f_1, h_1, k_3 Defined Pair Symbols: ENCARG_1, K_3, ENCODE_H_1, ENCODE_K_3, H_1 Compound Symbols: c1_1, c14_1, c2_1, c3_2, c4_4, c4_3, c4_2, c_1, c13_1, c13 ---------------------------------------- (57) SIsEmptyProof (BOTH BOUNDS(ID, ID)) The set S is empty ---------------------------------------- (58) BOUNDS(1, 1)