/export/starexec/sandbox2/solver/bin/starexec_run_standard /export/starexec/sandbox2/benchmark/theBenchmark.xml /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- MAYBE proof of /export/starexec/sandbox2/benchmark/theBenchmark.xml # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty Outermost Termination of the given OTRS could not be shown: (0) OTRS (1) Trivial-Transformation [SOUND, 0 ms] (2) QTRS (3) DependencyPairsProof [EQUIVALENT, 0 ms] (4) QDP (5) DependencyGraphProof [EQUIVALENT, 0 ms] (6) QDP (7) UsableRulesProof [EQUIVALENT, 0 ms] (8) QDP (9) TransformationProof [EQUIVALENT, 0 ms] (10) QDP (11) TransformationProof [EQUIVALENT, 0 ms] (12) QDP (13) NonTerminationLoopProof [COMPLETE, 2 ms] (14) NO (15) Thiemann-SpecialC-Transformation [EQUIVALENT, 0 ms] (16) QTRS (17) DependencyPairsProof [EQUIVALENT, 0 ms] (18) QDP (19) DependencyGraphProof [EQUIVALENT, 0 ms] (20) AND (21) QDP (22) UsableRulesProof [EQUIVALENT, 0 ms] (23) QDP (24) QReductionProof [EQUIVALENT, 0 ms] (25) QDP (26) UsableRulesReductionPairsProof [EQUIVALENT, 7 ms] (27) QDP (28) DependencyGraphProof [EQUIVALENT, 0 ms] (29) TRUE (30) QDP (31) UsableRulesProof [EQUIVALENT, 0 ms] (32) QDP (33) QReductionProof [EQUIVALENT, 0 ms] (34) QDP (35) TransformationProof [EQUIVALENT, 0 ms] (36) QDP (37) TransformationProof [EQUIVALENT, 0 ms] (38) QDP (39) TransformationProof [EQUIVALENT, 0 ms] (40) QDP (41) QDPOrderProof [EQUIVALENT, 14 ms] (42) QDP (43) UsableRulesProof [EQUIVALENT, 0 ms] (44) QDP (45) QReductionProof [EQUIVALENT, 0 ms] (46) QDP (47) Raffelsieper-Zantema-Transformation [SOUND, 0 ms] (48) QTRS (49) DependencyPairsProof [EQUIVALENT, 0 ms] (50) QDP (51) DependencyGraphProof [EQUIVALENT, 0 ms] (52) AND (53) QDP (54) UsableRulesProof [EQUIVALENT, 0 ms] (55) QDP (56) QDPSizeChangeProof [EQUIVALENT, 0 ms] (57) YES (58) QDP (59) TransformationProof [EQUIVALENT, 0 ms] (60) QDP (61) DependencyGraphProof [EQUIVALENT, 0 ms] (62) QDP (63) QDPOrderProof [EQUIVALENT, 12 ms] (64) QDP (65) QDPOrderProof [EQUIVALENT, 218 ms] (66) QDP ---------------------------------------- (0) Obligation: Term rewrite system R: The TRS R consists of the following rules: cons(x, cons(y, z)) -> big inf(x) -> cons(x, inf(s(x))) Outermost Strategy. ---------------------------------------- (1) Trivial-Transformation (SOUND) We applied the Trivial transformation to transform the outermost TRS to a standard TRS. ---------------------------------------- (2) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: cons(x, cons(y, z)) -> big inf(x) -> cons(x, inf(s(x))) Q is empty. ---------------------------------------- (3) DependencyPairsProof (EQUIVALENT) Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. ---------------------------------------- (4) Obligation: Q DP problem: The TRS P consists of the following rules: INF(x) -> CONS(x, inf(s(x))) INF(x) -> INF(s(x)) The TRS R consists of the following rules: cons(x, cons(y, z)) -> big inf(x) -> cons(x, inf(s(x))) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (5) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (6) Obligation: Q DP problem: The TRS P consists of the following rules: INF(x) -> INF(s(x)) The TRS R consists of the following rules: cons(x, cons(y, z)) -> big inf(x) -> cons(x, inf(s(x))) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (7) UsableRulesProof (EQUIVALENT) We can use the usable rules and reduction pair processor [LPAR04] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its arguments. Then, we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (8) Obligation: Q DP problem: The TRS P consists of the following rules: INF(x) -> INF(s(x)) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (9) TransformationProof (EQUIVALENT) By instantiating [LPAR04] the rule INF(x) -> INF(s(x)) we obtained the following new rules [LPAR04]: (INF(s(z0)) -> INF(s(s(z0))),INF(s(z0)) -> INF(s(s(z0)))) ---------------------------------------- (10) Obligation: Q DP problem: The TRS P consists of the following rules: INF(s(z0)) -> INF(s(s(z0))) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (11) TransformationProof (EQUIVALENT) By instantiating [LPAR04] the rule INF(s(z0)) -> INF(s(s(z0))) we obtained the following new rules [LPAR04]: (INF(s(s(z0))) -> INF(s(s(s(z0)))),INF(s(s(z0))) -> INF(s(s(s(z0))))) ---------------------------------------- (12) Obligation: Q DP problem: The TRS P consists of the following rules: INF(s(s(z0))) -> INF(s(s(s(z0)))) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (13) NonTerminationLoopProof (COMPLETE) We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. Found a loop by semiunifying a rule from P directly. s = INF(s(s(z0))) evaluates to t =INF(s(s(s(z0)))) Thus s starts an infinite chain as s semiunifies with t with the following substitutions: * Matcher: [z0 / s(z0)] * Semiunifier: [ ] -------------------------------------------------------------------------------- Rewriting sequence The DP semiunifies directly so there is only one rewrite step from INF(s(s(z0))) to INF(s(s(s(z0)))). ---------------------------------------- (14) NO ---------------------------------------- (15) Thiemann-SpecialC-Transformation (EQUIVALENT) We applied the Thiemann-SpecialC transformation to transform the outermost TRS to an innermost TRS. ---------------------------------------- (16) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: top(go_up(x)) -> top(reduce(x)) reduce(cons(x_1, x_2)) -> check_cons(redex_cons(x_1, x_2)) reduce(inf(x_1)) -> check_inf(redex_inf(x_1)) redex_cons(x, cons(y, z)) -> result_cons(big) redex_inf(x) -> result_inf(cons(x, inf(s(x)))) check_cons(result_cons(x)) -> go_up(x) check_inf(result_inf(x)) -> go_up(x) check_cons(redex_cons(x_1, x_2)) -> in_cons_1(reduce(x_1), x_2) check_cons(redex_cons(x_1, x_2)) -> in_cons_2(x_1, reduce(x_2)) check_inf(redex_inf(x_1)) -> in_inf_1(reduce(x_1)) reduce(s(x_1)) -> in_s_1(reduce(x_1)) in_cons_1(go_up(x_1), x_2) -> go_up(cons(x_1, x_2)) in_cons_2(x_1, go_up(x_2)) -> go_up(cons(x_1, x_2)) in_inf_1(go_up(x_1)) -> go_up(inf(x_1)) in_s_1(go_up(x_1)) -> go_up(s(x_1)) The set Q consists of the following terms: top(go_up(x0)) reduce(cons(x0, x1)) reduce(inf(x0)) redex_cons(x0, cons(x1, x2)) redex_inf(x0) check_cons(result_cons(x0)) check_inf(result_inf(x0)) check_cons(redex_cons(x0, x1)) reduce(s(x0)) in_cons_1(go_up(x0), x1) in_cons_2(x0, go_up(x1)) in_inf_1(go_up(x0)) in_s_1(go_up(x0)) ---------------------------------------- (17) DependencyPairsProof (EQUIVALENT) Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. ---------------------------------------- (18) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(go_up(x)) -> TOP(reduce(x)) TOP(go_up(x)) -> REDUCE(x) REDUCE(cons(x_1, x_2)) -> CHECK_CONS(redex_cons(x_1, x_2)) REDUCE(cons(x_1, x_2)) -> REDEX_CONS(x_1, x_2) REDUCE(inf(x_1)) -> CHECK_INF(redex_inf(x_1)) REDUCE(inf(x_1)) -> REDEX_INF(x_1) CHECK_CONS(redex_cons(x_1, x_2)) -> IN_CONS_1(reduce(x_1), x_2) CHECK_CONS(redex_cons(x_1, x_2)) -> REDUCE(x_1) CHECK_CONS(redex_cons(x_1, x_2)) -> IN_CONS_2(x_1, reduce(x_2)) CHECK_CONS(redex_cons(x_1, x_2)) -> REDUCE(x_2) CHECK_INF(redex_inf(x_1)) -> IN_INF_1(reduce(x_1)) CHECK_INF(redex_inf(x_1)) -> REDUCE(x_1) REDUCE(s(x_1)) -> IN_S_1(reduce(x_1)) REDUCE(s(x_1)) -> REDUCE(x_1) The TRS R consists of the following rules: top(go_up(x)) -> top(reduce(x)) reduce(cons(x_1, x_2)) -> check_cons(redex_cons(x_1, x_2)) reduce(inf(x_1)) -> check_inf(redex_inf(x_1)) redex_cons(x, cons(y, z)) -> result_cons(big) redex_inf(x) -> result_inf(cons(x, inf(s(x)))) check_cons(result_cons(x)) -> go_up(x) check_inf(result_inf(x)) -> go_up(x) check_cons(redex_cons(x_1, x_2)) -> in_cons_1(reduce(x_1), x_2) check_cons(redex_cons(x_1, x_2)) -> in_cons_2(x_1, reduce(x_2)) check_inf(redex_inf(x_1)) -> in_inf_1(reduce(x_1)) reduce(s(x_1)) -> in_s_1(reduce(x_1)) in_cons_1(go_up(x_1), x_2) -> go_up(cons(x_1, x_2)) in_cons_2(x_1, go_up(x_2)) -> go_up(cons(x_1, x_2)) in_inf_1(go_up(x_1)) -> go_up(inf(x_1)) in_s_1(go_up(x_1)) -> go_up(s(x_1)) The set Q consists of the following terms: top(go_up(x0)) reduce(cons(x0, x1)) reduce(inf(x0)) redex_cons(x0, cons(x1, x2)) redex_inf(x0) check_cons(result_cons(x0)) check_inf(result_inf(x0)) check_cons(redex_cons(x0, x1)) reduce(s(x0)) in_cons_1(go_up(x0), x1) in_cons_2(x0, go_up(x1)) in_inf_1(go_up(x0)) in_s_1(go_up(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (19) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 9 less nodes. ---------------------------------------- (20) Complex Obligation (AND) ---------------------------------------- (21) Obligation: Q DP problem: The TRS P consists of the following rules: CHECK_CONS(redex_cons(x_1, x_2)) -> REDUCE(x_1) REDUCE(cons(x_1, x_2)) -> CHECK_CONS(redex_cons(x_1, x_2)) CHECK_CONS(redex_cons(x_1, x_2)) -> REDUCE(x_2) REDUCE(s(x_1)) -> REDUCE(x_1) The TRS R consists of the following rules: top(go_up(x)) -> top(reduce(x)) reduce(cons(x_1, x_2)) -> check_cons(redex_cons(x_1, x_2)) reduce(inf(x_1)) -> check_inf(redex_inf(x_1)) redex_cons(x, cons(y, z)) -> result_cons(big) redex_inf(x) -> result_inf(cons(x, inf(s(x)))) check_cons(result_cons(x)) -> go_up(x) check_inf(result_inf(x)) -> go_up(x) check_cons(redex_cons(x_1, x_2)) -> in_cons_1(reduce(x_1), x_2) check_cons(redex_cons(x_1, x_2)) -> in_cons_2(x_1, reduce(x_2)) check_inf(redex_inf(x_1)) -> in_inf_1(reduce(x_1)) reduce(s(x_1)) -> in_s_1(reduce(x_1)) in_cons_1(go_up(x_1), x_2) -> go_up(cons(x_1, x_2)) in_cons_2(x_1, go_up(x_2)) -> go_up(cons(x_1, x_2)) in_inf_1(go_up(x_1)) -> go_up(inf(x_1)) in_s_1(go_up(x_1)) -> go_up(s(x_1)) The set Q consists of the following terms: top(go_up(x0)) reduce(cons(x0, x1)) reduce(inf(x0)) redex_cons(x0, cons(x1, x2)) redex_inf(x0) check_cons(result_cons(x0)) check_inf(result_inf(x0)) check_cons(redex_cons(x0, x1)) reduce(s(x0)) in_cons_1(go_up(x0), x1) in_cons_2(x0, go_up(x1)) in_inf_1(go_up(x0)) in_s_1(go_up(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (22) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (23) Obligation: Q DP problem: The TRS P consists of the following rules: CHECK_CONS(redex_cons(x_1, x_2)) -> REDUCE(x_1) REDUCE(cons(x_1, x_2)) -> CHECK_CONS(redex_cons(x_1, x_2)) CHECK_CONS(redex_cons(x_1, x_2)) -> REDUCE(x_2) REDUCE(s(x_1)) -> REDUCE(x_1) The TRS R consists of the following rules: redex_cons(x, cons(y, z)) -> result_cons(big) The set Q consists of the following terms: top(go_up(x0)) reduce(cons(x0, x1)) reduce(inf(x0)) redex_cons(x0, cons(x1, x2)) redex_inf(x0) check_cons(result_cons(x0)) check_inf(result_inf(x0)) check_cons(redex_cons(x0, x1)) reduce(s(x0)) in_cons_1(go_up(x0), x1) in_cons_2(x0, go_up(x1)) in_inf_1(go_up(x0)) in_s_1(go_up(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (24) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. top(go_up(x0)) reduce(cons(x0, x1)) reduce(inf(x0)) redex_inf(x0) check_cons(result_cons(x0)) check_inf(result_inf(x0)) check_cons(redex_cons(x0, x1)) reduce(s(x0)) in_cons_1(go_up(x0), x1) in_cons_2(x0, go_up(x1)) in_inf_1(go_up(x0)) in_s_1(go_up(x0)) ---------------------------------------- (25) Obligation: Q DP problem: The TRS P consists of the following rules: CHECK_CONS(redex_cons(x_1, x_2)) -> REDUCE(x_1) REDUCE(cons(x_1, x_2)) -> CHECK_CONS(redex_cons(x_1, x_2)) CHECK_CONS(redex_cons(x_1, x_2)) -> REDUCE(x_2) REDUCE(s(x_1)) -> REDUCE(x_1) The TRS R consists of the following rules: redex_cons(x, cons(y, z)) -> result_cons(big) The set Q consists of the following terms: redex_cons(x0, cons(x1, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (26) UsableRulesReductionPairsProof (EQUIVALENT) By using the usable rules with reduction pair processor [LPAR04] with a polynomial ordering [POLO], all dependency pairs and the corresponding usable rules [FROCOS05] can be oriented non-strictly. All non-usable rules are removed, and those dependency pairs and usable rules that have been oriented strictly or contain non-usable symbols in their left-hand side are removed as well. The following dependency pairs can be deleted: REDUCE(cons(x_1, x_2)) -> CHECK_CONS(redex_cons(x_1, x_2)) REDUCE(s(x_1)) -> REDUCE(x_1) The following rules are removed from R: redex_cons(x, cons(y, z)) -> result_cons(big) Used ordering: POLO with Polynomial interpretation [POLO]: POL(CHECK_CONS(x_1)) = 2*x_1 POL(REDUCE(x_1)) = 2*x_1 POL(big) = 0 POL(cons(x_1, x_2)) = 2*x_1 + 2*x_2 POL(redex_cons(x_1, x_2)) = 2*x_1 + x_2 POL(result_cons(x_1)) = x_1 POL(s(x_1)) = 2*x_1 ---------------------------------------- (27) Obligation: Q DP problem: The TRS P consists of the following rules: CHECK_CONS(redex_cons(x_1, x_2)) -> REDUCE(x_1) CHECK_CONS(redex_cons(x_1, x_2)) -> REDUCE(x_2) R is empty. The set Q consists of the following terms: redex_cons(x0, cons(x1, x2)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (28) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 2 less nodes. ---------------------------------------- (29) TRUE ---------------------------------------- (30) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(go_up(x)) -> TOP(reduce(x)) The TRS R consists of the following rules: top(go_up(x)) -> top(reduce(x)) reduce(cons(x_1, x_2)) -> check_cons(redex_cons(x_1, x_2)) reduce(inf(x_1)) -> check_inf(redex_inf(x_1)) redex_cons(x, cons(y, z)) -> result_cons(big) redex_inf(x) -> result_inf(cons(x, inf(s(x)))) check_cons(result_cons(x)) -> go_up(x) check_inf(result_inf(x)) -> go_up(x) check_cons(redex_cons(x_1, x_2)) -> in_cons_1(reduce(x_1), x_2) check_cons(redex_cons(x_1, x_2)) -> in_cons_2(x_1, reduce(x_2)) check_inf(redex_inf(x_1)) -> in_inf_1(reduce(x_1)) reduce(s(x_1)) -> in_s_1(reduce(x_1)) in_cons_1(go_up(x_1), x_2) -> go_up(cons(x_1, x_2)) in_cons_2(x_1, go_up(x_2)) -> go_up(cons(x_1, x_2)) in_inf_1(go_up(x_1)) -> go_up(inf(x_1)) in_s_1(go_up(x_1)) -> go_up(s(x_1)) The set Q consists of the following terms: top(go_up(x0)) reduce(cons(x0, x1)) reduce(inf(x0)) redex_cons(x0, cons(x1, x2)) redex_inf(x0) check_cons(result_cons(x0)) check_inf(result_inf(x0)) check_cons(redex_cons(x0, x1)) reduce(s(x0)) in_cons_1(go_up(x0), x1) in_cons_2(x0, go_up(x1)) in_inf_1(go_up(x0)) in_s_1(go_up(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (31) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (32) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(go_up(x)) -> TOP(reduce(x)) The TRS R consists of the following rules: reduce(cons(x_1, x_2)) -> check_cons(redex_cons(x_1, x_2)) reduce(inf(x_1)) -> check_inf(redex_inf(x_1)) reduce(s(x_1)) -> in_s_1(reduce(x_1)) in_s_1(go_up(x_1)) -> go_up(s(x_1)) redex_inf(x) -> result_inf(cons(x, inf(s(x)))) check_inf(result_inf(x)) -> go_up(x) redex_cons(x, cons(y, z)) -> result_cons(big) check_cons(result_cons(x)) -> go_up(x) check_cons(redex_cons(x_1, x_2)) -> in_cons_1(reduce(x_1), x_2) check_cons(redex_cons(x_1, x_2)) -> in_cons_2(x_1, reduce(x_2)) in_cons_2(x_1, go_up(x_2)) -> go_up(cons(x_1, x_2)) in_cons_1(go_up(x_1), x_2) -> go_up(cons(x_1, x_2)) The set Q consists of the following terms: top(go_up(x0)) reduce(cons(x0, x1)) reduce(inf(x0)) redex_cons(x0, cons(x1, x2)) redex_inf(x0) check_cons(result_cons(x0)) check_inf(result_inf(x0)) check_cons(redex_cons(x0, x1)) reduce(s(x0)) in_cons_1(go_up(x0), x1) in_cons_2(x0, go_up(x1)) in_inf_1(go_up(x0)) in_s_1(go_up(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (33) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. top(go_up(x0)) in_inf_1(go_up(x0)) ---------------------------------------- (34) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(go_up(x)) -> TOP(reduce(x)) The TRS R consists of the following rules: reduce(cons(x_1, x_2)) -> check_cons(redex_cons(x_1, x_2)) reduce(inf(x_1)) -> check_inf(redex_inf(x_1)) reduce(s(x_1)) -> in_s_1(reduce(x_1)) in_s_1(go_up(x_1)) -> go_up(s(x_1)) redex_inf(x) -> result_inf(cons(x, inf(s(x)))) check_inf(result_inf(x)) -> go_up(x) redex_cons(x, cons(y, z)) -> result_cons(big) check_cons(result_cons(x)) -> go_up(x) check_cons(redex_cons(x_1, x_2)) -> in_cons_1(reduce(x_1), x_2) check_cons(redex_cons(x_1, x_2)) -> in_cons_2(x_1, reduce(x_2)) in_cons_2(x_1, go_up(x_2)) -> go_up(cons(x_1, x_2)) in_cons_1(go_up(x_1), x_2) -> go_up(cons(x_1, x_2)) The set Q consists of the following terms: reduce(cons(x0, x1)) reduce(inf(x0)) redex_cons(x0, cons(x1, x2)) redex_inf(x0) check_cons(result_cons(x0)) check_inf(result_inf(x0)) check_cons(redex_cons(x0, x1)) reduce(s(x0)) in_cons_1(go_up(x0), x1) in_cons_2(x0, go_up(x1)) in_s_1(go_up(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (35) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule TOP(go_up(x)) -> TOP(reduce(x)) at position [0] we obtained the following new rules [LPAR04]: (TOP(go_up(cons(x0, x1))) -> TOP(check_cons(redex_cons(x0, x1))),TOP(go_up(cons(x0, x1))) -> TOP(check_cons(redex_cons(x0, x1)))) (TOP(go_up(inf(x0))) -> TOP(check_inf(redex_inf(x0))),TOP(go_up(inf(x0))) -> TOP(check_inf(redex_inf(x0)))) (TOP(go_up(s(x0))) -> TOP(in_s_1(reduce(x0))),TOP(go_up(s(x0))) -> TOP(in_s_1(reduce(x0)))) ---------------------------------------- (36) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(go_up(cons(x0, x1))) -> TOP(check_cons(redex_cons(x0, x1))) TOP(go_up(inf(x0))) -> TOP(check_inf(redex_inf(x0))) TOP(go_up(s(x0))) -> TOP(in_s_1(reduce(x0))) The TRS R consists of the following rules: reduce(cons(x_1, x_2)) -> check_cons(redex_cons(x_1, x_2)) reduce(inf(x_1)) -> check_inf(redex_inf(x_1)) reduce(s(x_1)) -> in_s_1(reduce(x_1)) in_s_1(go_up(x_1)) -> go_up(s(x_1)) redex_inf(x) -> result_inf(cons(x, inf(s(x)))) check_inf(result_inf(x)) -> go_up(x) redex_cons(x, cons(y, z)) -> result_cons(big) check_cons(result_cons(x)) -> go_up(x) check_cons(redex_cons(x_1, x_2)) -> in_cons_1(reduce(x_1), x_2) check_cons(redex_cons(x_1, x_2)) -> in_cons_2(x_1, reduce(x_2)) in_cons_2(x_1, go_up(x_2)) -> go_up(cons(x_1, x_2)) in_cons_1(go_up(x_1), x_2) -> go_up(cons(x_1, x_2)) The set Q consists of the following terms: reduce(cons(x0, x1)) reduce(inf(x0)) redex_cons(x0, cons(x1, x2)) redex_inf(x0) check_cons(result_cons(x0)) check_inf(result_inf(x0)) check_cons(redex_cons(x0, x1)) reduce(s(x0)) in_cons_1(go_up(x0), x1) in_cons_2(x0, go_up(x1)) in_s_1(go_up(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (37) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule TOP(go_up(inf(x0))) -> TOP(check_inf(redex_inf(x0))) at position [0,0] we obtained the following new rules [LPAR04]: (TOP(go_up(inf(x0))) -> TOP(check_inf(result_inf(cons(x0, inf(s(x0)))))),TOP(go_up(inf(x0))) -> TOP(check_inf(result_inf(cons(x0, inf(s(x0))))))) ---------------------------------------- (38) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(go_up(cons(x0, x1))) -> TOP(check_cons(redex_cons(x0, x1))) TOP(go_up(s(x0))) -> TOP(in_s_1(reduce(x0))) TOP(go_up(inf(x0))) -> TOP(check_inf(result_inf(cons(x0, inf(s(x0)))))) The TRS R consists of the following rules: reduce(cons(x_1, x_2)) -> check_cons(redex_cons(x_1, x_2)) reduce(inf(x_1)) -> check_inf(redex_inf(x_1)) reduce(s(x_1)) -> in_s_1(reduce(x_1)) in_s_1(go_up(x_1)) -> go_up(s(x_1)) redex_inf(x) -> result_inf(cons(x, inf(s(x)))) check_inf(result_inf(x)) -> go_up(x) redex_cons(x, cons(y, z)) -> result_cons(big) check_cons(result_cons(x)) -> go_up(x) check_cons(redex_cons(x_1, x_2)) -> in_cons_1(reduce(x_1), x_2) check_cons(redex_cons(x_1, x_2)) -> in_cons_2(x_1, reduce(x_2)) in_cons_2(x_1, go_up(x_2)) -> go_up(cons(x_1, x_2)) in_cons_1(go_up(x_1), x_2) -> go_up(cons(x_1, x_2)) The set Q consists of the following terms: reduce(cons(x0, x1)) reduce(inf(x0)) redex_cons(x0, cons(x1, x2)) redex_inf(x0) check_cons(result_cons(x0)) check_inf(result_inf(x0)) check_cons(redex_cons(x0, x1)) reduce(s(x0)) in_cons_1(go_up(x0), x1) in_cons_2(x0, go_up(x1)) in_s_1(go_up(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (39) TransformationProof (EQUIVALENT) By rewriting [LPAR04] the rule TOP(go_up(inf(x0))) -> TOP(check_inf(result_inf(cons(x0, inf(s(x0)))))) at position [0] we obtained the following new rules [LPAR04]: (TOP(go_up(inf(x0))) -> TOP(go_up(cons(x0, inf(s(x0))))),TOP(go_up(inf(x0))) -> TOP(go_up(cons(x0, inf(s(x0)))))) ---------------------------------------- (40) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(go_up(cons(x0, x1))) -> TOP(check_cons(redex_cons(x0, x1))) TOP(go_up(s(x0))) -> TOP(in_s_1(reduce(x0))) TOP(go_up(inf(x0))) -> TOP(go_up(cons(x0, inf(s(x0))))) The TRS R consists of the following rules: reduce(cons(x_1, x_2)) -> check_cons(redex_cons(x_1, x_2)) reduce(inf(x_1)) -> check_inf(redex_inf(x_1)) reduce(s(x_1)) -> in_s_1(reduce(x_1)) in_s_1(go_up(x_1)) -> go_up(s(x_1)) redex_inf(x) -> result_inf(cons(x, inf(s(x)))) check_inf(result_inf(x)) -> go_up(x) redex_cons(x, cons(y, z)) -> result_cons(big) check_cons(result_cons(x)) -> go_up(x) check_cons(redex_cons(x_1, x_2)) -> in_cons_1(reduce(x_1), x_2) check_cons(redex_cons(x_1, x_2)) -> in_cons_2(x_1, reduce(x_2)) in_cons_2(x_1, go_up(x_2)) -> go_up(cons(x_1, x_2)) in_cons_1(go_up(x_1), x_2) -> go_up(cons(x_1, x_2)) The set Q consists of the following terms: reduce(cons(x0, x1)) reduce(inf(x0)) redex_cons(x0, cons(x1, x2)) redex_inf(x0) check_cons(result_cons(x0)) check_inf(result_inf(x0)) check_cons(redex_cons(x0, x1)) reduce(s(x0)) in_cons_1(go_up(x0), x1) in_cons_2(x0, go_up(x1)) in_s_1(go_up(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (41) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. TOP(go_up(inf(x0))) -> TOP(go_up(cons(x0, inf(s(x0))))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(TOP(x_1)) = x_1 POL(big) = 0 POL(check_cons(x_1)) = x_1 POL(check_inf(x_1)) = 1 POL(cons(x_1, x_2)) = 0 POL(go_up(x_1)) = x_1 POL(in_cons_1(x_1, x_2)) = 0 POL(in_cons_2(x_1, x_2)) = 0 POL(in_s_1(x_1)) = 0 POL(inf(x_1)) = 1 POL(redex_cons(x_1, x_2)) = 0 POL(redex_inf(x_1)) = x_1 POL(reduce(x_1)) = 0 POL(result_cons(x_1)) = x_1 POL(result_inf(x_1)) = 1 POL(s(x_1)) = 0 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: redex_cons(x, cons(y, z)) -> result_cons(big) check_cons(result_cons(x)) -> go_up(x) check_cons(redex_cons(x_1, x_2)) -> in_cons_1(reduce(x_1), x_2) check_cons(redex_cons(x_1, x_2)) -> in_cons_2(x_1, reduce(x_2)) reduce(cons(x_1, x_2)) -> check_cons(redex_cons(x_1, x_2)) reduce(s(x_1)) -> in_s_1(reduce(x_1)) in_s_1(go_up(x_1)) -> go_up(s(x_1)) in_cons_1(go_up(x_1), x_2) -> go_up(cons(x_1, x_2)) in_cons_2(x_1, go_up(x_2)) -> go_up(cons(x_1, x_2)) ---------------------------------------- (42) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(go_up(cons(x0, x1))) -> TOP(check_cons(redex_cons(x0, x1))) TOP(go_up(s(x0))) -> TOP(in_s_1(reduce(x0))) The TRS R consists of the following rules: reduce(cons(x_1, x_2)) -> check_cons(redex_cons(x_1, x_2)) reduce(inf(x_1)) -> check_inf(redex_inf(x_1)) reduce(s(x_1)) -> in_s_1(reduce(x_1)) in_s_1(go_up(x_1)) -> go_up(s(x_1)) redex_inf(x) -> result_inf(cons(x, inf(s(x)))) check_inf(result_inf(x)) -> go_up(x) redex_cons(x, cons(y, z)) -> result_cons(big) check_cons(result_cons(x)) -> go_up(x) check_cons(redex_cons(x_1, x_2)) -> in_cons_1(reduce(x_1), x_2) check_cons(redex_cons(x_1, x_2)) -> in_cons_2(x_1, reduce(x_2)) in_cons_2(x_1, go_up(x_2)) -> go_up(cons(x_1, x_2)) in_cons_1(go_up(x_1), x_2) -> go_up(cons(x_1, x_2)) The set Q consists of the following terms: reduce(cons(x0, x1)) reduce(inf(x0)) redex_cons(x0, cons(x1, x2)) redex_inf(x0) check_cons(result_cons(x0)) check_inf(result_inf(x0)) check_cons(redex_cons(x0, x1)) reduce(s(x0)) in_cons_1(go_up(x0), x1) in_cons_2(x0, go_up(x1)) in_s_1(go_up(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (43) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (44) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(go_up(x)) -> TOP(reduce(x)) The TRS R consists of the following rules: reduce(cons(x_1, x_2)) -> check_cons(redex_cons(x_1, x_2)) reduce(inf(x_1)) -> check_inf(redex_inf(x_1)) reduce(s(x_1)) -> in_s_1(reduce(x_1)) in_s_1(go_up(x_1)) -> go_up(s(x_1)) redex_inf(x) -> result_inf(cons(x, inf(s(x)))) check_inf(result_inf(x)) -> go_up(x) redex_cons(x, cons(y, z)) -> result_cons(big) check_cons(result_cons(x)) -> go_up(x) check_cons(redex_cons(x_1, x_2)) -> in_cons_1(reduce(x_1), x_2) check_cons(redex_cons(x_1, x_2)) -> in_cons_2(x_1, reduce(x_2)) in_cons_2(x_1, go_up(x_2)) -> go_up(cons(x_1, x_2)) in_cons_1(go_up(x_1), x_2) -> go_up(cons(x_1, x_2)) The set Q consists of the following terms: top(go_up(x0)) reduce(cons(x0, x1)) reduce(inf(x0)) redex_cons(x0, cons(x1, x2)) redex_inf(x0) check_cons(result_cons(x0)) check_inf(result_inf(x0)) check_cons(redex_cons(x0, x1)) reduce(s(x0)) in_cons_1(go_up(x0), x1) in_cons_2(x0, go_up(x1)) in_inf_1(go_up(x0)) in_s_1(go_up(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (45) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. top(go_up(x0)) in_inf_1(go_up(x0)) ---------------------------------------- (46) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(go_up(x)) -> TOP(reduce(x)) The TRS R consists of the following rules: reduce(cons(x_1, x_2)) -> check_cons(redex_cons(x_1, x_2)) reduce(inf(x_1)) -> check_inf(redex_inf(x_1)) reduce(s(x_1)) -> in_s_1(reduce(x_1)) in_s_1(go_up(x_1)) -> go_up(s(x_1)) redex_inf(x) -> result_inf(cons(x, inf(s(x)))) check_inf(result_inf(x)) -> go_up(x) redex_cons(x, cons(y, z)) -> result_cons(big) check_cons(result_cons(x)) -> go_up(x) check_cons(redex_cons(x_1, x_2)) -> in_cons_1(reduce(x_1), x_2) check_cons(redex_cons(x_1, x_2)) -> in_cons_2(x_1, reduce(x_2)) in_cons_2(x_1, go_up(x_2)) -> go_up(cons(x_1, x_2)) in_cons_1(go_up(x_1), x_2) -> go_up(cons(x_1, x_2)) The set Q consists of the following terms: reduce(cons(x0, x1)) reduce(inf(x0)) redex_cons(x0, cons(x1, x2)) redex_inf(x0) check_cons(result_cons(x0)) check_inf(result_inf(x0)) check_cons(redex_cons(x0, x1)) reduce(s(x0)) in_cons_1(go_up(x0), x1) in_cons_2(x0, go_up(x1)) in_s_1(go_up(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (47) Raffelsieper-Zantema-Transformation (SOUND) We applied the Raffelsieper-Zantema transformation to transform the outermost TRS to a standard TRS. ---------------------------------------- (48) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: down(cons(x, cons(y, z))) -> up(big) down(inf(x)) -> up(cons(x, inf(s(x)))) top(up(x)) -> top(down(x)) down(s(y3)) -> s_flat(down(y3)) down(cons(y32, big)) -> cons_flat(down(y32), block(big)) down(cons(y32, big)) -> cons_flat(block(y32), down(big)) down(cons(y37, inf(y38))) -> cons_flat(down(y37), block(inf(y38))) down(cons(y37, inf(y38))) -> cons_flat(block(y37), down(inf(y38))) down(cons(y48, s(y49))) -> cons_flat(down(y48), block(s(y49))) down(cons(y48, s(y49))) -> cons_flat(block(y48), down(s(y49))) down(cons(y59, fresh_constant)) -> cons_flat(down(y59), block(fresh_constant)) down(cons(y59, fresh_constant)) -> cons_flat(block(y59), down(fresh_constant)) cons_flat(up(x_1), block(x_2)) -> up(cons(x_1, x_2)) cons_flat(block(x_1), up(x_2)) -> up(cons(x_1, x_2)) inf_flat(up(x_1)) -> up(inf(x_1)) s_flat(up(x_1)) -> up(s(x_1)) Q is empty. ---------------------------------------- (49) DependencyPairsProof (EQUIVALENT) Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. ---------------------------------------- (50) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(up(x)) -> TOP(down(x)) TOP(up(x)) -> DOWN(x) DOWN(s(y3)) -> S_FLAT(down(y3)) DOWN(s(y3)) -> DOWN(y3) DOWN(cons(y32, big)) -> CONS_FLAT(down(y32), block(big)) DOWN(cons(y32, big)) -> DOWN(y32) DOWN(cons(y32, big)) -> CONS_FLAT(block(y32), down(big)) DOWN(cons(y32, big)) -> DOWN(big) DOWN(cons(y37, inf(y38))) -> CONS_FLAT(down(y37), block(inf(y38))) DOWN(cons(y37, inf(y38))) -> DOWN(y37) DOWN(cons(y37, inf(y38))) -> CONS_FLAT(block(y37), down(inf(y38))) DOWN(cons(y37, inf(y38))) -> DOWN(inf(y38)) DOWN(cons(y48, s(y49))) -> CONS_FLAT(down(y48), block(s(y49))) DOWN(cons(y48, s(y49))) -> DOWN(y48) DOWN(cons(y48, s(y49))) -> CONS_FLAT(block(y48), down(s(y49))) DOWN(cons(y48, s(y49))) -> DOWN(s(y49)) DOWN(cons(y59, fresh_constant)) -> CONS_FLAT(down(y59), block(fresh_constant)) DOWN(cons(y59, fresh_constant)) -> DOWN(y59) DOWN(cons(y59, fresh_constant)) -> CONS_FLAT(block(y59), down(fresh_constant)) DOWN(cons(y59, fresh_constant)) -> DOWN(fresh_constant) The TRS R consists of the following rules: down(cons(x, cons(y, z))) -> up(big) down(inf(x)) -> up(cons(x, inf(s(x)))) top(up(x)) -> top(down(x)) down(s(y3)) -> s_flat(down(y3)) down(cons(y32, big)) -> cons_flat(down(y32), block(big)) down(cons(y32, big)) -> cons_flat(block(y32), down(big)) down(cons(y37, inf(y38))) -> cons_flat(down(y37), block(inf(y38))) down(cons(y37, inf(y38))) -> cons_flat(block(y37), down(inf(y38))) down(cons(y48, s(y49))) -> cons_flat(down(y48), block(s(y49))) down(cons(y48, s(y49))) -> cons_flat(block(y48), down(s(y49))) down(cons(y59, fresh_constant)) -> cons_flat(down(y59), block(fresh_constant)) down(cons(y59, fresh_constant)) -> cons_flat(block(y59), down(fresh_constant)) cons_flat(up(x_1), block(x_2)) -> up(cons(x_1, x_2)) cons_flat(block(x_1), up(x_2)) -> up(cons(x_1, x_2)) inf_flat(up(x_1)) -> up(inf(x_1)) s_flat(up(x_1)) -> up(s(x_1)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (51) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 13 less nodes. ---------------------------------------- (52) Complex Obligation (AND) ---------------------------------------- (53) Obligation: Q DP problem: The TRS P consists of the following rules: DOWN(cons(y32, big)) -> DOWN(y32) DOWN(s(y3)) -> DOWN(y3) DOWN(cons(y37, inf(y38))) -> DOWN(y37) DOWN(cons(y48, s(y49))) -> DOWN(y48) DOWN(cons(y48, s(y49))) -> DOWN(s(y49)) DOWN(cons(y59, fresh_constant)) -> DOWN(y59) The TRS R consists of the following rules: down(cons(x, cons(y, z))) -> up(big) down(inf(x)) -> up(cons(x, inf(s(x)))) top(up(x)) -> top(down(x)) down(s(y3)) -> s_flat(down(y3)) down(cons(y32, big)) -> cons_flat(down(y32), block(big)) down(cons(y32, big)) -> cons_flat(block(y32), down(big)) down(cons(y37, inf(y38))) -> cons_flat(down(y37), block(inf(y38))) down(cons(y37, inf(y38))) -> cons_flat(block(y37), down(inf(y38))) down(cons(y48, s(y49))) -> cons_flat(down(y48), block(s(y49))) down(cons(y48, s(y49))) -> cons_flat(block(y48), down(s(y49))) down(cons(y59, fresh_constant)) -> cons_flat(down(y59), block(fresh_constant)) down(cons(y59, fresh_constant)) -> cons_flat(block(y59), down(fresh_constant)) cons_flat(up(x_1), block(x_2)) -> up(cons(x_1, x_2)) cons_flat(block(x_1), up(x_2)) -> up(cons(x_1, x_2)) inf_flat(up(x_1)) -> up(inf(x_1)) s_flat(up(x_1)) -> up(s(x_1)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (54) UsableRulesProof (EQUIVALENT) We can use the usable rules and reduction pair processor [LPAR04] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its arguments. Then, we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (55) Obligation: Q DP problem: The TRS P consists of the following rules: DOWN(cons(y32, big)) -> DOWN(y32) DOWN(s(y3)) -> DOWN(y3) DOWN(cons(y37, inf(y38))) -> DOWN(y37) DOWN(cons(y48, s(y49))) -> DOWN(y48) DOWN(cons(y48, s(y49))) -> DOWN(s(y49)) DOWN(cons(y59, fresh_constant)) -> DOWN(y59) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (56) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *DOWN(cons(y48, s(y49))) -> DOWN(s(y49)) The graph contains the following edges 1 > 1 *DOWN(s(y3)) -> DOWN(y3) The graph contains the following edges 1 > 1 *DOWN(cons(y32, big)) -> DOWN(y32) The graph contains the following edges 1 > 1 *DOWN(cons(y37, inf(y38))) -> DOWN(y37) The graph contains the following edges 1 > 1 *DOWN(cons(y48, s(y49))) -> DOWN(y48) The graph contains the following edges 1 > 1 *DOWN(cons(y59, fresh_constant)) -> DOWN(y59) The graph contains the following edges 1 > 1 ---------------------------------------- (57) YES ---------------------------------------- (58) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(up(x)) -> TOP(down(x)) The TRS R consists of the following rules: down(cons(x, cons(y, z))) -> up(big) down(inf(x)) -> up(cons(x, inf(s(x)))) top(up(x)) -> top(down(x)) down(s(y3)) -> s_flat(down(y3)) down(cons(y32, big)) -> cons_flat(down(y32), block(big)) down(cons(y32, big)) -> cons_flat(block(y32), down(big)) down(cons(y37, inf(y38))) -> cons_flat(down(y37), block(inf(y38))) down(cons(y37, inf(y38))) -> cons_flat(block(y37), down(inf(y38))) down(cons(y48, s(y49))) -> cons_flat(down(y48), block(s(y49))) down(cons(y48, s(y49))) -> cons_flat(block(y48), down(s(y49))) down(cons(y59, fresh_constant)) -> cons_flat(down(y59), block(fresh_constant)) down(cons(y59, fresh_constant)) -> cons_flat(block(y59), down(fresh_constant)) cons_flat(up(x_1), block(x_2)) -> up(cons(x_1, x_2)) cons_flat(block(x_1), up(x_2)) -> up(cons(x_1, x_2)) inf_flat(up(x_1)) -> up(inf(x_1)) s_flat(up(x_1)) -> up(s(x_1)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (59) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule TOP(up(x)) -> TOP(down(x)) at position [0] we obtained the following new rules [LPAR04]: (TOP(up(cons(x0, cons(x1, x2)))) -> TOP(up(big)),TOP(up(cons(x0, cons(x1, x2)))) -> TOP(up(big))) (TOP(up(inf(x0))) -> TOP(up(cons(x0, inf(s(x0))))),TOP(up(inf(x0))) -> TOP(up(cons(x0, inf(s(x0)))))) (TOP(up(s(x0))) -> TOP(s_flat(down(x0))),TOP(up(s(x0))) -> TOP(s_flat(down(x0)))) (TOP(up(cons(x0, big))) -> TOP(cons_flat(down(x0), block(big))),TOP(up(cons(x0, big))) -> TOP(cons_flat(down(x0), block(big)))) (TOP(up(cons(x0, big))) -> TOP(cons_flat(block(x0), down(big))),TOP(up(cons(x0, big))) -> TOP(cons_flat(block(x0), down(big)))) (TOP(up(cons(x0, inf(x1)))) -> TOP(cons_flat(down(x0), block(inf(x1)))),TOP(up(cons(x0, inf(x1)))) -> TOP(cons_flat(down(x0), block(inf(x1))))) (TOP(up(cons(x0, inf(x1)))) -> TOP(cons_flat(block(x0), down(inf(x1)))),TOP(up(cons(x0, inf(x1)))) -> TOP(cons_flat(block(x0), down(inf(x1))))) (TOP(up(cons(x0, s(x1)))) -> TOP(cons_flat(down(x0), block(s(x1)))),TOP(up(cons(x0, s(x1)))) -> TOP(cons_flat(down(x0), block(s(x1))))) (TOP(up(cons(x0, s(x1)))) -> TOP(cons_flat(block(x0), down(s(x1)))),TOP(up(cons(x0, s(x1)))) -> TOP(cons_flat(block(x0), down(s(x1))))) (TOP(up(cons(x0, fresh_constant))) -> TOP(cons_flat(down(x0), block(fresh_constant))),TOP(up(cons(x0, fresh_constant))) -> TOP(cons_flat(down(x0), block(fresh_constant)))) (TOP(up(cons(x0, fresh_constant))) -> TOP(cons_flat(block(x0), down(fresh_constant))),TOP(up(cons(x0, fresh_constant))) -> TOP(cons_flat(block(x0), down(fresh_constant)))) ---------------------------------------- (60) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(up(cons(x0, cons(x1, x2)))) -> TOP(up(big)) TOP(up(inf(x0))) -> TOP(up(cons(x0, inf(s(x0))))) TOP(up(s(x0))) -> TOP(s_flat(down(x0))) TOP(up(cons(x0, big))) -> TOP(cons_flat(down(x0), block(big))) TOP(up(cons(x0, big))) -> TOP(cons_flat(block(x0), down(big))) TOP(up(cons(x0, inf(x1)))) -> TOP(cons_flat(down(x0), block(inf(x1)))) TOP(up(cons(x0, inf(x1)))) -> TOP(cons_flat(block(x0), down(inf(x1)))) TOP(up(cons(x0, s(x1)))) -> TOP(cons_flat(down(x0), block(s(x1)))) TOP(up(cons(x0, s(x1)))) -> TOP(cons_flat(block(x0), down(s(x1)))) TOP(up(cons(x0, fresh_constant))) -> TOP(cons_flat(down(x0), block(fresh_constant))) TOP(up(cons(x0, fresh_constant))) -> TOP(cons_flat(block(x0), down(fresh_constant))) The TRS R consists of the following rules: down(cons(x, cons(y, z))) -> up(big) down(inf(x)) -> up(cons(x, inf(s(x)))) top(up(x)) -> top(down(x)) down(s(y3)) -> s_flat(down(y3)) down(cons(y32, big)) -> cons_flat(down(y32), block(big)) down(cons(y32, big)) -> cons_flat(block(y32), down(big)) down(cons(y37, inf(y38))) -> cons_flat(down(y37), block(inf(y38))) down(cons(y37, inf(y38))) -> cons_flat(block(y37), down(inf(y38))) down(cons(y48, s(y49))) -> cons_flat(down(y48), block(s(y49))) down(cons(y48, s(y49))) -> cons_flat(block(y48), down(s(y49))) down(cons(y59, fresh_constant)) -> cons_flat(down(y59), block(fresh_constant)) down(cons(y59, fresh_constant)) -> cons_flat(block(y59), down(fresh_constant)) cons_flat(up(x_1), block(x_2)) -> up(cons(x_1, x_2)) cons_flat(block(x_1), up(x_2)) -> up(cons(x_1, x_2)) inf_flat(up(x_1)) -> up(inf(x_1)) s_flat(up(x_1)) -> up(s(x_1)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (61) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes. ---------------------------------------- (62) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(up(inf(x0))) -> TOP(up(cons(x0, inf(s(x0))))) TOP(up(cons(x0, inf(x1)))) -> TOP(cons_flat(down(x0), block(inf(x1)))) TOP(up(s(x0))) -> TOP(s_flat(down(x0))) TOP(up(cons(x0, big))) -> TOP(cons_flat(down(x0), block(big))) TOP(up(cons(x0, inf(x1)))) -> TOP(cons_flat(block(x0), down(inf(x1)))) TOP(up(cons(x0, s(x1)))) -> TOP(cons_flat(down(x0), block(s(x1)))) TOP(up(cons(x0, s(x1)))) -> TOP(cons_flat(block(x0), down(s(x1)))) TOP(up(cons(x0, fresh_constant))) -> TOP(cons_flat(down(x0), block(fresh_constant))) The TRS R consists of the following rules: down(cons(x, cons(y, z))) -> up(big) down(inf(x)) -> up(cons(x, inf(s(x)))) top(up(x)) -> top(down(x)) down(s(y3)) -> s_flat(down(y3)) down(cons(y32, big)) -> cons_flat(down(y32), block(big)) down(cons(y32, big)) -> cons_flat(block(y32), down(big)) down(cons(y37, inf(y38))) -> cons_flat(down(y37), block(inf(y38))) down(cons(y37, inf(y38))) -> cons_flat(block(y37), down(inf(y38))) down(cons(y48, s(y49))) -> cons_flat(down(y48), block(s(y49))) down(cons(y48, s(y49))) -> cons_flat(block(y48), down(s(y49))) down(cons(y59, fresh_constant)) -> cons_flat(down(y59), block(fresh_constant)) down(cons(y59, fresh_constant)) -> cons_flat(block(y59), down(fresh_constant)) cons_flat(up(x_1), block(x_2)) -> up(cons(x_1, x_2)) cons_flat(block(x_1), up(x_2)) -> up(cons(x_1, x_2)) inf_flat(up(x_1)) -> up(inf(x_1)) s_flat(up(x_1)) -> up(s(x_1)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (63) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. TOP(up(inf(x0))) -> TOP(up(cons(x0, inf(s(x0))))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(TOP(x_1)) = x_1 POL(big) = 0 POL(block(x_1)) = 0 POL(cons(x_1, x_2)) = 0 POL(cons_flat(x_1, x_2)) = 0 POL(down(x_1)) = 0 POL(fresh_constant) = 0 POL(inf(x_1)) = 1 POL(s(x_1)) = 0 POL(s_flat(x_1)) = 0 POL(up(x_1)) = x_1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: cons_flat(up(x_1), block(x_2)) -> up(cons(x_1, x_2)) s_flat(up(x_1)) -> up(s(x_1)) cons_flat(block(x_1), up(x_2)) -> up(cons(x_1, x_2)) ---------------------------------------- (64) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(up(cons(x0, inf(x1)))) -> TOP(cons_flat(down(x0), block(inf(x1)))) TOP(up(s(x0))) -> TOP(s_flat(down(x0))) TOP(up(cons(x0, big))) -> TOP(cons_flat(down(x0), block(big))) TOP(up(cons(x0, inf(x1)))) -> TOP(cons_flat(block(x0), down(inf(x1)))) TOP(up(cons(x0, s(x1)))) -> TOP(cons_flat(down(x0), block(s(x1)))) TOP(up(cons(x0, s(x1)))) -> TOP(cons_flat(block(x0), down(s(x1)))) TOP(up(cons(x0, fresh_constant))) -> TOP(cons_flat(down(x0), block(fresh_constant))) The TRS R consists of the following rules: down(cons(x, cons(y, z))) -> up(big) down(inf(x)) -> up(cons(x, inf(s(x)))) top(up(x)) -> top(down(x)) down(s(y3)) -> s_flat(down(y3)) down(cons(y32, big)) -> cons_flat(down(y32), block(big)) down(cons(y32, big)) -> cons_flat(block(y32), down(big)) down(cons(y37, inf(y38))) -> cons_flat(down(y37), block(inf(y38))) down(cons(y37, inf(y38))) -> cons_flat(block(y37), down(inf(y38))) down(cons(y48, s(y49))) -> cons_flat(down(y48), block(s(y49))) down(cons(y48, s(y49))) -> cons_flat(block(y48), down(s(y49))) down(cons(y59, fresh_constant)) -> cons_flat(down(y59), block(fresh_constant)) down(cons(y59, fresh_constant)) -> cons_flat(block(y59), down(fresh_constant)) cons_flat(up(x_1), block(x_2)) -> up(cons(x_1, x_2)) cons_flat(block(x_1), up(x_2)) -> up(cons(x_1, x_2)) inf_flat(up(x_1)) -> up(inf(x_1)) s_flat(up(x_1)) -> up(s(x_1)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (65) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. TOP(up(cons(x0, inf(x1)))) -> TOP(cons_flat(block(x0), down(inf(x1)))) The remaining pairs can at least be oriented weakly. Used ordering: Matrix interpretation [MATRO]: Non-tuple symbols: <<< M( s_1(x_1) ) = [[0], [0]] + [[0, 0], [0, 0]] * x_1 >>> <<< M( s_flat_1(x_1) ) = [[0], [0]] + [[0, 0], [0, 0]] * x_1 >>> <<< M( block_1(x_1) ) = [[0], [0]] + [[0, 1], [0, 0]] * x_1 >>> <<< M( down_1(x_1) ) = [[0], [0]] + [[0, 0], [1, 1]] * x_1 >>> <<< M( fresh_constant ) = [[0], [0]] >>> <<< M( up_1(x_1) ) = [[0], [0]] + [[0, 1], [1, 0]] * x_1 >>> <<< M( cons_2(x_1, x_2) ) = [[0], [0]] + [[0, 0], [0, 0]] * x_1 + [[0, 1], [0, 0]] * x_2 >>> <<< M( big ) = [[0], [0]] >>> <<< M( inf_1(x_1) ) = [[0], [1]] + [[0, 0], [0, 0]] * x_1 >>> <<< M( cons_flat_2(x_1, x_2) ) = [[0], [0]] + [[0, 0], [0, 0]] * x_1 + [[0, 0], [1, 0]] * x_2 >>> Tuple symbols: <<< M( TOP_1(x_1) ) = [[0]] + [[0, 1]] * x_1 >>> Matrix type: We used a basic matrix type which is not further parametrizeable. As matrix orders are CE-compatible, we used usable rules w.r.t. argument filtering in the order. The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: down(inf(x)) -> up(cons(x, inf(s(x)))) down(s(y3)) -> s_flat(down(y3)) down(cons(y32, big)) -> cons_flat(down(y32), block(big)) down(cons(y37, inf(y38))) -> cons_flat(down(y37), block(inf(y38))) down(cons(y48, s(y49))) -> cons_flat(down(y48), block(s(y49))) down(cons(y48, s(y49))) -> cons_flat(block(y48), down(s(y49))) down(cons(y59, fresh_constant)) -> cons_flat(down(y59), block(fresh_constant)) cons_flat(up(x_1), block(x_2)) -> up(cons(x_1, x_2)) s_flat(up(x_1)) -> up(s(x_1)) cons_flat(block(x_1), up(x_2)) -> up(cons(x_1, x_2)) ---------------------------------------- (66) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(up(cons(x0, inf(x1)))) -> TOP(cons_flat(down(x0), block(inf(x1)))) TOP(up(s(x0))) -> TOP(s_flat(down(x0))) TOP(up(cons(x0, big))) -> TOP(cons_flat(down(x0), block(big))) TOP(up(cons(x0, s(x1)))) -> TOP(cons_flat(down(x0), block(s(x1)))) TOP(up(cons(x0, s(x1)))) -> TOP(cons_flat(block(x0), down(s(x1)))) TOP(up(cons(x0, fresh_constant))) -> TOP(cons_flat(down(x0), block(fresh_constant))) The TRS R consists of the following rules: down(cons(x, cons(y, z))) -> up(big) down(inf(x)) -> up(cons(x, inf(s(x)))) top(up(x)) -> top(down(x)) down(s(y3)) -> s_flat(down(y3)) down(cons(y32, big)) -> cons_flat(down(y32), block(big)) down(cons(y32, big)) -> cons_flat(block(y32), down(big)) down(cons(y37, inf(y38))) -> cons_flat(down(y37), block(inf(y38))) down(cons(y37, inf(y38))) -> cons_flat(block(y37), down(inf(y38))) down(cons(y48, s(y49))) -> cons_flat(down(y48), block(s(y49))) down(cons(y48, s(y49))) -> cons_flat(block(y48), down(s(y49))) down(cons(y59, fresh_constant)) -> cons_flat(down(y59), block(fresh_constant)) down(cons(y59, fresh_constant)) -> cons_flat(block(y59), down(fresh_constant)) cons_flat(up(x_1), block(x_2)) -> up(cons(x_1, x_2)) cons_flat(block(x_1), up(x_2)) -> up(cons(x_1, x_2)) inf_flat(up(x_1)) -> up(inf(x_1)) s_flat(up(x_1)) -> up(s(x_1)) Q is empty. We have to consider all minimal (P,Q,R)-chains.