/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 (innermost) 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), 174 ms] (4) CpxRelTRS (5) CpxTrsToCdtProof [UPPER BOUND(ID), 0 ms] (6) CdtProblem (7) CdtLeafRemovalProof [ComplexityIfPolyImplication, 0 ms] (8) CdtProblem (9) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (10) CdtProblem (11) CdtGraphSplitRhsProof [BOTH BOUNDS(ID, ID), 0 ms] (12) CdtProblem (13) CdtLeafRemovalProof [ComplexityIfPolyImplication, 0 ms] (14) CdtProblem (15) CdtUsableRulesProof [BOTH BOUNDS(ID, ID), 0 ms] (16) CdtProblem (17) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 101 ms] (18) CdtProblem (19) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 42 ms] (20) CdtProblem (21) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 40 ms] (22) CdtProblem (23) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (24) CdtProblem (25) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (26) CdtProblem (27) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (28) CdtProblem (29) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (30) CdtProblem (31) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (32) CdtProblem (33) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (34) CdtProblem (35) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (36) CdtProblem (37) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (38) CdtProblem (39) CdtLeafRemovalProof [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) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (48) CdtProblem (49) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 79 ms] (50) CdtProblem (51) SIsEmptyProof [BOTH BOUNDS(ID, ID), 0 ms] (52) BOUNDS(1, 1) ---------------------------------------- (0) Obligation: The Derivational Complexity (innermost) 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: INNERMOST ---------------------------------------- (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 (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, 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: INNERMOST ---------------------------------------- (3) SInnermostTerminationProof (BOTH CONCRETE BOUNDS(ID, ID)) proved innermost termination of relative rules ---------------------------------------- (4) 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, 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: INNERMOST ---------------------------------------- (5) CpxTrsToCdtProof (UPPER BOUND(ID)) Converted Cpx (relative) TRS to CDT ---------------------------------------- (6) 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(a) -> g(h(a)) h(g(z0)) -> g(h(f(z0))) k(z0, h(z0), a) -> h(z0) k(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(a) -> c10(H(a)) H(g(z0)) -> c11(H(f(z0)), F(z0)) K(z0, h(z0), a) -> c12(H(z0)) K(f(z0), z1, z0) -> c13(F(z0)) S tuples: F(a) -> c10(H(a)) H(g(z0)) -> c11(H(f(z0)), F(z0)) K(z0, h(z0), a) -> c12(H(z0)) K(f(z0), z1, z0) -> c13(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_1, c11_2, c12_1, c13_1 ---------------------------------------- (7) CdtLeafRemovalProof (ComplexityIfPolyImplication) Removed 1 leading nodes: ENCODE_G(z0) -> c7(ENCARG(z0)) Removed 2 trailing nodes: ENCODE_A -> c6 ENCARG(a) -> c ---------------------------------------- (8) 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(a) -> g(h(a)) h(g(z0)) -> g(h(f(z0))) k(z0, h(z0), a) -> h(z0) k(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) -> c10(H(a)) H(g(z0)) -> c11(H(f(z0)), F(z0)) K(z0, h(z0), a) -> c12(H(z0)) K(f(z0), z1, z0) -> c13(F(z0)) S tuples: F(a) -> c10(H(a)) H(g(z0)) -> c11(H(f(z0)), F(z0)) K(z0, h(z0), a) -> c12(H(z0)) K(f(z0), z1, z0) -> c13(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, c10_1, c11_2, c12_1, c13_1 ---------------------------------------- (9) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (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(a) -> g(h(a)) h(g(z0)) -> g(h(f(z0))) k(z0, h(z0), a) -> h(z0) k(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)) -> c11(H(f(z0)), F(z0)) K(z0, h(z0), a) -> c12(H(z0)) K(f(z0), z1, z0) -> c13(F(z0)) F(a) -> c10 S tuples: H(g(z0)) -> c11(H(f(z0)), F(z0)) K(z0, h(z0), a) -> c12(H(z0)) K(f(z0), z1, z0) -> c13(F(z0)) F(a) -> c10 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, c11_2, c12_1, c13_1, c10 ---------------------------------------- (11) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID)) Split RHS of tuples not part of any SCC ---------------------------------------- (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(a) -> g(h(a)) h(g(z0)) -> g(h(f(z0))) k(z0, h(z0), a) -> h(z0) k(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)) -> c11(H(f(z0)), F(z0)) K(z0, h(z0), a) -> c12(H(z0)) K(f(z0), z1, z0) -> c13(F(z0)) F(a) -> c10 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)) -> c11(H(f(z0)), F(z0)) K(z0, h(z0), a) -> c12(H(z0)) K(f(z0), z1, z0) -> c13(F(z0)) F(a) -> c10 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, c11_2, c12_1, c13_1, c10, c_1 ---------------------------------------- (13) 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)) ---------------------------------------- (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(a) -> g(h(a)) h(g(z0)) -> g(h(f(z0))) k(z0, h(z0), a) -> h(z0) k(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)) -> c11(H(f(z0)), F(z0)) K(z0, h(z0), a) -> c12(H(z0)) K(f(z0), z1, z0) -> c13(F(z0)) F(a) -> c10 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)) -> c11(H(f(z0)), F(z0)) K(z0, h(z0), a) -> c12(H(z0)) K(f(z0), z1, z0) -> c13(F(z0)) F(a) -> c10 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, c11_2, c12_1, c13_1, c10, c_1 ---------------------------------------- (15) 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)) ---------------------------------------- (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)) f(a) -> g(h(a)) h(g(z0)) -> g(h(f(z0))) k(z0, h(z0), a) -> h(z0) k(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)) -> c11(H(f(z0)), F(z0)) K(z0, h(z0), a) -> c12(H(z0)) K(f(z0), z1, z0) -> c13(F(z0)) F(a) -> c10 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)) -> c11(H(f(z0)), F(z0)) K(z0, h(z0), a) -> c12(H(z0)) K(f(z0), z1, z0) -> c13(F(z0)) F(a) -> c10 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, c11_2, c12_1, c13_1, c10, c_1 ---------------------------------------- (17) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. K(f(z0), z1, z0) -> c13(F(z0)) We considered the (Usable) Rules: h(g(z0)) -> g(h(f(z0))) f(a) -> g(h(a)) k(z0, h(z0), a) -> h(z0) encArg(cons_f(z0)) -> f(encArg(z0)) k(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)) 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)) -> c11(H(f(z0)), F(z0)) K(z0, h(z0), a) -> c12(H(z0)) K(f(z0), z1, z0) -> c13(F(z0)) F(a) -> c10 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(c10) = 0 POL(c11(x_1, x_2)) = x_1 + x_2 POL(c12(x_1)) = x_1 POL(c13(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(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] ---------------------------------------- (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)) f(a) -> g(h(a)) h(g(z0)) -> g(h(f(z0))) k(z0, h(z0), a) -> h(z0) k(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)) -> c11(H(f(z0)), F(z0)) K(z0, h(z0), a) -> c12(H(z0)) K(f(z0), z1, z0) -> c13(F(z0)) F(a) -> c10 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)) -> c11(H(f(z0)), F(z0)) K(z0, h(z0), a) -> c12(H(z0)) F(a) -> c10 K tuples: K(f(z0), z1, z0) -> c13(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, c11_2, c12_1, c13_1, c10, c_1 ---------------------------------------- (19) 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, h(z0), a) -> c12(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)) -> c11(H(f(z0)), F(z0)) K(z0, h(z0), a) -> c12(H(z0)) K(f(z0), z1, z0) -> c13(F(z0)) F(a) -> c10 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(c10) = 0 POL(c11(x_1, x_2)) = x_1 + x_2 POL(c12(x_1)) = x_1 POL(c13(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(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 ---------------------------------------- (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(a) -> g(h(a)) h(g(z0)) -> g(h(f(z0))) k(z0, h(z0), a) -> h(z0) k(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)) -> c11(H(f(z0)), F(z0)) K(z0, h(z0), a) -> c12(H(z0)) K(f(z0), z1, z0) -> c13(F(z0)) F(a) -> c10 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)) -> c11(H(f(z0)), F(z0)) F(a) -> c10 K tuples: K(f(z0), z1, z0) -> c13(F(z0)) K(z0, h(z0), a) -> c12(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, c11_2, c12_1, c13_1, c10, 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. F(a) -> c10 We considered the (Usable) Rules: h(g(z0)) -> g(h(f(z0))) f(a) -> g(h(a)) k(z0, h(z0), a) -> h(z0) encArg(cons_f(z0)) -> f(encArg(z0)) k(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)) 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)) -> c11(H(f(z0)), F(z0)) K(z0, h(z0), a) -> c12(H(z0)) K(f(z0), z1, z0) -> c13(F(z0)) F(a) -> c10 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)) = [1] POL(ENCODE_H(x_1)) = [1] POL(ENCODE_K(x_1, x_2, x_3)) = [3] POL(F(x_1)) = x_1 POL(H(x_1)) = x_1 POL(K(x_1, x_2, x_3)) = x_1 + [2]x_3 POL(a) = [1] POL(c(x_1)) = x_1 POL(c1(x_1)) = x_1 POL(c10) = 0 POL(c11(x_1, x_2)) = x_1 + x_2 POL(c12(x_1)) = x_1 POL(c13(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(cons_f(x_1)) = [2] + x_1 POL(cons_h(x_1)) = [1] + x_1 POL(cons_k(x_1, x_2, x_3)) = [3] + 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 ---------------------------------------- (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(a) -> g(h(a)) h(g(z0)) -> g(h(f(z0))) k(z0, h(z0), a) -> h(z0) k(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)) -> c11(H(f(z0)), F(z0)) K(z0, h(z0), a) -> c12(H(z0)) K(f(z0), z1, z0) -> c13(F(z0)) F(a) -> c10 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)) -> c11(H(f(z0)), F(z0)) K tuples: K(f(z0), z1, z0) -> c13(F(z0)) K(z0, h(z0), a) -> c12(H(z0)) F(a) -> c10 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, c11_2, c12_1, c13_1, c10, c_1 ---------------------------------------- (23) 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))) ---------------------------------------- (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(a) -> g(h(a)) h(g(z0)) -> g(h(f(z0))) k(z0, h(z0), a) -> h(z0) k(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)) -> c11(H(f(z0)), F(z0)) K(z0, h(z0), a) -> c12(H(z0)) K(f(z0), z1, z0) -> c13(F(z0)) F(a) -> c10 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)) -> c11(H(f(z0)), F(z0)) K tuples: K(f(z0), z1, z0) -> c13(F(z0)) K(z0, h(z0), a) -> c12(H(z0)) F(a) -> c10 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, c11_2, c12_1, c13_1, c10, c_1, c2_2 ---------------------------------------- (25) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing nodes: K(f(z0), z1, z0) -> c13(F(z0)) F(a) -> c10 ENCARG(cons_f(a)) -> c2(F(a), ENCARG(a)) ENCODE_F(z0) -> c(F(encArg(z0))) ---------------------------------------- (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(a) -> g(h(a)) h(g(z0)) -> g(h(f(z0))) k(z0, h(z0), a) -> h(z0) k(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)) -> c11(H(f(z0)), F(z0)) K(z0, h(z0), a) -> c12(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)) -> c11(H(f(z0)), F(z0)) K tuples: K(z0, h(z0), a) -> c12(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, c11_2, c12_1, c_1, c2_2 ---------------------------------------- (27) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 5 trailing tuple parts ---------------------------------------- (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(a) -> g(h(a)) h(g(z0)) -> g(h(f(z0))) k(z0, h(z0), a) -> h(z0) k(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, h(z0), a) -> c12(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)) -> c11(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)) -> c11(H(f(z0))) K tuples: K(z0, h(z0), a) -> c12(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, c12_1, c_1, c11_1, c2_1 ---------------------------------------- (29) 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))) ---------------------------------------- (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(a) -> g(h(a)) h(g(z0)) -> g(h(f(z0))) k(z0, h(z0), a) -> h(z0) k(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, h(z0), a) -> c12(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)) -> c11(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)) -> c11(H(f(z0))) K tuples: K(z0, h(z0), a) -> c12(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, c12_1, c_1, c11_1, c2_1, c3_2 ---------------------------------------- (31) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: ENCARG(cons_h(a)) -> c3(H(a), ENCARG(a)) ---------------------------------------- (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(a) -> g(h(a)) h(g(z0)) -> g(h(f(z0))) k(z0, h(z0), a) -> h(z0) k(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, h(z0), a) -> c12(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)) -> c11(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)) -> c11(H(f(z0))) K tuples: K(z0, h(z0), a) -> c12(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, c12_1, c_1, c11_1, c2_1, c3_2 ---------------------------------------- (33) 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)) ---------------------------------------- (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(a) -> g(h(a)) h(g(z0)) -> g(h(f(z0))) k(z0, h(z0), a) -> h(z0) k(f(z0), z1, z0) -> f(z0) Tuples: ENCARG(g(z0)) -> c1(ENCARG(z0)) K(z0, h(z0), a) -> c12(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)) -> c11(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)) -> c11(H(f(z0))) K tuples: K(z0, h(z0), a) -> c12(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, c12_1, c_1, c11_1, c2_1, c3_2, c4_4 ---------------------------------------- (35) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 7 trailing tuple parts ---------------------------------------- (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(a) -> g(h(a)) h(g(z0)) -> g(h(f(z0))) k(z0, h(z0), a) -> h(z0) k(f(z0), z1, z0) -> f(z0) Tuples: ENCARG(g(z0)) -> c1(ENCARG(z0)) K(z0, h(z0), a) -> c12(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)) -> c11(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(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)) ENCARG(cons_k(g(z0), x1, x2)) -> c4(ENCARG(g(z0)), ENCARG(x1), ENCARG(x2)) S tuples: H(g(z0)) -> c11(H(f(z0))) K tuples: K(z0, h(z0), a) -> c12(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, c12_1, c_1, c11_1, c2_1, c3_2, c4_4, c4_3, c4_2 ---------------------------------------- (37) 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)))) ---------------------------------------- (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(a) -> g(h(a)) h(g(z0)) -> g(h(f(z0))) k(z0, h(z0), a) -> h(z0) k(f(z0), z1, z0) -> f(z0) Tuples: ENCARG(g(z0)) -> c1(ENCARG(z0)) K(z0, h(z0), a) -> c12(H(z0)) ENCODE_K(z0, z1, z2) -> c(K(encArg(z0), encArg(z1), encArg(z2))) H(g(z0)) -> c11(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(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)) ENCARG(cons_k(g(z0), x1, x2)) -> c4(ENCARG(g(z0)), 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)) -> c11(H(f(z0))) K tuples: K(z0, h(z0), a) -> c12(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, c12_1, c_1, c11_1, c2_1, c3_2, c4_4, c4_3, c4_2 ---------------------------------------- (39) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: ENCODE_H(a) -> c(H(a)) ---------------------------------------- (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(a) -> g(h(a)) h(g(z0)) -> g(h(f(z0))) k(z0, h(z0), a) -> h(z0) k(f(z0), z1, z0) -> f(z0) Tuples: ENCARG(g(z0)) -> c1(ENCARG(z0)) K(z0, h(z0), a) -> c12(H(z0)) ENCODE_K(z0, z1, z2) -> c(K(encArg(z0), encArg(z1), encArg(z2))) H(g(z0)) -> c11(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(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)) ENCARG(cons_k(g(z0), x1, x2)) -> c4(ENCARG(g(z0)), 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)) -> c11(H(f(z0))) K tuples: K(z0, h(z0), a) -> c12(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, c12_1, c_1, c11_1, c2_1, c3_2, c4_4, c4_3, c4_2 ---------------------------------------- (41) 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))) ---------------------------------------- (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(a) -> g(h(a)) h(g(z0)) -> g(h(f(z0))) k(z0, h(z0), a) -> h(z0) k(f(z0), z1, z0) -> f(z0) Tuples: ENCARG(g(z0)) -> c1(ENCARG(z0)) K(z0, h(z0), a) -> c12(H(z0)) H(g(z0)) -> c11(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(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)) ENCARG(cons_k(g(z0), x1, x2)) -> c4(ENCARG(g(z0)), 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)) -> c11(H(f(z0))) K tuples: K(z0, h(z0), a) -> c12(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, c12_1, c11_1, c2_1, c3_2, c4_4, c4_3, c4_2, c_1 ---------------------------------------- (43) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing nodes: ENCODE_K(x0, x1, g(z0)) -> c(K(encArg(x0), encArg(x1), g(encArg(z0)))) ENCODE_K(g(z0), x1, x2) -> c(K(g(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_K(x0, g(z0), x2) -> c(K(encArg(x0), g(encArg(z0)), encArg(x2))) ENCODE_K(x0, a, x2) -> c(K(encArg(x0), a, encArg(x2))) ---------------------------------------- (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(a) -> g(h(a)) h(g(z0)) -> g(h(f(z0))) k(z0, h(z0), a) -> h(z0) k(f(z0), z1, z0) -> f(z0) Tuples: ENCARG(g(z0)) -> c1(ENCARG(z0)) K(z0, h(z0), a) -> c12(H(z0)) H(g(z0)) -> c11(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(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)) ENCARG(cons_k(g(z0), x1, x2)) -> c4(ENCARG(g(z0)), 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(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)) -> c11(H(f(z0))) K tuples: K(z0, h(z0), a) -> c12(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, c12_1, c11_1, c2_1, c3_2, c4_4, c4_3, c4_2, c_1 ---------------------------------------- (45) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace H(g(z0)) -> c11(H(f(z0))) by H(g(a)) -> c11(H(g(h(a)))) ---------------------------------------- (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(a) -> g(h(a)) h(g(z0)) -> g(h(f(z0))) k(z0, h(z0), a) -> h(z0) k(f(z0), z1, z0) -> f(z0) Tuples: ENCARG(g(z0)) -> c1(ENCARG(z0)) K(z0, h(z0), a) -> c12(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(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)) ENCARG(cons_k(g(z0), x1, x2)) -> c4(ENCARG(g(z0)), 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(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)) -> c11(H(g(h(a)))) S tuples: H(g(a)) -> c11(H(g(h(a)))) K tuples: K(z0, h(z0), a) -> c12(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, c12_1, c2_1, c3_2, c4_4, c4_3, c4_2, c_1, c11_1 ---------------------------------------- (47) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (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(a) -> g(h(a)) h(g(z0)) -> g(h(f(z0))) k(z0, h(z0), a) -> h(z0) k(f(z0), z1, z0) -> f(z0) Tuples: ENCARG(g(z0)) -> c1(ENCARG(z0)) K(z0, h(z0), a) -> c12(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(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)) ENCARG(cons_k(g(z0), x1, x2)) -> c4(ENCARG(g(z0)), 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(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)) -> c11 S tuples: H(g(a)) -> c11 K tuples: K(z0, h(z0), a) -> c12(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, c12_1, c2_1, c3_2, c4_4, c4_3, c4_2, c_1, c11 ---------------------------------------- (49) 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)) -> c11 We considered the (Usable) Rules:none And the Tuples: ENCARG(g(z0)) -> c1(ENCARG(z0)) K(z0, h(z0), a) -> c12(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(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)) ENCARG(cons_k(g(z0), x1, x2)) -> c4(ENCARG(g(z0)), 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(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)) -> c11 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 + x_3 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(c11) = 0 POL(c12(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(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 ---------------------------------------- (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(a) -> g(h(a)) h(g(z0)) -> g(h(f(z0))) k(z0, h(z0), a) -> h(z0) k(f(z0), z1, z0) -> f(z0) Tuples: ENCARG(g(z0)) -> c1(ENCARG(z0)) K(z0, h(z0), a) -> c12(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(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)) ENCARG(cons_k(g(z0), x1, x2)) -> c4(ENCARG(g(z0)), 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(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)) -> c11 S tuples:none K tuples: K(z0, h(z0), a) -> c12(H(z0)) H(g(a)) -> c11 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, c12_1, c2_1, c3_2, c4_4, c4_3, c4_2, c_1, c11 ---------------------------------------- (51) SIsEmptyProof (BOTH BOUNDS(ID, ID)) The set S is empty ---------------------------------------- (52) BOUNDS(1, 1)