WORST_CASE(NON_POLY,?) proof of input_hx63apAgDE.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), 0 ms] (8) typed CpxTrs (9) OrderProof [LOWER BOUND(ID), 12 ms] (10) typed CpxTrs (11) RewriteLemmaProof [FINISHED, 14.3 s] (12) 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: g(f(x, y)) -> f(f(g(g(x)), g(g(y))), f(g(g(x)), g(g(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: g(f(z0, z1)) -> f(f(g(g(z0)), g(g(z1))), f(g(g(z0)), g(g(z1)))) Tuples: G(f(z0, z1)) -> c(G(g(z0)), G(z0)) G(f(z0, z1)) -> c1(G(g(z1)), G(z1)) G(f(z0, z1)) -> c2(G(g(z0)), G(z0)) G(f(z0, z1)) -> c3(G(g(z1)), G(z1)) S tuples: G(f(z0, z1)) -> c(G(g(z0)), G(z0)) G(f(z0, z1)) -> c1(G(g(z1)), G(z1)) G(f(z0, z1)) -> c2(G(g(z0)), G(z0)) G(f(z0, z1)) -> c3(G(g(z1)), G(z1)) K tuples:none Defined Rule Symbols: g_1 Defined Pair Symbols: G_1 Compound Symbols: c_2, c1_2, c2_2, c3_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: G(f(z0, z1)) -> c(G(g(z0)), G(z0)) G(f(z0, z1)) -> c1(G(g(z1)), G(z1)) G(f(z0, z1)) -> c2(G(g(z0)), G(z0)) G(f(z0, z1)) -> c3(G(g(z1)), G(z1)) The (relative) TRS S consists of the following rules: g(f(z0, z1)) -> f(f(g(g(z0)), g(g(z1))), f(g(g(z0)), g(g(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: G(f(z0, z1)) -> c(G(g(z0)), G(z0)) G(f(z0, z1)) -> c1(G(g(z1)), G(z1)) G(f(z0, z1)) -> c2(G(g(z0)), G(z0)) G(f(z0, z1)) -> c3(G(g(z1)), G(z1)) The (relative) TRS S consists of the following rules: g(f(z0, z1)) -> f(f(g(g(z0)), g(g(z1))), f(g(g(z0)), g(g(z1)))) Rewrite Strategy: INNERMOST ---------------------------------------- (7) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Inferred types. ---------------------------------------- (8) Obligation: Innermost TRS: Rules: G(f(z0, z1)) -> c(G(g(z0)), G(z0)) G(f(z0, z1)) -> c1(G(g(z1)), G(z1)) G(f(z0, z1)) -> c2(G(g(z0)), G(z0)) G(f(z0, z1)) -> c3(G(g(z1)), G(z1)) g(f(z0, z1)) -> f(f(g(g(z0)), g(g(z1))), f(g(g(z0)), g(g(z1)))) Types: G :: f -> c:c1:c2:c3 f :: f -> f -> f c :: c:c1:c2:c3 -> c:c1:c2:c3 -> c:c1:c2:c3 g :: f -> f c1 :: c:c1:c2:c3 -> c:c1:c2:c3 -> c:c1:c2:c3 c2 :: c:c1:c2:c3 -> c:c1:c2:c3 -> c:c1:c2:c3 c3 :: c:c1:c2:c3 -> c:c1:c2:c3 -> c:c1:c2:c3 hole_c:c1:c2:c31_4 :: c:c1:c2:c3 hole_f2_4 :: f gen_c:c1:c2:c33_4 :: Nat -> c:c1:c2:c3 gen_f4_4 :: Nat -> f ---------------------------------------- (9) OrderProof (LOWER BOUND(ID)) Heuristically decided to analyse the following defined symbols: G, g They will be analysed ascendingly in the following order: g < G ---------------------------------------- (10) Obligation: Innermost TRS: Rules: G(f(z0, z1)) -> c(G(g(z0)), G(z0)) G(f(z0, z1)) -> c1(G(g(z1)), G(z1)) G(f(z0, z1)) -> c2(G(g(z0)), G(z0)) G(f(z0, z1)) -> c3(G(g(z1)), G(z1)) g(f(z0, z1)) -> f(f(g(g(z0)), g(g(z1))), f(g(g(z0)), g(g(z1)))) Types: G :: f -> c:c1:c2:c3 f :: f -> f -> f c :: c:c1:c2:c3 -> c:c1:c2:c3 -> c:c1:c2:c3 g :: f -> f c1 :: c:c1:c2:c3 -> c:c1:c2:c3 -> c:c1:c2:c3 c2 :: c:c1:c2:c3 -> c:c1:c2:c3 -> c:c1:c2:c3 c3 :: c:c1:c2:c3 -> c:c1:c2:c3 -> c:c1:c2:c3 hole_c:c1:c2:c31_4 :: c:c1:c2:c3 hole_f2_4 :: f gen_c:c1:c2:c33_4 :: Nat -> c:c1:c2:c3 gen_f4_4 :: Nat -> f Generator Equations: gen_c:c1:c2:c33_4(0) <=> hole_c:c1:c2:c31_4 gen_c:c1:c2:c33_4(+(x, 1)) <=> c(hole_c:c1:c2:c31_4, gen_c:c1:c2:c33_4(x)) gen_f4_4(0) <=> hole_f2_4 gen_f4_4(+(x, 1)) <=> f(hole_f2_4, gen_f4_4(x)) The following defined symbols remain to be analysed: g, G They will be analysed ascendingly in the following order: g < G ---------------------------------------- (11) RewriteLemmaProof (FINISHED) Proved the following rewrite lemma: g(gen_f4_4(+(1, n6_4))) -> *5_4, rt in Omega(EXP) Induction Base: g(gen_f4_4(+(1, 0))) Induction Step: g(gen_f4_4(+(1, +(n6_4, 1)))) ->_R^Omega(0) f(f(g(g(hole_f2_4)), g(g(gen_f4_4(+(1, n6_4))))), f(g(g(hole_f2_4)), g(g(gen_f4_4(+(1, n6_4)))))) ->_IH f(f(g(g(hole_f2_4)), g(*5_4)), f(g(g(hole_f2_4)), g(g(gen_f4_4(+(1, n6_4)))))) ->_IH f(f(g(g(hole_f2_4)), g(*5_4)), f(g(g(hole_f2_4)), g(*5_4))) We have rt in EXP and sz in O(n). Thus, we have irc_R in EXP ---------------------------------------- (12) BOUNDS(EXP, INF)