WORST_CASE(NON_POLY,?) proof of input_O0wPRKcPtJ.trs # AProVE Commit ID: aff8ecad908e01718a4c36e68d2e55d5e0f16e15 fuhs 20220216 unpublished The Runtime Complexity (parallel-innermost) of the given CpxTRS could be proven to be BOUNDS(EXP, INF). (0) CpxTRS (1) CpxTrsToCdtProof [BOTH BOUNDS(ID, ID), 0 ms] (2) CdtProblem (3) CdtToCpxRelTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (4) CpxRelTRS (5) RenamingProof [BOTH BOUNDS(ID, ID), 0 ms] (6) CpxRelTRS (7) TypeInferenceProof [BOTH BOUNDS(ID, ID), 8 ms] (8) typed CpxTrs (9) OrderProof [LOWER BOUND(ID), 0 ms] (10) typed CpxTrs (11) RewriteLemmaProof [LOWER BOUND(ID), 356 ms] (12) BEST (13) proven lower bound (14) LowerBoundPropagationProof [FINISHED, 0 ms] (15) BOUNDS(n^1, INF) (16) typed CpxTrs (17) RewriteLemmaProof [LOWER BOUND(ID), 1781 ms] (18) typed CpxTrs (19) RewriteLemmaProof [FINISHED, 333 ms] (20) BOUNDS(EXP, INF) ---------------------------------------- (0) Obligation: The Runtime Complexity (parallel-innermost) of the given CpxTRS could be proven to be BOUNDS(EXP, INF). The TRS R consists of the following rules: -(x, 0) -> x -(s(x), s(y)) -> -(x, y) +(0, y) -> y +(s(x), y) -> s(+(x, y)) *(x, 0) -> 0 *(x, s(y)) -> +(x, *(x, y)) f(s(x), y) -> f(-(*(s(x), s(y)), s(*(s(x), y))), *(y, y)) S is empty. Rewrite Strategy: PARALLEL_INNERMOST ---------------------------------------- (1) CpxTrsToCdtProof (BOTH BOUNDS(ID, ID)) Converted Cpx (relative) TRS with rewrite strategy PARALLEL_INNERMOST to CDT ---------------------------------------- (2) Obligation: Complexity Dependency Tuples Problem Rules: -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) f(s(z0), z1) -> f(-(*(s(z0), s(z1)), s(*(s(z0), z1))), *(z1, z1)) Tuples: -'(z0, 0) -> c -'(s(z0), s(z1)) -> c1(-'(z0, z1)) +'(0, z0) -> c2 +'(s(z0), z1) -> c3(+'(z0, z1)) *'(z0, 0) -> c4 *'(z0, s(z1)) -> c5(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), z1) -> c6(F(-(*(s(z0), s(z1)), s(*(s(z0), z1))), *(z1, z1)), -'(*(s(z0), s(z1)), s(*(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), z1) -> c7(F(-(*(s(z0), s(z1)), s(*(s(z0), z1))), *(z1, z1)), -'(*(s(z0), s(z1)), s(*(s(z0), z1))), *'(s(z0), z1)) F(s(z0), z1) -> c8(F(-(*(s(z0), s(z1)), s(*(s(z0), z1))), *(z1, z1)), *'(z1, z1)) S tuples: -'(z0, 0) -> c -'(s(z0), s(z1)) -> c1(-'(z0, z1)) +'(0, z0) -> c2 +'(s(z0), z1) -> c3(+'(z0, z1)) *'(z0, 0) -> c4 *'(z0, s(z1)) -> c5(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), z1) -> c6(F(-(*(s(z0), s(z1)), s(*(s(z0), z1))), *(z1, z1)), -'(*(s(z0), s(z1)), s(*(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), z1) -> c7(F(-(*(s(z0), s(z1)), s(*(s(z0), z1))), *(z1, z1)), -'(*(s(z0), s(z1)), s(*(s(z0), z1))), *'(s(z0), z1)) F(s(z0), z1) -> c8(F(-(*(s(z0), s(z1)), s(*(s(z0), z1))), *(z1, z1)), *'(z1, z1)) K tuples:none Defined Rule Symbols: -_2, +_2, *_2, f_2 Defined Pair Symbols: -'_2, +'_2, *'_2, F_2 Compound Symbols: c, c1_1, c2, c3_1, c4, c5_2, c6_3, c7_3, c8_2 ---------------------------------------- (3) CdtToCpxRelTrsProof (BOTH BOUNDS(ID, ID)) Converted S to standard rules, and D \ S as well as R to relative rules. ---------------------------------------- (4) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(EXP, INF). The TRS R consists of the following rules: -'(z0, 0) -> c -'(s(z0), s(z1)) -> c1(-'(z0, z1)) +'(0, z0) -> c2 +'(s(z0), z1) -> c3(+'(z0, z1)) *'(z0, 0) -> c4 *'(z0, s(z1)) -> c5(+'(z0, *(z0, z1)), *'(z0, z1)) F(s(z0), z1) -> c6(F(-(*(s(z0), s(z1)), s(*(s(z0), z1))), *(z1, z1)), -'(*(s(z0), s(z1)), s(*(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), z1) -> c7(F(-(*(s(z0), s(z1)), s(*(s(z0), z1))), *(z1, z1)), -'(*(s(z0), s(z1)), s(*(s(z0), z1))), *'(s(z0), z1)) F(s(z0), z1) -> c8(F(-(*(s(z0), s(z1)), s(*(s(z0), z1))), *(z1, z1)), *'(z1, z1)) The (relative) TRS S consists of the following rules: -(z0, 0) -> z0 -(s(z0), s(z1)) -> -(z0, z1) +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) *(z0, 0) -> 0 *(z0, s(z1)) -> +(z0, *(z0, z1)) f(s(z0), z1) -> f(-(*(s(z0), s(z1)), s(*(s(z0), z1))), *(z1, z1)) Rewrite Strategy: INNERMOST ---------------------------------------- (5) RenamingProof (BOTH BOUNDS(ID, ID)) Renamed function symbols to avoid clashes with predefined symbol. ---------------------------------------- (6) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(EXP, INF). The TRS R consists of the following rules: -'(z0, 0') -> c -'(s(z0), s(z1)) -> c1(-'(z0, z1)) +'(0', z0) -> c2 +'(s(z0), z1) -> c3(+'(z0, z1)) *'(z0, 0') -> c4 *'(z0, s(z1)) -> c5(+'(z0, *'(z0, z1)), *'(z0, z1)) F(s(z0), z1) -> c6(F(-(*'(s(z0), s(z1)), s(*'(s(z0), z1))), *'(z1, z1)), -'(*'(s(z0), s(z1)), s(*'(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), z1) -> c7(F(-(*'(s(z0), s(z1)), s(*'(s(z0), z1))), *'(z1, z1)), -'(*'(s(z0), s(z1)), s(*'(s(z0), z1))), *'(s(z0), z1)) F(s(z0), z1) -> c8(F(-(*'(s(z0), s(z1)), s(*'(s(z0), z1))), *'(z1, z1)), *'(z1, z1)) The (relative) TRS S consists of the following rules: -(z0, 0') -> z0 -(s(z0), s(z1)) -> -(z0, z1) +'(0', z0) -> z0 +'(s(z0), z1) -> s(+'(z0, z1)) *'(z0, 0') -> 0' *'(z0, s(z1)) -> +'(z0, *'(z0, z1)) f(s(z0), z1) -> f(-(*'(s(z0), s(z1)), s(*'(s(z0), z1))), *'(z1, z1)) Rewrite Strategy: INNERMOST ---------------------------------------- (7) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Inferred types. ---------------------------------------- (8) Obligation: Innermost TRS: Rules: -'(z0, 0') -> c -'(s(z0), s(z1)) -> c1(-'(z0, z1)) +'(0', z0) -> c2 +'(s(z0), z1) -> c3(+'(z0, z1)) *'(z0, 0') -> c4 *'(z0, s(z1)) -> c5(+'(z0, *'(z0, z1)), *'(z0, z1)) F(s(z0), z1) -> c6(F(-(*'(s(z0), s(z1)), s(*'(s(z0), z1))), *'(z1, z1)), -'(*'(s(z0), s(z1)), s(*'(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), z1) -> c7(F(-(*'(s(z0), s(z1)), s(*'(s(z0), z1))), *'(z1, z1)), -'(*'(s(z0), s(z1)), s(*'(s(z0), z1))), *'(s(z0), z1)) F(s(z0), z1) -> c8(F(-(*'(s(z0), s(z1)), s(*'(s(z0), z1))), *'(z1, z1)), *'(z1, z1)) -(z0, 0') -> z0 -(s(z0), s(z1)) -> -(z0, z1) +'(0', z0) -> z0 +'(s(z0), z1) -> s(+'(z0, z1)) *'(z0, 0') -> 0' *'(z0, s(z1)) -> +'(z0, *'(z0, z1)) f(s(z0), z1) -> f(-(*'(s(z0), s(z1)), s(*'(s(z0), z1))), *'(z1, z1)) Types: -' :: 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 -> c:c1 0' :: 0':s:c2:c3:c4:c5 c :: c:c1 s :: 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 c1 :: c:c1 -> c:c1 +' :: 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 c2 :: 0':s:c2:c3:c4:c5 c3 :: 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 *' :: 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 c4 :: 0':s:c2:c3:c4:c5 c5 :: 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 F :: 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 -> c6:c7:c8 c6 :: c6:c7:c8 -> c:c1 -> 0':s:c2:c3:c4:c5 -> c6:c7:c8 - :: 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 c7 :: c6:c7:c8 -> c:c1 -> 0':s:c2:c3:c4:c5 -> c6:c7:c8 c8 :: c6:c7:c8 -> 0':s:c2:c3:c4:c5 -> c6:c7:c8 f :: 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 -> f hole_c:c11_9 :: c:c1 hole_0':s:c2:c3:c4:c52_9 :: 0':s:c2:c3:c4:c5 hole_c6:c7:c83_9 :: c6:c7:c8 hole_f4_9 :: f gen_c:c15_9 :: Nat -> c:c1 gen_0':s:c2:c3:c4:c56_9 :: Nat -> 0':s:c2:c3:c4:c5 gen_c6:c7:c87_9 :: Nat -> c6:c7:c8 ---------------------------------------- (9) OrderProof (LOWER BOUND(ID)) Heuristically decided to analyse the following defined symbols: -', +', *', F, -, f They will be analysed ascendingly in the following order: -' < F +' < *' *' < F *' < f - < F - < f ---------------------------------------- (10) Obligation: Innermost TRS: Rules: -'(z0, 0') -> c -'(s(z0), s(z1)) -> c1(-'(z0, z1)) +'(0', z0) -> c2 +'(s(z0), z1) -> c3(+'(z0, z1)) *'(z0, 0') -> c4 *'(z0, s(z1)) -> c5(+'(z0, *'(z0, z1)), *'(z0, z1)) F(s(z0), z1) -> c6(F(-(*'(s(z0), s(z1)), s(*'(s(z0), z1))), *'(z1, z1)), -'(*'(s(z0), s(z1)), s(*'(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), z1) -> c7(F(-(*'(s(z0), s(z1)), s(*'(s(z0), z1))), *'(z1, z1)), -'(*'(s(z0), s(z1)), s(*'(s(z0), z1))), *'(s(z0), z1)) F(s(z0), z1) -> c8(F(-(*'(s(z0), s(z1)), s(*'(s(z0), z1))), *'(z1, z1)), *'(z1, z1)) -(z0, 0') -> z0 -(s(z0), s(z1)) -> -(z0, z1) +'(0', z0) -> z0 +'(s(z0), z1) -> s(+'(z0, z1)) *'(z0, 0') -> 0' *'(z0, s(z1)) -> +'(z0, *'(z0, z1)) f(s(z0), z1) -> f(-(*'(s(z0), s(z1)), s(*'(s(z0), z1))), *'(z1, z1)) Types: -' :: 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 -> c:c1 0' :: 0':s:c2:c3:c4:c5 c :: c:c1 s :: 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 c1 :: c:c1 -> c:c1 +' :: 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 c2 :: 0':s:c2:c3:c4:c5 c3 :: 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 *' :: 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 c4 :: 0':s:c2:c3:c4:c5 c5 :: 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 F :: 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 -> c6:c7:c8 c6 :: c6:c7:c8 -> c:c1 -> 0':s:c2:c3:c4:c5 -> c6:c7:c8 - :: 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 c7 :: c6:c7:c8 -> c:c1 -> 0':s:c2:c3:c4:c5 -> c6:c7:c8 c8 :: c6:c7:c8 -> 0':s:c2:c3:c4:c5 -> c6:c7:c8 f :: 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 -> f hole_c:c11_9 :: c:c1 hole_0':s:c2:c3:c4:c52_9 :: 0':s:c2:c3:c4:c5 hole_c6:c7:c83_9 :: c6:c7:c8 hole_f4_9 :: f gen_c:c15_9 :: Nat -> c:c1 gen_0':s:c2:c3:c4:c56_9 :: Nat -> 0':s:c2:c3:c4:c5 gen_c6:c7:c87_9 :: Nat -> c6:c7:c8 Generator Equations: gen_c:c15_9(0) <=> c gen_c:c15_9(+(x, 1)) <=> c1(gen_c:c15_9(x)) gen_0':s:c2:c3:c4:c56_9(0) <=> 0' gen_0':s:c2:c3:c4:c56_9(+(x, 1)) <=> s(gen_0':s:c2:c3:c4:c56_9(x)) gen_c6:c7:c87_9(0) <=> hole_c6:c7:c83_9 gen_c6:c7:c87_9(+(x, 1)) <=> c6(gen_c6:c7:c87_9(x), c, 0') The following defined symbols remain to be analysed: -', +', *', F, -, f They will be analysed ascendingly in the following order: -' < F +' < *' *' < F *' < f - < F - < f ---------------------------------------- (11) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: -'(gen_0':s:c2:c3:c4:c56_9(n9_9), gen_0':s:c2:c3:c4:c56_9(n9_9)) -> gen_c:c15_9(n9_9), rt in Omega(1 + n9_9) Induction Base: -'(gen_0':s:c2:c3:c4:c56_9(0), gen_0':s:c2:c3:c4:c56_9(0)) ->_R^Omega(1) c Induction Step: -'(gen_0':s:c2:c3:c4:c56_9(+(n9_9, 1)), gen_0':s:c2:c3:c4:c56_9(+(n9_9, 1))) ->_R^Omega(1) c1(-'(gen_0':s:c2:c3:c4:c56_9(n9_9), gen_0':s:c2:c3:c4:c56_9(n9_9))) ->_IH c1(gen_c:c15_9(c10_9)) We have rt in Omega(n^1) and sz in O(n). Thus, we have irc_R in Omega(n). ---------------------------------------- (12) Complex Obligation (BEST) ---------------------------------------- (13) Obligation: Proved the lower bound n^1 for the following obligation: Innermost TRS: Rules: -'(z0, 0') -> c -'(s(z0), s(z1)) -> c1(-'(z0, z1)) +'(0', z0) -> c2 +'(s(z0), z1) -> c3(+'(z0, z1)) *'(z0, 0') -> c4 *'(z0, s(z1)) -> c5(+'(z0, *'(z0, z1)), *'(z0, z1)) F(s(z0), z1) -> c6(F(-(*'(s(z0), s(z1)), s(*'(s(z0), z1))), *'(z1, z1)), -'(*'(s(z0), s(z1)), s(*'(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), z1) -> c7(F(-(*'(s(z0), s(z1)), s(*'(s(z0), z1))), *'(z1, z1)), -'(*'(s(z0), s(z1)), s(*'(s(z0), z1))), *'(s(z0), z1)) F(s(z0), z1) -> c8(F(-(*'(s(z0), s(z1)), s(*'(s(z0), z1))), *'(z1, z1)), *'(z1, z1)) -(z0, 0') -> z0 -(s(z0), s(z1)) -> -(z0, z1) +'(0', z0) -> z0 +'(s(z0), z1) -> s(+'(z0, z1)) *'(z0, 0') -> 0' *'(z0, s(z1)) -> +'(z0, *'(z0, z1)) f(s(z0), z1) -> f(-(*'(s(z0), s(z1)), s(*'(s(z0), z1))), *'(z1, z1)) Types: -' :: 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 -> c:c1 0' :: 0':s:c2:c3:c4:c5 c :: c:c1 s :: 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 c1 :: c:c1 -> c:c1 +' :: 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 c2 :: 0':s:c2:c3:c4:c5 c3 :: 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 *' :: 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 c4 :: 0':s:c2:c3:c4:c5 c5 :: 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 F :: 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 -> c6:c7:c8 c6 :: c6:c7:c8 -> c:c1 -> 0':s:c2:c3:c4:c5 -> c6:c7:c8 - :: 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 c7 :: c6:c7:c8 -> c:c1 -> 0':s:c2:c3:c4:c5 -> c6:c7:c8 c8 :: c6:c7:c8 -> 0':s:c2:c3:c4:c5 -> c6:c7:c8 f :: 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 -> f hole_c:c11_9 :: c:c1 hole_0':s:c2:c3:c4:c52_9 :: 0':s:c2:c3:c4:c5 hole_c6:c7:c83_9 :: c6:c7:c8 hole_f4_9 :: f gen_c:c15_9 :: Nat -> c:c1 gen_0':s:c2:c3:c4:c56_9 :: Nat -> 0':s:c2:c3:c4:c5 gen_c6:c7:c87_9 :: Nat -> c6:c7:c8 Generator Equations: gen_c:c15_9(0) <=> c gen_c:c15_9(+(x, 1)) <=> c1(gen_c:c15_9(x)) gen_0':s:c2:c3:c4:c56_9(0) <=> 0' gen_0':s:c2:c3:c4:c56_9(+(x, 1)) <=> s(gen_0':s:c2:c3:c4:c56_9(x)) gen_c6:c7:c87_9(0) <=> hole_c6:c7:c83_9 gen_c6:c7:c87_9(+(x, 1)) <=> c6(gen_c6:c7:c87_9(x), c, 0') The following defined symbols remain to be analysed: -', +', *', F, -, f They will be analysed ascendingly in the following order: -' < F +' < *' *' < F *' < f - < F - < f ---------------------------------------- (14) LowerBoundPropagationProof (FINISHED) Propagated lower bound. ---------------------------------------- (15) BOUNDS(n^1, INF) ---------------------------------------- (16) Obligation: Innermost TRS: Rules: -'(z0, 0') -> c -'(s(z0), s(z1)) -> c1(-'(z0, z1)) +'(0', z0) -> c2 +'(s(z0), z1) -> c3(+'(z0, z1)) *'(z0, 0') -> c4 *'(z0, s(z1)) -> c5(+'(z0, *'(z0, z1)), *'(z0, z1)) F(s(z0), z1) -> c6(F(-(*'(s(z0), s(z1)), s(*'(s(z0), z1))), *'(z1, z1)), -'(*'(s(z0), s(z1)), s(*'(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), z1) -> c7(F(-(*'(s(z0), s(z1)), s(*'(s(z0), z1))), *'(z1, z1)), -'(*'(s(z0), s(z1)), s(*'(s(z0), z1))), *'(s(z0), z1)) F(s(z0), z1) -> c8(F(-(*'(s(z0), s(z1)), s(*'(s(z0), z1))), *'(z1, z1)), *'(z1, z1)) -(z0, 0') -> z0 -(s(z0), s(z1)) -> -(z0, z1) +'(0', z0) -> z0 +'(s(z0), z1) -> s(+'(z0, z1)) *'(z0, 0') -> 0' *'(z0, s(z1)) -> +'(z0, *'(z0, z1)) f(s(z0), z1) -> f(-(*'(s(z0), s(z1)), s(*'(s(z0), z1))), *'(z1, z1)) Types: -' :: 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 -> c:c1 0' :: 0':s:c2:c3:c4:c5 c :: c:c1 s :: 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 c1 :: c:c1 -> c:c1 +' :: 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 c2 :: 0':s:c2:c3:c4:c5 c3 :: 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 *' :: 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 c4 :: 0':s:c2:c3:c4:c5 c5 :: 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 F :: 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 -> c6:c7:c8 c6 :: c6:c7:c8 -> c:c1 -> 0':s:c2:c3:c4:c5 -> c6:c7:c8 - :: 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 c7 :: c6:c7:c8 -> c:c1 -> 0':s:c2:c3:c4:c5 -> c6:c7:c8 c8 :: c6:c7:c8 -> 0':s:c2:c3:c4:c5 -> c6:c7:c8 f :: 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 -> f hole_c:c11_9 :: c:c1 hole_0':s:c2:c3:c4:c52_9 :: 0':s:c2:c3:c4:c5 hole_c6:c7:c83_9 :: c6:c7:c8 hole_f4_9 :: f gen_c:c15_9 :: Nat -> c:c1 gen_0':s:c2:c3:c4:c56_9 :: Nat -> 0':s:c2:c3:c4:c5 gen_c6:c7:c87_9 :: Nat -> c6:c7:c8 Lemmas: -'(gen_0':s:c2:c3:c4:c56_9(n9_9), gen_0':s:c2:c3:c4:c56_9(n9_9)) -> gen_c:c15_9(n9_9), rt in Omega(1 + n9_9) Generator Equations: gen_c:c15_9(0) <=> c gen_c:c15_9(+(x, 1)) <=> c1(gen_c:c15_9(x)) gen_0':s:c2:c3:c4:c56_9(0) <=> 0' gen_0':s:c2:c3:c4:c56_9(+(x, 1)) <=> s(gen_0':s:c2:c3:c4:c56_9(x)) gen_c6:c7:c87_9(0) <=> hole_c6:c7:c83_9 gen_c6:c7:c87_9(+(x, 1)) <=> c6(gen_c6:c7:c87_9(x), c, 0') The following defined symbols remain to be analysed: +', *', F, -, f They will be analysed ascendingly in the following order: +' < *' *' < F *' < f - < F - < f ---------------------------------------- (17) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: +'(gen_0':s:c2:c3:c4:c56_9(+(1, n392_9)), gen_0':s:c2:c3:c4:c56_9(b)) -> *8_9, rt in Omega(n392_9) Induction Base: +'(gen_0':s:c2:c3:c4:c56_9(+(1, 0)), gen_0':s:c2:c3:c4:c56_9(b)) Induction Step: +'(gen_0':s:c2:c3:c4:c56_9(+(1, +(n392_9, 1))), gen_0':s:c2:c3:c4:c56_9(b)) ->_R^Omega(1) c3(+'(gen_0':s:c2:c3:c4:c56_9(+(1, n392_9)), gen_0':s:c2:c3:c4:c56_9(b))) ->_IH c3(*8_9) We have rt in Omega(n^1) and sz in O(n). Thus, we have irc_R in Omega(n). ---------------------------------------- (18) Obligation: Innermost TRS: Rules: -'(z0, 0') -> c -'(s(z0), s(z1)) -> c1(-'(z0, z1)) +'(0', z0) -> c2 +'(s(z0), z1) -> c3(+'(z0, z1)) *'(z0, 0') -> c4 *'(z0, s(z1)) -> c5(+'(z0, *'(z0, z1)), *'(z0, z1)) F(s(z0), z1) -> c6(F(-(*'(s(z0), s(z1)), s(*'(s(z0), z1))), *'(z1, z1)), -'(*'(s(z0), s(z1)), s(*'(s(z0), z1))), *'(s(z0), s(z1))) F(s(z0), z1) -> c7(F(-(*'(s(z0), s(z1)), s(*'(s(z0), z1))), *'(z1, z1)), -'(*'(s(z0), s(z1)), s(*'(s(z0), z1))), *'(s(z0), z1)) F(s(z0), z1) -> c8(F(-(*'(s(z0), s(z1)), s(*'(s(z0), z1))), *'(z1, z1)), *'(z1, z1)) -(z0, 0') -> z0 -(s(z0), s(z1)) -> -(z0, z1) +'(0', z0) -> z0 +'(s(z0), z1) -> s(+'(z0, z1)) *'(z0, 0') -> 0' *'(z0, s(z1)) -> +'(z0, *'(z0, z1)) f(s(z0), z1) -> f(-(*'(s(z0), s(z1)), s(*'(s(z0), z1))), *'(z1, z1)) Types: -' :: 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 -> c:c1 0' :: 0':s:c2:c3:c4:c5 c :: c:c1 s :: 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 c1 :: c:c1 -> c:c1 +' :: 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 c2 :: 0':s:c2:c3:c4:c5 c3 :: 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 *' :: 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 c4 :: 0':s:c2:c3:c4:c5 c5 :: 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 F :: 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 -> c6:c7:c8 c6 :: c6:c7:c8 -> c:c1 -> 0':s:c2:c3:c4:c5 -> c6:c7:c8 - :: 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 c7 :: c6:c7:c8 -> c:c1 -> 0':s:c2:c3:c4:c5 -> c6:c7:c8 c8 :: c6:c7:c8 -> 0':s:c2:c3:c4:c5 -> c6:c7:c8 f :: 0':s:c2:c3:c4:c5 -> 0':s:c2:c3:c4:c5 -> f hole_c:c11_9 :: c:c1 hole_0':s:c2:c3:c4:c52_9 :: 0':s:c2:c3:c4:c5 hole_c6:c7:c83_9 :: c6:c7:c8 hole_f4_9 :: f gen_c:c15_9 :: Nat -> c:c1 gen_0':s:c2:c3:c4:c56_9 :: Nat -> 0':s:c2:c3:c4:c5 gen_c6:c7:c87_9 :: Nat -> c6:c7:c8 Lemmas: -'(gen_0':s:c2:c3:c4:c56_9(n9_9), gen_0':s:c2:c3:c4:c56_9(n9_9)) -> gen_c:c15_9(n9_9), rt in Omega(1 + n9_9) +'(gen_0':s:c2:c3:c4:c56_9(+(1, n392_9)), gen_0':s:c2:c3:c4:c56_9(b)) -> *8_9, rt in Omega(n392_9) Generator Equations: gen_c:c15_9(0) <=> c gen_c:c15_9(+(x, 1)) <=> c1(gen_c:c15_9(x)) gen_0':s:c2:c3:c4:c56_9(0) <=> 0' gen_0':s:c2:c3:c4:c56_9(+(x, 1)) <=> s(gen_0':s:c2:c3:c4:c56_9(x)) gen_c6:c7:c87_9(0) <=> hole_c6:c7:c83_9 gen_c6:c7:c87_9(+(x, 1)) <=> c6(gen_c6:c7:c87_9(x), c, 0') The following defined symbols remain to be analysed: *', F, -, f They will be analysed ascendingly in the following order: *' < F *' < f - < F - < f ---------------------------------------- (19) RewriteLemmaProof (FINISHED) Proved the following rewrite lemma: *'(gen_0':s:c2:c3:c4:c56_9(a), gen_0':s:c2:c3:c4:c56_9(+(1, n2364_9))) -> *8_9, rt in Omega(EXP) Induction Base: *'(gen_0':s:c2:c3:c4:c56_9(a), gen_0':s:c2:c3:c4:c56_9(+(1, 0))) Induction Step: *'(gen_0':s:c2:c3:c4:c56_9(a), gen_0':s:c2:c3:c4:c56_9(+(1, +(n2364_9, 1)))) ->_R^Omega(1) c5(+'(gen_0':s:c2:c3:c4:c56_9(a), *'(gen_0':s:c2:c3:c4:c56_9(a), gen_0':s:c2:c3:c4:c56_9(+(1, n2364_9)))), *'(gen_0':s:c2:c3:c4:c56_9(a), gen_0':s:c2:c3:c4:c56_9(+(1, n2364_9)))) ->_IH c5(+'(gen_0':s:c2:c3:c4:c56_9(a), *8_9), *'(gen_0':s:c2:c3:c4:c56_9(a), gen_0':s:c2:c3:c4:c56_9(+(1, n2364_9)))) ->_IH c5(+'(gen_0':s:c2:c3:c4:c56_9(a), *8_9), *8_9) We have rt in EXP and sz in O(n). Thus, we have irc_R in EXP ---------------------------------------- (20) BOUNDS(EXP, INF)