WORST_CASE(Omega(n^1),?) proof of input_s4nMVHdffM.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), 7 ms] (10) typed CpxTrs (11) RewriteLemmaProof [LOWER BOUND(ID), 382 ms] (12) typed CpxTrs (13) RewriteLemmaProof [LOWER BOUND(ID), 55 ms] (14) BEST (15) proven lower bound (16) LowerBoundPropagationProof [FINISHED, 0 ms] (17) BOUNDS(n^1, INF) (18) typed CpxTrs (19) RewriteLemmaProof [LOWER BOUND(ID), 2082 ms] (20) typed CpxTrs (21) RewriteLemmaProof [LOWER BOUND(ID), 217 ms] (22) BOUNDS(1, INF) ---------------------------------------- (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: f(X) -> cons(X, f(g(X))) g(0) -> s(0) g(s(X)) -> s(s(g(X))) sel(0, cons(X, Y)) -> X sel(s(X), cons(Y, Z)) -> sel(X, Z) 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: f(z0) -> cons(z0, f(g(z0))) g(0) -> s(0) g(s(z0)) -> s(s(g(z0))) sel(0, cons(z0, z1)) -> z0 sel(s(z0), cons(z1, z2)) -> sel(z0, z2) Tuples: F(z0) -> c(F(g(z0)), G(z0)) G(0) -> c1 G(s(z0)) -> c2(G(z0)) SEL(0, cons(z0, z1)) -> c3 SEL(s(z0), cons(z1, z2)) -> c4(SEL(z0, z2)) S tuples: F(z0) -> c(F(g(z0)), G(z0)) G(0) -> c1 G(s(z0)) -> c2(G(z0)) SEL(0, cons(z0, z1)) -> c3 SEL(s(z0), cons(z1, z2)) -> c4(SEL(z0, z2)) K tuples:none Defined Rule Symbols: f_1, g_1, sel_2 Defined Pair Symbols: F_1, G_1, SEL_2 Compound Symbols: c_2, c1, c2_1, c3, c4_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: F(z0) -> c(F(g(z0)), G(z0)) G(0) -> c1 G(s(z0)) -> c2(G(z0)) SEL(0, cons(z0, z1)) -> c3 SEL(s(z0), cons(z1, z2)) -> c4(SEL(z0, z2)) The (relative) TRS S consists of the following rules: f(z0) -> cons(z0, f(g(z0))) g(0) -> s(0) g(s(z0)) -> s(s(g(z0))) sel(0, cons(z0, z1)) -> z0 sel(s(z0), cons(z1, z2)) -> sel(z0, z2) 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: F(z0) -> c(F(g(z0)), G(z0)) G(0') -> c1 G(s(z0)) -> c2(G(z0)) SEL(0', cons(z0, z1)) -> c3 SEL(s(z0), cons(z1, z2)) -> c4(SEL(z0, z2)) The (relative) TRS S consists of the following rules: f(z0) -> cons(z0, f(g(z0))) g(0') -> s(0') g(s(z0)) -> s(s(g(z0))) sel(0', cons(z0, z1)) -> z0 sel(s(z0), cons(z1, z2)) -> sel(z0, z2) Rewrite Strategy: INNERMOST ---------------------------------------- (7) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Inferred types. ---------------------------------------- (8) Obligation: Innermost TRS: Rules: F(z0) -> c(F(g(z0)), G(z0)) G(0') -> c1 G(s(z0)) -> c2(G(z0)) SEL(0', cons(z0, z1)) -> c3 SEL(s(z0), cons(z1, z2)) -> c4(SEL(z0, z2)) f(z0) -> cons(z0, f(g(z0))) g(0') -> s(0') g(s(z0)) -> s(s(g(z0))) sel(0', cons(z0, z1)) -> z0 sel(s(z0), cons(z1, z2)) -> sel(z0, z2) Types: F :: 0':s -> c c :: c -> c1:c2 -> c g :: 0':s -> 0':s G :: 0':s -> c1:c2 0' :: 0':s c1 :: c1:c2 s :: 0':s -> 0':s c2 :: c1:c2 -> c1:c2 SEL :: 0':s -> cons -> c3:c4 cons :: 0':s -> cons -> cons c3 :: c3:c4 c4 :: c3:c4 -> c3:c4 f :: 0':s -> cons sel :: 0':s -> cons -> 0':s hole_c1_5 :: c hole_0':s2_5 :: 0':s hole_c1:c23_5 :: c1:c2 hole_c3:c44_5 :: c3:c4 hole_cons5_5 :: cons gen_c6_5 :: Nat -> c gen_0':s7_5 :: Nat -> 0':s gen_c1:c28_5 :: Nat -> c1:c2 gen_c3:c49_5 :: Nat -> c3:c4 gen_cons10_5 :: Nat -> cons ---------------------------------------- (9) OrderProof (LOWER BOUND(ID)) Heuristically decided to analyse the following defined symbols: F, g, G, SEL, f, sel They will be analysed ascendingly in the following order: g < F G < F g < f ---------------------------------------- (10) Obligation: Innermost TRS: Rules: F(z0) -> c(F(g(z0)), G(z0)) G(0') -> c1 G(s(z0)) -> c2(G(z0)) SEL(0', cons(z0, z1)) -> c3 SEL(s(z0), cons(z1, z2)) -> c4(SEL(z0, z2)) f(z0) -> cons(z0, f(g(z0))) g(0') -> s(0') g(s(z0)) -> s(s(g(z0))) sel(0', cons(z0, z1)) -> z0 sel(s(z0), cons(z1, z2)) -> sel(z0, z2) Types: F :: 0':s -> c c :: c -> c1:c2 -> c g :: 0':s -> 0':s G :: 0':s -> c1:c2 0' :: 0':s c1 :: c1:c2 s :: 0':s -> 0':s c2 :: c1:c2 -> c1:c2 SEL :: 0':s -> cons -> c3:c4 cons :: 0':s -> cons -> cons c3 :: c3:c4 c4 :: c3:c4 -> c3:c4 f :: 0':s -> cons sel :: 0':s -> cons -> 0':s hole_c1_5 :: c hole_0':s2_5 :: 0':s hole_c1:c23_5 :: c1:c2 hole_c3:c44_5 :: c3:c4 hole_cons5_5 :: cons gen_c6_5 :: Nat -> c gen_0':s7_5 :: Nat -> 0':s gen_c1:c28_5 :: Nat -> c1:c2 gen_c3:c49_5 :: Nat -> c3:c4 gen_cons10_5 :: Nat -> cons Generator Equations: gen_c6_5(0) <=> hole_c1_5 gen_c6_5(+(x, 1)) <=> c(gen_c6_5(x), c1) gen_0':s7_5(0) <=> 0' gen_0':s7_5(+(x, 1)) <=> s(gen_0':s7_5(x)) gen_c1:c28_5(0) <=> c1 gen_c1:c28_5(+(x, 1)) <=> c2(gen_c1:c28_5(x)) gen_c3:c49_5(0) <=> c3 gen_c3:c49_5(+(x, 1)) <=> c4(gen_c3:c49_5(x)) gen_cons10_5(0) <=> hole_cons5_5 gen_cons10_5(+(x, 1)) <=> cons(0', gen_cons10_5(x)) The following defined symbols remain to be analysed: g, F, G, SEL, f, sel They will be analysed ascendingly in the following order: g < F G < F g < f ---------------------------------------- (11) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: g(gen_0':s7_5(n12_5)) -> gen_0':s7_5(+(1, *(2, n12_5))), rt in Omega(0) Induction Base: g(gen_0':s7_5(0)) ->_R^Omega(0) s(0') Induction Step: g(gen_0':s7_5(+(n12_5, 1))) ->_R^Omega(0) s(s(g(gen_0':s7_5(n12_5)))) ->_IH s(s(gen_0':s7_5(+(1, *(2, c13_5))))) We have rt in Omega(1) and sz in O(n). Thus, we have irc_R in Omega(n^0). ---------------------------------------- (12) Obligation: Innermost TRS: Rules: F(z0) -> c(F(g(z0)), G(z0)) G(0') -> c1 G(s(z0)) -> c2(G(z0)) SEL(0', cons(z0, z1)) -> c3 SEL(s(z0), cons(z1, z2)) -> c4(SEL(z0, z2)) f(z0) -> cons(z0, f(g(z0))) g(0') -> s(0') g(s(z0)) -> s(s(g(z0))) sel(0', cons(z0, z1)) -> z0 sel(s(z0), cons(z1, z2)) -> sel(z0, z2) Types: F :: 0':s -> c c :: c -> c1:c2 -> c g :: 0':s -> 0':s G :: 0':s -> c1:c2 0' :: 0':s c1 :: c1:c2 s :: 0':s -> 0':s c2 :: c1:c2 -> c1:c2 SEL :: 0':s -> cons -> c3:c4 cons :: 0':s -> cons -> cons c3 :: c3:c4 c4 :: c3:c4 -> c3:c4 f :: 0':s -> cons sel :: 0':s -> cons -> 0':s hole_c1_5 :: c hole_0':s2_5 :: 0':s hole_c1:c23_5 :: c1:c2 hole_c3:c44_5 :: c3:c4 hole_cons5_5 :: cons gen_c6_5 :: Nat -> c gen_0':s7_5 :: Nat -> 0':s gen_c1:c28_5 :: Nat -> c1:c2 gen_c3:c49_5 :: Nat -> c3:c4 gen_cons10_5 :: Nat -> cons Lemmas: g(gen_0':s7_5(n12_5)) -> gen_0':s7_5(+(1, *(2, n12_5))), rt in Omega(0) Generator Equations: gen_c6_5(0) <=> hole_c1_5 gen_c6_5(+(x, 1)) <=> c(gen_c6_5(x), c1) gen_0':s7_5(0) <=> 0' gen_0':s7_5(+(x, 1)) <=> s(gen_0':s7_5(x)) gen_c1:c28_5(0) <=> c1 gen_c1:c28_5(+(x, 1)) <=> c2(gen_c1:c28_5(x)) gen_c3:c49_5(0) <=> c3 gen_c3:c49_5(+(x, 1)) <=> c4(gen_c3:c49_5(x)) gen_cons10_5(0) <=> hole_cons5_5 gen_cons10_5(+(x, 1)) <=> cons(0', gen_cons10_5(x)) The following defined symbols remain to be analysed: G, F, SEL, f, sel They will be analysed ascendingly in the following order: G < F ---------------------------------------- (13) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: G(gen_0':s7_5(n336_5)) -> gen_c1:c28_5(n336_5), rt in Omega(1 + n336_5) Induction Base: G(gen_0':s7_5(0)) ->_R^Omega(1) c1 Induction Step: G(gen_0':s7_5(+(n336_5, 1))) ->_R^Omega(1) c2(G(gen_0':s7_5(n336_5))) ->_IH c2(gen_c1:c28_5(c337_5)) We have rt in Omega(n^1) and sz in O(n). Thus, we have irc_R in Omega(n). ---------------------------------------- (14) Complex Obligation (BEST) ---------------------------------------- (15) Obligation: Proved the lower bound n^1 for the following obligation: Innermost TRS: Rules: F(z0) -> c(F(g(z0)), G(z0)) G(0') -> c1 G(s(z0)) -> c2(G(z0)) SEL(0', cons(z0, z1)) -> c3 SEL(s(z0), cons(z1, z2)) -> c4(SEL(z0, z2)) f(z0) -> cons(z0, f(g(z0))) g(0') -> s(0') g(s(z0)) -> s(s(g(z0))) sel(0', cons(z0, z1)) -> z0 sel(s(z0), cons(z1, z2)) -> sel(z0, z2) Types: F :: 0':s -> c c :: c -> c1:c2 -> c g :: 0':s -> 0':s G :: 0':s -> c1:c2 0' :: 0':s c1 :: c1:c2 s :: 0':s -> 0':s c2 :: c1:c2 -> c1:c2 SEL :: 0':s -> cons -> c3:c4 cons :: 0':s -> cons -> cons c3 :: c3:c4 c4 :: c3:c4 -> c3:c4 f :: 0':s -> cons sel :: 0':s -> cons -> 0':s hole_c1_5 :: c hole_0':s2_5 :: 0':s hole_c1:c23_5 :: c1:c2 hole_c3:c44_5 :: c3:c4 hole_cons5_5 :: cons gen_c6_5 :: Nat -> c gen_0':s7_5 :: Nat -> 0':s gen_c1:c28_5 :: Nat -> c1:c2 gen_c3:c49_5 :: Nat -> c3:c4 gen_cons10_5 :: Nat -> cons Lemmas: g(gen_0':s7_5(n12_5)) -> gen_0':s7_5(+(1, *(2, n12_5))), rt in Omega(0) Generator Equations: gen_c6_5(0) <=> hole_c1_5 gen_c6_5(+(x, 1)) <=> c(gen_c6_5(x), c1) gen_0':s7_5(0) <=> 0' gen_0':s7_5(+(x, 1)) <=> s(gen_0':s7_5(x)) gen_c1:c28_5(0) <=> c1 gen_c1:c28_5(+(x, 1)) <=> c2(gen_c1:c28_5(x)) gen_c3:c49_5(0) <=> c3 gen_c3:c49_5(+(x, 1)) <=> c4(gen_c3:c49_5(x)) gen_cons10_5(0) <=> hole_cons5_5 gen_cons10_5(+(x, 1)) <=> cons(0', gen_cons10_5(x)) The following defined symbols remain to be analysed: G, F, SEL, f, sel They will be analysed ascendingly in the following order: G < F ---------------------------------------- (16) LowerBoundPropagationProof (FINISHED) Propagated lower bound. ---------------------------------------- (17) BOUNDS(n^1, INF) ---------------------------------------- (18) Obligation: Innermost TRS: Rules: F(z0) -> c(F(g(z0)), G(z0)) G(0') -> c1 G(s(z0)) -> c2(G(z0)) SEL(0', cons(z0, z1)) -> c3 SEL(s(z0), cons(z1, z2)) -> c4(SEL(z0, z2)) f(z0) -> cons(z0, f(g(z0))) g(0') -> s(0') g(s(z0)) -> s(s(g(z0))) sel(0', cons(z0, z1)) -> z0 sel(s(z0), cons(z1, z2)) -> sel(z0, z2) Types: F :: 0':s -> c c :: c -> c1:c2 -> c g :: 0':s -> 0':s G :: 0':s -> c1:c2 0' :: 0':s c1 :: c1:c2 s :: 0':s -> 0':s c2 :: c1:c2 -> c1:c2 SEL :: 0':s -> cons -> c3:c4 cons :: 0':s -> cons -> cons c3 :: c3:c4 c4 :: c3:c4 -> c3:c4 f :: 0':s -> cons sel :: 0':s -> cons -> 0':s hole_c1_5 :: c hole_0':s2_5 :: 0':s hole_c1:c23_5 :: c1:c2 hole_c3:c44_5 :: c3:c4 hole_cons5_5 :: cons gen_c6_5 :: Nat -> c gen_0':s7_5 :: Nat -> 0':s gen_c1:c28_5 :: Nat -> c1:c2 gen_c3:c49_5 :: Nat -> c3:c4 gen_cons10_5 :: Nat -> cons Lemmas: g(gen_0':s7_5(n12_5)) -> gen_0':s7_5(+(1, *(2, n12_5))), rt in Omega(0) G(gen_0':s7_5(n336_5)) -> gen_c1:c28_5(n336_5), rt in Omega(1 + n336_5) Generator Equations: gen_c6_5(0) <=> hole_c1_5 gen_c6_5(+(x, 1)) <=> c(gen_c6_5(x), c1) gen_0':s7_5(0) <=> 0' gen_0':s7_5(+(x, 1)) <=> s(gen_0':s7_5(x)) gen_c1:c28_5(0) <=> c1 gen_c1:c28_5(+(x, 1)) <=> c2(gen_c1:c28_5(x)) gen_c3:c49_5(0) <=> c3 gen_c3:c49_5(+(x, 1)) <=> c4(gen_c3:c49_5(x)) gen_cons10_5(0) <=> hole_cons5_5 gen_cons10_5(+(x, 1)) <=> cons(0', gen_cons10_5(x)) The following defined symbols remain to be analysed: F, SEL, f, sel ---------------------------------------- (19) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: SEL(gen_0':s7_5(n957_5), gen_cons10_5(+(1, n957_5))) -> gen_c3:c49_5(n957_5), rt in Omega(1 + n957_5) Induction Base: SEL(gen_0':s7_5(0), gen_cons10_5(+(1, 0))) ->_R^Omega(1) c3 Induction Step: SEL(gen_0':s7_5(+(n957_5, 1)), gen_cons10_5(+(1, +(n957_5, 1)))) ->_R^Omega(1) c4(SEL(gen_0':s7_5(n957_5), gen_cons10_5(+(1, n957_5)))) ->_IH c4(gen_c3:c49_5(c958_5)) We have rt in Omega(n^1) and sz in O(n). Thus, we have irc_R in Omega(n). ---------------------------------------- (20) Obligation: Innermost TRS: Rules: F(z0) -> c(F(g(z0)), G(z0)) G(0') -> c1 G(s(z0)) -> c2(G(z0)) SEL(0', cons(z0, z1)) -> c3 SEL(s(z0), cons(z1, z2)) -> c4(SEL(z0, z2)) f(z0) -> cons(z0, f(g(z0))) g(0') -> s(0') g(s(z0)) -> s(s(g(z0))) sel(0', cons(z0, z1)) -> z0 sel(s(z0), cons(z1, z2)) -> sel(z0, z2) Types: F :: 0':s -> c c :: c -> c1:c2 -> c g :: 0':s -> 0':s G :: 0':s -> c1:c2 0' :: 0':s c1 :: c1:c2 s :: 0':s -> 0':s c2 :: c1:c2 -> c1:c2 SEL :: 0':s -> cons -> c3:c4 cons :: 0':s -> cons -> cons c3 :: c3:c4 c4 :: c3:c4 -> c3:c4 f :: 0':s -> cons sel :: 0':s -> cons -> 0':s hole_c1_5 :: c hole_0':s2_5 :: 0':s hole_c1:c23_5 :: c1:c2 hole_c3:c44_5 :: c3:c4 hole_cons5_5 :: cons gen_c6_5 :: Nat -> c gen_0':s7_5 :: Nat -> 0':s gen_c1:c28_5 :: Nat -> c1:c2 gen_c3:c49_5 :: Nat -> c3:c4 gen_cons10_5 :: Nat -> cons Lemmas: g(gen_0':s7_5(n12_5)) -> gen_0':s7_5(+(1, *(2, n12_5))), rt in Omega(0) G(gen_0':s7_5(n336_5)) -> gen_c1:c28_5(n336_5), rt in Omega(1 + n336_5) SEL(gen_0':s7_5(n957_5), gen_cons10_5(+(1, n957_5))) -> gen_c3:c49_5(n957_5), rt in Omega(1 + n957_5) Generator Equations: gen_c6_5(0) <=> hole_c1_5 gen_c6_5(+(x, 1)) <=> c(gen_c6_5(x), c1) gen_0':s7_5(0) <=> 0' gen_0':s7_5(+(x, 1)) <=> s(gen_0':s7_5(x)) gen_c1:c28_5(0) <=> c1 gen_c1:c28_5(+(x, 1)) <=> c2(gen_c1:c28_5(x)) gen_c3:c49_5(0) <=> c3 gen_c3:c49_5(+(x, 1)) <=> c4(gen_c3:c49_5(x)) gen_cons10_5(0) <=> hole_cons5_5 gen_cons10_5(+(x, 1)) <=> cons(0', gen_cons10_5(x)) The following defined symbols remain to be analysed: f, sel ---------------------------------------- (21) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: sel(gen_0':s7_5(n1718_5), gen_cons10_5(+(1, n1718_5))) -> gen_0':s7_5(0), rt in Omega(0) Induction Base: sel(gen_0':s7_5(0), gen_cons10_5(+(1, 0))) ->_R^Omega(0) 0' Induction Step: sel(gen_0':s7_5(+(n1718_5, 1)), gen_cons10_5(+(1, +(n1718_5, 1)))) ->_R^Omega(0) sel(gen_0':s7_5(n1718_5), gen_cons10_5(+(1, n1718_5))) ->_IH gen_0':s7_5(0) We have rt in Omega(1) and sz in O(n). Thus, we have irc_R in Omega(n^0). ---------------------------------------- (22) BOUNDS(1, INF)