/export/starexec/sandbox/solver/bin/starexec_run_standard /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- MAYBE proof of /export/starexec/sandbox/benchmark/theBenchmark.xml # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty Outermost Termination of the given OTRS could not be shown: (0) OTRS (1) Thiemann-SpecialC-Transformation [EQUIVALENT, 0 ms] (2) QTRS (3) DependencyPairsProof [EQUIVALENT, 0 ms] (4) QDP (5) DependencyGraphProof [EQUIVALENT, 0 ms] (6) AND (7) QDP (8) UsableRulesProof [EQUIVALENT, 0 ms] (9) QDP (10) QReductionProof [EQUIVALENT, 0 ms] (11) QDP (12) UsableRulesReductionPairsProof [EQUIVALENT, 7 ms] (13) QDP (14) DependencyGraphProof [EQUIVALENT, 0 ms] (15) TRUE (16) QDP (17) UsableRulesProof [EQUIVALENT, 0 ms] (18) QDP (19) QReductionProof [EQUIVALENT, 0 ms] (20) QDP (21) UsableRulesReductionPairsProof [EQUIVALENT, 5 ms] (22) QDP (23) DependencyGraphProof [EQUIVALENT, 0 ms] (24) TRUE (25) QDP (26) UsableRulesProof [EQUIVALENT, 0 ms] (27) QDP (28) QReductionProof [EQUIVALENT, 0 ms] (29) QDP (30) TransformationProof [EQUIVALENT, 0 ms] (31) QDP (32) QDPOrderProof [EQUIVALENT, 15 ms] (33) QDP (34) UsableRulesProof [EQUIVALENT, 0 ms] (35) QDP (36) QReductionProof [EQUIVALENT, 0 ms] (37) QDP (38) Trivial-Transformation [SOUND, 0 ms] (39) QTRS (40) DependencyPairsProof [EQUIVALENT, 0 ms] (41) QDP (42) DependencyGraphProof [EQUIVALENT, 0 ms] (43) QDP (44) UsableRulesProof [EQUIVALENT, 0 ms] (45) QDP (46) NonTerminationLoopProof [COMPLETE, 0 ms] (47) NO (48) Raffelsieper-Zantema-Transformation [SOUND, 0 ms] (49) QTRS (50) DependencyPairsProof [EQUIVALENT, 90 ms] (51) QDP (52) DependencyGraphProof [EQUIVALENT, 0 ms] (53) QDP (54) UsableRulesProof [EQUIVALENT, 0 ms] (55) QDP (56) TransformationProof [EQUIVALENT, 24 ms] (57) QDP (58) DependencyGraphProof [EQUIVALENT, 0 ms] (59) QDP (60) UsableRulesProof [EQUIVALENT, 0 ms] (61) QDP (62) TransformationProof [EQUIVALENT, 71 ms] (63) QDP (64) DependencyGraphProof [EQUIVALENT, 0 ms] (65) QDP (66) TransformationProof [EQUIVALENT, 0 ms] (67) QDP (68) DependencyGraphProof [EQUIVALENT, 0 ms] (69) QDP (70) TransformationProof [EQUIVALENT, 0 ms] (71) QDP (72) DependencyGraphProof [EQUIVALENT, 0 ms] (73) QDP (74) TransformationProof [EQUIVALENT, 11 ms] (75) QDP (76) DependencyGraphProof [EQUIVALENT, 0 ms] (77) QDP (78) MRRProof [EQUIVALENT, 374 ms] (79) QDP (80) UsableRulesProof [EQUIVALENT, 6 ms] (81) QDP (82) QDPOrderProof [EQUIVALENT, 1477 ms] (83) QDP (84) UsableRulesProof [EQUIVALENT, 18 ms] (85) QDP (86) QDPOrderProof [EQUIVALENT, 29 ms] (87) QDP (88) QDPOrderProof [EQUIVALENT, 1396 ms] (89) QDP (90) QDPOrderProof [EQUIVALENT, 2975 ms] (91) QDP (92) QDPOrderProof [EQUIVALENT, 3834 ms] (93) QDP (94) SplitQDPProof [EQUIVALENT, 0 ms] (95) AND (96) QDP (97) SemLabProof [SOUND, 0 ms] (98) QDP (99) UsableRulesReductionPairsProof [EQUIVALENT, 0 ms] (100) QDP (101) DependencyGraphProof [EQUIVALENT, 0 ms] (102) QDP (103) MRRProof [EQUIVALENT, 13 ms] (104) QDP (105) QDPOrderProof [EQUIVALENT, 0 ms] (106) QDP (107) UsableRulesReductionPairsProof [EQUIVALENT, 1 ms] (108) QDP (109) PisEmptyProof [SOUND, 0 ms] (110) TRUE (111) QDP (112) SplitQDPProof [EQUIVALENT, 0 ms] (113) AND (114) QDP (115) SemLabProof [SOUND, 0 ms] (116) QDP (117) MRRProof [EQUIVALENT, 17 ms] (118) QDP (119) DependencyGraphProof [EQUIVALENT, 0 ms] (120) QDP (121) QDPOrderProof [EQUIVALENT, 27 ms] (122) QDP (123) UsableRulesReductionPairsProof [EQUIVALENT, 0 ms] (124) QDP (125) PisEmptyProof [SOUND, 0 ms] (126) TRUE (127) QDP (128) SplitQDPProof [EQUIVALENT, 0 ms] (129) AND (130) QDP (131) SemLabProof [SOUND, 0 ms] (132) QDP (133) MRRProof [EQUIVALENT, 0 ms] (134) QDP (135) DependencyGraphProof [EQUIVALENT, 0 ms] (136) QDP (137) UsableRulesReductionPairsProof [EQUIVALENT, 9 ms] (138) QDP (139) MRRProof [EQUIVALENT, 0 ms] (140) QDP (141) QDPOrderProof [EQUIVALENT, 16 ms] (142) QDP (143) UsableRulesReductionPairsProof [EQUIVALENT, 0 ms] (144) QDP (145) PisEmptyProof [SOUND, 0 ms] (146) TRUE (147) QDP ---------------------------------------- (0) Obligation: Term rewrite system R: The TRS R consists of the following rules: a -> f(a) a -> g(a) f(f(f(f(f(f(x)))))) -> b g(g(g(g(g(g(x)))))) -> b g(f(x)) -> b Outermost Strategy. ---------------------------------------- (1) Thiemann-SpecialC-Transformation (EQUIVALENT) We applied the Thiemann-SpecialC transformation to transform the outermost TRS to an innermost TRS. ---------------------------------------- (2) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: top(go_up(x)) -> top(reduce(x)) reduce(f(x_1)) -> check_f(redex_f(x_1)) reduce(g(x_1)) -> check_g(redex_g(x_1)) reduce(a) -> go_up(f(a)) reduce(a) -> go_up(g(a)) redex_f(f(f(f(f(f(x)))))) -> result_f(b) redex_g(g(g(g(g(g(x)))))) -> result_g(b) redex_g(f(x)) -> result_g(b) check_f(result_f(x)) -> go_up(x) check_g(result_g(x)) -> go_up(x) check_f(redex_f(x_1)) -> in_f_1(reduce(x_1)) check_g(redex_g(x_1)) -> in_g_1(reduce(x_1)) in_f_1(go_up(x_1)) -> go_up(f(x_1)) in_g_1(go_up(x_1)) -> go_up(g(x_1)) The set Q consists of the following terms: top(go_up(x0)) reduce(f(x0)) reduce(g(x0)) reduce(a) redex_f(f(f(f(f(f(x0)))))) redex_g(g(g(g(g(g(x0)))))) redex_g(f(x0)) check_f(result_f(x0)) check_g(result_g(x0)) check_f(redex_f(x0)) check_g(redex_g(x0)) in_f_1(go_up(x0)) in_g_1(go_up(x0)) ---------------------------------------- (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: TOP(go_up(x)) -> TOP(reduce(x)) TOP(go_up(x)) -> REDUCE(x) REDUCE(f(x_1)) -> CHECK_F(redex_f(x_1)) REDUCE(f(x_1)) -> REDEX_F(x_1) REDUCE(g(x_1)) -> CHECK_G(redex_g(x_1)) REDUCE(g(x_1)) -> REDEX_G(x_1) CHECK_F(redex_f(x_1)) -> IN_F_1(reduce(x_1)) CHECK_F(redex_f(x_1)) -> REDUCE(x_1) CHECK_G(redex_g(x_1)) -> IN_G_1(reduce(x_1)) CHECK_G(redex_g(x_1)) -> REDUCE(x_1) The TRS R consists of the following rules: top(go_up(x)) -> top(reduce(x)) reduce(f(x_1)) -> check_f(redex_f(x_1)) reduce(g(x_1)) -> check_g(redex_g(x_1)) reduce(a) -> go_up(f(a)) reduce(a) -> go_up(g(a)) redex_f(f(f(f(f(f(x)))))) -> result_f(b) redex_g(g(g(g(g(g(x)))))) -> result_g(b) redex_g(f(x)) -> result_g(b) check_f(result_f(x)) -> go_up(x) check_g(result_g(x)) -> go_up(x) check_f(redex_f(x_1)) -> in_f_1(reduce(x_1)) check_g(redex_g(x_1)) -> in_g_1(reduce(x_1)) in_f_1(go_up(x_1)) -> go_up(f(x_1)) in_g_1(go_up(x_1)) -> go_up(g(x_1)) The set Q consists of the following terms: top(go_up(x0)) reduce(f(x0)) reduce(g(x0)) reduce(a) redex_f(f(f(f(f(f(x0)))))) redex_g(g(g(g(g(g(x0)))))) redex_g(f(x0)) check_f(result_f(x0)) check_g(result_g(x0)) check_f(redex_f(x0)) check_g(redex_g(x0)) in_f_1(go_up(x0)) in_g_1(go_up(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (5) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 5 less nodes. ---------------------------------------- (6) Complex Obligation (AND) ---------------------------------------- (7) Obligation: Q DP problem: The TRS P consists of the following rules: REDUCE(g(x_1)) -> CHECK_G(redex_g(x_1)) CHECK_G(redex_g(x_1)) -> REDUCE(x_1) The TRS R consists of the following rules: top(go_up(x)) -> top(reduce(x)) reduce(f(x_1)) -> check_f(redex_f(x_1)) reduce(g(x_1)) -> check_g(redex_g(x_1)) reduce(a) -> go_up(f(a)) reduce(a) -> go_up(g(a)) redex_f(f(f(f(f(f(x)))))) -> result_f(b) redex_g(g(g(g(g(g(x)))))) -> result_g(b) redex_g(f(x)) -> result_g(b) check_f(result_f(x)) -> go_up(x) check_g(result_g(x)) -> go_up(x) check_f(redex_f(x_1)) -> in_f_1(reduce(x_1)) check_g(redex_g(x_1)) -> in_g_1(reduce(x_1)) in_f_1(go_up(x_1)) -> go_up(f(x_1)) in_g_1(go_up(x_1)) -> go_up(g(x_1)) The set Q consists of the following terms: top(go_up(x0)) reduce(f(x0)) reduce(g(x0)) reduce(a) redex_f(f(f(f(f(f(x0)))))) redex_g(g(g(g(g(g(x0)))))) redex_g(f(x0)) check_f(result_f(x0)) check_g(result_g(x0)) check_f(redex_f(x0)) check_g(redex_g(x0)) in_f_1(go_up(x0)) in_g_1(go_up(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (8) 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. ---------------------------------------- (9) Obligation: Q DP problem: The TRS P consists of the following rules: REDUCE(g(x_1)) -> CHECK_G(redex_g(x_1)) CHECK_G(redex_g(x_1)) -> REDUCE(x_1) The TRS R consists of the following rules: redex_g(g(g(g(g(g(x)))))) -> result_g(b) redex_g(f(x)) -> result_g(b) The set Q consists of the following terms: top(go_up(x0)) reduce(f(x0)) reduce(g(x0)) reduce(a) redex_f(f(f(f(f(f(x0)))))) redex_g(g(g(g(g(g(x0)))))) redex_g(f(x0)) check_f(result_f(x0)) check_g(result_g(x0)) check_f(redex_f(x0)) check_g(redex_g(x0)) in_f_1(go_up(x0)) in_g_1(go_up(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (10) 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(f(x0)) reduce(g(x0)) reduce(a) redex_f(f(f(f(f(f(x0)))))) check_f(result_f(x0)) check_g(result_g(x0)) check_f(redex_f(x0)) check_g(redex_g(x0)) in_f_1(go_up(x0)) in_g_1(go_up(x0)) ---------------------------------------- (11) Obligation: Q DP problem: The TRS P consists of the following rules: REDUCE(g(x_1)) -> CHECK_G(redex_g(x_1)) CHECK_G(redex_g(x_1)) -> REDUCE(x_1) The TRS R consists of the following rules: redex_g(g(g(g(g(g(x)))))) -> result_g(b) redex_g(f(x)) -> result_g(b) The set Q consists of the following terms: redex_g(g(g(g(g(g(x0)))))) redex_g(f(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (12) 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(g(x_1)) -> CHECK_G(redex_g(x_1)) The following rules are removed from R: redex_g(g(g(g(g(g(x)))))) -> result_g(b) redex_g(f(x)) -> result_g(b) Used ordering: POLO with Polynomial interpretation [POLO]: POL(CHECK_G(x_1)) = 2*x_1 POL(REDUCE(x_1)) = 2*x_1 POL(b) = 0 POL(f(x_1)) = x_1 POL(g(x_1)) = 2*x_1 POL(redex_g(x_1)) = x_1 POL(result_g(x_1)) = x_1 ---------------------------------------- (13) Obligation: Q DP problem: The TRS P consists of the following rules: CHECK_G(redex_g(x_1)) -> REDUCE(x_1) R is empty. The set Q consists of the following terms: redex_g(g(g(g(g(g(x0)))))) redex_g(f(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (14) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. ---------------------------------------- (15) TRUE ---------------------------------------- (16) Obligation: Q DP problem: The TRS P consists of the following rules: CHECK_F(redex_f(x_1)) -> REDUCE(x_1) REDUCE(f(x_1)) -> CHECK_F(redex_f(x_1)) The TRS R consists of the following rules: top(go_up(x)) -> top(reduce(x)) reduce(f(x_1)) -> check_f(redex_f(x_1)) reduce(g(x_1)) -> check_g(redex_g(x_1)) reduce(a) -> go_up(f(a)) reduce(a) -> go_up(g(a)) redex_f(f(f(f(f(f(x)))))) -> result_f(b) redex_g(g(g(g(g(g(x)))))) -> result_g(b) redex_g(f(x)) -> result_g(b) check_f(result_f(x)) -> go_up(x) check_g(result_g(x)) -> go_up(x) check_f(redex_f(x_1)) -> in_f_1(reduce(x_1)) check_g(redex_g(x_1)) -> in_g_1(reduce(x_1)) in_f_1(go_up(x_1)) -> go_up(f(x_1)) in_g_1(go_up(x_1)) -> go_up(g(x_1)) The set Q consists of the following terms: top(go_up(x0)) reduce(f(x0)) reduce(g(x0)) reduce(a) redex_f(f(f(f(f(f(x0)))))) redex_g(g(g(g(g(g(x0)))))) redex_g(f(x0)) check_f(result_f(x0)) check_g(result_g(x0)) check_f(redex_f(x0)) check_g(redex_g(x0)) in_f_1(go_up(x0)) in_g_1(go_up(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (17) 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. ---------------------------------------- (18) Obligation: Q DP problem: The TRS P consists of the following rules: CHECK_F(redex_f(x_1)) -> REDUCE(x_1) REDUCE(f(x_1)) -> CHECK_F(redex_f(x_1)) The TRS R consists of the following rules: redex_f(f(f(f(f(f(x)))))) -> result_f(b) The set Q consists of the following terms: top(go_up(x0)) reduce(f(x0)) reduce(g(x0)) reduce(a) redex_f(f(f(f(f(f(x0)))))) redex_g(g(g(g(g(g(x0)))))) redex_g(f(x0)) check_f(result_f(x0)) check_g(result_g(x0)) check_f(redex_f(x0)) check_g(redex_g(x0)) in_f_1(go_up(x0)) in_g_1(go_up(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (19) 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(f(x0)) reduce(g(x0)) reduce(a) redex_g(g(g(g(g(g(x0)))))) redex_g(f(x0)) check_f(result_f(x0)) check_g(result_g(x0)) check_f(redex_f(x0)) check_g(redex_g(x0)) in_f_1(go_up(x0)) in_g_1(go_up(x0)) ---------------------------------------- (20) Obligation: Q DP problem: The TRS P consists of the following rules: CHECK_F(redex_f(x_1)) -> REDUCE(x_1) REDUCE(f(x_1)) -> CHECK_F(redex_f(x_1)) The TRS R consists of the following rules: redex_f(f(f(f(f(f(x)))))) -> result_f(b) The set Q consists of the following terms: redex_f(f(f(f(f(f(x0)))))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (21) 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(f(x_1)) -> CHECK_F(redex_f(x_1)) The following rules are removed from R: redex_f(f(f(f(f(f(x)))))) -> result_f(b) Used ordering: POLO with Polynomial interpretation [POLO]: POL(CHECK_F(x_1)) = x_1 POL(REDUCE(x_1)) = 2*x_1 POL(b) = 0 POL(f(x_1)) = 2*x_1 POL(redex_f(x_1)) = 2*x_1 POL(result_f(x_1)) = x_1 ---------------------------------------- (22) Obligation: Q DP problem: The TRS P consists of the following rules: CHECK_F(redex_f(x_1)) -> REDUCE(x_1) R is empty. The set Q consists of the following terms: redex_f(f(f(f(f(f(x0)))))) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (23) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. ---------------------------------------- (24) TRUE ---------------------------------------- (25) 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(f(x_1)) -> check_f(redex_f(x_1)) reduce(g(x_1)) -> check_g(redex_g(x_1)) reduce(a) -> go_up(f(a)) reduce(a) -> go_up(g(a)) redex_f(f(f(f(f(f(x)))))) -> result_f(b) redex_g(g(g(g(g(g(x)))))) -> result_g(b) redex_g(f(x)) -> result_g(b) check_f(result_f(x)) -> go_up(x) check_g(result_g(x)) -> go_up(x) check_f(redex_f(x_1)) -> in_f_1(reduce(x_1)) check_g(redex_g(x_1)) -> in_g_1(reduce(x_1)) in_f_1(go_up(x_1)) -> go_up(f(x_1)) in_g_1(go_up(x_1)) -> go_up(g(x_1)) The set Q consists of the following terms: top(go_up(x0)) reduce(f(x0)) reduce(g(x0)) reduce(a) redex_f(f(f(f(f(f(x0)))))) redex_g(g(g(g(g(g(x0)))))) redex_g(f(x0)) check_f(result_f(x0)) check_g(result_g(x0)) check_f(redex_f(x0)) check_g(redex_g(x0)) in_f_1(go_up(x0)) in_g_1(go_up(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (26) 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. ---------------------------------------- (27) 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(f(x_1)) -> check_f(redex_f(x_1)) reduce(g(x_1)) -> check_g(redex_g(x_1)) reduce(a) -> go_up(f(a)) reduce(a) -> go_up(g(a)) redex_g(g(g(g(g(g(x)))))) -> result_g(b) redex_g(f(x)) -> result_g(b) check_g(result_g(x)) -> go_up(x) check_g(redex_g(x_1)) -> in_g_1(reduce(x_1)) in_g_1(go_up(x_1)) -> go_up(g(x_1)) redex_f(f(f(f(f(f(x)))))) -> result_f(b) check_f(result_f(x)) -> go_up(x) check_f(redex_f(x_1)) -> in_f_1(reduce(x_1)) in_f_1(go_up(x_1)) -> go_up(f(x_1)) The set Q consists of the following terms: top(go_up(x0)) reduce(f(x0)) reduce(g(x0)) reduce(a) redex_f(f(f(f(f(f(x0)))))) redex_g(g(g(g(g(g(x0)))))) redex_g(f(x0)) check_f(result_f(x0)) check_g(result_g(x0)) check_f(redex_f(x0)) check_g(redex_g(x0)) in_f_1(go_up(x0)) in_g_1(go_up(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (28) 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)) ---------------------------------------- (29) 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(f(x_1)) -> check_f(redex_f(x_1)) reduce(g(x_1)) -> check_g(redex_g(x_1)) reduce(a) -> go_up(f(a)) reduce(a) -> go_up(g(a)) redex_g(g(g(g(g(g(x)))))) -> result_g(b) redex_g(f(x)) -> result_g(b) check_g(result_g(x)) -> go_up(x) check_g(redex_g(x_1)) -> in_g_1(reduce(x_1)) in_g_1(go_up(x_1)) -> go_up(g(x_1)) redex_f(f(f(f(f(f(x)))))) -> result_f(b) check_f(result_f(x)) -> go_up(x) check_f(redex_f(x_1)) -> in_f_1(reduce(x_1)) in_f_1(go_up(x_1)) -> go_up(f(x_1)) The set Q consists of the following terms: reduce(f(x0)) reduce(g(x0)) reduce(a) redex_f(f(f(f(f(f(x0)))))) redex_g(g(g(g(g(g(x0)))))) redex_g(f(x0)) check_f(result_f(x0)) check_g(result_g(x0)) check_f(redex_f(x0)) check_g(redex_g(x0)) in_f_1(go_up(x0)) in_g_1(go_up(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (30) 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(f(x0))) -> TOP(check_f(redex_f(x0))),TOP(go_up(f(x0))) -> TOP(check_f(redex_f(x0)))) (TOP(go_up(g(x0))) -> TOP(check_g(redex_g(x0))),TOP(go_up(g(x0))) -> TOP(check_g(redex_g(x0)))) (TOP(go_up(a)) -> TOP(go_up(f(a))),TOP(go_up(a)) -> TOP(go_up(f(a)))) (TOP(go_up(a)) -> TOP(go_up(g(a))),TOP(go_up(a)) -> TOP(go_up(g(a)))) ---------------------------------------- (31) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(go_up(f(x0))) -> TOP(check_f(redex_f(x0))) TOP(go_up(g(x0))) -> TOP(check_g(redex_g(x0))) TOP(go_up(a)) -> TOP(go_up(f(a))) TOP(go_up(a)) -> TOP(go_up(g(a))) The TRS R consists of the following rules: reduce(f(x_1)) -> check_f(redex_f(x_1)) reduce(g(x_1)) -> check_g(redex_g(x_1)) reduce(a) -> go_up(f(a)) reduce(a) -> go_up(g(a)) redex_g(g(g(g(g(g(x)))))) -> result_g(b) redex_g(f(x)) -> result_g(b) check_g(result_g(x)) -> go_up(x) check_g(redex_g(x_1)) -> in_g_1(reduce(x_1)) in_g_1(go_up(x_1)) -> go_up(g(x_1)) redex_f(f(f(f(f(f(x)))))) -> result_f(b) check_f(result_f(x)) -> go_up(x) check_f(redex_f(x_1)) -> in_f_1(reduce(x_1)) in_f_1(go_up(x_1)) -> go_up(f(x_1)) The set Q consists of the following terms: reduce(f(x0)) reduce(g(x0)) reduce(a) redex_f(f(f(f(f(f(x0)))))) redex_g(g(g(g(g(g(x0)))))) redex_g(f(x0)) check_f(result_f(x0)) check_g(result_g(x0)) check_f(redex_f(x0)) check_g(redex_g(x0)) in_f_1(go_up(x0)) in_g_1(go_up(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (32) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. TOP(go_up(a)) -> TOP(go_up(f(a))) TOP(go_up(a)) -> TOP(go_up(g(a))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(TOP(x_1)) = x_1 POL(a) = 1 POL(b) = 0 POL(check_f(x_1)) = x_1 POL(check_g(x_1)) = x_1 POL(f(x_1)) = 0 POL(g(x_1)) = 0 POL(go_up(x_1)) = x_1 POL(in_f_1(x_1)) = 0 POL(in_g_1(x_1)) = 0 POL(redex_f(x_1)) = 0 POL(redex_g(x_1)) = 0 POL(reduce(x_1)) = 0 POL(result_f(x_1)) = x_1 POL(result_g(x_1)) = x_1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: redex_f(f(f(f(f(f(x)))))) -> result_f(b) check_f(result_f(x)) -> go_up(x) check_f(redex_f(x_1)) -> in_f_1(reduce(x_1)) redex_g(g(g(g(g(g(x)))))) -> result_g(b) redex_g(f(x)) -> result_g(b) check_g(result_g(x)) -> go_up(x) check_g(redex_g(x_1)) -> in_g_1(reduce(x_1)) reduce(g(x_1)) -> check_g(redex_g(x_1)) in_f_1(go_up(x_1)) -> go_up(f(x_1)) reduce(f(x_1)) -> check_f(redex_f(x_1)) in_g_1(go_up(x_1)) -> go_up(g(x_1)) ---------------------------------------- (33) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(go_up(f(x0))) -> TOP(check_f(redex_f(x0))) TOP(go_up(g(x0))) -> TOP(check_g(redex_g(x0))) The TRS R consists of the following rules: reduce(f(x_1)) -> check_f(redex_f(x_1)) reduce(g(x_1)) -> check_g(redex_g(x_1)) reduce(a) -> go_up(f(a)) reduce(a) -> go_up(g(a)) redex_g(g(g(g(g(g(x)))))) -> result_g(b) redex_g(f(x)) -> result_g(b) check_g(result_g(x)) -> go_up(x) check_g(redex_g(x_1)) -> in_g_1(reduce(x_1)) in_g_1(go_up(x_1)) -> go_up(g(x_1)) redex_f(f(f(f(f(f(x)))))) -> result_f(b) check_f(result_f(x)) -> go_up(x) check_f(redex_f(x_1)) -> in_f_1(reduce(x_1)) in_f_1(go_up(x_1)) -> go_up(f(x_1)) The set Q consists of the following terms: reduce(f(x0)) reduce(g(x0)) reduce(a) redex_f(f(f(f(f(f(x0)))))) redex_g(g(g(g(g(g(x0)))))) redex_g(f(x0)) check_f(result_f(x0)) check_g(result_g(x0)) check_f(redex_f(x0)) check_g(redex_g(x0)) in_f_1(go_up(x0)) in_g_1(go_up(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (34) 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. ---------------------------------------- (35) 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(f(x_1)) -> check_f(redex_f(x_1)) reduce(g(x_1)) -> check_g(redex_g(x_1)) reduce(a) -> go_up(f(a)) reduce(a) -> go_up(g(a)) redex_g(g(g(g(g(g(x)))))) -> result_g(b) redex_g(f(x)) -> result_g(b) check_g(result_g(x)) -> go_up(x) check_g(redex_g(x_1)) -> in_g_1(reduce(x_1)) in_g_1(go_up(x_1)) -> go_up(g(x_1)) redex_f(f(f(f(f(f(x)))))) -> result_f(b) check_f(result_f(x)) -> go_up(x) check_f(redex_f(x_1)) -> in_f_1(reduce(x_1)) in_f_1(go_up(x_1)) -> go_up(f(x_1)) The set Q consists of the following terms: top(go_up(x0)) reduce(f(x0)) reduce(g(x0)) reduce(a) redex_f(f(f(f(f(f(x0)))))) redex_g(g(g(g(g(g(x0)))))) redex_g(f(x0)) check_f(result_f(x0)) check_g(result_g(x0)) check_f(redex_f(x0)) check_g(redex_g(x0)) in_f_1(go_up(x0)) in_g_1(go_up(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (36) 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)) ---------------------------------------- (37) 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(f(x_1)) -> check_f(redex_f(x_1)) reduce(g(x_1)) -> check_g(redex_g(x_1)) reduce(a) -> go_up(f(a)) reduce(a) -> go_up(g(a)) redex_g(g(g(g(g(g(x)))))) -> result_g(b) redex_g(f(x)) -> result_g(b) check_g(result_g(x)) -> go_up(x) check_g(redex_g(x_1)) -> in_g_1(reduce(x_1)) in_g_1(go_up(x_1)) -> go_up(g(x_1)) redex_f(f(f(f(f(f(x)))))) -> result_f(b) check_f(result_f(x)) -> go_up(x) check_f(redex_f(x_1)) -> in_f_1(reduce(x_1)) in_f_1(go_up(x_1)) -> go_up(f(x_1)) The set Q consists of the following terms: reduce(f(x0)) reduce(g(x0)) reduce(a) redex_f(f(f(f(f(f(x0)))))) redex_g(g(g(g(g(g(x0)))))) redex_g(f(x0)) check_f(result_f(x0)) check_g(result_g(x0)) check_f(redex_f(x0)) check_g(redex_g(x0)) in_f_1(go_up(x0)) in_g_1(go_up(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (38) Trivial-Transformation (SOUND) We applied the Trivial transformation to transform the outermost TRS to a standard TRS. ---------------------------------------- (39) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: a -> f(a) a -> g(a) f(f(f(f(f(f(x)))))) -> b g(g(g(g(g(g(x)))))) -> b g(f(x)) -> b Q is empty. ---------------------------------------- (40) DependencyPairsProof (EQUIVALENT) Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. ---------------------------------------- (41) Obligation: Q DP problem: The TRS P consists of the following rules: A -> F(a) A -> A A -> G(a) The TRS R consists of the following rules: a -> f(a) a -> g(a) f(f(f(f(f(f(x)))))) -> b g(g(g(g(g(g(x)))))) -> b g(f(x)) -> b Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (42) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. ---------------------------------------- (43) Obligation: Q DP problem: The TRS P consists of the following rules: A -> A The TRS R consists of the following rules: a -> f(a) a -> g(a) f(f(f(f(f(f(x)))))) -> b g(g(g(g(g(g(x)))))) -> b g(f(x)) -> b Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (44) 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. ---------------------------------------- (45) Obligation: Q DP problem: The TRS P consists of the following rules: A -> A R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (46) 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 = A evaluates to t =A Thus s starts an infinite chain as s semiunifies with t with the following substitutions: * Matcher: [ ] * Semiunifier: [ ] -------------------------------------------------------------------------------- Rewriting sequence The DP semiunifies directly so there is only one rewrite step from A to A. ---------------------------------------- (47) NO ---------------------------------------- (48) Raffelsieper-Zantema-Transformation (SOUND) We applied the Raffelsieper-Zantema transformation to transform the outermost TRS to a standard TRS. ---------------------------------------- (49) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: down(a) -> up(f(a)) down(a) -> up(g(a)) down(f(f(f(f(f(f(x))))))) -> up(b) down(g(g(g(g(g(g(x))))))) -> up(b) down(g(f(x))) -> up(b) top(up(x)) -> top(down(x)) down(f(a)) -> f_flat(down(a)) down(f(g(y4))) -> f_flat(down(g(y4))) down(f(b)) -> f_flat(down(b)) down(f(fresh_constant)) -> f_flat(down(fresh_constant)) down(g(a)) -> g_flat(down(a)) down(g(b)) -> g_flat(down(b)) down(g(fresh_constant)) -> g_flat(down(fresh_constant)) down(f(f(a))) -> f_flat(down(f(a))) down(f(f(g(y10)))) -> f_flat(down(f(g(y10)))) down(f(f(b))) -> f_flat(down(f(b))) down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) down(g(g(a))) -> g_flat(down(g(a))) down(g(g(f(y12)))) -> g_flat(down(g(f(y12)))) down(g(g(b))) -> g_flat(down(g(b))) down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) down(f(f(f(a)))) -> f_flat(down(f(f(a)))) down(f(f(f(g(y16))))) -> f_flat(down(f(f(g(y16))))) down(f(f(f(b)))) -> f_flat(down(f(f(b)))) down(f(f(f(fresh_constant)))) -> f_flat(down(f(f(fresh_constant)))) down(g(g(g(a)))) -> g_flat(down(g(g(a)))) down(g(g(g(f(y18))))) -> g_flat(down(g(g(f(y18))))) down(g(g(g(b)))) -> g_flat(down(g(g(b)))) down(g(g(g(fresh_constant)))) -> g_flat(down(g(g(fresh_constant)))) down(f(f(f(f(a))))) -> f_flat(down(f(f(f(a))))) down(f(f(f(f(g(y22)))))) -> f_flat(down(f(f(f(g(y22)))))) down(f(f(f(f(b))))) -> f_flat(down(f(f(f(b))))) down(f(f(f(f(fresh_constant))))) -> f_flat(down(f(f(f(fresh_constant))))) down(g(g(g(g(a))))) -> g_flat(down(g(g(g(a))))) down(g(g(g(g(f(y24)))))) -> g_flat(down(g(g(g(f(y24)))))) down(g(g(g(g(b))))) -> g_flat(down(g(g(g(b))))) down(g(g(g(g(fresh_constant))))) -> g_flat(down(g(g(g(fresh_constant))))) down(f(f(f(f(f(a)))))) -> f_flat(down(f(f(f(f(a)))))) down(f(f(f(f(f(g(y28))))))) -> f_flat(down(f(f(f(f(g(y28))))))) down(f(f(f(f(f(b)))))) -> f_flat(down(f(f(f(f(b)))))) down(f(f(f(f(f(fresh_constant)))))) -> f_flat(down(f(f(f(f(fresh_constant)))))) down(g(g(g(g(g(a)))))) -> g_flat(down(g(g(g(g(a)))))) down(g(g(g(g(g(f(y30))))))) -> g_flat(down(g(g(g(g(f(y30))))))) down(g(g(g(g(g(b)))))) -> g_flat(down(g(g(g(g(b)))))) down(g(g(g(g(g(fresh_constant)))))) -> g_flat(down(g(g(g(g(fresh_constant)))))) f_flat(up(x_1)) -> up(f(x_1)) g_flat(up(x_1)) -> up(g(x_1)) Q is empty. ---------------------------------------- (50) DependencyPairsProof (EQUIVALENT) Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. ---------------------------------------- (51) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(up(x)) -> TOP(down(x)) TOP(up(x)) -> DOWN(x) DOWN(f(a)) -> F_FLAT(down(a)) DOWN(f(a)) -> DOWN(a) DOWN(f(g(y4))) -> F_FLAT(down(g(y4))) DOWN(f(g(y4))) -> DOWN(g(y4)) DOWN(f(b)) -> F_FLAT(down(b)) DOWN(f(b)) -> DOWN(b) DOWN(f(fresh_constant)) -> F_FLAT(down(fresh_constant)) DOWN(f(fresh_constant)) -> DOWN(fresh_constant) DOWN(g(a)) -> G_FLAT(down(a)) DOWN(g(a)) -> DOWN(a) DOWN(g(b)) -> G_FLAT(down(b)) DOWN(g(b)) -> DOWN(b) DOWN(g(fresh_constant)) -> G_FLAT(down(fresh_constant)) DOWN(g(fresh_constant)) -> DOWN(fresh_constant) DOWN(f(f(a))) -> F_FLAT(down(f(a))) DOWN(f(f(a))) -> DOWN(f(a)) DOWN(f(f(g(y10)))) -> F_FLAT(down(f(g(y10)))) DOWN(f(f(g(y10)))) -> DOWN(f(g(y10))) DOWN(f(f(b))) -> F_FLAT(down(f(b))) DOWN(f(f(b))) -> DOWN(f(b)) DOWN(f(f(fresh_constant))) -> F_FLAT(down(f(fresh_constant))) DOWN(f(f(fresh_constant))) -> DOWN(f(fresh_constant)) DOWN(g(g(a))) -> G_FLAT(down(g(a))) DOWN(g(g(a))) -> DOWN(g(a)) DOWN(g(g(f(y12)))) -> G_FLAT(down(g(f(y12)))) DOWN(g(g(f(y12)))) -> DOWN(g(f(y12))) DOWN(g(g(b))) -> G_FLAT(down(g(b))) DOWN(g(g(b))) -> DOWN(g(b)) DOWN(g(g(fresh_constant))) -> G_FLAT(down(g(fresh_constant))) DOWN(g(g(fresh_constant))) -> DOWN(g(fresh_constant)) DOWN(f(f(f(a)))) -> F_FLAT(down(f(f(a)))) DOWN(f(f(f(a)))) -> DOWN(f(f(a))) DOWN(f(f(f(g(y16))))) -> F_FLAT(down(f(f(g(y16))))) DOWN(f(f(f(g(y16))))) -> DOWN(f(f(g(y16)))) DOWN(f(f(f(b)))) -> F_FLAT(down(f(f(b)))) DOWN(f(f(f(b)))) -> DOWN(f(f(b))) DOWN(f(f(f(fresh_constant)))) -> F_FLAT(down(f(f(fresh_constant)))) DOWN(f(f(f(fresh_constant)))) -> DOWN(f(f(fresh_constant))) DOWN(g(g(g(a)))) -> G_FLAT(down(g(g(a)))) DOWN(g(g(g(a)))) -> DOWN(g(g(a))) DOWN(g(g(g(f(y18))))) -> G_FLAT(down(g(g(f(y18))))) DOWN(g(g(g(f(y18))))) -> DOWN(g(g(f(y18)))) DOWN(g(g(g(b)))) -> G_FLAT(down(g(g(b)))) DOWN(g(g(g(b)))) -> DOWN(g(g(b))) DOWN(g(g(g(fresh_constant)))) -> G_FLAT(down(g(g(fresh_constant)))) DOWN(g(g(g(fresh_constant)))) -> DOWN(g(g(fresh_constant))) DOWN(f(f(f(f(a))))) -> F_FLAT(down(f(f(f(a))))) DOWN(f(f(f(f(a))))) -> DOWN(f(f(f(a)))) DOWN(f(f(f(f(g(y22)))))) -> F_FLAT(down(f(f(f(g(y22)))))) DOWN(f(f(f(f(g(y22)))))) -> DOWN(f(f(f(g(y22))))) DOWN(f(f(f(f(b))))) -> F_FLAT(down(f(f(f(b))))) DOWN(f(f(f(f(b))))) -> DOWN(f(f(f(b)))) DOWN(f(f(f(f(fresh_constant))))) -> F_FLAT(down(f(f(f(fresh_constant))))) DOWN(f(f(f(f(fresh_constant))))) -> DOWN(f(f(f(fresh_constant)))) DOWN(g(g(g(g(a))))) -> G_FLAT(down(g(g(g(a))))) DOWN(g(g(g(g(a))))) -> DOWN(g(g(g(a)))) DOWN(g(g(g(g(f(y24)))))) -> G_FLAT(down(g(g(g(f(y24)))))) DOWN(g(g(g(g(f(y24)))))) -> DOWN(g(g(g(f(y24))))) DOWN(g(g(g(g(b))))) -> G_FLAT(down(g(g(g(b))))) DOWN(g(g(g(g(b))))) -> DOWN(g(g(g(b)))) DOWN(g(g(g(g(fresh_constant))))) -> G_FLAT(down(g(g(g(fresh_constant))))) DOWN(g(g(g(g(fresh_constant))))) -> DOWN(g(g(g(fresh_constant)))) DOWN(f(f(f(f(f(a)))))) -> F_FLAT(down(f(f(f(f(a)))))) DOWN(f(f(f(f(f(a)))))) -> DOWN(f(f(f(f(a))))) DOWN(f(f(f(f(f(g(y28))))))) -> F_FLAT(down(f(f(f(f(g(y28))))))) DOWN(f(f(f(f(f(g(y28))))))) -> DOWN(f(f(f(f(g(y28)))))) DOWN(f(f(f(f(f(b)))))) -> F_FLAT(down(f(f(f(f(b)))))) DOWN(f(f(f(f(f(b)))))) -> DOWN(f(f(f(f(b))))) DOWN(f(f(f(f(f(fresh_constant)))))) -> F_FLAT(down(f(f(f(f(fresh_constant)))))) DOWN(f(f(f(f(f(fresh_constant)))))) -> DOWN(f(f(f(f(fresh_constant))))) DOWN(g(g(g(g(g(a)))))) -> G_FLAT(down(g(g(g(g(a)))))) DOWN(g(g(g(g(g(a)))))) -> DOWN(g(g(g(g(a))))) DOWN(g(g(g(g(g(f(y30))))))) -> G_FLAT(down(g(g(g(g(f(y30))))))) DOWN(g(g(g(g(g(f(y30))))))) -> DOWN(g(g(g(g(f(y30)))))) DOWN(g(g(g(g(g(b)))))) -> G_FLAT(down(g(g(g(g(b)))))) DOWN(g(g(g(g(g(b)))))) -> DOWN(g(g(g(g(b))))) DOWN(g(g(g(g(g(fresh_constant)))))) -> G_FLAT(down(g(g(g(g(fresh_constant)))))) DOWN(g(g(g(g(g(fresh_constant)))))) -> DOWN(g(g(g(g(fresh_constant))))) The TRS R consists of the following rules: down(a) -> up(f(a)) down(a) -> up(g(a)) down(f(f(f(f(f(f(x))))))) -> up(b) down(g(g(g(g(g(g(x))))))) -> up(b) down(g(f(x))) -> up(b) top(up(x)) -> top(down(x)) down(f(a)) -> f_flat(down(a)) down(f(g(y4))) -> f_flat(down(g(y4))) down(f(b)) -> f_flat(down(b)) down(f(fresh_constant)) -> f_flat(down(fresh_constant)) down(g(a)) -> g_flat(down(a)) down(g(b)) -> g_flat(down(b)) down(g(fresh_constant)) -> g_flat(down(fresh_constant)) down(f(f(a))) -> f_flat(down(f(a))) down(f(f(g(y10)))) -> f_flat(down(f(g(y10)))) down(f(f(b))) -> f_flat(down(f(b))) down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) down(g(g(a))) -> g_flat(down(g(a))) down(g(g(f(y12)))) -> g_flat(down(g(f(y12)))) down(g(g(b))) -> g_flat(down(g(b))) down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) down(f(f(f(a)))) -> f_flat(down(f(f(a)))) down(f(f(f(g(y16))))) -> f_flat(down(f(f(g(y16))))) down(f(f(f(b)))) -> f_flat(down(f(f(b)))) down(f(f(f(fresh_constant)))) -> f_flat(down(f(f(fresh_constant)))) down(g(g(g(a)))) -> g_flat(down(g(g(a)))) down(g(g(g(f(y18))))) -> g_flat(down(g(g(f(y18))))) down(g(g(g(b)))) -> g_flat(down(g(g(b)))) down(g(g(g(fresh_constant)))) -> g_flat(down(g(g(fresh_constant)))) down(f(f(f(f(a))))) -> f_flat(down(f(f(f(a))))) down(f(f(f(f(g(y22)))))) -> f_flat(down(f(f(f(g(y22)))))) down(f(f(f(f(b))))) -> f_flat(down(f(f(f(b))))) down(f(f(f(f(fresh_constant))))) -> f_flat(down(f(f(f(fresh_constant))))) down(g(g(g(g(a))))) -> g_flat(down(g(g(g(a))))) down(g(g(g(g(f(y24)))))) -> g_flat(down(g(g(g(f(y24)))))) down(g(g(g(g(b))))) -> g_flat(down(g(g(g(b))))) down(g(g(g(g(fresh_constant))))) -> g_flat(down(g(g(g(fresh_constant))))) down(f(f(f(f(f(a)))))) -> f_flat(down(f(f(f(f(a)))))) down(f(f(f(f(f(g(y28))))))) -> f_flat(down(f(f(f(f(g(y28))))))) down(f(f(f(f(f(b)))))) -> f_flat(down(f(f(f(f(b)))))) down(f(f(f(f(f(fresh_constant)))))) -> f_flat(down(f(f(f(f(fresh_constant)))))) down(g(g(g(g(g(a)))))) -> g_flat(down(g(g(g(g(a)))))) down(g(g(g(g(g(f(y30))))))) -> g_flat(down(g(g(g(g(f(y30))))))) down(g(g(g(g(g(b)))))) -> g_flat(down(g(g(g(g(b)))))) down(g(g(g(g(g(fresh_constant)))))) -> g_flat(down(g(g(g(g(fresh_constant)))))) f_flat(up(x_1)) -> up(f(x_1)) g_flat(up(x_1)) -> up(g(x_1)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (52) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 79 less nodes. ---------------------------------------- (53) 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(a) -> up(f(a)) down(a) -> up(g(a)) down(f(f(f(f(f(f(x))))))) -> up(b) down(g(g(g(g(g(g(x))))))) -> up(b) down(g(f(x))) -> up(b) top(up(x)) -> top(down(x)) down(f(a)) -> f_flat(down(a)) down(f(g(y4))) -> f_flat(down(g(y4))) down(f(b)) -> f_flat(down(b)) down(f(fresh_constant)) -> f_flat(down(fresh_constant)) down(g(a)) -> g_flat(down(a)) down(g(b)) -> g_flat(down(b)) down(g(fresh_constant)) -> g_flat(down(fresh_constant)) down(f(f(a))) -> f_flat(down(f(a))) down(f(f(g(y10)))) -> f_flat(down(f(g(y10)))) down(f(f(b))) -> f_flat(down(f(b))) down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) down(g(g(a))) -> g_flat(down(g(a))) down(g(g(f(y12)))) -> g_flat(down(g(f(y12)))) down(g(g(b))) -> g_flat(down(g(b))) down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) down(f(f(f(a)))) -> f_flat(down(f(f(a)))) down(f(f(f(g(y16))))) -> f_flat(down(f(f(g(y16))))) down(f(f(f(b)))) -> f_flat(down(f(f(b)))) down(f(f(f(fresh_constant)))) -> f_flat(down(f(f(fresh_constant)))) down(g(g(g(a)))) -> g_flat(down(g(g(a)))) down(g(g(g(f(y18))))) -> g_flat(down(g(g(f(y18))))) down(g(g(g(b)))) -> g_flat(down(g(g(b)))) down(g(g(g(fresh_constant)))) -> g_flat(down(g(g(fresh_constant)))) down(f(f(f(f(a))))) -> f_flat(down(f(f(f(a))))) down(f(f(f(f(g(y22)))))) -> f_flat(down(f(f(f(g(y22)))))) down(f(f(f(f(b))))) -> f_flat(down(f(f(f(b))))) down(f(f(f(f(fresh_constant))))) -> f_flat(down(f(f(f(fresh_constant))))) down(g(g(g(g(a))))) -> g_flat(down(g(g(g(a))))) down(g(g(g(g(f(y24)))))) -> g_flat(down(g(g(g(f(y24)))))) down(g(g(g(g(b))))) -> g_flat(down(g(g(g(b))))) down(g(g(g(g(fresh_constant))))) -> g_flat(down(g(g(g(fresh_constant))))) down(f(f(f(f(f(a)))))) -> f_flat(down(f(f(f(f(a)))))) down(f(f(f(f(f(g(y28))))))) -> f_flat(down(f(f(f(f(g(y28))))))) down(f(f(f(f(f(b)))))) -> f_flat(down(f(f(f(f(b)))))) down(f(f(f(f(f(fresh_constant)))))) -> f_flat(down(f(f(f(f(fresh_constant)))))) down(g(g(g(g(g(a)))))) -> g_flat(down(g(g(g(g(a)))))) down(g(g(g(g(g(f(y30))))))) -> g_flat(down(g(g(g(g(f(y30))))))) down(g(g(g(g(g(b)))))) -> g_flat(down(g(g(g(g(b)))))) down(g(g(g(g(g(fresh_constant)))))) -> g_flat(down(g(g(g(g(fresh_constant)))))) f_flat(up(x_1)) -> up(f(x_1)) g_flat(up(x_1)) -> up(g(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: TOP(up(x)) -> TOP(down(x)) The TRS R consists of the following rules: down(a) -> up(f(a)) down(a) -> up(g(a)) down(f(f(f(f(f(f(x))))))) -> up(b) down(g(g(g(g(g(g(x))))))) -> up(b) down(g(f(x))) -> up(b) down(f(a)) -> f_flat(down(a)) down(f(g(y4))) -> f_flat(down(g(y4))) down(f(b)) -> f_flat(down(b)) down(f(fresh_constant)) -> f_flat(down(fresh_constant)) down(g(a)) -> g_flat(down(a)) down(g(b)) -> g_flat(down(b)) down(g(fresh_constant)) -> g_flat(down(fresh_constant)) down(f(f(a))) -> f_flat(down(f(a))) down(f(f(g(y10)))) -> f_flat(down(f(g(y10)))) down(f(f(b))) -> f_flat(down(f(b))) down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) down(g(g(a))) -> g_flat(down(g(a))) down(g(g(f(y12)))) -> g_flat(down(g(f(y12)))) down(g(g(b))) -> g_flat(down(g(b))) down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) down(f(f(f(a)))) -> f_flat(down(f(f(a)))) down(f(f(f(g(y16))))) -> f_flat(down(f(f(g(y16))))) down(f(f(f(b)))) -> f_flat(down(f(f(b)))) down(f(f(f(fresh_constant)))) -> f_flat(down(f(f(fresh_constant)))) down(g(g(g(a)))) -> g_flat(down(g(g(a)))) down(g(g(g(f(y18))))) -> g_flat(down(g(g(f(y18))))) down(g(g(g(b)))) -> g_flat(down(g(g(b)))) down(g(g(g(fresh_constant)))) -> g_flat(down(g(g(fresh_constant)))) down(f(f(f(f(a))))) -> f_flat(down(f(f(f(a))))) down(f(f(f(f(g(y22)))))) -> f_flat(down(f(f(f(g(y22)))))) down(f(f(f(f(b))))) -> f_flat(down(f(f(f(b))))) down(f(f(f(f(fresh_constant))))) -> f_flat(down(f(f(f(fresh_constant))))) down(g(g(g(g(a))))) -> g_flat(down(g(g(g(a))))) down(g(g(g(g(f(y24)))))) -> g_flat(down(g(g(g(f(y24)))))) down(g(g(g(g(b))))) -> g_flat(down(g(g(g(b))))) down(g(g(g(g(fresh_constant))))) -> g_flat(down(g(g(g(fresh_constant))))) down(f(f(f(f(f(a)))))) -> f_flat(down(f(f(f(f(a)))))) down(f(f(f(f(f(g(y28))))))) -> f_flat(down(f(f(f(f(g(y28))))))) down(f(f(f(f(f(b)))))) -> f_flat(down(f(f(f(f(b)))))) down(f(f(f(f(f(fresh_constant)))))) -> f_flat(down(f(f(f(f(fresh_constant)))))) down(g(g(g(g(g(a)))))) -> g_flat(down(g(g(g(g(a)))))) down(g(g(g(g(g(f(y30))))))) -> g_flat(down(g(g(g(g(f(y30))))))) down(g(g(g(g(g(b)))))) -> g_flat(down(g(g(g(g(b)))))) down(g(g(g(g(g(fresh_constant)))))) -> g_flat(down(g(g(g(g(fresh_constant)))))) g_flat(up(x_1)) -> up(g(x_1)) f_flat(up(x_1)) -> up(f(x_1)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (56) 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(a)) -> TOP(up(f(a))),TOP(up(a)) -> TOP(up(f(a)))) (TOP(up(a)) -> TOP(up(g(a))),TOP(up(a)) -> TOP(up(g(a)))) (TOP(up(f(f(f(f(f(f(x0)))))))) -> TOP(up(b)),TOP(up(f(f(f(f(f(f(x0)))))))) -> TOP(up(b))) (TOP(up(g(g(g(g(g(g(x0)))))))) -> TOP(up(b)),TOP(up(g(g(g(g(g(g(x0)))))))) -> TOP(up(b))) (TOP(up(g(f(x0)))) -> TOP(up(b)),TOP(up(g(f(x0)))) -> TOP(up(b))) (TOP(up(f(a))) -> TOP(f_flat(down(a))),TOP(up(f(a))) -> TOP(f_flat(down(a)))) (TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))),TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0))))) (TOP(up(f(b))) -> TOP(f_flat(down(b))),TOP(up(f(b))) -> TOP(f_flat(down(b)))) (TOP(up(f(fresh_constant))) -> TOP(f_flat(down(fresh_constant))),TOP(up(f(fresh_constant))) -> TOP(f_flat(down(fresh_constant)))) (TOP(up(g(a))) -> TOP(g_flat(down(a))),TOP(up(g(a))) -> TOP(g_flat(down(a)))) (TOP(up(g(b))) -> TOP(g_flat(down(b))),TOP(up(g(b))) -> TOP(g_flat(down(b)))) (TOP(up(g(fresh_constant))) -> TOP(g_flat(down(fresh_constant))),TOP(up(g(fresh_constant))) -> TOP(g_flat(down(fresh_constant)))) (TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))),TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a))))) (TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))),TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0)))))) (TOP(up(f(f(b)))) -> TOP(f_flat(down(f(b)))),TOP(up(f(f(b)))) -> TOP(f_flat(down(f(b))))) (TOP(up(f(f(fresh_constant)))) -> TOP(f_flat(down(f(fresh_constant)))),TOP(up(f(f(fresh_constant)))) -> TOP(f_flat(down(f(fresh_constant))))) (TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))),TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a))))) (TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))),TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0)))))) (TOP(up(g(g(b)))) -> TOP(g_flat(down(g(b)))),TOP(up(g(g(b)))) -> TOP(g_flat(down(g(b))))) (TOP(up(g(g(fresh_constant)))) -> TOP(g_flat(down(g(fresh_constant)))),TOP(up(g(g(fresh_constant)))) -> TOP(g_flat(down(g(fresh_constant))))) (TOP(up(f(f(f(a))))) -> TOP(f_flat(down(f(f(a))))),TOP(up(f(f(f(a))))) -> TOP(f_flat(down(f(f(a)))))) (TOP(up(f(f(f(g(x0)))))) -> TOP(f_flat(down(f(f(g(x0)))))),TOP(up(f(f(f(g(x0)))))) -> TOP(f_flat(down(f(f(g(x0))))))) (TOP(up(f(f(f(b))))) -> TOP(f_flat(down(f(f(b))))),TOP(up(f(f(f(b))))) -> TOP(f_flat(down(f(f(b)))))) (TOP(up(f(f(f(fresh_constant))))) -> TOP(f_flat(down(f(f(fresh_constant))))),TOP(up(f(f(f(fresh_constant))))) -> TOP(f_flat(down(f(f(fresh_constant)))))) (TOP(up(g(g(g(a))))) -> TOP(g_flat(down(g(g(a))))),TOP(up(g(g(g(a))))) -> TOP(g_flat(down(g(g(a)))))) (TOP(up(g(g(g(f(x0)))))) -> TOP(g_flat(down(g(g(f(x0)))))),TOP(up(g(g(g(f(x0)))))) -> TOP(g_flat(down(g(g(f(x0))))))) (TOP(up(g(g(g(b))))) -> TOP(g_flat(down(g(g(b))))),TOP(up(g(g(g(b))))) -> TOP(g_flat(down(g(g(b)))))) (TOP(up(g(g(g(fresh_constant))))) -> TOP(g_flat(down(g(g(fresh_constant))))),TOP(up(g(g(g(fresh_constant))))) -> TOP(g_flat(down(g(g(fresh_constant)))))) (TOP(up(f(f(f(f(a)))))) -> TOP(f_flat(down(f(f(f(a)))))),TOP(up(f(f(f(f(a)))))) -> TOP(f_flat(down(f(f(f(a))))))) (TOP(up(f(f(f(f(g(x0))))))) -> TOP(f_flat(down(f(f(f(g(x0))))))),TOP(up(f(f(f(f(g(x0))))))) -> TOP(f_flat(down(f(f(f(g(x0)))))))) (TOP(up(f(f(f(f(b)))))) -> TOP(f_flat(down(f(f(f(b)))))),TOP(up(f(f(f(f(b)))))) -> TOP(f_flat(down(f(f(f(b))))))) (TOP(up(f(f(f(f(fresh_constant)))))) -> TOP(f_flat(down(f(f(f(fresh_constant)))))),TOP(up(f(f(f(f(fresh_constant)))))) -> TOP(f_flat(down(f(f(f(fresh_constant))))))) (TOP(up(g(g(g(g(a)))))) -> TOP(g_flat(down(g(g(g(a)))))),TOP(up(g(g(g(g(a)))))) -> TOP(g_flat(down(g(g(g(a))))))) (TOP(up(g(g(g(g(f(x0))))))) -> TOP(g_flat(down(g(g(g(f(x0))))))),TOP(up(g(g(g(g(f(x0))))))) -> TOP(g_flat(down(g(g(g(f(x0)))))))) (TOP(up(g(g(g(g(b)))))) -> TOP(g_flat(down(g(g(g(b)))))),TOP(up(g(g(g(g(b)))))) -> TOP(g_flat(down(g(g(g(b))))))) (TOP(up(g(g(g(g(fresh_constant)))))) -> TOP(g_flat(down(g(g(g(fresh_constant)))))),TOP(up(g(g(g(g(fresh_constant)))))) -> TOP(g_flat(down(g(g(g(fresh_constant))))))) (TOP(up(f(f(f(f(f(a))))))) -> TOP(f_flat(down(f(f(f(f(a))))))),TOP(up(f(f(f(f(f(a))))))) -> TOP(f_flat(down(f(f(f(f(a)))))))) (TOP(up(f(f(f(f(f(g(x0)))))))) -> TOP(f_flat(down(f(f(f(f(g(x0)))))))),TOP(up(f(f(f(f(f(g(x0)))))))) -> TOP(f_flat(down(f(f(f(f(g(x0))))))))) (TOP(up(f(f(f(f(f(b))))))) -> TOP(f_flat(down(f(f(f(f(b))))))),TOP(up(f(f(f(f(f(b))))))) -> TOP(f_flat(down(f(f(f(f(b)))))))) (TOP(up(f(f(f(f(f(fresh_constant))))))) -> TOP(f_flat(down(f(f(f(f(fresh_constant))))))),TOP(up(f(f(f(f(f(fresh_constant))))))) -> TOP(f_flat(down(f(f(f(f(fresh_constant)))))))) (TOP(up(g(g(g(g(g(a))))))) -> TOP(g_flat(down(g(g(g(g(a))))))),TOP(up(g(g(g(g(g(a))))))) -> TOP(g_flat(down(g(g(g(g(a)))))))) (TOP(up(g(g(g(g(g(f(x0)))))))) -> TOP(g_flat(down(g(g(g(g(f(x0)))))))),TOP(up(g(g(g(g(g(f(x0)))))))) -> TOP(g_flat(down(g(g(g(g(f(x0))))))))) (TOP(up(g(g(g(g(g(b))))))) -> TOP(g_flat(down(g(g(g(g(b))))))),TOP(up(g(g(g(g(g(b))))))) -> TOP(g_flat(down(g(g(g(g(b)))))))) (TOP(up(g(g(g(g(g(fresh_constant))))))) -> TOP(g_flat(down(g(g(g(g(fresh_constant))))))),TOP(up(g(g(g(g(g(fresh_constant))))))) -> TOP(g_flat(down(g(g(g(g(fresh_constant)))))))) ---------------------------------------- (57) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(up(a)) -> TOP(up(f(a))) TOP(up(a)) -> TOP(up(g(a))) TOP(up(f(f(f(f(f(f(x0)))))))) -> TOP(up(b)) TOP(up(g(g(g(g(g(g(x0)))))))) -> TOP(up(b)) TOP(up(g(f(x0)))) -> TOP(up(b)) TOP(up(f(a))) -> TOP(f_flat(down(a))) TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) TOP(up(f(b))) -> TOP(f_flat(down(b))) TOP(up(f(fresh_constant))) -> TOP(f_flat(down(fresh_constant))) TOP(up(g(a))) -> TOP(g_flat(down(a))) TOP(up(g(b))) -> TOP(g_flat(down(b))) TOP(up(g(fresh_constant))) -> TOP(g_flat(down(fresh_constant))) TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) TOP(up(f(f(b)))) -> TOP(f_flat(down(f(b)))) TOP(up(f(f(fresh_constant)))) -> TOP(f_flat(down(f(fresh_constant)))) TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) TOP(up(g(g(b)))) -> TOP(g_flat(down(g(b)))) TOP(up(g(g(fresh_constant)))) -> TOP(g_flat(down(g(fresh_constant)))) TOP(up(f(f(f(a))))) -> TOP(f_flat(down(f(f(a))))) TOP(up(f(f(f(g(x0)))))) -> TOP(f_flat(down(f(f(g(x0)))))) TOP(up(f(f(f(b))))) -> TOP(f_flat(down(f(f(b))))) TOP(up(f(f(f(fresh_constant))))) -> TOP(f_flat(down(f(f(fresh_constant))))) TOP(up(g(g(g(a))))) -> TOP(g_flat(down(g(g(a))))) TOP(up(g(g(g(f(x0)))))) -> TOP(g_flat(down(g(g(f(x0)))))) TOP(up(g(g(g(b))))) -> TOP(g_flat(down(g(g(b))))) TOP(up(g(g(g(fresh_constant))))) -> TOP(g_flat(down(g(g(fresh_constant))))) TOP(up(f(f(f(f(a)))))) -> TOP(f_flat(down(f(f(f(a)))))) TOP(up(f(f(f(f(g(x0))))))) -> TOP(f_flat(down(f(f(f(g(x0))))))) TOP(up(f(f(f(f(b)))))) -> TOP(f_flat(down(f(f(f(b)))))) TOP(up(f(f(f(f(fresh_constant)))))) -> TOP(f_flat(down(f(f(f(fresh_constant)))))) TOP(up(g(g(g(g(a)))))) -> TOP(g_flat(down(g(g(g(a)))))) TOP(up(g(g(g(g(f(x0))))))) -> TOP(g_flat(down(g(g(g(f(x0))))))) TOP(up(g(g(g(g(b)))))) -> TOP(g_flat(down(g(g(g(b)))))) TOP(up(g(g(g(g(fresh_constant)))))) -> TOP(g_flat(down(g(g(g(fresh_constant)))))) TOP(up(f(f(f(f(f(a))))))) -> TOP(f_flat(down(f(f(f(f(a))))))) TOP(up(f(f(f(f(f(g(x0)))))))) -> TOP(f_flat(down(f(f(f(f(g(x0)))))))) TOP(up(f(f(f(f(f(b))))))) -> TOP(f_flat(down(f(f(f(f(b))))))) TOP(up(f(f(f(f(f(fresh_constant))))))) -> TOP(f_flat(down(f(f(f(f(fresh_constant))))))) TOP(up(g(g(g(g(g(a))))))) -> TOP(g_flat(down(g(g(g(g(a))))))) TOP(up(g(g(g(g(g(f(x0)))))))) -> TOP(g_flat(down(g(g(g(g(f(x0)))))))) TOP(up(g(g(g(g(g(b))))))) -> TOP(g_flat(down(g(g(g(g(b))))))) TOP(up(g(g(g(g(g(fresh_constant))))))) -> TOP(g_flat(down(g(g(g(g(fresh_constant))))))) The TRS R consists of the following rules: down(a) -> up(f(a)) down(a) -> up(g(a)) down(f(f(f(f(f(f(x))))))) -> up(b) down(g(g(g(g(g(g(x))))))) -> up(b) down(g(f(x))) -> up(b) down(f(a)) -> f_flat(down(a)) down(f(g(y4))) -> f_flat(down(g(y4))) down(f(b)) -> f_flat(down(b)) down(f(fresh_constant)) -> f_flat(down(fresh_constant)) down(g(a)) -> g_flat(down(a)) down(g(b)) -> g_flat(down(b)) down(g(fresh_constant)) -> g_flat(down(fresh_constant)) down(f(f(a))) -> f_flat(down(f(a))) down(f(f(g(y10)))) -> f_flat(down(f(g(y10)))) down(f(f(b))) -> f_flat(down(f(b))) down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) down(g(g(a))) -> g_flat(down(g(a))) down(g(g(f(y12)))) -> g_flat(down(g(f(y12)))) down(g(g(b))) -> g_flat(down(g(b))) down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) down(f(f(f(a)))) -> f_flat(down(f(f(a)))) down(f(f(f(g(y16))))) -> f_flat(down(f(f(g(y16))))) down(f(f(f(b)))) -> f_flat(down(f(f(b)))) down(f(f(f(fresh_constant)))) -> f_flat(down(f(f(fresh_constant)))) down(g(g(g(a)))) -> g_flat(down(g(g(a)))) down(g(g(g(f(y18))))) -> g_flat(down(g(g(f(y18))))) down(g(g(g(b)))) -> g_flat(down(g(g(b)))) down(g(g(g(fresh_constant)))) -> g_flat(down(g(g(fresh_constant)))) down(f(f(f(f(a))))) -> f_flat(down(f(f(f(a))))) down(f(f(f(f(g(y22)))))) -> f_flat(down(f(f(f(g(y22)))))) down(f(f(f(f(b))))) -> f_flat(down(f(f(f(b))))) down(f(f(f(f(fresh_constant))))) -> f_flat(down(f(f(f(fresh_constant))))) down(g(g(g(g(a))))) -> g_flat(down(g(g(g(a))))) down(g(g(g(g(f(y24)))))) -> g_flat(down(g(g(g(f(y24)))))) down(g(g(g(g(b))))) -> g_flat(down(g(g(g(b))))) down(g(g(g(g(fresh_constant))))) -> g_flat(down(g(g(g(fresh_constant))))) down(f(f(f(f(f(a)))))) -> f_flat(down(f(f(f(f(a)))))) down(f(f(f(f(f(g(y28))))))) -> f_flat(down(f(f(f(f(g(y28))))))) down(f(f(f(f(f(b)))))) -> f_flat(down(f(f(f(f(b)))))) down(f(f(f(f(f(fresh_constant)))))) -> f_flat(down(f(f(f(f(fresh_constant)))))) down(g(g(g(g(g(a)))))) -> g_flat(down(g(g(g(g(a)))))) down(g(g(g(g(g(f(y30))))))) -> g_flat(down(g(g(g(g(f(y30))))))) down(g(g(g(g(g(b)))))) -> g_flat(down(g(g(g(g(b)))))) down(g(g(g(g(g(fresh_constant)))))) -> g_flat(down(g(g(g(g(fresh_constant)))))) g_flat(up(x_1)) -> up(g(x_1)) f_flat(up(x_1)) -> up(f(x_1)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (58) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 9 less nodes. ---------------------------------------- (59) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(up(f(a))) -> TOP(f_flat(down(a))) TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) TOP(up(g(a))) -> TOP(g_flat(down(a))) TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) TOP(up(f(f(b)))) -> TOP(f_flat(down(f(b)))) TOP(up(f(f(fresh_constant)))) -> TOP(f_flat(down(f(fresh_constant)))) TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) TOP(up(g(g(b)))) -> TOP(g_flat(down(g(b)))) TOP(up(g(g(fresh_constant)))) -> TOP(g_flat(down(g(fresh_constant)))) TOP(up(f(f(f(a))))) -> TOP(f_flat(down(f(f(a))))) TOP(up(f(f(f(g(x0)))))) -> TOP(f_flat(down(f(f(g(x0)))))) TOP(up(f(f(f(b))))) -> TOP(f_flat(down(f(f(b))))) TOP(up(f(f(f(fresh_constant))))) -> TOP(f_flat(down(f(f(fresh_constant))))) TOP(up(g(g(g(a))))) -> TOP(g_flat(down(g(g(a))))) TOP(up(g(g(g(f(x0)))))) -> TOP(g_flat(down(g(g(f(x0)))))) TOP(up(g(g(g(b))))) -> TOP(g_flat(down(g(g(b))))) TOP(up(g(g(g(fresh_constant))))) -> TOP(g_flat(down(g(g(fresh_constant))))) TOP(up(f(f(f(f(a)))))) -> TOP(f_flat(down(f(f(f(a)))))) TOP(up(f(f(f(f(g(x0))))))) -> TOP(f_flat(down(f(f(f(g(x0))))))) TOP(up(f(f(f(f(b)))))) -> TOP(f_flat(down(f(f(f(b)))))) TOP(up(f(f(f(f(fresh_constant)))))) -> TOP(f_flat(down(f(f(f(fresh_constant)))))) TOP(up(g(g(g(g(a)))))) -> TOP(g_flat(down(g(g(g(a)))))) TOP(up(g(g(g(g(f(x0))))))) -> TOP(g_flat(down(g(g(g(f(x0))))))) TOP(up(g(g(g(g(b)))))) -> TOP(g_flat(down(g(g(g(b)))))) TOP(up(g(g(g(g(fresh_constant)))))) -> TOP(g_flat(down(g(g(g(fresh_constant)))))) TOP(up(f(f(f(f(f(a))))))) -> TOP(f_flat(down(f(f(f(f(a))))))) TOP(up(f(f(f(f(f(g(x0)))))))) -> TOP(f_flat(down(f(f(f(f(g(x0)))))))) TOP(up(f(f(f(f(f(b))))))) -> TOP(f_flat(down(f(f(f(f(b))))))) TOP(up(f(f(f(f(f(fresh_constant))))))) -> TOP(f_flat(down(f(f(f(f(fresh_constant))))))) TOP(up(g(g(g(g(g(a))))))) -> TOP(g_flat(down(g(g(g(g(a))))))) TOP(up(g(g(g(g(g(f(x0)))))))) -> TOP(g_flat(down(g(g(g(g(f(x0)))))))) TOP(up(g(g(g(g(g(b))))))) -> TOP(g_flat(down(g(g(g(g(b))))))) TOP(up(g(g(g(g(g(fresh_constant))))))) -> TOP(g_flat(down(g(g(g(g(fresh_constant))))))) The TRS R consists of the following rules: down(a) -> up(f(a)) down(a) -> up(g(a)) down(f(f(f(f(f(f(x))))))) -> up(b) down(g(g(g(g(g(g(x))))))) -> up(b) down(g(f(x))) -> up(b) down(f(a)) -> f_flat(down(a)) down(f(g(y4))) -> f_flat(down(g(y4))) down(f(b)) -> f_flat(down(b)) down(f(fresh_constant)) -> f_flat(down(fresh_constant)) down(g(a)) -> g_flat(down(a)) down(g(b)) -> g_flat(down(b)) down(g(fresh_constant)) -> g_flat(down(fresh_constant)) down(f(f(a))) -> f_flat(down(f(a))) down(f(f(g(y10)))) -> f_flat(down(f(g(y10)))) down(f(f(b))) -> f_flat(down(f(b))) down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) down(g(g(a))) -> g_flat(down(g(a))) down(g(g(f(y12)))) -> g_flat(down(g(f(y12)))) down(g(g(b))) -> g_flat(down(g(b))) down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) down(f(f(f(a)))) -> f_flat(down(f(f(a)))) down(f(f(f(g(y16))))) -> f_flat(down(f(f(g(y16))))) down(f(f(f(b)))) -> f_flat(down(f(f(b)))) down(f(f(f(fresh_constant)))) -> f_flat(down(f(f(fresh_constant)))) down(g(g(g(a)))) -> g_flat(down(g(g(a)))) down(g(g(g(f(y18))))) -> g_flat(down(g(g(f(y18))))) down(g(g(g(b)))) -> g_flat(down(g(g(b)))) down(g(g(g(fresh_constant)))) -> g_flat(down(g(g(fresh_constant)))) down(f(f(f(f(a))))) -> f_flat(down(f(f(f(a))))) down(f(f(f(f(g(y22)))))) -> f_flat(down(f(f(f(g(y22)))))) down(f(f(f(f(b))))) -> f_flat(down(f(f(f(b))))) down(f(f(f(f(fresh_constant))))) -> f_flat(down(f(f(f(fresh_constant))))) down(g(g(g(g(a))))) -> g_flat(down(g(g(g(a))))) down(g(g(g(g(f(y24)))))) -> g_flat(down(g(g(g(f(y24)))))) down(g(g(g(g(b))))) -> g_flat(down(g(g(g(b))))) down(g(g(g(g(fresh_constant))))) -> g_flat(down(g(g(g(fresh_constant))))) down(f(f(f(f(f(a)))))) -> f_flat(down(f(f(f(f(a)))))) down(f(f(f(f(f(g(y28))))))) -> f_flat(down(f(f(f(f(g(y28))))))) down(f(f(f(f(f(b)))))) -> f_flat(down(f(f(f(f(b)))))) down(f(f(f(f(f(fresh_constant)))))) -> f_flat(down(f(f(f(f(fresh_constant)))))) down(g(g(g(g(g(a)))))) -> g_flat(down(g(g(g(g(a)))))) down(g(g(g(g(g(f(y30))))))) -> g_flat(down(g(g(g(g(f(y30))))))) down(g(g(g(g(g(b)))))) -> g_flat(down(g(g(g(g(b)))))) down(g(g(g(g(g(fresh_constant)))))) -> g_flat(down(g(g(g(g(fresh_constant)))))) g_flat(up(x_1)) -> up(g(x_1)) f_flat(up(x_1)) -> up(f(x_1)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (60) 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. ---------------------------------------- (61) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(up(f(a))) -> TOP(f_flat(down(a))) TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) TOP(up(g(a))) -> TOP(g_flat(down(a))) TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) TOP(up(f(f(b)))) -> TOP(f_flat(down(f(b)))) TOP(up(f(f(fresh_constant)))) -> TOP(f_flat(down(f(fresh_constant)))) TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) TOP(up(g(g(b)))) -> TOP(g_flat(down(g(b)))) TOP(up(g(g(fresh_constant)))) -> TOP(g_flat(down(g(fresh_constant)))) TOP(up(f(f(f(a))))) -> TOP(f_flat(down(f(f(a))))) TOP(up(f(f(f(g(x0)))))) -> TOP(f_flat(down(f(f(g(x0)))))) TOP(up(f(f(f(b))))) -> TOP(f_flat(down(f(f(b))))) TOP(up(f(f(f(fresh_constant))))) -> TOP(f_flat(down(f(f(fresh_constant))))) TOP(up(g(g(g(a))))) -> TOP(g_flat(down(g(g(a))))) TOP(up(g(g(g(f(x0)))))) -> TOP(g_flat(down(g(g(f(x0)))))) TOP(up(g(g(g(b))))) -> TOP(g_flat(down(g(g(b))))) TOP(up(g(g(g(fresh_constant))))) -> TOP(g_flat(down(g(g(fresh_constant))))) TOP(up(f(f(f(f(a)))))) -> TOP(f_flat(down(f(f(f(a)))))) TOP(up(f(f(f(f(g(x0))))))) -> TOP(f_flat(down(f(f(f(g(x0))))))) TOP(up(f(f(f(f(b)))))) -> TOP(f_flat(down(f(f(f(b)))))) TOP(up(f(f(f(f(fresh_constant)))))) -> TOP(f_flat(down(f(f(f(fresh_constant)))))) TOP(up(g(g(g(g(a)))))) -> TOP(g_flat(down(g(g(g(a)))))) TOP(up(g(g(g(g(f(x0))))))) -> TOP(g_flat(down(g(g(g(f(x0))))))) TOP(up(g(g(g(g(b)))))) -> TOP(g_flat(down(g(g(g(b)))))) TOP(up(g(g(g(g(fresh_constant)))))) -> TOP(g_flat(down(g(g(g(fresh_constant)))))) TOP(up(f(f(f(f(f(a))))))) -> TOP(f_flat(down(f(f(f(f(a))))))) TOP(up(f(f(f(f(f(g(x0)))))))) -> TOP(f_flat(down(f(f(f(f(g(x0)))))))) TOP(up(f(f(f(f(f(b))))))) -> TOP(f_flat(down(f(f(f(f(b))))))) TOP(up(f(f(f(f(f(fresh_constant))))))) -> TOP(f_flat(down(f(f(f(f(fresh_constant))))))) TOP(up(g(g(g(g(g(a))))))) -> TOP(g_flat(down(g(g(g(g(a))))))) TOP(up(g(g(g(g(g(f(x0)))))))) -> TOP(g_flat(down(g(g(g(g(f(x0)))))))) TOP(up(g(g(g(g(g(b))))))) -> TOP(g_flat(down(g(g(g(g(b))))))) TOP(up(g(g(g(g(g(fresh_constant))))))) -> TOP(g_flat(down(g(g(g(g(fresh_constant))))))) The TRS R consists of the following rules: down(g(g(g(g(fresh_constant))))) -> g_flat(down(g(g(g(fresh_constant))))) g_flat(up(x_1)) -> up(g(x_1)) down(g(g(g(fresh_constant)))) -> g_flat(down(g(g(fresh_constant)))) down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) down(g(fresh_constant)) -> g_flat(down(fresh_constant)) down(g(g(g(g(b))))) -> g_flat(down(g(g(g(b))))) down(g(g(g(b)))) -> g_flat(down(g(g(b)))) down(g(g(b))) -> g_flat(down(g(b))) down(g(b)) -> g_flat(down(b)) down(g(g(g(g(f(y24)))))) -> g_flat(down(g(g(g(f(y24)))))) down(g(g(g(f(y18))))) -> g_flat(down(g(g(f(y18))))) down(g(g(f(y12)))) -> g_flat(down(g(f(y12)))) down(g(f(x))) -> up(b) down(g(g(g(g(a))))) -> g_flat(down(g(g(g(a))))) down(g(g(g(a)))) -> g_flat(down(g(g(a)))) down(g(g(a))) -> g_flat(down(g(a))) down(g(a)) -> g_flat(down(a)) down(a) -> up(f(a)) down(a) -> up(g(a)) down(f(f(f(f(fresh_constant))))) -> f_flat(down(f(f(f(fresh_constant))))) f_flat(up(x_1)) -> up(f(x_1)) down(f(f(f(fresh_constant)))) -> f_flat(down(f(f(fresh_constant)))) down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) down(f(fresh_constant)) -> f_flat(down(fresh_constant)) down(f(f(f(f(b))))) -> f_flat(down(f(f(f(b))))) down(f(f(f(b)))) -> f_flat(down(f(f(b)))) down(f(f(b))) -> f_flat(down(f(b))) down(f(b)) -> f_flat(down(b)) down(f(f(f(f(g(y22)))))) -> f_flat(down(f(f(f(g(y22)))))) down(f(f(f(g(y16))))) -> f_flat(down(f(f(g(y16))))) down(f(f(g(y10)))) -> f_flat(down(f(g(y10)))) down(f(g(y4))) -> f_flat(down(g(y4))) down(g(g(g(g(g(g(x))))))) -> up(b) down(g(g(g(g(g(a)))))) -> g_flat(down(g(g(g(g(a)))))) down(g(g(g(g(g(f(y30))))))) -> g_flat(down(g(g(g(g(f(y30))))))) down(g(g(g(g(g(b)))))) -> g_flat(down(g(g(g(g(b)))))) down(g(g(g(g(g(fresh_constant)))))) -> g_flat(down(g(g(g(g(fresh_constant)))))) down(f(f(f(f(a))))) -> f_flat(down(f(f(f(a))))) down(f(f(f(a)))) -> f_flat(down(f(f(a)))) down(f(f(a))) -> f_flat(down(f(a))) down(f(a)) -> f_flat(down(a)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (62) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule TOP(up(f(f(b)))) -> TOP(f_flat(down(f(b)))) at position [0] we obtained the following new rules [LPAR04]: (TOP(up(f(f(b)))) -> TOP(f_flat(f_flat(down(b)))),TOP(up(f(f(b)))) -> TOP(f_flat(f_flat(down(b))))) ---------------------------------------- (63) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(up(f(a))) -> TOP(f_flat(down(a))) TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) TOP(up(g(a))) -> TOP(g_flat(down(a))) TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) TOP(up(f(f(fresh_constant)))) -> TOP(f_flat(down(f(fresh_constant)))) TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) TOP(up(g(g(b)))) -> TOP(g_flat(down(g(b)))) TOP(up(g(g(fresh_constant)))) -> TOP(g_flat(down(g(fresh_constant)))) TOP(up(f(f(f(a))))) -> TOP(f_flat(down(f(f(a))))) TOP(up(f(f(f(g(x0)))))) -> TOP(f_flat(down(f(f(g(x0)))))) TOP(up(f(f(f(b))))) -> TOP(f_flat(down(f(f(b))))) TOP(up(f(f(f(fresh_constant))))) -> TOP(f_flat(down(f(f(fresh_constant))))) TOP(up(g(g(g(a))))) -> TOP(g_flat(down(g(g(a))))) TOP(up(g(g(g(f(x0)))))) -> TOP(g_flat(down(g(g(f(x0)))))) TOP(up(g(g(g(b))))) -> TOP(g_flat(down(g(g(b))))) TOP(up(g(g(g(fresh_constant))))) -> TOP(g_flat(down(g(g(fresh_constant))))) TOP(up(f(f(f(f(a)))))) -> TOP(f_flat(down(f(f(f(a)))))) TOP(up(f(f(f(f(g(x0))))))) -> TOP(f_flat(down(f(f(f(g(x0))))))) TOP(up(f(f(f(f(b)))))) -> TOP(f_flat(down(f(f(f(b)))))) TOP(up(f(f(f(f(fresh_constant)))))) -> TOP(f_flat(down(f(f(f(fresh_constant)))))) TOP(up(g(g(g(g(a)))))) -> TOP(g_flat(down(g(g(g(a)))))) TOP(up(g(g(g(g(f(x0))))))) -> TOP(g_flat(down(g(g(g(f(x0))))))) TOP(up(g(g(g(g(b)))))) -> TOP(g_flat(down(g(g(g(b)))))) TOP(up(g(g(g(g(fresh_constant)))))) -> TOP(g_flat(down(g(g(g(fresh_constant)))))) TOP(up(f(f(f(f(f(a))))))) -> TOP(f_flat(down(f(f(f(f(a))))))) TOP(up(f(f(f(f(f(g(x0)))))))) -> TOP(f_flat(down(f(f(f(f(g(x0)))))))) TOP(up(f(f(f(f(f(b))))))) -> TOP(f_flat(down(f(f(f(f(b))))))) TOP(up(f(f(f(f(f(fresh_constant))))))) -> TOP(f_flat(down(f(f(f(f(fresh_constant))))))) TOP(up(g(g(g(g(g(a))))))) -> TOP(g_flat(down(g(g(g(g(a))))))) TOP(up(g(g(g(g(g(f(x0)))))))) -> TOP(g_flat(down(g(g(g(g(f(x0)))))))) TOP(up(g(g(g(g(g(b))))))) -> TOP(g_flat(down(g(g(g(g(b))))))) TOP(up(g(g(g(g(g(fresh_constant))))))) -> TOP(g_flat(down(g(g(g(g(fresh_constant))))))) TOP(up(f(f(b)))) -> TOP(f_flat(f_flat(down(b)))) The TRS R consists of the following rules: down(g(g(g(g(fresh_constant))))) -> g_flat(down(g(g(g(fresh_constant))))) g_flat(up(x_1)) -> up(g(x_1)) down(g(g(g(fresh_constant)))) -> g_flat(down(g(g(fresh_constant)))) down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) down(g(fresh_constant)) -> g_flat(down(fresh_constant)) down(g(g(g(g(b))))) -> g_flat(down(g(g(g(b))))) down(g(g(g(b)))) -> g_flat(down(g(g(b)))) down(g(g(b))) -> g_flat(down(g(b))) down(g(b)) -> g_flat(down(b)) down(g(g(g(g(f(y24)))))) -> g_flat(down(g(g(g(f(y24)))))) down(g(g(g(f(y18))))) -> g_flat(down(g(g(f(y18))))) down(g(g(f(y12)))) -> g_flat(down(g(f(y12)))) down(g(f(x))) -> up(b) down(g(g(g(g(a))))) -> g_flat(down(g(g(g(a))))) down(g(g(g(a)))) -> g_flat(down(g(g(a)))) down(g(g(a))) -> g_flat(down(g(a))) down(g(a)) -> g_flat(down(a)) down(a) -> up(f(a)) down(a) -> up(g(a)) down(f(f(f(f(fresh_constant))))) -> f_flat(down(f(f(f(fresh_constant))))) f_flat(up(x_1)) -> up(f(x_1)) down(f(f(f(fresh_constant)))) -> f_flat(down(f(f(fresh_constant)))) down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) down(f(fresh_constant)) -> f_flat(down(fresh_constant)) down(f(f(f(f(b))))) -> f_flat(down(f(f(f(b))))) down(f(f(f(b)))) -> f_flat(down(f(f(b)))) down(f(f(b))) -> f_flat(down(f(b))) down(f(b)) -> f_flat(down(b)) down(f(f(f(f(g(y22)))))) -> f_flat(down(f(f(f(g(y22)))))) down(f(f(f(g(y16))))) -> f_flat(down(f(f(g(y16))))) down(f(f(g(y10)))) -> f_flat(down(f(g(y10)))) down(f(g(y4))) -> f_flat(down(g(y4))) down(g(g(g(g(g(g(x))))))) -> up(b) down(g(g(g(g(g(a)))))) -> g_flat(down(g(g(g(g(a)))))) down(g(g(g(g(g(f(y30))))))) -> g_flat(down(g(g(g(g(f(y30))))))) down(g(g(g(g(g(b)))))) -> g_flat(down(g(g(g(g(b)))))) down(g(g(g(g(g(fresh_constant)))))) -> g_flat(down(g(g(g(g(fresh_constant)))))) down(f(f(f(f(a))))) -> f_flat(down(f(f(f(a))))) down(f(f(f(a)))) -> f_flat(down(f(f(a)))) down(f(f(a))) -> f_flat(down(f(a))) down(f(a)) -> f_flat(down(a)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (64) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (65) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(up(f(a))) -> TOP(f_flat(down(a))) TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) TOP(up(g(a))) -> TOP(g_flat(down(a))) TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) TOP(up(f(f(fresh_constant)))) -> TOP(f_flat(down(f(fresh_constant)))) TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) TOP(up(g(g(b)))) -> TOP(g_flat(down(g(b)))) TOP(up(g(g(fresh_constant)))) -> TOP(g_flat(down(g(fresh_constant)))) TOP(up(f(f(f(a))))) -> TOP(f_flat(down(f(f(a))))) TOP(up(f(f(f(g(x0)))))) -> TOP(f_flat(down(f(f(g(x0)))))) TOP(up(f(f(f(b))))) -> TOP(f_flat(down(f(f(b))))) TOP(up(f(f(f(fresh_constant))))) -> TOP(f_flat(down(f(f(fresh_constant))))) TOP(up(g(g(g(a))))) -> TOP(g_flat(down(g(g(a))))) TOP(up(g(g(g(f(x0)))))) -> TOP(g_flat(down(g(g(f(x0)))))) TOP(up(g(g(g(b))))) -> TOP(g_flat(down(g(g(b))))) TOP(up(g(g(g(fresh_constant))))) -> TOP(g_flat(down(g(g(fresh_constant))))) TOP(up(f(f(f(f(a)))))) -> TOP(f_flat(down(f(f(f(a)))))) TOP(up(f(f(f(f(g(x0))))))) -> TOP(f_flat(down(f(f(f(g(x0))))))) TOP(up(f(f(f(f(b)))))) -> TOP(f_flat(down(f(f(f(b)))))) TOP(up(f(f(f(f(fresh_constant)))))) -> TOP(f_flat(down(f(f(f(fresh_constant)))))) TOP(up(g(g(g(g(a)))))) -> TOP(g_flat(down(g(g(g(a)))))) TOP(up(g(g(g(g(f(x0))))))) -> TOP(g_flat(down(g(g(g(f(x0))))))) TOP(up(g(g(g(g(b)))))) -> TOP(g_flat(down(g(g(g(b)))))) TOP(up(g(g(g(g(fresh_constant)))))) -> TOP(g_flat(down(g(g(g(fresh_constant)))))) TOP(up(f(f(f(f(f(a))))))) -> TOP(f_flat(down(f(f(f(f(a))))))) TOP(up(f(f(f(f(f(g(x0)))))))) -> TOP(f_flat(down(f(f(f(f(g(x0)))))))) TOP(up(f(f(f(f(f(b))))))) -> TOP(f_flat(down(f(f(f(f(b))))))) TOP(up(f(f(f(f(f(fresh_constant))))))) -> TOP(f_flat(down(f(f(f(f(fresh_constant))))))) TOP(up(g(g(g(g(g(a))))))) -> TOP(g_flat(down(g(g(g(g(a))))))) TOP(up(g(g(g(g(g(f(x0)))))))) -> TOP(g_flat(down(g(g(g(g(f(x0)))))))) TOP(up(g(g(g(g(g(b))))))) -> TOP(g_flat(down(g(g(g(g(b))))))) TOP(up(g(g(g(g(g(fresh_constant))))))) -> TOP(g_flat(down(g(g(g(g(fresh_constant))))))) The TRS R consists of the following rules: down(g(g(g(g(fresh_constant))))) -> g_flat(down(g(g(g(fresh_constant))))) g_flat(up(x_1)) -> up(g(x_1)) down(g(g(g(fresh_constant)))) -> g_flat(down(g(g(fresh_constant)))) down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) down(g(fresh_constant)) -> g_flat(down(fresh_constant)) down(g(g(g(g(b))))) -> g_flat(down(g(g(g(b))))) down(g(g(g(b)))) -> g_flat(down(g(g(b)))) down(g(g(b))) -> g_flat(down(g(b))) down(g(b)) -> g_flat(down(b)) down(g(g(g(g(f(y24)))))) -> g_flat(down(g(g(g(f(y24)))))) down(g(g(g(f(y18))))) -> g_flat(down(g(g(f(y18))))) down(g(g(f(y12)))) -> g_flat(down(g(f(y12)))) down(g(f(x))) -> up(b) down(g(g(g(g(a))))) -> g_flat(down(g(g(g(a))))) down(g(g(g(a)))) -> g_flat(down(g(g(a)))) down(g(g(a))) -> g_flat(down(g(a))) down(g(a)) -> g_flat(down(a)) down(a) -> up(f(a)) down(a) -> up(g(a)) down(f(f(f(f(fresh_constant))))) -> f_flat(down(f(f(f(fresh_constant))))) f_flat(up(x_1)) -> up(f(x_1)) down(f(f(f(fresh_constant)))) -> f_flat(down(f(f(fresh_constant)))) down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) down(f(fresh_constant)) -> f_flat(down(fresh_constant)) down(f(f(f(f(b))))) -> f_flat(down(f(f(f(b))))) down(f(f(f(b)))) -> f_flat(down(f(f(b)))) down(f(f(b))) -> f_flat(down(f(b))) down(f(b)) -> f_flat(down(b)) down(f(f(f(f(g(y22)))))) -> f_flat(down(f(f(f(g(y22)))))) down(f(f(f(g(y16))))) -> f_flat(down(f(f(g(y16))))) down(f(f(g(y10)))) -> f_flat(down(f(g(y10)))) down(f(g(y4))) -> f_flat(down(g(y4))) down(g(g(g(g(g(g(x))))))) -> up(b) down(g(g(g(g(g(a)))))) -> g_flat(down(g(g(g(g(a)))))) down(g(g(g(g(g(f(y30))))))) -> g_flat(down(g(g(g(g(f(y30))))))) down(g(g(g(g(g(b)))))) -> g_flat(down(g(g(g(g(b)))))) down(g(g(g(g(g(fresh_constant)))))) -> g_flat(down(g(g(g(g(fresh_constant)))))) down(f(f(f(f(a))))) -> f_flat(down(f(f(f(a))))) down(f(f(f(a)))) -> f_flat(down(f(f(a)))) down(f(f(a))) -> f_flat(down(f(a))) down(f(a)) -> f_flat(down(a)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (66) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule TOP(up(f(f(fresh_constant)))) -> TOP(f_flat(down(f(fresh_constant)))) at position [0] we obtained the following new rules [LPAR04]: (TOP(up(f(f(fresh_constant)))) -> TOP(f_flat(f_flat(down(fresh_constant)))),TOP(up(f(f(fresh_constant)))) -> TOP(f_flat(f_flat(down(fresh_constant))))) ---------------------------------------- (67) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(up(f(a))) -> TOP(f_flat(down(a))) TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) TOP(up(g(a))) -> TOP(g_flat(down(a))) TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) TOP(up(g(g(b)))) -> TOP(g_flat(down(g(b)))) TOP(up(g(g(fresh_constant)))) -> TOP(g_flat(down(g(fresh_constant)))) TOP(up(f(f(f(a))))) -> TOP(f_flat(down(f(f(a))))) TOP(up(f(f(f(g(x0)))))) -> TOP(f_flat(down(f(f(g(x0)))))) TOP(up(f(f(f(b))))) -> TOP(f_flat(down(f(f(b))))) TOP(up(f(f(f(fresh_constant))))) -> TOP(f_flat(down(f(f(fresh_constant))))) TOP(up(g(g(g(a))))) -> TOP(g_flat(down(g(g(a))))) TOP(up(g(g(g(f(x0)))))) -> TOP(g_flat(down(g(g(f(x0)))))) TOP(up(g(g(g(b))))) -> TOP(g_flat(down(g(g(b))))) TOP(up(g(g(g(fresh_constant))))) -> TOP(g_flat(down(g(g(fresh_constant))))) TOP(up(f(f(f(f(a)))))) -> TOP(f_flat(down(f(f(f(a)))))) TOP(up(f(f(f(f(g(x0))))))) -> TOP(f_flat(down(f(f(f(g(x0))))))) TOP(up(f(f(f(f(b)))))) -> TOP(f_flat(down(f(f(f(b)))))) TOP(up(f(f(f(f(fresh_constant)))))) -> TOP(f_flat(down(f(f(f(fresh_constant)))))) TOP(up(g(g(g(g(a)))))) -> TOP(g_flat(down(g(g(g(a)))))) TOP(up(g(g(g(g(f(x0))))))) -> TOP(g_flat(down(g(g(g(f(x0))))))) TOP(up(g(g(g(g(b)))))) -> TOP(g_flat(down(g(g(g(b)))))) TOP(up(g(g(g(g(fresh_constant)))))) -> TOP(g_flat(down(g(g(g(fresh_constant)))))) TOP(up(f(f(f(f(f(a))))))) -> TOP(f_flat(down(f(f(f(f(a))))))) TOP(up(f(f(f(f(f(g(x0)))))))) -> TOP(f_flat(down(f(f(f(f(g(x0)))))))) TOP(up(f(f(f(f(f(b))))))) -> TOP(f_flat(down(f(f(f(f(b))))))) TOP(up(f(f(f(f(f(fresh_constant))))))) -> TOP(f_flat(down(f(f(f(f(fresh_constant))))))) TOP(up(g(g(g(g(g(a))))))) -> TOP(g_flat(down(g(g(g(g(a))))))) TOP(up(g(g(g(g(g(f(x0)))))))) -> TOP(g_flat(down(g(g(g(g(f(x0)))))))) TOP(up(g(g(g(g(g(b))))))) -> TOP(g_flat(down(g(g(g(g(b))))))) TOP(up(g(g(g(g(g(fresh_constant))))))) -> TOP(g_flat(down(g(g(g(g(fresh_constant))))))) TOP(up(f(f(fresh_constant)))) -> TOP(f_flat(f_flat(down(fresh_constant)))) The TRS R consists of the following rules: down(g(g(g(g(fresh_constant))))) -> g_flat(down(g(g(g(fresh_constant))))) g_flat(up(x_1)) -> up(g(x_1)) down(g(g(g(fresh_constant)))) -> g_flat(down(g(g(fresh_constant)))) down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) down(g(fresh_constant)) -> g_flat(down(fresh_constant)) down(g(g(g(g(b))))) -> g_flat(down(g(g(g(b))))) down(g(g(g(b)))) -> g_flat(down(g(g(b)))) down(g(g(b))) -> g_flat(down(g(b))) down(g(b)) -> g_flat(down(b)) down(g(g(g(g(f(y24)))))) -> g_flat(down(g(g(g(f(y24)))))) down(g(g(g(f(y18))))) -> g_flat(down(g(g(f(y18))))) down(g(g(f(y12)))) -> g_flat(down(g(f(y12)))) down(g(f(x))) -> up(b) down(g(g(g(g(a))))) -> g_flat(down(g(g(g(a))))) down(g(g(g(a)))) -> g_flat(down(g(g(a)))) down(g(g(a))) -> g_flat(down(g(a))) down(g(a)) -> g_flat(down(a)) down(a) -> up(f(a)) down(a) -> up(g(a)) down(f(f(f(f(fresh_constant))))) -> f_flat(down(f(f(f(fresh_constant))))) f_flat(up(x_1)) -> up(f(x_1)) down(f(f(f(fresh_constant)))) -> f_flat(down(f(f(fresh_constant)))) down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) down(f(fresh_constant)) -> f_flat(down(fresh_constant)) down(f(f(f(f(b))))) -> f_flat(down(f(f(f(b))))) down(f(f(f(b)))) -> f_flat(down(f(f(b)))) down(f(f(b))) -> f_flat(down(f(b))) down(f(b)) -> f_flat(down(b)) down(f(f(f(f(g(y22)))))) -> f_flat(down(f(f(f(g(y22)))))) down(f(f(f(g(y16))))) -> f_flat(down(f(f(g(y16))))) down(f(f(g(y10)))) -> f_flat(down(f(g(y10)))) down(f(g(y4))) -> f_flat(down(g(y4))) down(g(g(g(g(g(g(x))))))) -> up(b) down(g(g(g(g(g(a)))))) -> g_flat(down(g(g(g(g(a)))))) down(g(g(g(g(g(f(y30))))))) -> g_flat(down(g(g(g(g(f(y30))))))) down(g(g(g(g(g(b)))))) -> g_flat(down(g(g(g(g(b)))))) down(g(g(g(g(g(fresh_constant)))))) -> g_flat(down(g(g(g(g(fresh_constant)))))) down(f(f(f(f(a))))) -> f_flat(down(f(f(f(a))))) down(f(f(f(a)))) -> f_flat(down(f(f(a)))) down(f(f(a))) -> f_flat(down(f(a))) down(f(a)) -> f_flat(down(a)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (68) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (69) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(up(f(a))) -> TOP(f_flat(down(a))) TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) TOP(up(g(a))) -> TOP(g_flat(down(a))) TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) TOP(up(g(g(b)))) -> TOP(g_flat(down(g(b)))) TOP(up(g(g(fresh_constant)))) -> TOP(g_flat(down(g(fresh_constant)))) TOP(up(f(f(f(a))))) -> TOP(f_flat(down(f(f(a))))) TOP(up(f(f(f(g(x0)))))) -> TOP(f_flat(down(f(f(g(x0)))))) TOP(up(f(f(f(b))))) -> TOP(f_flat(down(f(f(b))))) TOP(up(f(f(f(fresh_constant))))) -> TOP(f_flat(down(f(f(fresh_constant))))) TOP(up(g(g(g(a))))) -> TOP(g_flat(down(g(g(a))))) TOP(up(g(g(g(f(x0)))))) -> TOP(g_flat(down(g(g(f(x0)))))) TOP(up(g(g(g(b))))) -> TOP(g_flat(down(g(g(b))))) TOP(up(g(g(g(fresh_constant))))) -> TOP(g_flat(down(g(g(fresh_constant))))) TOP(up(f(f(f(f(a)))))) -> TOP(f_flat(down(f(f(f(a)))))) TOP(up(f(f(f(f(g(x0))))))) -> TOP(f_flat(down(f(f(f(g(x0))))))) TOP(up(f(f(f(f(b)))))) -> TOP(f_flat(down(f(f(f(b)))))) TOP(up(f(f(f(f(fresh_constant)))))) -> TOP(f_flat(down(f(f(f(fresh_constant)))))) TOP(up(g(g(g(g(a)))))) -> TOP(g_flat(down(g(g(g(a)))))) TOP(up(g(g(g(g(f(x0))))))) -> TOP(g_flat(down(g(g(g(f(x0))))))) TOP(up(g(g(g(g(b)))))) -> TOP(g_flat(down(g(g(g(b)))))) TOP(up(g(g(g(g(fresh_constant)))))) -> TOP(g_flat(down(g(g(g(fresh_constant)))))) TOP(up(f(f(f(f(f(a))))))) -> TOP(f_flat(down(f(f(f(f(a))))))) TOP(up(f(f(f(f(f(g(x0)))))))) -> TOP(f_flat(down(f(f(f(f(g(x0)))))))) TOP(up(f(f(f(f(f(b))))))) -> TOP(f_flat(down(f(f(f(f(b))))))) TOP(up(f(f(f(f(f(fresh_constant))))))) -> TOP(f_flat(down(f(f(f(f(fresh_constant))))))) TOP(up(g(g(g(g(g(a))))))) -> TOP(g_flat(down(g(g(g(g(a))))))) TOP(up(g(g(g(g(g(f(x0)))))))) -> TOP(g_flat(down(g(g(g(g(f(x0)))))))) TOP(up(g(g(g(g(g(b))))))) -> TOP(g_flat(down(g(g(g(g(b))))))) TOP(up(g(g(g(g(g(fresh_constant))))))) -> TOP(g_flat(down(g(g(g(g(fresh_constant))))))) The TRS R consists of the following rules: down(g(g(g(g(fresh_constant))))) -> g_flat(down(g(g(g(fresh_constant))))) g_flat(up(x_1)) -> up(g(x_1)) down(g(g(g(fresh_constant)))) -> g_flat(down(g(g(fresh_constant)))) down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) down(g(fresh_constant)) -> g_flat(down(fresh_constant)) down(g(g(g(g(b))))) -> g_flat(down(g(g(g(b))))) down(g(g(g(b)))) -> g_flat(down(g(g(b)))) down(g(g(b))) -> g_flat(down(g(b))) down(g(b)) -> g_flat(down(b)) down(g(g(g(g(f(y24)))))) -> g_flat(down(g(g(g(f(y24)))))) down(g(g(g(f(y18))))) -> g_flat(down(g(g(f(y18))))) down(g(g(f(y12)))) -> g_flat(down(g(f(y12)))) down(g(f(x))) -> up(b) down(g(g(g(g(a))))) -> g_flat(down(g(g(g(a))))) down(g(g(g(a)))) -> g_flat(down(g(g(a)))) down(g(g(a))) -> g_flat(down(g(a))) down(g(a)) -> g_flat(down(a)) down(a) -> up(f(a)) down(a) -> up(g(a)) down(f(f(f(f(fresh_constant))))) -> f_flat(down(f(f(f(fresh_constant))))) f_flat(up(x_1)) -> up(f(x_1)) down(f(f(f(fresh_constant)))) -> f_flat(down(f(f(fresh_constant)))) down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) down(f(fresh_constant)) -> f_flat(down(fresh_constant)) down(f(f(f(f(b))))) -> f_flat(down(f(f(f(b))))) down(f(f(f(b)))) -> f_flat(down(f(f(b)))) down(f(f(b))) -> f_flat(down(f(b))) down(f(b)) -> f_flat(down(b)) down(f(f(f(f(g(y22)))))) -> f_flat(down(f(f(f(g(y22)))))) down(f(f(f(g(y16))))) -> f_flat(down(f(f(g(y16))))) down(f(f(g(y10)))) -> f_flat(down(f(g(y10)))) down(f(g(y4))) -> f_flat(down(g(y4))) down(g(g(g(g(g(g(x))))))) -> up(b) down(g(g(g(g(g(a)))))) -> g_flat(down(g(g(g(g(a)))))) down(g(g(g(g(g(f(y30))))))) -> g_flat(down(g(g(g(g(f(y30))))))) down(g(g(g(g(g(b)))))) -> g_flat(down(g(g(g(g(b)))))) down(g(g(g(g(g(fresh_constant)))))) -> g_flat(down(g(g(g(g(fresh_constant)))))) down(f(f(f(f(a))))) -> f_flat(down(f(f(f(a))))) down(f(f(f(a)))) -> f_flat(down(f(f(a)))) down(f(f(a))) -> f_flat(down(f(a))) down(f(a)) -> f_flat(down(a)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (70) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule TOP(up(g(g(b)))) -> TOP(g_flat(down(g(b)))) at position [0] we obtained the following new rules [LPAR04]: (TOP(up(g(g(b)))) -> TOP(g_flat(g_flat(down(b)))),TOP(up(g(g(b)))) -> TOP(g_flat(g_flat(down(b))))) ---------------------------------------- (71) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(up(f(a))) -> TOP(f_flat(down(a))) TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) TOP(up(g(a))) -> TOP(g_flat(down(a))) TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) TOP(up(g(g(fresh_constant)))) -> TOP(g_flat(down(g(fresh_constant)))) TOP(up(f(f(f(a))))) -> TOP(f_flat(down(f(f(a))))) TOP(up(f(f(f(g(x0)))))) -> TOP(f_flat(down(f(f(g(x0)))))) TOP(up(f(f(f(b))))) -> TOP(f_flat(down(f(f(b))))) TOP(up(f(f(f(fresh_constant))))) -> TOP(f_flat(down(f(f(fresh_constant))))) TOP(up(g(g(g(a))))) -> TOP(g_flat(down(g(g(a))))) TOP(up(g(g(g(f(x0)))))) -> TOP(g_flat(down(g(g(f(x0)))))) TOP(up(g(g(g(b))))) -> TOP(g_flat(down(g(g(b))))) TOP(up(g(g(g(fresh_constant))))) -> TOP(g_flat(down(g(g(fresh_constant))))) TOP(up(f(f(f(f(a)))))) -> TOP(f_flat(down(f(f(f(a)))))) TOP(up(f(f(f(f(g(x0))))))) -> TOP(f_flat(down(f(f(f(g(x0))))))) TOP(up(f(f(f(f(b)))))) -> TOP(f_flat(down(f(f(f(b)))))) TOP(up(f(f(f(f(fresh_constant)))))) -> TOP(f_flat(down(f(f(f(fresh_constant)))))) TOP(up(g(g(g(g(a)))))) -> TOP(g_flat(down(g(g(g(a)))))) TOP(up(g(g(g(g(f(x0))))))) -> TOP(g_flat(down(g(g(g(f(x0))))))) TOP(up(g(g(g(g(b)))))) -> TOP(g_flat(down(g(g(g(b)))))) TOP(up(g(g(g(g(fresh_constant)))))) -> TOP(g_flat(down(g(g(g(fresh_constant)))))) TOP(up(f(f(f(f(f(a))))))) -> TOP(f_flat(down(f(f(f(f(a))))))) TOP(up(f(f(f(f(f(g(x0)))))))) -> TOP(f_flat(down(f(f(f(f(g(x0)))))))) TOP(up(f(f(f(f(f(b))))))) -> TOP(f_flat(down(f(f(f(f(b))))))) TOP(up(f(f(f(f(f(fresh_constant))))))) -> TOP(f_flat(down(f(f(f(f(fresh_constant))))))) TOP(up(g(g(g(g(g(a))))))) -> TOP(g_flat(down(g(g(g(g(a))))))) TOP(up(g(g(g(g(g(f(x0)))))))) -> TOP(g_flat(down(g(g(g(g(f(x0)))))))) TOP(up(g(g(g(g(g(b))))))) -> TOP(g_flat(down(g(g(g(g(b))))))) TOP(up(g(g(g(g(g(fresh_constant))))))) -> TOP(g_flat(down(g(g(g(g(fresh_constant))))))) TOP(up(g(g(b)))) -> TOP(g_flat(g_flat(down(b)))) The TRS R consists of the following rules: down(g(g(g(g(fresh_constant))))) -> g_flat(down(g(g(g(fresh_constant))))) g_flat(up(x_1)) -> up(g(x_1)) down(g(g(g(fresh_constant)))) -> g_flat(down(g(g(fresh_constant)))) down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) down(g(fresh_constant)) -> g_flat(down(fresh_constant)) down(g(g(g(g(b))))) -> g_flat(down(g(g(g(b))))) down(g(g(g(b)))) -> g_flat(down(g(g(b)))) down(g(g(b))) -> g_flat(down(g(b))) down(g(b)) -> g_flat(down(b)) down(g(g(g(g(f(y24)))))) -> g_flat(down(g(g(g(f(y24)))))) down(g(g(g(f(y18))))) -> g_flat(down(g(g(f(y18))))) down(g(g(f(y12)))) -> g_flat(down(g(f(y12)))) down(g(f(x))) -> up(b) down(g(g(g(g(a))))) -> g_flat(down(g(g(g(a))))) down(g(g(g(a)))) -> g_flat(down(g(g(a)))) down(g(g(a))) -> g_flat(down(g(a))) down(g(a)) -> g_flat(down(a)) down(a) -> up(f(a)) down(a) -> up(g(a)) down(f(f(f(f(fresh_constant))))) -> f_flat(down(f(f(f(fresh_constant))))) f_flat(up(x_1)) -> up(f(x_1)) down(f(f(f(fresh_constant)))) -> f_flat(down(f(f(fresh_constant)))) down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) down(f(fresh_constant)) -> f_flat(down(fresh_constant)) down(f(f(f(f(b))))) -> f_flat(down(f(f(f(b))))) down(f(f(f(b)))) -> f_flat(down(f(f(b)))) down(f(f(b))) -> f_flat(down(f(b))) down(f(b)) -> f_flat(down(b)) down(f(f(f(f(g(y22)))))) -> f_flat(down(f(f(f(g(y22)))))) down(f(f(f(g(y16))))) -> f_flat(down(f(f(g(y16))))) down(f(f(g(y10)))) -> f_flat(down(f(g(y10)))) down(f(g(y4))) -> f_flat(down(g(y4))) down(g(g(g(g(g(g(x))))))) -> up(b) down(g(g(g(g(g(a)))))) -> g_flat(down(g(g(g(g(a)))))) down(g(g(g(g(g(f(y30))))))) -> g_flat(down(g(g(g(g(f(y30))))))) down(g(g(g(g(g(b)))))) -> g_flat(down(g(g(g(g(b)))))) down(g(g(g(g(g(fresh_constant)))))) -> g_flat(down(g(g(g(g(fresh_constant)))))) down(f(f(f(f(a))))) -> f_flat(down(f(f(f(a))))) down(f(f(f(a)))) -> f_flat(down(f(f(a)))) down(f(f(a))) -> f_flat(down(f(a))) down(f(a)) -> f_flat(down(a)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (72) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (73) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(up(f(a))) -> TOP(f_flat(down(a))) TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) TOP(up(g(a))) -> TOP(g_flat(down(a))) TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) TOP(up(g(g(fresh_constant)))) -> TOP(g_flat(down(g(fresh_constant)))) TOP(up(f(f(f(a))))) -> TOP(f_flat(down(f(f(a))))) TOP(up(f(f(f(g(x0)))))) -> TOP(f_flat(down(f(f(g(x0)))))) TOP(up(f(f(f(b))))) -> TOP(f_flat(down(f(f(b))))) TOP(up(f(f(f(fresh_constant))))) -> TOP(f_flat(down(f(f(fresh_constant))))) TOP(up(g(g(g(a))))) -> TOP(g_flat(down(g(g(a))))) TOP(up(g(g(g(f(x0)))))) -> TOP(g_flat(down(g(g(f(x0)))))) TOP(up(g(g(g(b))))) -> TOP(g_flat(down(g(g(b))))) TOP(up(g(g(g(fresh_constant))))) -> TOP(g_flat(down(g(g(fresh_constant))))) TOP(up(f(f(f(f(a)))))) -> TOP(f_flat(down(f(f(f(a)))))) TOP(up(f(f(f(f(g(x0))))))) -> TOP(f_flat(down(f(f(f(g(x0))))))) TOP(up(f(f(f(f(b)))))) -> TOP(f_flat(down(f(f(f(b)))))) TOP(up(f(f(f(f(fresh_constant)))))) -> TOP(f_flat(down(f(f(f(fresh_constant)))))) TOP(up(g(g(g(g(a)))))) -> TOP(g_flat(down(g(g(g(a)))))) TOP(up(g(g(g(g(f(x0))))))) -> TOP(g_flat(down(g(g(g(f(x0))))))) TOP(up(g(g(g(g(b)))))) -> TOP(g_flat(down(g(g(g(b)))))) TOP(up(g(g(g(g(fresh_constant)))))) -> TOP(g_flat(down(g(g(g(fresh_constant)))))) TOP(up(f(f(f(f(f(a))))))) -> TOP(f_flat(down(f(f(f(f(a))))))) TOP(up(f(f(f(f(f(g(x0)))))))) -> TOP(f_flat(down(f(f(f(f(g(x0)))))))) TOP(up(f(f(f(f(f(b))))))) -> TOP(f_flat(down(f(f(f(f(b))))))) TOP(up(f(f(f(f(f(fresh_constant))))))) -> TOP(f_flat(down(f(f(f(f(fresh_constant))))))) TOP(up(g(g(g(g(g(a))))))) -> TOP(g_flat(down(g(g(g(g(a))))))) TOP(up(g(g(g(g(g(f(x0)))))))) -> TOP(g_flat(down(g(g(g(g(f(x0)))))))) TOP(up(g(g(g(g(g(b))))))) -> TOP(g_flat(down(g(g(g(g(b))))))) TOP(up(g(g(g(g(g(fresh_constant))))))) -> TOP(g_flat(down(g(g(g(g(fresh_constant))))))) The TRS R consists of the following rules: down(g(g(g(g(fresh_constant))))) -> g_flat(down(g(g(g(fresh_constant))))) g_flat(up(x_1)) -> up(g(x_1)) down(g(g(g(fresh_constant)))) -> g_flat(down(g(g(fresh_constant)))) down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) down(g(fresh_constant)) -> g_flat(down(fresh_constant)) down(g(g(g(g(b))))) -> g_flat(down(g(g(g(b))))) down(g(g(g(b)))) -> g_flat(down(g(g(b)))) down(g(g(b))) -> g_flat(down(g(b))) down(g(b)) -> g_flat(down(b)) down(g(g(g(g(f(y24)))))) -> g_flat(down(g(g(g(f(y24)))))) down(g(g(g(f(y18))))) -> g_flat(down(g(g(f(y18))))) down(g(g(f(y12)))) -> g_flat(down(g(f(y12)))) down(g(f(x))) -> up(b) down(g(g(g(g(a))))) -> g_flat(down(g(g(g(a))))) down(g(g(g(a)))) -> g_flat(down(g(g(a)))) down(g(g(a))) -> g_flat(down(g(a))) down(g(a)) -> g_flat(down(a)) down(a) -> up(f(a)) down(a) -> up(g(a)) down(f(f(f(f(fresh_constant))))) -> f_flat(down(f(f(f(fresh_constant))))) f_flat(up(x_1)) -> up(f(x_1)) down(f(f(f(fresh_constant)))) -> f_flat(down(f(f(fresh_constant)))) down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) down(f(fresh_constant)) -> f_flat(down(fresh_constant)) down(f(f(f(f(b))))) -> f_flat(down(f(f(f(b))))) down(f(f(f(b)))) -> f_flat(down(f(f(b)))) down(f(f(b))) -> f_flat(down(f(b))) down(f(b)) -> f_flat(down(b)) down(f(f(f(f(g(y22)))))) -> f_flat(down(f(f(f(g(y22)))))) down(f(f(f(g(y16))))) -> f_flat(down(f(f(g(y16))))) down(f(f(g(y10)))) -> f_flat(down(f(g(y10)))) down(f(g(y4))) -> f_flat(down(g(y4))) down(g(g(g(g(g(g(x))))))) -> up(b) down(g(g(g(g(g(a)))))) -> g_flat(down(g(g(g(g(a)))))) down(g(g(g(g(g(f(y30))))))) -> g_flat(down(g(g(g(g(f(y30))))))) down(g(g(g(g(g(b)))))) -> g_flat(down(g(g(g(g(b)))))) down(g(g(g(g(g(fresh_constant)))))) -> g_flat(down(g(g(g(g(fresh_constant)))))) down(f(f(f(f(a))))) -> f_flat(down(f(f(f(a))))) down(f(f(f(a)))) -> f_flat(down(f(f(a)))) down(f(f(a))) -> f_flat(down(f(a))) down(f(a)) -> f_flat(down(a)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (74) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule TOP(up(g(g(fresh_constant)))) -> TOP(g_flat(down(g(fresh_constant)))) at position [0] we obtained the following new rules [LPAR04]: (TOP(up(g(g(fresh_constant)))) -> TOP(g_flat(g_flat(down(fresh_constant)))),TOP(up(g(g(fresh_constant)))) -> TOP(g_flat(g_flat(down(fresh_constant))))) ---------------------------------------- (75) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(up(f(a))) -> TOP(f_flat(down(a))) TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) TOP(up(g(a))) -> TOP(g_flat(down(a))) TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) TOP(up(f(f(f(a))))) -> TOP(f_flat(down(f(f(a))))) TOP(up(f(f(f(g(x0)))))) -> TOP(f_flat(down(f(f(g(x0)))))) TOP(up(f(f(f(b))))) -> TOP(f_flat(down(f(f(b))))) TOP(up(f(f(f(fresh_constant))))) -> TOP(f_flat(down(f(f(fresh_constant))))) TOP(up(g(g(g(a))))) -> TOP(g_flat(down(g(g(a))))) TOP(up(g(g(g(f(x0)))))) -> TOP(g_flat(down(g(g(f(x0)))))) TOP(up(g(g(g(b))))) -> TOP(g_flat(down(g(g(b))))) TOP(up(g(g(g(fresh_constant))))) -> TOP(g_flat(down(g(g(fresh_constant))))) TOP(up(f(f(f(f(a)))))) -> TOP(f_flat(down(f(f(f(a)))))) TOP(up(f(f(f(f(g(x0))))))) -> TOP(f_flat(down(f(f(f(g(x0))))))) TOP(up(f(f(f(f(b)))))) -> TOP(f_flat(down(f(f(f(b)))))) TOP(up(f(f(f(f(fresh_constant)))))) -> TOP(f_flat(down(f(f(f(fresh_constant)))))) TOP(up(g(g(g(g(a)))))) -> TOP(g_flat(down(g(g(g(a)))))) TOP(up(g(g(g(g(f(x0))))))) -> TOP(g_flat(down(g(g(g(f(x0))))))) TOP(up(g(g(g(g(b)))))) -> TOP(g_flat(down(g(g(g(b)))))) TOP(up(g(g(g(g(fresh_constant)))))) -> TOP(g_flat(down(g(g(g(fresh_constant)))))) TOP(up(f(f(f(f(f(a))))))) -> TOP(f_flat(down(f(f(f(f(a))))))) TOP(up(f(f(f(f(f(g(x0)))))))) -> TOP(f_flat(down(f(f(f(f(g(x0)))))))) TOP(up(f(f(f(f(f(b))))))) -> TOP(f_flat(down(f(f(f(f(b))))))) TOP(up(f(f(f(f(f(fresh_constant))))))) -> TOP(f_flat(down(f(f(f(f(fresh_constant))))))) TOP(up(g(g(g(g(g(a))))))) -> TOP(g_flat(down(g(g(g(g(a))))))) TOP(up(g(g(g(g(g(f(x0)))))))) -> TOP(g_flat(down(g(g(g(g(f(x0)))))))) TOP(up(g(g(g(g(g(b))))))) -> TOP(g_flat(down(g(g(g(g(b))))))) TOP(up(g(g(g(g(g(fresh_constant))))))) -> TOP(g_flat(down(g(g(g(g(fresh_constant))))))) TOP(up(g(g(fresh_constant)))) -> TOP(g_flat(g_flat(down(fresh_constant)))) The TRS R consists of the following rules: down(g(g(g(g(fresh_constant))))) -> g_flat(down(g(g(g(fresh_constant))))) g_flat(up(x_1)) -> up(g(x_1)) down(g(g(g(fresh_constant)))) -> g_flat(down(g(g(fresh_constant)))) down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) down(g(fresh_constant)) -> g_flat(down(fresh_constant)) down(g(g(g(g(b))))) -> g_flat(down(g(g(g(b))))) down(g(g(g(b)))) -> g_flat(down(g(g(b)))) down(g(g(b))) -> g_flat(down(g(b))) down(g(b)) -> g_flat(down(b)) down(g(g(g(g(f(y24)))))) -> g_flat(down(g(g(g(f(y24)))))) down(g(g(g(f(y18))))) -> g_flat(down(g(g(f(y18))))) down(g(g(f(y12)))) -> g_flat(down(g(f(y12)))) down(g(f(x))) -> up(b) down(g(g(g(g(a))))) -> g_flat(down(g(g(g(a))))) down(g(g(g(a)))) -> g_flat(down(g(g(a)))) down(g(g(a))) -> g_flat(down(g(a))) down(g(a)) -> g_flat(down(a)) down(a) -> up(f(a)) down(a) -> up(g(a)) down(f(f(f(f(fresh_constant))))) -> f_flat(down(f(f(f(fresh_constant))))) f_flat(up(x_1)) -> up(f(x_1)) down(f(f(f(fresh_constant)))) -> f_flat(down(f(f(fresh_constant)))) down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) down(f(fresh_constant)) -> f_flat(down(fresh_constant)) down(f(f(f(f(b))))) -> f_flat(down(f(f(f(b))))) down(f(f(f(b)))) -> f_flat(down(f(f(b)))) down(f(f(b))) -> f_flat(down(f(b))) down(f(b)) -> f_flat(down(b)) down(f(f(f(f(g(y22)))))) -> f_flat(down(f(f(f(g(y22)))))) down(f(f(f(g(y16))))) -> f_flat(down(f(f(g(y16))))) down(f(f(g(y10)))) -> f_flat(down(f(g(y10)))) down(f(g(y4))) -> f_flat(down(g(y4))) down(g(g(g(g(g(g(x))))))) -> up(b) down(g(g(g(g(g(a)))))) -> g_flat(down(g(g(g(g(a)))))) down(g(g(g(g(g(f(y30))))))) -> g_flat(down(g(g(g(g(f(y30))))))) down(g(g(g(g(g(b)))))) -> g_flat(down(g(g(g(g(b)))))) down(g(g(g(g(g(fresh_constant)))))) -> g_flat(down(g(g(g(g(fresh_constant)))))) down(f(f(f(f(a))))) -> f_flat(down(f(f(f(a))))) down(f(f(f(a)))) -> f_flat(down(f(f(a)))) down(f(f(a))) -> f_flat(down(f(a))) down(f(a)) -> f_flat(down(a)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (76) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (77) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(up(f(a))) -> TOP(f_flat(down(a))) TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) TOP(up(g(a))) -> TOP(g_flat(down(a))) TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) TOP(up(f(f(f(a))))) -> TOP(f_flat(down(f(f(a))))) TOP(up(f(f(f(g(x0)))))) -> TOP(f_flat(down(f(f(g(x0)))))) TOP(up(f(f(f(b))))) -> TOP(f_flat(down(f(f(b))))) TOP(up(f(f(f(fresh_constant))))) -> TOP(f_flat(down(f(f(fresh_constant))))) TOP(up(g(g(g(a))))) -> TOP(g_flat(down(g(g(a))))) TOP(up(g(g(g(f(x0)))))) -> TOP(g_flat(down(g(g(f(x0)))))) TOP(up(g(g(g(b))))) -> TOP(g_flat(down(g(g(b))))) TOP(up(g(g(g(fresh_constant))))) -> TOP(g_flat(down(g(g(fresh_constant))))) TOP(up(f(f(f(f(a)))))) -> TOP(f_flat(down(f(f(f(a)))))) TOP(up(f(f(f(f(g(x0))))))) -> TOP(f_flat(down(f(f(f(g(x0))))))) TOP(up(f(f(f(f(b)))))) -> TOP(f_flat(down(f(f(f(b)))))) TOP(up(f(f(f(f(fresh_constant)))))) -> TOP(f_flat(down(f(f(f(fresh_constant)))))) TOP(up(g(g(g(g(a)))))) -> TOP(g_flat(down(g(g(g(a)))))) TOP(up(g(g(g(g(f(x0))))))) -> TOP(g_flat(down(g(g(g(f(x0))))))) TOP(up(g(g(g(g(b)))))) -> TOP(g_flat(down(g(g(g(b)))))) TOP(up(g(g(g(g(fresh_constant)))))) -> TOP(g_flat(down(g(g(g(fresh_constant)))))) TOP(up(f(f(f(f(f(a))))))) -> TOP(f_flat(down(f(f(f(f(a))))))) TOP(up(f(f(f(f(f(g(x0)))))))) -> TOP(f_flat(down(f(f(f(f(g(x0)))))))) TOP(up(f(f(f(f(f(b))))))) -> TOP(f_flat(down(f(f(f(f(b))))))) TOP(up(f(f(f(f(f(fresh_constant))))))) -> TOP(f_flat(down(f(f(f(f(fresh_constant))))))) TOP(up(g(g(g(g(g(a))))))) -> TOP(g_flat(down(g(g(g(g(a))))))) TOP(up(g(g(g(g(g(f(x0)))))))) -> TOP(g_flat(down(g(g(g(g(f(x0)))))))) TOP(up(g(g(g(g(g(b))))))) -> TOP(g_flat(down(g(g(g(g(b))))))) TOP(up(g(g(g(g(g(fresh_constant))))))) -> TOP(g_flat(down(g(g(g(g(fresh_constant))))))) The TRS R consists of the following rules: down(g(g(g(g(fresh_constant))))) -> g_flat(down(g(g(g(fresh_constant))))) g_flat(up(x_1)) -> up(g(x_1)) down(g(g(g(fresh_constant)))) -> g_flat(down(g(g(fresh_constant)))) down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) down(g(fresh_constant)) -> g_flat(down(fresh_constant)) down(g(g(g(g(b))))) -> g_flat(down(g(g(g(b))))) down(g(g(g(b)))) -> g_flat(down(g(g(b)))) down(g(g(b))) -> g_flat(down(g(b))) down(g(b)) -> g_flat(down(b)) down(g(g(g(g(f(y24)))))) -> g_flat(down(g(g(g(f(y24)))))) down(g(g(g(f(y18))))) -> g_flat(down(g(g(f(y18))))) down(g(g(f(y12)))) -> g_flat(down(g(f(y12)))) down(g(f(x))) -> up(b) down(g(g(g(g(a))))) -> g_flat(down(g(g(g(a))))) down(g(g(g(a)))) -> g_flat(down(g(g(a)))) down(g(g(a))) -> g_flat(down(g(a))) down(g(a)) -> g_flat(down(a)) down(a) -> up(f(a)) down(a) -> up(g(a)) down(f(f(f(f(fresh_constant))))) -> f_flat(down(f(f(f(fresh_constant))))) f_flat(up(x_1)) -> up(f(x_1)) down(f(f(f(fresh_constant)))) -> f_flat(down(f(f(fresh_constant)))) down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) down(f(fresh_constant)) -> f_flat(down(fresh_constant)) down(f(f(f(f(b))))) -> f_flat(down(f(f(f(b))))) down(f(f(f(b)))) -> f_flat(down(f(f(b)))) down(f(f(b))) -> f_flat(down(f(b))) down(f(b)) -> f_flat(down(b)) down(f(f(f(f(g(y22)))))) -> f_flat(down(f(f(f(g(y22)))))) down(f(f(f(g(y16))))) -> f_flat(down(f(f(g(y16))))) down(f(f(g(y10)))) -> f_flat(down(f(g(y10)))) down(f(g(y4))) -> f_flat(down(g(y4))) down(g(g(g(g(g(g(x))))))) -> up(b) down(g(g(g(g(g(a)))))) -> g_flat(down(g(g(g(g(a)))))) down(g(g(g(g(g(f(y30))))))) -> g_flat(down(g(g(g(g(f(y30))))))) down(g(g(g(g(g(b)))))) -> g_flat(down(g(g(g(g(b)))))) down(g(g(g(g(g(fresh_constant)))))) -> g_flat(down(g(g(g(g(fresh_constant)))))) down(f(f(f(f(a))))) -> f_flat(down(f(f(f(a))))) down(f(f(f(a)))) -> f_flat(down(f(f(a)))) down(f(f(a))) -> f_flat(down(f(a))) down(f(a)) -> f_flat(down(a)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (78) MRRProof (EQUIVALENT) By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. Strictly oriented dependency pairs: TOP(up(f(f(f(fresh_constant))))) -> TOP(f_flat(down(f(f(fresh_constant))))) TOP(up(g(g(g(fresh_constant))))) -> TOP(g_flat(down(g(g(fresh_constant))))) TOP(up(f(f(f(f(fresh_constant)))))) -> TOP(f_flat(down(f(f(f(fresh_constant)))))) TOP(up(g(g(g(g(fresh_constant)))))) -> TOP(g_flat(down(g(g(g(fresh_constant)))))) TOP(up(f(f(f(f(f(fresh_constant))))))) -> TOP(f_flat(down(f(f(f(f(fresh_constant))))))) TOP(up(g(g(g(g(g(fresh_constant))))))) -> TOP(g_flat(down(g(g(g(g(fresh_constant))))))) Used ordering: Polynomial interpretation [POLO]: POL(TOP(x_1)) = 2*x_1 POL(a) = 0 POL(b) = 0 POL(down(x_1)) = x_1 POL(f(x_1)) = 2*x_1 POL(f_flat(x_1)) = 2*x_1 POL(fresh_constant) = 2 POL(g(x_1)) = 2*x_1 POL(g_flat(x_1)) = 2*x_1 POL(up(x_1)) = 2*x_1 ---------------------------------------- (79) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(up(f(a))) -> TOP(f_flat(down(a))) TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) TOP(up(g(a))) -> TOP(g_flat(down(a))) TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) TOP(up(f(f(f(a))))) -> TOP(f_flat(down(f(f(a))))) TOP(up(f(f(f(g(x0)))))) -> TOP(f_flat(down(f(f(g(x0)))))) TOP(up(f(f(f(b))))) -> TOP(f_flat(down(f(f(b))))) TOP(up(g(g(g(a))))) -> TOP(g_flat(down(g(g(a))))) TOP(up(g(g(g(f(x0)))))) -> TOP(g_flat(down(g(g(f(x0)))))) TOP(up(g(g(g(b))))) -> TOP(g_flat(down(g(g(b))))) TOP(up(f(f(f(f(a)))))) -> TOP(f_flat(down(f(f(f(a)))))) TOP(up(f(f(f(f(g(x0))))))) -> TOP(f_flat(down(f(f(f(g(x0))))))) TOP(up(f(f(f(f(b)))))) -> TOP(f_flat(down(f(f(f(b)))))) TOP(up(g(g(g(g(a)))))) -> TOP(g_flat(down(g(g(g(a)))))) TOP(up(g(g(g(g(f(x0))))))) -> TOP(g_flat(down(g(g(g(f(x0))))))) TOP(up(g(g(g(g(b)))))) -> TOP(g_flat(down(g(g(g(b)))))) TOP(up(f(f(f(f(f(a))))))) -> TOP(f_flat(down(f(f(f(f(a))))))) TOP(up(f(f(f(f(f(g(x0)))))))) -> TOP(f_flat(down(f(f(f(f(g(x0)))))))) TOP(up(f(f(f(f(f(b))))))) -> TOP(f_flat(down(f(f(f(f(b))))))) TOP(up(g(g(g(g(g(a))))))) -> TOP(g_flat(down(g(g(g(g(a))))))) TOP(up(g(g(g(g(g(f(x0)))))))) -> TOP(g_flat(down(g(g(g(g(f(x0)))))))) TOP(up(g(g(g(g(g(b))))))) -> TOP(g_flat(down(g(g(g(g(b))))))) The TRS R consists of the following rules: down(g(g(g(g(fresh_constant))))) -> g_flat(down(g(g(g(fresh_constant))))) g_flat(up(x_1)) -> up(g(x_1)) down(g(g(g(fresh_constant)))) -> g_flat(down(g(g(fresh_constant)))) down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) down(g(fresh_constant)) -> g_flat(down(fresh_constant)) down(g(g(g(g(b))))) -> g_flat(down(g(g(g(b))))) down(g(g(g(b)))) -> g_flat(down(g(g(b)))) down(g(g(b))) -> g_flat(down(g(b))) down(g(b)) -> g_flat(down(b)) down(g(g(g(g(f(y24)))))) -> g_flat(down(g(g(g(f(y24)))))) down(g(g(g(f(y18))))) -> g_flat(down(g(g(f(y18))))) down(g(g(f(y12)))) -> g_flat(down(g(f(y12)))) down(g(f(x))) -> up(b) down(g(g(g(g(a))))) -> g_flat(down(g(g(g(a))))) down(g(g(g(a)))) -> g_flat(down(g(g(a)))) down(g(g(a))) -> g_flat(down(g(a))) down(g(a)) -> g_flat(down(a)) down(a) -> up(f(a)) down(a) -> up(g(a)) down(f(f(f(f(fresh_constant))))) -> f_flat(down(f(f(f(fresh_constant))))) f_flat(up(x_1)) -> up(f(x_1)) down(f(f(f(fresh_constant)))) -> f_flat(down(f(f(fresh_constant)))) down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) down(f(fresh_constant)) -> f_flat(down(fresh_constant)) down(f(f(f(f(b))))) -> f_flat(down(f(f(f(b))))) down(f(f(f(b)))) -> f_flat(down(f(f(b)))) down(f(f(b))) -> f_flat(down(f(b))) down(f(b)) -> f_flat(down(b)) down(f(f(f(f(g(y22)))))) -> f_flat(down(f(f(f(g(y22)))))) down(f(f(f(g(y16))))) -> f_flat(down(f(f(g(y16))))) down(f(f(g(y10)))) -> f_flat(down(f(g(y10)))) down(f(g(y4))) -> f_flat(down(g(y4))) down(g(g(g(g(g(g(x))))))) -> up(b) down(g(g(g(g(g(a)))))) -> g_flat(down(g(g(g(g(a)))))) down(g(g(g(g(g(f(y30))))))) -> g_flat(down(g(g(g(g(f(y30))))))) down(g(g(g(g(g(b)))))) -> g_flat(down(g(g(g(g(b)))))) down(g(g(g(g(g(fresh_constant)))))) -> g_flat(down(g(g(g(g(fresh_constant)))))) down(f(f(f(f(a))))) -> f_flat(down(f(f(f(a))))) down(f(f(f(a)))) -> f_flat(down(f(f(a)))) down(f(f(a))) -> f_flat(down(f(a))) down(f(a)) -> f_flat(down(a)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (80) 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. ---------------------------------------- (81) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(up(f(a))) -> TOP(f_flat(down(a))) TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) TOP(up(g(a))) -> TOP(g_flat(down(a))) TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) TOP(up(f(f(f(a))))) -> TOP(f_flat(down(f(f(a))))) TOP(up(f(f(f(g(x0)))))) -> TOP(f_flat(down(f(f(g(x0)))))) TOP(up(f(f(f(b))))) -> TOP(f_flat(down(f(f(b))))) TOP(up(g(g(g(a))))) -> TOP(g_flat(down(g(g(a))))) TOP(up(g(g(g(f(x0)))))) -> TOP(g_flat(down(g(g(f(x0)))))) TOP(up(g(g(g(b))))) -> TOP(g_flat(down(g(g(b))))) TOP(up(f(f(f(f(a)))))) -> TOP(f_flat(down(f(f(f(a)))))) TOP(up(f(f(f(f(g(x0))))))) -> TOP(f_flat(down(f(f(f(g(x0))))))) TOP(up(f(f(f(f(b)))))) -> TOP(f_flat(down(f(f(f(b)))))) TOP(up(g(g(g(g(a)))))) -> TOP(g_flat(down(g(g(g(a)))))) TOP(up(g(g(g(g(f(x0))))))) -> TOP(g_flat(down(g(g(g(f(x0))))))) TOP(up(g(g(g(g(b)))))) -> TOP(g_flat(down(g(g(g(b)))))) TOP(up(f(f(f(f(f(a))))))) -> TOP(f_flat(down(f(f(f(f(a))))))) TOP(up(f(f(f(f(f(g(x0)))))))) -> TOP(f_flat(down(f(f(f(f(g(x0)))))))) TOP(up(f(f(f(f(f(b))))))) -> TOP(f_flat(down(f(f(f(f(b))))))) TOP(up(g(g(g(g(g(a))))))) -> TOP(g_flat(down(g(g(g(g(a))))))) TOP(up(g(g(g(g(g(f(x0)))))))) -> TOP(g_flat(down(g(g(g(g(f(x0)))))))) TOP(up(g(g(g(g(g(b))))))) -> TOP(g_flat(down(g(g(g(g(b))))))) The TRS R consists of the following rules: down(g(g(g(g(b))))) -> g_flat(down(g(g(g(b))))) g_flat(up(x_1)) -> up(g(x_1)) down(g(g(g(b)))) -> g_flat(down(g(g(b)))) down(g(g(b))) -> g_flat(down(g(b))) down(g(b)) -> g_flat(down(b)) down(g(g(g(g(f(y24)))))) -> g_flat(down(g(g(g(f(y24)))))) down(g(g(g(f(y18))))) -> g_flat(down(g(g(f(y18))))) down(g(g(f(y12)))) -> g_flat(down(g(f(y12)))) down(g(f(x))) -> up(b) down(g(g(g(g(a))))) -> g_flat(down(g(g(g(a))))) down(g(g(g(a)))) -> g_flat(down(g(g(a)))) down(g(g(a))) -> g_flat(down(g(a))) down(g(a)) -> g_flat(down(a)) down(a) -> up(f(a)) down(a) -> up(g(a)) down(f(f(f(f(b))))) -> f_flat(down(f(f(f(b))))) f_flat(up(x_1)) -> up(f(x_1)) down(f(f(f(b)))) -> f_flat(down(f(f(b)))) down(f(f(b))) -> f_flat(down(f(b))) down(f(b)) -> f_flat(down(b)) down(f(f(f(f(g(y22)))))) -> f_flat(down(f(f(f(g(y22)))))) down(f(f(f(g(y16))))) -> f_flat(down(f(f(g(y16))))) down(f(f(g(y10)))) -> f_flat(down(f(g(y10)))) down(f(g(y4))) -> f_flat(down(g(y4))) down(g(g(g(g(fresh_constant))))) -> g_flat(down(g(g(g(fresh_constant))))) down(g(g(g(fresh_constant)))) -> g_flat(down(g(g(fresh_constant)))) down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) down(g(fresh_constant)) -> g_flat(down(fresh_constant)) down(g(g(g(g(g(g(x))))))) -> up(b) down(g(g(g(g(g(a)))))) -> g_flat(down(g(g(g(g(a)))))) down(g(g(g(g(g(f(y30))))))) -> g_flat(down(g(g(g(g(f(y30))))))) down(g(g(g(g(g(b)))))) -> g_flat(down(g(g(g(g(b)))))) down(g(g(g(g(g(fresh_constant)))))) -> g_flat(down(g(g(g(g(fresh_constant)))))) down(f(f(f(f(a))))) -> f_flat(down(f(f(f(a))))) down(f(f(f(a)))) -> f_flat(down(f(f(a)))) down(f(f(a))) -> f_flat(down(f(a))) down(f(a)) -> f_flat(down(a)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (82) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. TOP(up(f(f(f(b))))) -> TOP(f_flat(down(f(f(b))))) TOP(up(f(f(f(f(b)))))) -> TOP(f_flat(down(f(f(f(b)))))) TOP(up(f(f(f(f(f(b))))))) -> TOP(f_flat(down(f(f(f(f(b))))))) The remaining pairs can at least be oriented weakly. Used ordering: Combined order from the following AFS and order. TOP(x1) = x1 up(x1) = up f(x1) = x1 a = a f_flat(x1) = x1 down(x1) = x1 g(x1) = g g_flat(x1) = g_flat b = b fresh_constant = fresh_constant Recursive path order with status [RPO]. Quasi-Precedence: [up, a, g, g_flat, fresh_constant] > b Status: up: multiset status a: multiset status g: multiset status g_flat: multiset status b: multiset status fresh_constant: multiset status The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: down(a) -> up(f(a)) down(a) -> up(g(a)) f_flat(up(x_1)) -> up(f(x_1)) down(g(g(g(g(b))))) -> g_flat(down(g(g(g(b))))) down(g(g(g(b)))) -> g_flat(down(g(g(b)))) down(g(g(b))) -> g_flat(down(g(b))) down(g(b)) -> g_flat(down(b)) down(g(g(g(g(f(y24)))))) -> g_flat(down(g(g(g(f(y24)))))) down(g(g(g(f(y18))))) -> g_flat(down(g(g(f(y18))))) down(g(g(f(y12)))) -> g_flat(down(g(f(y12)))) down(g(f(x))) -> up(b) down(g(g(g(g(a))))) -> g_flat(down(g(g(g(a))))) down(g(g(g(a)))) -> g_flat(down(g(g(a)))) down(g(g(a))) -> g_flat(down(g(a))) down(g(a)) -> g_flat(down(a)) down(g(g(g(g(fresh_constant))))) -> g_flat(down(g(g(g(fresh_constant))))) down(g(g(g(fresh_constant)))) -> g_flat(down(g(g(fresh_constant)))) down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) down(g(fresh_constant)) -> g_flat(down(fresh_constant)) down(g(g(g(g(g(g(x))))))) -> up(b) down(g(g(g(g(g(a)))))) -> g_flat(down(g(g(g(g(a)))))) down(g(g(g(g(g(f(y30))))))) -> g_flat(down(g(g(g(g(f(y30))))))) down(g(g(g(g(g(b)))))) -> g_flat(down(g(g(g(g(b)))))) down(g(g(g(g(g(fresh_constant)))))) -> g_flat(down(g(g(g(g(fresh_constant)))))) g_flat(up(x_1)) -> up(g(x_1)) down(f(a)) -> f_flat(down(a)) down(f(g(y4))) -> f_flat(down(g(y4))) down(f(f(a))) -> f_flat(down(f(a))) down(f(f(g(y10)))) -> f_flat(down(f(g(y10)))) down(f(f(b))) -> f_flat(down(f(b))) down(f(f(f(a)))) -> f_flat(down(f(f(a)))) down(f(f(f(g(y16))))) -> f_flat(down(f(f(g(y16))))) down(f(f(f(b)))) -> f_flat(down(f(f(b)))) down(f(f(f(f(a))))) -> f_flat(down(f(f(f(a))))) down(f(f(f(f(g(y22)))))) -> f_flat(down(f(f(f(g(y22)))))) down(f(f(f(f(b))))) -> f_flat(down(f(f(f(b))))) down(f(b)) -> f_flat(down(b)) ---------------------------------------- (83) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(up(f(a))) -> TOP(f_flat(down(a))) TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) TOP(up(g(a))) -> TOP(g_flat(down(a))) TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) TOP(up(f(f(f(a))))) -> TOP(f_flat(down(f(f(a))))) TOP(up(f(f(f(g(x0)))))) -> TOP(f_flat(down(f(f(g(x0)))))) TOP(up(g(g(g(a))))) -> TOP(g_flat(down(g(g(a))))) TOP(up(g(g(g(f(x0)))))) -> TOP(g_flat(down(g(g(f(x0)))))) TOP(up(g(g(g(b))))) -> TOP(g_flat(down(g(g(b))))) TOP(up(f(f(f(f(a)))))) -> TOP(f_flat(down(f(f(f(a)))))) TOP(up(f(f(f(f(g(x0))))))) -> TOP(f_flat(down(f(f(f(g(x0))))))) TOP(up(g(g(g(g(a)))))) -> TOP(g_flat(down(g(g(g(a)))))) TOP(up(g(g(g(g(f(x0))))))) -> TOP(g_flat(down(g(g(g(f(x0))))))) TOP(up(g(g(g(g(b)))))) -> TOP(g_flat(down(g(g(g(b)))))) TOP(up(f(f(f(f(f(a))))))) -> TOP(f_flat(down(f(f(f(f(a))))))) TOP(up(f(f(f(f(f(g(x0)))))))) -> TOP(f_flat(down(f(f(f(f(g(x0)))))))) TOP(up(g(g(g(g(g(a))))))) -> TOP(g_flat(down(g(g(g(g(a))))))) TOP(up(g(g(g(g(g(f(x0)))))))) -> TOP(g_flat(down(g(g(g(g(f(x0)))))))) TOP(up(g(g(g(g(g(b))))))) -> TOP(g_flat(down(g(g(g(g(b))))))) The TRS R consists of the following rules: down(g(g(g(g(b))))) -> g_flat(down(g(g(g(b))))) g_flat(up(x_1)) -> up(g(x_1)) down(g(g(g(b)))) -> g_flat(down(g(g(b)))) down(g(g(b))) -> g_flat(down(g(b))) down(g(b)) -> g_flat(down(b)) down(g(g(g(g(f(y24)))))) -> g_flat(down(g(g(g(f(y24)))))) down(g(g(g(f(y18))))) -> g_flat(down(g(g(f(y18))))) down(g(g(f(y12)))) -> g_flat(down(g(f(y12)))) down(g(f(x))) -> up(b) down(g(g(g(g(a))))) -> g_flat(down(g(g(g(a))))) down(g(g(g(a)))) -> g_flat(down(g(g(a)))) down(g(g(a))) -> g_flat(down(g(a))) down(g(a)) -> g_flat(down(a)) down(a) -> up(f(a)) down(a) -> up(g(a)) down(f(f(f(f(b))))) -> f_flat(down(f(f(f(b))))) f_flat(up(x_1)) -> up(f(x_1)) down(f(f(f(b)))) -> f_flat(down(f(f(b)))) down(f(f(b))) -> f_flat(down(f(b))) down(f(b)) -> f_flat(down(b)) down(f(f(f(f(g(y22)))))) -> f_flat(down(f(f(f(g(y22)))))) down(f(f(f(g(y16))))) -> f_flat(down(f(f(g(y16))))) down(f(f(g(y10)))) -> f_flat(down(f(g(y10)))) down(f(g(y4))) -> f_flat(down(g(y4))) down(g(g(g(g(fresh_constant))))) -> g_flat(down(g(g(g(fresh_constant))))) down(g(g(g(fresh_constant)))) -> g_flat(down(g(g(fresh_constant)))) down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) down(g(fresh_constant)) -> g_flat(down(fresh_constant)) down(g(g(g(g(g(g(x))))))) -> up(b) down(g(g(g(g(g(a)))))) -> g_flat(down(g(g(g(g(a)))))) down(g(g(g(g(g(f(y30))))))) -> g_flat(down(g(g(g(g(f(y30))))))) down(g(g(g(g(g(b)))))) -> g_flat(down(g(g(g(g(b)))))) down(g(g(g(g(g(fresh_constant)))))) -> g_flat(down(g(g(g(g(fresh_constant)))))) down(f(f(f(f(a))))) -> f_flat(down(f(f(f(a))))) down(f(f(f(a)))) -> f_flat(down(f(f(a)))) down(f(f(a))) -> f_flat(down(f(a))) down(f(a)) -> f_flat(down(a)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (84) 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. ---------------------------------------- (85) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(up(f(a))) -> TOP(f_flat(down(a))) TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) TOP(up(g(a))) -> TOP(g_flat(down(a))) TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) TOP(up(f(f(f(a))))) -> TOP(f_flat(down(f(f(a))))) TOP(up(f(f(f(g(x0)))))) -> TOP(f_flat(down(f(f(g(x0)))))) TOP(up(g(g(g(a))))) -> TOP(g_flat(down(g(g(a))))) TOP(up(g(g(g(f(x0)))))) -> TOP(g_flat(down(g(g(f(x0)))))) TOP(up(g(g(g(b))))) -> TOP(g_flat(down(g(g(b))))) TOP(up(f(f(f(f(a)))))) -> TOP(f_flat(down(f(f(f(a)))))) TOP(up(f(f(f(f(g(x0))))))) -> TOP(f_flat(down(f(f(f(g(x0))))))) TOP(up(g(g(g(g(a)))))) -> TOP(g_flat(down(g(g(g(a)))))) TOP(up(g(g(g(g(f(x0))))))) -> TOP(g_flat(down(g(g(g(f(x0))))))) TOP(up(g(g(g(g(b)))))) -> TOP(g_flat(down(g(g(g(b)))))) TOP(up(f(f(f(f(f(a))))))) -> TOP(f_flat(down(f(f(f(f(a))))))) TOP(up(f(f(f(f(f(g(x0)))))))) -> TOP(f_flat(down(f(f(f(f(g(x0)))))))) TOP(up(g(g(g(g(g(a))))))) -> TOP(g_flat(down(g(g(g(g(a))))))) TOP(up(g(g(g(g(g(f(x0)))))))) -> TOP(g_flat(down(g(g(g(g(f(x0)))))))) TOP(up(g(g(g(g(g(b))))))) -> TOP(g_flat(down(g(g(g(g(b))))))) The TRS R consists of the following rules: down(g(g(g(g(b))))) -> g_flat(down(g(g(g(b))))) g_flat(up(x_1)) -> up(g(x_1)) down(g(g(g(b)))) -> g_flat(down(g(g(b)))) down(g(g(b))) -> g_flat(down(g(b))) down(g(b)) -> g_flat(down(b)) down(g(g(g(g(f(y24)))))) -> g_flat(down(g(g(g(f(y24)))))) down(g(g(g(f(y18))))) -> g_flat(down(g(g(f(y18))))) down(g(g(f(y12)))) -> g_flat(down(g(f(y12)))) down(g(f(x))) -> up(b) down(g(g(g(g(a))))) -> g_flat(down(g(g(g(a))))) down(g(g(g(a)))) -> g_flat(down(g(g(a)))) down(g(g(a))) -> g_flat(down(g(a))) down(g(a)) -> g_flat(down(a)) down(a) -> up(f(a)) down(a) -> up(g(a)) down(f(f(f(f(g(y22)))))) -> f_flat(down(f(f(f(g(y22)))))) f_flat(up(x_1)) -> up(f(x_1)) down(f(f(f(g(y16))))) -> f_flat(down(f(f(g(y16))))) down(f(f(g(y10)))) -> f_flat(down(f(g(y10)))) down(f(g(y4))) -> f_flat(down(g(y4))) down(g(g(g(g(fresh_constant))))) -> g_flat(down(g(g(g(fresh_constant))))) down(g(g(g(fresh_constant)))) -> g_flat(down(g(g(fresh_constant)))) down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) down(g(fresh_constant)) -> g_flat(down(fresh_constant)) down(g(g(g(g(g(g(x))))))) -> up(b) down(g(g(g(g(g(a)))))) -> g_flat(down(g(g(g(g(a)))))) down(g(g(g(g(g(f(y30))))))) -> g_flat(down(g(g(g(g(f(y30))))))) down(g(g(g(g(g(b)))))) -> g_flat(down(g(g(g(g(b)))))) down(g(g(g(g(g(fresh_constant)))))) -> g_flat(down(g(g(g(g(fresh_constant)))))) down(f(f(f(f(a))))) -> f_flat(down(f(f(f(a))))) down(f(f(f(a)))) -> f_flat(down(f(f(a)))) down(f(f(a))) -> f_flat(down(f(a))) down(f(a)) -> f_flat(down(a)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (86) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. TOP(up(g(g(g(b))))) -> TOP(g_flat(down(g(g(b))))) TOP(up(g(g(g(g(b)))))) -> TOP(g_flat(down(g(g(g(b)))))) TOP(up(g(g(g(g(g(b))))))) -> TOP(g_flat(down(g(g(g(g(b))))))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(TOP(x_1)) = x_1 POL(a) = 1 POL(b) = 0 POL(down(x_1)) = x_1 POL(f(x_1)) = 1 POL(f_flat(x_1)) = 1 POL(fresh_constant) = 0 POL(g(x_1)) = x_1 POL(g_flat(x_1)) = x_1 POL(up(x_1)) = 1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: down(a) -> up(f(a)) down(a) -> up(g(a)) f_flat(up(x_1)) -> up(f(x_1)) down(g(g(g(g(b))))) -> g_flat(down(g(g(g(b))))) down(g(g(g(b)))) -> g_flat(down(g(g(b)))) down(g(g(b))) -> g_flat(down(g(b))) down(g(b)) -> g_flat(down(b)) down(g(g(g(g(f(y24)))))) -> g_flat(down(g(g(g(f(y24)))))) down(g(g(g(f(y18))))) -> g_flat(down(g(g(f(y18))))) down(g(g(f(y12)))) -> g_flat(down(g(f(y12)))) down(g(f(x))) -> up(b) down(g(g(g(g(a))))) -> g_flat(down(g(g(g(a))))) down(g(g(g(a)))) -> g_flat(down(g(g(a)))) down(g(g(a))) -> g_flat(down(g(a))) down(g(a)) -> g_flat(down(a)) g_flat(up(x_1)) -> up(g(x_1)) ---------------------------------------- (87) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(up(f(a))) -> TOP(f_flat(down(a))) TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) TOP(up(g(a))) -> TOP(g_flat(down(a))) TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) TOP(up(f(f(f(a))))) -> TOP(f_flat(down(f(f(a))))) TOP(up(f(f(f(g(x0)))))) -> TOP(f_flat(down(f(f(g(x0)))))) TOP(up(g(g(g(a))))) -> TOP(g_flat(down(g(g(a))))) TOP(up(g(g(g(f(x0)))))) -> TOP(g_flat(down(g(g(f(x0)))))) TOP(up(f(f(f(f(a)))))) -> TOP(f_flat(down(f(f(f(a)))))) TOP(up(f(f(f(f(g(x0))))))) -> TOP(f_flat(down(f(f(f(g(x0))))))) TOP(up(g(g(g(g(a)))))) -> TOP(g_flat(down(g(g(g(a)))))) TOP(up(g(g(g(g(f(x0))))))) -> TOP(g_flat(down(g(g(g(f(x0))))))) TOP(up(f(f(f(f(f(a))))))) -> TOP(f_flat(down(f(f(f(f(a))))))) TOP(up(f(f(f(f(f(g(x0)))))))) -> TOP(f_flat(down(f(f(f(f(g(x0)))))))) TOP(up(g(g(g(g(g(a))))))) -> TOP(g_flat(down(g(g(g(g(a))))))) TOP(up(g(g(g(g(g(f(x0)))))))) -> TOP(g_flat(down(g(g(g(g(f(x0)))))))) The TRS R consists of the following rules: down(g(g(g(g(b))))) -> g_flat(down(g(g(g(b))))) g_flat(up(x_1)) -> up(g(x_1)) down(g(g(g(b)))) -> g_flat(down(g(g(b)))) down(g(g(b))) -> g_flat(down(g(b))) down(g(b)) -> g_flat(down(b)) down(g(g(g(g(f(y24)))))) -> g_flat(down(g(g(g(f(y24)))))) down(g(g(g(f(y18))))) -> g_flat(down(g(g(f(y18))))) down(g(g(f(y12)))) -> g_flat(down(g(f(y12)))) down(g(f(x))) -> up(b) down(g(g(g(g(a))))) -> g_flat(down(g(g(g(a))))) down(g(g(g(a)))) -> g_flat(down(g(g(a)))) down(g(g(a))) -> g_flat(down(g(a))) down(g(a)) -> g_flat(down(a)) down(a) -> up(f(a)) down(a) -> up(g(a)) down(f(f(f(f(g(y22)))))) -> f_flat(down(f(f(f(g(y22)))))) f_flat(up(x_1)) -> up(f(x_1)) down(f(f(f(g(y16))))) -> f_flat(down(f(f(g(y16))))) down(f(f(g(y10)))) -> f_flat(down(f(g(y10)))) down(f(g(y4))) -> f_flat(down(g(y4))) down(g(g(g(g(fresh_constant))))) -> g_flat(down(g(g(g(fresh_constant))))) down(g(g(g(fresh_constant)))) -> g_flat(down(g(g(fresh_constant)))) down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) down(g(fresh_constant)) -> g_flat(down(fresh_constant)) down(g(g(g(g(g(g(x))))))) -> up(b) down(g(g(g(g(g(a)))))) -> g_flat(down(g(g(g(g(a)))))) down(g(g(g(g(g(f(y30))))))) -> g_flat(down(g(g(g(g(f(y30))))))) down(g(g(g(g(g(b)))))) -> g_flat(down(g(g(g(g(b)))))) down(g(g(g(g(g(fresh_constant)))))) -> g_flat(down(g(g(g(g(fresh_constant)))))) down(f(f(f(f(a))))) -> f_flat(down(f(f(f(a))))) down(f(f(f(a)))) -> f_flat(down(f(f(a)))) down(f(f(a))) -> f_flat(down(f(a))) down(f(a)) -> f_flat(down(a)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (88) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. TOP(up(g(a))) -> TOP(g_flat(down(a))) The remaining pairs can at least be oriented weakly. Used ordering: Matrix interpretation [MATRO]: Non-tuple symbols: <<< M( a ) = [[0], [1]] >>> <<< M( b ) = [[0], [0]] >>> <<< M( down_1(x_1) ) = [[0], [0]] + [[0, 1], [0, 0]] * x_1 >>> <<< M( f_1(x_1) ) = [[0], [0]] + [[0, 0], [0, 0]] * x_1 >>> <<< M( fresh_constant ) = [[0], [0]] >>> <<< M( up_1(x_1) ) = [[0], [0]] + [[1, 0], [0, 1]] * x_1 >>> <<< M( f_flat_1(x_1) ) = [[0], [0]] + [[0, 0], [0, 0]] * x_1 >>> <<< M( g_1(x_1) ) = [[0], [0]] + [[0, 1], [0, 0]] * x_1 >>> <<< M( g_flat_1(x_1) ) = [[0], [0]] + [[0, 1], [0, 0]] * x_1 >>> Tuple symbols: <<< M( TOP_1(x_1) ) = [[0]] + [[1, 0]] * 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(a) -> up(f(a)) down(a) -> up(g(a)) f_flat(up(x_1)) -> up(f(x_1)) down(g(g(g(g(f(y24)))))) -> g_flat(down(g(g(g(f(y24)))))) down(g(g(g(f(y18))))) -> g_flat(down(g(g(f(y18))))) down(g(g(f(y12)))) -> g_flat(down(g(f(y12)))) down(g(f(x))) -> up(b) down(g(g(g(g(a))))) -> g_flat(down(g(g(g(a))))) down(g(g(g(a)))) -> g_flat(down(g(g(a)))) down(g(g(a))) -> g_flat(down(g(a))) down(g(a)) -> g_flat(down(a)) g_flat(up(x_1)) -> up(g(x_1)) ---------------------------------------- (89) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(up(f(a))) -> TOP(f_flat(down(a))) TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) TOP(up(f(f(f(a))))) -> TOP(f_flat(down(f(f(a))))) TOP(up(f(f(f(g(x0)))))) -> TOP(f_flat(down(f(f(g(x0)))))) TOP(up(g(g(g(a))))) -> TOP(g_flat(down(g(g(a))))) TOP(up(g(g(g(f(x0)))))) -> TOP(g_flat(down(g(g(f(x0)))))) TOP(up(f(f(f(f(a)))))) -> TOP(f_flat(down(f(f(f(a)))))) TOP(up(f(f(f(f(g(x0))))))) -> TOP(f_flat(down(f(f(f(g(x0))))))) TOP(up(g(g(g(g(a)))))) -> TOP(g_flat(down(g(g(g(a)))))) TOP(up(g(g(g(g(f(x0))))))) -> TOP(g_flat(down(g(g(g(f(x0))))))) TOP(up(f(f(f(f(f(a))))))) -> TOP(f_flat(down(f(f(f(f(a))))))) TOP(up(f(f(f(f(f(g(x0)))))))) -> TOP(f_flat(down(f(f(f(f(g(x0)))))))) TOP(up(g(g(g(g(g(a))))))) -> TOP(g_flat(down(g(g(g(g(a))))))) TOP(up(g(g(g(g(g(f(x0)))))))) -> TOP(g_flat(down(g(g(g(g(f(x0)))))))) The TRS R consists of the following rules: down(g(g(g(g(b))))) -> g_flat(down(g(g(g(b))))) g_flat(up(x_1)) -> up(g(x_1)) down(g(g(g(b)))) -> g_flat(down(g(g(b)))) down(g(g(b))) -> g_flat(down(g(b))) down(g(b)) -> g_flat(down(b)) down(g(g(g(g(f(y24)))))) -> g_flat(down(g(g(g(f(y24)))))) down(g(g(g(f(y18))))) -> g_flat(down(g(g(f(y18))))) down(g(g(f(y12)))) -> g_flat(down(g(f(y12)))) down(g(f(x))) -> up(b) down(g(g(g(g(a))))) -> g_flat(down(g(g(g(a))))) down(g(g(g(a)))) -> g_flat(down(g(g(a)))) down(g(g(a))) -> g_flat(down(g(a))) down(g(a)) -> g_flat(down(a)) down(a) -> up(f(a)) down(a) -> up(g(a)) down(f(f(f(f(g(y22)))))) -> f_flat(down(f(f(f(g(y22)))))) f_flat(up(x_1)) -> up(f(x_1)) down(f(f(f(g(y16))))) -> f_flat(down(f(f(g(y16))))) down(f(f(g(y10)))) -> f_flat(down(f(g(y10)))) down(f(g(y4))) -> f_flat(down(g(y4))) down(g(g(g(g(fresh_constant))))) -> g_flat(down(g(g(g(fresh_constant))))) down(g(g(g(fresh_constant)))) -> g_flat(down(g(g(fresh_constant)))) down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) down(g(fresh_constant)) -> g_flat(down(fresh_constant)) down(g(g(g(g(g(g(x))))))) -> up(b) down(g(g(g(g(g(a)))))) -> g_flat(down(g(g(g(g(a)))))) down(g(g(g(g(g(f(y30))))))) -> g_flat(down(g(g(g(g(f(y30))))))) down(g(g(g(g(g(b)))))) -> g_flat(down(g(g(g(g(b)))))) down(g(g(g(g(g(fresh_constant)))))) -> g_flat(down(g(g(g(g(fresh_constant)))))) down(f(f(f(f(a))))) -> f_flat(down(f(f(f(a))))) down(f(f(f(a)))) -> f_flat(down(f(f(a)))) down(f(f(a))) -> f_flat(down(f(a))) down(f(a)) -> f_flat(down(a)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (90) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. TOP(up(f(a))) -> TOP(f_flat(down(a))) The remaining pairs can at least be oriented weakly. Used ordering: Matrix interpretation [MATRO]: Non-tuple symbols: <<< M( a ) = [[1], [0]] >>> <<< M( b ) = [[0], [0]] >>> <<< M( down_1(x_1) ) = [[0], [0]] + [[1, 0], [0, 0]] * x_1 >>> <<< M( f_1(x_1) ) = [[0], [0]] + [[0, 0], [1, 0]] * x_1 >>> <<< M( fresh_constant ) = [[0], [0]] >>> <<< M( up_1(x_1) ) = [[0], [0]] + [[0, 1], [1, 0]] * x_1 >>> <<< M( f_flat_1(x_1) ) = [[0], [0]] + [[0, 1], [0, 0]] * x_1 >>> <<< M( g_1(x_1) ) = [[0], [0]] + [[0, 0], [0, 0]] * x_1 >>> <<< M( g_flat_1(x_1) ) = [[0], [0]] + [[0, 0], [0, 0]] * x_1 >>> Tuple symbols: <<< M( TOP_1(x_1) ) = [[0]] + [[1, 0]] * 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(a) -> up(f(a)) down(a) -> up(g(a)) f_flat(up(x_1)) -> up(f(x_1)) down(g(g(g(g(b))))) -> g_flat(down(g(g(g(b))))) down(g(g(g(b)))) -> g_flat(down(g(g(b)))) down(g(g(b))) -> g_flat(down(g(b))) down(g(b)) -> g_flat(down(b)) down(g(g(g(g(f(y24)))))) -> g_flat(down(g(g(g(f(y24)))))) down(g(g(g(f(y18))))) -> g_flat(down(g(g(f(y18))))) down(g(g(f(y12)))) -> g_flat(down(g(f(y12)))) down(g(f(x))) -> up(b) down(g(g(g(g(a))))) -> g_flat(down(g(g(g(a))))) down(g(g(g(a)))) -> g_flat(down(g(g(a)))) down(g(g(a))) -> g_flat(down(g(a))) down(g(a)) -> g_flat(down(a)) down(g(g(g(g(fresh_constant))))) -> g_flat(down(g(g(g(fresh_constant))))) down(g(g(g(fresh_constant)))) -> g_flat(down(g(g(fresh_constant)))) down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) down(g(fresh_constant)) -> g_flat(down(fresh_constant)) down(g(g(g(g(g(g(x))))))) -> up(b) down(g(g(g(g(g(a)))))) -> g_flat(down(g(g(g(g(a)))))) down(g(g(g(g(g(f(y30))))))) -> g_flat(down(g(g(g(g(f(y30))))))) down(g(g(g(g(g(b)))))) -> g_flat(down(g(g(g(g(b)))))) down(g(g(g(g(g(fresh_constant)))))) -> g_flat(down(g(g(g(g(fresh_constant)))))) down(f(a)) -> f_flat(down(a)) down(f(g(y4))) -> f_flat(down(g(y4))) g_flat(up(x_1)) -> up(g(x_1)) down(f(f(a))) -> f_flat(down(f(a))) down(f(f(g(y10)))) -> f_flat(down(f(g(y10)))) down(f(f(f(a)))) -> f_flat(down(f(f(a)))) down(f(f(f(g(y16))))) -> f_flat(down(f(f(g(y16))))) down(f(f(f(f(a))))) -> f_flat(down(f(f(f(a))))) down(f(f(f(f(g(y22)))))) -> f_flat(down(f(f(f(g(y22)))))) ---------------------------------------- (91) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) TOP(up(f(f(f(a))))) -> TOP(f_flat(down(f(f(a))))) TOP(up(f(f(f(g(x0)))))) -> TOP(f_flat(down(f(f(g(x0)))))) TOP(up(g(g(g(a))))) -> TOP(g_flat(down(g(g(a))))) TOP(up(g(g(g(f(x0)))))) -> TOP(g_flat(down(g(g(f(x0)))))) TOP(up(f(f(f(f(a)))))) -> TOP(f_flat(down(f(f(f(a)))))) TOP(up(f(f(f(f(g(x0))))))) -> TOP(f_flat(down(f(f(f(g(x0))))))) TOP(up(g(g(g(g(a)))))) -> TOP(g_flat(down(g(g(g(a)))))) TOP(up(g(g(g(g(f(x0))))))) -> TOP(g_flat(down(g(g(g(f(x0))))))) TOP(up(f(f(f(f(f(a))))))) -> TOP(f_flat(down(f(f(f(f(a))))))) TOP(up(f(f(f(f(f(g(x0)))))))) -> TOP(f_flat(down(f(f(f(f(g(x0)))))))) TOP(up(g(g(g(g(g(a))))))) -> TOP(g_flat(down(g(g(g(g(a))))))) TOP(up(g(g(g(g(g(f(x0)))))))) -> TOP(g_flat(down(g(g(g(g(f(x0)))))))) The TRS R consists of the following rules: down(g(g(g(g(b))))) -> g_flat(down(g(g(g(b))))) g_flat(up(x_1)) -> up(g(x_1)) down(g(g(g(b)))) -> g_flat(down(g(g(b)))) down(g(g(b))) -> g_flat(down(g(b))) down(g(b)) -> g_flat(down(b)) down(g(g(g(g(f(y24)))))) -> g_flat(down(g(g(g(f(y24)))))) down(g(g(g(f(y18))))) -> g_flat(down(g(g(f(y18))))) down(g(g(f(y12)))) -> g_flat(down(g(f(y12)))) down(g(f(x))) -> up(b) down(g(g(g(g(a))))) -> g_flat(down(g(g(g(a))))) down(g(g(g(a)))) -> g_flat(down(g(g(a)))) down(g(g(a))) -> g_flat(down(g(a))) down(g(a)) -> g_flat(down(a)) down(a) -> up(f(a)) down(a) -> up(g(a)) down(f(f(f(f(g(y22)))))) -> f_flat(down(f(f(f(g(y22)))))) f_flat(up(x_1)) -> up(f(x_1)) down(f(f(f(g(y16))))) -> f_flat(down(f(f(g(y16))))) down(f(f(g(y10)))) -> f_flat(down(f(g(y10)))) down(f(g(y4))) -> f_flat(down(g(y4))) down(g(g(g(g(fresh_constant))))) -> g_flat(down(g(g(g(fresh_constant))))) down(g(g(g(fresh_constant)))) -> g_flat(down(g(g(fresh_constant)))) down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) down(g(fresh_constant)) -> g_flat(down(fresh_constant)) down(g(g(g(g(g(g(x))))))) -> up(b) down(g(g(g(g(g(a)))))) -> g_flat(down(g(g(g(g(a)))))) down(g(g(g(g(g(f(y30))))))) -> g_flat(down(g(g(g(g(f(y30))))))) down(g(g(g(g(g(b)))))) -> g_flat(down(g(g(g(g(b)))))) down(g(g(g(g(g(fresh_constant)))))) -> g_flat(down(g(g(g(g(fresh_constant)))))) down(f(f(f(f(a))))) -> f_flat(down(f(f(f(a))))) down(f(f(f(a)))) -> f_flat(down(f(f(a)))) down(f(f(a))) -> f_flat(down(f(a))) down(f(a)) -> f_flat(down(a)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (92) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) TOP(up(g(g(g(f(x0)))))) -> TOP(g_flat(down(g(g(f(x0)))))) TOP(up(g(g(g(g(f(x0))))))) -> TOP(g_flat(down(g(g(g(f(x0))))))) TOP(up(g(g(g(g(g(f(x0)))))))) -> TOP(g_flat(down(g(g(g(g(f(x0)))))))) The remaining pairs can at least be oriented weakly. Used ordering: Matrix interpretation [MATRO]: Non-tuple symbols: <<< M( a ) = [[1], [1]] >>> <<< M( b ) = [[0], [0]] >>> <<< M( down_1(x_1) ) = [[0], [0]] + [[0, 1], [0, 0]] * x_1 >>> <<< M( f_1(x_1) ) = [[1], [0]] + [[0, 0], [0, 0]] * x_1 >>> <<< M( fresh_constant ) = [[0], [0]] >>> <<< M( up_1(x_1) ) = [[0], [0]] + [[1, 0], [0, 0]] * x_1 >>> <<< M( f_flat_1(x_1) ) = [[1], [0]] + [[0, 0], [0, 0]] * x_1 >>> <<< M( g_1(x_1) ) = [[0], [0]] + [[1, 0], [0, 1]] * x_1 >>> <<< M( g_flat_1(x_1) ) = [[0], [0]] + [[1, 0], [0, 0]] * x_1 >>> Tuple symbols: <<< M( TOP_1(x_1) ) = [[0]] + [[1, 0]] * 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(g(g(g(g(f(y24)))))) -> g_flat(down(g(g(g(f(y24)))))) down(g(g(g(f(y18))))) -> g_flat(down(g(g(f(y18))))) down(g(g(f(y12)))) -> g_flat(down(g(f(y12)))) down(g(f(x))) -> up(b) down(g(g(g(g(a))))) -> g_flat(down(g(g(g(a))))) down(g(g(g(a)))) -> g_flat(down(g(g(a)))) down(g(g(a))) -> g_flat(down(g(a))) down(g(a)) -> g_flat(down(a)) f_flat(up(x_1)) -> up(f(x_1)) g_flat(up(x_1)) -> up(g(x_1)) down(a) -> up(f(a)) down(a) -> up(g(a)) ---------------------------------------- (93) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) TOP(up(f(f(f(a))))) -> TOP(f_flat(down(f(f(a))))) TOP(up(f(f(f(g(x0)))))) -> TOP(f_flat(down(f(f(g(x0)))))) TOP(up(g(g(g(a))))) -> TOP(g_flat(down(g(g(a))))) TOP(up(f(f(f(f(a)))))) -> TOP(f_flat(down(f(f(f(a)))))) TOP(up(f(f(f(f(g(x0))))))) -> TOP(f_flat(down(f(f(f(g(x0))))))) TOP(up(g(g(g(g(a)))))) -> TOP(g_flat(down(g(g(g(a)))))) TOP(up(f(f(f(f(f(a))))))) -> TOP(f_flat(down(f(f(f(f(a))))))) TOP(up(f(f(f(f(f(g(x0)))))))) -> TOP(f_flat(down(f(f(f(f(g(x0)))))))) TOP(up(g(g(g(g(g(a))))))) -> TOP(g_flat(down(g(g(g(g(a))))))) The TRS R consists of the following rules: down(g(g(g(g(b))))) -> g_flat(down(g(g(g(b))))) g_flat(up(x_1)) -> up(g(x_1)) down(g(g(g(b)))) -> g_flat(down(g(g(b)))) down(g(g(b))) -> g_flat(down(g(b))) down(g(b)) -> g_flat(down(b)) down(g(g(g(g(f(y24)))))) -> g_flat(down(g(g(g(f(y24)))))) down(g(g(g(f(y18))))) -> g_flat(down(g(g(f(y18))))) down(g(g(f(y12)))) -> g_flat(down(g(f(y12)))) down(g(f(x))) -> up(b) down(g(g(g(g(a))))) -> g_flat(down(g(g(g(a))))) down(g(g(g(a)))) -> g_flat(down(g(g(a)))) down(g(g(a))) -> g_flat(down(g(a))) down(g(a)) -> g_flat(down(a)) down(a) -> up(f(a)) down(a) -> up(g(a)) down(f(f(f(f(g(y22)))))) -> f_flat(down(f(f(f(g(y22)))))) f_flat(up(x_1)) -> up(f(x_1)) down(f(f(f(g(y16))))) -> f_flat(down(f(f(g(y16))))) down(f(f(g(y10)))) -> f_flat(down(f(g(y10)))) down(f(g(y4))) -> f_flat(down(g(y4))) down(g(g(g(g(fresh_constant))))) -> g_flat(down(g(g(g(fresh_constant))))) down(g(g(g(fresh_constant)))) -> g_flat(down(g(g(fresh_constant)))) down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) down(g(fresh_constant)) -> g_flat(down(fresh_constant)) down(g(g(g(g(g(g(x))))))) -> up(b) down(g(g(g(g(g(a)))))) -> g_flat(down(g(g(g(g(a)))))) down(g(g(g(g(g(f(y30))))))) -> g_flat(down(g(g(g(g(f(y30))))))) down(g(g(g(g(g(b)))))) -> g_flat(down(g(g(g(g(b)))))) down(g(g(g(g(g(fresh_constant)))))) -> g_flat(down(g(g(g(g(fresh_constant)))))) down(f(f(f(f(a))))) -> f_flat(down(f(f(f(a))))) down(f(f(f(a)))) -> f_flat(down(f(f(a)))) down(f(f(a))) -> f_flat(down(f(a))) down(f(a)) -> f_flat(down(a)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (94) SplitQDPProof (EQUIVALENT) We show in the first subproof that some pairs and rules can be removed, afterwards, we continue with the remaining DP-Problem ---------------------------------------- (95) Complex Obligation (AND) ---------------------------------------- (96) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) TOP(up(f(f(f(a))))) -> TOP(f_flat(down(f(f(a))))) TOP(up(f(f(f(g(x0)))))) -> TOP(f_flat(down(f(f(g(x0)))))) TOP(up(g(g(g(a))))) -> TOP(g_flat(down(g(g(a))))) TOP(up(f(f(f(f(a)))))) -> TOP(f_flat(down(f(f(f(a)))))) TOP(up(f(f(f(f(g(x0))))))) -> TOP(f_flat(down(f(f(f(g(x0))))))) TOP(up(g(g(g(g(a)))))) -> TOP(g_flat(down(g(g(g(a)))))) TOP(up(f(f(f(f(f(a))))))) -> TOP(f_flat(down(f(f(f(f(a))))))) TOP(up(f(f(f(f(f(g(x0)))))))) -> TOP(f_flat(down(f(f(f(f(g(x0)))))))) TOP(up(g(g(g(g(g(a))))))) -> TOP(g_flat(down(g(g(g(g(a))))))) The TRS R consists of the following rules: down(g(g(g(g(b))))) -> g_flat(down(g(g(g(b))))) g_flat(up(x_1)) -> up(g(x_1)) down(g(g(g(b)))) -> g_flat(down(g(g(b)))) down(g(g(b))) -> g_flat(down(g(b))) down(g(b)) -> g_flat(down(b)) down(g(g(g(g(f(y24)))))) -> g_flat(down(g(g(g(f(y24)))))) down(g(g(g(f(y18))))) -> g_flat(down(g(g(f(y18))))) down(g(g(f(y12)))) -> g_flat(down(g(f(y12)))) down(g(f(x))) -> up(b) down(g(g(g(g(a))))) -> g_flat(down(g(g(g(a))))) down(g(g(g(a)))) -> g_flat(down(g(g(a)))) down(g(g(a))) -> g_flat(down(g(a))) down(g(a)) -> g_flat(down(a)) down(a) -> up(f(a)) down(a) -> up(g(a)) down(f(f(f(f(g(y22)))))) -> f_flat(down(f(f(f(g(y22)))))) f_flat(up(x_1)) -> up(f(x_1)) down(f(f(f(g(y16))))) -> f_flat(down(f(f(g(y16))))) down(f(f(g(y10)))) -> f_flat(down(f(g(y10)))) down(f(g(y4))) -> f_flat(down(g(y4))) down(g(g(g(g(fresh_constant))))) -> g_flat(down(g(g(g(fresh_constant))))) down(g(g(g(fresh_constant)))) -> g_flat(down(g(g(fresh_constant)))) down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) down(g(fresh_constant)) -> g_flat(down(fresh_constant)) down(g(g(g(g(g(g(x))))))) -> up(b) down(g(g(g(g(g(a)))))) -> g_flat(down(g(g(g(g(a)))))) down(g(g(g(g(g(f(y30))))))) -> g_flat(down(g(g(g(g(f(y30))))))) down(g(g(g(g(g(b)))))) -> g_flat(down(g(g(g(g(b)))))) down(g(g(g(g(g(fresh_constant)))))) -> g_flat(down(g(g(g(g(fresh_constant)))))) down(f(f(f(f(a))))) -> f_flat(down(f(f(f(a))))) down(f(f(f(a)))) -> f_flat(down(f(f(a)))) down(f(f(a))) -> f_flat(down(f(a))) down(f(a)) -> f_flat(down(a)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (97) SemLabProof (SOUND) We found the following model for the rules of the TRSs R and P. Interpretation over the domain with elements from 0 to 1. a: 0 b: 0 down: 0 f: 0 fresh_constant: 1 up: 0 f_flat: 0 TOP: 0 g_flat: 0 g: 0 By semantic labelling [SEMLAB] we obtain the following labelled QDP problem. ---------------------------------------- (98) Obligation: Q DP problem: The TRS P consists of the following rules: TOP.0(up.0(f.0(g.0(x0)))) -> TOP.0(f_flat.0(down.0(g.0(x0)))) TOP.0(up.0(f.0(g.1(x0)))) -> TOP.0(f_flat.0(down.0(g.1(x0)))) TOP.0(up.0(f.0(f.0(a.)))) -> TOP.0(f_flat.0(down.0(f.0(a.)))) TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) TOP.0(up.0(f.0(f.0(g.1(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.1(x0))))) TOP.0(up.0(g.0(g.0(a.)))) -> TOP.0(g_flat.0(down.0(g.0(a.)))) TOP.0(up.0(f.0(f.0(f.0(a.))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(a.))))) TOP.0(up.0(f.0(f.0(f.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(g.0(x0)))))) TOP.0(up.0(f.0(f.0(f.0(g.1(x0)))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(g.1(x0)))))) TOP.0(up.0(g.0(g.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(a.))))) TOP.0(up.0(f.0(f.0(f.0(f.0(a.)))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(a.)))))) TOP.0(up.0(f.0(f.0(f.0(f.0(g.0(x0))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(g.0(x0))))))) TOP.0(up.0(f.0(f.0(f.0(f.0(g.1(x0))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(g.1(x0))))))) TOP.0(up.0(g.0(g.0(g.0(g.0(a.)))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(g.0(a.)))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.0(a.))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.0(a.))))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.0(g.0(x0)))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.0(g.0(x0)))))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.0(g.1(x0)))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.0(g.1(x0)))))))) TOP.0(up.0(g.0(g.0(g.0(g.0(g.0(a.))))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(g.0(g.0(a.))))))) The TRS R consists of the following rules: down.0(g.0(g.0(g.0(g.0(b.))))) -> g_flat.0(down.0(g.0(g.0(g.0(b.))))) g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) g_flat.0(up.1(x_1)) -> up.0(g.1(x_1)) down.0(g.0(g.0(g.0(b.)))) -> g_flat.0(down.0(g.0(g.0(b.)))) down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) down.0(g.0(b.)) -> g_flat.0(down.0(b.)) down.0(g.0(g.0(g.0(g.0(f.0(y24)))))) -> g_flat.0(down.0(g.0(g.0(g.0(f.0(y24)))))) down.0(g.0(g.0(g.0(g.0(f.1(y24)))))) -> g_flat.0(down.0(g.0(g.0(g.0(f.1(y24)))))) down.0(g.0(g.0(g.0(f.0(y18))))) -> g_flat.0(down.0(g.0(g.0(f.0(y18))))) down.0(g.0(g.0(g.0(f.1(y18))))) -> g_flat.0(down.0(g.0(g.0(f.1(y18))))) down.0(g.0(g.0(f.0(y12)))) -> g_flat.0(down.0(g.0(f.0(y12)))) down.0(g.0(g.0(f.1(y12)))) -> g_flat.0(down.0(g.0(f.1(y12)))) down.0(g.0(f.0(x))) -> up.0(b.) down.0(g.0(f.1(x))) -> up.0(b.) down.0(g.0(g.0(g.0(g.0(a.))))) -> g_flat.0(down.0(g.0(g.0(g.0(a.))))) down.0(g.0(g.0(g.0(a.)))) -> g_flat.0(down.0(g.0(g.0(a.)))) down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) down.0(g.0(a.)) -> g_flat.0(down.0(a.)) down.0(a.) -> up.0(f.0(a.)) down.0(a.) -> up.0(g.0(a.)) down.0(f.0(f.0(f.0(f.0(g.0(y22)))))) -> f_flat.0(down.0(f.0(f.0(f.0(g.0(y22)))))) down.0(f.0(f.0(f.0(f.0(g.1(y22)))))) -> f_flat.0(down.0(f.0(f.0(f.0(g.1(y22)))))) f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) f_flat.0(up.1(x_1)) -> up.0(f.1(x_1)) down.0(f.0(f.0(f.0(g.0(y16))))) -> f_flat.0(down.0(f.0(f.0(g.0(y16))))) down.0(f.0(f.0(f.0(g.1(y16))))) -> f_flat.0(down.0(f.0(f.0(g.1(y16))))) down.0(f.0(f.0(g.0(y10)))) -> f_flat.0(down.0(f.0(g.0(y10)))) down.0(f.0(f.0(g.1(y10)))) -> f_flat.0(down.0(f.0(g.1(y10)))) down.0(f.0(g.0(y4))) -> f_flat.0(down.0(g.0(y4))) down.0(f.0(g.1(y4))) -> f_flat.0(down.0(g.1(y4))) down.0(g.0(g.0(g.0(g.1(fresh_constant.))))) -> g_flat.0(down.0(g.0(g.0(g.1(fresh_constant.))))) down.0(g.0(g.0(g.1(fresh_constant.)))) -> g_flat.0(down.0(g.0(g.1(fresh_constant.)))) down.0(g.0(g.1(fresh_constant.))) -> g_flat.0(down.0(g.1(fresh_constant.))) down.0(g.1(fresh_constant.)) -> g_flat.0(down.1(fresh_constant.)) down.0(g.0(g.0(g.0(g.0(g.0(g.0(x))))))) -> up.0(b.) down.0(g.0(g.0(g.0(g.0(g.0(g.1(x))))))) -> up.0(b.) down.0(g.0(g.0(g.0(g.0(g.0(a.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(a.)))))) down.0(g.0(g.0(g.0(g.0(g.0(f.0(y30))))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(f.0(y30))))))) down.0(g.0(g.0(g.0(g.0(g.0(f.1(y30))))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(f.1(y30))))))) down.0(g.0(g.0(g.0(g.0(g.0(b.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(b.)))))) down.0(g.0(g.0(g.0(g.0(g.1(fresh_constant.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.1(fresh_constant.)))))) down.0(f.0(f.0(f.0(f.0(a.))))) -> f_flat.0(down.0(f.0(f.0(f.0(a.))))) down.0(f.0(f.0(f.0(a.)))) -> f_flat.0(down.0(f.0(f.0(a.)))) down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) down.0(f.0(a.)) -> f_flat.0(down.0(a.)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (99) 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. No dependency pairs are removed. The following rules are removed from R: g_flat.0(up.1(x_1)) -> up.0(g.1(x_1)) f_flat.0(up.1(x_1)) -> up.0(f.1(x_1)) down.0(g.1(fresh_constant.)) -> g_flat.0(down.1(fresh_constant.)) Used ordering: POLO with Polynomial interpretation [POLO]: POL(TOP.0(x_1)) = x_1 POL(a.) = 0 POL(b.) = 0 POL(down.0(x_1)) = 1 + x_1 POL(down.1(x_1)) = x_1 POL(f.0(x_1)) = x_1 POL(f.1(x_1)) = x_1 POL(f_flat.0(x_1)) = x_1 POL(fresh_constant.) = 0 POL(g.0(x_1)) = x_1 POL(g.1(x_1)) = x_1 POL(g_flat.0(x_1)) = x_1 POL(up.0(x_1)) = 1 + x_1 POL(up.1(x_1)) = 1 + x_1 ---------------------------------------- (100) Obligation: Q DP problem: The TRS P consists of the following rules: TOP.0(up.0(f.0(g.0(x0)))) -> TOP.0(f_flat.0(down.0(g.0(x0)))) TOP.0(up.0(f.0(g.1(x0)))) -> TOP.0(f_flat.0(down.0(g.1(x0)))) TOP.0(up.0(f.0(f.0(a.)))) -> TOP.0(f_flat.0(down.0(f.0(a.)))) TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) TOP.0(up.0(f.0(f.0(g.1(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.1(x0))))) TOP.0(up.0(g.0(g.0(a.)))) -> TOP.0(g_flat.0(down.0(g.0(a.)))) TOP.0(up.0(f.0(f.0(f.0(a.))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(a.))))) TOP.0(up.0(f.0(f.0(f.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(g.0(x0)))))) TOP.0(up.0(f.0(f.0(f.0(g.1(x0)))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(g.1(x0)))))) TOP.0(up.0(g.0(g.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(a.))))) TOP.0(up.0(f.0(f.0(f.0(f.0(a.)))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(a.)))))) TOP.0(up.0(f.0(f.0(f.0(f.0(g.0(x0))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(g.0(x0))))))) TOP.0(up.0(f.0(f.0(f.0(f.0(g.1(x0))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(g.1(x0))))))) TOP.0(up.0(g.0(g.0(g.0(g.0(a.)))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(g.0(a.)))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.0(a.))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.0(a.))))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.0(g.0(x0)))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.0(g.0(x0)))))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.0(g.1(x0)))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.0(g.1(x0)))))))) TOP.0(up.0(g.0(g.0(g.0(g.0(g.0(a.))))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(g.0(g.0(a.))))))) The TRS R consists of the following rules: down.0(g.0(g.0(g.0(g.0(a.))))) -> g_flat.0(down.0(g.0(g.0(g.0(a.))))) g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) down.0(g.0(g.0(g.0(a.)))) -> g_flat.0(down.0(g.0(g.0(a.)))) down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) down.0(g.0(a.)) -> g_flat.0(down.0(a.)) down.0(a.) -> up.0(f.0(a.)) down.0(a.) -> up.0(g.0(a.)) down.0(f.0(f.0(f.0(f.0(g.1(y22)))))) -> f_flat.0(down.0(f.0(f.0(f.0(g.1(y22)))))) f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) down.0(f.0(f.0(f.0(g.1(y16))))) -> f_flat.0(down.0(f.0(f.0(g.1(y16))))) down.0(f.0(f.0(g.1(y10)))) -> f_flat.0(down.0(f.0(g.1(y10)))) down.0(f.0(g.1(y4))) -> f_flat.0(down.0(g.1(y4))) down.0(f.0(f.0(f.0(f.0(g.0(y22)))))) -> f_flat.0(down.0(f.0(f.0(f.0(g.0(y22)))))) down.0(f.0(f.0(f.0(g.0(y16))))) -> f_flat.0(down.0(f.0(f.0(g.0(y16))))) down.0(f.0(f.0(g.0(y10)))) -> f_flat.0(down.0(f.0(g.0(y10)))) down.0(f.0(g.0(y4))) -> f_flat.0(down.0(g.0(y4))) down.0(g.0(g.0(g.0(g.0(b.))))) -> g_flat.0(down.0(g.0(g.0(g.0(b.))))) down.0(g.0(g.0(g.0(b.)))) -> g_flat.0(down.0(g.0(g.0(b.)))) down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) down.0(g.0(b.)) -> g_flat.0(down.0(b.)) down.0(g.0(g.0(g.0(g.0(f.0(y24)))))) -> g_flat.0(down.0(g.0(g.0(g.0(f.0(y24)))))) down.0(g.0(g.0(g.0(g.0(f.1(y24)))))) -> g_flat.0(down.0(g.0(g.0(g.0(f.1(y24)))))) down.0(g.0(g.0(g.0(f.0(y18))))) -> g_flat.0(down.0(g.0(g.0(f.0(y18))))) down.0(g.0(g.0(g.0(f.1(y18))))) -> g_flat.0(down.0(g.0(g.0(f.1(y18))))) down.0(g.0(g.0(f.0(y12)))) -> g_flat.0(down.0(g.0(f.0(y12)))) down.0(g.0(g.0(f.1(y12)))) -> g_flat.0(down.0(g.0(f.1(y12)))) down.0(g.0(f.0(x))) -> up.0(b.) down.0(g.0(f.1(x))) -> up.0(b.) down.0(g.0(g.0(g.0(g.1(fresh_constant.))))) -> g_flat.0(down.0(g.0(g.0(g.1(fresh_constant.))))) down.0(g.0(g.0(g.1(fresh_constant.)))) -> g_flat.0(down.0(g.0(g.1(fresh_constant.)))) down.0(g.0(g.1(fresh_constant.))) -> g_flat.0(down.0(g.1(fresh_constant.))) down.0(g.0(g.0(g.0(g.0(g.0(g.0(x))))))) -> up.0(b.) down.0(g.0(g.0(g.0(g.0(g.0(g.1(x))))))) -> up.0(b.) down.0(g.0(g.0(g.0(g.0(g.0(a.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(a.)))))) down.0(g.0(g.0(g.0(g.0(g.0(f.0(y30))))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(f.0(y30))))))) down.0(g.0(g.0(g.0(g.0(g.0(f.1(y30))))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(f.1(y30))))))) down.0(g.0(g.0(g.0(g.0(g.0(b.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(b.)))))) down.0(g.0(g.0(g.0(g.0(g.1(fresh_constant.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.1(fresh_constant.)))))) down.0(f.0(f.0(f.0(f.0(a.))))) -> f_flat.0(down.0(f.0(f.0(f.0(a.))))) down.0(f.0(f.0(f.0(a.)))) -> f_flat.0(down.0(f.0(f.0(a.)))) down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) down.0(f.0(a.)) -> f_flat.0(down.0(a.)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (101) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (102) Obligation: Q DP problem: The TRS P consists of the following rules: TOP.0(up.0(f.0(g.0(x0)))) -> TOP.0(f_flat.0(down.0(g.0(x0)))) TOP.0(up.0(f.0(f.0(a.)))) -> TOP.0(f_flat.0(down.0(f.0(a.)))) TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) TOP.0(up.0(f.0(f.0(g.1(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.1(x0))))) TOP.0(up.0(g.0(g.0(a.)))) -> TOP.0(g_flat.0(down.0(g.0(a.)))) TOP.0(up.0(f.0(f.0(f.0(a.))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(a.))))) TOP.0(up.0(f.0(f.0(f.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(g.0(x0)))))) TOP.0(up.0(f.0(f.0(f.0(g.1(x0)))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(g.1(x0)))))) TOP.0(up.0(g.0(g.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(a.))))) TOP.0(up.0(f.0(f.0(f.0(f.0(a.)))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(a.)))))) TOP.0(up.0(f.0(f.0(f.0(f.0(g.0(x0))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(g.0(x0))))))) TOP.0(up.0(f.0(f.0(f.0(f.0(g.1(x0))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(g.1(x0))))))) TOP.0(up.0(g.0(g.0(g.0(g.0(a.)))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(g.0(a.)))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.0(a.))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.0(a.))))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.0(g.0(x0)))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.0(g.0(x0)))))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.0(g.1(x0)))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.0(g.1(x0)))))))) TOP.0(up.0(g.0(g.0(g.0(g.0(g.0(a.))))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(g.0(g.0(a.))))))) The TRS R consists of the following rules: down.0(g.0(g.0(g.0(g.0(a.))))) -> g_flat.0(down.0(g.0(g.0(g.0(a.))))) g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) down.0(g.0(g.0(g.0(a.)))) -> g_flat.0(down.0(g.0(g.0(a.)))) down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) down.0(g.0(a.)) -> g_flat.0(down.0(a.)) down.0(a.) -> up.0(f.0(a.)) down.0(a.) -> up.0(g.0(a.)) down.0(f.0(f.0(f.0(f.0(g.1(y22)))))) -> f_flat.0(down.0(f.0(f.0(f.0(g.1(y22)))))) f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) down.0(f.0(f.0(f.0(g.1(y16))))) -> f_flat.0(down.0(f.0(f.0(g.1(y16))))) down.0(f.0(f.0(g.1(y10)))) -> f_flat.0(down.0(f.0(g.1(y10)))) down.0(f.0(g.1(y4))) -> f_flat.0(down.0(g.1(y4))) down.0(f.0(f.0(f.0(f.0(g.0(y22)))))) -> f_flat.0(down.0(f.0(f.0(f.0(g.0(y22)))))) down.0(f.0(f.0(f.0(g.0(y16))))) -> f_flat.0(down.0(f.0(f.0(g.0(y16))))) down.0(f.0(f.0(g.0(y10)))) -> f_flat.0(down.0(f.0(g.0(y10)))) down.0(f.0(g.0(y4))) -> f_flat.0(down.0(g.0(y4))) down.0(g.0(g.0(g.0(g.0(b.))))) -> g_flat.0(down.0(g.0(g.0(g.0(b.))))) down.0(g.0(g.0(g.0(b.)))) -> g_flat.0(down.0(g.0(g.0(b.)))) down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) down.0(g.0(b.)) -> g_flat.0(down.0(b.)) down.0(g.0(g.0(g.0(g.0(f.0(y24)))))) -> g_flat.0(down.0(g.0(g.0(g.0(f.0(y24)))))) down.0(g.0(g.0(g.0(g.0(f.1(y24)))))) -> g_flat.0(down.0(g.0(g.0(g.0(f.1(y24)))))) down.0(g.0(g.0(g.0(f.0(y18))))) -> g_flat.0(down.0(g.0(g.0(f.0(y18))))) down.0(g.0(g.0(g.0(f.1(y18))))) -> g_flat.0(down.0(g.0(g.0(f.1(y18))))) down.0(g.0(g.0(f.0(y12)))) -> g_flat.0(down.0(g.0(f.0(y12)))) down.0(g.0(g.0(f.1(y12)))) -> g_flat.0(down.0(g.0(f.1(y12)))) down.0(g.0(f.0(x))) -> up.0(b.) down.0(g.0(f.1(x))) -> up.0(b.) down.0(g.0(g.0(g.0(g.1(fresh_constant.))))) -> g_flat.0(down.0(g.0(g.0(g.1(fresh_constant.))))) down.0(g.0(g.0(g.1(fresh_constant.)))) -> g_flat.0(down.0(g.0(g.1(fresh_constant.)))) down.0(g.0(g.1(fresh_constant.))) -> g_flat.0(down.0(g.1(fresh_constant.))) down.0(g.0(g.0(g.0(g.0(g.0(g.0(x))))))) -> up.0(b.) down.0(g.0(g.0(g.0(g.0(g.0(g.1(x))))))) -> up.0(b.) down.0(g.0(g.0(g.0(g.0(g.0(a.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(a.)))))) down.0(g.0(g.0(g.0(g.0(g.0(f.0(y30))))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(f.0(y30))))))) down.0(g.0(g.0(g.0(g.0(g.0(f.1(y30))))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(f.1(y30))))))) down.0(g.0(g.0(g.0(g.0(g.0(b.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(b.)))))) down.0(g.0(g.0(g.0(g.0(g.1(fresh_constant.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.1(fresh_constant.)))))) down.0(f.0(f.0(f.0(f.0(a.))))) -> f_flat.0(down.0(f.0(f.0(f.0(a.))))) down.0(f.0(f.0(f.0(a.)))) -> f_flat.0(down.0(f.0(f.0(a.)))) down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) down.0(f.0(a.)) -> f_flat.0(down.0(a.)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (103) MRRProof (EQUIVALENT) By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. Strictly oriented rules of the TRS R: down.0(g.0(f.1(x))) -> up.0(b.) down.0(g.0(g.0(g.0(g.0(g.0(g.1(x))))))) -> up.0(b.) Used ordering: Polynomial interpretation [POLO]: POL(TOP.0(x_1)) = x_1 POL(a.) = 0 POL(b.) = 0 POL(down.0(x_1)) = 1 + x_1 POL(f.0(x_1)) = x_1 POL(f.1(x_1)) = 1 + x_1 POL(f_flat.0(x_1)) = x_1 POL(fresh_constant.) = 0 POL(g.0(x_1)) = x_1 POL(g.1(x_1)) = 1 + x_1 POL(g_flat.0(x_1)) = x_1 POL(up.0(x_1)) = 1 + x_1 ---------------------------------------- (104) Obligation: Q DP problem: The TRS P consists of the following rules: TOP.0(up.0(f.0(g.0(x0)))) -> TOP.0(f_flat.0(down.0(g.0(x0)))) TOP.0(up.0(f.0(f.0(a.)))) -> TOP.0(f_flat.0(down.0(f.0(a.)))) TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) TOP.0(up.0(f.0(f.0(g.1(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.1(x0))))) TOP.0(up.0(g.0(g.0(a.)))) -> TOP.0(g_flat.0(down.0(g.0(a.)))) TOP.0(up.0(f.0(f.0(f.0(a.))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(a.))))) TOP.0(up.0(f.0(f.0(f.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(g.0(x0)))))) TOP.0(up.0(f.0(f.0(f.0(g.1(x0)))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(g.1(x0)))))) TOP.0(up.0(g.0(g.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(a.))))) TOP.0(up.0(f.0(f.0(f.0(f.0(a.)))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(a.)))))) TOP.0(up.0(f.0(f.0(f.0(f.0(g.0(x0))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(g.0(x0))))))) TOP.0(up.0(f.0(f.0(f.0(f.0(g.1(x0))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(g.1(x0))))))) TOP.0(up.0(g.0(g.0(g.0(g.0(a.)))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(g.0(a.)))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.0(a.))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.0(a.))))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.0(g.0(x0)))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.0(g.0(x0)))))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.0(g.1(x0)))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.0(g.1(x0)))))))) TOP.0(up.0(g.0(g.0(g.0(g.0(g.0(a.))))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(g.0(g.0(a.))))))) The TRS R consists of the following rules: down.0(g.0(g.0(g.0(g.0(a.))))) -> g_flat.0(down.0(g.0(g.0(g.0(a.))))) g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) down.0(g.0(g.0(g.0(a.)))) -> g_flat.0(down.0(g.0(g.0(a.)))) down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) down.0(g.0(a.)) -> g_flat.0(down.0(a.)) down.0(a.) -> up.0(f.0(a.)) down.0(a.) -> up.0(g.0(a.)) down.0(f.0(f.0(f.0(f.0(g.1(y22)))))) -> f_flat.0(down.0(f.0(f.0(f.0(g.1(y22)))))) f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) down.0(f.0(f.0(f.0(g.1(y16))))) -> f_flat.0(down.0(f.0(f.0(g.1(y16))))) down.0(f.0(f.0(g.1(y10)))) -> f_flat.0(down.0(f.0(g.1(y10)))) down.0(f.0(g.1(y4))) -> f_flat.0(down.0(g.1(y4))) down.0(f.0(f.0(f.0(f.0(g.0(y22)))))) -> f_flat.0(down.0(f.0(f.0(f.0(g.0(y22)))))) down.0(f.0(f.0(f.0(g.0(y16))))) -> f_flat.0(down.0(f.0(f.0(g.0(y16))))) down.0(f.0(f.0(g.0(y10)))) -> f_flat.0(down.0(f.0(g.0(y10)))) down.0(f.0(g.0(y4))) -> f_flat.0(down.0(g.0(y4))) down.0(g.0(g.0(g.0(g.0(b.))))) -> g_flat.0(down.0(g.0(g.0(g.0(b.))))) down.0(g.0(g.0(g.0(b.)))) -> g_flat.0(down.0(g.0(g.0(b.)))) down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) down.0(g.0(b.)) -> g_flat.0(down.0(b.)) down.0(g.0(g.0(g.0(g.0(f.0(y24)))))) -> g_flat.0(down.0(g.0(g.0(g.0(f.0(y24)))))) down.0(g.0(g.0(g.0(g.0(f.1(y24)))))) -> g_flat.0(down.0(g.0(g.0(g.0(f.1(y24)))))) down.0(g.0(g.0(g.0(f.0(y18))))) -> g_flat.0(down.0(g.0(g.0(f.0(y18))))) down.0(g.0(g.0(g.0(f.1(y18))))) -> g_flat.0(down.0(g.0(g.0(f.1(y18))))) down.0(g.0(g.0(f.0(y12)))) -> g_flat.0(down.0(g.0(f.0(y12)))) down.0(g.0(g.0(f.1(y12)))) -> g_flat.0(down.0(g.0(f.1(y12)))) down.0(g.0(f.0(x))) -> up.0(b.) down.0(g.0(g.0(g.0(g.1(fresh_constant.))))) -> g_flat.0(down.0(g.0(g.0(g.1(fresh_constant.))))) down.0(g.0(g.0(g.1(fresh_constant.)))) -> g_flat.0(down.0(g.0(g.1(fresh_constant.)))) down.0(g.0(g.1(fresh_constant.))) -> g_flat.0(down.0(g.1(fresh_constant.))) down.0(g.0(g.0(g.0(g.0(g.0(g.0(x))))))) -> up.0(b.) down.0(g.0(g.0(g.0(g.0(g.0(a.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(a.)))))) down.0(g.0(g.0(g.0(g.0(g.0(f.0(y30))))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(f.0(y30))))))) down.0(g.0(g.0(g.0(g.0(g.0(f.1(y30))))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(f.1(y30))))))) down.0(g.0(g.0(g.0(g.0(g.0(b.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(b.)))))) down.0(g.0(g.0(g.0(g.0(g.1(fresh_constant.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.1(fresh_constant.)))))) down.0(f.0(f.0(f.0(f.0(a.))))) -> f_flat.0(down.0(f.0(f.0(f.0(a.))))) down.0(f.0(f.0(f.0(a.)))) -> f_flat.0(down.0(f.0(f.0(a.)))) down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) down.0(f.0(a.)) -> f_flat.0(down.0(a.)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (105) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. TOP.0(up.0(f.0(f.0(g.1(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.1(x0))))) TOP.0(up.0(f.0(f.0(f.0(g.1(x0)))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(g.1(x0)))))) TOP.0(up.0(f.0(f.0(f.0(f.0(g.1(x0))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(g.1(x0))))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.0(g.1(x0)))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.0(g.1(x0)))))))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(TOP.0(x_1)) = x_1 POL(a.) = 1 POL(b.) = 0 POL(down.0(x_1)) = x_1 POL(f.0(x_1)) = x_1 POL(f.1(x_1)) = x_1 POL(f_flat.0(x_1)) = x_1 POL(fresh_constant.) = 0 POL(g.0(x_1)) = 1 POL(g.1(x_1)) = 0 POL(g_flat.0(x_1)) = 1 POL(up.0(x_1)) = 1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: down.0(g.0(g.0(g.0(g.0(a.))))) -> g_flat.0(down.0(g.0(g.0(g.0(a.))))) down.0(g.0(g.0(g.0(a.)))) -> g_flat.0(down.0(g.0(g.0(a.)))) down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) down.0(g.0(a.)) -> g_flat.0(down.0(a.)) down.0(g.0(g.0(g.0(g.0(b.))))) -> g_flat.0(down.0(g.0(g.0(g.0(b.))))) down.0(g.0(g.0(g.0(b.)))) -> g_flat.0(down.0(g.0(g.0(b.)))) down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) down.0(g.0(b.)) -> g_flat.0(down.0(b.)) down.0(g.0(g.0(g.0(g.0(f.0(y24)))))) -> g_flat.0(down.0(g.0(g.0(g.0(f.0(y24)))))) down.0(g.0(g.0(g.0(g.0(f.1(y24)))))) -> g_flat.0(down.0(g.0(g.0(g.0(f.1(y24)))))) down.0(g.0(g.0(g.0(f.0(y18))))) -> g_flat.0(down.0(g.0(g.0(f.0(y18))))) down.0(g.0(g.0(g.0(f.1(y18))))) -> g_flat.0(down.0(g.0(g.0(f.1(y18))))) down.0(g.0(g.0(f.0(y12)))) -> g_flat.0(down.0(g.0(f.0(y12)))) down.0(g.0(g.0(f.1(y12)))) -> g_flat.0(down.0(g.0(f.1(y12)))) down.0(g.0(f.0(x))) -> up.0(b.) down.0(g.0(g.0(g.0(g.1(fresh_constant.))))) -> g_flat.0(down.0(g.0(g.0(g.1(fresh_constant.))))) down.0(g.0(g.0(g.1(fresh_constant.)))) -> g_flat.0(down.0(g.0(g.1(fresh_constant.)))) down.0(g.0(g.1(fresh_constant.))) -> g_flat.0(down.0(g.1(fresh_constant.))) down.0(g.0(g.0(g.0(g.0(g.0(g.0(x))))))) -> up.0(b.) down.0(g.0(g.0(g.0(g.0(g.0(a.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(a.)))))) down.0(g.0(g.0(g.0(g.0(g.0(f.0(y30))))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(f.0(y30))))))) down.0(g.0(g.0(g.0(g.0(g.0(f.1(y30))))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(f.1(y30))))))) down.0(g.0(g.0(g.0(g.0(g.0(b.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(b.)))))) down.0(g.0(g.0(g.0(g.0(g.1(fresh_constant.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.1(fresh_constant.)))))) f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) down.0(f.0(a.)) -> f_flat.0(down.0(a.)) down.0(f.0(g.0(y4))) -> f_flat.0(down.0(g.0(y4))) down.0(f.0(g.1(y4))) -> f_flat.0(down.0(g.1(y4))) g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) down.0(f.0(f.0(g.0(y10)))) -> f_flat.0(down.0(f.0(g.0(y10)))) down.0(f.0(f.0(g.1(y10)))) -> f_flat.0(down.0(f.0(g.1(y10)))) down.0(f.0(f.0(f.0(a.)))) -> f_flat.0(down.0(f.0(f.0(a.)))) down.0(f.0(f.0(f.0(g.0(y16))))) -> f_flat.0(down.0(f.0(f.0(g.0(y16))))) down.0(f.0(f.0(f.0(g.1(y16))))) -> f_flat.0(down.0(f.0(f.0(g.1(y16))))) down.0(f.0(f.0(f.0(f.0(a.))))) -> f_flat.0(down.0(f.0(f.0(f.0(a.))))) down.0(f.0(f.0(f.0(f.0(g.0(y22)))))) -> f_flat.0(down.0(f.0(f.0(f.0(g.0(y22)))))) down.0(f.0(f.0(f.0(f.0(g.1(y22)))))) -> f_flat.0(down.0(f.0(f.0(f.0(g.1(y22)))))) down.0(a.) -> up.0(f.0(a.)) down.0(a.) -> up.0(g.0(a.)) ---------------------------------------- (106) Obligation: Q DP problem: The TRS P consists of the following rules: TOP.0(up.0(f.0(g.0(x0)))) -> TOP.0(f_flat.0(down.0(g.0(x0)))) TOP.0(up.0(f.0(f.0(a.)))) -> TOP.0(f_flat.0(down.0(f.0(a.)))) TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) TOP.0(up.0(g.0(g.0(a.)))) -> TOP.0(g_flat.0(down.0(g.0(a.)))) TOP.0(up.0(f.0(f.0(f.0(a.))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(a.))))) TOP.0(up.0(f.0(f.0(f.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(g.0(x0)))))) TOP.0(up.0(g.0(g.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(a.))))) TOP.0(up.0(f.0(f.0(f.0(f.0(a.)))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(a.)))))) TOP.0(up.0(f.0(f.0(f.0(f.0(g.0(x0))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(g.0(x0))))))) TOP.0(up.0(g.0(g.0(g.0(g.0(a.)))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(g.0(a.)))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.0(a.))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.0(a.))))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.0(g.0(x0)))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.0(g.0(x0)))))))) TOP.0(up.0(g.0(g.0(g.0(g.0(g.0(a.))))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(g.0(g.0(a.))))))) The TRS R consists of the following rules: down.0(g.0(g.0(g.0(g.0(a.))))) -> g_flat.0(down.0(g.0(g.0(g.0(a.))))) g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) down.0(g.0(g.0(g.0(a.)))) -> g_flat.0(down.0(g.0(g.0(a.)))) down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) down.0(g.0(a.)) -> g_flat.0(down.0(a.)) down.0(a.) -> up.0(f.0(a.)) down.0(a.) -> up.0(g.0(a.)) down.0(f.0(f.0(f.0(f.0(g.1(y22)))))) -> f_flat.0(down.0(f.0(f.0(f.0(g.1(y22)))))) f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) down.0(f.0(f.0(f.0(g.1(y16))))) -> f_flat.0(down.0(f.0(f.0(g.1(y16))))) down.0(f.0(f.0(g.1(y10)))) -> f_flat.0(down.0(f.0(g.1(y10)))) down.0(f.0(g.1(y4))) -> f_flat.0(down.0(g.1(y4))) down.0(f.0(f.0(f.0(f.0(g.0(y22)))))) -> f_flat.0(down.0(f.0(f.0(f.0(g.0(y22)))))) down.0(f.0(f.0(f.0(g.0(y16))))) -> f_flat.0(down.0(f.0(f.0(g.0(y16))))) down.0(f.0(f.0(g.0(y10)))) -> f_flat.0(down.0(f.0(g.0(y10)))) down.0(f.0(g.0(y4))) -> f_flat.0(down.0(g.0(y4))) down.0(g.0(g.0(g.0(g.0(b.))))) -> g_flat.0(down.0(g.0(g.0(g.0(b.))))) down.0(g.0(g.0(g.0(b.)))) -> g_flat.0(down.0(g.0(g.0(b.)))) down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) down.0(g.0(b.)) -> g_flat.0(down.0(b.)) down.0(g.0(g.0(g.0(g.0(f.0(y24)))))) -> g_flat.0(down.0(g.0(g.0(g.0(f.0(y24)))))) down.0(g.0(g.0(g.0(g.0(f.1(y24)))))) -> g_flat.0(down.0(g.0(g.0(g.0(f.1(y24)))))) down.0(g.0(g.0(g.0(f.0(y18))))) -> g_flat.0(down.0(g.0(g.0(f.0(y18))))) down.0(g.0(g.0(g.0(f.1(y18))))) -> g_flat.0(down.0(g.0(g.0(f.1(y18))))) down.0(g.0(g.0(f.0(y12)))) -> g_flat.0(down.0(g.0(f.0(y12)))) down.0(g.0(g.0(f.1(y12)))) -> g_flat.0(down.0(g.0(f.1(y12)))) down.0(g.0(f.0(x))) -> up.0(b.) down.0(g.0(g.0(g.0(g.1(fresh_constant.))))) -> g_flat.0(down.0(g.0(g.0(g.1(fresh_constant.))))) down.0(g.0(g.0(g.1(fresh_constant.)))) -> g_flat.0(down.0(g.0(g.1(fresh_constant.)))) down.0(g.0(g.1(fresh_constant.))) -> g_flat.0(down.0(g.1(fresh_constant.))) down.0(g.0(g.0(g.0(g.0(g.0(g.0(x))))))) -> up.0(b.) down.0(g.0(g.0(g.0(g.0(g.0(a.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(a.)))))) down.0(g.0(g.0(g.0(g.0(g.0(f.0(y30))))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(f.0(y30))))))) down.0(g.0(g.0(g.0(g.0(g.0(f.1(y30))))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(f.1(y30))))))) down.0(g.0(g.0(g.0(g.0(g.0(b.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(b.)))))) down.0(g.0(g.0(g.0(g.0(g.1(fresh_constant.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.1(fresh_constant.)))))) down.0(f.0(f.0(f.0(f.0(a.))))) -> f_flat.0(down.0(f.0(f.0(f.0(a.))))) down.0(f.0(f.0(f.0(a.)))) -> f_flat.0(down.0(f.0(f.0(a.)))) down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) down.0(f.0(a.)) -> f_flat.0(down.0(a.)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (107) 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. No dependency pairs are removed. The following rules are removed from R: down.0(f.0(f.0(f.0(f.0(g.1(y22)))))) -> f_flat.0(down.0(f.0(f.0(f.0(g.1(y22)))))) down.0(f.0(f.0(f.0(g.1(y16))))) -> f_flat.0(down.0(f.0(f.0(g.1(y16))))) down.0(f.0(f.0(g.1(y10)))) -> f_flat.0(down.0(f.0(g.1(y10)))) down.0(f.0(g.1(y4))) -> f_flat.0(down.0(g.1(y4))) Used ordering: POLO with Polynomial interpretation [POLO]: POL(TOP.0(x_1)) = x_1 POL(a.) = 0 POL(b.) = 0 POL(down.0(x_1)) = 1 + x_1 POL(f.0(x_1)) = x_1 POL(f.1(x_1)) = x_1 POL(f_flat.0(x_1)) = x_1 POL(fresh_constant.) = 0 POL(g.0(x_1)) = x_1 POL(g.1(x_1)) = x_1 POL(g_flat.0(x_1)) = x_1 POL(up.0(x_1)) = 1 + x_1 ---------------------------------------- (108) Obligation: Q DP problem: The TRS P consists of the following rules: TOP.0(up.0(f.0(g.0(x0)))) -> TOP.0(f_flat.0(down.0(g.0(x0)))) TOP.0(up.0(f.0(f.0(a.)))) -> TOP.0(f_flat.0(down.0(f.0(a.)))) TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) TOP.0(up.0(g.0(g.0(a.)))) -> TOP.0(g_flat.0(down.0(g.0(a.)))) TOP.0(up.0(f.0(f.0(f.0(a.))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(a.))))) TOP.0(up.0(f.0(f.0(f.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(g.0(x0)))))) TOP.0(up.0(g.0(g.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(a.))))) TOP.0(up.0(f.0(f.0(f.0(f.0(a.)))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(a.)))))) TOP.0(up.0(f.0(f.0(f.0(f.0(g.0(x0))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(g.0(x0))))))) TOP.0(up.0(g.0(g.0(g.0(g.0(a.)))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(g.0(a.)))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.0(a.))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.0(a.))))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.0(g.0(x0)))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.0(g.0(x0)))))))) TOP.0(up.0(g.0(g.0(g.0(g.0(g.0(a.))))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(g.0(g.0(a.))))))) The TRS R consists of the following rules: down.0(g.0(g.0(g.0(g.0(a.))))) -> g_flat.0(down.0(g.0(g.0(g.0(a.))))) g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) down.0(g.0(g.0(g.0(a.)))) -> g_flat.0(down.0(g.0(g.0(a.)))) down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) down.0(g.0(a.)) -> g_flat.0(down.0(a.)) down.0(a.) -> up.0(f.0(a.)) down.0(a.) -> up.0(g.0(a.)) down.0(f.0(f.0(f.0(f.0(g.0(y22)))))) -> f_flat.0(down.0(f.0(f.0(f.0(g.0(y22)))))) f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) down.0(f.0(f.0(f.0(g.0(y16))))) -> f_flat.0(down.0(f.0(f.0(g.0(y16))))) down.0(f.0(f.0(g.0(y10)))) -> f_flat.0(down.0(f.0(g.0(y10)))) down.0(f.0(g.0(y4))) -> f_flat.0(down.0(g.0(y4))) down.0(g.0(g.0(g.0(g.0(b.))))) -> g_flat.0(down.0(g.0(g.0(g.0(b.))))) down.0(g.0(g.0(g.0(b.)))) -> g_flat.0(down.0(g.0(g.0(b.)))) down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) down.0(g.0(b.)) -> g_flat.0(down.0(b.)) down.0(g.0(g.0(g.0(g.0(f.0(y24)))))) -> g_flat.0(down.0(g.0(g.0(g.0(f.0(y24)))))) down.0(g.0(g.0(g.0(g.0(f.1(y24)))))) -> g_flat.0(down.0(g.0(g.0(g.0(f.1(y24)))))) down.0(g.0(g.0(g.0(f.0(y18))))) -> g_flat.0(down.0(g.0(g.0(f.0(y18))))) down.0(g.0(g.0(g.0(f.1(y18))))) -> g_flat.0(down.0(g.0(g.0(f.1(y18))))) down.0(g.0(g.0(f.0(y12)))) -> g_flat.0(down.0(g.0(f.0(y12)))) down.0(g.0(g.0(f.1(y12)))) -> g_flat.0(down.0(g.0(f.1(y12)))) down.0(g.0(f.0(x))) -> up.0(b.) down.0(g.0(g.0(g.0(g.1(fresh_constant.))))) -> g_flat.0(down.0(g.0(g.0(g.1(fresh_constant.))))) down.0(g.0(g.0(g.1(fresh_constant.)))) -> g_flat.0(down.0(g.0(g.1(fresh_constant.)))) down.0(g.0(g.1(fresh_constant.))) -> g_flat.0(down.0(g.1(fresh_constant.))) down.0(g.0(g.0(g.0(g.0(g.0(g.0(x))))))) -> up.0(b.) down.0(g.0(g.0(g.0(g.0(g.0(a.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(a.)))))) down.0(g.0(g.0(g.0(g.0(g.0(f.0(y30))))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(f.0(y30))))))) down.0(g.0(g.0(g.0(g.0(g.0(f.1(y30))))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(f.1(y30))))))) down.0(g.0(g.0(g.0(g.0(g.0(b.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(b.)))))) down.0(g.0(g.0(g.0(g.0(g.1(fresh_constant.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.1(fresh_constant.)))))) down.0(f.0(f.0(f.0(f.0(a.))))) -> f_flat.0(down.0(f.0(f.0(f.0(a.))))) down.0(f.0(f.0(f.0(a.)))) -> f_flat.0(down.0(f.0(f.0(a.)))) down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) down.0(f.0(a.)) -> f_flat.0(down.0(a.)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (109) PisEmptyProof (SOUND) The TRS P is empty. Hence, there is no (P,Q,R) chain. ---------------------------------------- (110) TRUE ---------------------------------------- (111) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) TOP(up(f(f(f(a))))) -> TOP(f_flat(down(f(f(a))))) TOP(up(f(f(f(g(x0)))))) -> TOP(f_flat(down(f(f(g(x0)))))) TOP(up(g(g(g(a))))) -> TOP(g_flat(down(g(g(a))))) TOP(up(f(f(f(f(a)))))) -> TOP(f_flat(down(f(f(f(a)))))) TOP(up(f(f(f(f(g(x0))))))) -> TOP(f_flat(down(f(f(f(g(x0))))))) TOP(up(g(g(g(g(a)))))) -> TOP(g_flat(down(g(g(g(a)))))) TOP(up(f(f(f(f(f(a))))))) -> TOP(f_flat(down(f(f(f(f(a))))))) TOP(up(f(f(f(f(f(g(x0)))))))) -> TOP(f_flat(down(f(f(f(f(g(x0)))))))) TOP(up(g(g(g(g(g(a))))))) -> TOP(g_flat(down(g(g(g(g(a))))))) The TRS R consists of the following rules: down(g(g(g(g(a))))) -> g_flat(down(g(g(g(a))))) g_flat(up(x_1)) -> up(g(x_1)) down(g(g(g(a)))) -> g_flat(down(g(g(a)))) down(g(g(a))) -> g_flat(down(g(a))) down(g(a)) -> g_flat(down(a)) down(a) -> up(f(a)) down(a) -> up(g(a)) down(f(f(f(f(g(y22)))))) -> f_flat(down(f(f(f(g(y22)))))) f_flat(up(x_1)) -> up(f(x_1)) down(f(f(f(g(y16))))) -> f_flat(down(f(f(g(y16))))) down(f(f(g(y10)))) -> f_flat(down(f(g(y10)))) down(f(g(y4))) -> f_flat(down(g(y4))) down(g(g(g(g(b))))) -> g_flat(down(g(g(g(b))))) down(g(g(g(b)))) -> g_flat(down(g(g(b)))) down(g(g(b))) -> g_flat(down(g(b))) down(g(b)) -> g_flat(down(b)) down(g(g(g(g(f(y24)))))) -> g_flat(down(g(g(g(f(y24)))))) down(g(g(g(f(y18))))) -> g_flat(down(g(g(f(y18))))) down(g(g(f(y12)))) -> g_flat(down(g(f(y12)))) down(g(f(x))) -> up(b) down(g(g(g(g(fresh_constant))))) -> g_flat(down(g(g(g(fresh_constant))))) down(g(g(g(fresh_constant)))) -> g_flat(down(g(g(fresh_constant)))) down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) down(g(g(g(g(g(g(x))))))) -> up(b) down(g(g(g(g(g(a)))))) -> g_flat(down(g(g(g(g(a)))))) down(g(g(g(g(g(f(y30))))))) -> g_flat(down(g(g(g(g(f(y30))))))) down(g(g(g(g(g(b)))))) -> g_flat(down(g(g(g(g(b)))))) down(g(g(g(g(g(fresh_constant)))))) -> g_flat(down(g(g(g(g(fresh_constant)))))) down(f(f(f(f(a))))) -> f_flat(down(f(f(f(a))))) down(f(f(f(a)))) -> f_flat(down(f(f(a)))) down(f(f(a))) -> f_flat(down(f(a))) down(f(a)) -> f_flat(down(a)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (112) SplitQDPProof (EQUIVALENT) We show in the first subproof that some pairs and rules can be removed, afterwards, we continue with the remaining DP-Problem ---------------------------------------- (113) Complex Obligation (AND) ---------------------------------------- (114) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) TOP(up(f(f(f(a))))) -> TOP(f_flat(down(f(f(a))))) TOP(up(f(f(f(g(x0)))))) -> TOP(f_flat(down(f(f(g(x0)))))) TOP(up(g(g(g(a))))) -> TOP(g_flat(down(g(g(a))))) TOP(up(f(f(f(f(a)))))) -> TOP(f_flat(down(f(f(f(a)))))) TOP(up(f(f(f(f(g(x0))))))) -> TOP(f_flat(down(f(f(f(g(x0))))))) TOP(up(g(g(g(g(a)))))) -> TOP(g_flat(down(g(g(g(a)))))) TOP(up(f(f(f(f(f(a))))))) -> TOP(f_flat(down(f(f(f(f(a))))))) TOP(up(f(f(f(f(f(g(x0)))))))) -> TOP(f_flat(down(f(f(f(f(g(x0)))))))) TOP(up(g(g(g(g(g(a))))))) -> TOP(g_flat(down(g(g(g(g(a))))))) The TRS R consists of the following rules: down(g(g(g(g(a))))) -> g_flat(down(g(g(g(a))))) g_flat(up(x_1)) -> up(g(x_1)) down(g(g(g(a)))) -> g_flat(down(g(g(a)))) down(g(g(a))) -> g_flat(down(g(a))) down(g(a)) -> g_flat(down(a)) down(a) -> up(f(a)) down(a) -> up(g(a)) down(f(f(f(f(g(y22)))))) -> f_flat(down(f(f(f(g(y22)))))) f_flat(up(x_1)) -> up(f(x_1)) down(f(f(f(g(y16))))) -> f_flat(down(f(f(g(y16))))) down(f(f(g(y10)))) -> f_flat(down(f(g(y10)))) down(f(g(y4))) -> f_flat(down(g(y4))) down(g(g(g(g(b))))) -> g_flat(down(g(g(g(b))))) down(g(g(g(b)))) -> g_flat(down(g(g(b)))) down(g(g(b))) -> g_flat(down(g(b))) down(g(b)) -> g_flat(down(b)) down(g(g(g(g(f(y24)))))) -> g_flat(down(g(g(g(f(y24)))))) down(g(g(g(f(y18))))) -> g_flat(down(g(g(f(y18))))) down(g(g(f(y12)))) -> g_flat(down(g(f(y12)))) down(g(f(x))) -> up(b) down(g(g(g(g(fresh_constant))))) -> g_flat(down(g(g(g(fresh_constant))))) down(g(g(g(fresh_constant)))) -> g_flat(down(g(g(fresh_constant)))) down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) down(g(g(g(g(g(g(x))))))) -> up(b) down(g(g(g(g(g(a)))))) -> g_flat(down(g(g(g(g(a)))))) down(g(g(g(g(g(f(y30))))))) -> g_flat(down(g(g(g(g(f(y30))))))) down(g(g(g(g(g(b)))))) -> g_flat(down(g(g(g(g(b)))))) down(g(g(g(g(g(fresh_constant)))))) -> g_flat(down(g(g(g(g(fresh_constant)))))) down(f(f(f(f(a))))) -> f_flat(down(f(f(f(a))))) down(f(f(f(a)))) -> f_flat(down(f(f(a)))) down(f(f(a))) -> f_flat(down(f(a))) down(f(a)) -> f_flat(down(a)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (115) SemLabProof (SOUND) We found the following model for the rules of the TRSs R and P. Interpretation over the domain with elements from 0 to 1. a: 0 b: 1 down: 0 f: 0 fresh_constant: 0 up: 0 f_flat: 0 TOP: 0 g_flat: 0 g: 0 By semantic labelling [SEMLAB] we obtain the following labelled QDP problem. ---------------------------------------- (116) Obligation: Q DP problem: The TRS P consists of the following rules: TOP.0(up.0(f.0(g.0(x0)))) -> TOP.0(f_flat.0(down.0(g.0(x0)))) TOP.0(up.0(f.0(g.1(x0)))) -> TOP.0(f_flat.0(down.0(g.1(x0)))) TOP.0(up.0(f.0(f.0(a.)))) -> TOP.0(f_flat.0(down.0(f.0(a.)))) TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) TOP.0(up.0(f.0(f.0(g.1(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.1(x0))))) TOP.0(up.0(g.0(g.0(a.)))) -> TOP.0(g_flat.0(down.0(g.0(a.)))) TOP.0(up.0(f.0(f.0(f.0(a.))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(a.))))) TOP.0(up.0(f.0(f.0(f.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(g.0(x0)))))) TOP.0(up.0(f.0(f.0(f.0(g.1(x0)))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(g.1(x0)))))) TOP.0(up.0(g.0(g.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(a.))))) TOP.0(up.0(f.0(f.0(f.0(f.0(a.)))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(a.)))))) TOP.0(up.0(f.0(f.0(f.0(f.0(g.0(x0))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(g.0(x0))))))) TOP.0(up.0(f.0(f.0(f.0(f.0(g.1(x0))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(g.1(x0))))))) TOP.0(up.0(g.0(g.0(g.0(g.0(a.)))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(g.0(a.)))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.0(a.))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.0(a.))))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.0(g.0(x0)))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.0(g.0(x0)))))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.0(g.1(x0)))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.0(g.1(x0)))))))) TOP.0(up.0(g.0(g.0(g.0(g.0(g.0(a.))))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(g.0(g.0(a.))))))) The TRS R consists of the following rules: down.0(g.0(g.0(g.0(g.0(a.))))) -> g_flat.0(down.0(g.0(g.0(g.0(a.))))) g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) g_flat.0(up.1(x_1)) -> up.0(g.1(x_1)) down.0(g.0(g.0(g.0(a.)))) -> g_flat.0(down.0(g.0(g.0(a.)))) down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) down.0(g.0(a.)) -> g_flat.0(down.0(a.)) down.0(a.) -> up.0(f.0(a.)) down.0(a.) -> up.0(g.0(a.)) down.0(f.0(f.0(f.0(f.0(g.0(y22)))))) -> f_flat.0(down.0(f.0(f.0(f.0(g.0(y22)))))) down.0(f.0(f.0(f.0(f.0(g.1(y22)))))) -> f_flat.0(down.0(f.0(f.0(f.0(g.1(y22)))))) f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) f_flat.0(up.1(x_1)) -> up.0(f.1(x_1)) down.0(f.0(f.0(f.0(g.0(y16))))) -> f_flat.0(down.0(f.0(f.0(g.0(y16))))) down.0(f.0(f.0(f.0(g.1(y16))))) -> f_flat.0(down.0(f.0(f.0(g.1(y16))))) down.0(f.0(f.0(g.0(y10)))) -> f_flat.0(down.0(f.0(g.0(y10)))) down.0(f.0(f.0(g.1(y10)))) -> f_flat.0(down.0(f.0(g.1(y10)))) down.0(f.0(g.0(y4))) -> f_flat.0(down.0(g.0(y4))) down.0(f.0(g.1(y4))) -> f_flat.0(down.0(g.1(y4))) down.0(g.0(g.0(g.0(g.1(b.))))) -> g_flat.0(down.0(g.0(g.0(g.1(b.))))) down.0(g.0(g.0(g.1(b.)))) -> g_flat.0(down.0(g.0(g.1(b.)))) down.0(g.0(g.1(b.))) -> g_flat.0(down.0(g.1(b.))) down.0(g.1(b.)) -> g_flat.0(down.1(b.)) down.0(g.0(g.0(g.0(g.0(f.0(y24)))))) -> g_flat.0(down.0(g.0(g.0(g.0(f.0(y24)))))) down.0(g.0(g.0(g.0(g.0(f.1(y24)))))) -> g_flat.0(down.0(g.0(g.0(g.0(f.1(y24)))))) down.0(g.0(g.0(g.0(f.0(y18))))) -> g_flat.0(down.0(g.0(g.0(f.0(y18))))) down.0(g.0(g.0(g.0(f.1(y18))))) -> g_flat.0(down.0(g.0(g.0(f.1(y18))))) down.0(g.0(g.0(f.0(y12)))) -> g_flat.0(down.0(g.0(f.0(y12)))) down.0(g.0(g.0(f.1(y12)))) -> g_flat.0(down.0(g.0(f.1(y12)))) down.0(g.0(f.0(x))) -> up.1(b.) down.0(g.0(f.1(x))) -> up.1(b.) down.0(g.0(g.0(g.0(g.0(fresh_constant.))))) -> g_flat.0(down.0(g.0(g.0(g.0(fresh_constant.))))) down.0(g.0(g.0(g.0(fresh_constant.)))) -> g_flat.0(down.0(g.0(g.0(fresh_constant.)))) down.0(g.0(g.0(fresh_constant.))) -> g_flat.0(down.0(g.0(fresh_constant.))) down.0(g.0(g.0(g.0(g.0(g.0(g.0(x))))))) -> up.1(b.) down.0(g.0(g.0(g.0(g.0(g.0(g.1(x))))))) -> up.1(b.) down.0(g.0(g.0(g.0(g.0(g.0(a.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(a.)))))) down.0(g.0(g.0(g.0(g.0(g.0(f.0(y30))))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(f.0(y30))))))) down.0(g.0(g.0(g.0(g.0(g.0(f.1(y30))))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(f.1(y30))))))) down.0(g.0(g.0(g.0(g.0(g.1(b.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.1(b.)))))) down.0(g.0(g.0(g.0(g.0(g.0(fresh_constant.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(fresh_constant.)))))) down.0(f.0(f.0(f.0(f.0(a.))))) -> f_flat.0(down.0(f.0(f.0(f.0(a.))))) down.0(f.0(f.0(f.0(a.)))) -> f_flat.0(down.0(f.0(f.0(a.)))) down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) down.0(f.0(a.)) -> f_flat.0(down.0(a.)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (117) MRRProof (EQUIVALENT) By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. Strictly oriented rules of the TRS R: down.0(g.1(b.)) -> g_flat.0(down.1(b.)) Used ordering: Polynomial interpretation [POLO]: POL(TOP.0(x_1)) = x_1 POL(a.) = 0 POL(b.) = 0 POL(down.0(x_1)) = 1 + x_1 POL(down.1(x_1)) = x_1 POL(f.0(x_1)) = x_1 POL(f.1(x_1)) = x_1 POL(f_flat.0(x_1)) = x_1 POL(fresh_constant.) = 0 POL(g.0(x_1)) = x_1 POL(g.1(x_1)) = x_1 POL(g_flat.0(x_1)) = x_1 POL(up.0(x_1)) = 1 + x_1 POL(up.1(x_1)) = 1 + x_1 ---------------------------------------- (118) Obligation: Q DP problem: The TRS P consists of the following rules: TOP.0(up.0(f.0(g.0(x0)))) -> TOP.0(f_flat.0(down.0(g.0(x0)))) TOP.0(up.0(f.0(g.1(x0)))) -> TOP.0(f_flat.0(down.0(g.1(x0)))) TOP.0(up.0(f.0(f.0(a.)))) -> TOP.0(f_flat.0(down.0(f.0(a.)))) TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) TOP.0(up.0(f.0(f.0(g.1(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.1(x0))))) TOP.0(up.0(g.0(g.0(a.)))) -> TOP.0(g_flat.0(down.0(g.0(a.)))) TOP.0(up.0(f.0(f.0(f.0(a.))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(a.))))) TOP.0(up.0(f.0(f.0(f.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(g.0(x0)))))) TOP.0(up.0(f.0(f.0(f.0(g.1(x0)))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(g.1(x0)))))) TOP.0(up.0(g.0(g.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(a.))))) TOP.0(up.0(f.0(f.0(f.0(f.0(a.)))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(a.)))))) TOP.0(up.0(f.0(f.0(f.0(f.0(g.0(x0))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(g.0(x0))))))) TOP.0(up.0(f.0(f.0(f.0(f.0(g.1(x0))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(g.1(x0))))))) TOP.0(up.0(g.0(g.0(g.0(g.0(a.)))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(g.0(a.)))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.0(a.))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.0(a.))))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.0(g.0(x0)))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.0(g.0(x0)))))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.0(g.1(x0)))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.0(g.1(x0)))))))) TOP.0(up.0(g.0(g.0(g.0(g.0(g.0(a.))))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(g.0(g.0(a.))))))) The TRS R consists of the following rules: down.0(g.0(g.0(g.0(g.0(a.))))) -> g_flat.0(down.0(g.0(g.0(g.0(a.))))) g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) g_flat.0(up.1(x_1)) -> up.0(g.1(x_1)) down.0(g.0(g.0(g.0(a.)))) -> g_flat.0(down.0(g.0(g.0(a.)))) down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) down.0(g.0(a.)) -> g_flat.0(down.0(a.)) down.0(a.) -> up.0(f.0(a.)) down.0(a.) -> up.0(g.0(a.)) down.0(f.0(f.0(f.0(f.0(g.0(y22)))))) -> f_flat.0(down.0(f.0(f.0(f.0(g.0(y22)))))) down.0(f.0(f.0(f.0(f.0(g.1(y22)))))) -> f_flat.0(down.0(f.0(f.0(f.0(g.1(y22)))))) f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) f_flat.0(up.1(x_1)) -> up.0(f.1(x_1)) down.0(f.0(f.0(f.0(g.0(y16))))) -> f_flat.0(down.0(f.0(f.0(g.0(y16))))) down.0(f.0(f.0(f.0(g.1(y16))))) -> f_flat.0(down.0(f.0(f.0(g.1(y16))))) down.0(f.0(f.0(g.0(y10)))) -> f_flat.0(down.0(f.0(g.0(y10)))) down.0(f.0(f.0(g.1(y10)))) -> f_flat.0(down.0(f.0(g.1(y10)))) down.0(f.0(g.0(y4))) -> f_flat.0(down.0(g.0(y4))) down.0(f.0(g.1(y4))) -> f_flat.0(down.0(g.1(y4))) down.0(g.0(g.0(g.0(g.1(b.))))) -> g_flat.0(down.0(g.0(g.0(g.1(b.))))) down.0(g.0(g.0(g.1(b.)))) -> g_flat.0(down.0(g.0(g.1(b.)))) down.0(g.0(g.1(b.))) -> g_flat.0(down.0(g.1(b.))) down.0(g.0(g.0(g.0(g.0(f.0(y24)))))) -> g_flat.0(down.0(g.0(g.0(g.0(f.0(y24)))))) down.0(g.0(g.0(g.0(g.0(f.1(y24)))))) -> g_flat.0(down.0(g.0(g.0(g.0(f.1(y24)))))) down.0(g.0(g.0(g.0(f.0(y18))))) -> g_flat.0(down.0(g.0(g.0(f.0(y18))))) down.0(g.0(g.0(g.0(f.1(y18))))) -> g_flat.0(down.0(g.0(g.0(f.1(y18))))) down.0(g.0(g.0(f.0(y12)))) -> g_flat.0(down.0(g.0(f.0(y12)))) down.0(g.0(g.0(f.1(y12)))) -> g_flat.0(down.0(g.0(f.1(y12)))) down.0(g.0(f.0(x))) -> up.1(b.) down.0(g.0(f.1(x))) -> up.1(b.) down.0(g.0(g.0(g.0(g.0(fresh_constant.))))) -> g_flat.0(down.0(g.0(g.0(g.0(fresh_constant.))))) down.0(g.0(g.0(g.0(fresh_constant.)))) -> g_flat.0(down.0(g.0(g.0(fresh_constant.)))) down.0(g.0(g.0(fresh_constant.))) -> g_flat.0(down.0(g.0(fresh_constant.))) down.0(g.0(g.0(g.0(g.0(g.0(g.0(x))))))) -> up.1(b.) down.0(g.0(g.0(g.0(g.0(g.0(g.1(x))))))) -> up.1(b.) down.0(g.0(g.0(g.0(g.0(g.0(a.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(a.)))))) down.0(g.0(g.0(g.0(g.0(g.0(f.0(y30))))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(f.0(y30))))))) down.0(g.0(g.0(g.0(g.0(g.0(f.1(y30))))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(f.1(y30))))))) down.0(g.0(g.0(g.0(g.0(g.1(b.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.1(b.)))))) down.0(g.0(g.0(g.0(g.0(g.0(fresh_constant.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(fresh_constant.)))))) down.0(f.0(f.0(f.0(f.0(a.))))) -> f_flat.0(down.0(f.0(f.0(f.0(a.))))) down.0(f.0(f.0(f.0(a.)))) -> f_flat.0(down.0(f.0(f.0(a.)))) down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) down.0(f.0(a.)) -> f_flat.0(down.0(a.)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (119) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (120) Obligation: Q DP problem: The TRS P consists of the following rules: TOP.0(up.0(f.0(g.0(x0)))) -> TOP.0(f_flat.0(down.0(g.0(x0)))) TOP.0(up.0(f.0(f.0(a.)))) -> TOP.0(f_flat.0(down.0(f.0(a.)))) TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) TOP.0(up.0(f.0(f.0(g.1(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.1(x0))))) TOP.0(up.0(g.0(g.0(a.)))) -> TOP.0(g_flat.0(down.0(g.0(a.)))) TOP.0(up.0(f.0(f.0(f.0(a.))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(a.))))) TOP.0(up.0(f.0(f.0(f.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(g.0(x0)))))) TOP.0(up.0(f.0(f.0(f.0(g.1(x0)))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(g.1(x0)))))) TOP.0(up.0(g.0(g.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(a.))))) TOP.0(up.0(f.0(f.0(f.0(f.0(a.)))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(a.)))))) TOP.0(up.0(f.0(f.0(f.0(f.0(g.0(x0))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(g.0(x0))))))) TOP.0(up.0(f.0(f.0(f.0(f.0(g.1(x0))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(g.1(x0))))))) TOP.0(up.0(g.0(g.0(g.0(g.0(a.)))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(g.0(a.)))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.0(a.))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.0(a.))))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.0(g.0(x0)))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.0(g.0(x0)))))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.0(g.1(x0)))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.0(g.1(x0)))))))) TOP.0(up.0(g.0(g.0(g.0(g.0(g.0(a.))))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(g.0(g.0(a.))))))) The TRS R consists of the following rules: down.0(g.0(g.0(g.0(g.0(a.))))) -> g_flat.0(down.0(g.0(g.0(g.0(a.))))) g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) g_flat.0(up.1(x_1)) -> up.0(g.1(x_1)) down.0(g.0(g.0(g.0(a.)))) -> g_flat.0(down.0(g.0(g.0(a.)))) down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) down.0(g.0(a.)) -> g_flat.0(down.0(a.)) down.0(a.) -> up.0(f.0(a.)) down.0(a.) -> up.0(g.0(a.)) down.0(f.0(f.0(f.0(f.0(g.0(y22)))))) -> f_flat.0(down.0(f.0(f.0(f.0(g.0(y22)))))) down.0(f.0(f.0(f.0(f.0(g.1(y22)))))) -> f_flat.0(down.0(f.0(f.0(f.0(g.1(y22)))))) f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) f_flat.0(up.1(x_1)) -> up.0(f.1(x_1)) down.0(f.0(f.0(f.0(g.0(y16))))) -> f_flat.0(down.0(f.0(f.0(g.0(y16))))) down.0(f.0(f.0(f.0(g.1(y16))))) -> f_flat.0(down.0(f.0(f.0(g.1(y16))))) down.0(f.0(f.0(g.0(y10)))) -> f_flat.0(down.0(f.0(g.0(y10)))) down.0(f.0(f.0(g.1(y10)))) -> f_flat.0(down.0(f.0(g.1(y10)))) down.0(f.0(g.0(y4))) -> f_flat.0(down.0(g.0(y4))) down.0(f.0(g.1(y4))) -> f_flat.0(down.0(g.1(y4))) down.0(g.0(g.0(g.0(g.1(b.))))) -> g_flat.0(down.0(g.0(g.0(g.1(b.))))) down.0(g.0(g.0(g.1(b.)))) -> g_flat.0(down.0(g.0(g.1(b.)))) down.0(g.0(g.1(b.))) -> g_flat.0(down.0(g.1(b.))) down.0(g.0(g.0(g.0(g.0(f.0(y24)))))) -> g_flat.0(down.0(g.0(g.0(g.0(f.0(y24)))))) down.0(g.0(g.0(g.0(g.0(f.1(y24)))))) -> g_flat.0(down.0(g.0(g.0(g.0(f.1(y24)))))) down.0(g.0(g.0(g.0(f.0(y18))))) -> g_flat.0(down.0(g.0(g.0(f.0(y18))))) down.0(g.0(g.0(g.0(f.1(y18))))) -> g_flat.0(down.0(g.0(g.0(f.1(y18))))) down.0(g.0(g.0(f.0(y12)))) -> g_flat.0(down.0(g.0(f.0(y12)))) down.0(g.0(g.0(f.1(y12)))) -> g_flat.0(down.0(g.0(f.1(y12)))) down.0(g.0(f.0(x))) -> up.1(b.) down.0(g.0(f.1(x))) -> up.1(b.) down.0(g.0(g.0(g.0(g.0(fresh_constant.))))) -> g_flat.0(down.0(g.0(g.0(g.0(fresh_constant.))))) down.0(g.0(g.0(g.0(fresh_constant.)))) -> g_flat.0(down.0(g.0(g.0(fresh_constant.)))) down.0(g.0(g.0(fresh_constant.))) -> g_flat.0(down.0(g.0(fresh_constant.))) down.0(g.0(g.0(g.0(g.0(g.0(g.0(x))))))) -> up.1(b.) down.0(g.0(g.0(g.0(g.0(g.0(g.1(x))))))) -> up.1(b.) down.0(g.0(g.0(g.0(g.0(g.0(a.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(a.)))))) down.0(g.0(g.0(g.0(g.0(g.0(f.0(y30))))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(f.0(y30))))))) down.0(g.0(g.0(g.0(g.0(g.0(f.1(y30))))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(f.1(y30))))))) down.0(g.0(g.0(g.0(g.0(g.1(b.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.1(b.)))))) down.0(g.0(g.0(g.0(g.0(g.0(fresh_constant.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(fresh_constant.)))))) down.0(f.0(f.0(f.0(f.0(a.))))) -> f_flat.0(down.0(f.0(f.0(f.0(a.))))) down.0(f.0(f.0(f.0(a.)))) -> f_flat.0(down.0(f.0(f.0(a.)))) down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) down.0(f.0(a.)) -> f_flat.0(down.0(a.)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (121) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. TOP.0(up.0(f.0(f.0(g.1(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.1(x0))))) TOP.0(up.0(f.0(f.0(f.0(g.1(x0)))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(g.1(x0)))))) TOP.0(up.0(f.0(f.0(f.0(f.0(g.1(x0))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(g.1(x0))))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.0(g.1(x0)))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.0(g.1(x0)))))))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(TOP.0(x_1)) = x_1 POL(a.) = 1 POL(b.) = 0 POL(down.0(x_1)) = x_1 POL(f.0(x_1)) = x_1 POL(f.1(x_1)) = x_1 POL(f_flat.0(x_1)) = x_1 POL(fresh_constant.) = 0 POL(g.0(x_1)) = 1 POL(g.1(x_1)) = 0 POL(g_flat.0(x_1)) = 1 POL(up.0(x_1)) = 1 POL(up.1(x_1)) = 1 + x_1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: down.0(g.0(g.0(g.0(g.0(a.))))) -> g_flat.0(down.0(g.0(g.0(g.0(a.))))) down.0(g.0(g.0(g.0(a.)))) -> g_flat.0(down.0(g.0(g.0(a.)))) down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) down.0(g.0(a.)) -> g_flat.0(down.0(a.)) down.0(g.0(g.0(g.0(g.1(b.))))) -> g_flat.0(down.0(g.0(g.0(g.1(b.))))) down.0(g.0(g.0(g.1(b.)))) -> g_flat.0(down.0(g.0(g.1(b.)))) down.0(g.0(g.1(b.))) -> g_flat.0(down.0(g.1(b.))) down.0(g.0(g.0(g.0(g.0(f.0(y24)))))) -> g_flat.0(down.0(g.0(g.0(g.0(f.0(y24)))))) down.0(g.0(g.0(g.0(g.0(f.1(y24)))))) -> g_flat.0(down.0(g.0(g.0(g.0(f.1(y24)))))) down.0(g.0(g.0(g.0(f.0(y18))))) -> g_flat.0(down.0(g.0(g.0(f.0(y18))))) down.0(g.0(g.0(g.0(f.1(y18))))) -> g_flat.0(down.0(g.0(g.0(f.1(y18))))) down.0(g.0(g.0(f.0(y12)))) -> g_flat.0(down.0(g.0(f.0(y12)))) down.0(g.0(g.0(f.1(y12)))) -> g_flat.0(down.0(g.0(f.1(y12)))) down.0(g.0(f.0(x))) -> up.1(b.) down.0(g.0(f.1(x))) -> up.1(b.) down.0(g.0(g.0(g.0(g.0(fresh_constant.))))) -> g_flat.0(down.0(g.0(g.0(g.0(fresh_constant.))))) down.0(g.0(g.0(g.0(fresh_constant.)))) -> g_flat.0(down.0(g.0(g.0(fresh_constant.)))) down.0(g.0(g.0(fresh_constant.))) -> g_flat.0(down.0(g.0(fresh_constant.))) down.0(g.0(g.0(g.0(g.0(g.0(g.0(x))))))) -> up.1(b.) down.0(g.0(g.0(g.0(g.0(g.0(g.1(x))))))) -> up.1(b.) down.0(g.0(g.0(g.0(g.0(g.0(a.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(a.)))))) down.0(g.0(g.0(g.0(g.0(g.0(f.0(y30))))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(f.0(y30))))))) down.0(g.0(g.0(g.0(g.0(g.0(f.1(y30))))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(f.1(y30))))))) down.0(g.0(g.0(g.0(g.0(g.1(b.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.1(b.)))))) down.0(g.0(g.0(g.0(g.0(g.0(fresh_constant.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(fresh_constant.)))))) f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) f_flat.0(up.1(x_1)) -> up.0(f.1(x_1)) down.0(f.0(a.)) -> f_flat.0(down.0(a.)) down.0(f.0(g.0(y4))) -> f_flat.0(down.0(g.0(y4))) down.0(f.0(g.1(y4))) -> f_flat.0(down.0(g.1(y4))) g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) g_flat.0(up.1(x_1)) -> up.0(g.1(x_1)) down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) down.0(f.0(f.0(g.0(y10)))) -> f_flat.0(down.0(f.0(g.0(y10)))) down.0(f.0(f.0(g.1(y10)))) -> f_flat.0(down.0(f.0(g.1(y10)))) down.0(f.0(f.0(f.0(a.)))) -> f_flat.0(down.0(f.0(f.0(a.)))) down.0(f.0(f.0(f.0(g.0(y16))))) -> f_flat.0(down.0(f.0(f.0(g.0(y16))))) down.0(f.0(f.0(f.0(g.1(y16))))) -> f_flat.0(down.0(f.0(f.0(g.1(y16))))) down.0(f.0(f.0(f.0(f.0(a.))))) -> f_flat.0(down.0(f.0(f.0(f.0(a.))))) down.0(f.0(f.0(f.0(f.0(g.0(y22)))))) -> f_flat.0(down.0(f.0(f.0(f.0(g.0(y22)))))) down.0(f.0(f.0(f.0(f.0(g.1(y22)))))) -> f_flat.0(down.0(f.0(f.0(f.0(g.1(y22)))))) down.0(a.) -> up.0(f.0(a.)) down.0(a.) -> up.0(g.0(a.)) ---------------------------------------- (122) Obligation: Q DP problem: The TRS P consists of the following rules: TOP.0(up.0(f.0(g.0(x0)))) -> TOP.0(f_flat.0(down.0(g.0(x0)))) TOP.0(up.0(f.0(f.0(a.)))) -> TOP.0(f_flat.0(down.0(f.0(a.)))) TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) TOP.0(up.0(g.0(g.0(a.)))) -> TOP.0(g_flat.0(down.0(g.0(a.)))) TOP.0(up.0(f.0(f.0(f.0(a.))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(a.))))) TOP.0(up.0(f.0(f.0(f.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(g.0(x0)))))) TOP.0(up.0(g.0(g.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(a.))))) TOP.0(up.0(f.0(f.0(f.0(f.0(a.)))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(a.)))))) TOP.0(up.0(f.0(f.0(f.0(f.0(g.0(x0))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(g.0(x0))))))) TOP.0(up.0(g.0(g.0(g.0(g.0(a.)))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(g.0(a.)))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.0(a.))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.0(a.))))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.0(g.0(x0)))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.0(g.0(x0)))))))) TOP.0(up.0(g.0(g.0(g.0(g.0(g.0(a.))))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(g.0(g.0(a.))))))) The TRS R consists of the following rules: down.0(g.0(g.0(g.0(g.0(a.))))) -> g_flat.0(down.0(g.0(g.0(g.0(a.))))) g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) g_flat.0(up.1(x_1)) -> up.0(g.1(x_1)) down.0(g.0(g.0(g.0(a.)))) -> g_flat.0(down.0(g.0(g.0(a.)))) down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) down.0(g.0(a.)) -> g_flat.0(down.0(a.)) down.0(a.) -> up.0(f.0(a.)) down.0(a.) -> up.0(g.0(a.)) down.0(f.0(f.0(f.0(f.0(g.0(y22)))))) -> f_flat.0(down.0(f.0(f.0(f.0(g.0(y22)))))) down.0(f.0(f.0(f.0(f.0(g.1(y22)))))) -> f_flat.0(down.0(f.0(f.0(f.0(g.1(y22)))))) f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) f_flat.0(up.1(x_1)) -> up.0(f.1(x_1)) down.0(f.0(f.0(f.0(g.0(y16))))) -> f_flat.0(down.0(f.0(f.0(g.0(y16))))) down.0(f.0(f.0(f.0(g.1(y16))))) -> f_flat.0(down.0(f.0(f.0(g.1(y16))))) down.0(f.0(f.0(g.0(y10)))) -> f_flat.0(down.0(f.0(g.0(y10)))) down.0(f.0(f.0(g.1(y10)))) -> f_flat.0(down.0(f.0(g.1(y10)))) down.0(f.0(g.0(y4))) -> f_flat.0(down.0(g.0(y4))) down.0(f.0(g.1(y4))) -> f_flat.0(down.0(g.1(y4))) down.0(g.0(g.0(g.0(g.1(b.))))) -> g_flat.0(down.0(g.0(g.0(g.1(b.))))) down.0(g.0(g.0(g.1(b.)))) -> g_flat.0(down.0(g.0(g.1(b.)))) down.0(g.0(g.1(b.))) -> g_flat.0(down.0(g.1(b.))) down.0(g.0(g.0(g.0(g.0(f.0(y24)))))) -> g_flat.0(down.0(g.0(g.0(g.0(f.0(y24)))))) down.0(g.0(g.0(g.0(g.0(f.1(y24)))))) -> g_flat.0(down.0(g.0(g.0(g.0(f.1(y24)))))) down.0(g.0(g.0(g.0(f.0(y18))))) -> g_flat.0(down.0(g.0(g.0(f.0(y18))))) down.0(g.0(g.0(g.0(f.1(y18))))) -> g_flat.0(down.0(g.0(g.0(f.1(y18))))) down.0(g.0(g.0(f.0(y12)))) -> g_flat.0(down.0(g.0(f.0(y12)))) down.0(g.0(g.0(f.1(y12)))) -> g_flat.0(down.0(g.0(f.1(y12)))) down.0(g.0(f.0(x))) -> up.1(b.) down.0(g.0(f.1(x))) -> up.1(b.) down.0(g.0(g.0(g.0(g.0(fresh_constant.))))) -> g_flat.0(down.0(g.0(g.0(g.0(fresh_constant.))))) down.0(g.0(g.0(g.0(fresh_constant.)))) -> g_flat.0(down.0(g.0(g.0(fresh_constant.)))) down.0(g.0(g.0(fresh_constant.))) -> g_flat.0(down.0(g.0(fresh_constant.))) down.0(g.0(g.0(g.0(g.0(g.0(g.0(x))))))) -> up.1(b.) down.0(g.0(g.0(g.0(g.0(g.0(g.1(x))))))) -> up.1(b.) down.0(g.0(g.0(g.0(g.0(g.0(a.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(a.)))))) down.0(g.0(g.0(g.0(g.0(g.0(f.0(y30))))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(f.0(y30))))))) down.0(g.0(g.0(g.0(g.0(g.0(f.1(y30))))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(f.1(y30))))))) down.0(g.0(g.0(g.0(g.0(g.1(b.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.1(b.)))))) down.0(g.0(g.0(g.0(g.0(g.0(fresh_constant.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(fresh_constant.)))))) down.0(f.0(f.0(f.0(f.0(a.))))) -> f_flat.0(down.0(f.0(f.0(f.0(a.))))) down.0(f.0(f.0(f.0(a.)))) -> f_flat.0(down.0(f.0(f.0(a.)))) down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) down.0(f.0(a.)) -> f_flat.0(down.0(a.)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (123) 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. No dependency pairs are removed. The following rules are removed from R: down.0(f.0(f.0(f.0(f.0(g.1(y22)))))) -> f_flat.0(down.0(f.0(f.0(f.0(g.1(y22)))))) down.0(f.0(f.0(f.0(g.1(y16))))) -> f_flat.0(down.0(f.0(f.0(g.1(y16))))) down.0(f.0(f.0(g.1(y10)))) -> f_flat.0(down.0(f.0(g.1(y10)))) down.0(f.0(g.1(y4))) -> f_flat.0(down.0(g.1(y4))) Used ordering: POLO with Polynomial interpretation [POLO]: POL(TOP.0(x_1)) = x_1 POL(a.) = 0 POL(b.) = 0 POL(down.0(x_1)) = 1 + x_1 POL(f.0(x_1)) = x_1 POL(f.1(x_1)) = x_1 POL(f_flat.0(x_1)) = x_1 POL(fresh_constant.) = 0 POL(g.0(x_1)) = x_1 POL(g.1(x_1)) = x_1 POL(g_flat.0(x_1)) = x_1 POL(up.0(x_1)) = 1 + x_1 POL(up.1(x_1)) = 1 + x_1 ---------------------------------------- (124) Obligation: Q DP problem: The TRS P consists of the following rules: TOP.0(up.0(f.0(g.0(x0)))) -> TOP.0(f_flat.0(down.0(g.0(x0)))) TOP.0(up.0(f.0(f.0(a.)))) -> TOP.0(f_flat.0(down.0(f.0(a.)))) TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) TOP.0(up.0(g.0(g.0(a.)))) -> TOP.0(g_flat.0(down.0(g.0(a.)))) TOP.0(up.0(f.0(f.0(f.0(a.))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(a.))))) TOP.0(up.0(f.0(f.0(f.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(g.0(x0)))))) TOP.0(up.0(g.0(g.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(a.))))) TOP.0(up.0(f.0(f.0(f.0(f.0(a.)))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(a.)))))) TOP.0(up.0(f.0(f.0(f.0(f.0(g.0(x0))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(g.0(x0))))))) TOP.0(up.0(g.0(g.0(g.0(g.0(a.)))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(g.0(a.)))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.0(a.))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.0(a.))))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.0(g.0(x0)))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.0(g.0(x0)))))))) TOP.0(up.0(g.0(g.0(g.0(g.0(g.0(a.))))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(g.0(g.0(a.))))))) The TRS R consists of the following rules: down.0(g.0(g.0(g.0(g.0(a.))))) -> g_flat.0(down.0(g.0(g.0(g.0(a.))))) g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) g_flat.0(up.1(x_1)) -> up.0(g.1(x_1)) down.0(g.0(g.0(g.0(a.)))) -> g_flat.0(down.0(g.0(g.0(a.)))) down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) down.0(g.0(a.)) -> g_flat.0(down.0(a.)) down.0(a.) -> up.0(f.0(a.)) down.0(a.) -> up.0(g.0(a.)) down.0(f.0(f.0(f.0(f.0(g.0(y22)))))) -> f_flat.0(down.0(f.0(f.0(f.0(g.0(y22)))))) f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) f_flat.0(up.1(x_1)) -> up.0(f.1(x_1)) down.0(f.0(f.0(f.0(g.0(y16))))) -> f_flat.0(down.0(f.0(f.0(g.0(y16))))) down.0(f.0(f.0(g.0(y10)))) -> f_flat.0(down.0(f.0(g.0(y10)))) down.0(f.0(g.0(y4))) -> f_flat.0(down.0(g.0(y4))) down.0(g.0(g.0(g.0(g.1(b.))))) -> g_flat.0(down.0(g.0(g.0(g.1(b.))))) down.0(g.0(g.0(g.1(b.)))) -> g_flat.0(down.0(g.0(g.1(b.)))) down.0(g.0(g.1(b.))) -> g_flat.0(down.0(g.1(b.))) down.0(g.0(g.0(g.0(g.0(f.0(y24)))))) -> g_flat.0(down.0(g.0(g.0(g.0(f.0(y24)))))) down.0(g.0(g.0(g.0(g.0(f.1(y24)))))) -> g_flat.0(down.0(g.0(g.0(g.0(f.1(y24)))))) down.0(g.0(g.0(g.0(f.0(y18))))) -> g_flat.0(down.0(g.0(g.0(f.0(y18))))) down.0(g.0(g.0(g.0(f.1(y18))))) -> g_flat.0(down.0(g.0(g.0(f.1(y18))))) down.0(g.0(g.0(f.0(y12)))) -> g_flat.0(down.0(g.0(f.0(y12)))) down.0(g.0(g.0(f.1(y12)))) -> g_flat.0(down.0(g.0(f.1(y12)))) down.0(g.0(f.0(x))) -> up.1(b.) down.0(g.0(f.1(x))) -> up.1(b.) down.0(g.0(g.0(g.0(g.0(fresh_constant.))))) -> g_flat.0(down.0(g.0(g.0(g.0(fresh_constant.))))) down.0(g.0(g.0(g.0(fresh_constant.)))) -> g_flat.0(down.0(g.0(g.0(fresh_constant.)))) down.0(g.0(g.0(fresh_constant.))) -> g_flat.0(down.0(g.0(fresh_constant.))) down.0(g.0(g.0(g.0(g.0(g.0(g.0(x))))))) -> up.1(b.) down.0(g.0(g.0(g.0(g.0(g.0(g.1(x))))))) -> up.1(b.) down.0(g.0(g.0(g.0(g.0(g.0(a.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(a.)))))) down.0(g.0(g.0(g.0(g.0(g.0(f.0(y30))))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(f.0(y30))))))) down.0(g.0(g.0(g.0(g.0(g.0(f.1(y30))))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(f.1(y30))))))) down.0(g.0(g.0(g.0(g.0(g.1(b.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.1(b.)))))) down.0(g.0(g.0(g.0(g.0(g.0(fresh_constant.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(fresh_constant.)))))) down.0(f.0(f.0(f.0(f.0(a.))))) -> f_flat.0(down.0(f.0(f.0(f.0(a.))))) down.0(f.0(f.0(f.0(a.)))) -> f_flat.0(down.0(f.0(f.0(a.)))) down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) down.0(f.0(a.)) -> f_flat.0(down.0(a.)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (125) PisEmptyProof (SOUND) The TRS P is empty. Hence, there is no (P,Q,R) chain. ---------------------------------------- (126) TRUE ---------------------------------------- (127) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) TOP(up(f(f(f(a))))) -> TOP(f_flat(down(f(f(a))))) TOP(up(f(f(f(g(x0)))))) -> TOP(f_flat(down(f(f(g(x0)))))) TOP(up(g(g(g(a))))) -> TOP(g_flat(down(g(g(a))))) TOP(up(f(f(f(f(a)))))) -> TOP(f_flat(down(f(f(f(a)))))) TOP(up(f(f(f(f(g(x0))))))) -> TOP(f_flat(down(f(f(f(g(x0))))))) TOP(up(g(g(g(g(a)))))) -> TOP(g_flat(down(g(g(g(a)))))) TOP(up(f(f(f(f(f(a))))))) -> TOP(f_flat(down(f(f(f(f(a))))))) TOP(up(f(f(f(f(f(g(x0)))))))) -> TOP(f_flat(down(f(f(f(f(g(x0)))))))) TOP(up(g(g(g(g(g(a))))))) -> TOP(g_flat(down(g(g(g(g(a))))))) The TRS R consists of the following rules: down(g(g(g(g(a))))) -> g_flat(down(g(g(g(a))))) g_flat(up(x_1)) -> up(g(x_1)) down(g(g(g(a)))) -> g_flat(down(g(g(a)))) down(g(g(a))) -> g_flat(down(g(a))) down(g(a)) -> g_flat(down(a)) down(a) -> up(f(a)) down(a) -> up(g(a)) down(f(f(f(f(g(y22)))))) -> f_flat(down(f(f(f(g(y22)))))) f_flat(up(x_1)) -> up(f(x_1)) down(f(f(f(g(y16))))) -> f_flat(down(f(f(g(y16))))) down(f(f(g(y10)))) -> f_flat(down(f(g(y10)))) down(f(g(y4))) -> f_flat(down(g(y4))) down(g(g(g(g(b))))) -> g_flat(down(g(g(g(b))))) down(g(g(g(b)))) -> g_flat(down(g(g(b)))) down(g(g(b))) -> g_flat(down(g(b))) down(g(g(g(g(f(y24)))))) -> g_flat(down(g(g(g(f(y24)))))) down(g(g(g(f(y18))))) -> g_flat(down(g(g(f(y18))))) down(g(g(f(y12)))) -> g_flat(down(g(f(y12)))) down(g(f(x))) -> up(b) down(g(g(g(g(fresh_constant))))) -> g_flat(down(g(g(g(fresh_constant))))) down(g(g(g(fresh_constant)))) -> g_flat(down(g(g(fresh_constant)))) down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) down(g(g(g(g(g(g(x))))))) -> up(b) down(g(g(g(g(g(a)))))) -> g_flat(down(g(g(g(g(a)))))) down(g(g(g(g(g(f(y30))))))) -> g_flat(down(g(g(g(g(f(y30))))))) down(g(g(g(g(g(b)))))) -> g_flat(down(g(g(g(g(b)))))) down(g(g(g(g(g(fresh_constant)))))) -> g_flat(down(g(g(g(g(fresh_constant)))))) down(f(f(f(f(a))))) -> f_flat(down(f(f(f(a))))) down(f(f(f(a)))) -> f_flat(down(f(f(a)))) down(f(f(a))) -> f_flat(down(f(a))) down(f(a)) -> f_flat(down(a)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (128) SplitQDPProof (EQUIVALENT) We show in the first subproof that some pairs and rules can be removed, afterwards, we continue with the remaining DP-Problem ---------------------------------------- (129) Complex Obligation (AND) ---------------------------------------- (130) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) TOP(up(f(f(f(a))))) -> TOP(f_flat(down(f(f(a))))) TOP(up(f(f(f(g(x0)))))) -> TOP(f_flat(down(f(f(g(x0)))))) TOP(up(g(g(g(a))))) -> TOP(g_flat(down(g(g(a))))) TOP(up(f(f(f(f(a)))))) -> TOP(f_flat(down(f(f(f(a)))))) TOP(up(f(f(f(f(g(x0))))))) -> TOP(f_flat(down(f(f(f(g(x0))))))) TOP(up(g(g(g(g(a)))))) -> TOP(g_flat(down(g(g(g(a)))))) TOP(up(f(f(f(f(f(a))))))) -> TOP(f_flat(down(f(f(f(f(a))))))) TOP(up(f(f(f(f(f(g(x0)))))))) -> TOP(f_flat(down(f(f(f(f(g(x0)))))))) TOP(up(g(g(g(g(g(a))))))) -> TOP(g_flat(down(g(g(g(g(a))))))) The TRS R consists of the following rules: down(g(g(g(g(a))))) -> g_flat(down(g(g(g(a))))) g_flat(up(x_1)) -> up(g(x_1)) down(g(g(g(a)))) -> g_flat(down(g(g(a)))) down(g(g(a))) -> g_flat(down(g(a))) down(g(a)) -> g_flat(down(a)) down(a) -> up(f(a)) down(a) -> up(g(a)) down(f(f(f(f(g(y22)))))) -> f_flat(down(f(f(f(g(y22)))))) f_flat(up(x_1)) -> up(f(x_1)) down(f(f(f(g(y16))))) -> f_flat(down(f(f(g(y16))))) down(f(f(g(y10)))) -> f_flat(down(f(g(y10)))) down(f(g(y4))) -> f_flat(down(g(y4))) down(g(g(g(g(b))))) -> g_flat(down(g(g(g(b))))) down(g(g(g(b)))) -> g_flat(down(g(g(b)))) down(g(g(b))) -> g_flat(down(g(b))) down(g(g(g(g(f(y24)))))) -> g_flat(down(g(g(g(f(y24)))))) down(g(g(g(f(y18))))) -> g_flat(down(g(g(f(y18))))) down(g(g(f(y12)))) -> g_flat(down(g(f(y12)))) down(g(f(x))) -> up(b) down(g(g(g(g(fresh_constant))))) -> g_flat(down(g(g(g(fresh_constant))))) down(g(g(g(fresh_constant)))) -> g_flat(down(g(g(fresh_constant)))) down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) down(g(g(g(g(g(g(x))))))) -> up(b) down(g(g(g(g(g(a)))))) -> g_flat(down(g(g(g(g(a)))))) down(g(g(g(g(g(f(y30))))))) -> g_flat(down(g(g(g(g(f(y30))))))) down(g(g(g(g(g(b)))))) -> g_flat(down(g(g(g(g(b)))))) down(g(g(g(g(g(fresh_constant)))))) -> g_flat(down(g(g(g(g(fresh_constant)))))) down(f(f(f(f(a))))) -> f_flat(down(f(f(f(a))))) down(f(f(f(a)))) -> f_flat(down(f(f(a)))) down(f(f(a))) -> f_flat(down(f(a))) down(f(a)) -> f_flat(down(a)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (131) SemLabProof (SOUND) We found the following model for the rules of the TRSs R and P. Interpretation over the domain with elements from 0 to 1. a: 0 b: 0 down: 0 f: 0 fresh_constant: 1 up: 0 f_flat: 0 TOP: 0 g_flat: 0 g: x0 By semantic labelling [SEMLAB] we obtain the following labelled QDP problem. ---------------------------------------- (132) Obligation: Q DP problem: The TRS P consists of the following rules: TOP.0(up.0(f.0(g.0(x0)))) -> TOP.0(f_flat.0(down.0(g.0(x0)))) TOP.0(up.0(f.1(g.1(x0)))) -> TOP.0(f_flat.0(down.1(g.1(x0)))) TOP.0(up.0(f.0(f.0(a.)))) -> TOP.0(f_flat.0(down.0(f.0(a.)))) TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) TOP.0(up.0(f.0(f.1(g.1(x0))))) -> TOP.0(f_flat.0(down.0(f.1(g.1(x0))))) TOP.0(up.0(g.0(g.0(a.)))) -> TOP.0(g_flat.0(down.0(g.0(a.)))) TOP.0(up.0(f.0(f.0(f.0(a.))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(a.))))) TOP.0(up.0(f.0(f.0(f.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(g.0(x0)))))) TOP.0(up.0(f.0(f.0(f.1(g.1(x0)))))) -> TOP.0(f_flat.0(down.0(f.0(f.1(g.1(x0)))))) TOP.0(up.0(g.0(g.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(a.))))) TOP.0(up.0(f.0(f.0(f.0(f.0(a.)))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(a.)))))) TOP.0(up.0(f.0(f.0(f.0(f.0(g.0(x0))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(g.0(x0))))))) TOP.0(up.0(f.0(f.0(f.0(f.1(g.1(x0))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.1(g.1(x0))))))) TOP.0(up.0(g.0(g.0(g.0(g.0(a.)))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(g.0(a.)))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.0(a.))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.0(a.))))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.0(g.0(x0)))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.0(g.0(x0)))))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.1(g.1(x0)))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.1(g.1(x0)))))))) TOP.0(up.0(g.0(g.0(g.0(g.0(g.0(a.))))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(g.0(g.0(a.))))))) The TRS R consists of the following rules: down.0(g.0(g.0(g.0(g.0(a.))))) -> g_flat.0(down.0(g.0(g.0(g.0(a.))))) g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) g_flat.0(up.1(x_1)) -> up.1(g.1(x_1)) down.0(g.0(g.0(g.0(a.)))) -> g_flat.0(down.0(g.0(g.0(a.)))) down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) down.0(g.0(a.)) -> g_flat.0(down.0(a.)) down.0(a.) -> up.0(f.0(a.)) down.0(a.) -> up.0(g.0(a.)) down.0(f.0(f.0(f.0(f.0(g.0(y22)))))) -> f_flat.0(down.0(f.0(f.0(f.0(g.0(y22)))))) down.0(f.0(f.0(f.0(f.1(g.1(y22)))))) -> f_flat.0(down.0(f.0(f.0(f.1(g.1(y22)))))) f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) f_flat.0(up.1(x_1)) -> up.0(f.1(x_1)) down.0(f.0(f.0(f.0(g.0(y16))))) -> f_flat.0(down.0(f.0(f.0(g.0(y16))))) down.0(f.0(f.0(f.1(g.1(y16))))) -> f_flat.0(down.0(f.0(f.1(g.1(y16))))) down.0(f.0(f.0(g.0(y10)))) -> f_flat.0(down.0(f.0(g.0(y10)))) down.0(f.0(f.1(g.1(y10)))) -> f_flat.0(down.0(f.1(g.1(y10)))) down.0(f.0(g.0(y4))) -> f_flat.0(down.0(g.0(y4))) down.0(f.1(g.1(y4))) -> f_flat.0(down.1(g.1(y4))) down.0(g.0(g.0(g.0(g.0(b.))))) -> g_flat.0(down.0(g.0(g.0(g.0(b.))))) down.0(g.0(g.0(g.0(b.)))) -> g_flat.0(down.0(g.0(g.0(b.)))) down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) down.0(g.0(g.0(g.0(g.0(f.0(y24)))))) -> g_flat.0(down.0(g.0(g.0(g.0(f.0(y24)))))) down.0(g.0(g.0(g.0(g.0(f.1(y24)))))) -> g_flat.0(down.0(g.0(g.0(g.0(f.1(y24)))))) down.0(g.0(g.0(g.0(f.0(y18))))) -> g_flat.0(down.0(g.0(g.0(f.0(y18))))) down.0(g.0(g.0(g.0(f.1(y18))))) -> g_flat.0(down.0(g.0(g.0(f.1(y18))))) down.0(g.0(g.0(f.0(y12)))) -> g_flat.0(down.0(g.0(f.0(y12)))) down.0(g.0(g.0(f.1(y12)))) -> g_flat.0(down.0(g.0(f.1(y12)))) down.0(g.0(f.0(x))) -> up.0(b.) down.0(g.0(f.1(x))) -> up.0(b.) down.1(g.1(g.1(g.1(g.1(fresh_constant.))))) -> g_flat.0(down.1(g.1(g.1(g.1(fresh_constant.))))) down.1(g.1(g.1(g.1(fresh_constant.)))) -> g_flat.0(down.1(g.1(g.1(fresh_constant.)))) down.1(g.1(g.1(fresh_constant.))) -> g_flat.0(down.1(g.1(fresh_constant.))) down.0(g.0(g.0(g.0(g.0(g.0(g.0(x))))))) -> up.0(b.) down.1(g.1(g.1(g.1(g.1(g.1(g.1(x))))))) -> up.0(b.) down.0(g.0(g.0(g.0(g.0(g.0(a.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(a.)))))) down.0(g.0(g.0(g.0(g.0(g.0(f.0(y30))))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(f.0(y30))))))) down.0(g.0(g.0(g.0(g.0(g.0(f.1(y30))))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(f.1(y30))))))) down.0(g.0(g.0(g.0(g.0(g.0(b.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(b.)))))) down.1(g.1(g.1(g.1(g.1(g.1(fresh_constant.)))))) -> g_flat.0(down.1(g.1(g.1(g.1(g.1(fresh_constant.)))))) down.0(f.0(f.0(f.0(f.0(a.))))) -> f_flat.0(down.0(f.0(f.0(f.0(a.))))) down.0(f.0(f.0(f.0(a.)))) -> f_flat.0(down.0(f.0(f.0(a.)))) down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) down.0(f.0(a.)) -> f_flat.0(down.0(a.)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (133) MRRProof (EQUIVALENT) By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. Strictly oriented dependency pairs: TOP.0(up.0(f.1(g.1(x0)))) -> TOP.0(f_flat.0(down.1(g.1(x0)))) Strictly oriented rules of the TRS R: down.0(f.1(g.1(y4))) -> f_flat.0(down.1(g.1(y4))) down.0(g.0(f.1(x))) -> up.0(b.) Used ordering: Polynomial interpretation [POLO]: POL(TOP.0(x_1)) = x_1 POL(a.) = 0 POL(b.) = 0 POL(down.0(x_1)) = x_1 POL(down.1(x_1)) = x_1 POL(f.0(x_1)) = x_1 POL(f.1(x_1)) = 1 + x_1 POL(f_flat.0(x_1)) = x_1 POL(fresh_constant.) = 0 POL(g.0(x_1)) = x_1 POL(g.1(x_1)) = x_1 POL(g_flat.0(x_1)) = x_1 POL(up.0(x_1)) = x_1 POL(up.1(x_1)) = 1 + x_1 ---------------------------------------- (134) Obligation: Q DP problem: The TRS P consists of the following rules: TOP.0(up.0(f.0(g.0(x0)))) -> TOP.0(f_flat.0(down.0(g.0(x0)))) TOP.0(up.0(f.0(f.0(a.)))) -> TOP.0(f_flat.0(down.0(f.0(a.)))) TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) TOP.0(up.0(f.0(f.1(g.1(x0))))) -> TOP.0(f_flat.0(down.0(f.1(g.1(x0))))) TOP.0(up.0(g.0(g.0(a.)))) -> TOP.0(g_flat.0(down.0(g.0(a.)))) TOP.0(up.0(f.0(f.0(f.0(a.))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(a.))))) TOP.0(up.0(f.0(f.0(f.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(g.0(x0)))))) TOP.0(up.0(f.0(f.0(f.1(g.1(x0)))))) -> TOP.0(f_flat.0(down.0(f.0(f.1(g.1(x0)))))) TOP.0(up.0(g.0(g.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(a.))))) TOP.0(up.0(f.0(f.0(f.0(f.0(a.)))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(a.)))))) TOP.0(up.0(f.0(f.0(f.0(f.0(g.0(x0))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(g.0(x0))))))) TOP.0(up.0(f.0(f.0(f.0(f.1(g.1(x0))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.1(g.1(x0))))))) TOP.0(up.0(g.0(g.0(g.0(g.0(a.)))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(g.0(a.)))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.0(a.))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.0(a.))))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.0(g.0(x0)))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.0(g.0(x0)))))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.1(g.1(x0)))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.1(g.1(x0)))))))) TOP.0(up.0(g.0(g.0(g.0(g.0(g.0(a.))))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(g.0(g.0(a.))))))) The TRS R consists of the following rules: down.0(g.0(g.0(g.0(g.0(a.))))) -> g_flat.0(down.0(g.0(g.0(g.0(a.))))) g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) g_flat.0(up.1(x_1)) -> up.1(g.1(x_1)) down.0(g.0(g.0(g.0(a.)))) -> g_flat.0(down.0(g.0(g.0(a.)))) down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) down.0(g.0(a.)) -> g_flat.0(down.0(a.)) down.0(a.) -> up.0(f.0(a.)) down.0(a.) -> up.0(g.0(a.)) down.0(f.0(f.0(f.0(f.0(g.0(y22)))))) -> f_flat.0(down.0(f.0(f.0(f.0(g.0(y22)))))) down.0(f.0(f.0(f.0(f.1(g.1(y22)))))) -> f_flat.0(down.0(f.0(f.0(f.1(g.1(y22)))))) f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) f_flat.0(up.1(x_1)) -> up.0(f.1(x_1)) down.0(f.0(f.0(f.0(g.0(y16))))) -> f_flat.0(down.0(f.0(f.0(g.0(y16))))) down.0(f.0(f.0(f.1(g.1(y16))))) -> f_flat.0(down.0(f.0(f.1(g.1(y16))))) down.0(f.0(f.0(g.0(y10)))) -> f_flat.0(down.0(f.0(g.0(y10)))) down.0(f.0(f.1(g.1(y10)))) -> f_flat.0(down.0(f.1(g.1(y10)))) down.0(f.0(g.0(y4))) -> f_flat.0(down.0(g.0(y4))) down.0(g.0(g.0(g.0(g.0(b.))))) -> g_flat.0(down.0(g.0(g.0(g.0(b.))))) down.0(g.0(g.0(g.0(b.)))) -> g_flat.0(down.0(g.0(g.0(b.)))) down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) down.0(g.0(g.0(g.0(g.0(f.0(y24)))))) -> g_flat.0(down.0(g.0(g.0(g.0(f.0(y24)))))) down.0(g.0(g.0(g.0(g.0(f.1(y24)))))) -> g_flat.0(down.0(g.0(g.0(g.0(f.1(y24)))))) down.0(g.0(g.0(g.0(f.0(y18))))) -> g_flat.0(down.0(g.0(g.0(f.0(y18))))) down.0(g.0(g.0(g.0(f.1(y18))))) -> g_flat.0(down.0(g.0(g.0(f.1(y18))))) down.0(g.0(g.0(f.0(y12)))) -> g_flat.0(down.0(g.0(f.0(y12)))) down.0(g.0(g.0(f.1(y12)))) -> g_flat.0(down.0(g.0(f.1(y12)))) down.0(g.0(f.0(x))) -> up.0(b.) down.1(g.1(g.1(g.1(g.1(fresh_constant.))))) -> g_flat.0(down.1(g.1(g.1(g.1(fresh_constant.))))) down.1(g.1(g.1(g.1(fresh_constant.)))) -> g_flat.0(down.1(g.1(g.1(fresh_constant.)))) down.1(g.1(g.1(fresh_constant.))) -> g_flat.0(down.1(g.1(fresh_constant.))) down.0(g.0(g.0(g.0(g.0(g.0(g.0(x))))))) -> up.0(b.) down.1(g.1(g.1(g.1(g.1(g.1(g.1(x))))))) -> up.0(b.) down.0(g.0(g.0(g.0(g.0(g.0(a.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(a.)))))) down.0(g.0(g.0(g.0(g.0(g.0(f.0(y30))))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(f.0(y30))))))) down.0(g.0(g.0(g.0(g.0(g.0(f.1(y30))))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(f.1(y30))))))) down.0(g.0(g.0(g.0(g.0(g.0(b.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(b.)))))) down.1(g.1(g.1(g.1(g.1(g.1(fresh_constant.)))))) -> g_flat.0(down.1(g.1(g.1(g.1(g.1(fresh_constant.)))))) down.0(f.0(f.0(f.0(f.0(a.))))) -> f_flat.0(down.0(f.0(f.0(f.0(a.))))) down.0(f.0(f.0(f.0(a.)))) -> f_flat.0(down.0(f.0(f.0(a.)))) down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) down.0(f.0(a.)) -> f_flat.0(down.0(a.)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (135) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (136) Obligation: Q DP problem: The TRS P consists of the following rules: TOP.0(up.0(f.0(g.0(x0)))) -> TOP.0(f_flat.0(down.0(g.0(x0)))) TOP.0(up.0(f.0(f.0(a.)))) -> TOP.0(f_flat.0(down.0(f.0(a.)))) TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) TOP.0(up.0(g.0(g.0(a.)))) -> TOP.0(g_flat.0(down.0(g.0(a.)))) TOP.0(up.0(f.0(f.0(f.0(a.))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(a.))))) TOP.0(up.0(f.0(f.0(f.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(g.0(x0)))))) TOP.0(up.0(f.0(f.0(f.1(g.1(x0)))))) -> TOP.0(f_flat.0(down.0(f.0(f.1(g.1(x0)))))) TOP.0(up.0(g.0(g.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(a.))))) TOP.0(up.0(f.0(f.0(f.0(f.0(a.)))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(a.)))))) TOP.0(up.0(f.0(f.0(f.0(f.0(g.0(x0))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(g.0(x0))))))) TOP.0(up.0(f.0(f.0(f.0(f.1(g.1(x0))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.1(g.1(x0))))))) TOP.0(up.0(g.0(g.0(g.0(g.0(a.)))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(g.0(a.)))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.0(a.))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.0(a.))))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.0(g.0(x0)))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.0(g.0(x0)))))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.1(g.1(x0)))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.1(g.1(x0)))))))) TOP.0(up.0(g.0(g.0(g.0(g.0(g.0(a.))))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(g.0(g.0(a.))))))) The TRS R consists of the following rules: down.0(g.0(g.0(g.0(g.0(a.))))) -> g_flat.0(down.0(g.0(g.0(g.0(a.))))) g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) g_flat.0(up.1(x_1)) -> up.1(g.1(x_1)) down.0(g.0(g.0(g.0(a.)))) -> g_flat.0(down.0(g.0(g.0(a.)))) down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) down.0(g.0(a.)) -> g_flat.0(down.0(a.)) down.0(a.) -> up.0(f.0(a.)) down.0(a.) -> up.0(g.0(a.)) down.0(f.0(f.0(f.0(f.0(g.0(y22)))))) -> f_flat.0(down.0(f.0(f.0(f.0(g.0(y22)))))) down.0(f.0(f.0(f.0(f.1(g.1(y22)))))) -> f_flat.0(down.0(f.0(f.0(f.1(g.1(y22)))))) f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) f_flat.0(up.1(x_1)) -> up.0(f.1(x_1)) down.0(f.0(f.0(f.0(g.0(y16))))) -> f_flat.0(down.0(f.0(f.0(g.0(y16))))) down.0(f.0(f.0(f.1(g.1(y16))))) -> f_flat.0(down.0(f.0(f.1(g.1(y16))))) down.0(f.0(f.0(g.0(y10)))) -> f_flat.0(down.0(f.0(g.0(y10)))) down.0(f.0(f.1(g.1(y10)))) -> f_flat.0(down.0(f.1(g.1(y10)))) down.0(f.0(g.0(y4))) -> f_flat.0(down.0(g.0(y4))) down.0(g.0(g.0(g.0(g.0(b.))))) -> g_flat.0(down.0(g.0(g.0(g.0(b.))))) down.0(g.0(g.0(g.0(b.)))) -> g_flat.0(down.0(g.0(g.0(b.)))) down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) down.0(g.0(g.0(g.0(g.0(f.0(y24)))))) -> g_flat.0(down.0(g.0(g.0(g.0(f.0(y24)))))) down.0(g.0(g.0(g.0(g.0(f.1(y24)))))) -> g_flat.0(down.0(g.0(g.0(g.0(f.1(y24)))))) down.0(g.0(g.0(g.0(f.0(y18))))) -> g_flat.0(down.0(g.0(g.0(f.0(y18))))) down.0(g.0(g.0(g.0(f.1(y18))))) -> g_flat.0(down.0(g.0(g.0(f.1(y18))))) down.0(g.0(g.0(f.0(y12)))) -> g_flat.0(down.0(g.0(f.0(y12)))) down.0(g.0(g.0(f.1(y12)))) -> g_flat.0(down.0(g.0(f.1(y12)))) down.0(g.0(f.0(x))) -> up.0(b.) down.1(g.1(g.1(g.1(g.1(fresh_constant.))))) -> g_flat.0(down.1(g.1(g.1(g.1(fresh_constant.))))) down.1(g.1(g.1(g.1(fresh_constant.)))) -> g_flat.0(down.1(g.1(g.1(fresh_constant.)))) down.1(g.1(g.1(fresh_constant.))) -> g_flat.0(down.1(g.1(fresh_constant.))) down.0(g.0(g.0(g.0(g.0(g.0(g.0(x))))))) -> up.0(b.) down.1(g.1(g.1(g.1(g.1(g.1(g.1(x))))))) -> up.0(b.) down.0(g.0(g.0(g.0(g.0(g.0(a.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(a.)))))) down.0(g.0(g.0(g.0(g.0(g.0(f.0(y30))))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(f.0(y30))))))) down.0(g.0(g.0(g.0(g.0(g.0(f.1(y30))))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(f.1(y30))))))) down.0(g.0(g.0(g.0(g.0(g.0(b.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(b.)))))) down.1(g.1(g.1(g.1(g.1(g.1(fresh_constant.)))))) -> g_flat.0(down.1(g.1(g.1(g.1(g.1(fresh_constant.)))))) down.0(f.0(f.0(f.0(f.0(a.))))) -> f_flat.0(down.0(f.0(f.0(f.0(a.))))) down.0(f.0(f.0(f.0(a.)))) -> f_flat.0(down.0(f.0(f.0(a.)))) down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) down.0(f.0(a.)) -> f_flat.0(down.0(a.)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (137) 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. No dependency pairs are removed. The following rules are removed from R: down.1(g.1(g.1(g.1(g.1(fresh_constant.))))) -> g_flat.0(down.1(g.1(g.1(g.1(fresh_constant.))))) down.1(g.1(g.1(g.1(fresh_constant.)))) -> g_flat.0(down.1(g.1(g.1(fresh_constant.)))) down.1(g.1(g.1(fresh_constant.))) -> g_flat.0(down.1(g.1(fresh_constant.))) down.1(g.1(g.1(g.1(g.1(g.1(g.1(x))))))) -> up.0(b.) down.1(g.1(g.1(g.1(g.1(g.1(fresh_constant.)))))) -> g_flat.0(down.1(g.1(g.1(g.1(g.1(fresh_constant.)))))) Used ordering: POLO with Polynomial interpretation [POLO]: POL(TOP.0(x_1)) = x_1 POL(a.) = 0 POL(b.) = 0 POL(down.0(x_1)) = 1 + x_1 POL(f.0(x_1)) = x_1 POL(f.1(x_1)) = x_1 POL(f_flat.0(x_1)) = x_1 POL(g.0(x_1)) = x_1 POL(g.1(x_1)) = x_1 POL(g_flat.0(x_1)) = x_1 POL(up.0(x_1)) = 1 + x_1 POL(up.1(x_1)) = 1 + x_1 ---------------------------------------- (138) Obligation: Q DP problem: The TRS P consists of the following rules: TOP.0(up.0(f.0(g.0(x0)))) -> TOP.0(f_flat.0(down.0(g.0(x0)))) TOP.0(up.0(f.0(f.0(a.)))) -> TOP.0(f_flat.0(down.0(f.0(a.)))) TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) TOP.0(up.0(g.0(g.0(a.)))) -> TOP.0(g_flat.0(down.0(g.0(a.)))) TOP.0(up.0(f.0(f.0(f.0(a.))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(a.))))) TOP.0(up.0(f.0(f.0(f.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(g.0(x0)))))) TOP.0(up.0(f.0(f.0(f.1(g.1(x0)))))) -> TOP.0(f_flat.0(down.0(f.0(f.1(g.1(x0)))))) TOP.0(up.0(g.0(g.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(a.))))) TOP.0(up.0(f.0(f.0(f.0(f.0(a.)))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(a.)))))) TOP.0(up.0(f.0(f.0(f.0(f.0(g.0(x0))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(g.0(x0))))))) TOP.0(up.0(f.0(f.0(f.0(f.1(g.1(x0))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.1(g.1(x0))))))) TOP.0(up.0(g.0(g.0(g.0(g.0(a.)))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(g.0(a.)))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.0(a.))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.0(a.))))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.0(g.0(x0)))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.0(g.0(x0)))))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.1(g.1(x0)))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.1(g.1(x0)))))))) TOP.0(up.0(g.0(g.0(g.0(g.0(g.0(a.))))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(g.0(g.0(a.))))))) The TRS R consists of the following rules: down.0(g.0(g.0(g.0(g.0(a.))))) -> g_flat.0(down.0(g.0(g.0(g.0(a.))))) g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) g_flat.0(up.1(x_1)) -> up.1(g.1(x_1)) down.0(g.0(g.0(g.0(a.)))) -> g_flat.0(down.0(g.0(g.0(a.)))) down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) down.0(g.0(a.)) -> g_flat.0(down.0(a.)) down.0(a.) -> up.0(f.0(a.)) down.0(a.) -> up.0(g.0(a.)) down.0(f.0(f.0(f.0(f.1(g.1(y22)))))) -> f_flat.0(down.0(f.0(f.0(f.1(g.1(y22)))))) f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) f_flat.0(up.1(x_1)) -> up.0(f.1(x_1)) down.0(f.0(f.0(f.1(g.1(y16))))) -> f_flat.0(down.0(f.0(f.1(g.1(y16))))) down.0(f.0(f.1(g.1(y10)))) -> f_flat.0(down.0(f.1(g.1(y10)))) down.0(f.0(f.0(f.0(f.0(g.0(y22)))))) -> f_flat.0(down.0(f.0(f.0(f.0(g.0(y22)))))) down.0(f.0(f.0(f.0(g.0(y16))))) -> f_flat.0(down.0(f.0(f.0(g.0(y16))))) down.0(f.0(f.0(g.0(y10)))) -> f_flat.0(down.0(f.0(g.0(y10)))) down.0(f.0(g.0(y4))) -> f_flat.0(down.0(g.0(y4))) down.0(g.0(g.0(g.0(g.0(b.))))) -> g_flat.0(down.0(g.0(g.0(g.0(b.))))) down.0(g.0(g.0(g.0(b.)))) -> g_flat.0(down.0(g.0(g.0(b.)))) down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) down.0(g.0(g.0(g.0(g.0(f.0(y24)))))) -> g_flat.0(down.0(g.0(g.0(g.0(f.0(y24)))))) down.0(g.0(g.0(g.0(g.0(f.1(y24)))))) -> g_flat.0(down.0(g.0(g.0(g.0(f.1(y24)))))) down.0(g.0(g.0(g.0(f.0(y18))))) -> g_flat.0(down.0(g.0(g.0(f.0(y18))))) down.0(g.0(g.0(g.0(f.1(y18))))) -> g_flat.0(down.0(g.0(g.0(f.1(y18))))) down.0(g.0(g.0(f.0(y12)))) -> g_flat.0(down.0(g.0(f.0(y12)))) down.0(g.0(g.0(f.1(y12)))) -> g_flat.0(down.0(g.0(f.1(y12)))) down.0(g.0(f.0(x))) -> up.0(b.) down.0(g.0(g.0(g.0(g.0(g.0(g.0(x))))))) -> up.0(b.) down.0(g.0(g.0(g.0(g.0(g.0(a.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(a.)))))) down.0(g.0(g.0(g.0(g.0(g.0(f.0(y30))))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(f.0(y30))))))) down.0(g.0(g.0(g.0(g.0(g.0(f.1(y30))))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(f.1(y30))))))) down.0(g.0(g.0(g.0(g.0(g.0(b.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(b.)))))) down.0(f.0(f.0(f.0(f.0(a.))))) -> f_flat.0(down.0(f.0(f.0(f.0(a.))))) down.0(f.0(f.0(f.0(a.)))) -> f_flat.0(down.0(f.0(f.0(a.)))) down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) down.0(f.0(a.)) -> f_flat.0(down.0(a.)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (139) MRRProof (EQUIVALENT) By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. Strictly oriented rules of the TRS R: f_flat.0(up.1(x_1)) -> up.0(f.1(x_1)) Used ordering: Polynomial interpretation [POLO]: POL(TOP.0(x_1)) = x_1 POL(a.) = 0 POL(b.) = 0 POL(down.0(x_1)) = x_1 POL(f.0(x_1)) = x_1 POL(f.1(x_1)) = x_1 POL(f_flat.0(x_1)) = x_1 POL(g.0(x_1)) = x_1 POL(g.1(x_1)) = x_1 POL(g_flat.0(x_1)) = x_1 POL(up.0(x_1)) = x_1 POL(up.1(x_1)) = 1 + x_1 ---------------------------------------- (140) Obligation: Q DP problem: The TRS P consists of the following rules: TOP.0(up.0(f.0(g.0(x0)))) -> TOP.0(f_flat.0(down.0(g.0(x0)))) TOP.0(up.0(f.0(f.0(a.)))) -> TOP.0(f_flat.0(down.0(f.0(a.)))) TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) TOP.0(up.0(g.0(g.0(a.)))) -> TOP.0(g_flat.0(down.0(g.0(a.)))) TOP.0(up.0(f.0(f.0(f.0(a.))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(a.))))) TOP.0(up.0(f.0(f.0(f.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(g.0(x0)))))) TOP.0(up.0(f.0(f.0(f.1(g.1(x0)))))) -> TOP.0(f_flat.0(down.0(f.0(f.1(g.1(x0)))))) TOP.0(up.0(g.0(g.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(a.))))) TOP.0(up.0(f.0(f.0(f.0(f.0(a.)))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(a.)))))) TOP.0(up.0(f.0(f.0(f.0(f.0(g.0(x0))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(g.0(x0))))))) TOP.0(up.0(f.0(f.0(f.0(f.1(g.1(x0))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.1(g.1(x0))))))) TOP.0(up.0(g.0(g.0(g.0(g.0(a.)))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(g.0(a.)))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.0(a.))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.0(a.))))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.0(g.0(x0)))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.0(g.0(x0)))))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.1(g.1(x0)))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.1(g.1(x0)))))))) TOP.0(up.0(g.0(g.0(g.0(g.0(g.0(a.))))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(g.0(g.0(a.))))))) The TRS R consists of the following rules: down.0(g.0(g.0(g.0(g.0(a.))))) -> g_flat.0(down.0(g.0(g.0(g.0(a.))))) g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) g_flat.0(up.1(x_1)) -> up.1(g.1(x_1)) down.0(g.0(g.0(g.0(a.)))) -> g_flat.0(down.0(g.0(g.0(a.)))) down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) down.0(g.0(a.)) -> g_flat.0(down.0(a.)) down.0(a.) -> up.0(f.0(a.)) down.0(a.) -> up.0(g.0(a.)) down.0(f.0(f.0(f.0(f.1(g.1(y22)))))) -> f_flat.0(down.0(f.0(f.0(f.1(g.1(y22)))))) f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) down.0(f.0(f.0(f.1(g.1(y16))))) -> f_flat.0(down.0(f.0(f.1(g.1(y16))))) down.0(f.0(f.1(g.1(y10)))) -> f_flat.0(down.0(f.1(g.1(y10)))) down.0(f.0(f.0(f.0(f.0(g.0(y22)))))) -> f_flat.0(down.0(f.0(f.0(f.0(g.0(y22)))))) down.0(f.0(f.0(f.0(g.0(y16))))) -> f_flat.0(down.0(f.0(f.0(g.0(y16))))) down.0(f.0(f.0(g.0(y10)))) -> f_flat.0(down.0(f.0(g.0(y10)))) down.0(f.0(g.0(y4))) -> f_flat.0(down.0(g.0(y4))) down.0(g.0(g.0(g.0(g.0(b.))))) -> g_flat.0(down.0(g.0(g.0(g.0(b.))))) down.0(g.0(g.0(g.0(b.)))) -> g_flat.0(down.0(g.0(g.0(b.)))) down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) down.0(g.0(g.0(g.0(g.0(f.0(y24)))))) -> g_flat.0(down.0(g.0(g.0(g.0(f.0(y24)))))) down.0(g.0(g.0(g.0(g.0(f.1(y24)))))) -> g_flat.0(down.0(g.0(g.0(g.0(f.1(y24)))))) down.0(g.0(g.0(g.0(f.0(y18))))) -> g_flat.0(down.0(g.0(g.0(f.0(y18))))) down.0(g.0(g.0(g.0(f.1(y18))))) -> g_flat.0(down.0(g.0(g.0(f.1(y18))))) down.0(g.0(g.0(f.0(y12)))) -> g_flat.0(down.0(g.0(f.0(y12)))) down.0(g.0(g.0(f.1(y12)))) -> g_flat.0(down.0(g.0(f.1(y12)))) down.0(g.0(f.0(x))) -> up.0(b.) down.0(g.0(g.0(g.0(g.0(g.0(g.0(x))))))) -> up.0(b.) down.0(g.0(g.0(g.0(g.0(g.0(a.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(a.)))))) down.0(g.0(g.0(g.0(g.0(g.0(f.0(y30))))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(f.0(y30))))))) down.0(g.0(g.0(g.0(g.0(g.0(f.1(y30))))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(f.1(y30))))))) down.0(g.0(g.0(g.0(g.0(g.0(b.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(b.)))))) down.0(f.0(f.0(f.0(f.0(a.))))) -> f_flat.0(down.0(f.0(f.0(f.0(a.))))) down.0(f.0(f.0(f.0(a.)))) -> f_flat.0(down.0(f.0(f.0(a.)))) down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) down.0(f.0(a.)) -> f_flat.0(down.0(a.)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (141) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. TOP.0(up.0(f.0(f.0(f.1(g.1(x0)))))) -> TOP.0(f_flat.0(down.0(f.0(f.1(g.1(x0)))))) TOP.0(up.0(f.0(f.0(f.0(f.1(g.1(x0))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.1(g.1(x0))))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.1(g.1(x0)))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.1(g.1(x0)))))))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(TOP.0(x_1)) = x_1 POL(a.) = 1 POL(b.) = 0 POL(down.0(x_1)) = x_1 POL(f.0(x_1)) = x_1 POL(f.1(x_1)) = 0 POL(f_flat.0(x_1)) = x_1 POL(g.0(x_1)) = 1 POL(g.1(x_1)) = x_1 POL(g_flat.0(x_1)) = 1 POL(up.0(x_1)) = 1 POL(up.1(x_1)) = 1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: down.0(g.0(g.0(g.0(g.0(a.))))) -> g_flat.0(down.0(g.0(g.0(g.0(a.))))) down.0(g.0(g.0(g.0(a.)))) -> g_flat.0(down.0(g.0(g.0(a.)))) down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) down.0(g.0(a.)) -> g_flat.0(down.0(a.)) down.0(g.0(g.0(g.0(g.0(b.))))) -> g_flat.0(down.0(g.0(g.0(g.0(b.))))) down.0(g.0(g.0(g.0(b.)))) -> g_flat.0(down.0(g.0(g.0(b.)))) down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) down.0(g.0(g.0(g.0(g.0(f.0(y24)))))) -> g_flat.0(down.0(g.0(g.0(g.0(f.0(y24)))))) down.0(g.0(g.0(g.0(g.0(f.1(y24)))))) -> g_flat.0(down.0(g.0(g.0(g.0(f.1(y24)))))) down.0(g.0(g.0(g.0(f.0(y18))))) -> g_flat.0(down.0(g.0(g.0(f.0(y18))))) down.0(g.0(g.0(g.0(f.1(y18))))) -> g_flat.0(down.0(g.0(g.0(f.1(y18))))) down.0(g.0(g.0(f.0(y12)))) -> g_flat.0(down.0(g.0(f.0(y12)))) down.0(g.0(g.0(f.1(y12)))) -> g_flat.0(down.0(g.0(f.1(y12)))) down.0(g.0(f.0(x))) -> up.0(b.) down.0(g.0(g.0(g.0(g.0(g.0(g.0(x))))))) -> up.0(b.) down.0(g.0(g.0(g.0(g.0(g.0(a.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(a.)))))) down.0(g.0(g.0(g.0(g.0(g.0(f.0(y30))))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(f.0(y30))))))) down.0(g.0(g.0(g.0(g.0(g.0(f.1(y30))))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(f.1(y30))))))) down.0(g.0(g.0(g.0(g.0(g.0(b.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(b.)))))) f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) down.0(f.0(a.)) -> f_flat.0(down.0(a.)) down.0(f.0(g.0(y4))) -> f_flat.0(down.0(g.0(y4))) g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) g_flat.0(up.1(x_1)) -> up.1(g.1(x_1)) down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) down.0(f.0(f.0(g.0(y10)))) -> f_flat.0(down.0(f.0(g.0(y10)))) down.0(f.0(f.1(g.1(y10)))) -> f_flat.0(down.0(f.1(g.1(y10)))) down.0(f.0(f.0(f.0(a.)))) -> f_flat.0(down.0(f.0(f.0(a.)))) down.0(f.0(f.0(f.0(g.0(y16))))) -> f_flat.0(down.0(f.0(f.0(g.0(y16))))) down.0(f.0(f.0(f.1(g.1(y16))))) -> f_flat.0(down.0(f.0(f.1(g.1(y16))))) down.0(f.0(f.0(f.0(f.0(a.))))) -> f_flat.0(down.0(f.0(f.0(f.0(a.))))) down.0(f.0(f.0(f.0(f.0(g.0(y22)))))) -> f_flat.0(down.0(f.0(f.0(f.0(g.0(y22)))))) down.0(f.0(f.0(f.0(f.1(g.1(y22)))))) -> f_flat.0(down.0(f.0(f.0(f.1(g.1(y22)))))) down.0(a.) -> up.0(f.0(a.)) down.0(a.) -> up.0(g.0(a.)) ---------------------------------------- (142) Obligation: Q DP problem: The TRS P consists of the following rules: TOP.0(up.0(f.0(g.0(x0)))) -> TOP.0(f_flat.0(down.0(g.0(x0)))) TOP.0(up.0(f.0(f.0(a.)))) -> TOP.0(f_flat.0(down.0(f.0(a.)))) TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) TOP.0(up.0(g.0(g.0(a.)))) -> TOP.0(g_flat.0(down.0(g.0(a.)))) TOP.0(up.0(f.0(f.0(f.0(a.))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(a.))))) TOP.0(up.0(f.0(f.0(f.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(g.0(x0)))))) TOP.0(up.0(g.0(g.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(a.))))) TOP.0(up.0(f.0(f.0(f.0(f.0(a.)))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(a.)))))) TOP.0(up.0(f.0(f.0(f.0(f.0(g.0(x0))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(g.0(x0))))))) TOP.0(up.0(g.0(g.0(g.0(g.0(a.)))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(g.0(a.)))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.0(a.))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.0(a.))))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.0(g.0(x0)))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.0(g.0(x0)))))))) TOP.0(up.0(g.0(g.0(g.0(g.0(g.0(a.))))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(g.0(g.0(a.))))))) The TRS R consists of the following rules: down.0(g.0(g.0(g.0(g.0(a.))))) -> g_flat.0(down.0(g.0(g.0(g.0(a.))))) g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) g_flat.0(up.1(x_1)) -> up.1(g.1(x_1)) down.0(g.0(g.0(g.0(a.)))) -> g_flat.0(down.0(g.0(g.0(a.)))) down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) down.0(g.0(a.)) -> g_flat.0(down.0(a.)) down.0(a.) -> up.0(f.0(a.)) down.0(a.) -> up.0(g.0(a.)) down.0(f.0(f.0(f.0(f.1(g.1(y22)))))) -> f_flat.0(down.0(f.0(f.0(f.1(g.1(y22)))))) f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) down.0(f.0(f.0(f.1(g.1(y16))))) -> f_flat.0(down.0(f.0(f.1(g.1(y16))))) down.0(f.0(f.1(g.1(y10)))) -> f_flat.0(down.0(f.1(g.1(y10)))) down.0(f.0(f.0(f.0(f.0(g.0(y22)))))) -> f_flat.0(down.0(f.0(f.0(f.0(g.0(y22)))))) down.0(f.0(f.0(f.0(g.0(y16))))) -> f_flat.0(down.0(f.0(f.0(g.0(y16))))) down.0(f.0(f.0(g.0(y10)))) -> f_flat.0(down.0(f.0(g.0(y10)))) down.0(f.0(g.0(y4))) -> f_flat.0(down.0(g.0(y4))) down.0(g.0(g.0(g.0(g.0(b.))))) -> g_flat.0(down.0(g.0(g.0(g.0(b.))))) down.0(g.0(g.0(g.0(b.)))) -> g_flat.0(down.0(g.0(g.0(b.)))) down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) down.0(g.0(g.0(g.0(g.0(f.0(y24)))))) -> g_flat.0(down.0(g.0(g.0(g.0(f.0(y24)))))) down.0(g.0(g.0(g.0(g.0(f.1(y24)))))) -> g_flat.0(down.0(g.0(g.0(g.0(f.1(y24)))))) down.0(g.0(g.0(g.0(f.0(y18))))) -> g_flat.0(down.0(g.0(g.0(f.0(y18))))) down.0(g.0(g.0(g.0(f.1(y18))))) -> g_flat.0(down.0(g.0(g.0(f.1(y18))))) down.0(g.0(g.0(f.0(y12)))) -> g_flat.0(down.0(g.0(f.0(y12)))) down.0(g.0(g.0(f.1(y12)))) -> g_flat.0(down.0(g.0(f.1(y12)))) down.0(g.0(f.0(x))) -> up.0(b.) down.0(g.0(g.0(g.0(g.0(g.0(g.0(x))))))) -> up.0(b.) down.0(g.0(g.0(g.0(g.0(g.0(a.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(a.)))))) down.0(g.0(g.0(g.0(g.0(g.0(f.0(y30))))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(f.0(y30))))))) down.0(g.0(g.0(g.0(g.0(g.0(f.1(y30))))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(f.1(y30))))))) down.0(g.0(g.0(g.0(g.0(g.0(b.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(b.)))))) down.0(f.0(f.0(f.0(f.0(a.))))) -> f_flat.0(down.0(f.0(f.0(f.0(a.))))) down.0(f.0(f.0(f.0(a.)))) -> f_flat.0(down.0(f.0(f.0(a.)))) down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) down.0(f.0(a.)) -> f_flat.0(down.0(a.)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (143) 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. No dependency pairs are removed. The following rules are removed from R: down.0(f.0(f.0(f.0(f.1(g.1(y22)))))) -> f_flat.0(down.0(f.0(f.0(f.1(g.1(y22)))))) down.0(f.0(f.0(f.1(g.1(y16))))) -> f_flat.0(down.0(f.0(f.1(g.1(y16))))) down.0(f.0(f.1(g.1(y10)))) -> f_flat.0(down.0(f.1(g.1(y10)))) Used ordering: POLO with Polynomial interpretation [POLO]: POL(TOP.0(x_1)) = x_1 POL(a.) = 0 POL(b.) = 0 POL(down.0(x_1)) = 1 + x_1 POL(f.0(x_1)) = x_1 POL(f.1(x_1)) = x_1 POL(f_flat.0(x_1)) = x_1 POL(g.0(x_1)) = x_1 POL(g.1(x_1)) = x_1 POL(g_flat.0(x_1)) = x_1 POL(up.0(x_1)) = 1 + x_1 POL(up.1(x_1)) = x_1 ---------------------------------------- (144) Obligation: Q DP problem: The TRS P consists of the following rules: TOP.0(up.0(f.0(g.0(x0)))) -> TOP.0(f_flat.0(down.0(g.0(x0)))) TOP.0(up.0(f.0(f.0(a.)))) -> TOP.0(f_flat.0(down.0(f.0(a.)))) TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) TOP.0(up.0(g.0(g.0(a.)))) -> TOP.0(g_flat.0(down.0(g.0(a.)))) TOP.0(up.0(f.0(f.0(f.0(a.))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(a.))))) TOP.0(up.0(f.0(f.0(f.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(g.0(x0)))))) TOP.0(up.0(g.0(g.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(a.))))) TOP.0(up.0(f.0(f.0(f.0(f.0(a.)))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(a.)))))) TOP.0(up.0(f.0(f.0(f.0(f.0(g.0(x0))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(g.0(x0))))))) TOP.0(up.0(g.0(g.0(g.0(g.0(a.)))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(g.0(a.)))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.0(a.))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.0(a.))))))) TOP.0(up.0(f.0(f.0(f.0(f.0(f.0(g.0(x0)))))))) -> TOP.0(f_flat.0(down.0(f.0(f.0(f.0(f.0(g.0(x0)))))))) TOP.0(up.0(g.0(g.0(g.0(g.0(g.0(a.))))))) -> TOP.0(g_flat.0(down.0(g.0(g.0(g.0(g.0(a.))))))) The TRS R consists of the following rules: down.0(g.0(g.0(g.0(g.0(a.))))) -> g_flat.0(down.0(g.0(g.0(g.0(a.))))) g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) g_flat.0(up.1(x_1)) -> up.1(g.1(x_1)) down.0(g.0(g.0(g.0(a.)))) -> g_flat.0(down.0(g.0(g.0(a.)))) down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) down.0(g.0(a.)) -> g_flat.0(down.0(a.)) down.0(a.) -> up.0(f.0(a.)) down.0(a.) -> up.0(g.0(a.)) down.0(f.0(f.0(f.0(f.0(g.0(y22)))))) -> f_flat.0(down.0(f.0(f.0(f.0(g.0(y22)))))) f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) down.0(f.0(f.0(f.0(g.0(y16))))) -> f_flat.0(down.0(f.0(f.0(g.0(y16))))) down.0(f.0(f.0(g.0(y10)))) -> f_flat.0(down.0(f.0(g.0(y10)))) down.0(f.0(g.0(y4))) -> f_flat.0(down.0(g.0(y4))) down.0(g.0(g.0(g.0(g.0(b.))))) -> g_flat.0(down.0(g.0(g.0(g.0(b.))))) down.0(g.0(g.0(g.0(b.)))) -> g_flat.0(down.0(g.0(g.0(b.)))) down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) down.0(g.0(g.0(g.0(g.0(f.0(y24)))))) -> g_flat.0(down.0(g.0(g.0(g.0(f.0(y24)))))) down.0(g.0(g.0(g.0(g.0(f.1(y24)))))) -> g_flat.0(down.0(g.0(g.0(g.0(f.1(y24)))))) down.0(g.0(g.0(g.0(f.0(y18))))) -> g_flat.0(down.0(g.0(g.0(f.0(y18))))) down.0(g.0(g.0(g.0(f.1(y18))))) -> g_flat.0(down.0(g.0(g.0(f.1(y18))))) down.0(g.0(g.0(f.0(y12)))) -> g_flat.0(down.0(g.0(f.0(y12)))) down.0(g.0(g.0(f.1(y12)))) -> g_flat.0(down.0(g.0(f.1(y12)))) down.0(g.0(f.0(x))) -> up.0(b.) down.0(g.0(g.0(g.0(g.0(g.0(g.0(x))))))) -> up.0(b.) down.0(g.0(g.0(g.0(g.0(g.0(a.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(a.)))))) down.0(g.0(g.0(g.0(g.0(g.0(f.0(y30))))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(f.0(y30))))))) down.0(g.0(g.0(g.0(g.0(g.0(f.1(y30))))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(f.1(y30))))))) down.0(g.0(g.0(g.0(g.0(g.0(b.)))))) -> g_flat.0(down.0(g.0(g.0(g.0(g.0(b.)))))) down.0(f.0(f.0(f.0(f.0(a.))))) -> f_flat.0(down.0(f.0(f.0(f.0(a.))))) down.0(f.0(f.0(f.0(a.)))) -> f_flat.0(down.0(f.0(f.0(a.)))) down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) down.0(f.0(a.)) -> f_flat.0(down.0(a.)) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (145) PisEmptyProof (SOUND) The TRS P is empty. Hence, there is no (P,Q,R) chain. ---------------------------------------- (146) TRUE ---------------------------------------- (147) Obligation: Q DP problem: The TRS P consists of the following rules: TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) TOP(up(f(f(f(a))))) -> TOP(f_flat(down(f(f(a))))) TOP(up(f(f(f(g(x0)))))) -> TOP(f_flat(down(f(f(g(x0)))))) TOP(up(g(g(g(a))))) -> TOP(g_flat(down(g(g(a))))) TOP(up(f(f(f(f(a)))))) -> TOP(f_flat(down(f(f(f(a)))))) TOP(up(f(f(f(f(g(x0))))))) -> TOP(f_flat(down(f(f(f(g(x0))))))) TOP(up(g(g(g(g(a)))))) -> TOP(g_flat(down(g(g(g(a)))))) TOP(up(f(f(f(f(f(a))))))) -> TOP(f_flat(down(f(f(f(f(a))))))) TOP(up(f(f(f(f(f(g(x0)))))))) -> TOP(f_flat(down(f(f(f(f(g(x0)))))))) TOP(up(g(g(g(g(g(a))))))) -> TOP(g_flat(down(g(g(g(g(a))))))) The TRS R consists of the following rules: down(g(g(g(g(a))))) -> g_flat(down(g(g(g(a))))) g_flat(up(x_1)) -> up(g(x_1)) down(g(g(g(a)))) -> g_flat(down(g(g(a)))) down(g(g(a))) -> g_flat(down(g(a))) down(g(a)) -> g_flat(down(a)) down(a) -> up(f(a)) down(a) -> up(g(a)) down(f(f(f(f(g(y22)))))) -> f_flat(down(f(f(f(g(y22)))))) f_flat(up(x_1)) -> up(f(x_1)) down(f(f(f(g(y16))))) -> f_flat(down(f(f(g(y16))))) down(f(f(g(y10)))) -> f_flat(down(f(g(y10)))) down(f(g(y4))) -> f_flat(down(g(y4))) down(g(g(g(g(b))))) -> g_flat(down(g(g(g(b))))) down(g(g(g(b)))) -> g_flat(down(g(g(b)))) down(g(g(b))) -> g_flat(down(g(b))) down(g(g(g(g(f(y24)))))) -> g_flat(down(g(g(g(f(y24)))))) down(g(g(g(f(y18))))) -> g_flat(down(g(g(f(y18))))) down(g(g(f(y12)))) -> g_flat(down(g(f(y12)))) down(g(f(x))) -> up(b) down(g(g(g(g(g(g(x))))))) -> up(b) down(g(g(g(g(g(a)))))) -> g_flat(down(g(g(g(g(a)))))) down(g(g(g(g(g(f(y30))))))) -> g_flat(down(g(g(g(g(f(y30))))))) down(g(g(g(g(g(b)))))) -> g_flat(down(g(g(g(g(b)))))) down(f(f(f(f(a))))) -> f_flat(down(f(f(f(a))))) down(f(f(f(a)))) -> f_flat(down(f(f(a)))) down(f(f(a))) -> f_flat(down(f(a))) down(f(a)) -> f_flat(down(a)) Q is empty. We have to consider all minimal (P,Q,R)-chains.