WORST_CASE(Omega(n^1),?) proof of input_InxTT0uwCp.trs # AProVE Commit ID: aff8ecad908e01718a4c36e68d2e55d5e0f16e15 fuhs 20220216 unpublished The Runtime Complexity (parallel-innermost) of the given CpxTRS could be proven to be BOUNDS(n^1, 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), 0 ms] (8) typed CpxTrs (9) OrderProof [LOWER BOUND(ID), 14 ms] (10) typed CpxTrs (11) RewriteLemmaProof [LOWER BOUND(ID), 228 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), 80 ms] (18) typed CpxTrs (19) RewriteLemmaProof [LOWER BOUND(ID), 342 ms] (20) typed CpxTrs ---------------------------------------- (0) Obligation: The Runtime Complexity (parallel-innermost) of the given CpxTRS could be proven to be BOUNDS(n^1, INF). The TRS R consists of the following rules: @(Cons(x, xs), ys) -> Cons(x, @(xs, ys)) @(Nil, ys) -> ys binom(Cons(x, xs), Cons(x', xs')) -> @(binom(xs, xs'), binom(xs, Cons(x', xs'))) binom(Cons(x, xs), Nil) -> Cons(Nil, Nil) binom(Nil, k) -> Cons(Nil, Nil) goal(x, y) -> binom(x, 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: @(Cons(z0, z1), z2) -> Cons(z0, @(z1, z2)) @(Nil, z0) -> z0 binom(Cons(z0, z1), Cons(z2, z3)) -> @(binom(z1, z3), binom(z1, Cons(z2, z3))) binom(Cons(z0, z1), Nil) -> Cons(Nil, Nil) binom(Nil, z0) -> Cons(Nil, Nil) goal(z0, z1) -> binom(z0, z1) Tuples: @'(Cons(z0, z1), z2) -> c(@'(z1, z2)) @'(Nil, z0) -> c1 BINOM(Cons(z0, z1), Cons(z2, z3)) -> c2(@'(binom(z1, z3), binom(z1, Cons(z2, z3))), BINOM(z1, z3)) BINOM(Cons(z0, z1), Cons(z2, z3)) -> c3(@'(binom(z1, z3), binom(z1, Cons(z2, z3))), BINOM(z1, Cons(z2, z3))) BINOM(Cons(z0, z1), Nil) -> c4 BINOM(Nil, z0) -> c5 GOAL(z0, z1) -> c6(BINOM(z0, z1)) S tuples: @'(Cons(z0, z1), z2) -> c(@'(z1, z2)) @'(Nil, z0) -> c1 BINOM(Cons(z0, z1), Cons(z2, z3)) -> c2(@'(binom(z1, z3), binom(z1, Cons(z2, z3))), BINOM(z1, z3)) BINOM(Cons(z0, z1), Cons(z2, z3)) -> c3(@'(binom(z1, z3), binom(z1, Cons(z2, z3))), BINOM(z1, Cons(z2, z3))) BINOM(Cons(z0, z1), Nil) -> c4 BINOM(Nil, z0) -> c5 GOAL(z0, z1) -> c6(BINOM(z0, z1)) K tuples:none Defined Rule Symbols: @_2, binom_2, goal_2 Defined Pair Symbols: @'_2, BINOM_2, GOAL_2 Compound Symbols: c_1, c1, c2_2, c3_2, c4, c5, c6_1 ---------------------------------------- (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(n^1, INF). The TRS R consists of the following rules: @'(Cons(z0, z1), z2) -> c(@'(z1, z2)) @'(Nil, z0) -> c1 BINOM(Cons(z0, z1), Cons(z2, z3)) -> c2(@'(binom(z1, z3), binom(z1, Cons(z2, z3))), BINOM(z1, z3)) BINOM(Cons(z0, z1), Cons(z2, z3)) -> c3(@'(binom(z1, z3), binom(z1, Cons(z2, z3))), BINOM(z1, Cons(z2, z3))) BINOM(Cons(z0, z1), Nil) -> c4 BINOM(Nil, z0) -> c5 GOAL(z0, z1) -> c6(BINOM(z0, z1)) The (relative) TRS S consists of the following rules: @(Cons(z0, z1), z2) -> Cons(z0, @(z1, z2)) @(Nil, z0) -> z0 binom(Cons(z0, z1), Cons(z2, z3)) -> @(binom(z1, z3), binom(z1, Cons(z2, z3))) binom(Cons(z0, z1), Nil) -> Cons(Nil, Nil) binom(Nil, z0) -> Cons(Nil, Nil) goal(z0, z1) -> binom(z0, 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(n^1, INF). The TRS R consists of the following rules: @'(Cons(z0, z1), z2) -> c(@'(z1, z2)) @'(Nil, z0) -> c1 BINOM(Cons(z0, z1), Cons(z2, z3)) -> c2(@'(binom(z1, z3), binom(z1, Cons(z2, z3))), BINOM(z1, z3)) BINOM(Cons(z0, z1), Cons(z2, z3)) -> c3(@'(binom(z1, z3), binom(z1, Cons(z2, z3))), BINOM(z1, Cons(z2, z3))) BINOM(Cons(z0, z1), Nil) -> c4 BINOM(Nil, z0) -> c5 GOAL(z0, z1) -> c6(BINOM(z0, z1)) The (relative) TRS S consists of the following rules: @(Cons(z0, z1), z2) -> Cons(z0, @(z1, z2)) @(Nil, z0) -> z0 binom(Cons(z0, z1), Cons(z2, z3)) -> @(binom(z1, z3), binom(z1, Cons(z2, z3))) binom(Cons(z0, z1), Nil) -> Cons(Nil, Nil) binom(Nil, z0) -> Cons(Nil, Nil) goal(z0, z1) -> binom(z0, z1) Rewrite Strategy: INNERMOST ---------------------------------------- (7) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Inferred types. ---------------------------------------- (8) Obligation: Innermost TRS: Rules: @'(Cons(z0, z1), z2) -> c(@'(z1, z2)) @'(Nil, z0) -> c1 BINOM(Cons(z0, z1), Cons(z2, z3)) -> c2(@'(binom(z1, z3), binom(z1, Cons(z2, z3))), BINOM(z1, z3)) BINOM(Cons(z0, z1), Cons(z2, z3)) -> c3(@'(binom(z1, z3), binom(z1, Cons(z2, z3))), BINOM(z1, Cons(z2, z3))) BINOM(Cons(z0, z1), Nil) -> c4 BINOM(Nil, z0) -> c5 GOAL(z0, z1) -> c6(BINOM(z0, z1)) @(Cons(z0, z1), z2) -> Cons(z0, @(z1, z2)) @(Nil, z0) -> z0 binom(Cons(z0, z1), Cons(z2, z3)) -> @(binom(z1, z3), binom(z1, Cons(z2, z3))) binom(Cons(z0, z1), Nil) -> Cons(Nil, Nil) binom(Nil, z0) -> Cons(Nil, Nil) goal(z0, z1) -> binom(z0, z1) Types: @' :: Cons:Nil -> Cons:Nil -> c:c1 Cons :: Cons:Nil -> Cons:Nil -> Cons:Nil c :: c:c1 -> c:c1 Nil :: Cons:Nil c1 :: c:c1 BINOM :: Cons:Nil -> Cons:Nil -> c2:c3:c4:c5 c2 :: c:c1 -> c2:c3:c4:c5 -> c2:c3:c4:c5 binom :: Cons:Nil -> Cons:Nil -> Cons:Nil c3 :: c:c1 -> c2:c3:c4:c5 -> c2:c3:c4:c5 c4 :: c2:c3:c4:c5 c5 :: c2:c3:c4:c5 GOAL :: Cons:Nil -> Cons:Nil -> c6 c6 :: c2:c3:c4:c5 -> c6 @ :: Cons:Nil -> Cons:Nil -> Cons:Nil goal :: Cons:Nil -> Cons:Nil -> Cons:Nil hole_c:c11_7 :: c:c1 hole_Cons:Nil2_7 :: Cons:Nil hole_c2:c3:c4:c53_7 :: c2:c3:c4:c5 hole_c64_7 :: c6 gen_c:c15_7 :: Nat -> c:c1 gen_Cons:Nil6_7 :: Nat -> Cons:Nil gen_c2:c3:c4:c57_7 :: Nat -> c2:c3:c4:c5 ---------------------------------------- (9) OrderProof (LOWER BOUND(ID)) Heuristically decided to analyse the following defined symbols: @', BINOM, binom, @ They will be analysed ascendingly in the following order: @' < BINOM binom < BINOM @ < binom ---------------------------------------- (10) Obligation: Innermost TRS: Rules: @'(Cons(z0, z1), z2) -> c(@'(z1, z2)) @'(Nil, z0) -> c1 BINOM(Cons(z0, z1), Cons(z2, z3)) -> c2(@'(binom(z1, z3), binom(z1, Cons(z2, z3))), BINOM(z1, z3)) BINOM(Cons(z0, z1), Cons(z2, z3)) -> c3(@'(binom(z1, z3), binom(z1, Cons(z2, z3))), BINOM(z1, Cons(z2, z3))) BINOM(Cons(z0, z1), Nil) -> c4 BINOM(Nil, z0) -> c5 GOAL(z0, z1) -> c6(BINOM(z0, z1)) @(Cons(z0, z1), z2) -> Cons(z0, @(z1, z2)) @(Nil, z0) -> z0 binom(Cons(z0, z1), Cons(z2, z3)) -> @(binom(z1, z3), binom(z1, Cons(z2, z3))) binom(Cons(z0, z1), Nil) -> Cons(Nil, Nil) binom(Nil, z0) -> Cons(Nil, Nil) goal(z0, z1) -> binom(z0, z1) Types: @' :: Cons:Nil -> Cons:Nil -> c:c1 Cons :: Cons:Nil -> Cons:Nil -> Cons:Nil c :: c:c1 -> c:c1 Nil :: Cons:Nil c1 :: c:c1 BINOM :: Cons:Nil -> Cons:Nil -> c2:c3:c4:c5 c2 :: c:c1 -> c2:c3:c4:c5 -> c2:c3:c4:c5 binom :: Cons:Nil -> Cons:Nil -> Cons:Nil c3 :: c:c1 -> c2:c3:c4:c5 -> c2:c3:c4:c5 c4 :: c2:c3:c4:c5 c5 :: c2:c3:c4:c5 GOAL :: Cons:Nil -> Cons:Nil -> c6 c6 :: c2:c3:c4:c5 -> c6 @ :: Cons:Nil -> Cons:Nil -> Cons:Nil goal :: Cons:Nil -> Cons:Nil -> Cons:Nil hole_c:c11_7 :: c:c1 hole_Cons:Nil2_7 :: Cons:Nil hole_c2:c3:c4:c53_7 :: c2:c3:c4:c5 hole_c64_7 :: c6 gen_c:c15_7 :: Nat -> c:c1 gen_Cons:Nil6_7 :: Nat -> Cons:Nil gen_c2:c3:c4:c57_7 :: Nat -> c2:c3:c4:c5 Generator Equations: gen_c:c15_7(0) <=> c1 gen_c:c15_7(+(x, 1)) <=> c(gen_c:c15_7(x)) gen_Cons:Nil6_7(0) <=> Nil gen_Cons:Nil6_7(+(x, 1)) <=> Cons(Nil, gen_Cons:Nil6_7(x)) gen_c2:c3:c4:c57_7(0) <=> c4 gen_c2:c3:c4:c57_7(+(x, 1)) <=> c2(c1, gen_c2:c3:c4:c57_7(x)) The following defined symbols remain to be analysed: @', BINOM, binom, @ They will be analysed ascendingly in the following order: @' < BINOM binom < BINOM @ < binom ---------------------------------------- (11) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: @'(gen_Cons:Nil6_7(n9_7), gen_Cons:Nil6_7(b)) -> gen_c:c15_7(n9_7), rt in Omega(1 + n9_7) Induction Base: @'(gen_Cons:Nil6_7(0), gen_Cons:Nil6_7(b)) ->_R^Omega(1) c1 Induction Step: @'(gen_Cons:Nil6_7(+(n9_7, 1)), gen_Cons:Nil6_7(b)) ->_R^Omega(1) c(@'(gen_Cons:Nil6_7(n9_7), gen_Cons:Nil6_7(b))) ->_IH c(gen_c:c15_7(c10_7)) 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: @'(Cons(z0, z1), z2) -> c(@'(z1, z2)) @'(Nil, z0) -> c1 BINOM(Cons(z0, z1), Cons(z2, z3)) -> c2(@'(binom(z1, z3), binom(z1, Cons(z2, z3))), BINOM(z1, z3)) BINOM(Cons(z0, z1), Cons(z2, z3)) -> c3(@'(binom(z1, z3), binom(z1, Cons(z2, z3))), BINOM(z1, Cons(z2, z3))) BINOM(Cons(z0, z1), Nil) -> c4 BINOM(Nil, z0) -> c5 GOAL(z0, z1) -> c6(BINOM(z0, z1)) @(Cons(z0, z1), z2) -> Cons(z0, @(z1, z2)) @(Nil, z0) -> z0 binom(Cons(z0, z1), Cons(z2, z3)) -> @(binom(z1, z3), binom(z1, Cons(z2, z3))) binom(Cons(z0, z1), Nil) -> Cons(Nil, Nil) binom(Nil, z0) -> Cons(Nil, Nil) goal(z0, z1) -> binom(z0, z1) Types: @' :: Cons:Nil -> Cons:Nil -> c:c1 Cons :: Cons:Nil -> Cons:Nil -> Cons:Nil c :: c:c1 -> c:c1 Nil :: Cons:Nil c1 :: c:c1 BINOM :: Cons:Nil -> Cons:Nil -> c2:c3:c4:c5 c2 :: c:c1 -> c2:c3:c4:c5 -> c2:c3:c4:c5 binom :: Cons:Nil -> Cons:Nil -> Cons:Nil c3 :: c:c1 -> c2:c3:c4:c5 -> c2:c3:c4:c5 c4 :: c2:c3:c4:c5 c5 :: c2:c3:c4:c5 GOAL :: Cons:Nil -> Cons:Nil -> c6 c6 :: c2:c3:c4:c5 -> c6 @ :: Cons:Nil -> Cons:Nil -> Cons:Nil goal :: Cons:Nil -> Cons:Nil -> Cons:Nil hole_c:c11_7 :: c:c1 hole_Cons:Nil2_7 :: Cons:Nil hole_c2:c3:c4:c53_7 :: c2:c3:c4:c5 hole_c64_7 :: c6 gen_c:c15_7 :: Nat -> c:c1 gen_Cons:Nil6_7 :: Nat -> Cons:Nil gen_c2:c3:c4:c57_7 :: Nat -> c2:c3:c4:c5 Generator Equations: gen_c:c15_7(0) <=> c1 gen_c:c15_7(+(x, 1)) <=> c(gen_c:c15_7(x)) gen_Cons:Nil6_7(0) <=> Nil gen_Cons:Nil6_7(+(x, 1)) <=> Cons(Nil, gen_Cons:Nil6_7(x)) gen_c2:c3:c4:c57_7(0) <=> c4 gen_c2:c3:c4:c57_7(+(x, 1)) <=> c2(c1, gen_c2:c3:c4:c57_7(x)) The following defined symbols remain to be analysed: @', BINOM, binom, @ They will be analysed ascendingly in the following order: @' < BINOM binom < BINOM @ < binom ---------------------------------------- (14) LowerBoundPropagationProof (FINISHED) Propagated lower bound. ---------------------------------------- (15) BOUNDS(n^1, INF) ---------------------------------------- (16) Obligation: Innermost TRS: Rules: @'(Cons(z0, z1), z2) -> c(@'(z1, z2)) @'(Nil, z0) -> c1 BINOM(Cons(z0, z1), Cons(z2, z3)) -> c2(@'(binom(z1, z3), binom(z1, Cons(z2, z3))), BINOM(z1, z3)) BINOM(Cons(z0, z1), Cons(z2, z3)) -> c3(@'(binom(z1, z3), binom(z1, Cons(z2, z3))), BINOM(z1, Cons(z2, z3))) BINOM(Cons(z0, z1), Nil) -> c4 BINOM(Nil, z0) -> c5 GOAL(z0, z1) -> c6(BINOM(z0, z1)) @(Cons(z0, z1), z2) -> Cons(z0, @(z1, z2)) @(Nil, z0) -> z0 binom(Cons(z0, z1), Cons(z2, z3)) -> @(binom(z1, z3), binom(z1, Cons(z2, z3))) binom(Cons(z0, z1), Nil) -> Cons(Nil, Nil) binom(Nil, z0) -> Cons(Nil, Nil) goal(z0, z1) -> binom(z0, z1) Types: @' :: Cons:Nil -> Cons:Nil -> c:c1 Cons :: Cons:Nil -> Cons:Nil -> Cons:Nil c :: c:c1 -> c:c1 Nil :: Cons:Nil c1 :: c:c1 BINOM :: Cons:Nil -> Cons:Nil -> c2:c3:c4:c5 c2 :: c:c1 -> c2:c3:c4:c5 -> c2:c3:c4:c5 binom :: Cons:Nil -> Cons:Nil -> Cons:Nil c3 :: c:c1 -> c2:c3:c4:c5 -> c2:c3:c4:c5 c4 :: c2:c3:c4:c5 c5 :: c2:c3:c4:c5 GOAL :: Cons:Nil -> Cons:Nil -> c6 c6 :: c2:c3:c4:c5 -> c6 @ :: Cons:Nil -> Cons:Nil -> Cons:Nil goal :: Cons:Nil -> Cons:Nil -> Cons:Nil hole_c:c11_7 :: c:c1 hole_Cons:Nil2_7 :: Cons:Nil hole_c2:c3:c4:c53_7 :: c2:c3:c4:c5 hole_c64_7 :: c6 gen_c:c15_7 :: Nat -> c:c1 gen_Cons:Nil6_7 :: Nat -> Cons:Nil gen_c2:c3:c4:c57_7 :: Nat -> c2:c3:c4:c5 Lemmas: @'(gen_Cons:Nil6_7(n9_7), gen_Cons:Nil6_7(b)) -> gen_c:c15_7(n9_7), rt in Omega(1 + n9_7) Generator Equations: gen_c:c15_7(0) <=> c1 gen_c:c15_7(+(x, 1)) <=> c(gen_c:c15_7(x)) gen_Cons:Nil6_7(0) <=> Nil gen_Cons:Nil6_7(+(x, 1)) <=> Cons(Nil, gen_Cons:Nil6_7(x)) gen_c2:c3:c4:c57_7(0) <=> c4 gen_c2:c3:c4:c57_7(+(x, 1)) <=> c2(c1, gen_c2:c3:c4:c57_7(x)) The following defined symbols remain to be analysed: @, BINOM, binom They will be analysed ascendingly in the following order: binom < BINOM @ < binom ---------------------------------------- (17) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: @(gen_Cons:Nil6_7(n435_7), gen_Cons:Nil6_7(b)) -> gen_Cons:Nil6_7(+(n435_7, b)), rt in Omega(0) Induction Base: @(gen_Cons:Nil6_7(0), gen_Cons:Nil6_7(b)) ->_R^Omega(0) gen_Cons:Nil6_7(b) Induction Step: @(gen_Cons:Nil6_7(+(n435_7, 1)), gen_Cons:Nil6_7(b)) ->_R^Omega(0) Cons(Nil, @(gen_Cons:Nil6_7(n435_7), gen_Cons:Nil6_7(b))) ->_IH Cons(Nil, gen_Cons:Nil6_7(+(b, c436_7))) We have rt in Omega(1) and sz in O(n). Thus, we have irc_R in Omega(n^0). ---------------------------------------- (18) Obligation: Innermost TRS: Rules: @'(Cons(z0, z1), z2) -> c(@'(z1, z2)) @'(Nil, z0) -> c1 BINOM(Cons(z0, z1), Cons(z2, z3)) -> c2(@'(binom(z1, z3), binom(z1, Cons(z2, z3))), BINOM(z1, z3)) BINOM(Cons(z0, z1), Cons(z2, z3)) -> c3(@'(binom(z1, z3), binom(z1, Cons(z2, z3))), BINOM(z1, Cons(z2, z3))) BINOM(Cons(z0, z1), Nil) -> c4 BINOM(Nil, z0) -> c5 GOAL(z0, z1) -> c6(BINOM(z0, z1)) @(Cons(z0, z1), z2) -> Cons(z0, @(z1, z2)) @(Nil, z0) -> z0 binom(Cons(z0, z1), Cons(z2, z3)) -> @(binom(z1, z3), binom(z1, Cons(z2, z3))) binom(Cons(z0, z1), Nil) -> Cons(Nil, Nil) binom(Nil, z0) -> Cons(Nil, Nil) goal(z0, z1) -> binom(z0, z1) Types: @' :: Cons:Nil -> Cons:Nil -> c:c1 Cons :: Cons:Nil -> Cons:Nil -> Cons:Nil c :: c:c1 -> c:c1 Nil :: Cons:Nil c1 :: c:c1 BINOM :: Cons:Nil -> Cons:Nil -> c2:c3:c4:c5 c2 :: c:c1 -> c2:c3:c4:c5 -> c2:c3:c4:c5 binom :: Cons:Nil -> Cons:Nil -> Cons:Nil c3 :: c:c1 -> c2:c3:c4:c5 -> c2:c3:c4:c5 c4 :: c2:c3:c4:c5 c5 :: c2:c3:c4:c5 GOAL :: Cons:Nil -> Cons:Nil -> c6 c6 :: c2:c3:c4:c5 -> c6 @ :: Cons:Nil -> Cons:Nil -> Cons:Nil goal :: Cons:Nil -> Cons:Nil -> Cons:Nil hole_c:c11_7 :: c:c1 hole_Cons:Nil2_7 :: Cons:Nil hole_c2:c3:c4:c53_7 :: c2:c3:c4:c5 hole_c64_7 :: c6 gen_c:c15_7 :: Nat -> c:c1 gen_Cons:Nil6_7 :: Nat -> Cons:Nil gen_c2:c3:c4:c57_7 :: Nat -> c2:c3:c4:c5 Lemmas: @'(gen_Cons:Nil6_7(n9_7), gen_Cons:Nil6_7(b)) -> gen_c:c15_7(n9_7), rt in Omega(1 + n9_7) @(gen_Cons:Nil6_7(n435_7), gen_Cons:Nil6_7(b)) -> gen_Cons:Nil6_7(+(n435_7, b)), rt in Omega(0) Generator Equations: gen_c:c15_7(0) <=> c1 gen_c:c15_7(+(x, 1)) <=> c(gen_c:c15_7(x)) gen_Cons:Nil6_7(0) <=> Nil gen_Cons:Nil6_7(+(x, 1)) <=> Cons(Nil, gen_Cons:Nil6_7(x)) gen_c2:c3:c4:c57_7(0) <=> c4 gen_c2:c3:c4:c57_7(+(x, 1)) <=> c2(c1, gen_c2:c3:c4:c57_7(x)) The following defined symbols remain to be analysed: binom, BINOM They will be analysed ascendingly in the following order: binom < BINOM ---------------------------------------- (19) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: binom(gen_Cons:Nil6_7(+(1, n1366_7)), gen_Cons:Nil6_7(+(1, n1366_7))) -> *8_7, rt in Omega(0) Induction Base: binom(gen_Cons:Nil6_7(+(1, 0)), gen_Cons:Nil6_7(+(1, 0))) Induction Step: binom(gen_Cons:Nil6_7(+(1, +(n1366_7, 1))), gen_Cons:Nil6_7(+(1, +(n1366_7, 1)))) ->_R^Omega(0) @(binom(gen_Cons:Nil6_7(+(1, n1366_7)), gen_Cons:Nil6_7(+(1, n1366_7))), binom(gen_Cons:Nil6_7(+(1, n1366_7)), Cons(Nil, gen_Cons:Nil6_7(+(1, n1366_7))))) ->_IH @(*8_7, binom(gen_Cons:Nil6_7(+(1, n1366_7)), Cons(Nil, gen_Cons:Nil6_7(+(1, n1366_7))))) ->_R^Omega(0) @(*8_7, @(binom(gen_Cons:Nil6_7(n1366_7), gen_Cons:Nil6_7(+(1, n1366_7))), binom(gen_Cons:Nil6_7(n1366_7), Cons(Nil, gen_Cons:Nil6_7(+(1, n1366_7)))))) We have rt in Omega(1) and sz in O(n). Thus, we have irc_R in Omega(n^0). ---------------------------------------- (20) Obligation: Innermost TRS: Rules: @'(Cons(z0, z1), z2) -> c(@'(z1, z2)) @'(Nil, z0) -> c1 BINOM(Cons(z0, z1), Cons(z2, z3)) -> c2(@'(binom(z1, z3), binom(z1, Cons(z2, z3))), BINOM(z1, z3)) BINOM(Cons(z0, z1), Cons(z2, z3)) -> c3(@'(binom(z1, z3), binom(z1, Cons(z2, z3))), BINOM(z1, Cons(z2, z3))) BINOM(Cons(z0, z1), Nil) -> c4 BINOM(Nil, z0) -> c5 GOAL(z0, z1) -> c6(BINOM(z0, z1)) @(Cons(z0, z1), z2) -> Cons(z0, @(z1, z2)) @(Nil, z0) -> z0 binom(Cons(z0, z1), Cons(z2, z3)) -> @(binom(z1, z3), binom(z1, Cons(z2, z3))) binom(Cons(z0, z1), Nil) -> Cons(Nil, Nil) binom(Nil, z0) -> Cons(Nil, Nil) goal(z0, z1) -> binom(z0, z1) Types: @' :: Cons:Nil -> Cons:Nil -> c:c1 Cons :: Cons:Nil -> Cons:Nil -> Cons:Nil c :: c:c1 -> c:c1 Nil :: Cons:Nil c1 :: c:c1 BINOM :: Cons:Nil -> Cons:Nil -> c2:c3:c4:c5 c2 :: c:c1 -> c2:c3:c4:c5 -> c2:c3:c4:c5 binom :: Cons:Nil -> Cons:Nil -> Cons:Nil c3 :: c:c1 -> c2:c3:c4:c5 -> c2:c3:c4:c5 c4 :: c2:c3:c4:c5 c5 :: c2:c3:c4:c5 GOAL :: Cons:Nil -> Cons:Nil -> c6 c6 :: c2:c3:c4:c5 -> c6 @ :: Cons:Nil -> Cons:Nil -> Cons:Nil goal :: Cons:Nil -> Cons:Nil -> Cons:Nil hole_c:c11_7 :: c:c1 hole_Cons:Nil2_7 :: Cons:Nil hole_c2:c3:c4:c53_7 :: c2:c3:c4:c5 hole_c64_7 :: c6 gen_c:c15_7 :: Nat -> c:c1 gen_Cons:Nil6_7 :: Nat -> Cons:Nil gen_c2:c3:c4:c57_7 :: Nat -> c2:c3:c4:c5 Lemmas: @'(gen_Cons:Nil6_7(n9_7), gen_Cons:Nil6_7(b)) -> gen_c:c15_7(n9_7), rt in Omega(1 + n9_7) @(gen_Cons:Nil6_7(n435_7), gen_Cons:Nil6_7(b)) -> gen_Cons:Nil6_7(+(n435_7, b)), rt in Omega(0) binom(gen_Cons:Nil6_7(+(1, n1366_7)), gen_Cons:Nil6_7(+(1, n1366_7))) -> *8_7, rt in Omega(0) Generator Equations: gen_c:c15_7(0) <=> c1 gen_c:c15_7(+(x, 1)) <=> c(gen_c:c15_7(x)) gen_Cons:Nil6_7(0) <=> Nil gen_Cons:Nil6_7(+(x, 1)) <=> Cons(Nil, gen_Cons:Nil6_7(x)) gen_c2:c3:c4:c57_7(0) <=> c4 gen_c2:c3:c4:c57_7(+(x, 1)) <=> c2(c1, gen_c2:c3:c4:c57_7(x)) The following defined symbols remain to be analysed: BINOM