WORST_CASE(Omega(n^1),?) proof of input_bfyiNSxUYa.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), 20 ms] (10) typed CpxTrs (11) RewriteLemmaProof [LOWER BOUND(ID), 950 ms] (12) typed CpxTrs (13) RewriteLemmaProof [LOWER BOUND(ID), 61 ms] (14) BEST (15) proven lower bound (16) LowerBoundPropagationProof [FINISHED, 0 ms] (17) BOUNDS(n^1, INF) (18) 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: f(a, g(y)) -> g(g(y)) f(g(x), a) -> f(x, g(a)) f(g(x), g(y)) -> h(g(y), x, g(y)) h(g(x), y, z) -> f(y, h(x, y, z)) h(a, y, z) -> 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(a, g(z0)) -> g(g(z0)) f(g(z0), a) -> f(z0, g(a)) f(g(z0), g(z1)) -> h(g(z1), z0, g(z1)) h(g(z0), z1, z2) -> f(z1, h(z0, z1, z2)) h(a, z0, z1) -> z1 Tuples: F(a, g(z0)) -> c F(g(z0), a) -> c1(F(z0, g(a))) F(g(z0), g(z1)) -> c2(H(g(z1), z0, g(z1))) H(g(z0), z1, z2) -> c3(F(z1, h(z0, z1, z2)), H(z0, z1, z2)) H(a, z0, z1) -> c4 S tuples: F(a, g(z0)) -> c F(g(z0), a) -> c1(F(z0, g(a))) F(g(z0), g(z1)) -> c2(H(g(z1), z0, g(z1))) H(g(z0), z1, z2) -> c3(F(z1, h(z0, z1, z2)), H(z0, z1, z2)) H(a, z0, z1) -> c4 K tuples:none Defined Rule Symbols: f_2, h_3 Defined Pair Symbols: F_2, H_3 Compound Symbols: c, c1_1, c2_1, c3_2, c4 ---------------------------------------- (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(a, g(z0)) -> c F(g(z0), a) -> c1(F(z0, g(a))) F(g(z0), g(z1)) -> c2(H(g(z1), z0, g(z1))) H(g(z0), z1, z2) -> c3(F(z1, h(z0, z1, z2)), H(z0, z1, z2)) H(a, z0, z1) -> c4 The (relative) TRS S consists of the following rules: f(a, g(z0)) -> g(g(z0)) f(g(z0), a) -> f(z0, g(a)) f(g(z0), g(z1)) -> h(g(z1), z0, g(z1)) h(g(z0), z1, z2) -> f(z1, h(z0, z1, z2)) h(a, z0, 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(n^1, INF). The TRS R consists of the following rules: F(a, g(z0)) -> c F(g(z0), a) -> c1(F(z0, g(a))) F(g(z0), g(z1)) -> c2(H(g(z1), z0, g(z1))) H(g(z0), z1, z2) -> c3(F(z1, h(z0, z1, z2)), H(z0, z1, z2)) H(a, z0, z1) -> c4 The (relative) TRS S consists of the following rules: f(a, g(z0)) -> g(g(z0)) f(g(z0), a) -> f(z0, g(a)) f(g(z0), g(z1)) -> h(g(z1), z0, g(z1)) h(g(z0), z1, z2) -> f(z1, h(z0, z1, z2)) h(a, z0, z1) -> z1 Rewrite Strategy: INNERMOST ---------------------------------------- (7) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Inferred types. ---------------------------------------- (8) Obligation: Innermost TRS: Rules: F(a, g(z0)) -> c F(g(z0), a) -> c1(F(z0, g(a))) F(g(z0), g(z1)) -> c2(H(g(z1), z0, g(z1))) H(g(z0), z1, z2) -> c3(F(z1, h(z0, z1, z2)), H(z0, z1, z2)) H(a, z0, z1) -> c4 f(a, g(z0)) -> g(g(z0)) f(g(z0), a) -> f(z0, g(a)) f(g(z0), g(z1)) -> h(g(z1), z0, g(z1)) h(g(z0), z1, z2) -> f(z1, h(z0, z1, z2)) h(a, z0, z1) -> z1 Types: F :: a:g -> a:g -> c:c1:c2 a :: a:g g :: a:g -> a:g c :: c:c1:c2 c1 :: c:c1:c2 -> c:c1:c2 c2 :: c3:c4 -> c:c1:c2 H :: a:g -> a:g -> a:g -> c3:c4 c3 :: c:c1:c2 -> c3:c4 -> c3:c4 h :: a:g -> a:g -> a:g -> a:g c4 :: c3:c4 f :: a:g -> a:g -> a:g hole_c:c1:c21_5 :: c:c1:c2 hole_a:g2_5 :: a:g hole_c3:c43_5 :: c3:c4 gen_c:c1:c24_5 :: Nat -> c:c1:c2 gen_a:g5_5 :: Nat -> a:g gen_c3:c46_5 :: Nat -> c3:c4 ---------------------------------------- (9) OrderProof (LOWER BOUND(ID)) Heuristically decided to analyse the following defined symbols: F, H, h, f They will be analysed ascendingly in the following order: F = H h < H h = f ---------------------------------------- (10) Obligation: Innermost TRS: Rules: F(a, g(z0)) -> c F(g(z0), a) -> c1(F(z0, g(a))) F(g(z0), g(z1)) -> c2(H(g(z1), z0, g(z1))) H(g(z0), z1, z2) -> c3(F(z1, h(z0, z1, z2)), H(z0, z1, z2)) H(a, z0, z1) -> c4 f(a, g(z0)) -> g(g(z0)) f(g(z0), a) -> f(z0, g(a)) f(g(z0), g(z1)) -> h(g(z1), z0, g(z1)) h(g(z0), z1, z2) -> f(z1, h(z0, z1, z2)) h(a, z0, z1) -> z1 Types: F :: a:g -> a:g -> c:c1:c2 a :: a:g g :: a:g -> a:g c :: c:c1:c2 c1 :: c:c1:c2 -> c:c1:c2 c2 :: c3:c4 -> c:c1:c2 H :: a:g -> a:g -> a:g -> c3:c4 c3 :: c:c1:c2 -> c3:c4 -> c3:c4 h :: a:g -> a:g -> a:g -> a:g c4 :: c3:c4 f :: a:g -> a:g -> a:g hole_c:c1:c21_5 :: c:c1:c2 hole_a:g2_5 :: a:g hole_c3:c43_5 :: c3:c4 gen_c:c1:c24_5 :: Nat -> c:c1:c2 gen_a:g5_5 :: Nat -> a:g gen_c3:c46_5 :: Nat -> c3:c4 Generator Equations: gen_c:c1:c24_5(0) <=> c gen_c:c1:c24_5(+(x, 1)) <=> c1(gen_c:c1:c24_5(x)) gen_a:g5_5(0) <=> a gen_a:g5_5(+(x, 1)) <=> g(gen_a:g5_5(x)) gen_c3:c46_5(0) <=> c4 gen_c3:c46_5(+(x, 1)) <=> c3(c, gen_c3:c46_5(x)) The following defined symbols remain to be analysed: f, F, H, h They will be analysed ascendingly in the following order: F = H h < H h = f ---------------------------------------- (11) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: h(gen_a:g5_5(n3304_5), gen_a:g5_5(0), gen_a:g5_5(1)) -> gen_a:g5_5(+(1, n3304_5)), rt in Omega(0) Induction Base: h(gen_a:g5_5(0), gen_a:g5_5(0), gen_a:g5_5(1)) ->_R^Omega(0) gen_a:g5_5(1) Induction Step: h(gen_a:g5_5(+(n3304_5, 1)), gen_a:g5_5(0), gen_a:g5_5(1)) ->_R^Omega(0) f(gen_a:g5_5(0), h(gen_a:g5_5(n3304_5), gen_a:g5_5(0), gen_a:g5_5(1))) ->_IH f(gen_a:g5_5(0), gen_a:g5_5(+(1, c3305_5))) ->_R^Omega(0) g(g(gen_a:g5_5(n3304_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(a, g(z0)) -> c F(g(z0), a) -> c1(F(z0, g(a))) F(g(z0), g(z1)) -> c2(H(g(z1), z0, g(z1))) H(g(z0), z1, z2) -> c3(F(z1, h(z0, z1, z2)), H(z0, z1, z2)) H(a, z0, z1) -> c4 f(a, g(z0)) -> g(g(z0)) f(g(z0), a) -> f(z0, g(a)) f(g(z0), g(z1)) -> h(g(z1), z0, g(z1)) h(g(z0), z1, z2) -> f(z1, h(z0, z1, z2)) h(a, z0, z1) -> z1 Types: F :: a:g -> a:g -> c:c1:c2 a :: a:g g :: a:g -> a:g c :: c:c1:c2 c1 :: c:c1:c2 -> c:c1:c2 c2 :: c3:c4 -> c:c1:c2 H :: a:g -> a:g -> a:g -> c3:c4 c3 :: c:c1:c2 -> c3:c4 -> c3:c4 h :: a:g -> a:g -> a:g -> a:g c4 :: c3:c4 f :: a:g -> a:g -> a:g hole_c:c1:c21_5 :: c:c1:c2 hole_a:g2_5 :: a:g hole_c3:c43_5 :: c3:c4 gen_c:c1:c24_5 :: Nat -> c:c1:c2 gen_a:g5_5 :: Nat -> a:g gen_c3:c46_5 :: Nat -> c3:c4 Lemmas: h(gen_a:g5_5(n3304_5), gen_a:g5_5(0), gen_a:g5_5(1)) -> gen_a:g5_5(+(1, n3304_5)), rt in Omega(0) Generator Equations: gen_c:c1:c24_5(0) <=> c gen_c:c1:c24_5(+(x, 1)) <=> c1(gen_c:c1:c24_5(x)) gen_a:g5_5(0) <=> a gen_a:g5_5(+(x, 1)) <=> g(gen_a:g5_5(x)) gen_c3:c46_5(0) <=> c4 gen_c3:c46_5(+(x, 1)) <=> c3(c, gen_c3:c46_5(x)) The following defined symbols remain to be analysed: f, F, H They will be analysed ascendingly in the following order: F = H h < H h = f ---------------------------------------- (13) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: H(gen_a:g5_5(n5218_5), gen_a:g5_5(0), gen_a:g5_5(1)) -> gen_c3:c46_5(n5218_5), rt in Omega(1 + n5218_5) Induction Base: H(gen_a:g5_5(0), gen_a:g5_5(0), gen_a:g5_5(1)) ->_R^Omega(1) c4 Induction Step: H(gen_a:g5_5(+(n5218_5, 1)), gen_a:g5_5(0), gen_a:g5_5(1)) ->_R^Omega(1) c3(F(gen_a:g5_5(0), h(gen_a:g5_5(n5218_5), gen_a:g5_5(0), gen_a:g5_5(1))), H(gen_a:g5_5(n5218_5), gen_a:g5_5(0), gen_a:g5_5(1))) ->_L^Omega(0) c3(F(gen_a:g5_5(0), gen_a:g5_5(+(1, n5218_5))), H(gen_a:g5_5(n5218_5), gen_a:g5_5(0), gen_a:g5_5(1))) ->_R^Omega(1) c3(c, H(gen_a:g5_5(n5218_5), gen_a:g5_5(0), gen_a:g5_5(1))) ->_IH c3(c, gen_c3:c46_5(c5219_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(a, g(z0)) -> c F(g(z0), a) -> c1(F(z0, g(a))) F(g(z0), g(z1)) -> c2(H(g(z1), z0, g(z1))) H(g(z0), z1, z2) -> c3(F(z1, h(z0, z1, z2)), H(z0, z1, z2)) H(a, z0, z1) -> c4 f(a, g(z0)) -> g(g(z0)) f(g(z0), a) -> f(z0, g(a)) f(g(z0), g(z1)) -> h(g(z1), z0, g(z1)) h(g(z0), z1, z2) -> f(z1, h(z0, z1, z2)) h(a, z0, z1) -> z1 Types: F :: a:g -> a:g -> c:c1:c2 a :: a:g g :: a:g -> a:g c :: c:c1:c2 c1 :: c:c1:c2 -> c:c1:c2 c2 :: c3:c4 -> c:c1:c2 H :: a:g -> a:g -> a:g -> c3:c4 c3 :: c:c1:c2 -> c3:c4 -> c3:c4 h :: a:g -> a:g -> a:g -> a:g c4 :: c3:c4 f :: a:g -> a:g -> a:g hole_c:c1:c21_5 :: c:c1:c2 hole_a:g2_5 :: a:g hole_c3:c43_5 :: c3:c4 gen_c:c1:c24_5 :: Nat -> c:c1:c2 gen_a:g5_5 :: Nat -> a:g gen_c3:c46_5 :: Nat -> c3:c4 Lemmas: h(gen_a:g5_5(n3304_5), gen_a:g5_5(0), gen_a:g5_5(1)) -> gen_a:g5_5(+(1, n3304_5)), rt in Omega(0) Generator Equations: gen_c:c1:c24_5(0) <=> c gen_c:c1:c24_5(+(x, 1)) <=> c1(gen_c:c1:c24_5(x)) gen_a:g5_5(0) <=> a gen_a:g5_5(+(x, 1)) <=> g(gen_a:g5_5(x)) gen_c3:c46_5(0) <=> c4 gen_c3:c46_5(+(x, 1)) <=> c3(c, gen_c3:c46_5(x)) The following defined symbols remain to be analysed: H, F They will be analysed ascendingly in the following order: F = H ---------------------------------------- (16) LowerBoundPropagationProof (FINISHED) Propagated lower bound. ---------------------------------------- (17) BOUNDS(n^1, INF) ---------------------------------------- (18) Obligation: Innermost TRS: Rules: F(a, g(z0)) -> c F(g(z0), a) -> c1(F(z0, g(a))) F(g(z0), g(z1)) -> c2(H(g(z1), z0, g(z1))) H(g(z0), z1, z2) -> c3(F(z1, h(z0, z1, z2)), H(z0, z1, z2)) H(a, z0, z1) -> c4 f(a, g(z0)) -> g(g(z0)) f(g(z0), a) -> f(z0, g(a)) f(g(z0), g(z1)) -> h(g(z1), z0, g(z1)) h(g(z0), z1, z2) -> f(z1, h(z0, z1, z2)) h(a, z0, z1) -> z1 Types: F :: a:g -> a:g -> c:c1:c2 a :: a:g g :: a:g -> a:g c :: c:c1:c2 c1 :: c:c1:c2 -> c:c1:c2 c2 :: c3:c4 -> c:c1:c2 H :: a:g -> a:g -> a:g -> c3:c4 c3 :: c:c1:c2 -> c3:c4 -> c3:c4 h :: a:g -> a:g -> a:g -> a:g c4 :: c3:c4 f :: a:g -> a:g -> a:g hole_c:c1:c21_5 :: c:c1:c2 hole_a:g2_5 :: a:g hole_c3:c43_5 :: c3:c4 gen_c:c1:c24_5 :: Nat -> c:c1:c2 gen_a:g5_5 :: Nat -> a:g gen_c3:c46_5 :: Nat -> c3:c4 Lemmas: h(gen_a:g5_5(n3304_5), gen_a:g5_5(0), gen_a:g5_5(1)) -> gen_a:g5_5(+(1, n3304_5)), rt in Omega(0) H(gen_a:g5_5(n5218_5), gen_a:g5_5(0), gen_a:g5_5(1)) -> gen_c3:c46_5(n5218_5), rt in Omega(1 + n5218_5) Generator Equations: gen_c:c1:c24_5(0) <=> c gen_c:c1:c24_5(+(x, 1)) <=> c1(gen_c:c1:c24_5(x)) gen_a:g5_5(0) <=> a gen_a:g5_5(+(x, 1)) <=> g(gen_a:g5_5(x)) gen_c3:c46_5(0) <=> c4 gen_c3:c46_5(+(x, 1)) <=> c3(c, gen_c3:c46_5(x)) The following defined symbols remain to be analysed: F They will be analysed ascendingly in the following order: F = H