395.04/246.26 MAYBE 395.04/246.28 proof of /export/starexec/sandbox/benchmark/theBenchmark.xml 395.04/246.28 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 395.04/246.28 395.04/246.28 395.04/246.28 Outermost Termination of the given OTRS could not be shown: 395.04/246.28 395.04/246.28 (0) OTRS 395.04/246.28 (1) Thiemann-SpecialC-Transformation [EQUIVALENT, 0 ms] 395.04/246.28 (2) QTRS 395.04/246.28 (3) DependencyPairsProof [EQUIVALENT, 3 ms] 395.04/246.28 (4) QDP 395.04/246.28 (5) DependencyGraphProof [EQUIVALENT, 0 ms] 395.04/246.28 (6) AND 395.04/246.28 (7) QDP 395.04/246.28 (8) UsableRulesProof [EQUIVALENT, 0 ms] 395.04/246.28 (9) QDP 395.04/246.28 (10) QReductionProof [EQUIVALENT, 0 ms] 395.04/246.28 (11) QDP 395.04/246.28 (12) UsableRulesReductionPairsProof [EQUIVALENT, 14 ms] 395.04/246.28 (13) QDP 395.04/246.28 (14) DependencyGraphProof [EQUIVALENT, 0 ms] 395.04/246.28 (15) TRUE 395.04/246.28 (16) QDP 395.04/246.28 (17) UsableRulesProof [EQUIVALENT, 0 ms] 395.04/246.28 (18) QDP 395.04/246.28 (19) QReductionProof [EQUIVALENT, 0 ms] 395.04/246.28 (20) QDP 395.04/246.28 (21) TransformationProof [EQUIVALENT, 0 ms] 395.04/246.28 (22) QDP 395.04/246.28 (23) QDPOrderProof [EQUIVALENT, 0 ms] 395.04/246.28 (24) QDP 395.04/246.28 (25) UsableRulesProof [EQUIVALENT, 0 ms] 395.04/246.28 (26) QDP 395.04/246.28 (27) QReductionProof [EQUIVALENT, 0 ms] 395.04/246.28 (28) QDP 395.04/246.28 (29) Trivial-Transformation [SOUND, 0 ms] 395.04/246.28 (30) QTRS 395.04/246.28 (31) DependencyPairsProof [EQUIVALENT, 0 ms] 395.04/246.28 (32) QDP 395.04/246.28 (33) DependencyGraphProof [EQUIVALENT, 0 ms] 395.04/246.28 (34) QDP 395.04/246.28 (35) UsableRulesProof [EQUIVALENT, 0 ms] 395.04/246.28 (36) QDP 395.04/246.28 (37) NonTerminationLoopProof [COMPLETE, 0 ms] 395.04/246.28 (38) NO 395.04/246.28 (39) Raffelsieper-Zantema-Transformation [SOUND, 0 ms] 395.04/246.28 (40) QTRS 395.04/246.28 (41) DependencyPairsProof [EQUIVALENT, 21 ms] 395.04/246.28 (42) QDP 395.04/246.28 (43) DependencyGraphProof [EQUIVALENT, 0 ms] 395.04/246.28 (44) QDP 395.04/246.28 (45) UsableRulesProof [EQUIVALENT, 7 ms] 395.04/246.28 (46) QDP 395.04/246.28 (47) TransformationProof [EQUIVALENT, 4 ms] 395.04/246.28 (48) QDP 395.04/246.28 (49) DependencyGraphProof [EQUIVALENT, 0 ms] 395.04/246.28 (50) QDP 395.04/246.28 (51) UsableRulesProof [EQUIVALENT, 0 ms] 395.04/246.28 (52) QDP 395.04/246.28 (53) TransformationProof [EQUIVALENT, 0 ms] 395.04/246.28 (54) QDP 395.04/246.28 (55) DependencyGraphProof [EQUIVALENT, 0 ms] 395.04/246.28 (56) QDP 395.04/246.28 (57) TransformationProof [EQUIVALENT, 0 ms] 395.04/246.28 (58) QDP 395.04/246.28 (59) DependencyGraphProof [EQUIVALENT, 0 ms] 395.04/246.28 (60) QDP 395.04/246.28 (61) TransformationProof [EQUIVALENT, 0 ms] 395.04/246.28 (62) QDP 395.04/246.28 (63) DependencyGraphProof [EQUIVALENT, 0 ms] 395.04/246.28 (64) QDP 395.04/246.28 (65) TransformationProof [EQUIVALENT, 25 ms] 395.04/246.28 (66) QDP 395.04/246.28 (67) DependencyGraphProof [EQUIVALENT, 0 ms] 395.04/246.28 (68) QDP 395.04/246.28 (69) TransformationProof [EQUIVALENT, 0 ms] 395.04/246.28 (70) QDP 395.04/246.28 (71) DependencyGraphProof [EQUIVALENT, 0 ms] 395.04/246.28 (72) QDP 395.04/246.28 (73) TransformationProof [EQUIVALENT, 38 ms] 395.04/246.28 (74) QDP 395.04/246.28 (75) DependencyGraphProof [EQUIVALENT, 0 ms] 395.04/246.28 (76) QDP 395.04/246.28 (77) TransformationProof [EQUIVALENT, 0 ms] 395.04/246.28 (78) QDP 395.04/246.28 (79) DependencyGraphProof [EQUIVALENT, 0 ms] 395.04/246.28 (80) QDP 395.04/246.28 (81) TransformationProof [EQUIVALENT, 28 ms] 395.04/246.28 (82) QDP 395.04/246.28 (83) DependencyGraphProof [EQUIVALENT, 0 ms] 395.04/246.28 (84) QDP 395.04/246.28 (85) MRRProof [EQUIVALENT, 166 ms] 395.04/246.28 (86) QDP 395.04/246.28 (87) QDPOrderProof [EQUIVALENT, 1170 ms] 395.04/246.28 (88) QDP 395.04/246.28 (89) QDPOrderProof [EQUIVALENT, 614 ms] 395.04/246.28 (90) QDP 395.04/246.28 (91) QDPOrderProof [EQUIVALENT, 3525 ms] 395.04/246.28 (92) QDP 395.04/246.28 (93) QDPOrderProof [EQUIVALENT, 4619 ms] 395.04/246.28 (94) QDP 395.04/246.28 (95) SplitQDPProof [EQUIVALENT, 0 ms] 395.04/246.28 (96) AND 395.04/246.28 (97) QDP 395.04/246.28 (98) SemLabProof [SOUND, 0 ms] 395.04/246.28 (99) QDP 395.04/246.28 (100) UsableRulesReductionPairsProof [EQUIVALENT, 0 ms] 395.04/246.28 (101) QDP 395.04/246.28 (102) MRRProof [EQUIVALENT, 11 ms] 395.04/246.28 (103) QDP 395.04/246.28 (104) DependencyGraphProof [EQUIVALENT, 0 ms] 395.04/246.28 (105) QDP 395.04/246.28 (106) QDPOrderProof [EQUIVALENT, 0 ms] 395.04/246.28 (107) QDP 395.04/246.28 (108) QDPOrderProof [EQUIVALENT, 0 ms] 395.04/246.28 (109) QDP 395.04/246.28 (110) PisEmptyProof [SOUND, 0 ms] 395.04/246.28 (111) TRUE 395.04/246.28 (112) QDP 395.04/246.28 (113) SplitQDPProof [EQUIVALENT, 0 ms] 395.04/246.28 (114) AND 395.04/246.28 (115) QDP 395.04/246.28 (116) SemLabProof [SOUND, 0 ms] 395.04/246.28 (117) QDP 395.04/246.28 (118) UsableRulesReductionPairsProof [EQUIVALENT, 0 ms] 395.04/246.28 (119) QDP 395.04/246.28 (120) DependencyGraphProof [EQUIVALENT, 0 ms] 395.04/246.28 (121) QDP 395.04/246.28 (122) MRRProof [EQUIVALENT, 2 ms] 395.04/246.28 (123) QDP 395.04/246.28 (124) QDPOrderProof [EQUIVALENT, 16 ms] 395.04/246.28 (125) QDP 395.04/246.28 (126) QDPOrderProof [EQUIVALENT, 0 ms] 395.04/246.28 (127) QDP 395.04/246.28 (128) QDPOrderProof [EQUIVALENT, 0 ms] 395.04/246.28 (129) QDP 395.04/246.28 (130) QDPOrderProof [EQUIVALENT, 10 ms] 395.04/246.28 (131) QDP 395.04/246.28 (132) PisEmptyProof [SOUND, 0 ms] 395.04/246.28 (133) TRUE 395.04/246.28 (134) QDP 395.04/246.28 (135) SplitQDPProof [EQUIVALENT, 0 ms] 395.04/246.28 (136) AND 395.04/246.28 (137) QDP 395.04/246.28 (138) SemLabProof [SOUND, 0 ms] 395.04/246.28 (139) QDP 395.04/246.28 (140) MRRProof [EQUIVALENT, 0 ms] 395.04/246.28 (141) QDP 395.04/246.28 (142) QDPOrderProof [EQUIVALENT, 18 ms] 395.04/246.28 (143) QDP 395.04/246.28 (144) QDPOrderProof [EQUIVALENT, 18 ms] 395.04/246.28 (145) QDP 395.04/246.28 (146) PisEmptyProof [SOUND, 0 ms] 395.04/246.28 (147) TRUE 395.04/246.28 (148) QDP 395.04/246.28 (149) TransformationProof [EQUIVALENT, 0 ms] 395.04/246.28 (150) QDP 395.04/246.28 (151) DependencyGraphProof [EQUIVALENT, 0 ms] 395.04/246.28 (152) QDP 395.04/246.28 (153) TransformationProof [EQUIVALENT, 0 ms] 395.04/246.28 (154) QDP 395.04/246.28 (155) DependencyGraphProof [EQUIVALENT, 0 ms] 395.04/246.28 (156) QDP 395.04/246.28 (157) TransformationProof [EQUIVALENT, 11 ms] 395.04/246.28 (158) QDP 395.04/246.28 (159) DependencyGraphProof [EQUIVALENT, 0 ms] 395.04/246.28 (160) QDP 395.04/246.28 (161) SplitQDPProof [EQUIVALENT, 0 ms] 395.04/246.28 (162) AND 395.04/246.28 (163) QDP 395.04/246.28 (164) SemLabProof [SOUND, 0 ms] 395.04/246.28 (165) QDP 395.04/246.28 (166) MRRProof [EQUIVALENT, 0 ms] 395.04/246.28 (167) QDP 395.04/246.28 (168) DependencyGraphProof [EQUIVALENT, 0 ms] 395.04/246.28 (169) QDP 395.04/246.28 (170) MRRProof [EQUIVALENT, 0 ms] 395.04/246.28 (171) QDP 395.04/246.28 (172) MRRProof [EQUIVALENT, 6 ms] 395.04/246.28 (173) QDP 395.04/246.28 (174) DependencyGraphProof [EQUIVALENT, 0 ms] 395.04/246.28 (175) QDP 395.04/246.28 (176) UsableRulesReductionPairsProof [EQUIVALENT, 0 ms] 395.04/246.28 (177) QDP 395.04/246.28 (178) QDPOrderProof [EQUIVALENT, 14 ms] 395.04/246.28 (179) QDP 395.04/246.28 (180) QDPOrderProof [EQUIVALENT, 13 ms] 395.04/246.28 (181) QDP 395.04/246.28 (182) PisEmptyProof [SOUND, 0 ms] 395.04/246.28 (183) TRUE 395.04/246.28 (184) QDP 395.04/246.28 (185) SplitQDPProof [EQUIVALENT, 0 ms] 395.04/246.28 (186) AND 395.04/246.28 (187) QDP 395.04/246.28 (188) SemLabProof [SOUND, 0 ms] 395.04/246.28 (189) QDP 395.04/246.28 (190) MRRProof [EQUIVALENT, 0 ms] 395.04/246.28 (191) QDP 395.04/246.28 (192) DependencyGraphProof [EQUIVALENT, 0 ms] 395.04/246.28 (193) QDP 395.04/246.28 (194) MRRProof [EQUIVALENT, 6 ms] 395.04/246.28 (195) QDP 395.04/246.28 (196) MRRProof [EQUIVALENT, 0 ms] 395.04/246.28 (197) QDP 395.04/246.28 (198) DependencyGraphProof [EQUIVALENT, 0 ms] 395.04/246.28 (199) QDP 395.04/246.28 (200) UsableRulesReductionPairsProof [EQUIVALENT, 8 ms] 395.04/246.28 (201) QDP 395.04/246.28 (202) QDPOrderProof [EQUIVALENT, 0 ms] 395.04/246.28 (203) QDP 395.04/246.28 (204) UsableRulesReductionPairsProof [EQUIVALENT, 6 ms] 395.04/246.28 (205) QDP 395.04/246.28 (206) PisEmptyProof [SOUND, 0 ms] 395.04/246.28 (207) TRUE 395.04/246.28 (208) QDP 395.04/246.28 (209) SplitQDPProof [EQUIVALENT, 0 ms] 395.04/246.28 (210) AND 395.04/246.28 (211) QDP 395.04/246.28 (212) SemLabProof [SOUND, 0 ms] 395.04/246.28 (213) QDP 395.04/246.28 (214) MRRProof [EQUIVALENT, 1 ms] 395.04/246.28 (215) QDP 395.04/246.28 (216) DependencyGraphProof [EQUIVALENT, 0 ms] 395.04/246.28 (217) QDP 395.04/246.28 (218) MRRProof [EQUIVALENT, 0 ms] 395.04/246.28 (219) QDP 395.04/246.28 (220) UsableRulesReductionPairsProof [EQUIVALENT, 0 ms] 395.04/246.28 (221) QDP 395.04/246.28 (222) PisEmptyProof [SOUND, 0 ms] 395.04/246.28 (223) TRUE 395.04/246.28 (224) QDP 395.04/246.28 395.04/246.28 395.04/246.28 ---------------------------------------- 395.04/246.28 395.04/246.28 (0) 395.04/246.28 Obligation: 395.04/246.28 Term rewrite system R: 395.04/246.28 The TRS R consists of the following rules: 395.04/246.28 395.04/246.28 a -> f(a) 395.04/246.28 a -> g(a) 395.04/246.28 f(f(f(x))) -> b 395.04/246.28 g(g(g(x))) -> b 395.04/246.28 g(f(f(g(x)))) -> b 395.04/246.28 f(g(g(f(x)))) -> b 395.04/246.28 g(f(g(f(x)))) -> b 395.04/246.28 395.04/246.28 395.04/246.28 395.04/246.28 Outermost Strategy. 395.04/246.28 395.04/246.28 ---------------------------------------- 395.04/246.28 395.04/246.28 (1) Thiemann-SpecialC-Transformation (EQUIVALENT) 395.04/246.28 We applied the Thiemann-SpecialC transformation to transform the outermost TRS to an innermost TRS. 395.04/246.28 ---------------------------------------- 395.04/246.28 395.04/246.28 (2) 395.04/246.28 Obligation: 395.04/246.28 Q restricted rewrite system: 395.04/246.28 The TRS R consists of the following rules: 395.04/246.28 395.04/246.28 top(go_up(x)) -> top(reduce(x)) 395.04/246.28 reduce(f(x_1)) -> check_f(redex_f(x_1)) 395.04/246.28 reduce(g(x_1)) -> check_g(redex_g(x_1)) 395.04/246.28 reduce(a) -> go_up(f(a)) 395.04/246.28 reduce(a) -> go_up(g(a)) 395.04/246.28 redex_f(f(f(x))) -> result_f(b) 395.04/246.28 redex_g(g(g(x))) -> result_g(b) 395.04/246.28 redex_g(f(f(g(x)))) -> result_g(b) 395.04/246.28 redex_f(g(g(f(x)))) -> result_f(b) 395.04/246.28 redex_g(f(g(f(x)))) -> result_g(b) 395.04/246.28 check_f(result_f(x)) -> go_up(x) 395.04/246.28 check_g(result_g(x)) -> go_up(x) 395.04/246.28 check_f(redex_f(x_1)) -> in_f_1(reduce(x_1)) 395.04/246.28 check_g(redex_g(x_1)) -> in_g_1(reduce(x_1)) 395.04/246.28 in_f_1(go_up(x_1)) -> go_up(f(x_1)) 395.04/246.28 in_g_1(go_up(x_1)) -> go_up(g(x_1)) 395.04/246.28 395.04/246.28 The set Q consists of the following terms: 395.04/246.28 395.04/246.28 top(go_up(x0)) 395.04/246.28 reduce(f(x0)) 395.04/246.28 reduce(g(x0)) 395.04/246.28 reduce(a) 395.04/246.28 redex_f(f(f(x0))) 395.04/246.28 redex_g(g(g(x0))) 395.04/246.28 redex_g(f(f(g(x0)))) 395.04/246.28 redex_f(g(g(f(x0)))) 395.04/246.28 redex_g(f(g(f(x0)))) 395.04/246.28 check_f(result_f(x0)) 395.04/246.28 check_g(result_g(x0)) 395.04/246.28 check_f(redex_f(x0)) 395.04/246.28 check_g(redex_g(x0)) 395.04/246.28 in_f_1(go_up(x0)) 395.04/246.28 in_g_1(go_up(x0)) 395.04/246.28 395.04/246.28 395.04/246.28 ---------------------------------------- 395.04/246.28 395.04/246.28 (3) DependencyPairsProof (EQUIVALENT) 395.04/246.28 Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. 395.04/246.28 ---------------------------------------- 395.04/246.28 395.04/246.28 (4) 395.04/246.28 Obligation: 395.04/246.28 Q DP problem: 395.04/246.28 The TRS P consists of the following rules: 395.04/246.28 395.04/246.28 TOP(go_up(x)) -> TOP(reduce(x)) 395.04/246.28 TOP(go_up(x)) -> REDUCE(x) 395.04/246.28 REDUCE(f(x_1)) -> CHECK_F(redex_f(x_1)) 395.04/246.28 REDUCE(f(x_1)) -> REDEX_F(x_1) 395.04/246.28 REDUCE(g(x_1)) -> CHECK_G(redex_g(x_1)) 395.04/246.28 REDUCE(g(x_1)) -> REDEX_G(x_1) 395.04/246.28 CHECK_F(redex_f(x_1)) -> IN_F_1(reduce(x_1)) 395.04/246.28 CHECK_F(redex_f(x_1)) -> REDUCE(x_1) 395.04/246.28 CHECK_G(redex_g(x_1)) -> IN_G_1(reduce(x_1)) 395.04/246.28 CHECK_G(redex_g(x_1)) -> REDUCE(x_1) 395.04/246.28 395.04/246.28 The TRS R consists of the following rules: 395.04/246.28 395.04/246.28 top(go_up(x)) -> top(reduce(x)) 395.04/246.28 reduce(f(x_1)) -> check_f(redex_f(x_1)) 395.04/246.28 reduce(g(x_1)) -> check_g(redex_g(x_1)) 395.04/246.28 reduce(a) -> go_up(f(a)) 395.04/246.28 reduce(a) -> go_up(g(a)) 395.04/246.28 redex_f(f(f(x))) -> result_f(b) 395.04/246.28 redex_g(g(g(x))) -> result_g(b) 395.04/246.28 redex_g(f(f(g(x)))) -> result_g(b) 395.04/246.28 redex_f(g(g(f(x)))) -> result_f(b) 395.04/246.28 redex_g(f(g(f(x)))) -> result_g(b) 395.04/246.28 check_f(result_f(x)) -> go_up(x) 395.04/246.28 check_g(result_g(x)) -> go_up(x) 395.04/246.28 check_f(redex_f(x_1)) -> in_f_1(reduce(x_1)) 395.04/246.28 check_g(redex_g(x_1)) -> in_g_1(reduce(x_1)) 395.04/246.28 in_f_1(go_up(x_1)) -> go_up(f(x_1)) 395.04/246.28 in_g_1(go_up(x_1)) -> go_up(g(x_1)) 395.04/246.28 395.04/246.28 The set Q consists of the following terms: 395.04/246.28 395.04/246.28 top(go_up(x0)) 395.04/246.28 reduce(f(x0)) 395.04/246.28 reduce(g(x0)) 395.04/246.28 reduce(a) 395.04/246.28 redex_f(f(f(x0))) 395.04/246.28 redex_g(g(g(x0))) 395.04/246.28 redex_g(f(f(g(x0)))) 395.04/246.28 redex_f(g(g(f(x0)))) 395.04/246.28 redex_g(f(g(f(x0)))) 395.04/246.28 check_f(result_f(x0)) 395.04/246.28 check_g(result_g(x0)) 395.04/246.28 check_f(redex_f(x0)) 395.04/246.28 check_g(redex_g(x0)) 395.04/246.28 in_f_1(go_up(x0)) 395.04/246.28 in_g_1(go_up(x0)) 395.04/246.28 395.04/246.28 We have to consider all minimal (P,Q,R)-chains. 395.04/246.28 ---------------------------------------- 395.04/246.28 395.04/246.28 (5) DependencyGraphProof (EQUIVALENT) 395.04/246.28 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 5 less nodes. 395.04/246.28 ---------------------------------------- 395.04/246.28 395.04/246.28 (6) 395.04/246.28 Complex Obligation (AND) 395.04/246.28 395.04/246.28 ---------------------------------------- 395.04/246.28 395.04/246.28 (7) 395.04/246.28 Obligation: 395.04/246.28 Q DP problem: 395.04/246.28 The TRS P consists of the following rules: 395.04/246.28 395.04/246.28 CHECK_F(redex_f(x_1)) -> REDUCE(x_1) 395.04/246.28 REDUCE(f(x_1)) -> CHECK_F(redex_f(x_1)) 395.04/246.28 REDUCE(g(x_1)) -> CHECK_G(redex_g(x_1)) 395.04/246.28 CHECK_G(redex_g(x_1)) -> REDUCE(x_1) 395.04/246.28 395.04/246.28 The TRS R consists of the following rules: 395.04/246.28 395.04/246.28 top(go_up(x)) -> top(reduce(x)) 395.04/246.28 reduce(f(x_1)) -> check_f(redex_f(x_1)) 395.04/246.28 reduce(g(x_1)) -> check_g(redex_g(x_1)) 395.04/246.28 reduce(a) -> go_up(f(a)) 395.04/246.28 reduce(a) -> go_up(g(a)) 395.04/246.28 redex_f(f(f(x))) -> result_f(b) 395.04/246.28 redex_g(g(g(x))) -> result_g(b) 395.04/246.28 redex_g(f(f(g(x)))) -> result_g(b) 395.04/246.28 redex_f(g(g(f(x)))) -> result_f(b) 395.04/246.28 redex_g(f(g(f(x)))) -> result_g(b) 395.04/246.28 check_f(result_f(x)) -> go_up(x) 395.04/246.28 check_g(result_g(x)) -> go_up(x) 395.04/246.28 check_f(redex_f(x_1)) -> in_f_1(reduce(x_1)) 395.04/246.28 check_g(redex_g(x_1)) -> in_g_1(reduce(x_1)) 395.04/246.28 in_f_1(go_up(x_1)) -> go_up(f(x_1)) 395.04/246.28 in_g_1(go_up(x_1)) -> go_up(g(x_1)) 395.04/246.28 395.04/246.28 The set Q consists of the following terms: 395.04/246.28 395.04/246.28 top(go_up(x0)) 395.04/246.28 reduce(f(x0)) 395.04/246.28 reduce(g(x0)) 395.04/246.28 reduce(a) 395.04/246.28 redex_f(f(f(x0))) 395.04/246.28 redex_g(g(g(x0))) 395.04/246.28 redex_g(f(f(g(x0)))) 395.04/246.28 redex_f(g(g(f(x0)))) 395.04/246.28 redex_g(f(g(f(x0)))) 395.04/246.28 check_f(result_f(x0)) 395.04/246.28 check_g(result_g(x0)) 395.04/246.28 check_f(redex_f(x0)) 395.04/246.28 check_g(redex_g(x0)) 395.04/246.28 in_f_1(go_up(x0)) 395.04/246.28 in_g_1(go_up(x0)) 395.04/246.28 395.04/246.28 We have to consider all minimal (P,Q,R)-chains. 395.04/246.28 ---------------------------------------- 395.04/246.28 395.04/246.28 (8) UsableRulesProof (EQUIVALENT) 395.04/246.28 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. 395.04/246.28 ---------------------------------------- 395.04/246.28 395.04/246.28 (9) 395.04/246.28 Obligation: 395.04/246.28 Q DP problem: 395.04/246.28 The TRS P consists of the following rules: 395.04/246.28 395.04/246.28 CHECK_F(redex_f(x_1)) -> REDUCE(x_1) 395.04/246.28 REDUCE(f(x_1)) -> CHECK_F(redex_f(x_1)) 395.04/246.28 REDUCE(g(x_1)) -> CHECK_G(redex_g(x_1)) 395.04/246.28 CHECK_G(redex_g(x_1)) -> REDUCE(x_1) 395.04/246.28 395.04/246.28 The TRS R consists of the following rules: 395.04/246.28 395.04/246.28 redex_g(g(g(x))) -> result_g(b) 395.04/246.28 redex_g(f(f(g(x)))) -> result_g(b) 395.04/246.28 redex_g(f(g(f(x)))) -> result_g(b) 395.04/246.28 redex_f(f(f(x))) -> result_f(b) 395.04/246.28 redex_f(g(g(f(x)))) -> result_f(b) 395.04/246.28 395.04/246.28 The set Q consists of the following terms: 395.04/246.28 395.04/246.28 top(go_up(x0)) 395.04/246.28 reduce(f(x0)) 395.04/246.28 reduce(g(x0)) 395.04/246.28 reduce(a) 395.04/246.28 redex_f(f(f(x0))) 395.04/246.28 redex_g(g(g(x0))) 395.04/246.28 redex_g(f(f(g(x0)))) 395.04/246.28 redex_f(g(g(f(x0)))) 395.04/246.28 redex_g(f(g(f(x0)))) 395.04/246.28 check_f(result_f(x0)) 395.04/246.28 check_g(result_g(x0)) 395.04/246.28 check_f(redex_f(x0)) 395.04/246.28 check_g(redex_g(x0)) 395.04/246.28 in_f_1(go_up(x0)) 395.04/246.28 in_g_1(go_up(x0)) 395.04/246.28 395.04/246.28 We have to consider all minimal (P,Q,R)-chains. 395.04/246.28 ---------------------------------------- 395.04/246.28 395.04/246.28 (10) QReductionProof (EQUIVALENT) 395.04/246.28 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 395.04/246.28 395.04/246.28 top(go_up(x0)) 395.04/246.28 reduce(f(x0)) 395.04/246.28 reduce(g(x0)) 395.04/246.28 reduce(a) 395.04/246.28 check_f(result_f(x0)) 395.04/246.28 check_g(result_g(x0)) 395.04/246.28 check_f(redex_f(x0)) 395.04/246.28 check_g(redex_g(x0)) 395.04/246.28 in_f_1(go_up(x0)) 395.04/246.28 in_g_1(go_up(x0)) 395.04/246.28 395.04/246.28 395.04/246.28 ---------------------------------------- 395.04/246.28 395.04/246.28 (11) 395.04/246.28 Obligation: 395.04/246.28 Q DP problem: 395.04/246.28 The TRS P consists of the following rules: 395.04/246.28 395.04/246.28 CHECK_F(redex_f(x_1)) -> REDUCE(x_1) 395.04/246.28 REDUCE(f(x_1)) -> CHECK_F(redex_f(x_1)) 395.04/246.28 REDUCE(g(x_1)) -> CHECK_G(redex_g(x_1)) 395.04/246.28 CHECK_G(redex_g(x_1)) -> REDUCE(x_1) 395.04/246.28 395.04/246.28 The TRS R consists of the following rules: 395.04/246.28 395.04/246.28 redex_g(g(g(x))) -> result_g(b) 395.04/246.28 redex_g(f(f(g(x)))) -> result_g(b) 395.04/246.28 redex_g(f(g(f(x)))) -> result_g(b) 395.04/246.28 redex_f(f(f(x))) -> result_f(b) 395.04/246.28 redex_f(g(g(f(x)))) -> result_f(b) 395.04/246.28 395.04/246.28 The set Q consists of the following terms: 395.04/246.28 395.04/246.28 redex_f(f(f(x0))) 395.04/246.28 redex_g(g(g(x0))) 395.04/246.28 redex_g(f(f(g(x0)))) 395.04/246.28 redex_f(g(g(f(x0)))) 395.04/246.28 redex_g(f(g(f(x0)))) 395.04/246.28 395.04/246.28 We have to consider all minimal (P,Q,R)-chains. 395.04/246.28 ---------------------------------------- 395.04/246.28 395.04/246.28 (12) UsableRulesReductionPairsProof (EQUIVALENT) 395.04/246.28 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. 395.04/246.28 395.04/246.28 The following dependency pairs can be deleted: 395.04/246.28 395.04/246.28 REDUCE(f(x_1)) -> CHECK_F(redex_f(x_1)) 395.04/246.28 REDUCE(g(x_1)) -> CHECK_G(redex_g(x_1)) 395.04/246.28 The following rules are removed from R: 395.04/246.28 395.04/246.28 redex_g(g(g(x))) -> result_g(b) 395.04/246.28 redex_g(f(f(g(x)))) -> result_g(b) 395.04/246.28 redex_g(f(g(f(x)))) -> result_g(b) 395.04/246.28 redex_f(f(f(x))) -> result_f(b) 395.04/246.28 redex_f(g(g(f(x)))) -> result_f(b) 395.04/246.28 Used ordering: POLO with Polynomial interpretation [POLO]: 395.04/246.28 395.04/246.28 POL(CHECK_F(x_1)) = 2*x_1 395.04/246.28 POL(CHECK_G(x_1)) = x_1 395.04/246.28 POL(REDUCE(x_1)) = 2*x_1 395.04/246.28 POL(b) = 0 395.04/246.28 POL(f(x_1)) = 2*x_1 395.04/246.28 POL(g(x_1)) = 2*x_1 395.04/246.28 POL(redex_f(x_1)) = x_1 395.04/246.28 POL(redex_g(x_1)) = 2*x_1 395.04/246.28 POL(result_f(x_1)) = 2*x_1 395.04/246.28 POL(result_g(x_1)) = x_1 395.04/246.28 395.04/246.28 395.04/246.28 ---------------------------------------- 395.04/246.28 395.04/246.28 (13) 395.04/246.28 Obligation: 395.04/246.28 Q DP problem: 395.04/246.28 The TRS P consists of the following rules: 395.04/246.28 395.04/246.28 CHECK_F(redex_f(x_1)) -> REDUCE(x_1) 395.04/246.28 CHECK_G(redex_g(x_1)) -> REDUCE(x_1) 395.04/246.28 395.04/246.28 R is empty. 395.04/246.28 The set Q consists of the following terms: 395.04/246.28 395.04/246.28 redex_f(f(f(x0))) 395.04/246.28 redex_g(g(g(x0))) 395.04/246.28 redex_g(f(f(g(x0)))) 395.04/246.28 redex_f(g(g(f(x0)))) 395.04/246.28 redex_g(f(g(f(x0)))) 395.04/246.28 395.04/246.28 We have to consider all minimal (P,Q,R)-chains. 395.04/246.28 ---------------------------------------- 395.04/246.28 395.04/246.28 (14) DependencyGraphProof (EQUIVALENT) 395.04/246.28 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 2 less nodes. 395.04/246.28 ---------------------------------------- 395.04/246.28 395.04/246.28 (15) 395.04/246.28 TRUE 395.04/246.28 395.04/246.28 ---------------------------------------- 395.04/246.28 395.04/246.28 (16) 395.04/246.28 Obligation: 395.04/246.28 Q DP problem: 395.04/246.28 The TRS P consists of the following rules: 395.04/246.28 395.04/246.28 TOP(go_up(x)) -> TOP(reduce(x)) 395.04/246.28 395.04/246.28 The TRS R consists of the following rules: 395.04/246.28 395.04/246.28 top(go_up(x)) -> top(reduce(x)) 395.04/246.28 reduce(f(x_1)) -> check_f(redex_f(x_1)) 395.04/246.28 reduce(g(x_1)) -> check_g(redex_g(x_1)) 395.04/246.28 reduce(a) -> go_up(f(a)) 395.04/246.28 reduce(a) -> go_up(g(a)) 395.04/246.28 redex_f(f(f(x))) -> result_f(b) 395.04/246.28 redex_g(g(g(x))) -> result_g(b) 395.04/246.28 redex_g(f(f(g(x)))) -> result_g(b) 395.04/246.28 redex_f(g(g(f(x)))) -> result_f(b) 395.04/246.28 redex_g(f(g(f(x)))) -> result_g(b) 395.04/246.28 check_f(result_f(x)) -> go_up(x) 395.04/246.28 check_g(result_g(x)) -> go_up(x) 395.04/246.28 check_f(redex_f(x_1)) -> in_f_1(reduce(x_1)) 395.04/246.28 check_g(redex_g(x_1)) -> in_g_1(reduce(x_1)) 395.04/246.28 in_f_1(go_up(x_1)) -> go_up(f(x_1)) 395.04/246.28 in_g_1(go_up(x_1)) -> go_up(g(x_1)) 395.04/246.28 395.04/246.28 The set Q consists of the following terms: 395.04/246.28 395.04/246.28 top(go_up(x0)) 395.04/246.28 reduce(f(x0)) 395.04/246.28 reduce(g(x0)) 395.04/246.28 reduce(a) 395.04/246.28 redex_f(f(f(x0))) 395.04/246.28 redex_g(g(g(x0))) 395.04/246.28 redex_g(f(f(g(x0)))) 395.04/246.28 redex_f(g(g(f(x0)))) 395.04/246.28 redex_g(f(g(f(x0)))) 395.04/246.28 check_f(result_f(x0)) 395.04/246.28 check_g(result_g(x0)) 395.04/246.28 check_f(redex_f(x0)) 395.04/246.28 check_g(redex_g(x0)) 395.04/246.28 in_f_1(go_up(x0)) 395.04/246.28 in_g_1(go_up(x0)) 395.04/246.28 395.04/246.28 We have to consider all minimal (P,Q,R)-chains. 395.04/246.28 ---------------------------------------- 395.04/246.28 395.04/246.28 (17) UsableRulesProof (EQUIVALENT) 395.04/246.28 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. 395.04/246.28 ---------------------------------------- 395.04/246.28 395.04/246.28 (18) 395.04/246.28 Obligation: 395.04/246.28 Q DP problem: 395.04/246.28 The TRS P consists of the following rules: 395.04/246.28 395.04/246.28 TOP(go_up(x)) -> TOP(reduce(x)) 395.04/246.28 395.04/246.28 The TRS R consists of the following rules: 395.04/246.28 395.04/246.28 reduce(f(x_1)) -> check_f(redex_f(x_1)) 395.04/246.28 reduce(g(x_1)) -> check_g(redex_g(x_1)) 395.04/246.28 reduce(a) -> go_up(f(a)) 395.04/246.28 reduce(a) -> go_up(g(a)) 395.04/246.28 redex_g(g(g(x))) -> result_g(b) 395.04/246.28 redex_g(f(f(g(x)))) -> result_g(b) 395.04/246.28 redex_g(f(g(f(x)))) -> result_g(b) 395.04/246.28 check_g(result_g(x)) -> go_up(x) 395.04/246.28 check_g(redex_g(x_1)) -> in_g_1(reduce(x_1)) 395.04/246.28 in_g_1(go_up(x_1)) -> go_up(g(x_1)) 395.04/246.28 redex_f(f(f(x))) -> result_f(b) 395.04/246.28 redex_f(g(g(f(x)))) -> result_f(b) 395.04/246.28 check_f(result_f(x)) -> go_up(x) 395.04/246.28 check_f(redex_f(x_1)) -> in_f_1(reduce(x_1)) 395.04/246.28 in_f_1(go_up(x_1)) -> go_up(f(x_1)) 395.04/246.28 395.04/246.28 The set Q consists of the following terms: 395.04/246.28 395.04/246.28 top(go_up(x0)) 395.04/246.28 reduce(f(x0)) 395.04/246.28 reduce(g(x0)) 395.04/246.28 reduce(a) 395.04/246.28 redex_f(f(f(x0))) 395.04/246.28 redex_g(g(g(x0))) 395.04/246.28 redex_g(f(f(g(x0)))) 395.04/246.28 redex_f(g(g(f(x0)))) 395.04/246.28 redex_g(f(g(f(x0)))) 395.04/246.28 check_f(result_f(x0)) 395.04/246.28 check_g(result_g(x0)) 395.04/246.28 check_f(redex_f(x0)) 395.04/246.28 check_g(redex_g(x0)) 395.04/246.28 in_f_1(go_up(x0)) 395.04/246.28 in_g_1(go_up(x0)) 395.04/246.28 395.04/246.28 We have to consider all minimal (P,Q,R)-chains. 395.04/246.28 ---------------------------------------- 395.04/246.28 395.04/246.28 (19) QReductionProof (EQUIVALENT) 395.04/246.28 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 395.04/246.28 395.04/246.28 top(go_up(x0)) 395.04/246.28 395.04/246.28 395.04/246.28 ---------------------------------------- 395.04/246.28 395.04/246.28 (20) 395.04/246.28 Obligation: 395.04/246.28 Q DP problem: 395.04/246.28 The TRS P consists of the following rules: 395.04/246.28 395.04/246.28 TOP(go_up(x)) -> TOP(reduce(x)) 395.04/246.28 395.04/246.28 The TRS R consists of the following rules: 395.04/246.28 395.04/246.28 reduce(f(x_1)) -> check_f(redex_f(x_1)) 395.04/246.28 reduce(g(x_1)) -> check_g(redex_g(x_1)) 395.04/246.28 reduce(a) -> go_up(f(a)) 395.04/246.28 reduce(a) -> go_up(g(a)) 395.04/246.28 redex_g(g(g(x))) -> result_g(b) 395.04/246.28 redex_g(f(f(g(x)))) -> result_g(b) 395.04/246.28 redex_g(f(g(f(x)))) -> result_g(b) 395.04/246.28 check_g(result_g(x)) -> go_up(x) 395.04/246.28 check_g(redex_g(x_1)) -> in_g_1(reduce(x_1)) 395.04/246.28 in_g_1(go_up(x_1)) -> go_up(g(x_1)) 395.04/246.28 redex_f(f(f(x))) -> result_f(b) 395.04/246.28 redex_f(g(g(f(x)))) -> result_f(b) 395.04/246.28 check_f(result_f(x)) -> go_up(x) 395.04/246.28 check_f(redex_f(x_1)) -> in_f_1(reduce(x_1)) 395.04/246.28 in_f_1(go_up(x_1)) -> go_up(f(x_1)) 395.04/246.28 395.04/246.28 The set Q consists of the following terms: 395.04/246.28 395.04/246.28 reduce(f(x0)) 395.04/246.28 reduce(g(x0)) 395.04/246.28 reduce(a) 395.04/246.28 redex_f(f(f(x0))) 395.04/246.28 redex_g(g(g(x0))) 395.04/246.28 redex_g(f(f(g(x0)))) 395.04/246.28 redex_f(g(g(f(x0)))) 395.04/246.28 redex_g(f(g(f(x0)))) 395.04/246.28 check_f(result_f(x0)) 395.04/246.28 check_g(result_g(x0)) 395.04/246.28 check_f(redex_f(x0)) 395.04/246.28 check_g(redex_g(x0)) 395.04/246.28 in_f_1(go_up(x0)) 395.04/246.28 in_g_1(go_up(x0)) 395.04/246.28 395.04/246.28 We have to consider all minimal (P,Q,R)-chains. 395.04/246.28 ---------------------------------------- 395.04/246.28 395.04/246.28 (21) TransformationProof (EQUIVALENT) 395.04/246.28 By narrowing [LPAR04] the rule TOP(go_up(x)) -> TOP(reduce(x)) at position [0] we obtained the following new rules [LPAR04]: 395.04/246.28 395.04/246.28 (TOP(go_up(f(x0))) -> TOP(check_f(redex_f(x0))),TOP(go_up(f(x0))) -> TOP(check_f(redex_f(x0)))) 395.04/246.28 (TOP(go_up(g(x0))) -> TOP(check_g(redex_g(x0))),TOP(go_up(g(x0))) -> TOP(check_g(redex_g(x0)))) 395.04/246.28 (TOP(go_up(a)) -> TOP(go_up(f(a))),TOP(go_up(a)) -> TOP(go_up(f(a)))) 395.04/246.28 (TOP(go_up(a)) -> TOP(go_up(g(a))),TOP(go_up(a)) -> TOP(go_up(g(a)))) 395.04/246.28 395.04/246.28 395.04/246.28 ---------------------------------------- 395.04/246.28 395.04/246.28 (22) 395.04/246.28 Obligation: 395.04/246.28 Q DP problem: 395.04/246.28 The TRS P consists of the following rules: 395.04/246.28 395.04/246.28 TOP(go_up(f(x0))) -> TOP(check_f(redex_f(x0))) 395.04/246.28 TOP(go_up(g(x0))) -> TOP(check_g(redex_g(x0))) 395.04/246.28 TOP(go_up(a)) -> TOP(go_up(f(a))) 395.04/246.28 TOP(go_up(a)) -> TOP(go_up(g(a))) 395.04/246.28 395.04/246.28 The TRS R consists of the following rules: 395.04/246.28 395.04/246.28 reduce(f(x_1)) -> check_f(redex_f(x_1)) 395.04/246.28 reduce(g(x_1)) -> check_g(redex_g(x_1)) 395.04/246.28 reduce(a) -> go_up(f(a)) 395.04/246.28 reduce(a) -> go_up(g(a)) 395.04/246.28 redex_g(g(g(x))) -> result_g(b) 395.04/246.28 redex_g(f(f(g(x)))) -> result_g(b) 395.04/246.28 redex_g(f(g(f(x)))) -> result_g(b) 395.04/246.28 check_g(result_g(x)) -> go_up(x) 395.04/246.28 check_g(redex_g(x_1)) -> in_g_1(reduce(x_1)) 395.04/246.28 in_g_1(go_up(x_1)) -> go_up(g(x_1)) 395.04/246.28 redex_f(f(f(x))) -> result_f(b) 395.04/246.28 redex_f(g(g(f(x)))) -> result_f(b) 395.04/246.28 check_f(result_f(x)) -> go_up(x) 395.04/246.28 check_f(redex_f(x_1)) -> in_f_1(reduce(x_1)) 395.04/246.28 in_f_1(go_up(x_1)) -> go_up(f(x_1)) 395.04/246.28 395.04/246.28 The set Q consists of the following terms: 395.04/246.28 395.04/246.28 reduce(f(x0)) 395.04/246.28 reduce(g(x0)) 395.04/246.28 reduce(a) 395.04/246.28 redex_f(f(f(x0))) 395.04/246.28 redex_g(g(g(x0))) 395.04/246.28 redex_g(f(f(g(x0)))) 395.04/246.28 redex_f(g(g(f(x0)))) 395.04/246.28 redex_g(f(g(f(x0)))) 395.04/246.28 check_f(result_f(x0)) 395.04/246.28 check_g(result_g(x0)) 395.04/246.28 check_f(redex_f(x0)) 395.04/246.28 check_g(redex_g(x0)) 395.04/246.28 in_f_1(go_up(x0)) 395.04/246.28 in_g_1(go_up(x0)) 395.04/246.28 395.04/246.28 We have to consider all minimal (P,Q,R)-chains. 395.04/246.28 ---------------------------------------- 395.04/246.28 395.04/246.28 (23) QDPOrderProof (EQUIVALENT) 395.04/246.28 We use the reduction pair processor [LPAR04,JAR06]. 395.04/246.28 395.04/246.28 395.04/246.28 The following pairs can be oriented strictly and are deleted. 395.04/246.28 395.04/246.28 TOP(go_up(a)) -> TOP(go_up(f(a))) 395.04/246.28 TOP(go_up(a)) -> TOP(go_up(g(a))) 395.04/246.28 The remaining pairs can at least be oriented weakly. 395.04/246.28 Used ordering: Polynomial interpretation [POLO]: 395.04/246.28 395.04/246.28 POL(TOP(x_1)) = x_1 395.04/246.28 POL(a) = 1 395.04/246.28 POL(b) = 0 395.04/246.28 POL(check_f(x_1)) = x_1 395.04/246.28 POL(check_g(x_1)) = x_1 395.04/246.28 POL(f(x_1)) = 0 395.04/246.28 POL(g(x_1)) = 0 395.04/246.28 POL(go_up(x_1)) = x_1 395.04/246.28 POL(in_f_1(x_1)) = 0 395.04/246.28 POL(in_g_1(x_1)) = 0 395.04/246.28 POL(redex_f(x_1)) = 0 395.04/246.28 POL(redex_g(x_1)) = 0 395.04/246.28 POL(reduce(x_1)) = 0 395.04/246.28 POL(result_f(x_1)) = x_1 395.04/246.28 POL(result_g(x_1)) = x_1 395.04/246.28 395.04/246.28 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 395.04/246.28 395.04/246.28 redex_f(f(f(x))) -> result_f(b) 395.04/246.28 redex_f(g(g(f(x)))) -> result_f(b) 395.04/246.28 check_f(result_f(x)) -> go_up(x) 395.04/246.28 check_f(redex_f(x_1)) -> in_f_1(reduce(x_1)) 395.04/246.28 redex_g(g(g(x))) -> result_g(b) 395.04/246.28 redex_g(f(f(g(x)))) -> result_g(b) 395.04/246.28 redex_g(f(g(f(x)))) -> result_g(b) 395.04/246.28 check_g(result_g(x)) -> go_up(x) 395.04/246.28 check_g(redex_g(x_1)) -> in_g_1(reduce(x_1)) 395.04/246.28 in_f_1(go_up(x_1)) -> go_up(f(x_1)) 395.04/246.28 reduce(f(x_1)) -> check_f(redex_f(x_1)) 395.04/246.28 reduce(g(x_1)) -> check_g(redex_g(x_1)) 395.04/246.28 in_g_1(go_up(x_1)) -> go_up(g(x_1)) 395.04/246.28 395.04/246.28 395.04/246.28 ---------------------------------------- 395.04/246.28 395.04/246.28 (24) 395.04/246.28 Obligation: 395.04/246.28 Q DP problem: 395.04/246.28 The TRS P consists of the following rules: 395.04/246.28 395.04/246.28 TOP(go_up(f(x0))) -> TOP(check_f(redex_f(x0))) 395.04/246.28 TOP(go_up(g(x0))) -> TOP(check_g(redex_g(x0))) 395.04/246.28 395.04/246.28 The TRS R consists of the following rules: 395.04/246.28 395.04/246.28 reduce(f(x_1)) -> check_f(redex_f(x_1)) 395.04/246.28 reduce(g(x_1)) -> check_g(redex_g(x_1)) 395.04/246.28 reduce(a) -> go_up(f(a)) 395.04/246.28 reduce(a) -> go_up(g(a)) 395.04/246.28 redex_g(g(g(x))) -> result_g(b) 395.04/246.28 redex_g(f(f(g(x)))) -> result_g(b) 395.04/246.28 redex_g(f(g(f(x)))) -> result_g(b) 395.04/246.28 check_g(result_g(x)) -> go_up(x) 395.04/246.28 check_g(redex_g(x_1)) -> in_g_1(reduce(x_1)) 395.04/246.28 in_g_1(go_up(x_1)) -> go_up(g(x_1)) 395.04/246.28 redex_f(f(f(x))) -> result_f(b) 395.04/246.28 redex_f(g(g(f(x)))) -> result_f(b) 395.04/246.28 check_f(result_f(x)) -> go_up(x) 395.04/246.28 check_f(redex_f(x_1)) -> in_f_1(reduce(x_1)) 395.04/246.28 in_f_1(go_up(x_1)) -> go_up(f(x_1)) 395.04/246.28 395.04/246.28 The set Q consists of the following terms: 395.04/246.28 395.04/246.28 reduce(f(x0)) 395.04/246.28 reduce(g(x0)) 395.04/246.28 reduce(a) 395.04/246.28 redex_f(f(f(x0))) 395.04/246.28 redex_g(g(g(x0))) 395.04/246.28 redex_g(f(f(g(x0)))) 395.04/246.28 redex_f(g(g(f(x0)))) 395.04/246.28 redex_g(f(g(f(x0)))) 395.04/246.28 check_f(result_f(x0)) 395.04/246.28 check_g(result_g(x0)) 395.04/246.28 check_f(redex_f(x0)) 395.04/246.28 check_g(redex_g(x0)) 395.04/246.28 in_f_1(go_up(x0)) 395.04/246.28 in_g_1(go_up(x0)) 395.04/246.28 395.04/246.28 We have to consider all minimal (P,Q,R)-chains. 395.04/246.28 ---------------------------------------- 395.04/246.28 395.04/246.28 (25) UsableRulesProof (EQUIVALENT) 395.04/246.28 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. 395.04/246.28 ---------------------------------------- 395.04/246.28 395.04/246.28 (26) 395.04/246.28 Obligation: 395.04/246.28 Q DP problem: 395.04/246.28 The TRS P consists of the following rules: 395.04/246.28 395.04/246.28 TOP(go_up(x)) -> TOP(reduce(x)) 395.04/246.28 395.04/246.28 The TRS R consists of the following rules: 395.04/246.28 395.04/246.28 reduce(f(x_1)) -> check_f(redex_f(x_1)) 395.04/246.28 reduce(g(x_1)) -> check_g(redex_g(x_1)) 395.04/246.28 reduce(a) -> go_up(f(a)) 395.04/246.28 reduce(a) -> go_up(g(a)) 395.04/246.28 redex_g(g(g(x))) -> result_g(b) 395.04/246.28 redex_g(f(f(g(x)))) -> result_g(b) 395.04/246.28 redex_g(f(g(f(x)))) -> result_g(b) 395.04/246.28 check_g(result_g(x)) -> go_up(x) 395.04/246.28 check_g(redex_g(x_1)) -> in_g_1(reduce(x_1)) 395.04/246.28 in_g_1(go_up(x_1)) -> go_up(g(x_1)) 395.04/246.28 redex_f(f(f(x))) -> result_f(b) 395.04/246.28 redex_f(g(g(f(x)))) -> result_f(b) 395.04/246.29 check_f(result_f(x)) -> go_up(x) 395.04/246.29 check_f(redex_f(x_1)) -> in_f_1(reduce(x_1)) 395.04/246.29 in_f_1(go_up(x_1)) -> go_up(f(x_1)) 395.04/246.29 395.04/246.29 The set Q consists of the following terms: 395.04/246.29 395.04/246.29 top(go_up(x0)) 395.04/246.29 reduce(f(x0)) 395.04/246.29 reduce(g(x0)) 395.04/246.29 reduce(a) 395.04/246.29 redex_f(f(f(x0))) 395.04/246.29 redex_g(g(g(x0))) 395.04/246.29 redex_g(f(f(g(x0)))) 395.04/246.29 redex_f(g(g(f(x0)))) 395.04/246.29 redex_g(f(g(f(x0)))) 395.04/246.29 check_f(result_f(x0)) 395.04/246.29 check_g(result_g(x0)) 395.04/246.29 check_f(redex_f(x0)) 395.04/246.29 check_g(redex_g(x0)) 395.04/246.29 in_f_1(go_up(x0)) 395.04/246.29 in_g_1(go_up(x0)) 395.04/246.29 395.04/246.29 We have to consider all minimal (P,Q,R)-chains. 395.04/246.29 ---------------------------------------- 395.04/246.29 395.04/246.29 (27) QReductionProof (EQUIVALENT) 395.04/246.29 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 395.04/246.29 395.04/246.29 top(go_up(x0)) 395.04/246.29 395.04/246.29 395.04/246.29 ---------------------------------------- 395.04/246.29 395.04/246.29 (28) 395.04/246.29 Obligation: 395.04/246.29 Q DP problem: 395.04/246.29 The TRS P consists of the following rules: 395.04/246.29 395.04/246.29 TOP(go_up(x)) -> TOP(reduce(x)) 395.04/246.29 395.04/246.29 The TRS R consists of the following rules: 395.04/246.29 395.04/246.29 reduce(f(x_1)) -> check_f(redex_f(x_1)) 395.04/246.29 reduce(g(x_1)) -> check_g(redex_g(x_1)) 395.04/246.29 reduce(a) -> go_up(f(a)) 395.04/246.29 reduce(a) -> go_up(g(a)) 395.04/246.29 redex_g(g(g(x))) -> result_g(b) 395.04/246.29 redex_g(f(f(g(x)))) -> result_g(b) 395.04/246.29 redex_g(f(g(f(x)))) -> result_g(b) 395.04/246.29 check_g(result_g(x)) -> go_up(x) 395.04/246.29 check_g(redex_g(x_1)) -> in_g_1(reduce(x_1)) 395.04/246.29 in_g_1(go_up(x_1)) -> go_up(g(x_1)) 395.04/246.29 redex_f(f(f(x))) -> result_f(b) 395.04/246.29 redex_f(g(g(f(x)))) -> result_f(b) 395.04/246.29 check_f(result_f(x)) -> go_up(x) 395.04/246.29 check_f(redex_f(x_1)) -> in_f_1(reduce(x_1)) 395.04/246.29 in_f_1(go_up(x_1)) -> go_up(f(x_1)) 395.04/246.29 395.04/246.29 The set Q consists of the following terms: 395.04/246.29 395.04/246.29 reduce(f(x0)) 395.04/246.29 reduce(g(x0)) 395.04/246.29 reduce(a) 395.04/246.29 redex_f(f(f(x0))) 395.04/246.29 redex_g(g(g(x0))) 395.04/246.29 redex_g(f(f(g(x0)))) 395.04/246.29 redex_f(g(g(f(x0)))) 395.04/246.29 redex_g(f(g(f(x0)))) 395.04/246.29 check_f(result_f(x0)) 395.04/246.29 check_g(result_g(x0)) 395.04/246.29 check_f(redex_f(x0)) 395.04/246.29 check_g(redex_g(x0)) 395.04/246.29 in_f_1(go_up(x0)) 395.04/246.29 in_g_1(go_up(x0)) 395.04/246.29 395.04/246.29 We have to consider all minimal (P,Q,R)-chains. 395.04/246.29 ---------------------------------------- 395.04/246.29 395.04/246.29 (29) Trivial-Transformation (SOUND) 395.04/246.29 We applied the Trivial transformation to transform the outermost TRS to a standard TRS. 395.04/246.29 ---------------------------------------- 395.04/246.29 395.04/246.29 (30) 395.04/246.29 Obligation: 395.04/246.29 Q restricted rewrite system: 395.04/246.29 The TRS R consists of the following rules: 395.04/246.29 395.04/246.29 a -> f(a) 395.04/246.29 a -> g(a) 395.04/246.29 f(f(f(x))) -> b 395.04/246.29 g(g(g(x))) -> b 395.04/246.29 g(f(f(g(x)))) -> b 395.04/246.29 f(g(g(f(x)))) -> b 395.04/246.29 g(f(g(f(x)))) -> b 395.04/246.29 395.04/246.29 Q is empty. 395.04/246.29 395.04/246.29 ---------------------------------------- 395.04/246.29 395.04/246.29 (31) DependencyPairsProof (EQUIVALENT) 395.04/246.29 Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. 395.04/246.29 ---------------------------------------- 395.04/246.29 395.04/246.29 (32) 395.04/246.29 Obligation: 395.04/246.29 Q DP problem: 395.04/246.29 The TRS P consists of the following rules: 395.04/246.29 395.04/246.29 A -> F(a) 395.04/246.29 A -> A 395.04/246.29 A -> G(a) 395.04/246.29 395.04/246.29 The TRS R consists of the following rules: 395.04/246.29 395.04/246.29 a -> f(a) 395.04/246.29 a -> g(a) 395.04/246.29 f(f(f(x))) -> b 395.04/246.29 g(g(g(x))) -> b 395.04/246.29 g(f(f(g(x)))) -> b 395.04/246.29 f(g(g(f(x)))) -> b 395.04/246.29 g(f(g(f(x)))) -> b 395.04/246.29 395.04/246.29 Q is empty. 395.04/246.29 We have to consider all minimal (P,Q,R)-chains. 395.04/246.29 ---------------------------------------- 395.04/246.29 395.04/246.29 (33) DependencyGraphProof (EQUIVALENT) 395.04/246.29 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. 395.04/246.29 ---------------------------------------- 395.04/246.29 395.04/246.29 (34) 395.04/246.29 Obligation: 395.04/246.29 Q DP problem: 395.04/246.29 The TRS P consists of the following rules: 395.04/246.29 395.04/246.29 A -> A 395.04/246.29 395.04/246.29 The TRS R consists of the following rules: 395.04/246.29 395.04/246.29 a -> f(a) 395.04/246.29 a -> g(a) 395.04/246.29 f(f(f(x))) -> b 395.04/246.29 g(g(g(x))) -> b 395.04/246.29 g(f(f(g(x)))) -> b 395.04/246.29 f(g(g(f(x)))) -> b 395.04/246.29 g(f(g(f(x)))) -> b 395.04/246.29 395.04/246.29 Q is empty. 395.04/246.29 We have to consider all minimal (P,Q,R)-chains. 395.04/246.29 ---------------------------------------- 395.04/246.29 395.04/246.29 (35) UsableRulesProof (EQUIVALENT) 395.04/246.29 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. 395.04/246.29 ---------------------------------------- 395.04/246.29 395.04/246.29 (36) 395.04/246.29 Obligation: 395.04/246.29 Q DP problem: 395.04/246.29 The TRS P consists of the following rules: 395.04/246.29 395.04/246.29 A -> A 395.04/246.29 395.04/246.29 R is empty. 395.04/246.29 Q is empty. 395.04/246.29 We have to consider all minimal (P,Q,R)-chains. 395.04/246.29 ---------------------------------------- 395.04/246.29 395.04/246.29 (37) NonTerminationLoopProof (COMPLETE) 395.04/246.29 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 395.04/246.29 Found a loop by semiunifying a rule from P directly. 395.04/246.29 395.04/246.29 s = A evaluates to t =A 395.04/246.29 395.04/246.29 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 395.04/246.29 * Matcher: [ ] 395.04/246.29 * Semiunifier: [ ] 395.04/246.29 395.04/246.29 -------------------------------------------------------------------------------- 395.04/246.29 Rewriting sequence 395.04/246.29 395.04/246.29 The DP semiunifies directly so there is only one rewrite step from A to A. 395.04/246.29 395.04/246.29 395.04/246.29 395.04/246.29 395.04/246.29 ---------------------------------------- 395.04/246.29 395.04/246.29 (38) 395.04/246.29 NO 395.04/246.29 395.04/246.29 ---------------------------------------- 395.04/246.29 395.04/246.29 (39) Raffelsieper-Zantema-Transformation (SOUND) 395.04/246.29 We applied the Raffelsieper-Zantema transformation to transform the outermost TRS to a standard TRS. 395.04/246.29 ---------------------------------------- 395.04/246.29 395.04/246.29 (40) 395.04/246.29 Obligation: 395.04/246.29 Q restricted rewrite system: 395.04/246.29 The TRS R consists of the following rules: 395.04/246.29 395.04/246.29 down(a) -> up(f(a)) 395.04/246.29 down(a) -> up(g(a)) 395.04/246.29 down(f(f(f(x)))) -> up(b) 395.04/246.29 down(g(g(g(x)))) -> up(b) 395.04/246.29 down(g(f(f(g(x))))) -> up(b) 395.04/246.29 down(f(g(g(f(x))))) -> up(b) 395.04/246.29 down(g(f(g(f(x))))) -> up(b) 395.04/246.29 top(up(x)) -> top(down(x)) 395.04/246.29 down(f(a)) -> f_flat(down(a)) 395.04/246.29 down(f(b)) -> f_flat(down(b)) 395.04/246.29 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 395.04/246.29 down(g(a)) -> g_flat(down(a)) 395.04/246.29 down(g(b)) -> g_flat(down(b)) 395.04/246.29 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 395.04/246.29 down(f(f(a))) -> f_flat(down(f(a))) 395.04/246.29 down(f(f(g(y10)))) -> f_flat(down(f(g(y10)))) 395.04/246.29 down(f(f(b))) -> f_flat(down(f(b))) 395.04/246.29 down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) 395.04/246.29 down(f(g(a))) -> f_flat(down(g(a))) 395.04/246.29 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.04/246.29 down(f(g(b))) -> f_flat(down(g(b))) 395.04/246.29 down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) 395.04/246.29 down(g(f(a))) -> g_flat(down(f(a))) 395.04/246.29 down(g(f(b))) -> g_flat(down(f(b))) 395.04/246.29 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.04/246.29 down(g(g(a))) -> g_flat(down(g(a))) 395.04/246.29 down(g(g(f(y18)))) -> g_flat(down(g(f(y18)))) 395.04/246.29 down(g(g(b))) -> g_flat(down(g(b))) 395.04/246.29 down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) 395.04/246.29 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.04/246.29 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.04/246.29 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.04/246.29 down(f(g(g(fresh_constant)))) -> f_flat(down(g(g(fresh_constant)))) 395.04/246.29 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.04/246.29 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.04/246.29 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.04/246.29 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.04/246.29 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.04/246.29 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.04/246.29 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.04/246.29 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.04/246.29 f_flat(up(x_1)) -> up(f(x_1)) 395.04/246.29 g_flat(up(x_1)) -> up(g(x_1)) 395.04/246.29 395.04/246.29 Q is empty. 395.04/246.29 395.04/246.29 ---------------------------------------- 395.04/246.29 395.04/246.29 (41) DependencyPairsProof (EQUIVALENT) 395.04/246.29 Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. 395.04/246.29 ---------------------------------------- 395.04/246.29 395.04/246.29 (42) 395.04/246.29 Obligation: 395.04/246.29 Q DP problem: 395.04/246.29 The TRS P consists of the following rules: 395.04/246.29 395.04/246.29 TOP(up(x)) -> TOP(down(x)) 395.04/246.29 TOP(up(x)) -> DOWN(x) 395.04/246.29 DOWN(f(a)) -> F_FLAT(down(a)) 395.04/246.29 DOWN(f(a)) -> DOWN(a) 395.04/246.29 DOWN(f(b)) -> F_FLAT(down(b)) 395.04/246.29 DOWN(f(b)) -> DOWN(b) 395.04/246.29 DOWN(f(fresh_constant)) -> F_FLAT(down(fresh_constant)) 395.04/246.29 DOWN(f(fresh_constant)) -> DOWN(fresh_constant) 395.04/246.29 DOWN(g(a)) -> G_FLAT(down(a)) 395.04/246.29 DOWN(g(a)) -> DOWN(a) 395.04/246.29 DOWN(g(b)) -> G_FLAT(down(b)) 395.04/246.29 DOWN(g(b)) -> DOWN(b) 395.04/246.29 DOWN(g(fresh_constant)) -> G_FLAT(down(fresh_constant)) 395.04/246.29 DOWN(g(fresh_constant)) -> DOWN(fresh_constant) 395.04/246.29 DOWN(f(f(a))) -> F_FLAT(down(f(a))) 395.04/246.29 DOWN(f(f(a))) -> DOWN(f(a)) 395.04/246.29 DOWN(f(f(g(y10)))) -> F_FLAT(down(f(g(y10)))) 395.04/246.29 DOWN(f(f(g(y10)))) -> DOWN(f(g(y10))) 395.04/246.29 DOWN(f(f(b))) -> F_FLAT(down(f(b))) 395.04/246.29 DOWN(f(f(b))) -> DOWN(f(b)) 395.04/246.29 DOWN(f(f(fresh_constant))) -> F_FLAT(down(f(fresh_constant))) 395.04/246.29 DOWN(f(f(fresh_constant))) -> DOWN(f(fresh_constant)) 395.04/246.29 DOWN(f(g(a))) -> F_FLAT(down(g(a))) 395.04/246.29 DOWN(f(g(a))) -> DOWN(g(a)) 395.04/246.29 DOWN(f(g(f(y12)))) -> F_FLAT(down(g(f(y12)))) 395.04/246.29 DOWN(f(g(f(y12)))) -> DOWN(g(f(y12))) 395.04/246.29 DOWN(f(g(b))) -> F_FLAT(down(g(b))) 395.04/246.29 DOWN(f(g(b))) -> DOWN(g(b)) 395.04/246.29 DOWN(f(g(fresh_constant))) -> F_FLAT(down(g(fresh_constant))) 395.04/246.29 DOWN(f(g(fresh_constant))) -> DOWN(g(fresh_constant)) 395.04/246.29 DOWN(g(f(a))) -> G_FLAT(down(f(a))) 395.04/246.29 DOWN(g(f(a))) -> DOWN(f(a)) 395.04/246.29 DOWN(g(f(b))) -> G_FLAT(down(f(b))) 395.04/246.29 DOWN(g(f(b))) -> DOWN(f(b)) 395.04/246.29 DOWN(g(f(fresh_constant))) -> G_FLAT(down(f(fresh_constant))) 395.04/246.29 DOWN(g(f(fresh_constant))) -> DOWN(f(fresh_constant)) 395.04/246.29 DOWN(g(g(a))) -> G_FLAT(down(g(a))) 395.04/246.29 DOWN(g(g(a))) -> DOWN(g(a)) 395.04/246.29 DOWN(g(g(f(y18)))) -> G_FLAT(down(g(f(y18)))) 395.04/246.29 DOWN(g(g(f(y18)))) -> DOWN(g(f(y18))) 395.04/246.29 DOWN(g(g(b))) -> G_FLAT(down(g(b))) 395.04/246.29 DOWN(g(g(b))) -> DOWN(g(b)) 395.04/246.29 DOWN(g(g(fresh_constant))) -> G_FLAT(down(g(fresh_constant))) 395.04/246.29 DOWN(g(g(fresh_constant))) -> DOWN(g(fresh_constant)) 395.04/246.29 DOWN(f(g(g(a)))) -> F_FLAT(down(g(g(a)))) 395.04/246.29 DOWN(f(g(g(a)))) -> DOWN(g(g(a))) 395.04/246.29 DOWN(f(g(g(g(y22))))) -> F_FLAT(down(g(g(g(y22))))) 395.04/246.29 DOWN(f(g(g(g(y22))))) -> DOWN(g(g(g(y22)))) 395.04/246.29 DOWN(f(g(g(b)))) -> F_FLAT(down(g(g(b)))) 395.04/246.29 DOWN(f(g(g(b)))) -> DOWN(g(g(b))) 395.04/246.29 DOWN(f(g(g(fresh_constant)))) -> F_FLAT(down(g(g(fresh_constant)))) 395.04/246.29 DOWN(f(g(g(fresh_constant)))) -> DOWN(g(g(fresh_constant))) 395.04/246.29 DOWN(g(f(f(a)))) -> G_FLAT(down(f(f(a)))) 395.04/246.29 DOWN(g(f(f(a)))) -> DOWN(f(f(a))) 395.04/246.29 DOWN(g(f(f(f(y24))))) -> G_FLAT(down(f(f(f(y24))))) 395.04/246.29 DOWN(g(f(f(f(y24))))) -> DOWN(f(f(f(y24)))) 395.04/246.29 DOWN(g(f(f(b)))) -> G_FLAT(down(f(f(b)))) 395.04/246.29 DOWN(g(f(f(b)))) -> DOWN(f(f(b))) 395.04/246.29 DOWN(g(f(f(fresh_constant)))) -> G_FLAT(down(f(f(fresh_constant)))) 395.04/246.29 DOWN(g(f(f(fresh_constant)))) -> DOWN(f(f(fresh_constant))) 395.04/246.29 DOWN(g(f(g(a)))) -> G_FLAT(down(f(g(a)))) 395.04/246.29 DOWN(g(f(g(a)))) -> DOWN(f(g(a))) 395.04/246.29 DOWN(g(f(g(g(y28))))) -> G_FLAT(down(f(g(g(y28))))) 395.04/246.29 DOWN(g(f(g(g(y28))))) -> DOWN(f(g(g(y28)))) 395.04/246.29 DOWN(g(f(g(b)))) -> G_FLAT(down(f(g(b)))) 395.04/246.29 DOWN(g(f(g(b)))) -> DOWN(f(g(b))) 395.04/246.29 DOWN(g(f(g(fresh_constant)))) -> G_FLAT(down(f(g(fresh_constant)))) 395.04/246.29 DOWN(g(f(g(fresh_constant)))) -> DOWN(f(g(fresh_constant))) 395.04/246.29 395.04/246.29 The TRS R consists of the following rules: 395.04/246.29 395.04/246.29 down(a) -> up(f(a)) 395.04/246.29 down(a) -> up(g(a)) 395.04/246.29 down(f(f(f(x)))) -> up(b) 395.04/246.29 down(g(g(g(x)))) -> up(b) 395.04/246.29 down(g(f(f(g(x))))) -> up(b) 395.04/246.29 down(f(g(g(f(x))))) -> up(b) 395.04/246.29 down(g(f(g(f(x))))) -> up(b) 395.04/246.29 top(up(x)) -> top(down(x)) 395.04/246.29 down(f(a)) -> f_flat(down(a)) 395.04/246.29 down(f(b)) -> f_flat(down(b)) 395.04/246.29 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 395.04/246.29 down(g(a)) -> g_flat(down(a)) 395.04/246.29 down(g(b)) -> g_flat(down(b)) 395.04/246.29 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 395.04/246.29 down(f(f(a))) -> f_flat(down(f(a))) 395.04/246.29 down(f(f(g(y10)))) -> f_flat(down(f(g(y10)))) 395.04/246.29 down(f(f(b))) -> f_flat(down(f(b))) 395.04/246.29 down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) 395.04/246.29 down(f(g(a))) -> f_flat(down(g(a))) 395.04/246.29 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.04/246.29 down(f(g(b))) -> f_flat(down(g(b))) 395.04/246.29 down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) 395.04/246.29 down(g(f(a))) -> g_flat(down(f(a))) 395.04/246.29 down(g(f(b))) -> g_flat(down(f(b))) 395.04/246.29 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.04/246.29 down(g(g(a))) -> g_flat(down(g(a))) 395.04/246.29 down(g(g(f(y18)))) -> g_flat(down(g(f(y18)))) 395.04/246.29 down(g(g(b))) -> g_flat(down(g(b))) 395.04/246.29 down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) 395.04/246.29 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.04/246.29 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.04/246.29 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.04/246.29 down(f(g(g(fresh_constant)))) -> f_flat(down(g(g(fresh_constant)))) 395.04/246.29 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.04/246.29 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.04/246.29 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.04/246.29 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.04/246.29 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.04/246.29 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.04/246.29 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.04/246.29 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.04/246.29 f_flat(up(x_1)) -> up(f(x_1)) 395.04/246.29 g_flat(up(x_1)) -> up(g(x_1)) 395.04/246.29 395.04/246.29 Q is empty. 395.04/246.29 We have to consider all minimal (P,Q,R)-chains. 395.04/246.29 ---------------------------------------- 395.04/246.29 395.04/246.29 (43) DependencyGraphProof (EQUIVALENT) 395.04/246.29 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 67 less nodes. 395.04/246.29 ---------------------------------------- 395.04/246.29 395.04/246.29 (44) 395.04/246.29 Obligation: 395.04/246.29 Q DP problem: 395.04/246.29 The TRS P consists of the following rules: 395.04/246.29 395.04/246.29 TOP(up(x)) -> TOP(down(x)) 395.04/246.29 395.04/246.29 The TRS R consists of the following rules: 395.04/246.29 395.04/246.29 down(a) -> up(f(a)) 395.04/246.29 down(a) -> up(g(a)) 395.04/246.29 down(f(f(f(x)))) -> up(b) 395.04/246.29 down(g(g(g(x)))) -> up(b) 395.04/246.29 down(g(f(f(g(x))))) -> up(b) 395.04/246.29 down(f(g(g(f(x))))) -> up(b) 395.04/246.29 down(g(f(g(f(x))))) -> up(b) 395.04/246.29 top(up(x)) -> top(down(x)) 395.04/246.29 down(f(a)) -> f_flat(down(a)) 395.04/246.29 down(f(b)) -> f_flat(down(b)) 395.04/246.29 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 395.04/246.29 down(g(a)) -> g_flat(down(a)) 395.04/246.29 down(g(b)) -> g_flat(down(b)) 395.04/246.29 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 395.04/246.29 down(f(f(a))) -> f_flat(down(f(a))) 395.04/246.29 down(f(f(g(y10)))) -> f_flat(down(f(g(y10)))) 395.04/246.29 down(f(f(b))) -> f_flat(down(f(b))) 395.04/246.29 down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) 395.04/246.29 down(f(g(a))) -> f_flat(down(g(a))) 395.04/246.29 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.04/246.29 down(f(g(b))) -> f_flat(down(g(b))) 395.04/246.29 down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) 395.04/246.29 down(g(f(a))) -> g_flat(down(f(a))) 395.04/246.29 down(g(f(b))) -> g_flat(down(f(b))) 395.04/246.29 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.04/246.29 down(g(g(a))) -> g_flat(down(g(a))) 395.04/246.29 down(g(g(f(y18)))) -> g_flat(down(g(f(y18)))) 395.04/246.29 down(g(g(b))) -> g_flat(down(g(b))) 395.04/246.29 down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) 395.04/246.29 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.04/246.29 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.04/246.29 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.04/246.29 down(f(g(g(fresh_constant)))) -> f_flat(down(g(g(fresh_constant)))) 395.04/246.29 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.04/246.29 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.04/246.29 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.04/246.29 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.04/246.29 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.04/246.29 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.04/246.29 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.04/246.29 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.04/246.29 f_flat(up(x_1)) -> up(f(x_1)) 395.04/246.29 g_flat(up(x_1)) -> up(g(x_1)) 395.04/246.29 395.04/246.29 Q is empty. 395.04/246.29 We have to consider all minimal (P,Q,R)-chains. 395.04/246.29 ---------------------------------------- 395.04/246.29 395.04/246.29 (45) UsableRulesProof (EQUIVALENT) 395.04/246.29 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. 395.04/246.29 ---------------------------------------- 395.04/246.29 395.04/246.29 (46) 395.04/246.29 Obligation: 395.04/246.29 Q DP problem: 395.04/246.29 The TRS P consists of the following rules: 395.04/246.29 395.04/246.29 TOP(up(x)) -> TOP(down(x)) 395.04/246.29 395.04/246.29 The TRS R consists of the following rules: 395.04/246.29 395.04/246.29 down(a) -> up(f(a)) 395.04/246.29 down(a) -> up(g(a)) 395.04/246.29 down(f(f(f(x)))) -> up(b) 395.04/246.29 down(g(g(g(x)))) -> up(b) 395.04/246.29 down(g(f(f(g(x))))) -> up(b) 395.04/246.29 down(f(g(g(f(x))))) -> up(b) 395.04/246.29 down(g(f(g(f(x))))) -> up(b) 395.04/246.29 down(f(a)) -> f_flat(down(a)) 395.04/246.29 down(f(b)) -> f_flat(down(b)) 395.04/246.29 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 395.04/246.29 down(g(a)) -> g_flat(down(a)) 395.04/246.29 down(g(b)) -> g_flat(down(b)) 395.04/246.29 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 395.04/246.29 down(f(f(a))) -> f_flat(down(f(a))) 395.04/246.29 down(f(f(g(y10)))) -> f_flat(down(f(g(y10)))) 395.04/246.29 down(f(f(b))) -> f_flat(down(f(b))) 395.04/246.29 down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) 395.04/246.29 down(f(g(a))) -> f_flat(down(g(a))) 395.04/246.29 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.04/246.29 down(f(g(b))) -> f_flat(down(g(b))) 395.04/246.29 down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) 395.04/246.29 down(g(f(a))) -> g_flat(down(f(a))) 395.04/246.29 down(g(f(b))) -> g_flat(down(f(b))) 395.04/246.29 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.04/246.29 down(g(g(a))) -> g_flat(down(g(a))) 395.04/246.29 down(g(g(f(y18)))) -> g_flat(down(g(f(y18)))) 395.04/246.29 down(g(g(b))) -> g_flat(down(g(b))) 395.04/246.29 down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) 395.04/246.29 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.04/246.29 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.04/246.29 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.04/246.29 down(f(g(g(fresh_constant)))) -> f_flat(down(g(g(fresh_constant)))) 395.04/246.29 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.04/246.29 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.04/246.29 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.04/246.29 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.04/246.29 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.04/246.29 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.04/246.29 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.04/246.29 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.04/246.29 g_flat(up(x_1)) -> up(g(x_1)) 395.04/246.29 f_flat(up(x_1)) -> up(f(x_1)) 395.04/246.29 395.04/246.29 Q is empty. 395.04/246.29 We have to consider all minimal (P,Q,R)-chains. 395.04/246.29 ---------------------------------------- 395.04/246.29 395.04/246.29 (47) TransformationProof (EQUIVALENT) 395.04/246.29 By narrowing [LPAR04] the rule TOP(up(x)) -> TOP(down(x)) at position [0] we obtained the following new rules [LPAR04]: 395.04/246.29 395.04/246.29 (TOP(up(a)) -> TOP(up(f(a))),TOP(up(a)) -> TOP(up(f(a)))) 395.04/246.29 (TOP(up(a)) -> TOP(up(g(a))),TOP(up(a)) -> TOP(up(g(a)))) 395.04/246.29 (TOP(up(f(f(f(x0))))) -> TOP(up(b)),TOP(up(f(f(f(x0))))) -> TOP(up(b))) 395.04/246.29 (TOP(up(g(g(g(x0))))) -> TOP(up(b)),TOP(up(g(g(g(x0))))) -> TOP(up(b))) 395.04/246.29 (TOP(up(g(f(f(g(x0)))))) -> TOP(up(b)),TOP(up(g(f(f(g(x0)))))) -> TOP(up(b))) 395.04/246.29 (TOP(up(f(g(g(f(x0)))))) -> TOP(up(b)),TOP(up(f(g(g(f(x0)))))) -> TOP(up(b))) 395.04/246.29 (TOP(up(g(f(g(f(x0)))))) -> TOP(up(b)),TOP(up(g(f(g(f(x0)))))) -> TOP(up(b))) 395.04/246.29 (TOP(up(f(a))) -> TOP(f_flat(down(a))),TOP(up(f(a))) -> TOP(f_flat(down(a)))) 395.04/246.29 (TOP(up(f(b))) -> TOP(f_flat(down(b))),TOP(up(f(b))) -> TOP(f_flat(down(b)))) 395.04/246.29 (TOP(up(f(fresh_constant))) -> TOP(f_flat(down(fresh_constant))),TOP(up(f(fresh_constant))) -> TOP(f_flat(down(fresh_constant)))) 395.04/246.29 (TOP(up(g(a))) -> TOP(g_flat(down(a))),TOP(up(g(a))) -> TOP(g_flat(down(a)))) 395.04/246.29 (TOP(up(g(b))) -> TOP(g_flat(down(b))),TOP(up(g(b))) -> TOP(g_flat(down(b)))) 395.04/246.29 (TOP(up(g(fresh_constant))) -> TOP(g_flat(down(fresh_constant))),TOP(up(g(fresh_constant))) -> TOP(g_flat(down(fresh_constant)))) 395.04/246.29 (TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))),TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a))))) 395.04/246.29 (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)))))) 395.04/246.29 (TOP(up(f(f(b)))) -> TOP(f_flat(down(f(b)))),TOP(up(f(f(b)))) -> TOP(f_flat(down(f(b))))) 395.04/246.29 (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))))) 395.04/246.29 (TOP(up(f(g(a)))) -> TOP(f_flat(down(g(a)))),TOP(up(f(g(a)))) -> TOP(f_flat(down(g(a))))) 395.04/246.29 (TOP(up(f(g(f(x0))))) -> TOP(f_flat(down(g(f(x0))))),TOP(up(f(g(f(x0))))) -> TOP(f_flat(down(g(f(x0)))))) 395.04/246.29 (TOP(up(f(g(b)))) -> TOP(f_flat(down(g(b)))),TOP(up(f(g(b)))) -> TOP(f_flat(down(g(b))))) 395.04/246.29 (TOP(up(f(g(fresh_constant)))) -> TOP(f_flat(down(g(fresh_constant)))),TOP(up(f(g(fresh_constant)))) -> TOP(f_flat(down(g(fresh_constant))))) 395.04/246.29 (TOP(up(g(f(a)))) -> TOP(g_flat(down(f(a)))),TOP(up(g(f(a)))) -> TOP(g_flat(down(f(a))))) 395.04/246.29 (TOP(up(g(f(b)))) -> TOP(g_flat(down(f(b)))),TOP(up(g(f(b)))) -> TOP(g_flat(down(f(b))))) 395.04/246.29 (TOP(up(g(f(fresh_constant)))) -> TOP(g_flat(down(f(fresh_constant)))),TOP(up(g(f(fresh_constant)))) -> TOP(g_flat(down(f(fresh_constant))))) 395.04/246.29 (TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))),TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a))))) 395.04/246.29 (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)))))) 395.04/246.29 (TOP(up(g(g(b)))) -> TOP(g_flat(down(g(b)))),TOP(up(g(g(b)))) -> TOP(g_flat(down(g(b))))) 395.04/246.29 (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))))) 395.04/246.29 (TOP(up(f(g(g(a))))) -> TOP(f_flat(down(g(g(a))))),TOP(up(f(g(g(a))))) -> TOP(f_flat(down(g(g(a)))))) 395.04/246.29 (TOP(up(f(g(g(g(x0)))))) -> TOP(f_flat(down(g(g(g(x0)))))),TOP(up(f(g(g(g(x0)))))) -> TOP(f_flat(down(g(g(g(x0))))))) 395.04/246.29 (TOP(up(f(g(g(b))))) -> TOP(f_flat(down(g(g(b))))),TOP(up(f(g(g(b))))) -> TOP(f_flat(down(g(g(b)))))) 395.04/246.29 (TOP(up(f(g(g(fresh_constant))))) -> TOP(f_flat(down(g(g(fresh_constant))))),TOP(up(f(g(g(fresh_constant))))) -> TOP(f_flat(down(g(g(fresh_constant)))))) 395.04/246.29 (TOP(up(g(f(f(a))))) -> TOP(g_flat(down(f(f(a))))),TOP(up(g(f(f(a))))) -> TOP(g_flat(down(f(f(a)))))) 395.04/246.29 (TOP(up(g(f(f(f(x0)))))) -> TOP(g_flat(down(f(f(f(x0)))))),TOP(up(g(f(f(f(x0)))))) -> TOP(g_flat(down(f(f(f(x0))))))) 395.04/246.29 (TOP(up(g(f(f(b))))) -> TOP(g_flat(down(f(f(b))))),TOP(up(g(f(f(b))))) -> TOP(g_flat(down(f(f(b)))))) 395.04/246.29 (TOP(up(g(f(f(fresh_constant))))) -> TOP(g_flat(down(f(f(fresh_constant))))),TOP(up(g(f(f(fresh_constant))))) -> TOP(g_flat(down(f(f(fresh_constant)))))) 395.04/246.29 (TOP(up(g(f(g(a))))) -> TOP(g_flat(down(f(g(a))))),TOP(up(g(f(g(a))))) -> TOP(g_flat(down(f(g(a)))))) 395.04/246.29 (TOP(up(g(f(g(g(x0)))))) -> TOP(g_flat(down(f(g(g(x0)))))),TOP(up(g(f(g(g(x0)))))) -> TOP(g_flat(down(f(g(g(x0))))))) 395.04/246.29 (TOP(up(g(f(g(b))))) -> TOP(g_flat(down(f(g(b))))),TOP(up(g(f(g(b))))) -> TOP(g_flat(down(f(g(b)))))) 395.04/246.29 (TOP(up(g(f(g(fresh_constant))))) -> TOP(g_flat(down(f(g(fresh_constant))))),TOP(up(g(f(g(fresh_constant))))) -> TOP(g_flat(down(f(g(fresh_constant)))))) 395.04/246.29 395.04/246.29 395.04/246.29 ---------------------------------------- 395.04/246.29 395.04/246.29 (48) 395.04/246.29 Obligation: 395.04/246.29 Q DP problem: 395.04/246.29 The TRS P consists of the following rules: 395.04/246.29 395.04/246.29 TOP(up(a)) -> TOP(up(f(a))) 395.04/246.29 TOP(up(a)) -> TOP(up(g(a))) 395.04/246.29 TOP(up(f(f(f(x0))))) -> TOP(up(b)) 395.04/246.29 TOP(up(g(g(g(x0))))) -> TOP(up(b)) 395.04/246.29 TOP(up(g(f(f(g(x0)))))) -> TOP(up(b)) 395.04/246.29 TOP(up(f(g(g(f(x0)))))) -> TOP(up(b)) 395.04/246.29 TOP(up(g(f(g(f(x0)))))) -> TOP(up(b)) 395.04/246.29 TOP(up(f(a))) -> TOP(f_flat(down(a))) 395.04/246.29 TOP(up(f(b))) -> TOP(f_flat(down(b))) 395.04/246.29 TOP(up(f(fresh_constant))) -> TOP(f_flat(down(fresh_constant))) 395.04/246.29 TOP(up(g(a))) -> TOP(g_flat(down(a))) 395.04/246.29 TOP(up(g(b))) -> TOP(g_flat(down(b))) 395.04/246.29 TOP(up(g(fresh_constant))) -> TOP(g_flat(down(fresh_constant))) 395.04/246.29 TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) 395.04/246.29 TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) 395.04/246.29 TOP(up(f(f(b)))) -> TOP(f_flat(down(f(b)))) 395.04/246.29 TOP(up(f(f(fresh_constant)))) -> TOP(f_flat(down(f(fresh_constant)))) 395.04/246.29 TOP(up(f(g(a)))) -> TOP(f_flat(down(g(a)))) 395.04/246.29 TOP(up(f(g(f(x0))))) -> TOP(f_flat(down(g(f(x0))))) 395.04/246.29 TOP(up(f(g(b)))) -> TOP(f_flat(down(g(b)))) 395.04/246.29 TOP(up(f(g(fresh_constant)))) -> TOP(f_flat(down(g(fresh_constant)))) 395.04/246.29 TOP(up(g(f(a)))) -> TOP(g_flat(down(f(a)))) 395.04/246.29 TOP(up(g(f(b)))) -> TOP(g_flat(down(f(b)))) 395.04/246.29 TOP(up(g(f(fresh_constant)))) -> TOP(g_flat(down(f(fresh_constant)))) 395.04/246.29 TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) 395.04/246.29 TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) 395.04/246.29 TOP(up(g(g(b)))) -> TOP(g_flat(down(g(b)))) 395.04/246.29 TOP(up(g(g(fresh_constant)))) -> TOP(g_flat(down(g(fresh_constant)))) 395.04/246.29 TOP(up(f(g(g(a))))) -> TOP(f_flat(down(g(g(a))))) 395.04/246.29 TOP(up(f(g(g(g(x0)))))) -> TOP(f_flat(down(g(g(g(x0)))))) 395.04/246.29 TOP(up(f(g(g(b))))) -> TOP(f_flat(down(g(g(b))))) 395.04/246.29 TOP(up(f(g(g(fresh_constant))))) -> TOP(f_flat(down(g(g(fresh_constant))))) 395.04/246.29 TOP(up(g(f(f(a))))) -> TOP(g_flat(down(f(f(a))))) 395.04/246.29 TOP(up(g(f(f(f(x0)))))) -> TOP(g_flat(down(f(f(f(x0)))))) 395.04/246.29 TOP(up(g(f(f(b))))) -> TOP(g_flat(down(f(f(b))))) 395.04/246.29 TOP(up(g(f(f(fresh_constant))))) -> TOP(g_flat(down(f(f(fresh_constant))))) 395.04/246.29 TOP(up(g(f(g(a))))) -> TOP(g_flat(down(f(g(a))))) 395.04/246.29 TOP(up(g(f(g(g(x0)))))) -> TOP(g_flat(down(f(g(g(x0)))))) 395.04/246.29 TOP(up(g(f(g(b))))) -> TOP(g_flat(down(f(g(b))))) 395.04/246.29 TOP(up(g(f(g(fresh_constant))))) -> TOP(g_flat(down(f(g(fresh_constant))))) 395.04/246.29 395.04/246.29 The TRS R consists of the following rules: 395.04/246.29 395.04/246.29 down(a) -> up(f(a)) 395.04/246.29 down(a) -> up(g(a)) 395.04/246.29 down(f(f(f(x)))) -> up(b) 395.04/246.29 down(g(g(g(x)))) -> up(b) 395.04/246.29 down(g(f(f(g(x))))) -> up(b) 395.04/246.29 down(f(g(g(f(x))))) -> up(b) 395.04/246.29 down(g(f(g(f(x))))) -> up(b) 395.04/246.29 down(f(a)) -> f_flat(down(a)) 395.04/246.29 down(f(b)) -> f_flat(down(b)) 395.04/246.29 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 395.04/246.29 down(g(a)) -> g_flat(down(a)) 395.04/246.29 down(g(b)) -> g_flat(down(b)) 395.04/246.29 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 395.04/246.29 down(f(f(a))) -> f_flat(down(f(a))) 395.04/246.29 down(f(f(g(y10)))) -> f_flat(down(f(g(y10)))) 395.04/246.29 down(f(f(b))) -> f_flat(down(f(b))) 395.04/246.29 down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) 395.04/246.29 down(f(g(a))) -> f_flat(down(g(a))) 395.04/246.29 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.04/246.29 down(f(g(b))) -> f_flat(down(g(b))) 395.04/246.29 down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) 395.04/246.29 down(g(f(a))) -> g_flat(down(f(a))) 395.04/246.29 down(g(f(b))) -> g_flat(down(f(b))) 395.04/246.29 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.04/246.29 down(g(g(a))) -> g_flat(down(g(a))) 395.04/246.29 down(g(g(f(y18)))) -> g_flat(down(g(f(y18)))) 395.04/246.29 down(g(g(b))) -> g_flat(down(g(b))) 395.04/246.29 down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) 395.04/246.29 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.04/246.29 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.04/246.29 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.04/246.29 down(f(g(g(fresh_constant)))) -> f_flat(down(g(g(fresh_constant)))) 395.04/246.29 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.04/246.29 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.04/246.29 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.04/246.29 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.04/246.29 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.04/246.29 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.04/246.29 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.04/246.29 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.04/246.29 g_flat(up(x_1)) -> up(g(x_1)) 395.04/246.29 f_flat(up(x_1)) -> up(f(x_1)) 395.04/246.29 395.04/246.29 Q is empty. 395.04/246.29 We have to consider all minimal (P,Q,R)-chains. 395.04/246.29 ---------------------------------------- 395.04/246.29 395.04/246.29 (49) DependencyGraphProof (EQUIVALENT) 395.04/246.29 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 11 less nodes. 395.04/246.29 ---------------------------------------- 395.04/246.29 395.04/246.29 (50) 395.04/246.29 Obligation: 395.04/246.29 Q DP problem: 395.04/246.29 The TRS P consists of the following rules: 395.04/246.29 395.04/246.29 TOP(up(f(a))) -> TOP(f_flat(down(a))) 395.04/246.29 TOP(up(g(a))) -> TOP(g_flat(down(a))) 395.04/246.29 TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) 395.04/246.29 TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) 395.04/246.29 TOP(up(f(f(b)))) -> TOP(f_flat(down(f(b)))) 395.04/246.29 TOP(up(f(f(fresh_constant)))) -> TOP(f_flat(down(f(fresh_constant)))) 395.04/246.29 TOP(up(f(g(a)))) -> TOP(f_flat(down(g(a)))) 395.04/246.29 TOP(up(f(g(f(x0))))) -> TOP(f_flat(down(g(f(x0))))) 395.04/246.29 TOP(up(f(g(b)))) -> TOP(f_flat(down(g(b)))) 395.04/246.29 TOP(up(f(g(fresh_constant)))) -> TOP(f_flat(down(g(fresh_constant)))) 395.04/246.29 TOP(up(g(f(a)))) -> TOP(g_flat(down(f(a)))) 395.04/246.29 TOP(up(g(f(b)))) -> TOP(g_flat(down(f(b)))) 395.04/246.29 TOP(up(g(f(fresh_constant)))) -> TOP(g_flat(down(f(fresh_constant)))) 395.04/246.29 TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) 395.04/246.29 TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) 395.04/246.29 TOP(up(g(g(b)))) -> TOP(g_flat(down(g(b)))) 395.04/246.29 TOP(up(g(g(fresh_constant)))) -> TOP(g_flat(down(g(fresh_constant)))) 395.04/246.29 TOP(up(f(g(g(a))))) -> TOP(f_flat(down(g(g(a))))) 395.04/246.29 TOP(up(f(g(g(g(x0)))))) -> TOP(f_flat(down(g(g(g(x0)))))) 395.04/246.29 TOP(up(f(g(g(b))))) -> TOP(f_flat(down(g(g(b))))) 395.04/246.29 TOP(up(f(g(g(fresh_constant))))) -> TOP(f_flat(down(g(g(fresh_constant))))) 395.04/246.29 TOP(up(g(f(f(a))))) -> TOP(g_flat(down(f(f(a))))) 395.04/246.29 TOP(up(g(f(f(f(x0)))))) -> TOP(g_flat(down(f(f(f(x0)))))) 395.04/246.29 TOP(up(g(f(f(b))))) -> TOP(g_flat(down(f(f(b))))) 395.04/246.29 TOP(up(g(f(f(fresh_constant))))) -> TOP(g_flat(down(f(f(fresh_constant))))) 395.04/246.29 TOP(up(g(f(g(a))))) -> TOP(g_flat(down(f(g(a))))) 395.04/246.29 TOP(up(g(f(g(g(x0)))))) -> TOP(g_flat(down(f(g(g(x0)))))) 395.04/246.29 TOP(up(g(f(g(b))))) -> TOP(g_flat(down(f(g(b))))) 395.04/246.29 TOP(up(g(f(g(fresh_constant))))) -> TOP(g_flat(down(f(g(fresh_constant))))) 395.04/246.29 395.04/246.29 The TRS R consists of the following rules: 395.04/246.29 395.04/246.29 down(a) -> up(f(a)) 395.04/246.29 down(a) -> up(g(a)) 395.04/246.29 down(f(f(f(x)))) -> up(b) 395.04/246.29 down(g(g(g(x)))) -> up(b) 395.04/246.29 down(g(f(f(g(x))))) -> up(b) 395.04/246.29 down(f(g(g(f(x))))) -> up(b) 395.04/246.29 down(g(f(g(f(x))))) -> up(b) 395.04/246.29 down(f(a)) -> f_flat(down(a)) 395.04/246.29 down(f(b)) -> f_flat(down(b)) 395.04/246.29 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 395.04/246.29 down(g(a)) -> g_flat(down(a)) 395.04/246.29 down(g(b)) -> g_flat(down(b)) 395.04/246.29 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 395.04/246.29 down(f(f(a))) -> f_flat(down(f(a))) 395.04/246.29 down(f(f(g(y10)))) -> f_flat(down(f(g(y10)))) 395.04/246.29 down(f(f(b))) -> f_flat(down(f(b))) 395.04/246.29 down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) 395.04/246.29 down(f(g(a))) -> f_flat(down(g(a))) 395.04/246.29 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.04/246.29 down(f(g(b))) -> f_flat(down(g(b))) 395.04/246.29 down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) 395.04/246.29 down(g(f(a))) -> g_flat(down(f(a))) 395.04/246.29 down(g(f(b))) -> g_flat(down(f(b))) 395.04/246.29 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.04/246.29 down(g(g(a))) -> g_flat(down(g(a))) 395.04/246.29 down(g(g(f(y18)))) -> g_flat(down(g(f(y18)))) 395.04/246.29 down(g(g(b))) -> g_flat(down(g(b))) 395.04/246.29 down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) 395.04/246.29 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.04/246.29 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.04/246.29 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.04/246.29 down(f(g(g(fresh_constant)))) -> f_flat(down(g(g(fresh_constant)))) 395.04/246.29 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.04/246.29 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.04/246.29 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.04/246.29 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.04/246.29 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.04/246.29 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.04/246.29 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.04/246.29 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.04/246.29 g_flat(up(x_1)) -> up(g(x_1)) 395.04/246.29 f_flat(up(x_1)) -> up(f(x_1)) 395.04/246.29 395.04/246.29 Q is empty. 395.04/246.29 We have to consider all minimal (P,Q,R)-chains. 395.04/246.29 ---------------------------------------- 395.04/246.29 395.04/246.29 (51) UsableRulesProof (EQUIVALENT) 395.04/246.29 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. 395.04/246.29 ---------------------------------------- 395.04/246.29 395.04/246.29 (52) 395.04/246.29 Obligation: 395.04/246.29 Q DP problem: 395.04/246.29 The TRS P consists of the following rules: 395.04/246.29 395.04/246.29 TOP(up(f(a))) -> TOP(f_flat(down(a))) 395.04/246.29 TOP(up(g(a))) -> TOP(g_flat(down(a))) 395.04/246.29 TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) 395.04/246.29 TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) 395.04/246.29 TOP(up(f(f(b)))) -> TOP(f_flat(down(f(b)))) 395.04/246.29 TOP(up(f(f(fresh_constant)))) -> TOP(f_flat(down(f(fresh_constant)))) 395.04/246.29 TOP(up(f(g(a)))) -> TOP(f_flat(down(g(a)))) 395.04/246.29 TOP(up(f(g(f(x0))))) -> TOP(f_flat(down(g(f(x0))))) 395.04/246.29 TOP(up(f(g(b)))) -> TOP(f_flat(down(g(b)))) 395.04/246.29 TOP(up(f(g(fresh_constant)))) -> TOP(f_flat(down(g(fresh_constant)))) 395.04/246.29 TOP(up(g(f(a)))) -> TOP(g_flat(down(f(a)))) 395.04/246.29 TOP(up(g(f(b)))) -> TOP(g_flat(down(f(b)))) 395.04/246.29 TOP(up(g(f(fresh_constant)))) -> TOP(g_flat(down(f(fresh_constant)))) 395.04/246.29 TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) 395.04/246.29 TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) 395.04/246.29 TOP(up(g(g(b)))) -> TOP(g_flat(down(g(b)))) 395.04/246.29 TOP(up(g(g(fresh_constant)))) -> TOP(g_flat(down(g(fresh_constant)))) 395.04/246.29 TOP(up(f(g(g(a))))) -> TOP(f_flat(down(g(g(a))))) 395.04/246.29 TOP(up(f(g(g(g(x0)))))) -> TOP(f_flat(down(g(g(g(x0)))))) 395.04/246.29 TOP(up(f(g(g(b))))) -> TOP(f_flat(down(g(g(b))))) 395.04/246.29 TOP(up(f(g(g(fresh_constant))))) -> TOP(f_flat(down(g(g(fresh_constant))))) 395.04/246.29 TOP(up(g(f(f(a))))) -> TOP(g_flat(down(f(f(a))))) 395.04/246.29 TOP(up(g(f(f(f(x0)))))) -> TOP(g_flat(down(f(f(f(x0)))))) 395.04/246.29 TOP(up(g(f(f(b))))) -> TOP(g_flat(down(f(f(b))))) 395.04/246.29 TOP(up(g(f(f(fresh_constant))))) -> TOP(g_flat(down(f(f(fresh_constant))))) 395.04/246.29 TOP(up(g(f(g(a))))) -> TOP(g_flat(down(f(g(a))))) 395.04/246.29 TOP(up(g(f(g(g(x0)))))) -> TOP(g_flat(down(f(g(g(x0)))))) 395.04/246.29 TOP(up(g(f(g(b))))) -> TOP(g_flat(down(f(g(b))))) 395.04/246.29 TOP(up(g(f(g(fresh_constant))))) -> TOP(g_flat(down(f(g(fresh_constant))))) 395.04/246.29 395.04/246.29 The TRS R consists of the following rules: 395.04/246.29 395.04/246.29 down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) 395.04/246.29 g_flat(up(x_1)) -> up(g(x_1)) 395.04/246.29 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 395.04/246.29 f_flat(up(x_1)) -> up(f(x_1)) 395.04/246.29 down(f(g(b))) -> f_flat(down(g(b))) 395.04/246.29 down(g(b)) -> g_flat(down(b)) 395.04/246.29 down(f(g(g(f(x))))) -> up(b) 395.04/246.29 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.04/246.29 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.04/246.29 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.04/246.29 down(f(g(g(fresh_constant)))) -> f_flat(down(g(g(fresh_constant)))) 395.04/246.29 down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) 395.04/246.29 down(g(g(b))) -> g_flat(down(g(b))) 395.04/246.29 down(g(g(g(x)))) -> up(b) 395.04/246.29 down(g(g(a))) -> g_flat(down(g(a))) 395.04/246.29 down(g(a)) -> g_flat(down(a)) 395.04/246.29 down(a) -> up(f(a)) 395.04/246.29 down(a) -> up(g(a)) 395.04/246.29 down(f(g(a))) -> f_flat(down(g(a))) 395.04/246.29 down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) 395.04/246.29 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 395.04/246.29 down(f(f(b))) -> f_flat(down(f(b))) 395.04/246.29 down(f(b)) -> f_flat(down(b)) 395.04/246.29 down(f(f(f(x)))) -> up(b) 395.04/246.29 down(f(f(a))) -> f_flat(down(f(a))) 395.04/246.29 down(f(a)) -> f_flat(down(a)) 395.04/246.29 down(g(f(f(g(x))))) -> up(b) 395.04/246.29 down(g(f(g(f(x))))) -> up(b) 395.04/246.29 down(g(f(a))) -> g_flat(down(f(a))) 395.04/246.29 down(g(f(b))) -> g_flat(down(f(b))) 395.04/246.29 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.04/246.29 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.04/246.29 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.04/246.29 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.04/246.29 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.04/246.29 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.04/246.29 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.04/246.29 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.04/246.29 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.04/246.29 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.04/246.29 395.04/246.29 Q is empty. 395.04/246.29 We have to consider all minimal (P,Q,R)-chains. 395.04/246.29 ---------------------------------------- 395.04/246.29 395.04/246.29 (53) TransformationProof (EQUIVALENT) 395.04/246.29 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]: 395.04/246.29 395.04/246.29 (TOP(up(f(f(b)))) -> TOP(f_flat(f_flat(down(b)))),TOP(up(f(f(b)))) -> TOP(f_flat(f_flat(down(b))))) 395.04/246.29 395.04/246.29 395.04/246.29 ---------------------------------------- 395.04/246.29 395.04/246.29 (54) 395.04/246.29 Obligation: 395.04/246.29 Q DP problem: 395.04/246.29 The TRS P consists of the following rules: 395.04/246.29 395.04/246.29 TOP(up(f(a))) -> TOP(f_flat(down(a))) 395.04/246.29 TOP(up(g(a))) -> TOP(g_flat(down(a))) 395.04/246.29 TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) 395.04/246.29 TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) 395.04/246.29 TOP(up(f(f(fresh_constant)))) -> TOP(f_flat(down(f(fresh_constant)))) 395.04/246.29 TOP(up(f(g(a)))) -> TOP(f_flat(down(g(a)))) 395.04/246.29 TOP(up(f(g(f(x0))))) -> TOP(f_flat(down(g(f(x0))))) 395.04/246.29 TOP(up(f(g(b)))) -> TOP(f_flat(down(g(b)))) 395.04/246.29 TOP(up(f(g(fresh_constant)))) -> TOP(f_flat(down(g(fresh_constant)))) 395.04/246.29 TOP(up(g(f(a)))) -> TOP(g_flat(down(f(a)))) 395.04/246.29 TOP(up(g(f(b)))) -> TOP(g_flat(down(f(b)))) 395.04/246.29 TOP(up(g(f(fresh_constant)))) -> TOP(g_flat(down(f(fresh_constant)))) 395.04/246.29 TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) 395.04/246.29 TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) 395.04/246.29 TOP(up(g(g(b)))) -> TOP(g_flat(down(g(b)))) 395.04/246.29 TOP(up(g(g(fresh_constant)))) -> TOP(g_flat(down(g(fresh_constant)))) 395.04/246.29 TOP(up(f(g(g(a))))) -> TOP(f_flat(down(g(g(a))))) 395.04/246.29 TOP(up(f(g(g(g(x0)))))) -> TOP(f_flat(down(g(g(g(x0)))))) 395.04/246.29 TOP(up(f(g(g(b))))) -> TOP(f_flat(down(g(g(b))))) 395.04/246.29 TOP(up(f(g(g(fresh_constant))))) -> TOP(f_flat(down(g(g(fresh_constant))))) 395.04/246.29 TOP(up(g(f(f(a))))) -> TOP(g_flat(down(f(f(a))))) 395.04/246.29 TOP(up(g(f(f(f(x0)))))) -> TOP(g_flat(down(f(f(f(x0)))))) 395.04/246.29 TOP(up(g(f(f(b))))) -> TOP(g_flat(down(f(f(b))))) 395.04/246.29 TOP(up(g(f(f(fresh_constant))))) -> TOP(g_flat(down(f(f(fresh_constant))))) 395.04/246.29 TOP(up(g(f(g(a))))) -> TOP(g_flat(down(f(g(a))))) 395.04/246.29 TOP(up(g(f(g(g(x0)))))) -> TOP(g_flat(down(f(g(g(x0)))))) 395.04/246.29 TOP(up(g(f(g(b))))) -> TOP(g_flat(down(f(g(b))))) 395.04/246.29 TOP(up(g(f(g(fresh_constant))))) -> TOP(g_flat(down(f(g(fresh_constant))))) 395.04/246.29 TOP(up(f(f(b)))) -> TOP(f_flat(f_flat(down(b)))) 395.04/246.29 395.04/246.29 The TRS R consists of the following rules: 395.04/246.29 395.04/246.29 down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) 395.04/246.29 g_flat(up(x_1)) -> up(g(x_1)) 395.04/246.29 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 395.04/246.29 f_flat(up(x_1)) -> up(f(x_1)) 395.04/246.29 down(f(g(b))) -> f_flat(down(g(b))) 395.04/246.29 down(g(b)) -> g_flat(down(b)) 395.04/246.29 down(f(g(g(f(x))))) -> up(b) 395.04/246.29 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.04/246.29 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.04/246.29 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.04/246.29 down(f(g(g(fresh_constant)))) -> f_flat(down(g(g(fresh_constant)))) 395.04/246.29 down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) 395.04/246.29 down(g(g(b))) -> g_flat(down(g(b))) 395.04/246.29 down(g(g(g(x)))) -> up(b) 395.04/246.29 down(g(g(a))) -> g_flat(down(g(a))) 395.04/246.29 down(g(a)) -> g_flat(down(a)) 395.04/246.29 down(a) -> up(f(a)) 395.04/246.29 down(a) -> up(g(a)) 395.04/246.29 down(f(g(a))) -> f_flat(down(g(a))) 395.04/246.29 down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) 395.04/246.29 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 395.04/246.29 down(f(f(b))) -> f_flat(down(f(b))) 395.04/246.29 down(f(b)) -> f_flat(down(b)) 395.04/246.29 down(f(f(f(x)))) -> up(b) 395.04/246.29 down(f(f(a))) -> f_flat(down(f(a))) 395.04/246.29 down(f(a)) -> f_flat(down(a)) 395.04/246.29 down(g(f(f(g(x))))) -> up(b) 395.04/246.29 down(g(f(g(f(x))))) -> up(b) 395.04/246.29 down(g(f(a))) -> g_flat(down(f(a))) 395.04/246.29 down(g(f(b))) -> g_flat(down(f(b))) 395.04/246.29 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.04/246.29 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.04/246.29 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.04/246.29 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.04/246.29 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.04/246.29 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.04/246.29 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.04/246.29 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.04/246.29 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.04/246.29 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.04/246.29 395.04/246.29 Q is empty. 395.04/246.29 We have to consider all minimal (P,Q,R)-chains. 395.04/246.29 ---------------------------------------- 395.04/246.29 395.04/246.29 (55) DependencyGraphProof (EQUIVALENT) 395.04/246.29 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 395.04/246.29 ---------------------------------------- 395.04/246.29 395.04/246.29 (56) 395.04/246.29 Obligation: 395.04/246.29 Q DP problem: 395.04/246.29 The TRS P consists of the following rules: 395.04/246.29 395.04/246.29 TOP(up(f(a))) -> TOP(f_flat(down(a))) 395.04/246.29 TOP(up(g(a))) -> TOP(g_flat(down(a))) 395.04/246.29 TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) 395.04/246.29 TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) 395.04/246.29 TOP(up(f(f(fresh_constant)))) -> TOP(f_flat(down(f(fresh_constant)))) 395.04/246.29 TOP(up(f(g(a)))) -> TOP(f_flat(down(g(a)))) 395.04/246.29 TOP(up(f(g(f(x0))))) -> TOP(f_flat(down(g(f(x0))))) 395.04/246.29 TOP(up(f(g(b)))) -> TOP(f_flat(down(g(b)))) 395.04/246.29 TOP(up(f(g(fresh_constant)))) -> TOP(f_flat(down(g(fresh_constant)))) 395.04/246.29 TOP(up(g(f(a)))) -> TOP(g_flat(down(f(a)))) 395.04/246.29 TOP(up(g(f(b)))) -> TOP(g_flat(down(f(b)))) 395.04/246.29 TOP(up(g(f(fresh_constant)))) -> TOP(g_flat(down(f(fresh_constant)))) 395.04/246.29 TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) 395.04/246.29 TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) 395.04/246.29 TOP(up(g(g(b)))) -> TOP(g_flat(down(g(b)))) 395.04/246.29 TOP(up(g(g(fresh_constant)))) -> TOP(g_flat(down(g(fresh_constant)))) 395.04/246.29 TOP(up(f(g(g(a))))) -> TOP(f_flat(down(g(g(a))))) 395.04/246.29 TOP(up(f(g(g(g(x0)))))) -> TOP(f_flat(down(g(g(g(x0)))))) 395.04/246.29 TOP(up(f(g(g(b))))) -> TOP(f_flat(down(g(g(b))))) 395.04/246.29 TOP(up(f(g(g(fresh_constant))))) -> TOP(f_flat(down(g(g(fresh_constant))))) 395.04/246.29 TOP(up(g(f(f(a))))) -> TOP(g_flat(down(f(f(a))))) 395.04/246.29 TOP(up(g(f(f(f(x0)))))) -> TOP(g_flat(down(f(f(f(x0)))))) 395.04/246.29 TOP(up(g(f(f(b))))) -> TOP(g_flat(down(f(f(b))))) 395.04/246.29 TOP(up(g(f(f(fresh_constant))))) -> TOP(g_flat(down(f(f(fresh_constant))))) 395.04/246.29 TOP(up(g(f(g(a))))) -> TOP(g_flat(down(f(g(a))))) 395.04/246.29 TOP(up(g(f(g(g(x0)))))) -> TOP(g_flat(down(f(g(g(x0)))))) 395.04/246.29 TOP(up(g(f(g(b))))) -> TOP(g_flat(down(f(g(b))))) 395.04/246.29 TOP(up(g(f(g(fresh_constant))))) -> TOP(g_flat(down(f(g(fresh_constant))))) 395.04/246.29 395.04/246.29 The TRS R consists of the following rules: 395.04/246.29 395.04/246.29 down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) 395.04/246.29 g_flat(up(x_1)) -> up(g(x_1)) 395.04/246.29 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 395.04/246.29 f_flat(up(x_1)) -> up(f(x_1)) 395.04/246.29 down(f(g(b))) -> f_flat(down(g(b))) 395.04/246.29 down(g(b)) -> g_flat(down(b)) 395.04/246.29 down(f(g(g(f(x))))) -> up(b) 395.04/246.29 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.04/246.29 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.04/246.29 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.04/246.29 down(f(g(g(fresh_constant)))) -> f_flat(down(g(g(fresh_constant)))) 395.04/246.29 down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) 395.04/246.29 down(g(g(b))) -> g_flat(down(g(b))) 395.04/246.29 down(g(g(g(x)))) -> up(b) 395.04/246.29 down(g(g(a))) -> g_flat(down(g(a))) 395.04/246.29 down(g(a)) -> g_flat(down(a)) 395.04/246.29 down(a) -> up(f(a)) 395.04/246.29 down(a) -> up(g(a)) 395.04/246.29 down(f(g(a))) -> f_flat(down(g(a))) 395.04/246.29 down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) 395.04/246.29 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 395.04/246.29 down(f(f(b))) -> f_flat(down(f(b))) 395.04/246.29 down(f(b)) -> f_flat(down(b)) 395.04/246.29 down(f(f(f(x)))) -> up(b) 395.04/246.29 down(f(f(a))) -> f_flat(down(f(a))) 395.04/246.29 down(f(a)) -> f_flat(down(a)) 395.04/246.29 down(g(f(f(g(x))))) -> up(b) 395.04/246.29 down(g(f(g(f(x))))) -> up(b) 395.04/246.29 down(g(f(a))) -> g_flat(down(f(a))) 395.04/246.29 down(g(f(b))) -> g_flat(down(f(b))) 395.04/246.29 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.04/246.29 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.04/246.29 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.04/246.29 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.04/246.29 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.04/246.29 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.04/246.29 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.04/246.29 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.04/246.29 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.04/246.29 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.04/246.29 395.04/246.29 Q is empty. 395.04/246.29 We have to consider all minimal (P,Q,R)-chains. 395.04/246.29 ---------------------------------------- 395.04/246.29 395.04/246.29 (57) TransformationProof (EQUIVALENT) 395.04/246.29 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]: 395.04/246.29 395.04/246.29 (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))))) 395.04/246.29 395.04/246.29 395.04/246.29 ---------------------------------------- 395.04/246.29 395.04/246.29 (58) 395.04/246.29 Obligation: 395.04/246.29 Q DP problem: 395.04/246.29 The TRS P consists of the following rules: 395.04/246.29 395.04/246.29 TOP(up(f(a))) -> TOP(f_flat(down(a))) 395.04/246.29 TOP(up(g(a))) -> TOP(g_flat(down(a))) 395.04/246.29 TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) 395.04/246.29 TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) 395.04/246.29 TOP(up(f(g(a)))) -> TOP(f_flat(down(g(a)))) 395.04/246.29 TOP(up(f(g(f(x0))))) -> TOP(f_flat(down(g(f(x0))))) 395.04/246.29 TOP(up(f(g(b)))) -> TOP(f_flat(down(g(b)))) 395.04/246.29 TOP(up(f(g(fresh_constant)))) -> TOP(f_flat(down(g(fresh_constant)))) 395.04/246.29 TOP(up(g(f(a)))) -> TOP(g_flat(down(f(a)))) 395.04/246.29 TOP(up(g(f(b)))) -> TOP(g_flat(down(f(b)))) 395.04/246.29 TOP(up(g(f(fresh_constant)))) -> TOP(g_flat(down(f(fresh_constant)))) 395.04/246.29 TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) 395.04/246.29 TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) 395.04/246.29 TOP(up(g(g(b)))) -> TOP(g_flat(down(g(b)))) 395.04/246.29 TOP(up(g(g(fresh_constant)))) -> TOP(g_flat(down(g(fresh_constant)))) 395.04/246.29 TOP(up(f(g(g(a))))) -> TOP(f_flat(down(g(g(a))))) 395.04/246.29 TOP(up(f(g(g(g(x0)))))) -> TOP(f_flat(down(g(g(g(x0)))))) 395.04/246.29 TOP(up(f(g(g(b))))) -> TOP(f_flat(down(g(g(b))))) 395.04/246.29 TOP(up(f(g(g(fresh_constant))))) -> TOP(f_flat(down(g(g(fresh_constant))))) 395.04/246.29 TOP(up(g(f(f(a))))) -> TOP(g_flat(down(f(f(a))))) 395.04/246.29 TOP(up(g(f(f(f(x0)))))) -> TOP(g_flat(down(f(f(f(x0)))))) 395.04/246.29 TOP(up(g(f(f(b))))) -> TOP(g_flat(down(f(f(b))))) 395.04/246.29 TOP(up(g(f(f(fresh_constant))))) -> TOP(g_flat(down(f(f(fresh_constant))))) 395.04/246.29 TOP(up(g(f(g(a))))) -> TOP(g_flat(down(f(g(a))))) 395.04/246.29 TOP(up(g(f(g(g(x0)))))) -> TOP(g_flat(down(f(g(g(x0)))))) 395.04/246.29 TOP(up(g(f(g(b))))) -> TOP(g_flat(down(f(g(b))))) 395.04/246.29 TOP(up(g(f(g(fresh_constant))))) -> TOP(g_flat(down(f(g(fresh_constant))))) 395.04/246.29 TOP(up(f(f(fresh_constant)))) -> TOP(f_flat(f_flat(down(fresh_constant)))) 395.04/246.29 395.04/246.29 The TRS R consists of the following rules: 395.04/246.29 395.04/246.29 down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) 395.04/246.29 g_flat(up(x_1)) -> up(g(x_1)) 395.04/246.29 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 395.04/246.29 f_flat(up(x_1)) -> up(f(x_1)) 395.04/246.29 down(f(g(b))) -> f_flat(down(g(b))) 395.04/246.29 down(g(b)) -> g_flat(down(b)) 395.04/246.29 down(f(g(g(f(x))))) -> up(b) 395.04/246.29 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.04/246.29 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.04/246.29 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.04/246.29 down(f(g(g(fresh_constant)))) -> f_flat(down(g(g(fresh_constant)))) 395.04/246.29 down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) 395.04/246.29 down(g(g(b))) -> g_flat(down(g(b))) 395.04/246.29 down(g(g(g(x)))) -> up(b) 395.04/246.29 down(g(g(a))) -> g_flat(down(g(a))) 395.04/246.29 down(g(a)) -> g_flat(down(a)) 395.04/246.29 down(a) -> up(f(a)) 395.04/246.29 down(a) -> up(g(a)) 395.04/246.29 down(f(g(a))) -> f_flat(down(g(a))) 395.04/246.29 down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) 395.04/246.29 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 395.04/246.29 down(f(f(b))) -> f_flat(down(f(b))) 395.04/246.29 down(f(b)) -> f_flat(down(b)) 395.04/246.29 down(f(f(f(x)))) -> up(b) 395.04/246.29 down(f(f(a))) -> f_flat(down(f(a))) 395.04/246.29 down(f(a)) -> f_flat(down(a)) 395.04/246.29 down(g(f(f(g(x))))) -> up(b) 395.04/246.29 down(g(f(g(f(x))))) -> up(b) 395.04/246.29 down(g(f(a))) -> g_flat(down(f(a))) 395.04/246.29 down(g(f(b))) -> g_flat(down(f(b))) 395.04/246.29 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.04/246.29 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.04/246.29 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.04/246.29 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.04/246.29 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.04/246.29 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.04/246.29 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.04/246.29 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.04/246.29 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.04/246.29 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.04/246.29 395.04/246.29 Q is empty. 395.04/246.29 We have to consider all minimal (P,Q,R)-chains. 395.04/246.29 ---------------------------------------- 395.04/246.29 395.04/246.29 (59) DependencyGraphProof (EQUIVALENT) 395.04/246.29 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 395.04/246.29 ---------------------------------------- 395.04/246.29 395.04/246.29 (60) 395.04/246.29 Obligation: 395.04/246.29 Q DP problem: 395.04/246.29 The TRS P consists of the following rules: 395.04/246.29 395.04/246.29 TOP(up(f(a))) -> TOP(f_flat(down(a))) 395.04/246.29 TOP(up(g(a))) -> TOP(g_flat(down(a))) 395.04/246.29 TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) 395.04/246.29 TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) 395.04/246.29 TOP(up(f(g(a)))) -> TOP(f_flat(down(g(a)))) 395.04/246.29 TOP(up(f(g(f(x0))))) -> TOP(f_flat(down(g(f(x0))))) 395.04/246.29 TOP(up(f(g(b)))) -> TOP(f_flat(down(g(b)))) 395.04/246.29 TOP(up(f(g(fresh_constant)))) -> TOP(f_flat(down(g(fresh_constant)))) 395.04/246.29 TOP(up(g(f(a)))) -> TOP(g_flat(down(f(a)))) 395.04/246.29 TOP(up(g(f(b)))) -> TOP(g_flat(down(f(b)))) 395.04/246.29 TOP(up(g(f(fresh_constant)))) -> TOP(g_flat(down(f(fresh_constant)))) 395.04/246.29 TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) 395.04/246.29 TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) 395.04/246.29 TOP(up(g(g(b)))) -> TOP(g_flat(down(g(b)))) 395.04/246.29 TOP(up(g(g(fresh_constant)))) -> TOP(g_flat(down(g(fresh_constant)))) 395.04/246.29 TOP(up(f(g(g(a))))) -> TOP(f_flat(down(g(g(a))))) 395.04/246.29 TOP(up(f(g(g(g(x0)))))) -> TOP(f_flat(down(g(g(g(x0)))))) 395.04/246.29 TOP(up(f(g(g(b))))) -> TOP(f_flat(down(g(g(b))))) 395.04/246.29 TOP(up(f(g(g(fresh_constant))))) -> TOP(f_flat(down(g(g(fresh_constant))))) 395.04/246.29 TOP(up(g(f(f(a))))) -> TOP(g_flat(down(f(f(a))))) 395.04/246.29 TOP(up(g(f(f(f(x0)))))) -> TOP(g_flat(down(f(f(f(x0)))))) 395.04/246.29 TOP(up(g(f(f(b))))) -> TOP(g_flat(down(f(f(b))))) 395.04/246.29 TOP(up(g(f(f(fresh_constant))))) -> TOP(g_flat(down(f(f(fresh_constant))))) 395.04/246.29 TOP(up(g(f(g(a))))) -> TOP(g_flat(down(f(g(a))))) 395.04/246.29 TOP(up(g(f(g(g(x0)))))) -> TOP(g_flat(down(f(g(g(x0)))))) 395.04/246.29 TOP(up(g(f(g(b))))) -> TOP(g_flat(down(f(g(b))))) 395.04/246.29 TOP(up(g(f(g(fresh_constant))))) -> TOP(g_flat(down(f(g(fresh_constant))))) 395.04/246.29 395.04/246.29 The TRS R consists of the following rules: 395.04/246.29 395.04/246.29 down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) 395.04/246.29 g_flat(up(x_1)) -> up(g(x_1)) 395.04/246.29 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 395.04/246.29 f_flat(up(x_1)) -> up(f(x_1)) 395.04/246.29 down(f(g(b))) -> f_flat(down(g(b))) 395.04/246.29 down(g(b)) -> g_flat(down(b)) 395.04/246.29 down(f(g(g(f(x))))) -> up(b) 395.04/246.29 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.04/246.29 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.04/246.29 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.04/246.29 down(f(g(g(fresh_constant)))) -> f_flat(down(g(g(fresh_constant)))) 395.04/246.29 down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) 395.04/246.29 down(g(g(b))) -> g_flat(down(g(b))) 395.04/246.29 down(g(g(g(x)))) -> up(b) 395.04/246.29 down(g(g(a))) -> g_flat(down(g(a))) 395.04/246.29 down(g(a)) -> g_flat(down(a)) 395.04/246.29 down(a) -> up(f(a)) 395.04/246.29 down(a) -> up(g(a)) 395.04/246.29 down(f(g(a))) -> f_flat(down(g(a))) 395.04/246.29 down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) 395.04/246.29 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 395.04/246.29 down(f(f(b))) -> f_flat(down(f(b))) 395.04/246.29 down(f(b)) -> f_flat(down(b)) 395.04/246.29 down(f(f(f(x)))) -> up(b) 395.04/246.29 down(f(f(a))) -> f_flat(down(f(a))) 395.04/246.29 down(f(a)) -> f_flat(down(a)) 395.04/246.29 down(g(f(f(g(x))))) -> up(b) 395.04/246.29 down(g(f(g(f(x))))) -> up(b) 395.04/246.29 down(g(f(a))) -> g_flat(down(f(a))) 395.04/246.29 down(g(f(b))) -> g_flat(down(f(b))) 395.04/246.29 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.04/246.29 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.04/246.29 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.04/246.29 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.04/246.29 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.04/246.29 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.04/246.29 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.04/246.29 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.04/246.29 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.04/246.29 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.04/246.29 395.04/246.29 Q is empty. 395.04/246.29 We have to consider all minimal (P,Q,R)-chains. 395.04/246.29 ---------------------------------------- 395.04/246.29 395.04/246.29 (61) TransformationProof (EQUIVALENT) 395.04/246.29 By narrowing [LPAR04] the rule TOP(up(f(g(b)))) -> TOP(f_flat(down(g(b)))) at position [0] we obtained the following new rules [LPAR04]: 395.04/246.29 395.04/246.29 (TOP(up(f(g(b)))) -> TOP(f_flat(g_flat(down(b)))),TOP(up(f(g(b)))) -> TOP(f_flat(g_flat(down(b))))) 395.04/246.29 395.04/246.29 395.04/246.29 ---------------------------------------- 395.04/246.29 395.04/246.29 (62) 395.04/246.29 Obligation: 395.04/246.29 Q DP problem: 395.04/246.29 The TRS P consists of the following rules: 395.04/246.29 395.04/246.29 TOP(up(f(a))) -> TOP(f_flat(down(a))) 395.04/246.29 TOP(up(g(a))) -> TOP(g_flat(down(a))) 395.04/246.29 TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) 395.04/246.29 TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) 395.04/246.29 TOP(up(f(g(a)))) -> TOP(f_flat(down(g(a)))) 395.04/246.29 TOP(up(f(g(f(x0))))) -> TOP(f_flat(down(g(f(x0))))) 395.04/246.29 TOP(up(f(g(fresh_constant)))) -> TOP(f_flat(down(g(fresh_constant)))) 395.04/246.29 TOP(up(g(f(a)))) -> TOP(g_flat(down(f(a)))) 395.04/246.29 TOP(up(g(f(b)))) -> TOP(g_flat(down(f(b)))) 395.04/246.29 TOP(up(g(f(fresh_constant)))) -> TOP(g_flat(down(f(fresh_constant)))) 395.04/246.29 TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) 395.04/246.29 TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) 395.04/246.29 TOP(up(g(g(b)))) -> TOP(g_flat(down(g(b)))) 395.04/246.29 TOP(up(g(g(fresh_constant)))) -> TOP(g_flat(down(g(fresh_constant)))) 395.04/246.29 TOP(up(f(g(g(a))))) -> TOP(f_flat(down(g(g(a))))) 395.04/246.29 TOP(up(f(g(g(g(x0)))))) -> TOP(f_flat(down(g(g(g(x0)))))) 395.04/246.29 TOP(up(f(g(g(b))))) -> TOP(f_flat(down(g(g(b))))) 395.04/246.29 TOP(up(f(g(g(fresh_constant))))) -> TOP(f_flat(down(g(g(fresh_constant))))) 395.04/246.29 TOP(up(g(f(f(a))))) -> TOP(g_flat(down(f(f(a))))) 395.04/246.29 TOP(up(g(f(f(f(x0)))))) -> TOP(g_flat(down(f(f(f(x0)))))) 395.04/246.29 TOP(up(g(f(f(b))))) -> TOP(g_flat(down(f(f(b))))) 395.04/246.29 TOP(up(g(f(f(fresh_constant))))) -> TOP(g_flat(down(f(f(fresh_constant))))) 395.04/246.29 TOP(up(g(f(g(a))))) -> TOP(g_flat(down(f(g(a))))) 395.04/246.29 TOP(up(g(f(g(g(x0)))))) -> TOP(g_flat(down(f(g(g(x0)))))) 395.04/246.29 TOP(up(g(f(g(b))))) -> TOP(g_flat(down(f(g(b))))) 395.04/246.29 TOP(up(g(f(g(fresh_constant))))) -> TOP(g_flat(down(f(g(fresh_constant))))) 395.04/246.29 TOP(up(f(g(b)))) -> TOP(f_flat(g_flat(down(b)))) 395.04/246.29 395.04/246.29 The TRS R consists of the following rules: 395.04/246.29 395.04/246.29 down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) 395.04/246.29 g_flat(up(x_1)) -> up(g(x_1)) 395.04/246.29 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 395.04/246.29 f_flat(up(x_1)) -> up(f(x_1)) 395.04/246.29 down(f(g(b))) -> f_flat(down(g(b))) 395.04/246.29 down(g(b)) -> g_flat(down(b)) 395.04/246.29 down(f(g(g(f(x))))) -> up(b) 395.04/246.29 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.04/246.29 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.04/246.29 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.04/246.29 down(f(g(g(fresh_constant)))) -> f_flat(down(g(g(fresh_constant)))) 395.04/246.29 down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) 395.04/246.29 down(g(g(b))) -> g_flat(down(g(b))) 395.04/246.29 down(g(g(g(x)))) -> up(b) 395.04/246.29 down(g(g(a))) -> g_flat(down(g(a))) 395.04/246.29 down(g(a)) -> g_flat(down(a)) 395.04/246.29 down(a) -> up(f(a)) 395.04/246.29 down(a) -> up(g(a)) 395.04/246.29 down(f(g(a))) -> f_flat(down(g(a))) 395.04/246.29 down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) 395.04/246.29 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 395.04/246.29 down(f(f(b))) -> f_flat(down(f(b))) 395.04/246.29 down(f(b)) -> f_flat(down(b)) 395.04/246.29 down(f(f(f(x)))) -> up(b) 395.04/246.29 down(f(f(a))) -> f_flat(down(f(a))) 395.04/246.29 down(f(a)) -> f_flat(down(a)) 395.04/246.29 down(g(f(f(g(x))))) -> up(b) 395.04/246.29 down(g(f(g(f(x))))) -> up(b) 395.04/246.29 down(g(f(a))) -> g_flat(down(f(a))) 395.04/246.29 down(g(f(b))) -> g_flat(down(f(b))) 395.04/246.29 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.04/246.29 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.04/246.29 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.04/246.29 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.04/246.29 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.04/246.29 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.04/246.29 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.04/246.29 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.04/246.29 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.04/246.29 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.04/246.29 395.04/246.29 Q is empty. 395.04/246.29 We have to consider all minimal (P,Q,R)-chains. 395.04/246.29 ---------------------------------------- 395.04/246.29 395.04/246.29 (63) DependencyGraphProof (EQUIVALENT) 395.04/246.29 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 395.04/246.29 ---------------------------------------- 395.04/246.29 395.04/246.29 (64) 395.04/246.29 Obligation: 395.04/246.29 Q DP problem: 395.04/246.29 The TRS P consists of the following rules: 395.04/246.29 395.04/246.29 TOP(up(f(a))) -> TOP(f_flat(down(a))) 395.04/246.29 TOP(up(g(a))) -> TOP(g_flat(down(a))) 395.04/246.29 TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) 395.04/246.29 TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) 395.04/246.29 TOP(up(f(g(a)))) -> TOP(f_flat(down(g(a)))) 395.04/246.29 TOP(up(f(g(f(x0))))) -> TOP(f_flat(down(g(f(x0))))) 395.04/246.29 TOP(up(f(g(fresh_constant)))) -> TOP(f_flat(down(g(fresh_constant)))) 395.04/246.29 TOP(up(g(f(a)))) -> TOP(g_flat(down(f(a)))) 395.04/246.29 TOP(up(g(f(b)))) -> TOP(g_flat(down(f(b)))) 395.04/246.29 TOP(up(g(f(fresh_constant)))) -> TOP(g_flat(down(f(fresh_constant)))) 395.04/246.29 TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) 395.04/246.29 TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) 395.04/246.29 TOP(up(g(g(b)))) -> TOP(g_flat(down(g(b)))) 395.04/246.29 TOP(up(g(g(fresh_constant)))) -> TOP(g_flat(down(g(fresh_constant)))) 395.04/246.29 TOP(up(f(g(g(a))))) -> TOP(f_flat(down(g(g(a))))) 395.04/246.29 TOP(up(f(g(g(g(x0)))))) -> TOP(f_flat(down(g(g(g(x0)))))) 395.04/246.29 TOP(up(f(g(g(b))))) -> TOP(f_flat(down(g(g(b))))) 395.04/246.29 TOP(up(f(g(g(fresh_constant))))) -> TOP(f_flat(down(g(g(fresh_constant))))) 395.04/246.29 TOP(up(g(f(f(a))))) -> TOP(g_flat(down(f(f(a))))) 395.04/246.29 TOP(up(g(f(f(f(x0)))))) -> TOP(g_flat(down(f(f(f(x0)))))) 395.04/246.29 TOP(up(g(f(f(b))))) -> TOP(g_flat(down(f(f(b))))) 395.04/246.29 TOP(up(g(f(f(fresh_constant))))) -> TOP(g_flat(down(f(f(fresh_constant))))) 395.04/246.29 TOP(up(g(f(g(a))))) -> TOP(g_flat(down(f(g(a))))) 395.04/246.29 TOP(up(g(f(g(g(x0)))))) -> TOP(g_flat(down(f(g(g(x0)))))) 395.04/246.29 TOP(up(g(f(g(b))))) -> TOP(g_flat(down(f(g(b))))) 395.04/246.29 TOP(up(g(f(g(fresh_constant))))) -> TOP(g_flat(down(f(g(fresh_constant))))) 395.04/246.29 395.04/246.29 The TRS R consists of the following rules: 395.04/246.29 395.04/246.29 down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) 395.04/246.29 g_flat(up(x_1)) -> up(g(x_1)) 395.04/246.29 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 395.04/246.29 f_flat(up(x_1)) -> up(f(x_1)) 395.04/246.29 down(f(g(b))) -> f_flat(down(g(b))) 395.04/246.29 down(g(b)) -> g_flat(down(b)) 395.04/246.29 down(f(g(g(f(x))))) -> up(b) 395.04/246.29 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.04/246.29 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.04/246.29 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.04/246.29 down(f(g(g(fresh_constant)))) -> f_flat(down(g(g(fresh_constant)))) 395.04/246.29 down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) 395.04/246.29 down(g(g(b))) -> g_flat(down(g(b))) 395.04/246.29 down(g(g(g(x)))) -> up(b) 395.04/246.29 down(g(g(a))) -> g_flat(down(g(a))) 395.04/246.29 down(g(a)) -> g_flat(down(a)) 395.04/246.29 down(a) -> up(f(a)) 395.04/246.29 down(a) -> up(g(a)) 395.04/246.29 down(f(g(a))) -> f_flat(down(g(a))) 395.04/246.29 down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) 395.04/246.29 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 395.04/246.29 down(f(f(b))) -> f_flat(down(f(b))) 395.04/246.29 down(f(b)) -> f_flat(down(b)) 395.04/246.29 down(f(f(f(x)))) -> up(b) 395.04/246.29 down(f(f(a))) -> f_flat(down(f(a))) 395.04/246.29 down(f(a)) -> f_flat(down(a)) 395.04/246.29 down(g(f(f(g(x))))) -> up(b) 395.04/246.29 down(g(f(g(f(x))))) -> up(b) 395.04/246.29 down(g(f(a))) -> g_flat(down(f(a))) 395.04/246.29 down(g(f(b))) -> g_flat(down(f(b))) 395.04/246.29 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.04/246.29 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.04/246.29 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.04/246.29 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.04/246.29 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.04/246.29 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.04/246.29 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.04/246.29 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.04/246.29 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.04/246.29 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.04/246.29 395.04/246.29 Q is empty. 395.04/246.29 We have to consider all minimal (P,Q,R)-chains. 395.04/246.29 ---------------------------------------- 395.04/246.29 395.04/246.29 (65) TransformationProof (EQUIVALENT) 395.04/246.29 By narrowing [LPAR04] the rule TOP(up(f(g(fresh_constant)))) -> TOP(f_flat(down(g(fresh_constant)))) at position [0] we obtained the following new rules [LPAR04]: 395.04/246.29 395.04/246.29 (TOP(up(f(g(fresh_constant)))) -> TOP(f_flat(g_flat(down(fresh_constant)))),TOP(up(f(g(fresh_constant)))) -> TOP(f_flat(g_flat(down(fresh_constant))))) 395.04/246.29 395.04/246.29 395.04/246.29 ---------------------------------------- 395.04/246.29 395.04/246.29 (66) 395.04/246.29 Obligation: 395.04/246.29 Q DP problem: 395.04/246.29 The TRS P consists of the following rules: 395.04/246.29 395.04/246.29 TOP(up(f(a))) -> TOP(f_flat(down(a))) 395.04/246.29 TOP(up(g(a))) -> TOP(g_flat(down(a))) 395.04/246.29 TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) 395.04/246.29 TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) 395.04/246.29 TOP(up(f(g(a)))) -> TOP(f_flat(down(g(a)))) 395.04/246.29 TOP(up(f(g(f(x0))))) -> TOP(f_flat(down(g(f(x0))))) 395.04/246.29 TOP(up(g(f(a)))) -> TOP(g_flat(down(f(a)))) 395.04/246.29 TOP(up(g(f(b)))) -> TOP(g_flat(down(f(b)))) 395.04/246.29 TOP(up(g(f(fresh_constant)))) -> TOP(g_flat(down(f(fresh_constant)))) 395.04/246.29 TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) 395.04/246.29 TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) 395.04/246.29 TOP(up(g(g(b)))) -> TOP(g_flat(down(g(b)))) 395.04/246.29 TOP(up(g(g(fresh_constant)))) -> TOP(g_flat(down(g(fresh_constant)))) 395.04/246.29 TOP(up(f(g(g(a))))) -> TOP(f_flat(down(g(g(a))))) 395.04/246.29 TOP(up(f(g(g(g(x0)))))) -> TOP(f_flat(down(g(g(g(x0)))))) 395.04/246.29 TOP(up(f(g(g(b))))) -> TOP(f_flat(down(g(g(b))))) 395.04/246.29 TOP(up(f(g(g(fresh_constant))))) -> TOP(f_flat(down(g(g(fresh_constant))))) 395.04/246.29 TOP(up(g(f(f(a))))) -> TOP(g_flat(down(f(f(a))))) 395.04/246.29 TOP(up(g(f(f(f(x0)))))) -> TOP(g_flat(down(f(f(f(x0)))))) 395.04/246.29 TOP(up(g(f(f(b))))) -> TOP(g_flat(down(f(f(b))))) 395.04/246.29 TOP(up(g(f(f(fresh_constant))))) -> TOP(g_flat(down(f(f(fresh_constant))))) 395.04/246.29 TOP(up(g(f(g(a))))) -> TOP(g_flat(down(f(g(a))))) 395.04/246.29 TOP(up(g(f(g(g(x0)))))) -> TOP(g_flat(down(f(g(g(x0)))))) 395.04/246.29 TOP(up(g(f(g(b))))) -> TOP(g_flat(down(f(g(b))))) 395.04/246.29 TOP(up(g(f(g(fresh_constant))))) -> TOP(g_flat(down(f(g(fresh_constant))))) 395.04/246.29 TOP(up(f(g(fresh_constant)))) -> TOP(f_flat(g_flat(down(fresh_constant)))) 395.04/246.29 395.04/246.29 The TRS R consists of the following rules: 395.04/246.29 395.04/246.29 down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) 395.04/246.29 g_flat(up(x_1)) -> up(g(x_1)) 395.04/246.29 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 395.04/246.29 f_flat(up(x_1)) -> up(f(x_1)) 395.04/246.29 down(f(g(b))) -> f_flat(down(g(b))) 395.04/246.29 down(g(b)) -> g_flat(down(b)) 395.04/246.29 down(f(g(g(f(x))))) -> up(b) 395.04/246.29 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.04/246.29 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.04/246.29 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.04/246.29 down(f(g(g(fresh_constant)))) -> f_flat(down(g(g(fresh_constant)))) 395.04/246.29 down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) 395.04/246.29 down(g(g(b))) -> g_flat(down(g(b))) 395.04/246.29 down(g(g(g(x)))) -> up(b) 395.04/246.29 down(g(g(a))) -> g_flat(down(g(a))) 395.04/246.29 down(g(a)) -> g_flat(down(a)) 395.04/246.29 down(a) -> up(f(a)) 395.04/246.29 down(a) -> up(g(a)) 395.04/246.29 down(f(g(a))) -> f_flat(down(g(a))) 395.04/246.29 down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) 395.04/246.29 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 395.04/246.29 down(f(f(b))) -> f_flat(down(f(b))) 395.04/246.29 down(f(b)) -> f_flat(down(b)) 395.04/246.29 down(f(f(f(x)))) -> up(b) 395.04/246.29 down(f(f(a))) -> f_flat(down(f(a))) 395.04/246.29 down(f(a)) -> f_flat(down(a)) 395.04/246.29 down(g(f(f(g(x))))) -> up(b) 395.04/246.29 down(g(f(g(f(x))))) -> up(b) 395.04/246.29 down(g(f(a))) -> g_flat(down(f(a))) 395.04/246.29 down(g(f(b))) -> g_flat(down(f(b))) 395.04/246.29 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.04/246.29 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.04/246.29 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.04/246.29 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.04/246.29 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.04/246.29 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.04/246.29 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.04/246.29 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.04/246.29 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.04/246.29 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.04/246.29 395.04/246.29 Q is empty. 395.04/246.29 We have to consider all minimal (P,Q,R)-chains. 395.04/246.29 ---------------------------------------- 395.04/246.29 395.04/246.29 (67) DependencyGraphProof (EQUIVALENT) 395.04/246.29 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 395.04/246.29 ---------------------------------------- 395.04/246.29 395.04/246.29 (68) 395.04/246.29 Obligation: 395.04/246.29 Q DP problem: 395.04/246.29 The TRS P consists of the following rules: 395.04/246.29 395.04/246.29 TOP(up(f(a))) -> TOP(f_flat(down(a))) 395.04/246.29 TOP(up(g(a))) -> TOP(g_flat(down(a))) 395.04/246.29 TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) 395.04/246.29 TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) 395.04/246.29 TOP(up(f(g(a)))) -> TOP(f_flat(down(g(a)))) 395.04/246.29 TOP(up(f(g(f(x0))))) -> TOP(f_flat(down(g(f(x0))))) 395.04/246.29 TOP(up(g(f(a)))) -> TOP(g_flat(down(f(a)))) 395.04/246.29 TOP(up(g(f(b)))) -> TOP(g_flat(down(f(b)))) 395.04/246.29 TOP(up(g(f(fresh_constant)))) -> TOP(g_flat(down(f(fresh_constant)))) 395.04/246.29 TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) 395.04/246.29 TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) 395.04/246.29 TOP(up(g(g(b)))) -> TOP(g_flat(down(g(b)))) 395.04/246.29 TOP(up(g(g(fresh_constant)))) -> TOP(g_flat(down(g(fresh_constant)))) 395.04/246.29 TOP(up(f(g(g(a))))) -> TOP(f_flat(down(g(g(a))))) 395.04/246.29 TOP(up(f(g(g(g(x0)))))) -> TOP(f_flat(down(g(g(g(x0)))))) 395.04/246.29 TOP(up(f(g(g(b))))) -> TOP(f_flat(down(g(g(b))))) 395.04/246.29 TOP(up(f(g(g(fresh_constant))))) -> TOP(f_flat(down(g(g(fresh_constant))))) 395.04/246.29 TOP(up(g(f(f(a))))) -> TOP(g_flat(down(f(f(a))))) 395.04/246.29 TOP(up(g(f(f(f(x0)))))) -> TOP(g_flat(down(f(f(f(x0)))))) 395.04/246.29 TOP(up(g(f(f(b))))) -> TOP(g_flat(down(f(f(b))))) 395.04/246.29 TOP(up(g(f(f(fresh_constant))))) -> TOP(g_flat(down(f(f(fresh_constant))))) 395.04/246.29 TOP(up(g(f(g(a))))) -> TOP(g_flat(down(f(g(a))))) 395.04/246.29 TOP(up(g(f(g(g(x0)))))) -> TOP(g_flat(down(f(g(g(x0)))))) 395.04/246.29 TOP(up(g(f(g(b))))) -> TOP(g_flat(down(f(g(b))))) 395.04/246.29 TOP(up(g(f(g(fresh_constant))))) -> TOP(g_flat(down(f(g(fresh_constant))))) 395.04/246.29 395.04/246.29 The TRS R consists of the following rules: 395.04/246.29 395.04/246.29 down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) 395.04/246.29 g_flat(up(x_1)) -> up(g(x_1)) 395.04/246.29 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 395.04/246.29 f_flat(up(x_1)) -> up(f(x_1)) 395.04/246.29 down(f(g(b))) -> f_flat(down(g(b))) 395.04/246.29 down(g(b)) -> g_flat(down(b)) 395.04/246.29 down(f(g(g(f(x))))) -> up(b) 395.04/246.29 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.04/246.29 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.04/246.29 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.04/246.29 down(f(g(g(fresh_constant)))) -> f_flat(down(g(g(fresh_constant)))) 395.04/246.29 down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) 395.04/246.29 down(g(g(b))) -> g_flat(down(g(b))) 395.04/246.29 down(g(g(g(x)))) -> up(b) 395.04/246.29 down(g(g(a))) -> g_flat(down(g(a))) 395.04/246.29 down(g(a)) -> g_flat(down(a)) 395.04/246.29 down(a) -> up(f(a)) 395.04/246.29 down(a) -> up(g(a)) 395.04/246.29 down(f(g(a))) -> f_flat(down(g(a))) 395.04/246.29 down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) 395.04/246.29 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 395.04/246.29 down(f(f(b))) -> f_flat(down(f(b))) 395.04/246.29 down(f(b)) -> f_flat(down(b)) 395.04/246.29 down(f(f(f(x)))) -> up(b) 395.04/246.29 down(f(f(a))) -> f_flat(down(f(a))) 395.04/246.29 down(f(a)) -> f_flat(down(a)) 395.04/246.29 down(g(f(f(g(x))))) -> up(b) 395.04/246.29 down(g(f(g(f(x))))) -> up(b) 395.04/246.29 down(g(f(a))) -> g_flat(down(f(a))) 395.09/246.29 down(g(f(b))) -> g_flat(down(f(b))) 395.09/246.29 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.09/246.29 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.09/246.29 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.09/246.29 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.09/246.29 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.09/246.29 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.09/246.29 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.09/246.29 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.09/246.29 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.09/246.29 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.09/246.29 395.09/246.29 Q is empty. 395.09/246.29 We have to consider all minimal (P,Q,R)-chains. 395.09/246.29 ---------------------------------------- 395.09/246.29 395.09/246.29 (69) TransformationProof (EQUIVALENT) 395.09/246.29 By narrowing [LPAR04] the rule TOP(up(g(f(b)))) -> TOP(g_flat(down(f(b)))) at position [0] we obtained the following new rules [LPAR04]: 395.09/246.29 395.09/246.29 (TOP(up(g(f(b)))) -> TOP(g_flat(f_flat(down(b)))),TOP(up(g(f(b)))) -> TOP(g_flat(f_flat(down(b))))) 395.09/246.29 395.09/246.29 395.09/246.29 ---------------------------------------- 395.09/246.29 395.09/246.29 (70) 395.09/246.29 Obligation: 395.09/246.29 Q DP problem: 395.09/246.29 The TRS P consists of the following rules: 395.09/246.29 395.09/246.29 TOP(up(f(a))) -> TOP(f_flat(down(a))) 395.09/246.29 TOP(up(g(a))) -> TOP(g_flat(down(a))) 395.09/246.29 TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) 395.09/246.29 TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) 395.09/246.29 TOP(up(f(g(a)))) -> TOP(f_flat(down(g(a)))) 395.09/246.29 TOP(up(f(g(f(x0))))) -> TOP(f_flat(down(g(f(x0))))) 395.09/246.29 TOP(up(g(f(a)))) -> TOP(g_flat(down(f(a)))) 395.09/246.29 TOP(up(g(f(fresh_constant)))) -> TOP(g_flat(down(f(fresh_constant)))) 395.09/246.29 TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) 395.09/246.29 TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) 395.09/246.29 TOP(up(g(g(b)))) -> TOP(g_flat(down(g(b)))) 395.09/246.29 TOP(up(g(g(fresh_constant)))) -> TOP(g_flat(down(g(fresh_constant)))) 395.09/246.29 TOP(up(f(g(g(a))))) -> TOP(f_flat(down(g(g(a))))) 395.09/246.29 TOP(up(f(g(g(g(x0)))))) -> TOP(f_flat(down(g(g(g(x0)))))) 395.09/246.29 TOP(up(f(g(g(b))))) -> TOP(f_flat(down(g(g(b))))) 395.09/246.29 TOP(up(f(g(g(fresh_constant))))) -> TOP(f_flat(down(g(g(fresh_constant))))) 395.09/246.29 TOP(up(g(f(f(a))))) -> TOP(g_flat(down(f(f(a))))) 395.09/246.29 TOP(up(g(f(f(f(x0)))))) -> TOP(g_flat(down(f(f(f(x0)))))) 395.09/246.29 TOP(up(g(f(f(b))))) -> TOP(g_flat(down(f(f(b))))) 395.09/246.29 TOP(up(g(f(f(fresh_constant))))) -> TOP(g_flat(down(f(f(fresh_constant))))) 395.09/246.29 TOP(up(g(f(g(a))))) -> TOP(g_flat(down(f(g(a))))) 395.09/246.29 TOP(up(g(f(g(g(x0)))))) -> TOP(g_flat(down(f(g(g(x0)))))) 395.09/246.29 TOP(up(g(f(g(b))))) -> TOP(g_flat(down(f(g(b))))) 395.09/246.29 TOP(up(g(f(g(fresh_constant))))) -> TOP(g_flat(down(f(g(fresh_constant))))) 395.09/246.29 TOP(up(g(f(b)))) -> TOP(g_flat(f_flat(down(b)))) 395.09/246.29 395.09/246.29 The TRS R consists of the following rules: 395.09/246.29 395.09/246.29 down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) 395.09/246.29 g_flat(up(x_1)) -> up(g(x_1)) 395.09/246.29 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 395.09/246.29 f_flat(up(x_1)) -> up(f(x_1)) 395.09/246.29 down(f(g(b))) -> f_flat(down(g(b))) 395.09/246.29 down(g(b)) -> g_flat(down(b)) 395.09/246.29 down(f(g(g(f(x))))) -> up(b) 395.09/246.29 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.09/246.29 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.09/246.29 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.09/246.29 down(f(g(g(fresh_constant)))) -> f_flat(down(g(g(fresh_constant)))) 395.09/246.29 down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) 395.09/246.29 down(g(g(b))) -> g_flat(down(g(b))) 395.09/246.29 down(g(g(g(x)))) -> up(b) 395.09/246.29 down(g(g(a))) -> g_flat(down(g(a))) 395.09/246.29 down(g(a)) -> g_flat(down(a)) 395.09/246.29 down(a) -> up(f(a)) 395.09/246.29 down(a) -> up(g(a)) 395.09/246.29 down(f(g(a))) -> f_flat(down(g(a))) 395.09/246.29 down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) 395.09/246.29 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 395.09/246.29 down(f(f(b))) -> f_flat(down(f(b))) 395.09/246.29 down(f(b)) -> f_flat(down(b)) 395.09/246.29 down(f(f(f(x)))) -> up(b) 395.09/246.29 down(f(f(a))) -> f_flat(down(f(a))) 395.09/246.29 down(f(a)) -> f_flat(down(a)) 395.09/246.29 down(g(f(f(g(x))))) -> up(b) 395.09/246.29 down(g(f(g(f(x))))) -> up(b) 395.09/246.29 down(g(f(a))) -> g_flat(down(f(a))) 395.09/246.29 down(g(f(b))) -> g_flat(down(f(b))) 395.09/246.29 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.09/246.29 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.09/246.29 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.09/246.29 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.09/246.29 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.09/246.29 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.09/246.29 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.09/246.29 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.09/246.29 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.09/246.29 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.09/246.29 395.09/246.29 Q is empty. 395.09/246.29 We have to consider all minimal (P,Q,R)-chains. 395.09/246.29 ---------------------------------------- 395.09/246.29 395.09/246.29 (71) DependencyGraphProof (EQUIVALENT) 395.09/246.29 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 395.09/246.29 ---------------------------------------- 395.09/246.29 395.09/246.29 (72) 395.09/246.29 Obligation: 395.09/246.29 Q DP problem: 395.09/246.29 The TRS P consists of the following rules: 395.09/246.29 395.09/246.29 TOP(up(f(a))) -> TOP(f_flat(down(a))) 395.09/246.29 TOP(up(g(a))) -> TOP(g_flat(down(a))) 395.09/246.29 TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) 395.09/246.29 TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) 395.09/246.29 TOP(up(f(g(a)))) -> TOP(f_flat(down(g(a)))) 395.09/246.29 TOP(up(f(g(f(x0))))) -> TOP(f_flat(down(g(f(x0))))) 395.09/246.29 TOP(up(g(f(a)))) -> TOP(g_flat(down(f(a)))) 395.09/246.29 TOP(up(g(f(fresh_constant)))) -> TOP(g_flat(down(f(fresh_constant)))) 395.09/246.29 TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) 395.09/246.29 TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) 395.09/246.29 TOP(up(g(g(b)))) -> TOP(g_flat(down(g(b)))) 395.09/246.29 TOP(up(g(g(fresh_constant)))) -> TOP(g_flat(down(g(fresh_constant)))) 395.09/246.29 TOP(up(f(g(g(a))))) -> TOP(f_flat(down(g(g(a))))) 395.09/246.29 TOP(up(f(g(g(g(x0)))))) -> TOP(f_flat(down(g(g(g(x0)))))) 395.09/246.29 TOP(up(f(g(g(b))))) -> TOP(f_flat(down(g(g(b))))) 395.09/246.29 TOP(up(f(g(g(fresh_constant))))) -> TOP(f_flat(down(g(g(fresh_constant))))) 395.09/246.29 TOP(up(g(f(f(a))))) -> TOP(g_flat(down(f(f(a))))) 395.09/246.29 TOP(up(g(f(f(f(x0)))))) -> TOP(g_flat(down(f(f(f(x0)))))) 395.09/246.29 TOP(up(g(f(f(b))))) -> TOP(g_flat(down(f(f(b))))) 395.09/246.29 TOP(up(g(f(f(fresh_constant))))) -> TOP(g_flat(down(f(f(fresh_constant))))) 395.09/246.29 TOP(up(g(f(g(a))))) -> TOP(g_flat(down(f(g(a))))) 395.09/246.29 TOP(up(g(f(g(g(x0)))))) -> TOP(g_flat(down(f(g(g(x0)))))) 395.09/246.29 TOP(up(g(f(g(b))))) -> TOP(g_flat(down(f(g(b))))) 395.09/246.29 TOP(up(g(f(g(fresh_constant))))) -> TOP(g_flat(down(f(g(fresh_constant))))) 395.09/246.29 395.09/246.29 The TRS R consists of the following rules: 395.09/246.29 395.09/246.29 down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) 395.09/246.30 g_flat(up(x_1)) -> up(g(x_1)) 395.09/246.30 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 395.09/246.30 f_flat(up(x_1)) -> up(f(x_1)) 395.09/246.30 down(f(g(b))) -> f_flat(down(g(b))) 395.09/246.30 down(g(b)) -> g_flat(down(b)) 395.09/246.30 down(f(g(g(f(x))))) -> up(b) 395.09/246.30 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.09/246.30 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.09/246.30 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.09/246.30 down(f(g(g(fresh_constant)))) -> f_flat(down(g(g(fresh_constant)))) 395.09/246.30 down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) 395.09/246.30 down(g(g(b))) -> g_flat(down(g(b))) 395.09/246.30 down(g(g(g(x)))) -> up(b) 395.09/246.30 down(g(g(a))) -> g_flat(down(g(a))) 395.09/246.30 down(g(a)) -> g_flat(down(a)) 395.09/246.30 down(a) -> up(f(a)) 395.09/246.30 down(a) -> up(g(a)) 395.09/246.30 down(f(g(a))) -> f_flat(down(g(a))) 395.09/246.30 down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) 395.09/246.30 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 395.09/246.30 down(f(f(b))) -> f_flat(down(f(b))) 395.09/246.30 down(f(b)) -> f_flat(down(b)) 395.09/246.30 down(f(f(f(x)))) -> up(b) 395.09/246.30 down(f(f(a))) -> f_flat(down(f(a))) 395.09/246.30 down(f(a)) -> f_flat(down(a)) 395.09/246.30 down(g(f(f(g(x))))) -> up(b) 395.09/246.30 down(g(f(g(f(x))))) -> up(b) 395.09/246.30 down(g(f(a))) -> g_flat(down(f(a))) 395.09/246.30 down(g(f(b))) -> g_flat(down(f(b))) 395.09/246.30 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.09/246.30 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.09/246.30 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.09/246.30 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.09/246.30 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.09/246.30 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.09/246.30 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.09/246.30 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.09/246.30 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.09/246.30 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.09/246.30 395.09/246.30 Q is empty. 395.09/246.30 We have to consider all minimal (P,Q,R)-chains. 395.09/246.30 ---------------------------------------- 395.09/246.30 395.09/246.30 (73) TransformationProof (EQUIVALENT) 395.09/246.30 By narrowing [LPAR04] the rule TOP(up(g(f(fresh_constant)))) -> TOP(g_flat(down(f(fresh_constant)))) at position [0] we obtained the following new rules [LPAR04]: 395.09/246.30 395.09/246.30 (TOP(up(g(f(fresh_constant)))) -> TOP(g_flat(f_flat(down(fresh_constant)))),TOP(up(g(f(fresh_constant)))) -> TOP(g_flat(f_flat(down(fresh_constant))))) 395.09/246.30 395.09/246.30 395.09/246.30 ---------------------------------------- 395.09/246.30 395.09/246.30 (74) 395.09/246.30 Obligation: 395.09/246.30 Q DP problem: 395.09/246.30 The TRS P consists of the following rules: 395.09/246.30 395.09/246.30 TOP(up(f(a))) -> TOP(f_flat(down(a))) 395.09/246.30 TOP(up(g(a))) -> TOP(g_flat(down(a))) 395.09/246.30 TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) 395.09/246.30 TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) 395.09/246.30 TOP(up(f(g(a)))) -> TOP(f_flat(down(g(a)))) 395.09/246.30 TOP(up(f(g(f(x0))))) -> TOP(f_flat(down(g(f(x0))))) 395.09/246.30 TOP(up(g(f(a)))) -> TOP(g_flat(down(f(a)))) 395.09/246.30 TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) 395.09/246.30 TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) 395.09/246.30 TOP(up(g(g(b)))) -> TOP(g_flat(down(g(b)))) 395.09/246.30 TOP(up(g(g(fresh_constant)))) -> TOP(g_flat(down(g(fresh_constant)))) 395.09/246.30 TOP(up(f(g(g(a))))) -> TOP(f_flat(down(g(g(a))))) 395.09/246.30 TOP(up(f(g(g(g(x0)))))) -> TOP(f_flat(down(g(g(g(x0)))))) 395.09/246.30 TOP(up(f(g(g(b))))) -> TOP(f_flat(down(g(g(b))))) 395.09/246.30 TOP(up(f(g(g(fresh_constant))))) -> TOP(f_flat(down(g(g(fresh_constant))))) 395.09/246.30 TOP(up(g(f(f(a))))) -> TOP(g_flat(down(f(f(a))))) 395.09/246.30 TOP(up(g(f(f(f(x0)))))) -> TOP(g_flat(down(f(f(f(x0)))))) 395.09/246.30 TOP(up(g(f(f(b))))) -> TOP(g_flat(down(f(f(b))))) 395.09/246.30 TOP(up(g(f(f(fresh_constant))))) -> TOP(g_flat(down(f(f(fresh_constant))))) 395.09/246.30 TOP(up(g(f(g(a))))) -> TOP(g_flat(down(f(g(a))))) 395.09/246.30 TOP(up(g(f(g(g(x0)))))) -> TOP(g_flat(down(f(g(g(x0)))))) 395.09/246.30 TOP(up(g(f(g(b))))) -> TOP(g_flat(down(f(g(b))))) 395.09/246.30 TOP(up(g(f(g(fresh_constant))))) -> TOP(g_flat(down(f(g(fresh_constant))))) 395.09/246.30 TOP(up(g(f(fresh_constant)))) -> TOP(g_flat(f_flat(down(fresh_constant)))) 395.09/246.30 395.09/246.30 The TRS R consists of the following rules: 395.09/246.30 395.09/246.30 down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) 395.09/246.30 g_flat(up(x_1)) -> up(g(x_1)) 395.09/246.30 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 395.09/246.30 f_flat(up(x_1)) -> up(f(x_1)) 395.09/246.30 down(f(g(b))) -> f_flat(down(g(b))) 395.09/246.30 down(g(b)) -> g_flat(down(b)) 395.09/246.30 down(f(g(g(f(x))))) -> up(b) 395.09/246.30 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.09/246.30 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.09/246.30 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.09/246.30 down(f(g(g(fresh_constant)))) -> f_flat(down(g(g(fresh_constant)))) 395.09/246.30 down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) 395.09/246.30 down(g(g(b))) -> g_flat(down(g(b))) 395.09/246.30 down(g(g(g(x)))) -> up(b) 395.09/246.30 down(g(g(a))) -> g_flat(down(g(a))) 395.09/246.30 down(g(a)) -> g_flat(down(a)) 395.09/246.30 down(a) -> up(f(a)) 395.09/246.30 down(a) -> up(g(a)) 395.09/246.30 down(f(g(a))) -> f_flat(down(g(a))) 395.09/246.30 down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) 395.09/246.30 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 395.09/246.30 down(f(f(b))) -> f_flat(down(f(b))) 395.09/246.30 down(f(b)) -> f_flat(down(b)) 395.09/246.30 down(f(f(f(x)))) -> up(b) 395.09/246.30 down(f(f(a))) -> f_flat(down(f(a))) 395.09/246.30 down(f(a)) -> f_flat(down(a)) 395.09/246.30 down(g(f(f(g(x))))) -> up(b) 395.09/246.30 down(g(f(g(f(x))))) -> up(b) 395.09/246.30 down(g(f(a))) -> g_flat(down(f(a))) 395.09/246.30 down(g(f(b))) -> g_flat(down(f(b))) 395.09/246.30 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.09/246.30 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.09/246.30 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.09/246.30 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.09/246.30 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.09/246.30 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.09/246.30 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.09/246.30 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.09/246.30 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.09/246.30 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.09/246.30 395.09/246.30 Q is empty. 395.09/246.30 We have to consider all minimal (P,Q,R)-chains. 395.09/246.30 ---------------------------------------- 395.09/246.30 395.09/246.30 (75) DependencyGraphProof (EQUIVALENT) 395.09/246.30 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 395.09/246.30 ---------------------------------------- 395.09/246.30 395.09/246.30 (76) 395.09/246.30 Obligation: 395.09/246.30 Q DP problem: 395.09/246.30 The TRS P consists of the following rules: 395.09/246.30 395.09/246.30 TOP(up(f(a))) -> TOP(f_flat(down(a))) 395.09/246.30 TOP(up(g(a))) -> TOP(g_flat(down(a))) 395.09/246.30 TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) 395.09/246.30 TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) 395.09/246.30 TOP(up(f(g(a)))) -> TOP(f_flat(down(g(a)))) 395.09/246.30 TOP(up(f(g(f(x0))))) -> TOP(f_flat(down(g(f(x0))))) 395.09/246.30 TOP(up(g(f(a)))) -> TOP(g_flat(down(f(a)))) 395.09/246.30 TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) 395.09/246.30 TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) 395.09/246.30 TOP(up(g(g(b)))) -> TOP(g_flat(down(g(b)))) 395.09/246.30 TOP(up(g(g(fresh_constant)))) -> TOP(g_flat(down(g(fresh_constant)))) 395.09/246.30 TOP(up(f(g(g(a))))) -> TOP(f_flat(down(g(g(a))))) 395.09/246.30 TOP(up(f(g(g(g(x0)))))) -> TOP(f_flat(down(g(g(g(x0)))))) 395.09/246.30 TOP(up(f(g(g(b))))) -> TOP(f_flat(down(g(g(b))))) 395.09/246.30 TOP(up(f(g(g(fresh_constant))))) -> TOP(f_flat(down(g(g(fresh_constant))))) 395.09/246.30 TOP(up(g(f(f(a))))) -> TOP(g_flat(down(f(f(a))))) 395.09/246.30 TOP(up(g(f(f(f(x0)))))) -> TOP(g_flat(down(f(f(f(x0)))))) 395.09/246.30 TOP(up(g(f(f(b))))) -> TOP(g_flat(down(f(f(b))))) 395.09/246.30 TOP(up(g(f(f(fresh_constant))))) -> TOP(g_flat(down(f(f(fresh_constant))))) 395.09/246.30 TOP(up(g(f(g(a))))) -> TOP(g_flat(down(f(g(a))))) 395.09/246.30 TOP(up(g(f(g(g(x0)))))) -> TOP(g_flat(down(f(g(g(x0)))))) 395.09/246.30 TOP(up(g(f(g(b))))) -> TOP(g_flat(down(f(g(b))))) 395.09/246.30 TOP(up(g(f(g(fresh_constant))))) -> TOP(g_flat(down(f(g(fresh_constant))))) 395.09/246.30 395.09/246.30 The TRS R consists of the following rules: 395.09/246.30 395.09/246.30 down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) 395.09/246.30 g_flat(up(x_1)) -> up(g(x_1)) 395.09/246.30 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 395.09/246.30 f_flat(up(x_1)) -> up(f(x_1)) 395.09/246.30 down(f(g(b))) -> f_flat(down(g(b))) 395.09/246.30 down(g(b)) -> g_flat(down(b)) 395.09/246.30 down(f(g(g(f(x))))) -> up(b) 395.09/246.30 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.09/246.30 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.09/246.30 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.09/246.30 down(f(g(g(fresh_constant)))) -> f_flat(down(g(g(fresh_constant)))) 395.09/246.30 down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) 395.09/246.30 down(g(g(b))) -> g_flat(down(g(b))) 395.09/246.30 down(g(g(g(x)))) -> up(b) 395.09/246.30 down(g(g(a))) -> g_flat(down(g(a))) 395.09/246.30 down(g(a)) -> g_flat(down(a)) 395.09/246.30 down(a) -> up(f(a)) 395.09/246.30 down(a) -> up(g(a)) 395.09/246.30 down(f(g(a))) -> f_flat(down(g(a))) 395.09/246.30 down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) 395.09/246.30 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 395.09/246.30 down(f(f(b))) -> f_flat(down(f(b))) 395.09/246.30 down(f(b)) -> f_flat(down(b)) 395.09/246.30 down(f(f(f(x)))) -> up(b) 395.09/246.30 down(f(f(a))) -> f_flat(down(f(a))) 395.09/246.30 down(f(a)) -> f_flat(down(a)) 395.09/246.30 down(g(f(f(g(x))))) -> up(b) 395.09/246.30 down(g(f(g(f(x))))) -> up(b) 395.09/246.30 down(g(f(a))) -> g_flat(down(f(a))) 395.09/246.30 down(g(f(b))) -> g_flat(down(f(b))) 395.09/246.30 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.09/246.30 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.09/246.30 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.09/246.30 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.09/246.30 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.09/246.30 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.09/246.30 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.09/246.30 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.09/246.30 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.09/246.30 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.09/246.30 395.09/246.30 Q is empty. 395.09/246.30 We have to consider all minimal (P,Q,R)-chains. 395.09/246.30 ---------------------------------------- 395.09/246.30 395.09/246.30 (77) TransformationProof (EQUIVALENT) 395.09/246.30 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]: 395.09/246.30 395.09/246.30 (TOP(up(g(g(b)))) -> TOP(g_flat(g_flat(down(b)))),TOP(up(g(g(b)))) -> TOP(g_flat(g_flat(down(b))))) 395.09/246.30 395.09/246.30 395.09/246.30 ---------------------------------------- 395.09/246.30 395.09/246.30 (78) 395.09/246.30 Obligation: 395.09/246.30 Q DP problem: 395.09/246.30 The TRS P consists of the following rules: 395.09/246.30 395.09/246.30 TOP(up(f(a))) -> TOP(f_flat(down(a))) 395.09/246.30 TOP(up(g(a))) -> TOP(g_flat(down(a))) 395.09/246.30 TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) 395.09/246.30 TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) 395.09/246.30 TOP(up(f(g(a)))) -> TOP(f_flat(down(g(a)))) 395.09/246.30 TOP(up(f(g(f(x0))))) -> TOP(f_flat(down(g(f(x0))))) 395.09/246.30 TOP(up(g(f(a)))) -> TOP(g_flat(down(f(a)))) 395.09/246.30 TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) 395.09/246.30 TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) 395.09/246.30 TOP(up(g(g(fresh_constant)))) -> TOP(g_flat(down(g(fresh_constant)))) 395.09/246.30 TOP(up(f(g(g(a))))) -> TOP(f_flat(down(g(g(a))))) 395.09/246.30 TOP(up(f(g(g(g(x0)))))) -> TOP(f_flat(down(g(g(g(x0)))))) 395.09/246.30 TOP(up(f(g(g(b))))) -> TOP(f_flat(down(g(g(b))))) 395.09/246.30 TOP(up(f(g(g(fresh_constant))))) -> TOP(f_flat(down(g(g(fresh_constant))))) 395.09/246.30 TOP(up(g(f(f(a))))) -> TOP(g_flat(down(f(f(a))))) 395.09/246.30 TOP(up(g(f(f(f(x0)))))) -> TOP(g_flat(down(f(f(f(x0)))))) 395.09/246.30 TOP(up(g(f(f(b))))) -> TOP(g_flat(down(f(f(b))))) 395.09/246.30 TOP(up(g(f(f(fresh_constant))))) -> TOP(g_flat(down(f(f(fresh_constant))))) 395.09/246.30 TOP(up(g(f(g(a))))) -> TOP(g_flat(down(f(g(a))))) 395.09/246.30 TOP(up(g(f(g(g(x0)))))) -> TOP(g_flat(down(f(g(g(x0)))))) 395.09/246.30 TOP(up(g(f(g(b))))) -> TOP(g_flat(down(f(g(b))))) 395.09/246.30 TOP(up(g(f(g(fresh_constant))))) -> TOP(g_flat(down(f(g(fresh_constant))))) 395.09/246.30 TOP(up(g(g(b)))) -> TOP(g_flat(g_flat(down(b)))) 395.09/246.30 395.09/246.30 The TRS R consists of the following rules: 395.09/246.30 395.09/246.30 down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) 395.09/246.30 g_flat(up(x_1)) -> up(g(x_1)) 395.09/246.30 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 395.09/246.30 f_flat(up(x_1)) -> up(f(x_1)) 395.09/246.30 down(f(g(b))) -> f_flat(down(g(b))) 395.09/246.30 down(g(b)) -> g_flat(down(b)) 395.09/246.30 down(f(g(g(f(x))))) -> up(b) 395.09/246.30 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.09/246.30 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.09/246.30 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.09/246.30 down(f(g(g(fresh_constant)))) -> f_flat(down(g(g(fresh_constant)))) 395.09/246.30 down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) 395.09/246.30 down(g(g(b))) -> g_flat(down(g(b))) 395.09/246.30 down(g(g(g(x)))) -> up(b) 395.09/246.30 down(g(g(a))) -> g_flat(down(g(a))) 395.09/246.30 down(g(a)) -> g_flat(down(a)) 395.09/246.30 down(a) -> up(f(a)) 395.09/246.30 down(a) -> up(g(a)) 395.09/246.30 down(f(g(a))) -> f_flat(down(g(a))) 395.09/246.30 down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) 395.09/246.30 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 395.09/246.30 down(f(f(b))) -> f_flat(down(f(b))) 395.09/246.30 down(f(b)) -> f_flat(down(b)) 395.09/246.30 down(f(f(f(x)))) -> up(b) 395.09/246.30 down(f(f(a))) -> f_flat(down(f(a))) 395.09/246.30 down(f(a)) -> f_flat(down(a)) 395.09/246.30 down(g(f(f(g(x))))) -> up(b) 395.09/246.30 down(g(f(g(f(x))))) -> up(b) 395.09/246.30 down(g(f(a))) -> g_flat(down(f(a))) 395.09/246.30 down(g(f(b))) -> g_flat(down(f(b))) 395.09/246.30 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.09/246.30 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.09/246.30 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.09/246.30 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.09/246.30 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.09/246.30 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.09/246.30 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.09/246.30 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.09/246.30 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.09/246.30 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.09/246.30 395.09/246.30 Q is empty. 395.09/246.30 We have to consider all minimal (P,Q,R)-chains. 395.09/246.30 ---------------------------------------- 395.09/246.30 395.09/246.30 (79) DependencyGraphProof (EQUIVALENT) 395.09/246.30 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 395.09/246.30 ---------------------------------------- 395.09/246.30 395.09/246.30 (80) 395.09/246.30 Obligation: 395.09/246.30 Q DP problem: 395.09/246.30 The TRS P consists of the following rules: 395.09/246.30 395.09/246.30 TOP(up(f(a))) -> TOP(f_flat(down(a))) 395.09/246.30 TOP(up(g(a))) -> TOP(g_flat(down(a))) 395.09/246.30 TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) 395.09/246.30 TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) 395.09/246.30 TOP(up(f(g(a)))) -> TOP(f_flat(down(g(a)))) 395.09/246.30 TOP(up(f(g(f(x0))))) -> TOP(f_flat(down(g(f(x0))))) 395.09/246.30 TOP(up(g(f(a)))) -> TOP(g_flat(down(f(a)))) 395.09/246.30 TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) 395.09/246.30 TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) 395.09/246.30 TOP(up(g(g(fresh_constant)))) -> TOP(g_flat(down(g(fresh_constant)))) 395.09/246.30 TOP(up(f(g(g(a))))) -> TOP(f_flat(down(g(g(a))))) 395.09/246.30 TOP(up(f(g(g(g(x0)))))) -> TOP(f_flat(down(g(g(g(x0)))))) 395.09/246.30 TOP(up(f(g(g(b))))) -> TOP(f_flat(down(g(g(b))))) 395.09/246.30 TOP(up(f(g(g(fresh_constant))))) -> TOP(f_flat(down(g(g(fresh_constant))))) 395.09/246.30 TOP(up(g(f(f(a))))) -> TOP(g_flat(down(f(f(a))))) 395.09/246.30 TOP(up(g(f(f(f(x0)))))) -> TOP(g_flat(down(f(f(f(x0)))))) 395.09/246.30 TOP(up(g(f(f(b))))) -> TOP(g_flat(down(f(f(b))))) 395.09/246.30 TOP(up(g(f(f(fresh_constant))))) -> TOP(g_flat(down(f(f(fresh_constant))))) 395.09/246.30 TOP(up(g(f(g(a))))) -> TOP(g_flat(down(f(g(a))))) 395.09/246.30 TOP(up(g(f(g(g(x0)))))) -> TOP(g_flat(down(f(g(g(x0)))))) 395.09/246.30 TOP(up(g(f(g(b))))) -> TOP(g_flat(down(f(g(b))))) 395.09/246.30 TOP(up(g(f(g(fresh_constant))))) -> TOP(g_flat(down(f(g(fresh_constant))))) 395.09/246.30 395.09/246.30 The TRS R consists of the following rules: 395.09/246.30 395.09/246.30 down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) 395.09/246.30 g_flat(up(x_1)) -> up(g(x_1)) 395.09/246.30 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 395.09/246.30 f_flat(up(x_1)) -> up(f(x_1)) 395.09/246.30 down(f(g(b))) -> f_flat(down(g(b))) 395.09/246.30 down(g(b)) -> g_flat(down(b)) 395.09/246.30 down(f(g(g(f(x))))) -> up(b) 395.09/246.30 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.09/246.30 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.09/246.30 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.09/246.30 down(f(g(g(fresh_constant)))) -> f_flat(down(g(g(fresh_constant)))) 395.09/246.30 down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) 395.09/246.30 down(g(g(b))) -> g_flat(down(g(b))) 395.09/246.30 down(g(g(g(x)))) -> up(b) 395.09/246.30 down(g(g(a))) -> g_flat(down(g(a))) 395.09/246.30 down(g(a)) -> g_flat(down(a)) 395.09/246.30 down(a) -> up(f(a)) 395.09/246.30 down(a) -> up(g(a)) 395.09/246.30 down(f(g(a))) -> f_flat(down(g(a))) 395.09/246.30 down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) 395.09/246.30 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 395.09/246.30 down(f(f(b))) -> f_flat(down(f(b))) 395.09/246.30 down(f(b)) -> f_flat(down(b)) 395.09/246.30 down(f(f(f(x)))) -> up(b) 395.09/246.30 down(f(f(a))) -> f_flat(down(f(a))) 395.09/246.30 down(f(a)) -> f_flat(down(a)) 395.09/246.30 down(g(f(f(g(x))))) -> up(b) 395.09/246.30 down(g(f(g(f(x))))) -> up(b) 395.09/246.30 down(g(f(a))) -> g_flat(down(f(a))) 395.09/246.30 down(g(f(b))) -> g_flat(down(f(b))) 395.09/246.30 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.09/246.30 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.09/246.30 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.09/246.30 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.09/246.30 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.09/246.30 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.09/246.30 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.09/246.30 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.09/246.30 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.09/246.30 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.09/246.30 395.09/246.30 Q is empty. 395.09/246.30 We have to consider all minimal (P,Q,R)-chains. 395.09/246.30 ---------------------------------------- 395.09/246.30 395.09/246.30 (81) TransformationProof (EQUIVALENT) 395.09/246.30 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]: 395.09/246.30 395.09/246.30 (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))))) 395.09/246.30 395.09/246.30 395.09/246.30 ---------------------------------------- 395.09/246.30 395.09/246.30 (82) 395.09/246.30 Obligation: 395.09/246.30 Q DP problem: 395.09/246.30 The TRS P consists of the following rules: 395.09/246.30 395.09/246.30 TOP(up(f(a))) -> TOP(f_flat(down(a))) 395.09/246.30 TOP(up(g(a))) -> TOP(g_flat(down(a))) 395.09/246.30 TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) 395.09/246.30 TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) 395.09/246.30 TOP(up(f(g(a)))) -> TOP(f_flat(down(g(a)))) 395.09/246.30 TOP(up(f(g(f(x0))))) -> TOP(f_flat(down(g(f(x0))))) 395.09/246.30 TOP(up(g(f(a)))) -> TOP(g_flat(down(f(a)))) 395.09/246.30 TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) 395.09/246.30 TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) 395.09/246.30 TOP(up(f(g(g(a))))) -> TOP(f_flat(down(g(g(a))))) 395.09/246.30 TOP(up(f(g(g(g(x0)))))) -> TOP(f_flat(down(g(g(g(x0)))))) 395.09/246.30 TOP(up(f(g(g(b))))) -> TOP(f_flat(down(g(g(b))))) 395.09/246.30 TOP(up(f(g(g(fresh_constant))))) -> TOP(f_flat(down(g(g(fresh_constant))))) 395.09/246.30 TOP(up(g(f(f(a))))) -> TOP(g_flat(down(f(f(a))))) 395.09/246.30 TOP(up(g(f(f(f(x0)))))) -> TOP(g_flat(down(f(f(f(x0)))))) 395.09/246.30 TOP(up(g(f(f(b))))) -> TOP(g_flat(down(f(f(b))))) 395.09/246.30 TOP(up(g(f(f(fresh_constant))))) -> TOP(g_flat(down(f(f(fresh_constant))))) 395.09/246.30 TOP(up(g(f(g(a))))) -> TOP(g_flat(down(f(g(a))))) 395.09/246.30 TOP(up(g(f(g(g(x0)))))) -> TOP(g_flat(down(f(g(g(x0)))))) 395.09/246.30 TOP(up(g(f(g(b))))) -> TOP(g_flat(down(f(g(b))))) 395.09/246.30 TOP(up(g(f(g(fresh_constant))))) -> TOP(g_flat(down(f(g(fresh_constant))))) 395.09/246.30 TOP(up(g(g(fresh_constant)))) -> TOP(g_flat(g_flat(down(fresh_constant)))) 395.09/246.30 395.09/246.30 The TRS R consists of the following rules: 395.09/246.30 395.09/246.30 down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) 395.09/246.30 g_flat(up(x_1)) -> up(g(x_1)) 395.09/246.30 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 395.09/246.30 f_flat(up(x_1)) -> up(f(x_1)) 395.09/246.30 down(f(g(b))) -> f_flat(down(g(b))) 395.09/246.30 down(g(b)) -> g_flat(down(b)) 395.09/246.30 down(f(g(g(f(x))))) -> up(b) 395.09/246.30 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.09/246.30 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.09/246.30 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.09/246.30 down(f(g(g(fresh_constant)))) -> f_flat(down(g(g(fresh_constant)))) 395.09/246.30 down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) 395.09/246.30 down(g(g(b))) -> g_flat(down(g(b))) 395.09/246.30 down(g(g(g(x)))) -> up(b) 395.09/246.30 down(g(g(a))) -> g_flat(down(g(a))) 395.09/246.30 down(g(a)) -> g_flat(down(a)) 395.09/246.30 down(a) -> up(f(a)) 395.09/246.30 down(a) -> up(g(a)) 395.09/246.30 down(f(g(a))) -> f_flat(down(g(a))) 395.09/246.30 down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) 395.09/246.30 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 395.09/246.30 down(f(f(b))) -> f_flat(down(f(b))) 395.09/246.30 down(f(b)) -> f_flat(down(b)) 395.09/246.30 down(f(f(f(x)))) -> up(b) 395.09/246.30 down(f(f(a))) -> f_flat(down(f(a))) 395.09/246.30 down(f(a)) -> f_flat(down(a)) 395.09/246.30 down(g(f(f(g(x))))) -> up(b) 395.09/246.30 down(g(f(g(f(x))))) -> up(b) 395.09/246.30 down(g(f(a))) -> g_flat(down(f(a))) 395.09/246.30 down(g(f(b))) -> g_flat(down(f(b))) 395.09/246.30 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.09/246.30 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.09/246.30 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.09/246.30 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.09/246.30 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.09/246.30 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.09/246.30 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.09/246.30 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.09/246.30 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.09/246.30 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.09/246.30 395.09/246.30 Q is empty. 395.09/246.30 We have to consider all minimal (P,Q,R)-chains. 395.09/246.30 ---------------------------------------- 395.09/246.30 395.09/246.30 (83) DependencyGraphProof (EQUIVALENT) 395.09/246.30 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 395.09/246.30 ---------------------------------------- 395.09/246.30 395.09/246.30 (84) 395.09/246.30 Obligation: 395.09/246.30 Q DP problem: 395.09/246.30 The TRS P consists of the following rules: 395.09/246.30 395.09/246.30 TOP(up(f(a))) -> TOP(f_flat(down(a))) 395.09/246.30 TOP(up(g(a))) -> TOP(g_flat(down(a))) 395.09/246.30 TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) 395.09/246.30 TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) 395.09/246.30 TOP(up(f(g(a)))) -> TOP(f_flat(down(g(a)))) 395.09/246.30 TOP(up(f(g(f(x0))))) -> TOP(f_flat(down(g(f(x0))))) 395.09/246.30 TOP(up(g(f(a)))) -> TOP(g_flat(down(f(a)))) 395.09/246.30 TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) 395.09/246.30 TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) 395.09/246.30 TOP(up(f(g(g(a))))) -> TOP(f_flat(down(g(g(a))))) 395.09/246.30 TOP(up(f(g(g(g(x0)))))) -> TOP(f_flat(down(g(g(g(x0)))))) 395.09/246.30 TOP(up(f(g(g(b))))) -> TOP(f_flat(down(g(g(b))))) 395.09/246.30 TOP(up(f(g(g(fresh_constant))))) -> TOP(f_flat(down(g(g(fresh_constant))))) 395.09/246.30 TOP(up(g(f(f(a))))) -> TOP(g_flat(down(f(f(a))))) 395.09/246.30 TOP(up(g(f(f(f(x0)))))) -> TOP(g_flat(down(f(f(f(x0)))))) 395.09/246.30 TOP(up(g(f(f(b))))) -> TOP(g_flat(down(f(f(b))))) 395.09/246.30 TOP(up(g(f(f(fresh_constant))))) -> TOP(g_flat(down(f(f(fresh_constant))))) 395.09/246.30 TOP(up(g(f(g(a))))) -> TOP(g_flat(down(f(g(a))))) 395.09/246.30 TOP(up(g(f(g(g(x0)))))) -> TOP(g_flat(down(f(g(g(x0)))))) 395.09/246.30 TOP(up(g(f(g(b))))) -> TOP(g_flat(down(f(g(b))))) 395.09/246.30 TOP(up(g(f(g(fresh_constant))))) -> TOP(g_flat(down(f(g(fresh_constant))))) 395.09/246.30 395.09/246.30 The TRS R consists of the following rules: 395.09/246.30 395.09/246.30 down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) 395.09/246.30 g_flat(up(x_1)) -> up(g(x_1)) 395.09/246.30 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 395.09/246.30 f_flat(up(x_1)) -> up(f(x_1)) 395.09/246.30 down(f(g(b))) -> f_flat(down(g(b))) 395.09/246.30 down(g(b)) -> g_flat(down(b)) 395.09/246.30 down(f(g(g(f(x))))) -> up(b) 395.09/246.30 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.09/246.30 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.09/246.30 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.09/246.30 down(f(g(g(fresh_constant)))) -> f_flat(down(g(g(fresh_constant)))) 395.09/246.30 down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) 395.09/246.30 down(g(g(b))) -> g_flat(down(g(b))) 395.09/246.30 down(g(g(g(x)))) -> up(b) 395.09/246.30 down(g(g(a))) -> g_flat(down(g(a))) 395.09/246.30 down(g(a)) -> g_flat(down(a)) 395.09/246.30 down(a) -> up(f(a)) 395.09/246.30 down(a) -> up(g(a)) 395.09/246.30 down(f(g(a))) -> f_flat(down(g(a))) 395.09/246.30 down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) 395.09/246.30 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 395.09/246.30 down(f(f(b))) -> f_flat(down(f(b))) 395.09/246.30 down(f(b)) -> f_flat(down(b)) 395.09/246.30 down(f(f(f(x)))) -> up(b) 395.09/246.30 down(f(f(a))) -> f_flat(down(f(a))) 395.09/246.30 down(f(a)) -> f_flat(down(a)) 395.09/246.30 down(g(f(f(g(x))))) -> up(b) 395.09/246.30 down(g(f(g(f(x))))) -> up(b) 395.09/246.30 down(g(f(a))) -> g_flat(down(f(a))) 395.09/246.30 down(g(f(b))) -> g_flat(down(f(b))) 395.09/246.30 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.09/246.30 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.09/246.30 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.09/246.30 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.09/246.30 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.09/246.30 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.09/246.30 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.09/246.30 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.09/246.30 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.09/246.30 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.09/246.30 395.09/246.30 Q is empty. 395.09/246.30 We have to consider all minimal (P,Q,R)-chains. 395.09/246.30 ---------------------------------------- 395.09/246.30 395.09/246.30 (85) MRRProof (EQUIVALENT) 395.09/246.30 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. 395.09/246.30 395.09/246.30 Strictly oriented dependency pairs: 395.09/246.30 395.09/246.30 TOP(up(f(g(g(fresh_constant))))) -> TOP(f_flat(down(g(g(fresh_constant))))) 395.09/246.30 TOP(up(g(f(f(fresh_constant))))) -> TOP(g_flat(down(f(f(fresh_constant))))) 395.09/246.30 TOP(up(g(f(g(fresh_constant))))) -> TOP(g_flat(down(f(g(fresh_constant))))) 395.09/246.30 395.09/246.30 395.09/246.30 Used ordering: Polynomial interpretation [POLO]: 395.09/246.30 395.09/246.30 POL(TOP(x_1)) = x_1 395.09/246.30 POL(a) = 0 395.09/246.30 POL(b) = 0 395.09/246.30 POL(down(x_1)) = x_1 395.09/246.30 POL(f(x_1)) = x_1 395.09/246.30 POL(f_flat(x_1)) = x_1 395.09/246.30 POL(fresh_constant) = 1 395.09/246.30 POL(g(x_1)) = 2*x_1 395.09/246.30 POL(g_flat(x_1)) = 2*x_1 395.09/246.30 POL(up(x_1)) = 2*x_1 395.09/246.30 395.09/246.30 395.09/246.30 ---------------------------------------- 395.09/246.30 395.09/246.30 (86) 395.09/246.30 Obligation: 395.09/246.30 Q DP problem: 395.09/246.30 The TRS P consists of the following rules: 395.09/246.30 395.09/246.30 TOP(up(f(a))) -> TOP(f_flat(down(a))) 395.09/246.30 TOP(up(g(a))) -> TOP(g_flat(down(a))) 395.09/246.30 TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) 395.09/246.30 TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) 395.09/246.30 TOP(up(f(g(a)))) -> TOP(f_flat(down(g(a)))) 395.09/246.30 TOP(up(f(g(f(x0))))) -> TOP(f_flat(down(g(f(x0))))) 395.09/246.30 TOP(up(g(f(a)))) -> TOP(g_flat(down(f(a)))) 395.09/246.30 TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) 395.09/246.30 TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) 395.09/246.30 TOP(up(f(g(g(a))))) -> TOP(f_flat(down(g(g(a))))) 395.09/246.30 TOP(up(f(g(g(g(x0)))))) -> TOP(f_flat(down(g(g(g(x0)))))) 395.09/246.30 TOP(up(f(g(g(b))))) -> TOP(f_flat(down(g(g(b))))) 395.09/246.30 TOP(up(g(f(f(a))))) -> TOP(g_flat(down(f(f(a))))) 395.09/246.30 TOP(up(g(f(f(f(x0)))))) -> TOP(g_flat(down(f(f(f(x0)))))) 395.09/246.30 TOP(up(g(f(f(b))))) -> TOP(g_flat(down(f(f(b))))) 395.09/246.30 TOP(up(g(f(g(a))))) -> TOP(g_flat(down(f(g(a))))) 395.09/246.30 TOP(up(g(f(g(g(x0)))))) -> TOP(g_flat(down(f(g(g(x0)))))) 395.09/246.30 TOP(up(g(f(g(b))))) -> TOP(g_flat(down(f(g(b))))) 395.09/246.30 395.09/246.30 The TRS R consists of the following rules: 395.09/246.30 395.09/246.30 down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) 395.09/246.30 g_flat(up(x_1)) -> up(g(x_1)) 395.09/246.30 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 395.09/246.30 f_flat(up(x_1)) -> up(f(x_1)) 395.09/246.30 down(f(g(b))) -> f_flat(down(g(b))) 395.09/246.30 down(g(b)) -> g_flat(down(b)) 395.09/246.30 down(f(g(g(f(x))))) -> up(b) 395.09/246.30 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.09/246.30 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.09/246.30 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.09/246.30 down(f(g(g(fresh_constant)))) -> f_flat(down(g(g(fresh_constant)))) 395.09/246.30 down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) 395.09/246.30 down(g(g(b))) -> g_flat(down(g(b))) 395.09/246.30 down(g(g(g(x)))) -> up(b) 395.09/246.30 down(g(g(a))) -> g_flat(down(g(a))) 395.09/246.30 down(g(a)) -> g_flat(down(a)) 395.09/246.30 down(a) -> up(f(a)) 395.09/246.30 down(a) -> up(g(a)) 395.09/246.30 down(f(g(a))) -> f_flat(down(g(a))) 395.09/246.30 down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) 395.09/246.30 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 395.09/246.30 down(f(f(b))) -> f_flat(down(f(b))) 395.09/246.30 down(f(b)) -> f_flat(down(b)) 395.09/246.30 down(f(f(f(x)))) -> up(b) 395.09/246.30 down(f(f(a))) -> f_flat(down(f(a))) 395.09/246.30 down(f(a)) -> f_flat(down(a)) 395.09/246.30 down(g(f(f(g(x))))) -> up(b) 395.09/246.30 down(g(f(g(f(x))))) -> up(b) 395.09/246.30 down(g(f(a))) -> g_flat(down(f(a))) 395.09/246.30 down(g(f(b))) -> g_flat(down(f(b))) 395.09/246.30 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.09/246.30 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.09/246.30 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.09/246.30 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.09/246.30 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.09/246.30 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.09/246.30 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.09/246.30 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.09/246.30 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.09/246.30 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.09/246.30 395.09/246.30 Q is empty. 395.09/246.30 We have to consider all minimal (P,Q,R)-chains. 395.09/246.30 ---------------------------------------- 395.09/246.30 395.09/246.30 (87) QDPOrderProof (EQUIVALENT) 395.09/246.30 We use the reduction pair processor [LPAR04,JAR06]. 395.09/246.30 395.09/246.30 395.09/246.30 The following pairs can be oriented strictly and are deleted. 395.09/246.30 395.09/246.30 TOP(up(f(a))) -> TOP(f_flat(down(a))) 395.09/246.30 The remaining pairs can at least be oriented weakly. 395.09/246.30 Used ordering: Matrix interpretation [MATRO]: 395.09/246.30 395.09/246.30 Non-tuple symbols: 395.09/246.30 <<< 395.09/246.30 M( a ) = [[0], [1]] 395.09/246.30 >>> 395.09/246.30 395.09/246.30 <<< 395.09/246.30 M( b ) = [[0], [0]] 395.09/246.30 >>> 395.09/246.30 395.09/246.30 <<< 395.09/246.30 M( down_1(x_1) ) = [[1], [0]] + [[0, 0], [0, 0]] * x_1 395.09/246.30 >>> 395.09/246.30 395.09/246.30 <<< 395.09/246.30 M( f_1(x_1) ) = [[0], [0]] + [[0, 1], [0, 0]] * x_1 395.09/246.30 >>> 395.09/246.30 395.09/246.30 <<< 395.09/246.30 M( fresh_constant ) = [[0], [0]] 395.09/246.30 >>> 395.09/246.30 395.09/246.30 <<< 395.09/246.30 M( up_1(x_1) ) = [[0], [0]] + [[1, 0], [0, 1]] * x_1 395.09/246.30 >>> 395.09/246.30 395.09/246.30 <<< 395.09/246.30 M( f_flat_1(x_1) ) = [[0], [0]] + [[0, 1], [0, 0]] * x_1 395.09/246.30 >>> 395.09/246.30 395.09/246.30 <<< 395.09/246.30 M( g_1(x_1) ) = [[0], [0]] + [[0, 0], [0, 0]] * x_1 395.09/246.30 >>> 395.09/246.30 395.09/246.30 <<< 395.09/246.30 M( g_flat_1(x_1) ) = [[0], [0]] + [[0, 0], [0, 0]] * x_1 395.09/246.30 >>> 395.09/246.30 395.09/246.30 Tuple symbols: 395.09/246.30 <<< 395.09/246.30 M( TOP_1(x_1) ) = [[0]] + [[1, 0]] * x_1 395.09/246.30 >>> 395.09/246.30 395.09/246.30 395.09/246.30 395.09/246.30 Matrix type: 395.09/246.30 395.09/246.30 We used a basic matrix type which is not further parametrizeable. 395.09/246.30 395.09/246.30 395.09/246.30 395.09/246.30 395.09/246.30 395.09/246.30 As matrix orders are CE-compatible, we used usable rules w.r.t. argument filtering in the order. 395.09/246.30 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 395.09/246.30 395.09/246.30 down(a) -> up(f(a)) 395.09/246.30 down(a) -> up(g(a)) 395.09/246.30 f_flat(up(x_1)) -> up(f(x_1)) 395.09/246.30 g_flat(up(x_1)) -> up(g(x_1)) 395.09/246.30 down(f(a)) -> f_flat(down(a)) 395.09/246.30 down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) 395.09/246.30 down(f(g(b))) -> f_flat(down(g(b))) 395.09/246.30 down(f(g(g(f(x))))) -> up(b) 395.09/246.30 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.09/246.30 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.09/246.30 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.09/246.30 down(f(g(g(fresh_constant)))) -> f_flat(down(g(g(fresh_constant)))) 395.09/246.30 down(f(g(a))) -> f_flat(down(g(a))) 395.09/246.30 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.09/246.30 down(g(a)) -> g_flat(down(a)) 395.09/246.30 down(g(f(f(g(x))))) -> up(b) 395.09/246.30 down(g(f(g(f(x))))) -> up(b) 395.09/246.30 down(g(f(a))) -> g_flat(down(f(a))) 395.09/246.30 down(g(f(b))) -> g_flat(down(f(b))) 395.09/246.30 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.09/246.30 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.09/246.30 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.09/246.30 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.09/246.30 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.09/246.30 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.09/246.30 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.09/246.30 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.09/246.30 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.09/246.30 down(g(g(a))) -> g_flat(down(g(a))) 395.09/246.30 down(g(g(g(x)))) -> up(b) 395.09/246.30 down(g(g(b))) -> g_flat(down(g(b))) 395.09/246.30 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 395.09/246.30 down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) 395.09/246.30 down(g(b)) -> g_flat(down(b)) 395.09/246.30 395.09/246.30 395.09/246.30 ---------------------------------------- 395.09/246.30 395.09/246.30 (88) 395.09/246.30 Obligation: 395.09/246.30 Q DP problem: 395.09/246.30 The TRS P consists of the following rules: 395.09/246.30 395.09/246.30 TOP(up(g(a))) -> TOP(g_flat(down(a))) 395.09/246.30 TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) 395.09/246.30 TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) 395.09/246.30 TOP(up(f(g(a)))) -> TOP(f_flat(down(g(a)))) 395.09/246.30 TOP(up(f(g(f(x0))))) -> TOP(f_flat(down(g(f(x0))))) 395.09/246.30 TOP(up(g(f(a)))) -> TOP(g_flat(down(f(a)))) 395.09/246.30 TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) 395.09/246.30 TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) 395.09/246.30 TOP(up(f(g(g(a))))) -> TOP(f_flat(down(g(g(a))))) 395.09/246.30 TOP(up(f(g(g(g(x0)))))) -> TOP(f_flat(down(g(g(g(x0)))))) 395.09/246.30 TOP(up(f(g(g(b))))) -> TOP(f_flat(down(g(g(b))))) 395.09/246.30 TOP(up(g(f(f(a))))) -> TOP(g_flat(down(f(f(a))))) 395.09/246.30 TOP(up(g(f(f(f(x0)))))) -> TOP(g_flat(down(f(f(f(x0)))))) 395.09/246.30 TOP(up(g(f(f(b))))) -> TOP(g_flat(down(f(f(b))))) 395.09/246.30 TOP(up(g(f(g(a))))) -> TOP(g_flat(down(f(g(a))))) 395.09/246.30 TOP(up(g(f(g(g(x0)))))) -> TOP(g_flat(down(f(g(g(x0)))))) 395.09/246.30 TOP(up(g(f(g(b))))) -> TOP(g_flat(down(f(g(b))))) 395.09/246.30 395.09/246.30 The TRS R consists of the following rules: 395.09/246.30 395.09/246.30 down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) 395.09/246.30 g_flat(up(x_1)) -> up(g(x_1)) 395.09/246.30 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 395.09/246.30 f_flat(up(x_1)) -> up(f(x_1)) 395.09/246.30 down(f(g(b))) -> f_flat(down(g(b))) 395.09/246.30 down(g(b)) -> g_flat(down(b)) 395.09/246.30 down(f(g(g(f(x))))) -> up(b) 395.09/246.30 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.09/246.30 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.09/246.30 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.09/246.30 down(f(g(g(fresh_constant)))) -> f_flat(down(g(g(fresh_constant)))) 395.09/246.30 down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) 395.09/246.30 down(g(g(b))) -> g_flat(down(g(b))) 395.09/246.30 down(g(g(g(x)))) -> up(b) 395.09/246.30 down(g(g(a))) -> g_flat(down(g(a))) 395.09/246.30 down(g(a)) -> g_flat(down(a)) 395.09/246.30 down(a) -> up(f(a)) 395.09/246.30 down(a) -> up(g(a)) 395.09/246.30 down(f(g(a))) -> f_flat(down(g(a))) 395.09/246.30 down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) 395.09/246.30 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 395.09/246.30 down(f(f(b))) -> f_flat(down(f(b))) 395.09/246.30 down(f(b)) -> f_flat(down(b)) 395.09/246.30 down(f(f(f(x)))) -> up(b) 395.09/246.30 down(f(f(a))) -> f_flat(down(f(a))) 395.09/246.30 down(f(a)) -> f_flat(down(a)) 395.09/246.30 down(g(f(f(g(x))))) -> up(b) 395.09/246.30 down(g(f(g(f(x))))) -> up(b) 395.09/246.30 down(g(f(a))) -> g_flat(down(f(a))) 395.09/246.30 down(g(f(b))) -> g_flat(down(f(b))) 395.09/246.30 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.09/246.30 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.09/246.30 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.09/246.30 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.09/246.30 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.09/246.30 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.09/246.30 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.09/246.30 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.09/246.30 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.09/246.30 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.09/246.30 395.09/246.30 Q is empty. 395.09/246.30 We have to consider all minimal (P,Q,R)-chains. 395.09/246.30 ---------------------------------------- 395.09/246.30 395.09/246.30 (89) QDPOrderProof (EQUIVALENT) 395.09/246.30 We use the reduction pair processor [LPAR04,JAR06]. 395.09/246.30 395.09/246.30 395.09/246.30 The following pairs can be oriented strictly and are deleted. 395.09/246.30 395.09/246.30 TOP(up(g(a))) -> TOP(g_flat(down(a))) 395.09/246.30 The remaining pairs can at least be oriented weakly. 395.09/246.30 Used ordering: Matrix interpretation [MATRO]: 395.09/246.30 395.09/246.30 Non-tuple symbols: 395.09/246.30 <<< 395.09/246.30 M( a ) = [[1], [0]] 395.09/246.30 >>> 395.09/246.30 395.09/246.30 <<< 395.09/246.30 M( b ) = [[0], [0]] 395.09/246.30 >>> 395.09/246.30 395.09/246.30 <<< 395.09/246.30 M( down_1(x_1) ) = [[1], [0]] + [[0, 0], [0, 0]] * x_1 395.09/246.30 >>> 395.09/246.30 395.09/246.30 <<< 395.09/246.30 M( f_1(x_1) ) = [[0], [0]] + [[0, 0], [0, 0]] * x_1 395.09/246.30 >>> 395.09/246.30 395.09/246.30 <<< 395.09/246.30 M( fresh_constant ) = [[0], [0]] 395.09/246.30 >>> 395.09/246.30 395.09/246.30 <<< 395.09/246.30 M( up_1(x_1) ) = [[0], [0]] + [[0, 1], [1, 0]] * x_1 395.09/246.30 >>> 395.09/246.30 395.09/246.30 <<< 395.09/246.30 M( f_flat_1(x_1) ) = [[0], [0]] + [[0, 0], [0, 0]] * x_1 395.09/246.30 >>> 395.09/246.30 395.09/246.30 <<< 395.09/246.30 M( g_1(x_1) ) = [[0], [0]] + [[0, 0], [1, 0]] * x_1 395.09/246.30 >>> 395.09/246.30 395.09/246.30 <<< 395.09/246.30 M( g_flat_1(x_1) ) = [[0], [0]] + [[0, 1], [0, 0]] * x_1 395.09/246.30 >>> 395.09/246.30 395.09/246.30 Tuple symbols: 395.09/246.30 <<< 395.09/246.30 M( TOP_1(x_1) ) = [[0]] + [[1, 0]] * x_1 395.09/246.30 >>> 395.09/246.30 395.09/246.30 395.09/246.30 395.09/246.30 Matrix type: 395.09/246.30 395.09/246.30 We used a basic matrix type which is not further parametrizeable. 395.09/246.30 395.09/246.30 395.09/246.30 395.09/246.30 395.09/246.30 395.09/246.30 As matrix orders are CE-compatible, we used usable rules w.r.t. argument filtering in the order. 395.09/246.30 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 395.09/246.30 395.09/246.30 down(a) -> up(f(a)) 395.09/246.30 down(a) -> up(g(a)) 395.09/246.30 g_flat(up(x_1)) -> up(g(x_1)) 395.09/246.30 down(f(a)) -> f_flat(down(a)) 395.09/246.30 f_flat(up(x_1)) -> up(f(x_1)) 395.09/246.30 down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) 395.09/246.30 down(f(g(b))) -> f_flat(down(g(b))) 395.09/246.30 down(f(g(g(f(x))))) -> up(b) 395.09/246.30 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.09/246.30 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.09/246.30 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.09/246.30 down(f(g(g(fresh_constant)))) -> f_flat(down(g(g(fresh_constant)))) 395.09/246.30 down(f(g(a))) -> f_flat(down(g(a))) 395.09/246.30 down(g(a)) -> g_flat(down(a)) 395.09/246.30 down(g(f(f(g(x))))) -> up(b) 395.09/246.30 down(g(f(g(f(x))))) -> up(b) 395.09/246.30 down(g(f(a))) -> g_flat(down(f(a))) 395.09/246.30 down(g(f(b))) -> g_flat(down(f(b))) 395.09/246.30 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.09/246.30 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.09/246.30 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.09/246.30 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.09/246.30 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.09/246.30 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.09/246.30 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.09/246.30 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.09/246.30 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.09/246.30 down(f(f(a))) -> f_flat(down(f(a))) 395.09/246.30 down(f(f(f(x)))) -> up(b) 395.09/246.30 down(f(f(b))) -> f_flat(down(f(b))) 395.09/246.30 down(f(b)) -> f_flat(down(b)) 395.09/246.30 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 395.09/246.30 down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) 395.09/246.30 395.09/246.30 395.09/246.30 ---------------------------------------- 395.09/246.30 395.09/246.30 (90) 395.09/246.30 Obligation: 395.09/246.30 Q DP problem: 395.09/246.30 The TRS P consists of the following rules: 395.09/246.30 395.09/246.30 TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) 395.09/246.30 TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) 395.09/246.30 TOP(up(f(g(a)))) -> TOP(f_flat(down(g(a)))) 395.09/246.30 TOP(up(f(g(f(x0))))) -> TOP(f_flat(down(g(f(x0))))) 395.09/246.30 TOP(up(g(f(a)))) -> TOP(g_flat(down(f(a)))) 395.09/246.30 TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) 395.09/246.30 TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) 395.09/246.30 TOP(up(f(g(g(a))))) -> TOP(f_flat(down(g(g(a))))) 395.09/246.30 TOP(up(f(g(g(g(x0)))))) -> TOP(f_flat(down(g(g(g(x0)))))) 395.09/246.30 TOP(up(f(g(g(b))))) -> TOP(f_flat(down(g(g(b))))) 395.09/246.30 TOP(up(g(f(f(a))))) -> TOP(g_flat(down(f(f(a))))) 395.09/246.30 TOP(up(g(f(f(f(x0)))))) -> TOP(g_flat(down(f(f(f(x0)))))) 395.09/246.30 TOP(up(g(f(f(b))))) -> TOP(g_flat(down(f(f(b))))) 395.09/246.30 TOP(up(g(f(g(a))))) -> TOP(g_flat(down(f(g(a))))) 395.09/246.30 TOP(up(g(f(g(g(x0)))))) -> TOP(g_flat(down(f(g(g(x0)))))) 395.09/246.30 TOP(up(g(f(g(b))))) -> TOP(g_flat(down(f(g(b))))) 395.09/246.30 395.09/246.30 The TRS R consists of the following rules: 395.09/246.30 395.09/246.30 down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) 395.09/246.30 g_flat(up(x_1)) -> up(g(x_1)) 395.09/246.30 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 395.09/246.30 f_flat(up(x_1)) -> up(f(x_1)) 395.09/246.30 down(f(g(b))) -> f_flat(down(g(b))) 395.09/246.30 down(g(b)) -> g_flat(down(b)) 395.09/246.30 down(f(g(g(f(x))))) -> up(b) 395.09/246.30 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.09/246.30 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.09/246.30 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.09/246.30 down(f(g(g(fresh_constant)))) -> f_flat(down(g(g(fresh_constant)))) 395.09/246.30 down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) 395.09/246.30 down(g(g(b))) -> g_flat(down(g(b))) 395.09/246.30 down(g(g(g(x)))) -> up(b) 395.09/246.30 down(g(g(a))) -> g_flat(down(g(a))) 395.09/246.30 down(g(a)) -> g_flat(down(a)) 395.09/246.30 down(a) -> up(f(a)) 395.09/246.30 down(a) -> up(g(a)) 395.09/246.30 down(f(g(a))) -> f_flat(down(g(a))) 395.09/246.30 down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) 395.09/246.30 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 395.09/246.30 down(f(f(b))) -> f_flat(down(f(b))) 395.09/246.30 down(f(b)) -> f_flat(down(b)) 395.09/246.30 down(f(f(f(x)))) -> up(b) 395.09/246.30 down(f(f(a))) -> f_flat(down(f(a))) 395.09/246.30 down(f(a)) -> f_flat(down(a)) 395.09/246.30 down(g(f(f(g(x))))) -> up(b) 395.09/246.30 down(g(f(g(f(x))))) -> up(b) 395.09/246.30 down(g(f(a))) -> g_flat(down(f(a))) 395.09/246.30 down(g(f(b))) -> g_flat(down(f(b))) 395.09/246.30 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.09/246.30 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.09/246.30 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.09/246.30 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.09/246.30 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.09/246.30 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.09/246.30 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.09/246.30 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.09/246.30 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.09/246.30 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.09/246.30 395.09/246.30 Q is empty. 395.09/246.30 We have to consider all minimal (P,Q,R)-chains. 395.09/246.30 ---------------------------------------- 395.09/246.30 395.09/246.30 (91) QDPOrderProof (EQUIVALENT) 395.09/246.30 We use the reduction pair processor [LPAR04,JAR06]. 395.09/246.30 395.09/246.30 395.09/246.30 The following pairs can be oriented strictly and are deleted. 395.09/246.30 395.09/246.30 TOP(up(f(f(a)))) -> TOP(f_flat(down(f(a)))) 395.09/246.30 The remaining pairs can at least be oriented weakly. 395.09/246.30 Used ordering: Matrix interpretation [MATRO]: 395.09/246.30 395.09/246.30 Non-tuple symbols: 395.09/246.30 <<< 395.09/246.30 M( a ) = [[1], [0]] 395.09/246.30 >>> 395.09/246.30 395.09/246.30 <<< 395.09/246.30 M( b ) = [[0], [0]] 395.09/246.30 >>> 395.09/246.30 395.09/246.30 <<< 395.09/246.30 M( down_1(x_1) ) = [[0], [0]] + [[1, 0], [0, 1]] * x_1 395.09/246.30 >>> 395.09/246.30 395.09/246.30 <<< 395.09/246.30 M( f_1(x_1) ) = [[0], [0]] + [[0, 1], [1, 0]] * x_1 395.09/246.30 >>> 395.09/246.30 395.09/246.30 <<< 395.09/246.30 M( fresh_constant ) = [[0], [0]] 395.09/246.30 >>> 395.09/246.30 395.09/246.30 <<< 395.09/246.30 M( up_1(x_1) ) = [[0], [0]] + [[0, 1], [1, 0]] * x_1 395.09/246.30 >>> 395.09/246.30 395.09/246.30 <<< 395.09/246.30 M( f_flat_1(x_1) ) = [[0], [0]] + [[0, 1], [1, 0]] * x_1 395.09/246.30 >>> 395.09/246.30 395.09/246.30 <<< 395.09/246.30 M( g_1(x_1) ) = [[0], [0]] + [[0, 0], [0, 0]] * x_1 395.09/246.30 >>> 395.09/246.30 395.09/246.30 <<< 395.09/246.30 M( g_flat_1(x_1) ) = [[0], [0]] + [[0, 0], [0, 0]] * x_1 395.09/246.30 >>> 395.09/246.30 395.09/246.30 Tuple symbols: 395.09/246.30 <<< 395.09/246.30 M( TOP_1(x_1) ) = [[0]] + [[0, 1]] * x_1 395.09/246.30 >>> 395.09/246.30 395.09/246.30 395.09/246.30 395.09/246.30 Matrix type: 395.09/246.30 395.09/246.30 We used a basic matrix type which is not further parametrizeable. 395.09/246.30 395.09/246.30 395.09/246.30 395.09/246.30 395.09/246.30 395.09/246.30 As matrix orders are CE-compatible, we used usable rules w.r.t. argument filtering in the order. 395.09/246.30 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 395.09/246.30 395.09/246.30 down(f(a)) -> f_flat(down(a)) 395.09/246.30 f_flat(up(x_1)) -> up(f(x_1)) 395.09/246.30 down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) 395.09/246.30 down(f(g(b))) -> f_flat(down(g(b))) 395.09/246.30 down(f(g(g(f(x))))) -> up(b) 395.09/246.30 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.09/246.30 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.09/246.30 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.09/246.30 down(f(g(g(fresh_constant)))) -> f_flat(down(g(g(fresh_constant)))) 395.09/246.30 down(f(g(a))) -> f_flat(down(g(a))) 395.09/246.30 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.09/246.30 down(g(a)) -> g_flat(down(a)) 395.09/246.30 down(g(f(f(g(x))))) -> up(b) 395.09/246.30 down(g(f(g(f(x))))) -> up(b) 395.09/246.30 down(g(f(a))) -> g_flat(down(f(a))) 395.09/246.30 down(g(f(b))) -> g_flat(down(f(b))) 395.09/246.30 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.09/246.30 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.09/246.30 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.09/246.30 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.09/246.30 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.09/246.30 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.09/246.30 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.09/246.30 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.09/246.30 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.09/246.30 g_flat(up(x_1)) -> up(g(x_1)) 395.09/246.30 down(g(g(a))) -> g_flat(down(g(a))) 395.09/246.30 down(g(g(g(x)))) -> up(b) 395.09/246.30 down(g(g(b))) -> g_flat(down(g(b))) 395.09/246.30 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 395.09/246.30 down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) 395.09/246.30 down(g(b)) -> g_flat(down(b)) 395.09/246.30 down(a) -> up(f(a)) 395.09/246.30 down(a) -> up(g(a)) 395.09/246.30 395.09/246.30 395.09/246.30 ---------------------------------------- 395.09/246.30 395.09/246.30 (92) 395.09/246.30 Obligation: 395.09/246.30 Q DP problem: 395.09/246.30 The TRS P consists of the following rules: 395.09/246.30 395.09/246.30 TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) 395.09/246.30 TOP(up(f(g(a)))) -> TOP(f_flat(down(g(a)))) 395.09/246.30 TOP(up(f(g(f(x0))))) -> TOP(f_flat(down(g(f(x0))))) 395.09/246.30 TOP(up(g(f(a)))) -> TOP(g_flat(down(f(a)))) 395.09/246.30 TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) 395.09/246.30 TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) 395.09/246.30 TOP(up(f(g(g(a))))) -> TOP(f_flat(down(g(g(a))))) 395.09/246.30 TOP(up(f(g(g(g(x0)))))) -> TOP(f_flat(down(g(g(g(x0)))))) 395.09/246.30 TOP(up(f(g(g(b))))) -> TOP(f_flat(down(g(g(b))))) 395.09/246.30 TOP(up(g(f(f(a))))) -> TOP(g_flat(down(f(f(a))))) 395.09/246.30 TOP(up(g(f(f(f(x0)))))) -> TOP(g_flat(down(f(f(f(x0)))))) 395.09/246.30 TOP(up(g(f(f(b))))) -> TOP(g_flat(down(f(f(b))))) 395.09/246.30 TOP(up(g(f(g(a))))) -> TOP(g_flat(down(f(g(a))))) 395.09/246.30 TOP(up(g(f(g(g(x0)))))) -> TOP(g_flat(down(f(g(g(x0)))))) 395.09/246.30 TOP(up(g(f(g(b))))) -> TOP(g_flat(down(f(g(b))))) 395.09/246.30 395.09/246.30 The TRS R consists of the following rules: 395.09/246.30 395.09/246.30 down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) 395.09/246.30 g_flat(up(x_1)) -> up(g(x_1)) 395.09/246.30 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 395.09/246.30 f_flat(up(x_1)) -> up(f(x_1)) 395.09/246.30 down(f(g(b))) -> f_flat(down(g(b))) 395.09/246.30 down(g(b)) -> g_flat(down(b)) 395.09/246.30 down(f(g(g(f(x))))) -> up(b) 395.09/246.30 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.09/246.30 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.09/246.30 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.09/246.30 down(f(g(g(fresh_constant)))) -> f_flat(down(g(g(fresh_constant)))) 395.09/246.30 down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) 395.09/246.30 down(g(g(b))) -> g_flat(down(g(b))) 395.09/246.30 down(g(g(g(x)))) -> up(b) 395.09/246.30 down(g(g(a))) -> g_flat(down(g(a))) 395.09/246.30 down(g(a)) -> g_flat(down(a)) 395.09/246.30 down(a) -> up(f(a)) 395.09/246.30 down(a) -> up(g(a)) 395.09/246.30 down(f(g(a))) -> f_flat(down(g(a))) 395.09/246.30 down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) 395.09/246.30 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 395.09/246.30 down(f(f(b))) -> f_flat(down(f(b))) 395.09/246.30 down(f(b)) -> f_flat(down(b)) 395.09/246.30 down(f(f(f(x)))) -> up(b) 395.09/246.30 down(f(f(a))) -> f_flat(down(f(a))) 395.09/246.30 down(f(a)) -> f_flat(down(a)) 395.09/246.30 down(g(f(f(g(x))))) -> up(b) 395.09/246.30 down(g(f(g(f(x))))) -> up(b) 395.09/246.30 down(g(f(a))) -> g_flat(down(f(a))) 395.09/246.30 down(g(f(b))) -> g_flat(down(f(b))) 395.09/246.30 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.09/246.30 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.09/246.30 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.09/246.30 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.09/246.30 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.09/246.30 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.09/246.30 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.09/246.30 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.09/246.30 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.09/246.30 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.09/246.30 395.09/246.30 Q is empty. 395.09/246.30 We have to consider all minimal (P,Q,R)-chains. 395.09/246.30 ---------------------------------------- 395.09/246.30 395.09/246.30 (93) QDPOrderProof (EQUIVALENT) 395.09/246.30 We use the reduction pair processor [LPAR04,JAR06]. 395.09/246.30 395.09/246.30 395.09/246.30 The following pairs can be oriented strictly and are deleted. 395.09/246.30 395.09/246.30 TOP(up(g(g(a)))) -> TOP(g_flat(down(g(a)))) 395.09/246.30 The remaining pairs can at least be oriented weakly. 395.09/246.30 Used ordering: Matrix interpretation [MATRO]: 395.09/246.30 395.09/246.30 Non-tuple symbols: 395.09/246.30 <<< 395.09/246.30 M( a ) = [[1], [0]] 395.09/246.30 >>> 395.09/246.30 395.09/246.30 <<< 395.09/246.30 M( b ) = [[0], [0]] 395.09/246.30 >>> 395.09/246.30 395.09/246.30 <<< 395.09/246.30 M( down_1(x_1) ) = [[0], [0]] + [[0, 1], [1, 0]] * x_1 395.09/246.30 >>> 395.09/246.30 395.09/246.30 <<< 395.09/246.30 M( f_1(x_1) ) = [[0], [0]] + [[0, 0], [0, 0]] * x_1 395.09/246.30 >>> 395.09/246.30 395.09/246.30 <<< 395.09/246.30 M( fresh_constant ) = [[0], [0]] 395.09/246.30 >>> 395.09/246.30 395.09/246.30 <<< 395.09/246.30 M( up_1(x_1) ) = [[0], [0]] + [[1, 0], [0, 1]] * x_1 395.09/246.30 >>> 395.09/246.30 395.09/246.30 <<< 395.09/246.30 M( f_flat_1(x_1) ) = [[0], [0]] + [[0, 0], [0, 0]] * x_1 395.09/246.30 >>> 395.09/246.30 395.09/246.30 <<< 395.09/246.30 M( g_1(x_1) ) = [[0], [0]] + [[0, 1], [1, 0]] * x_1 395.09/246.30 >>> 395.09/246.30 395.09/246.30 <<< 395.09/246.30 M( g_flat_1(x_1) ) = [[0], [0]] + [[0, 1], [1, 0]] * x_1 395.09/246.30 >>> 395.09/246.30 395.09/246.30 Tuple symbols: 395.09/246.30 <<< 395.09/246.30 M( TOP_1(x_1) ) = [[0]] + [[1, 0]] * x_1 395.09/246.30 >>> 395.09/246.30 395.09/246.30 395.09/246.30 395.09/246.30 Matrix type: 395.09/246.30 395.09/246.30 We used a basic matrix type which is not further parametrizeable. 395.09/246.30 395.09/246.30 395.09/246.30 395.09/246.30 395.09/246.30 395.09/246.30 As matrix orders are CE-compatible, we used usable rules w.r.t. argument filtering in the order. 395.09/246.30 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 395.09/246.30 395.09/246.30 down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) 395.09/246.30 down(f(g(b))) -> f_flat(down(g(b))) 395.09/246.30 down(f(g(g(f(x))))) -> up(b) 395.09/246.30 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.09/246.30 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.09/246.30 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.09/246.30 down(f(g(g(fresh_constant)))) -> f_flat(down(g(g(fresh_constant)))) 395.09/246.30 down(f(g(a))) -> f_flat(down(g(a))) 395.09/246.30 f_flat(up(x_1)) -> up(f(x_1)) 395.09/246.30 down(g(a)) -> g_flat(down(a)) 395.09/246.30 down(g(f(f(g(x))))) -> up(b) 395.09/246.30 down(g(f(g(f(x))))) -> up(b) 395.09/246.30 down(g(f(a))) -> g_flat(down(f(a))) 395.09/246.30 down(g(f(b))) -> g_flat(down(f(b))) 395.09/246.30 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.09/246.30 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.09/246.30 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.09/246.30 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.09/246.30 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.09/246.30 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.09/246.30 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.09/246.30 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.09/246.30 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.09/246.30 down(f(a)) -> f_flat(down(a)) 395.09/246.30 g_flat(up(x_1)) -> up(g(x_1)) 395.09/246.30 down(f(f(a))) -> f_flat(down(f(a))) 395.09/246.30 down(f(f(f(x)))) -> up(b) 395.09/246.30 down(f(f(b))) -> f_flat(down(f(b))) 395.09/246.30 down(a) -> up(f(a)) 395.09/246.30 down(a) -> up(g(a)) 395.09/246.30 down(f(b)) -> f_flat(down(b)) 395.09/246.30 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 395.09/246.30 down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) 395.09/246.30 395.09/246.30 395.09/246.30 ---------------------------------------- 395.09/246.30 395.09/246.30 (94) 395.09/246.30 Obligation: 395.09/246.30 Q DP problem: 395.09/246.30 The TRS P consists of the following rules: 395.09/246.30 395.09/246.30 TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) 395.09/246.30 TOP(up(f(g(a)))) -> TOP(f_flat(down(g(a)))) 395.09/246.30 TOP(up(f(g(f(x0))))) -> TOP(f_flat(down(g(f(x0))))) 395.09/246.30 TOP(up(g(f(a)))) -> TOP(g_flat(down(f(a)))) 395.09/246.30 TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) 395.09/246.30 TOP(up(f(g(g(a))))) -> TOP(f_flat(down(g(g(a))))) 395.09/246.30 TOP(up(f(g(g(g(x0)))))) -> TOP(f_flat(down(g(g(g(x0)))))) 395.09/246.30 TOP(up(f(g(g(b))))) -> TOP(f_flat(down(g(g(b))))) 395.09/246.30 TOP(up(g(f(f(a))))) -> TOP(g_flat(down(f(f(a))))) 395.09/246.30 TOP(up(g(f(f(f(x0)))))) -> TOP(g_flat(down(f(f(f(x0)))))) 395.09/246.30 TOP(up(g(f(f(b))))) -> TOP(g_flat(down(f(f(b))))) 395.09/246.30 TOP(up(g(f(g(a))))) -> TOP(g_flat(down(f(g(a))))) 395.09/246.30 TOP(up(g(f(g(g(x0)))))) -> TOP(g_flat(down(f(g(g(x0)))))) 395.09/246.30 TOP(up(g(f(g(b))))) -> TOP(g_flat(down(f(g(b))))) 395.09/246.30 395.09/246.30 The TRS R consists of the following rules: 395.09/246.30 395.09/246.30 down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) 395.09/246.30 g_flat(up(x_1)) -> up(g(x_1)) 395.09/246.30 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 395.09/246.30 f_flat(up(x_1)) -> up(f(x_1)) 395.09/246.30 down(f(g(b))) -> f_flat(down(g(b))) 395.09/246.30 down(g(b)) -> g_flat(down(b)) 395.09/246.30 down(f(g(g(f(x))))) -> up(b) 395.09/246.30 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.09/246.30 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.09/246.30 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.09/246.30 down(f(g(g(fresh_constant)))) -> f_flat(down(g(g(fresh_constant)))) 395.09/246.30 down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) 395.09/246.30 down(g(g(b))) -> g_flat(down(g(b))) 395.09/246.30 down(g(g(g(x)))) -> up(b) 395.09/246.30 down(g(g(a))) -> g_flat(down(g(a))) 395.09/246.30 down(g(a)) -> g_flat(down(a)) 395.09/246.30 down(a) -> up(f(a)) 395.09/246.30 down(a) -> up(g(a)) 395.09/246.30 down(f(g(a))) -> f_flat(down(g(a))) 395.09/246.30 down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) 395.09/246.30 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 395.09/246.30 down(f(f(b))) -> f_flat(down(f(b))) 395.09/246.30 down(f(b)) -> f_flat(down(b)) 395.09/246.30 down(f(f(f(x)))) -> up(b) 395.09/246.30 down(f(f(a))) -> f_flat(down(f(a))) 395.09/246.30 down(f(a)) -> f_flat(down(a)) 395.09/246.30 down(g(f(f(g(x))))) -> up(b) 395.09/246.30 down(g(f(g(f(x))))) -> up(b) 395.09/246.30 down(g(f(a))) -> g_flat(down(f(a))) 395.09/246.30 down(g(f(b))) -> g_flat(down(f(b))) 395.09/246.30 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.09/246.30 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.09/246.30 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.09/246.30 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.09/246.30 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.09/246.30 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.09/246.30 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.09/246.30 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.09/246.30 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.09/246.30 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.09/246.30 395.09/246.30 Q is empty. 395.09/246.30 We have to consider all minimal (P,Q,R)-chains. 395.09/246.30 ---------------------------------------- 395.09/246.30 395.09/246.30 (95) SplitQDPProof (EQUIVALENT) 395.09/246.30 We show in the first subproof that some pairs and rules can be removed, afterwards, we continue with the remaining DP-Problem 395.09/246.30 395.09/246.30 ---------------------------------------- 395.09/246.30 395.09/246.30 (96) 395.09/246.30 Complex Obligation (AND) 395.09/246.30 395.09/246.30 ---------------------------------------- 395.09/246.30 395.09/246.30 (97) 395.09/246.30 Obligation: 395.09/246.30 Q DP problem: 395.09/246.30 The TRS P consists of the following rules: 395.09/246.30 395.09/246.30 TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) 395.09/246.30 TOP(up(f(g(a)))) -> TOP(f_flat(down(g(a)))) 395.09/246.30 TOP(up(f(g(f(x0))))) -> TOP(f_flat(down(g(f(x0))))) 395.09/246.30 TOP(up(g(f(a)))) -> TOP(g_flat(down(f(a)))) 395.09/246.30 TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) 395.09/246.30 TOP(up(f(g(g(a))))) -> TOP(f_flat(down(g(g(a))))) 395.09/246.30 TOP(up(f(g(g(g(x0)))))) -> TOP(f_flat(down(g(g(g(x0)))))) 395.09/246.30 TOP(up(f(g(g(b))))) -> TOP(f_flat(down(g(g(b))))) 395.09/246.30 TOP(up(g(f(f(a))))) -> TOP(g_flat(down(f(f(a))))) 395.09/246.30 TOP(up(g(f(f(f(x0)))))) -> TOP(g_flat(down(f(f(f(x0)))))) 395.09/246.30 TOP(up(g(f(f(b))))) -> TOP(g_flat(down(f(f(b))))) 395.09/246.30 TOP(up(g(f(g(a))))) -> TOP(g_flat(down(f(g(a))))) 395.09/246.30 TOP(up(g(f(g(g(x0)))))) -> TOP(g_flat(down(f(g(g(x0)))))) 395.09/246.30 TOP(up(g(f(g(b))))) -> TOP(g_flat(down(f(g(b))))) 395.09/246.30 395.09/246.30 The TRS R consists of the following rules: 395.09/246.30 395.09/246.30 down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) 395.09/246.30 g_flat(up(x_1)) -> up(g(x_1)) 395.09/246.30 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 395.09/246.30 f_flat(up(x_1)) -> up(f(x_1)) 395.09/246.30 down(f(g(b))) -> f_flat(down(g(b))) 395.09/246.30 down(g(b)) -> g_flat(down(b)) 395.09/246.30 down(f(g(g(f(x))))) -> up(b) 395.09/246.30 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.09/246.30 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.09/246.30 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.09/246.30 down(f(g(g(fresh_constant)))) -> f_flat(down(g(g(fresh_constant)))) 395.09/246.30 down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) 395.09/246.30 down(g(g(b))) -> g_flat(down(g(b))) 395.09/246.30 down(g(g(g(x)))) -> up(b) 395.09/246.30 down(g(g(a))) -> g_flat(down(g(a))) 395.09/246.30 down(g(a)) -> g_flat(down(a)) 395.09/246.30 down(a) -> up(f(a)) 395.09/246.30 down(a) -> up(g(a)) 395.09/246.30 down(f(g(a))) -> f_flat(down(g(a))) 395.09/246.30 down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) 395.09/246.30 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 395.09/246.30 down(f(f(b))) -> f_flat(down(f(b))) 395.09/246.30 down(f(b)) -> f_flat(down(b)) 395.09/246.30 down(f(f(f(x)))) -> up(b) 395.09/246.30 down(f(f(a))) -> f_flat(down(f(a))) 395.09/246.30 down(f(a)) -> f_flat(down(a)) 395.09/246.30 down(g(f(f(g(x))))) -> up(b) 395.09/246.30 down(g(f(g(f(x))))) -> up(b) 395.09/246.30 down(g(f(a))) -> g_flat(down(f(a))) 395.09/246.30 down(g(f(b))) -> g_flat(down(f(b))) 395.09/246.30 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.09/246.30 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.09/246.30 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.09/246.30 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.09/246.30 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.09/246.30 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.09/246.30 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.09/246.30 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.09/246.30 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.09/246.30 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.09/246.30 395.09/246.30 Q is empty. 395.09/246.30 We have to consider all minimal (P,Q,R)-chains. 395.09/246.30 ---------------------------------------- 395.09/246.30 395.09/246.30 (98) SemLabProof (SOUND) 395.09/246.30 We found the following model for the rules of the TRSs R and P. 395.09/246.30 Interpretation over the domain with elements from 0 to 1. 395.09/246.30 a: 1 395.09/246.30 b: 0 395.09/246.30 down: 0 395.09/246.30 f: 0 395.09/246.30 fresh_constant: 0 395.09/246.30 up: 0 395.09/246.30 f_flat: 0 395.09/246.30 TOP: 0 395.09/246.30 g_flat: 0 395.09/246.30 g: 0 395.09/246.30 By semantic labelling [SEMLAB] we obtain the following labelled QDP problem. 395.09/246.30 ---------------------------------------- 395.09/246.30 395.09/246.30 (99) 395.09/246.30 Obligation: 395.09/246.30 Q DP problem: 395.09/246.30 The TRS P consists of the following rules: 395.09/246.30 395.09/246.30 TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) 395.09/246.30 TOP.0(up.0(f.0(f.0(g.1(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.1(x0))))) 395.09/246.30 TOP.0(up.0(f.0(g.1(a.)))) -> TOP.0(f_flat.0(down.0(g.1(a.)))) 395.09/246.30 TOP.0(up.0(f.0(g.0(f.0(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.30 TOP.0(up.0(f.0(g.0(f.1(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.30 TOP.0(up.0(g.0(f.1(a.)))) -> TOP.0(g_flat.0(down.0(f.1(a.)))) 395.09/246.30 TOP.0(up.0(g.0(g.0(f.0(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.30 TOP.0(up.0(g.0(g.0(f.1(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.30 TOP.0(up.0(f.0(g.0(g.1(a.))))) -> TOP.0(f_flat.0(down.0(g.0(g.1(a.))))) 395.09/246.30 TOP.0(up.0(f.0(g.0(g.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.0(x0)))))) 395.09/246.30 TOP.0(up.0(f.0(g.0(g.0(g.1(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.1(x0)))))) 395.09/246.30 TOP.0(up.0(f.0(g.0(g.0(b.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(b.))))) 395.09/246.30 TOP.0(up.0(g.0(f.0(f.1(a.))))) -> TOP.0(g_flat.0(down.0(f.0(f.1(a.))))) 395.09/246.30 TOP.0(up.0(g.0(f.0(f.0(f.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.0(x0)))))) 395.09/246.30 TOP.0(up.0(g.0(f.0(f.0(f.1(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.1(x0)))))) 395.09/246.30 TOP.0(up.0(g.0(f.0(f.0(b.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(b.))))) 395.09/246.30 TOP.0(up.0(g.0(f.0(g.1(a.))))) -> TOP.0(g_flat.0(down.0(f.0(g.1(a.))))) 395.09/246.30 TOP.0(up.0(g.0(f.0(g.0(g.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.0(x0)))))) 395.09/246.30 TOP.0(up.0(g.0(f.0(g.0(g.1(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.1(x0)))))) 395.09/246.30 TOP.0(up.0(g.0(f.0(g.0(b.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(b.))))) 395.09/246.30 395.09/246.30 The TRS R consists of the following rules: 395.09/246.30 395.09/246.30 down.0(f.0(g.0(fresh_constant.))) -> f_flat.0(down.0(g.0(fresh_constant.))) 395.09/246.30 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.30 g_flat.0(up.1(x_1)) -> up.0(g.1(x_1)) 395.09/246.30 down.0(g.0(fresh_constant.)) -> g_flat.0(down.0(fresh_constant.)) 395.09/246.30 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.30 f_flat.0(up.1(x_1)) -> up.0(f.1(x_1)) 395.09/246.30 down.0(f.0(g.0(b.))) -> f_flat.0(down.0(g.0(b.))) 395.09/246.30 down.0(g.0(b.)) -> g_flat.0(down.0(b.)) 395.09/246.30 down.0(f.0(g.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.30 down.0(f.0(g.0(g.0(f.1(x))))) -> up.0(b.) 395.09/246.30 down.0(f.0(g.0(g.1(a.)))) -> f_flat.0(down.0(g.0(g.1(a.)))) 395.09/246.30 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.30 down.0(f.0(g.0(g.0(g.1(y22))))) -> f_flat.0(down.0(g.0(g.0(g.1(y22))))) 395.09/246.30 down.0(f.0(g.0(g.0(b.)))) -> f_flat.0(down.0(g.0(g.0(b.)))) 395.09/246.30 down.0(f.0(g.0(g.0(fresh_constant.)))) -> f_flat.0(down.0(g.0(g.0(fresh_constant.)))) 395.09/246.30 down.0(g.0(g.0(fresh_constant.))) -> g_flat.0(down.0(g.0(fresh_constant.))) 395.09/246.30 down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) 395.09/246.30 down.0(g.0(g.0(g.0(x)))) -> up.0(b.) 395.09/246.30 down.0(g.0(g.0(g.1(x)))) -> up.0(b.) 395.09/246.30 down.0(g.0(g.1(a.))) -> g_flat.0(down.0(g.1(a.))) 395.09/246.30 down.0(g.1(a.)) -> g_flat.0(down.1(a.)) 395.09/246.30 down.1(a.) -> up.0(f.1(a.)) 395.09/246.30 down.1(a.) -> up.0(g.1(a.)) 395.09/246.30 down.0(f.0(g.1(a.))) -> f_flat.0(down.0(g.1(a.))) 395.09/246.30 down.0(f.0(f.0(fresh_constant.))) -> f_flat.0(down.0(f.0(fresh_constant.))) 395.09/246.30 down.0(f.0(fresh_constant.)) -> f_flat.0(down.0(fresh_constant.)) 395.09/246.30 down.0(f.0(f.0(b.))) -> f_flat.0(down.0(f.0(b.))) 395.09/246.30 down.0(f.0(b.)) -> f_flat.0(down.0(b.)) 395.09/246.30 down.0(f.0(f.0(f.0(x)))) -> up.0(b.) 395.09/246.30 down.0(f.0(f.0(f.1(x)))) -> up.0(b.) 395.09/246.30 down.0(f.0(f.1(a.))) -> f_flat.0(down.0(f.1(a.))) 395.09/246.30 down.0(f.1(a.)) -> f_flat.0(down.1(a.)) 395.09/246.30 down.0(g.0(f.0(f.0(g.0(x))))) -> up.0(b.) 395.09/246.30 down.0(g.0(f.0(f.0(g.1(x))))) -> up.0(b.) 395.09/246.30 down.0(g.0(f.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.30 down.0(g.0(f.0(g.0(f.1(x))))) -> up.0(b.) 395.09/246.30 down.0(g.0(f.1(a.))) -> g_flat.0(down.0(f.1(a.))) 395.09/246.30 down.0(g.0(f.0(b.))) -> g_flat.0(down.0(f.0(b.))) 395.09/246.30 down.0(g.0(f.0(fresh_constant.))) -> g_flat.0(down.0(f.0(fresh_constant.))) 395.09/246.30 down.0(g.0(f.0(f.1(a.)))) -> g_flat.0(down.0(f.0(f.1(a.)))) 395.09/246.30 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.30 down.0(g.0(f.0(f.0(f.1(y24))))) -> g_flat.0(down.0(f.0(f.0(f.1(y24))))) 395.09/246.30 down.0(g.0(f.0(f.0(b.)))) -> g_flat.0(down.0(f.0(f.0(b.)))) 395.09/246.30 down.0(g.0(f.0(f.0(fresh_constant.)))) -> g_flat.0(down.0(f.0(f.0(fresh_constant.)))) 395.09/246.30 down.0(g.0(f.0(g.1(a.)))) -> g_flat.0(down.0(f.0(g.1(a.)))) 395.09/246.30 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.30 down.0(g.0(f.0(g.0(g.1(y28))))) -> g_flat.0(down.0(f.0(g.0(g.1(y28))))) 395.09/246.30 down.0(g.0(f.0(g.0(b.)))) -> g_flat.0(down.0(f.0(g.0(b.)))) 395.09/246.30 down.0(g.0(f.0(g.0(fresh_constant.)))) -> g_flat.0(down.0(f.0(g.0(fresh_constant.)))) 395.09/246.30 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.30 down.0(f.0(g.0(f.1(y12)))) -> f_flat.0(down.0(g.0(f.1(y12)))) 395.09/246.30 395.09/246.30 Q is empty. 395.09/246.30 We have to consider all minimal (P,Q,R)-chains. 395.09/246.30 ---------------------------------------- 395.09/246.30 395.09/246.30 (100) UsableRulesReductionPairsProof (EQUIVALENT) 395.09/246.30 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. 395.09/246.30 395.09/246.30 No dependency pairs are removed. 395.09/246.30 395.09/246.30 The following rules are removed from R: 395.09/246.30 395.09/246.30 g_flat.0(up.1(x_1)) -> up.0(g.1(x_1)) 395.09/246.30 f_flat.0(up.1(x_1)) -> up.0(f.1(x_1)) 395.09/246.30 Used ordering: POLO with Polynomial interpretation [POLO]: 395.09/246.30 395.09/246.30 POL(TOP.0(x_1)) = x_1 395.09/246.30 POL(a.) = 0 395.09/246.30 POL(b.) = 0 395.09/246.30 POL(down.0(x_1)) = 1 + x_1 395.09/246.30 POL(down.1(x_1)) = 1 + x_1 395.09/246.30 POL(f.0(x_1)) = x_1 395.09/246.30 POL(f.1(x_1)) = x_1 395.09/246.30 POL(f_flat.0(x_1)) = x_1 395.09/246.30 POL(fresh_constant.) = 0 395.09/246.30 POL(g.0(x_1)) = x_1 395.09/246.30 POL(g.1(x_1)) = x_1 395.09/246.30 POL(g_flat.0(x_1)) = x_1 395.09/246.30 POL(up.0(x_1)) = 1 + x_1 395.09/246.30 POL(up.1(x_1)) = 1 + x_1 395.09/246.30 395.09/246.30 395.09/246.30 ---------------------------------------- 395.09/246.30 395.09/246.30 (101) 395.09/246.30 Obligation: 395.09/246.30 Q DP problem: 395.09/246.30 The TRS P consists of the following rules: 395.09/246.30 395.09/246.30 TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) 395.09/246.30 TOP.0(up.0(f.0(f.0(g.1(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.1(x0))))) 395.09/246.30 TOP.0(up.0(f.0(g.1(a.)))) -> TOP.0(f_flat.0(down.0(g.1(a.)))) 395.09/246.30 TOP.0(up.0(f.0(g.0(f.0(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.30 TOP.0(up.0(f.0(g.0(f.1(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.30 TOP.0(up.0(g.0(f.1(a.)))) -> TOP.0(g_flat.0(down.0(f.1(a.)))) 395.09/246.30 TOP.0(up.0(g.0(g.0(f.0(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.30 TOP.0(up.0(g.0(g.0(f.1(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.30 TOP.0(up.0(f.0(g.0(g.1(a.))))) -> TOP.0(f_flat.0(down.0(g.0(g.1(a.))))) 395.09/246.30 TOP.0(up.0(f.0(g.0(g.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.0(x0)))))) 395.09/246.30 TOP.0(up.0(f.0(g.0(g.0(g.1(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.1(x0)))))) 395.09/246.30 TOP.0(up.0(f.0(g.0(g.0(b.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(b.))))) 395.09/246.30 TOP.0(up.0(g.0(f.0(f.1(a.))))) -> TOP.0(g_flat.0(down.0(f.0(f.1(a.))))) 395.09/246.30 TOP.0(up.0(g.0(f.0(f.0(f.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.0(x0)))))) 395.09/246.30 TOP.0(up.0(g.0(f.0(f.0(f.1(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.1(x0)))))) 395.09/246.30 TOP.0(up.0(g.0(f.0(f.0(b.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(b.))))) 395.09/246.30 TOP.0(up.0(g.0(f.0(g.1(a.))))) -> TOP.0(g_flat.0(down.0(f.0(g.1(a.))))) 395.09/246.30 TOP.0(up.0(g.0(f.0(g.0(g.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.0(x0)))))) 395.09/246.30 TOP.0(up.0(g.0(f.0(g.0(g.1(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.1(x0)))))) 395.09/246.30 TOP.0(up.0(g.0(f.0(g.0(b.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(b.))))) 395.09/246.30 395.09/246.30 The TRS R consists of the following rules: 395.09/246.30 395.09/246.30 down.0(f.0(g.0(b.))) -> f_flat.0(down.0(g.0(b.))) 395.09/246.30 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.30 down.0(g.0(b.)) -> g_flat.0(down.0(b.)) 395.09/246.30 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.30 down.0(f.0(g.0(g.1(a.)))) -> f_flat.0(down.0(g.0(g.1(a.)))) 395.09/246.30 down.0(g.0(g.1(a.))) -> g_flat.0(down.0(g.1(a.))) 395.09/246.30 down.0(g.1(a.)) -> g_flat.0(down.1(a.)) 395.09/246.30 down.1(a.) -> up.0(f.1(a.)) 395.09/246.30 down.1(a.) -> up.0(g.1(a.)) 395.09/246.30 down.0(f.0(g.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.30 down.0(f.0(g.0(g.0(f.1(x))))) -> up.0(b.) 395.09/246.30 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.30 down.0(f.0(g.0(g.0(g.1(y22))))) -> f_flat.0(down.0(g.0(g.0(g.1(y22))))) 395.09/246.30 down.0(f.0(g.0(g.0(b.)))) -> f_flat.0(down.0(g.0(g.0(b.)))) 395.09/246.30 down.0(f.0(g.0(g.0(fresh_constant.)))) -> f_flat.0(down.0(g.0(g.0(fresh_constant.)))) 395.09/246.30 down.0(g.0(g.0(fresh_constant.))) -> g_flat.0(down.0(g.0(fresh_constant.))) 395.09/246.30 down.0(g.0(fresh_constant.)) -> g_flat.0(down.0(fresh_constant.)) 395.09/246.30 down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) 395.09/246.30 down.0(g.0(g.0(g.1(x)))) -> up.0(b.) 395.09/246.30 down.0(g.0(g.0(g.0(x)))) -> up.0(b.) 395.09/246.30 down.0(f.0(g.1(a.))) -> f_flat.0(down.0(g.1(a.))) 395.09/246.30 down.0(f.0(f.0(b.))) -> f_flat.0(down.0(f.0(b.))) 395.09/246.30 down.0(f.0(b.)) -> f_flat.0(down.0(b.)) 395.09/246.30 down.0(f.0(f.0(f.1(x)))) -> up.0(b.) 395.09/246.30 down.0(f.0(f.0(f.0(x)))) -> up.0(b.) 395.09/246.30 down.0(f.0(f.1(a.))) -> f_flat.0(down.0(f.1(a.))) 395.09/246.30 down.0(f.1(a.)) -> f_flat.0(down.1(a.)) 395.09/246.30 down.0(g.0(f.1(a.))) -> g_flat.0(down.0(f.1(a.))) 395.09/246.30 down.0(g.0(f.0(f.0(g.0(x))))) -> up.0(b.) 395.09/246.30 down.0(g.0(f.0(f.0(g.1(x))))) -> up.0(b.) 395.09/246.30 down.0(g.0(f.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.30 down.0(g.0(f.0(g.0(f.1(x))))) -> up.0(b.) 395.09/246.30 down.0(g.0(f.0(b.))) -> g_flat.0(down.0(f.0(b.))) 395.09/246.30 down.0(g.0(f.0(fresh_constant.))) -> g_flat.0(down.0(f.0(fresh_constant.))) 395.09/246.30 down.0(g.0(f.0(f.1(a.)))) -> g_flat.0(down.0(f.0(f.1(a.)))) 395.09/246.30 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.30 down.0(g.0(f.0(f.0(f.1(y24))))) -> g_flat.0(down.0(f.0(f.0(f.1(y24))))) 395.09/246.30 down.0(g.0(f.0(f.0(b.)))) -> g_flat.0(down.0(f.0(f.0(b.)))) 395.09/246.30 down.0(g.0(f.0(f.0(fresh_constant.)))) -> g_flat.0(down.0(f.0(f.0(fresh_constant.)))) 395.09/246.30 down.0(g.0(f.0(g.1(a.)))) -> g_flat.0(down.0(f.0(g.1(a.)))) 395.09/246.30 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.30 down.0(g.0(f.0(g.0(g.1(y28))))) -> g_flat.0(down.0(f.0(g.0(g.1(y28))))) 395.09/246.30 down.0(g.0(f.0(g.0(b.)))) -> g_flat.0(down.0(f.0(g.0(b.)))) 395.09/246.30 down.0(g.0(f.0(g.0(fresh_constant.)))) -> g_flat.0(down.0(f.0(g.0(fresh_constant.)))) 395.09/246.30 down.0(f.0(g.0(fresh_constant.))) -> f_flat.0(down.0(g.0(fresh_constant.))) 395.09/246.30 down.0(f.0(f.0(fresh_constant.))) -> f_flat.0(down.0(f.0(fresh_constant.))) 395.09/246.30 down.0(f.0(fresh_constant.)) -> f_flat.0(down.0(fresh_constant.)) 395.09/246.30 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.30 down.0(f.0(g.0(f.1(y12)))) -> f_flat.0(down.0(g.0(f.1(y12)))) 395.09/246.30 395.09/246.30 Q is empty. 395.09/246.30 We have to consider all minimal (P,Q,R)-chains. 395.09/246.30 ---------------------------------------- 395.09/246.30 395.09/246.30 (102) MRRProof (EQUIVALENT) 395.09/246.30 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. 395.09/246.30 395.09/246.30 395.09/246.30 Strictly oriented rules of the TRS R: 395.09/246.30 395.09/246.30 down.0(f.0(g.0(g.0(f.1(x))))) -> up.0(b.) 395.09/246.30 down.0(g.0(g.0(g.1(x)))) -> up.0(b.) 395.09/246.30 down.0(f.0(f.0(f.1(x)))) -> up.0(b.) 395.09/246.30 down.0(g.0(f.0(f.0(g.1(x))))) -> up.0(b.) 395.09/246.30 down.0(g.0(f.0(g.0(f.1(x))))) -> up.0(b.) 395.09/246.30 395.09/246.30 Used ordering: Polynomial interpretation [POLO]: 395.09/246.30 395.09/246.30 POL(TOP.0(x_1)) = x_1 395.09/246.30 POL(a.) = 0 395.09/246.30 POL(b.) = 0 395.09/246.30 POL(down.0(x_1)) = x_1 395.09/246.30 POL(down.1(x_1)) = 1 + x_1 395.09/246.30 POL(f.0(x_1)) = x_1 395.09/246.30 POL(f.1(x_1)) = 1 + x_1 395.09/246.30 POL(f_flat.0(x_1)) = x_1 395.09/246.30 POL(fresh_constant.) = 0 395.09/246.30 POL(g.0(x_1)) = x_1 395.09/246.30 POL(g.1(x_1)) = 1 + x_1 395.09/246.30 POL(g_flat.0(x_1)) = x_1 395.09/246.30 POL(up.0(x_1)) = x_1 395.09/246.30 395.09/246.30 395.09/246.30 ---------------------------------------- 395.09/246.30 395.09/246.30 (103) 395.09/246.30 Obligation: 395.09/246.30 Q DP problem: 395.09/246.30 The TRS P consists of the following rules: 395.09/246.30 395.09/246.30 TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) 395.09/246.30 TOP.0(up.0(f.0(f.0(g.1(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.1(x0))))) 395.09/246.30 TOP.0(up.0(f.0(g.1(a.)))) -> TOP.0(f_flat.0(down.0(g.1(a.)))) 395.09/246.30 TOP.0(up.0(f.0(g.0(f.0(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.30 TOP.0(up.0(f.0(g.0(f.1(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.30 TOP.0(up.0(g.0(f.1(a.)))) -> TOP.0(g_flat.0(down.0(f.1(a.)))) 395.09/246.30 TOP.0(up.0(g.0(g.0(f.0(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.30 TOP.0(up.0(g.0(g.0(f.1(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.30 TOP.0(up.0(f.0(g.0(g.1(a.))))) -> TOP.0(f_flat.0(down.0(g.0(g.1(a.))))) 395.09/246.30 TOP.0(up.0(f.0(g.0(g.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.0(x0)))))) 395.09/246.30 TOP.0(up.0(f.0(g.0(g.0(g.1(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.1(x0)))))) 395.09/246.30 TOP.0(up.0(f.0(g.0(g.0(b.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(b.))))) 395.09/246.30 TOP.0(up.0(g.0(f.0(f.1(a.))))) -> TOP.0(g_flat.0(down.0(f.0(f.1(a.))))) 395.09/246.30 TOP.0(up.0(g.0(f.0(f.0(f.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.0(x0)))))) 395.09/246.30 TOP.0(up.0(g.0(f.0(f.0(f.1(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.1(x0)))))) 395.09/246.30 TOP.0(up.0(g.0(f.0(f.0(b.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(b.))))) 395.09/246.30 TOP.0(up.0(g.0(f.0(g.1(a.))))) -> TOP.0(g_flat.0(down.0(f.0(g.1(a.))))) 395.09/246.30 TOP.0(up.0(g.0(f.0(g.0(g.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.0(x0)))))) 395.09/246.30 TOP.0(up.0(g.0(f.0(g.0(g.1(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.1(x0)))))) 395.09/246.30 TOP.0(up.0(g.0(f.0(g.0(b.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(b.))))) 395.09/246.30 395.09/246.30 The TRS R consists of the following rules: 395.09/246.30 395.09/246.30 down.0(f.0(g.0(b.))) -> f_flat.0(down.0(g.0(b.))) 395.09/246.30 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.30 down.0(g.0(b.)) -> g_flat.0(down.0(b.)) 395.09/246.30 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.30 down.0(f.0(g.0(g.1(a.)))) -> f_flat.0(down.0(g.0(g.1(a.)))) 395.09/246.30 down.0(g.0(g.1(a.))) -> g_flat.0(down.0(g.1(a.))) 395.09/246.30 down.0(g.1(a.)) -> g_flat.0(down.1(a.)) 395.09/246.30 down.1(a.) -> up.0(f.1(a.)) 395.09/246.30 down.1(a.) -> up.0(g.1(a.)) 395.09/246.30 down.0(f.0(g.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.30 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.30 down.0(f.0(g.0(g.0(g.1(y22))))) -> f_flat.0(down.0(g.0(g.0(g.1(y22))))) 395.09/246.30 down.0(f.0(g.0(g.0(b.)))) -> f_flat.0(down.0(g.0(g.0(b.)))) 395.09/246.30 down.0(f.0(g.0(g.0(fresh_constant.)))) -> f_flat.0(down.0(g.0(g.0(fresh_constant.)))) 395.09/246.30 down.0(g.0(g.0(fresh_constant.))) -> g_flat.0(down.0(g.0(fresh_constant.))) 395.09/246.30 down.0(g.0(fresh_constant.)) -> g_flat.0(down.0(fresh_constant.)) 395.09/246.30 down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) 395.09/246.30 down.0(g.0(g.0(g.0(x)))) -> up.0(b.) 395.09/246.30 down.0(f.0(g.1(a.))) -> f_flat.0(down.0(g.1(a.))) 395.09/246.30 down.0(f.0(f.0(b.))) -> f_flat.0(down.0(f.0(b.))) 395.09/246.30 down.0(f.0(b.)) -> f_flat.0(down.0(b.)) 395.09/246.30 down.0(f.0(f.0(f.0(x)))) -> up.0(b.) 395.09/246.30 down.0(f.0(f.1(a.))) -> f_flat.0(down.0(f.1(a.))) 395.09/246.30 down.0(f.1(a.)) -> f_flat.0(down.1(a.)) 395.09/246.30 down.0(g.0(f.1(a.))) -> g_flat.0(down.0(f.1(a.))) 395.09/246.30 down.0(g.0(f.0(f.0(g.0(x))))) -> up.0(b.) 395.09/246.30 down.0(g.0(f.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.30 down.0(g.0(f.0(b.))) -> g_flat.0(down.0(f.0(b.))) 395.09/246.30 down.0(g.0(f.0(fresh_constant.))) -> g_flat.0(down.0(f.0(fresh_constant.))) 395.09/246.30 down.0(g.0(f.0(f.1(a.)))) -> g_flat.0(down.0(f.0(f.1(a.)))) 395.09/246.30 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.30 down.0(g.0(f.0(f.0(f.1(y24))))) -> g_flat.0(down.0(f.0(f.0(f.1(y24))))) 395.09/246.30 down.0(g.0(f.0(f.0(b.)))) -> g_flat.0(down.0(f.0(f.0(b.)))) 395.09/246.30 down.0(g.0(f.0(f.0(fresh_constant.)))) -> g_flat.0(down.0(f.0(f.0(fresh_constant.)))) 395.09/246.30 down.0(g.0(f.0(g.1(a.)))) -> g_flat.0(down.0(f.0(g.1(a.)))) 395.09/246.30 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.30 down.0(g.0(f.0(g.0(g.1(y28))))) -> g_flat.0(down.0(f.0(g.0(g.1(y28))))) 395.09/246.30 down.0(g.0(f.0(g.0(b.)))) -> g_flat.0(down.0(f.0(g.0(b.)))) 395.09/246.30 down.0(g.0(f.0(g.0(fresh_constant.)))) -> g_flat.0(down.0(f.0(g.0(fresh_constant.)))) 395.09/246.30 down.0(f.0(g.0(fresh_constant.))) -> f_flat.0(down.0(g.0(fresh_constant.))) 395.09/246.30 down.0(f.0(f.0(fresh_constant.))) -> f_flat.0(down.0(f.0(fresh_constant.))) 395.09/246.30 down.0(f.0(fresh_constant.)) -> f_flat.0(down.0(fresh_constant.)) 395.09/246.30 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.30 down.0(f.0(g.0(f.1(y12)))) -> f_flat.0(down.0(g.0(f.1(y12)))) 395.09/246.30 395.09/246.30 Q is empty. 395.09/246.30 We have to consider all minimal (P,Q,R)-chains. 395.09/246.30 ---------------------------------------- 395.09/246.30 395.09/246.30 (104) DependencyGraphProof (EQUIVALENT) 395.09/246.30 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. 395.09/246.30 ---------------------------------------- 395.09/246.30 395.09/246.30 (105) 395.09/246.30 Obligation: 395.09/246.30 Q DP problem: 395.09/246.30 The TRS P consists of the following rules: 395.09/246.30 395.09/246.30 TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) 395.09/246.30 TOP.0(up.0(f.0(f.0(g.1(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.1(x0))))) 395.09/246.30 TOP.0(up.0(f.0(g.1(a.)))) -> TOP.0(f_flat.0(down.0(g.1(a.)))) 395.09/246.30 TOP.0(up.0(f.0(g.0(f.0(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.30 TOP.0(up.0(f.0(g.0(f.1(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.30 TOP.0(up.0(g.0(f.1(a.)))) -> TOP.0(g_flat.0(down.0(f.1(a.)))) 395.09/246.30 TOP.0(up.0(g.0(g.0(f.0(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.30 TOP.0(up.0(g.0(g.0(f.1(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.30 TOP.0(up.0(f.0(g.0(g.1(a.))))) -> TOP.0(f_flat.0(down.0(g.0(g.1(a.))))) 395.09/246.30 TOP.0(up.0(f.0(g.0(g.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.0(x0)))))) 395.09/246.30 TOP.0(up.0(f.0(g.0(g.0(b.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(b.))))) 395.09/246.30 TOP.0(up.0(g.0(f.0(f.1(a.))))) -> TOP.0(g_flat.0(down.0(f.0(f.1(a.))))) 395.09/246.30 TOP.0(up.0(g.0(f.0(f.0(f.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.0(x0)))))) 395.09/246.30 TOP.0(up.0(g.0(f.0(f.0(b.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(b.))))) 395.09/246.30 TOP.0(up.0(g.0(f.0(g.1(a.))))) -> TOP.0(g_flat.0(down.0(f.0(g.1(a.))))) 395.09/246.30 TOP.0(up.0(g.0(f.0(g.0(g.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.0(x0)))))) 395.09/246.30 TOP.0(up.0(g.0(f.0(g.0(g.1(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.1(x0)))))) 395.09/246.30 TOP.0(up.0(g.0(f.0(g.0(b.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(b.))))) 395.09/246.30 395.09/246.30 The TRS R consists of the following rules: 395.09/246.30 395.09/246.30 down.0(f.0(g.0(b.))) -> f_flat.0(down.0(g.0(b.))) 395.09/246.30 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.30 down.0(g.0(b.)) -> g_flat.0(down.0(b.)) 395.09/246.30 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.30 down.0(f.0(g.0(g.1(a.)))) -> f_flat.0(down.0(g.0(g.1(a.)))) 395.09/246.30 down.0(g.0(g.1(a.))) -> g_flat.0(down.0(g.1(a.))) 395.09/246.30 down.0(g.1(a.)) -> g_flat.0(down.1(a.)) 395.09/246.30 down.1(a.) -> up.0(f.1(a.)) 395.09/246.30 down.1(a.) -> up.0(g.1(a.)) 395.09/246.30 down.0(f.0(g.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.30 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.30 down.0(f.0(g.0(g.0(g.1(y22))))) -> f_flat.0(down.0(g.0(g.0(g.1(y22))))) 395.09/246.30 down.0(f.0(g.0(g.0(b.)))) -> f_flat.0(down.0(g.0(g.0(b.)))) 395.09/246.30 down.0(f.0(g.0(g.0(fresh_constant.)))) -> f_flat.0(down.0(g.0(g.0(fresh_constant.)))) 395.09/246.30 down.0(g.0(g.0(fresh_constant.))) -> g_flat.0(down.0(g.0(fresh_constant.))) 395.09/246.30 down.0(g.0(fresh_constant.)) -> g_flat.0(down.0(fresh_constant.)) 395.09/246.30 down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) 395.09/246.30 down.0(g.0(g.0(g.0(x)))) -> up.0(b.) 395.09/246.30 down.0(f.0(g.1(a.))) -> f_flat.0(down.0(g.1(a.))) 395.09/246.30 down.0(f.0(f.0(b.))) -> f_flat.0(down.0(f.0(b.))) 395.09/246.30 down.0(f.0(b.)) -> f_flat.0(down.0(b.)) 395.09/246.30 down.0(f.0(f.0(f.0(x)))) -> up.0(b.) 395.09/246.30 down.0(f.0(f.1(a.))) -> f_flat.0(down.0(f.1(a.))) 395.09/246.30 down.0(f.1(a.)) -> f_flat.0(down.1(a.)) 395.09/246.30 down.0(g.0(f.1(a.))) -> g_flat.0(down.0(f.1(a.))) 395.09/246.30 down.0(g.0(f.0(f.0(g.0(x))))) -> up.0(b.) 395.09/246.30 down.0(g.0(f.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.30 down.0(g.0(f.0(b.))) -> g_flat.0(down.0(f.0(b.))) 395.09/246.30 down.0(g.0(f.0(fresh_constant.))) -> g_flat.0(down.0(f.0(fresh_constant.))) 395.09/246.30 down.0(g.0(f.0(f.1(a.)))) -> g_flat.0(down.0(f.0(f.1(a.)))) 395.09/246.30 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.30 down.0(g.0(f.0(f.0(f.1(y24))))) -> g_flat.0(down.0(f.0(f.0(f.1(y24))))) 395.09/246.30 down.0(g.0(f.0(f.0(b.)))) -> g_flat.0(down.0(f.0(f.0(b.)))) 395.09/246.30 down.0(g.0(f.0(f.0(fresh_constant.)))) -> g_flat.0(down.0(f.0(f.0(fresh_constant.)))) 395.09/246.30 down.0(g.0(f.0(g.1(a.)))) -> g_flat.0(down.0(f.0(g.1(a.)))) 395.09/246.30 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.30 down.0(g.0(f.0(g.0(g.1(y28))))) -> g_flat.0(down.0(f.0(g.0(g.1(y28))))) 395.09/246.30 down.0(g.0(f.0(g.0(b.)))) -> g_flat.0(down.0(f.0(g.0(b.)))) 395.09/246.30 down.0(g.0(f.0(g.0(fresh_constant.)))) -> g_flat.0(down.0(f.0(g.0(fresh_constant.)))) 395.09/246.30 down.0(f.0(g.0(fresh_constant.))) -> f_flat.0(down.0(g.0(fresh_constant.))) 395.09/246.30 down.0(f.0(f.0(fresh_constant.))) -> f_flat.0(down.0(f.0(fresh_constant.))) 395.09/246.30 down.0(f.0(fresh_constant.)) -> f_flat.0(down.0(fresh_constant.)) 395.09/246.30 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.30 down.0(f.0(g.0(f.1(y12)))) -> f_flat.0(down.0(g.0(f.1(y12)))) 395.09/246.30 395.09/246.30 Q is empty. 395.09/246.30 We have to consider all minimal (P,Q,R)-chains. 395.09/246.30 ---------------------------------------- 395.09/246.30 395.09/246.30 (106) QDPOrderProof (EQUIVALENT) 395.09/246.30 We use the reduction pair processor [LPAR04,JAR06]. 395.09/246.30 395.09/246.30 395.09/246.30 The following pairs can be oriented strictly and are deleted. 395.09/246.30 395.09/246.30 TOP.0(up.0(f.0(f.0(g.1(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.1(x0))))) 395.09/246.30 TOP.0(up.0(f.0(g.1(a.)))) -> TOP.0(f_flat.0(down.0(g.1(a.)))) 395.09/246.30 The remaining pairs can at least be oriented weakly. 395.09/246.30 Used ordering: Polynomial interpretation [POLO]: 395.09/246.30 395.09/246.30 POL(TOP.0(x_1)) = x_1 395.09/246.30 POL(a.) = 1 395.09/246.30 POL(b.) = 0 395.09/246.30 POL(down.0(x_1)) = 0 395.09/246.30 POL(down.1(x_1)) = 0 395.09/246.30 POL(f.0(x_1)) = x_1 395.09/246.30 POL(f.1(x_1)) = 0 395.09/246.30 POL(f_flat.0(x_1)) = x_1 395.09/246.30 POL(fresh_constant.) = 0 395.09/246.30 POL(g.0(x_1)) = 0 395.09/246.30 POL(g.1(x_1)) = 1 + x_1 395.09/246.30 POL(g_flat.0(x_1)) = 0 395.09/246.30 POL(up.0(x_1)) = x_1 395.09/246.30 395.09/246.30 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 395.09/246.30 395.09/246.30 down.0(f.0(g.0(b.))) -> f_flat.0(down.0(g.0(b.))) 395.09/246.30 down.0(f.0(g.0(g.1(a.)))) -> f_flat.0(down.0(g.0(g.1(a.)))) 395.09/246.30 down.0(f.0(g.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.30 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.30 down.0(f.0(g.0(g.0(g.1(y22))))) -> f_flat.0(down.0(g.0(g.0(g.1(y22))))) 395.09/246.30 down.0(f.0(g.0(g.0(b.)))) -> f_flat.0(down.0(g.0(g.0(b.)))) 395.09/246.30 down.0(f.0(g.0(g.0(fresh_constant.)))) -> f_flat.0(down.0(g.0(g.0(fresh_constant.)))) 395.09/246.30 down.0(f.0(g.0(fresh_constant.))) -> f_flat.0(down.0(g.0(fresh_constant.))) 395.09/246.30 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.30 down.0(f.0(g.0(f.1(y12)))) -> f_flat.0(down.0(g.0(f.1(y12)))) 395.09/246.30 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.30 down.0(f.0(g.1(a.))) -> f_flat.0(down.0(g.1(a.))) 395.09/246.30 down.0(g.1(a.)) -> g_flat.0(down.1(a.)) 395.09/246.30 down.0(g.0(f.0(f.0(g.0(x))))) -> up.0(b.) 395.09/246.30 down.0(g.0(f.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.30 down.0(g.0(f.0(b.))) -> g_flat.0(down.0(f.0(b.))) 395.09/246.30 down.0(g.0(f.0(fresh_constant.))) -> g_flat.0(down.0(f.0(fresh_constant.))) 395.09/246.30 down.0(g.0(f.0(f.1(a.)))) -> g_flat.0(down.0(f.0(f.1(a.)))) 395.09/246.30 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.30 down.0(g.0(f.0(f.0(f.1(y24))))) -> g_flat.0(down.0(f.0(f.0(f.1(y24))))) 395.09/246.30 down.0(g.0(f.0(f.0(b.)))) -> g_flat.0(down.0(f.0(f.0(b.)))) 395.09/246.30 down.0(g.0(f.0(f.0(fresh_constant.)))) -> g_flat.0(down.0(f.0(f.0(fresh_constant.)))) 395.09/246.30 down.0(g.0(f.0(g.1(a.)))) -> g_flat.0(down.0(f.0(g.1(a.)))) 395.09/246.30 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.30 down.0(g.0(f.0(g.0(g.1(y28))))) -> g_flat.0(down.0(f.0(g.0(g.1(y28))))) 395.09/246.30 down.0(g.0(f.0(g.0(b.)))) -> g_flat.0(down.0(f.0(g.0(b.)))) 395.09/246.30 down.0(g.0(f.0(g.0(fresh_constant.)))) -> g_flat.0(down.0(f.0(g.0(fresh_constant.)))) 395.09/246.30 down.0(g.0(f.1(a.))) -> g_flat.0(down.0(f.1(a.))) 395.09/246.30 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.30 down.0(g.0(g.1(a.))) -> g_flat.0(down.0(g.1(a.))) 395.09/246.30 down.0(g.0(g.0(g.0(x)))) -> up.0(b.) 395.09/246.30 down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) 395.09/246.30 down.0(g.0(b.)) -> g_flat.0(down.0(b.)) 395.09/246.30 down.0(g.0(g.0(fresh_constant.))) -> g_flat.0(down.0(g.0(fresh_constant.))) 395.09/246.30 down.0(g.0(fresh_constant.)) -> g_flat.0(down.0(fresh_constant.)) 395.09/246.30 395.09/246.30 395.09/246.30 ---------------------------------------- 395.09/246.30 395.09/246.30 (107) 395.09/246.30 Obligation: 395.09/246.30 Q DP problem: 395.09/246.30 The TRS P consists of the following rules: 395.09/246.30 395.09/246.30 TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) 395.09/246.30 TOP.0(up.0(f.0(g.0(f.0(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.30 TOP.0(up.0(f.0(g.0(f.1(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.30 TOP.0(up.0(g.0(f.1(a.)))) -> TOP.0(g_flat.0(down.0(f.1(a.)))) 395.09/246.30 TOP.0(up.0(g.0(g.0(f.0(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.30 TOP.0(up.0(g.0(g.0(f.1(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.30 TOP.0(up.0(f.0(g.0(g.1(a.))))) -> TOP.0(f_flat.0(down.0(g.0(g.1(a.))))) 395.09/246.30 TOP.0(up.0(f.0(g.0(g.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.0(x0)))))) 395.09/246.30 TOP.0(up.0(f.0(g.0(g.0(b.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(b.))))) 395.09/246.30 TOP.0(up.0(g.0(f.0(f.1(a.))))) -> TOP.0(g_flat.0(down.0(f.0(f.1(a.))))) 395.09/246.30 TOP.0(up.0(g.0(f.0(f.0(f.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.0(x0)))))) 395.09/246.30 TOP.0(up.0(g.0(f.0(f.0(b.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(b.))))) 395.09/246.30 TOP.0(up.0(g.0(f.0(g.1(a.))))) -> TOP.0(g_flat.0(down.0(f.0(g.1(a.))))) 395.09/246.30 TOP.0(up.0(g.0(f.0(g.0(g.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.0(x0)))))) 395.09/246.30 TOP.0(up.0(g.0(f.0(g.0(g.1(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.1(x0)))))) 395.09/246.30 TOP.0(up.0(g.0(f.0(g.0(b.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(b.))))) 395.09/246.30 395.09/246.30 The TRS R consists of the following rules: 395.09/246.30 395.09/246.30 down.0(f.0(g.0(b.))) -> f_flat.0(down.0(g.0(b.))) 395.09/246.30 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.30 down.0(g.0(b.)) -> g_flat.0(down.0(b.)) 395.09/246.30 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.30 down.0(f.0(g.0(g.1(a.)))) -> f_flat.0(down.0(g.0(g.1(a.)))) 395.09/246.30 down.0(g.0(g.1(a.))) -> g_flat.0(down.0(g.1(a.))) 395.09/246.30 down.0(g.1(a.)) -> g_flat.0(down.1(a.)) 395.09/246.30 down.1(a.) -> up.0(f.1(a.)) 395.09/246.30 down.1(a.) -> up.0(g.1(a.)) 395.09/246.30 down.0(f.0(g.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.30 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.30 down.0(f.0(g.0(g.0(g.1(y22))))) -> f_flat.0(down.0(g.0(g.0(g.1(y22))))) 395.09/246.30 down.0(f.0(g.0(g.0(b.)))) -> f_flat.0(down.0(g.0(g.0(b.)))) 395.09/246.30 down.0(f.0(g.0(g.0(fresh_constant.)))) -> f_flat.0(down.0(g.0(g.0(fresh_constant.)))) 395.09/246.30 down.0(g.0(g.0(fresh_constant.))) -> g_flat.0(down.0(g.0(fresh_constant.))) 395.09/246.30 down.0(g.0(fresh_constant.)) -> g_flat.0(down.0(fresh_constant.)) 395.09/246.30 down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) 395.09/246.30 down.0(g.0(g.0(g.0(x)))) -> up.0(b.) 395.09/246.30 down.0(f.0(g.1(a.))) -> f_flat.0(down.0(g.1(a.))) 395.09/246.30 down.0(f.0(f.0(b.))) -> f_flat.0(down.0(f.0(b.))) 395.09/246.30 down.0(f.0(b.)) -> f_flat.0(down.0(b.)) 395.09/246.30 down.0(f.0(f.0(f.0(x)))) -> up.0(b.) 395.09/246.30 down.0(f.0(f.1(a.))) -> f_flat.0(down.0(f.1(a.))) 395.09/246.30 down.0(f.1(a.)) -> f_flat.0(down.1(a.)) 395.09/246.30 down.0(g.0(f.1(a.))) -> g_flat.0(down.0(f.1(a.))) 395.09/246.30 down.0(g.0(f.0(f.0(g.0(x))))) -> up.0(b.) 395.09/246.30 down.0(g.0(f.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.30 down.0(g.0(f.0(b.))) -> g_flat.0(down.0(f.0(b.))) 395.09/246.30 down.0(g.0(f.0(fresh_constant.))) -> g_flat.0(down.0(f.0(fresh_constant.))) 395.09/246.30 down.0(g.0(f.0(f.1(a.)))) -> g_flat.0(down.0(f.0(f.1(a.)))) 395.09/246.30 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.30 down.0(g.0(f.0(f.0(f.1(y24))))) -> g_flat.0(down.0(f.0(f.0(f.1(y24))))) 395.09/246.30 down.0(g.0(f.0(f.0(b.)))) -> g_flat.0(down.0(f.0(f.0(b.)))) 395.09/246.30 down.0(g.0(f.0(f.0(fresh_constant.)))) -> g_flat.0(down.0(f.0(f.0(fresh_constant.)))) 395.09/246.30 down.0(g.0(f.0(g.1(a.)))) -> g_flat.0(down.0(f.0(g.1(a.)))) 395.09/246.30 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.30 down.0(g.0(f.0(g.0(g.1(y28))))) -> g_flat.0(down.0(f.0(g.0(g.1(y28))))) 395.09/246.30 down.0(g.0(f.0(g.0(b.)))) -> g_flat.0(down.0(f.0(g.0(b.)))) 395.09/246.30 down.0(g.0(f.0(g.0(fresh_constant.)))) -> g_flat.0(down.0(f.0(g.0(fresh_constant.)))) 395.09/246.30 down.0(f.0(g.0(fresh_constant.))) -> f_flat.0(down.0(g.0(fresh_constant.))) 395.09/246.30 down.0(f.0(f.0(fresh_constant.))) -> f_flat.0(down.0(f.0(fresh_constant.))) 395.09/246.30 down.0(f.0(fresh_constant.)) -> f_flat.0(down.0(fresh_constant.)) 395.09/246.30 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.30 down.0(f.0(g.0(f.1(y12)))) -> f_flat.0(down.0(g.0(f.1(y12)))) 395.09/246.30 395.09/246.30 Q is empty. 395.09/246.30 We have to consider all minimal (P,Q,R)-chains. 395.09/246.30 ---------------------------------------- 395.09/246.30 395.09/246.30 (108) QDPOrderProof (EQUIVALENT) 395.09/246.30 We use the reduction pair processor [LPAR04,JAR06]. 395.09/246.30 395.09/246.30 395.09/246.30 The following pairs can be oriented strictly and are deleted. 395.09/246.30 395.09/246.30 TOP.0(up.0(g.0(f.1(a.)))) -> TOP.0(g_flat.0(down.0(f.1(a.)))) 395.09/246.30 TOP.0(up.0(g.0(g.0(f.1(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.30 The remaining pairs can at least be oriented weakly. 395.09/246.30 Used ordering: Polynomial interpretation [POLO]: 395.09/246.30 395.09/246.30 POL(TOP.0(x_1)) = x_1 395.09/246.30 POL(a.) = 1 395.09/246.30 POL(b.) = 0 395.09/246.30 POL(down.0(x_1)) = 0 395.09/246.30 POL(down.1(x_1)) = 0 395.09/246.30 POL(f.0(x_1)) = 0 395.09/246.30 POL(f.1(x_1)) = 1 + x_1 395.09/246.30 POL(f_flat.0(x_1)) = 0 395.09/246.30 POL(fresh_constant.) = 0 395.09/246.30 POL(g.0(x_1)) = x_1 395.09/246.30 POL(g.1(x_1)) = 0 395.09/246.30 POL(g_flat.0(x_1)) = x_1 395.09/246.30 POL(up.0(x_1)) = x_1 395.09/246.30 395.09/246.30 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 395.09/246.30 395.09/246.30 down.0(f.0(g.0(b.))) -> f_flat.0(down.0(g.0(b.))) 395.09/246.30 down.0(f.0(g.0(g.1(a.)))) -> f_flat.0(down.0(g.0(g.1(a.)))) 395.09/246.30 down.0(f.0(g.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.30 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.30 down.0(f.0(g.0(g.0(g.1(y22))))) -> f_flat.0(down.0(g.0(g.0(g.1(y22))))) 395.09/246.30 down.0(f.0(g.0(g.0(b.)))) -> f_flat.0(down.0(g.0(g.0(b.)))) 395.09/246.30 down.0(f.0(g.0(g.0(fresh_constant.)))) -> f_flat.0(down.0(g.0(g.0(fresh_constant.)))) 395.09/246.30 down.0(f.0(g.0(fresh_constant.))) -> f_flat.0(down.0(g.0(fresh_constant.))) 395.09/246.30 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.30 down.0(g.0(f.0(f.0(g.0(x))))) -> up.0(b.) 395.09/246.30 down.0(g.0(f.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.30 down.0(g.0(f.0(b.))) -> g_flat.0(down.0(f.0(b.))) 395.09/246.30 down.0(g.0(f.0(fresh_constant.))) -> g_flat.0(down.0(f.0(fresh_constant.))) 395.09/246.30 down.0(g.0(f.0(f.1(a.)))) -> g_flat.0(down.0(f.0(f.1(a.)))) 395.09/246.30 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.30 down.0(g.0(f.0(f.0(f.1(y24))))) -> g_flat.0(down.0(f.0(f.0(f.1(y24))))) 395.09/246.30 down.0(g.0(f.0(f.0(b.)))) -> g_flat.0(down.0(f.0(f.0(b.)))) 395.09/246.30 down.0(g.0(f.0(f.0(fresh_constant.)))) -> g_flat.0(down.0(f.0(f.0(fresh_constant.)))) 395.09/246.30 down.0(g.0(f.0(g.1(a.)))) -> g_flat.0(down.0(f.0(g.1(a.)))) 395.09/246.30 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.30 down.0(g.0(f.0(g.0(g.1(y28))))) -> g_flat.0(down.0(f.0(g.0(g.1(y28))))) 395.09/246.30 down.0(g.0(f.0(g.0(b.)))) -> g_flat.0(down.0(f.0(g.0(b.)))) 395.09/246.30 down.0(g.0(f.0(g.0(fresh_constant.)))) -> g_flat.0(down.0(f.0(g.0(fresh_constant.)))) 395.09/246.30 down.0(g.0(f.1(a.))) -> g_flat.0(down.0(f.1(a.))) 395.09/246.30 down.0(f.1(a.)) -> f_flat.0(down.1(a.)) 395.09/246.30 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.30 down.0(f.0(f.1(a.))) -> f_flat.0(down.0(f.1(a.))) 395.09/246.30 down.0(f.0(f.0(f.0(x)))) -> up.0(b.) 395.09/246.30 down.0(f.0(f.0(b.))) -> f_flat.0(down.0(f.0(b.))) 395.09/246.30 down.0(f.0(g.1(a.))) -> f_flat.0(down.0(g.1(a.))) 395.09/246.30 down.0(f.0(b.)) -> f_flat.0(down.0(b.)) 395.09/246.30 down.0(f.0(fresh_constant.)) -> f_flat.0(down.0(fresh_constant.)) 395.09/246.30 down.0(f.0(f.0(fresh_constant.))) -> f_flat.0(down.0(f.0(fresh_constant.))) 395.09/246.30 395.09/246.30 395.09/246.30 ---------------------------------------- 395.09/246.30 395.09/246.30 (109) 395.09/246.30 Obligation: 395.09/246.30 Q DP problem: 395.09/246.30 The TRS P consists of the following rules: 395.09/246.30 395.09/246.30 TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) 395.09/246.30 TOP.0(up.0(f.0(g.0(f.0(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.30 TOP.0(up.0(f.0(g.0(f.1(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.30 TOP.0(up.0(g.0(g.0(f.0(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.30 TOP.0(up.0(f.0(g.0(g.1(a.))))) -> TOP.0(f_flat.0(down.0(g.0(g.1(a.))))) 395.09/246.30 TOP.0(up.0(f.0(g.0(g.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.0(x0)))))) 395.09/246.30 TOP.0(up.0(f.0(g.0(g.0(b.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(b.))))) 395.09/246.30 TOP.0(up.0(g.0(f.0(f.1(a.))))) -> TOP.0(g_flat.0(down.0(f.0(f.1(a.))))) 395.09/246.30 TOP.0(up.0(g.0(f.0(f.0(f.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.0(x0)))))) 395.09/246.30 TOP.0(up.0(g.0(f.0(f.0(b.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(b.))))) 395.09/246.30 TOP.0(up.0(g.0(f.0(g.1(a.))))) -> TOP.0(g_flat.0(down.0(f.0(g.1(a.))))) 395.09/246.30 TOP.0(up.0(g.0(f.0(g.0(g.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.0(x0)))))) 395.09/246.30 TOP.0(up.0(g.0(f.0(g.0(g.1(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.1(x0)))))) 395.09/246.30 TOP.0(up.0(g.0(f.0(g.0(b.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(b.))))) 395.09/246.30 395.09/246.30 The TRS R consists of the following rules: 395.09/246.30 395.09/246.30 down.0(f.0(g.0(b.))) -> f_flat.0(down.0(g.0(b.))) 395.09/246.30 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.30 down.0(g.0(b.)) -> g_flat.0(down.0(b.)) 395.09/246.30 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.30 down.0(f.0(g.0(g.1(a.)))) -> f_flat.0(down.0(g.0(g.1(a.)))) 395.09/246.30 down.0(g.0(g.1(a.))) -> g_flat.0(down.0(g.1(a.))) 395.09/246.30 down.0(g.1(a.)) -> g_flat.0(down.1(a.)) 395.09/246.30 down.1(a.) -> up.0(f.1(a.)) 395.09/246.30 down.1(a.) -> up.0(g.1(a.)) 395.09/246.30 down.0(f.0(g.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.30 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.30 down.0(f.0(g.0(g.0(g.1(y22))))) -> f_flat.0(down.0(g.0(g.0(g.1(y22))))) 395.09/246.30 down.0(f.0(g.0(g.0(b.)))) -> f_flat.0(down.0(g.0(g.0(b.)))) 395.09/246.30 down.0(f.0(g.0(g.0(fresh_constant.)))) -> f_flat.0(down.0(g.0(g.0(fresh_constant.)))) 395.09/246.30 down.0(g.0(g.0(fresh_constant.))) -> g_flat.0(down.0(g.0(fresh_constant.))) 395.09/246.30 down.0(g.0(fresh_constant.)) -> g_flat.0(down.0(fresh_constant.)) 395.09/246.30 down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) 395.09/246.30 down.0(g.0(g.0(g.0(x)))) -> up.0(b.) 395.09/246.30 down.0(f.0(g.1(a.))) -> f_flat.0(down.0(g.1(a.))) 395.09/246.30 down.0(f.0(f.0(b.))) -> f_flat.0(down.0(f.0(b.))) 395.09/246.30 down.0(f.0(b.)) -> f_flat.0(down.0(b.)) 395.09/246.30 down.0(f.0(f.0(f.0(x)))) -> up.0(b.) 395.09/246.30 down.0(f.0(f.1(a.))) -> f_flat.0(down.0(f.1(a.))) 395.09/246.30 down.0(f.1(a.)) -> f_flat.0(down.1(a.)) 395.09/246.30 down.0(g.0(f.1(a.))) -> g_flat.0(down.0(f.1(a.))) 395.09/246.30 down.0(g.0(f.0(f.0(g.0(x))))) -> up.0(b.) 395.09/246.30 down.0(g.0(f.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.30 down.0(g.0(f.0(b.))) -> g_flat.0(down.0(f.0(b.))) 395.09/246.30 down.0(g.0(f.0(fresh_constant.))) -> g_flat.0(down.0(f.0(fresh_constant.))) 395.09/246.30 down.0(g.0(f.0(f.1(a.)))) -> g_flat.0(down.0(f.0(f.1(a.)))) 395.09/246.30 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.30 down.0(g.0(f.0(f.0(f.1(y24))))) -> g_flat.0(down.0(f.0(f.0(f.1(y24))))) 395.09/246.30 down.0(g.0(f.0(f.0(b.)))) -> g_flat.0(down.0(f.0(f.0(b.)))) 395.09/246.30 down.0(g.0(f.0(f.0(fresh_constant.)))) -> g_flat.0(down.0(f.0(f.0(fresh_constant.)))) 395.09/246.30 down.0(g.0(f.0(g.1(a.)))) -> g_flat.0(down.0(f.0(g.1(a.)))) 395.09/246.30 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.30 down.0(g.0(f.0(g.0(g.1(y28))))) -> g_flat.0(down.0(f.0(g.0(g.1(y28))))) 395.09/246.30 down.0(g.0(f.0(g.0(b.)))) -> g_flat.0(down.0(f.0(g.0(b.)))) 395.09/246.30 down.0(g.0(f.0(g.0(fresh_constant.)))) -> g_flat.0(down.0(f.0(g.0(fresh_constant.)))) 395.09/246.30 down.0(f.0(g.0(fresh_constant.))) -> f_flat.0(down.0(g.0(fresh_constant.))) 395.09/246.30 down.0(f.0(f.0(fresh_constant.))) -> f_flat.0(down.0(f.0(fresh_constant.))) 395.09/246.30 down.0(f.0(fresh_constant.)) -> f_flat.0(down.0(fresh_constant.)) 395.09/246.30 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.30 down.0(f.0(g.0(f.1(y12)))) -> f_flat.0(down.0(g.0(f.1(y12)))) 395.09/246.30 395.09/246.30 Q is empty. 395.09/246.30 We have to consider all minimal (P,Q,R)-chains. 395.09/246.30 ---------------------------------------- 395.09/246.30 395.09/246.30 (110) PisEmptyProof (SOUND) 395.09/246.30 The TRS P is empty. Hence, there is no (P,Q,R) chain. 395.09/246.30 ---------------------------------------- 395.09/246.30 395.09/246.30 (111) 395.09/246.30 TRUE 395.09/246.30 395.09/246.30 ---------------------------------------- 395.09/246.30 395.09/246.30 (112) 395.09/246.30 Obligation: 395.09/246.30 Q DP problem: 395.09/246.30 The TRS P consists of the following rules: 395.09/246.30 395.09/246.30 TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) 395.09/246.30 TOP(up(f(g(f(x0))))) -> TOP(f_flat(down(g(f(x0))))) 395.09/246.30 TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) 395.09/246.30 TOP(up(f(g(g(a))))) -> TOP(f_flat(down(g(g(a))))) 395.09/246.30 TOP(up(f(g(g(g(x0)))))) -> TOP(f_flat(down(g(g(g(x0)))))) 395.09/246.30 TOP(up(f(g(g(b))))) -> TOP(f_flat(down(g(g(b))))) 395.09/246.30 TOP(up(g(f(f(a))))) -> TOP(g_flat(down(f(f(a))))) 395.09/246.30 TOP(up(g(f(f(f(x0)))))) -> TOP(g_flat(down(f(f(f(x0)))))) 395.09/246.30 TOP(up(g(f(f(b))))) -> TOP(g_flat(down(f(f(b))))) 395.09/246.30 TOP(up(g(f(g(a))))) -> TOP(g_flat(down(f(g(a))))) 395.09/246.30 TOP(up(g(f(g(g(x0)))))) -> TOP(g_flat(down(f(g(g(x0)))))) 395.09/246.30 TOP(up(g(f(g(b))))) -> TOP(g_flat(down(f(g(b))))) 395.09/246.30 395.09/246.30 The TRS R consists of the following rules: 395.09/246.30 395.09/246.30 down(f(g(b))) -> f_flat(down(g(b))) 395.09/246.30 g_flat(up(x_1)) -> up(g(x_1)) 395.09/246.30 down(g(b)) -> g_flat(down(b)) 395.09/246.30 f_flat(up(x_1)) -> up(f(x_1)) 395.09/246.30 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.09/246.30 down(g(g(a))) -> g_flat(down(g(a))) 395.09/246.30 down(g(a)) -> g_flat(down(a)) 395.09/246.30 down(a) -> up(f(a)) 395.09/246.30 down(a) -> up(g(a)) 395.09/246.30 down(f(g(g(f(x))))) -> up(b) 395.09/246.30 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.09/246.31 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.09/246.31 down(f(g(g(fresh_constant)))) -> f_flat(down(g(g(fresh_constant)))) 395.09/246.31 down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) 395.09/246.31 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 395.09/246.31 down(g(g(b))) -> g_flat(down(g(b))) 395.09/246.31 down(g(g(g(x)))) -> up(b) 395.09/246.31 down(f(g(a))) -> f_flat(down(g(a))) 395.09/246.31 down(f(f(b))) -> f_flat(down(f(b))) 395.09/246.31 down(f(b)) -> f_flat(down(b)) 395.09/246.31 down(f(f(f(x)))) -> up(b) 395.09/246.31 down(f(f(a))) -> f_flat(down(f(a))) 395.09/246.31 down(f(a)) -> f_flat(down(a)) 395.09/246.31 down(g(f(a))) -> g_flat(down(f(a))) 395.09/246.31 down(g(f(f(g(x))))) -> up(b) 395.09/246.31 down(g(f(g(f(x))))) -> up(b) 395.09/246.31 down(g(f(b))) -> g_flat(down(f(b))) 395.09/246.31 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.09/246.31 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.09/246.31 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.09/246.31 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.09/246.31 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.09/246.31 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.09/246.31 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.09/246.31 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.09/246.31 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.09/246.31 down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) 395.09/246.31 down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) 395.09/246.31 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 395.09/246.31 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.09/246.31 395.09/246.31 Q is empty. 395.09/246.31 We have to consider all minimal (P,Q,R)-chains. 395.09/246.31 ---------------------------------------- 395.09/246.31 395.09/246.31 (113) SplitQDPProof (EQUIVALENT) 395.09/246.31 We show in the first subproof that some pairs and rules can be removed, afterwards, we continue with the remaining DP-Problem 395.09/246.31 395.09/246.31 ---------------------------------------- 395.09/246.31 395.09/246.31 (114) 395.09/246.31 Complex Obligation (AND) 395.09/246.31 395.09/246.31 ---------------------------------------- 395.09/246.31 395.09/246.31 (115) 395.09/246.31 Obligation: 395.09/246.31 Q DP problem: 395.09/246.31 The TRS P consists of the following rules: 395.09/246.31 395.09/246.31 TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) 395.09/246.31 TOP(up(f(g(f(x0))))) -> TOP(f_flat(down(g(f(x0))))) 395.09/246.31 TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) 395.09/246.31 TOP(up(f(g(g(a))))) -> TOP(f_flat(down(g(g(a))))) 395.09/246.31 TOP(up(f(g(g(g(x0)))))) -> TOP(f_flat(down(g(g(g(x0)))))) 395.09/246.31 TOP(up(f(g(g(b))))) -> TOP(f_flat(down(g(g(b))))) 395.09/246.31 TOP(up(g(f(f(a))))) -> TOP(g_flat(down(f(f(a))))) 395.09/246.31 TOP(up(g(f(f(f(x0)))))) -> TOP(g_flat(down(f(f(f(x0)))))) 395.09/246.31 TOP(up(g(f(f(b))))) -> TOP(g_flat(down(f(f(b))))) 395.09/246.31 TOP(up(g(f(g(a))))) -> TOP(g_flat(down(f(g(a))))) 395.09/246.31 TOP(up(g(f(g(g(x0)))))) -> TOP(g_flat(down(f(g(g(x0)))))) 395.09/246.31 TOP(up(g(f(g(b))))) -> TOP(g_flat(down(f(g(b))))) 395.09/246.31 395.09/246.31 The TRS R consists of the following rules: 395.09/246.31 395.09/246.31 down(f(g(b))) -> f_flat(down(g(b))) 395.09/246.31 g_flat(up(x_1)) -> up(g(x_1)) 395.09/246.31 down(g(b)) -> g_flat(down(b)) 395.09/246.31 f_flat(up(x_1)) -> up(f(x_1)) 395.09/246.31 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.09/246.31 down(g(g(a))) -> g_flat(down(g(a))) 395.09/246.31 down(g(a)) -> g_flat(down(a)) 395.09/246.31 down(a) -> up(f(a)) 395.09/246.31 down(a) -> up(g(a)) 395.09/246.31 down(f(g(g(f(x))))) -> up(b) 395.09/246.31 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.09/246.31 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.09/246.31 down(f(g(g(fresh_constant)))) -> f_flat(down(g(g(fresh_constant)))) 395.09/246.31 down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) 395.09/246.31 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 395.09/246.31 down(g(g(b))) -> g_flat(down(g(b))) 395.09/246.31 down(g(g(g(x)))) -> up(b) 395.09/246.31 down(f(g(a))) -> f_flat(down(g(a))) 395.09/246.31 down(f(f(b))) -> f_flat(down(f(b))) 395.09/246.31 down(f(b)) -> f_flat(down(b)) 395.09/246.31 down(f(f(f(x)))) -> up(b) 395.09/246.31 down(f(f(a))) -> f_flat(down(f(a))) 395.09/246.31 down(f(a)) -> f_flat(down(a)) 395.09/246.31 down(g(f(a))) -> g_flat(down(f(a))) 395.09/246.31 down(g(f(f(g(x))))) -> up(b) 395.09/246.31 down(g(f(g(f(x))))) -> up(b) 395.09/246.31 down(g(f(b))) -> g_flat(down(f(b))) 395.09/246.31 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.09/246.31 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.09/246.31 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.09/246.31 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.09/246.31 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.09/246.31 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.09/246.31 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.09/246.31 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.09/246.31 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.09/246.31 down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) 395.09/246.31 down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) 395.09/246.31 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 395.09/246.31 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.09/246.31 395.09/246.31 Q is empty. 395.09/246.31 We have to consider all minimal (P,Q,R)-chains. 395.09/246.31 ---------------------------------------- 395.09/246.31 395.09/246.31 (116) SemLabProof (SOUND) 395.09/246.31 We found the following model for the rules of the TRSs R and P. 395.09/246.31 Interpretation over the domain with elements from 0 to 1. 395.09/246.31 a: 0 395.09/246.31 b: 0 395.09/246.31 down: 0 395.09/246.31 f: 0 395.09/246.31 fresh_constant: 1 395.09/246.31 up: 0 395.09/246.31 f_flat: 0 395.09/246.31 TOP: 0 395.09/246.31 g_flat: 0 395.09/246.31 g: 0 395.09/246.31 By semantic labelling [SEMLAB] we obtain the following labelled QDP problem. 395.09/246.31 ---------------------------------------- 395.09/246.31 395.09/246.31 (117) 395.09/246.31 Obligation: 395.09/246.31 Q DP problem: 395.09/246.31 The TRS P consists of the following rules: 395.09/246.31 395.09/246.31 TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) 395.09/246.31 TOP.0(up.0(f.0(f.0(g.1(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.1(x0))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(f.0(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(f.1(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.31 TOP.0(up.0(g.0(g.0(f.0(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.31 TOP.0(up.0(g.0(g.0(f.1(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(g.0(a.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(a.))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(g.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.0(x0)))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(g.0(g.1(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.1(x0)))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(g.0(b.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(b.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(f.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(a.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(f.0(f.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.0(x0)))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(f.0(f.1(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.1(x0)))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(f.0(b.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(b.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(a.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(g.0(g.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.0(x0)))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(g.0(g.1(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.1(x0)))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(g.0(b.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(b.))))) 395.09/246.31 395.09/246.31 The TRS R consists of the following rules: 395.09/246.31 395.09/246.31 down.0(f.0(g.0(b.))) -> f_flat.0(down.0(g.0(b.))) 395.09/246.31 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.31 g_flat.0(up.1(x_1)) -> up.0(g.1(x_1)) 395.09/246.31 down.0(g.0(b.)) -> g_flat.0(down.0(b.)) 395.09/246.31 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.31 f_flat.0(up.1(x_1)) -> up.0(f.1(x_1)) 395.09/246.31 down.0(f.0(g.0(g.0(a.)))) -> f_flat.0(down.0(g.0(g.0(a.)))) 395.09/246.31 down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) 395.09/246.31 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 395.09/246.31 down.0(a.) -> up.0(f.0(a.)) 395.09/246.31 down.0(a.) -> up.0(g.0(a.)) 395.09/246.31 down.0(f.0(g.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.31 down.0(f.0(g.0(g.0(f.1(x))))) -> up.0(b.) 395.09/246.31 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.31 down.0(f.0(g.0(g.0(g.1(y22))))) -> f_flat.0(down.0(g.0(g.0(g.1(y22))))) 395.09/246.31 down.0(f.0(g.0(g.0(b.)))) -> f_flat.0(down.0(g.0(g.0(b.)))) 395.09/246.31 down.0(f.0(g.0(g.1(fresh_constant.)))) -> f_flat.0(down.0(g.0(g.1(fresh_constant.)))) 395.09/246.31 down.0(g.0(g.1(fresh_constant.))) -> g_flat.0(down.0(g.1(fresh_constant.))) 395.09/246.31 down.0(g.1(fresh_constant.)) -> g_flat.0(down.1(fresh_constant.)) 395.09/246.31 down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) 395.09/246.31 down.0(g.0(g.0(g.0(x)))) -> up.0(b.) 395.09/246.31 down.0(g.0(g.0(g.1(x)))) -> up.0(b.) 395.09/246.31 down.0(f.0(g.0(a.))) -> f_flat.0(down.0(g.0(a.))) 395.09/246.31 down.0(f.0(f.0(b.))) -> f_flat.0(down.0(f.0(b.))) 395.09/246.31 down.0(f.0(b.)) -> f_flat.0(down.0(b.)) 395.09/246.31 down.0(f.0(f.0(f.0(x)))) -> up.0(b.) 395.09/246.31 down.0(f.0(f.0(f.1(x)))) -> up.0(b.) 395.09/246.31 down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) 395.09/246.31 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 395.09/246.31 down.0(g.0(f.0(a.))) -> g_flat.0(down.0(f.0(a.))) 395.09/246.31 down.0(g.0(f.0(f.0(g.0(x))))) -> up.0(b.) 395.09/246.31 down.0(g.0(f.0(f.0(g.1(x))))) -> up.0(b.) 395.09/246.31 down.0(g.0(f.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.31 down.0(g.0(f.0(g.0(f.1(x))))) -> up.0(b.) 395.09/246.31 down.0(g.0(f.0(b.))) -> g_flat.0(down.0(f.0(b.))) 395.09/246.31 down.0(g.0(f.1(fresh_constant.))) -> g_flat.0(down.0(f.1(fresh_constant.))) 395.09/246.31 down.0(g.0(f.0(f.0(a.)))) -> g_flat.0(down.0(f.0(f.0(a.)))) 395.09/246.31 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.31 down.0(g.0(f.0(f.0(f.1(y24))))) -> g_flat.0(down.0(f.0(f.0(f.1(y24))))) 395.09/246.31 down.0(g.0(f.0(f.0(b.)))) -> g_flat.0(down.0(f.0(f.0(b.)))) 395.09/246.31 down.0(g.0(f.0(f.1(fresh_constant.)))) -> g_flat.0(down.0(f.0(f.1(fresh_constant.)))) 395.09/246.31 down.0(g.0(f.0(g.0(a.)))) -> g_flat.0(down.0(f.0(g.0(a.)))) 395.09/246.31 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.31 down.0(g.0(f.0(g.0(g.1(y28))))) -> g_flat.0(down.0(f.0(g.0(g.1(y28))))) 395.09/246.31 down.0(g.0(f.0(g.0(b.)))) -> g_flat.0(down.0(f.0(g.0(b.)))) 395.09/246.31 down.0(g.0(f.0(g.1(fresh_constant.)))) -> g_flat.0(down.0(f.0(g.1(fresh_constant.)))) 395.09/246.31 down.0(f.0(g.1(fresh_constant.))) -> f_flat.0(down.0(g.1(fresh_constant.))) 395.09/246.31 down.0(f.0(f.1(fresh_constant.))) -> f_flat.0(down.0(f.1(fresh_constant.))) 395.09/246.31 down.0(f.1(fresh_constant.)) -> f_flat.0(down.1(fresh_constant.)) 395.09/246.31 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.31 down.0(f.0(g.0(f.1(y12)))) -> f_flat.0(down.0(g.0(f.1(y12)))) 395.09/246.31 395.09/246.31 Q is empty. 395.09/246.31 We have to consider all minimal (P,Q,R)-chains. 395.09/246.31 ---------------------------------------- 395.09/246.31 395.09/246.31 (118) UsableRulesReductionPairsProof (EQUIVALENT) 395.09/246.31 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. 395.09/246.31 395.09/246.31 No dependency pairs are removed. 395.09/246.31 395.09/246.31 The following rules are removed from R: 395.09/246.31 395.09/246.31 g_flat.0(up.1(x_1)) -> up.0(g.1(x_1)) 395.09/246.31 f_flat.0(up.1(x_1)) -> up.0(f.1(x_1)) 395.09/246.31 down.0(f.0(g.0(g.0(f.1(x))))) -> up.0(b.) 395.09/246.31 down.0(g.0(g.0(g.1(x)))) -> up.0(b.) 395.09/246.31 down.0(f.0(f.0(f.1(x)))) -> up.0(b.) 395.09/246.31 down.0(g.0(f.0(f.0(g.1(x))))) -> up.0(b.) 395.09/246.31 down.0(g.0(f.0(g.0(f.1(x))))) -> up.0(b.) 395.09/246.31 Used ordering: POLO with Polynomial interpretation [POLO]: 395.09/246.31 395.09/246.31 POL(TOP.0(x_1)) = x_1 395.09/246.31 POL(a.) = 0 395.09/246.31 POL(b.) = 0 395.09/246.31 POL(down.0(x_1)) = x_1 395.09/246.31 POL(down.1(x_1)) = 1 + x_1 395.09/246.31 POL(f.0(x_1)) = x_1 395.09/246.31 POL(f.1(x_1)) = 1 + x_1 395.09/246.31 POL(f_flat.0(x_1)) = x_1 395.09/246.31 POL(fresh_constant.) = 0 395.09/246.31 POL(g.0(x_1)) = x_1 395.09/246.31 POL(g.1(x_1)) = 1 + x_1 395.09/246.31 POL(g_flat.0(x_1)) = x_1 395.09/246.31 POL(up.0(x_1)) = x_1 395.09/246.31 POL(up.1(x_1)) = 1 + x_1 395.09/246.31 395.09/246.31 395.09/246.31 ---------------------------------------- 395.09/246.31 395.09/246.31 (119) 395.09/246.31 Obligation: 395.09/246.31 Q DP problem: 395.09/246.31 The TRS P consists of the following rules: 395.09/246.31 395.09/246.31 TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) 395.09/246.31 TOP.0(up.0(f.0(f.0(g.1(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.1(x0))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(f.0(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(f.1(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.31 TOP.0(up.0(g.0(g.0(f.0(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.31 TOP.0(up.0(g.0(g.0(f.1(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(g.0(a.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(a.))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(g.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.0(x0)))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(g.0(g.1(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.1(x0)))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(g.0(b.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(b.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(f.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(a.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(f.0(f.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.0(x0)))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(f.0(f.1(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.1(x0)))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(f.0(b.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(b.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(a.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(g.0(g.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.0(x0)))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(g.0(g.1(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.1(x0)))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(g.0(b.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(b.))))) 395.09/246.31 395.09/246.31 The TRS R consists of the following rules: 395.09/246.31 395.09/246.31 down.0(f.0(g.0(b.))) -> f_flat.0(down.0(g.0(b.))) 395.09/246.31 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.31 down.0(g.0(b.)) -> g_flat.0(down.0(b.)) 395.09/246.31 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.31 down.0(f.0(g.0(g.1(fresh_constant.)))) -> f_flat.0(down.0(g.0(g.1(fresh_constant.)))) 395.09/246.31 down.0(g.0(g.1(fresh_constant.))) -> g_flat.0(down.0(g.1(fresh_constant.))) 395.09/246.31 down.0(g.1(fresh_constant.)) -> g_flat.0(down.1(fresh_constant.)) 395.09/246.31 down.0(f.0(g.0(g.0(a.)))) -> f_flat.0(down.0(g.0(g.0(a.)))) 395.09/246.31 down.0(f.0(g.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.31 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.31 down.0(f.0(g.0(g.0(g.1(y22))))) -> f_flat.0(down.0(g.0(g.0(g.1(y22))))) 395.09/246.31 down.0(f.0(g.0(g.0(b.)))) -> f_flat.0(down.0(g.0(g.0(b.)))) 395.09/246.31 down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) 395.09/246.31 down.0(g.0(g.0(g.0(x)))) -> up.0(b.) 395.09/246.31 down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) 395.09/246.31 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 395.09/246.31 down.0(a.) -> up.0(f.0(a.)) 395.09/246.31 down.0(a.) -> up.0(g.0(a.)) 395.09/246.31 down.0(f.0(g.0(a.))) -> f_flat.0(down.0(g.0(a.))) 395.09/246.31 down.0(f.0(f.0(b.))) -> f_flat.0(down.0(f.0(b.))) 395.09/246.31 down.0(f.0(b.)) -> f_flat.0(down.0(b.)) 395.09/246.31 down.0(f.0(f.0(f.0(x)))) -> up.0(b.) 395.09/246.31 down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) 395.09/246.31 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 395.09/246.31 down.0(g.0(f.1(fresh_constant.))) -> g_flat.0(down.0(f.1(fresh_constant.))) 395.09/246.31 down.0(f.1(fresh_constant.)) -> f_flat.0(down.1(fresh_constant.)) 395.09/246.31 down.0(g.0(f.0(a.))) -> g_flat.0(down.0(f.0(a.))) 395.09/246.31 down.0(g.0(f.0(f.0(g.0(x))))) -> up.0(b.) 395.09/246.31 down.0(g.0(f.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.31 down.0(g.0(f.0(b.))) -> g_flat.0(down.0(f.0(b.))) 395.09/246.31 down.0(g.0(f.0(f.0(a.)))) -> g_flat.0(down.0(f.0(f.0(a.)))) 395.09/246.31 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.31 down.0(g.0(f.0(f.0(f.1(y24))))) -> g_flat.0(down.0(f.0(f.0(f.1(y24))))) 395.09/246.31 down.0(g.0(f.0(f.0(b.)))) -> g_flat.0(down.0(f.0(f.0(b.)))) 395.09/246.31 down.0(g.0(f.0(f.1(fresh_constant.)))) -> g_flat.0(down.0(f.0(f.1(fresh_constant.)))) 395.09/246.31 down.0(g.0(f.0(g.0(a.)))) -> g_flat.0(down.0(f.0(g.0(a.)))) 395.09/246.31 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.31 down.0(g.0(f.0(g.0(g.1(y28))))) -> g_flat.0(down.0(f.0(g.0(g.1(y28))))) 395.09/246.31 down.0(g.0(f.0(g.0(b.)))) -> g_flat.0(down.0(f.0(g.0(b.)))) 395.09/246.31 down.0(g.0(f.0(g.1(fresh_constant.)))) -> g_flat.0(down.0(f.0(g.1(fresh_constant.)))) 395.09/246.31 down.0(f.0(g.1(fresh_constant.))) -> f_flat.0(down.0(g.1(fresh_constant.))) 395.09/246.31 down.0(f.0(f.1(fresh_constant.))) -> f_flat.0(down.0(f.1(fresh_constant.))) 395.09/246.31 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.31 down.0(f.0(g.0(f.1(y12)))) -> f_flat.0(down.0(g.0(f.1(y12)))) 395.09/246.31 395.09/246.31 Q is empty. 395.09/246.31 We have to consider all minimal (P,Q,R)-chains. 395.09/246.31 ---------------------------------------- 395.09/246.31 395.09/246.31 (120) DependencyGraphProof (EQUIVALENT) 395.09/246.31 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. 395.09/246.31 ---------------------------------------- 395.09/246.31 395.09/246.31 (121) 395.09/246.31 Obligation: 395.09/246.31 Q DP problem: 395.09/246.31 The TRS P consists of the following rules: 395.09/246.31 395.09/246.31 TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) 395.09/246.31 TOP.0(up.0(f.0(f.0(g.1(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.1(x0))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(f.0(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(f.1(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.31 TOP.0(up.0(g.0(g.0(f.0(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.31 TOP.0(up.0(g.0(g.0(f.1(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(g.0(a.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(a.))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(g.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.0(x0)))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(g.0(b.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(b.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(f.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(a.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(f.0(f.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.0(x0)))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(f.0(b.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(b.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(a.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(g.0(g.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.0(x0)))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(g.0(g.1(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.1(x0)))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(g.0(b.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(b.))))) 395.09/246.31 395.09/246.31 The TRS R consists of the following rules: 395.09/246.31 395.09/246.31 down.0(f.0(g.0(b.))) -> f_flat.0(down.0(g.0(b.))) 395.09/246.31 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.31 down.0(g.0(b.)) -> g_flat.0(down.0(b.)) 395.09/246.31 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.31 down.0(f.0(g.0(g.1(fresh_constant.)))) -> f_flat.0(down.0(g.0(g.1(fresh_constant.)))) 395.09/246.31 down.0(g.0(g.1(fresh_constant.))) -> g_flat.0(down.0(g.1(fresh_constant.))) 395.09/246.31 down.0(g.1(fresh_constant.)) -> g_flat.0(down.1(fresh_constant.)) 395.09/246.31 down.0(f.0(g.0(g.0(a.)))) -> f_flat.0(down.0(g.0(g.0(a.)))) 395.09/246.31 down.0(f.0(g.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.31 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.31 down.0(f.0(g.0(g.0(g.1(y22))))) -> f_flat.0(down.0(g.0(g.0(g.1(y22))))) 395.09/246.31 down.0(f.0(g.0(g.0(b.)))) -> f_flat.0(down.0(g.0(g.0(b.)))) 395.09/246.31 down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) 395.09/246.31 down.0(g.0(g.0(g.0(x)))) -> up.0(b.) 395.09/246.31 down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) 395.09/246.31 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 395.09/246.31 down.0(a.) -> up.0(f.0(a.)) 395.09/246.31 down.0(a.) -> up.0(g.0(a.)) 395.09/246.31 down.0(f.0(g.0(a.))) -> f_flat.0(down.0(g.0(a.))) 395.09/246.31 down.0(f.0(f.0(b.))) -> f_flat.0(down.0(f.0(b.))) 395.09/246.31 down.0(f.0(b.)) -> f_flat.0(down.0(b.)) 395.09/246.31 down.0(f.0(f.0(f.0(x)))) -> up.0(b.) 395.09/246.31 down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) 395.09/246.31 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 395.09/246.31 down.0(g.0(f.1(fresh_constant.))) -> g_flat.0(down.0(f.1(fresh_constant.))) 395.09/246.31 down.0(f.1(fresh_constant.)) -> f_flat.0(down.1(fresh_constant.)) 395.09/246.31 down.0(g.0(f.0(a.))) -> g_flat.0(down.0(f.0(a.))) 395.09/246.31 down.0(g.0(f.0(f.0(g.0(x))))) -> up.0(b.) 395.09/246.31 down.0(g.0(f.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.31 down.0(g.0(f.0(b.))) -> g_flat.0(down.0(f.0(b.))) 395.09/246.31 down.0(g.0(f.0(f.0(a.)))) -> g_flat.0(down.0(f.0(f.0(a.)))) 395.09/246.31 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.31 down.0(g.0(f.0(f.0(f.1(y24))))) -> g_flat.0(down.0(f.0(f.0(f.1(y24))))) 395.09/246.31 down.0(g.0(f.0(f.0(b.)))) -> g_flat.0(down.0(f.0(f.0(b.)))) 395.09/246.31 down.0(g.0(f.0(f.1(fresh_constant.)))) -> g_flat.0(down.0(f.0(f.1(fresh_constant.)))) 395.09/246.31 down.0(g.0(f.0(g.0(a.)))) -> g_flat.0(down.0(f.0(g.0(a.)))) 395.09/246.31 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.31 down.0(g.0(f.0(g.0(g.1(y28))))) -> g_flat.0(down.0(f.0(g.0(g.1(y28))))) 395.09/246.31 down.0(g.0(f.0(g.0(b.)))) -> g_flat.0(down.0(f.0(g.0(b.)))) 395.09/246.31 down.0(g.0(f.0(g.1(fresh_constant.)))) -> g_flat.0(down.0(f.0(g.1(fresh_constant.)))) 395.09/246.31 down.0(f.0(g.1(fresh_constant.))) -> f_flat.0(down.0(g.1(fresh_constant.))) 395.09/246.31 down.0(f.0(f.1(fresh_constant.))) -> f_flat.0(down.0(f.1(fresh_constant.))) 395.09/246.31 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.31 down.0(f.0(g.0(f.1(y12)))) -> f_flat.0(down.0(g.0(f.1(y12)))) 395.09/246.31 395.09/246.31 Q is empty. 395.09/246.31 We have to consider all minimal (P,Q,R)-chains. 395.09/246.31 ---------------------------------------- 395.09/246.31 395.09/246.31 (122) MRRProof (EQUIVALENT) 395.09/246.31 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. 395.09/246.31 395.09/246.31 395.09/246.31 Strictly oriented rules of the TRS R: 395.09/246.31 395.09/246.31 down.0(g.1(fresh_constant.)) -> g_flat.0(down.1(fresh_constant.)) 395.09/246.31 down.0(f.1(fresh_constant.)) -> f_flat.0(down.1(fresh_constant.)) 395.09/246.31 395.09/246.31 Used ordering: Polynomial interpretation [POLO]: 395.09/246.31 395.09/246.31 POL(TOP.0(x_1)) = x_1 395.09/246.31 POL(a.) = 0 395.09/246.31 POL(b.) = 0 395.09/246.31 POL(down.0(x_1)) = x_1 395.09/246.31 POL(down.1(x_1)) = x_1 395.09/246.31 POL(f.0(x_1)) = x_1 395.09/246.31 POL(f.1(x_1)) = 1 + x_1 395.09/246.31 POL(f_flat.0(x_1)) = x_1 395.09/246.31 POL(fresh_constant.) = 0 395.09/246.31 POL(g.0(x_1)) = x_1 395.09/246.31 POL(g.1(x_1)) = 1 + x_1 395.09/246.31 POL(g_flat.0(x_1)) = x_1 395.09/246.31 POL(up.0(x_1)) = x_1 395.09/246.31 395.09/246.31 395.09/246.31 ---------------------------------------- 395.09/246.31 395.09/246.31 (123) 395.09/246.31 Obligation: 395.09/246.31 Q DP problem: 395.09/246.31 The TRS P consists of the following rules: 395.09/246.31 395.09/246.31 TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) 395.09/246.31 TOP.0(up.0(f.0(f.0(g.1(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.1(x0))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(f.0(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(f.1(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.31 TOP.0(up.0(g.0(g.0(f.0(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.31 TOP.0(up.0(g.0(g.0(f.1(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(g.0(a.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(a.))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(g.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.0(x0)))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(g.0(b.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(b.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(f.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(a.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(f.0(f.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.0(x0)))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(f.0(b.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(b.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(a.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(g.0(g.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.0(x0)))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(g.0(g.1(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.1(x0)))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(g.0(b.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(b.))))) 395.09/246.31 395.09/246.31 The TRS R consists of the following rules: 395.09/246.31 395.09/246.31 down.0(f.0(g.0(b.))) -> f_flat.0(down.0(g.0(b.))) 395.09/246.31 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.31 down.0(g.0(b.)) -> g_flat.0(down.0(b.)) 395.09/246.31 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.31 down.0(f.0(g.0(g.1(fresh_constant.)))) -> f_flat.0(down.0(g.0(g.1(fresh_constant.)))) 395.09/246.31 down.0(g.0(g.1(fresh_constant.))) -> g_flat.0(down.0(g.1(fresh_constant.))) 395.09/246.31 down.0(f.0(g.0(g.0(a.)))) -> f_flat.0(down.0(g.0(g.0(a.)))) 395.09/246.31 down.0(f.0(g.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.31 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.31 down.0(f.0(g.0(g.0(g.1(y22))))) -> f_flat.0(down.0(g.0(g.0(g.1(y22))))) 395.09/246.31 down.0(f.0(g.0(g.0(b.)))) -> f_flat.0(down.0(g.0(g.0(b.)))) 395.09/246.31 down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) 395.09/246.31 down.0(g.0(g.0(g.0(x)))) -> up.0(b.) 395.09/246.31 down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) 395.09/246.31 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 395.09/246.31 down.0(a.) -> up.0(f.0(a.)) 395.09/246.31 down.0(a.) -> up.0(g.0(a.)) 395.09/246.31 down.0(f.0(g.0(a.))) -> f_flat.0(down.0(g.0(a.))) 395.09/246.31 down.0(f.0(f.0(b.))) -> f_flat.0(down.0(f.0(b.))) 395.09/246.31 down.0(f.0(b.)) -> f_flat.0(down.0(b.)) 395.09/246.31 down.0(f.0(f.0(f.0(x)))) -> up.0(b.) 395.09/246.31 down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) 395.09/246.31 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 395.09/246.31 down.0(g.0(f.1(fresh_constant.))) -> g_flat.0(down.0(f.1(fresh_constant.))) 395.09/246.31 down.0(g.0(f.0(a.))) -> g_flat.0(down.0(f.0(a.))) 395.09/246.31 down.0(g.0(f.0(f.0(g.0(x))))) -> up.0(b.) 395.09/246.31 down.0(g.0(f.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.31 down.0(g.0(f.0(b.))) -> g_flat.0(down.0(f.0(b.))) 395.09/246.31 down.0(g.0(f.0(f.0(a.)))) -> g_flat.0(down.0(f.0(f.0(a.)))) 395.09/246.31 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.31 down.0(g.0(f.0(f.0(f.1(y24))))) -> g_flat.0(down.0(f.0(f.0(f.1(y24))))) 395.09/246.31 down.0(g.0(f.0(f.0(b.)))) -> g_flat.0(down.0(f.0(f.0(b.)))) 395.09/246.31 down.0(g.0(f.0(f.1(fresh_constant.)))) -> g_flat.0(down.0(f.0(f.1(fresh_constant.)))) 395.09/246.31 down.0(g.0(f.0(g.0(a.)))) -> g_flat.0(down.0(f.0(g.0(a.)))) 395.09/246.31 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.31 down.0(g.0(f.0(g.0(g.1(y28))))) -> g_flat.0(down.0(f.0(g.0(g.1(y28))))) 395.09/246.31 down.0(g.0(f.0(g.0(b.)))) -> g_flat.0(down.0(f.0(g.0(b.)))) 395.09/246.31 down.0(g.0(f.0(g.1(fresh_constant.)))) -> g_flat.0(down.0(f.0(g.1(fresh_constant.)))) 395.09/246.31 down.0(f.0(g.1(fresh_constant.))) -> f_flat.0(down.0(g.1(fresh_constant.))) 395.09/246.31 down.0(f.0(f.1(fresh_constant.))) -> f_flat.0(down.0(f.1(fresh_constant.))) 395.09/246.31 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.31 down.0(f.0(g.0(f.1(y12)))) -> f_flat.0(down.0(g.0(f.1(y12)))) 395.09/246.31 395.09/246.31 Q is empty. 395.09/246.31 We have to consider all minimal (P,Q,R)-chains. 395.09/246.31 ---------------------------------------- 395.09/246.31 395.09/246.31 (124) QDPOrderProof (EQUIVALENT) 395.09/246.31 We use the reduction pair processor [LPAR04,JAR06]. 395.09/246.31 395.09/246.31 395.09/246.31 The following pairs can be oriented strictly and are deleted. 395.09/246.31 395.09/246.31 TOP.0(up.0(f.0(f.0(g.1(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.1(x0))))) 395.09/246.31 The remaining pairs can at least be oriented weakly. 395.09/246.31 Used ordering: Polynomial interpretation [POLO]: 395.09/246.31 395.09/246.31 POL(TOP.0(x_1)) = x_1 395.09/246.31 POL(a.) = 0 395.09/246.31 POL(b.) = 0 395.09/246.31 POL(down.0(x_1)) = x_1 395.09/246.31 POL(f.0(x_1)) = x_1 395.09/246.31 POL(f.1(x_1)) = 0 395.09/246.31 POL(f_flat.0(x_1)) = x_1 395.09/246.31 POL(fresh_constant.) = 0 395.09/246.31 POL(g.0(x_1)) = 1 395.09/246.31 POL(g.1(x_1)) = 0 395.09/246.31 POL(g_flat.0(x_1)) = 1 395.09/246.31 POL(up.0(x_1)) = 1 395.09/246.31 395.09/246.31 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 395.09/246.31 395.09/246.31 down.0(f.0(g.0(b.))) -> f_flat.0(down.0(g.0(b.))) 395.09/246.31 down.0(f.0(g.0(g.1(fresh_constant.)))) -> f_flat.0(down.0(g.0(g.1(fresh_constant.)))) 395.09/246.31 down.0(f.0(g.0(g.0(a.)))) -> f_flat.0(down.0(g.0(g.0(a.)))) 395.09/246.31 down.0(f.0(g.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.31 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.31 down.0(f.0(g.0(g.0(g.1(y22))))) -> f_flat.0(down.0(g.0(g.0(g.1(y22))))) 395.09/246.31 down.0(f.0(g.0(g.0(b.)))) -> f_flat.0(down.0(g.0(g.0(b.)))) 395.09/246.31 down.0(f.0(g.0(a.))) -> f_flat.0(down.0(g.0(a.))) 395.09/246.31 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.31 down.0(f.0(g.0(f.1(y12)))) -> f_flat.0(down.0(g.0(f.1(y12)))) 395.09/246.31 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.31 down.0(f.0(g.1(fresh_constant.))) -> f_flat.0(down.0(g.1(fresh_constant.))) 395.09/246.31 down.0(g.0(f.0(a.))) -> g_flat.0(down.0(f.0(a.))) 395.09/246.31 down.0(g.0(f.0(f.0(g.0(x))))) -> up.0(b.) 395.09/246.31 down.0(g.0(f.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.31 down.0(g.0(f.0(b.))) -> g_flat.0(down.0(f.0(b.))) 395.09/246.31 down.0(g.0(f.0(f.0(a.)))) -> g_flat.0(down.0(f.0(f.0(a.)))) 395.09/246.31 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.31 down.0(g.0(f.0(f.0(f.1(y24))))) -> g_flat.0(down.0(f.0(f.0(f.1(y24))))) 395.09/246.31 down.0(g.0(f.0(f.0(b.)))) -> g_flat.0(down.0(f.0(f.0(b.)))) 395.09/246.31 down.0(g.0(f.0(f.1(fresh_constant.)))) -> g_flat.0(down.0(f.0(f.1(fresh_constant.)))) 395.09/246.31 down.0(g.0(f.0(g.0(a.)))) -> g_flat.0(down.0(f.0(g.0(a.)))) 395.09/246.31 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.31 down.0(g.0(f.0(g.0(g.1(y28))))) -> g_flat.0(down.0(f.0(g.0(g.1(y28))))) 395.09/246.31 down.0(g.0(f.0(g.0(b.)))) -> g_flat.0(down.0(f.0(g.0(b.)))) 395.09/246.31 down.0(g.0(f.0(g.1(fresh_constant.)))) -> g_flat.0(down.0(f.0(g.1(fresh_constant.)))) 395.09/246.31 down.0(g.0(f.1(fresh_constant.))) -> g_flat.0(down.0(f.1(fresh_constant.))) 395.09/246.31 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.31 down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) 395.09/246.31 down.0(g.0(g.0(g.0(x)))) -> up.0(b.) 395.09/246.31 down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) 395.09/246.31 down.0(g.0(b.)) -> g_flat.0(down.0(b.)) 395.09/246.31 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 395.09/246.31 down.0(g.0(g.1(fresh_constant.))) -> g_flat.0(down.0(g.1(fresh_constant.))) 395.09/246.31 395.09/246.31 395.09/246.31 ---------------------------------------- 395.09/246.31 395.09/246.31 (125) 395.09/246.31 Obligation: 395.09/246.31 Q DP problem: 395.09/246.31 The TRS P consists of the following rules: 395.09/246.31 395.09/246.31 TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(f.0(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(f.1(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.31 TOP.0(up.0(g.0(g.0(f.0(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.31 TOP.0(up.0(g.0(g.0(f.1(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(g.0(a.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(a.))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(g.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.0(x0)))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(g.0(b.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(b.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(f.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(a.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(f.0(f.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.0(x0)))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(f.0(b.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(b.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(a.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(g.0(g.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.0(x0)))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(g.0(g.1(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.1(x0)))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(g.0(b.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(b.))))) 395.09/246.31 395.09/246.31 The TRS R consists of the following rules: 395.09/246.31 395.09/246.31 down.0(f.0(g.0(b.))) -> f_flat.0(down.0(g.0(b.))) 395.09/246.31 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.31 down.0(g.0(b.)) -> g_flat.0(down.0(b.)) 395.09/246.31 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.31 down.0(f.0(g.0(g.1(fresh_constant.)))) -> f_flat.0(down.0(g.0(g.1(fresh_constant.)))) 395.09/246.31 down.0(g.0(g.1(fresh_constant.))) -> g_flat.0(down.0(g.1(fresh_constant.))) 395.09/246.31 down.0(f.0(g.0(g.0(a.)))) -> f_flat.0(down.0(g.0(g.0(a.)))) 395.09/246.31 down.0(f.0(g.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.31 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.31 down.0(f.0(g.0(g.0(g.1(y22))))) -> f_flat.0(down.0(g.0(g.0(g.1(y22))))) 395.09/246.31 down.0(f.0(g.0(g.0(b.)))) -> f_flat.0(down.0(g.0(g.0(b.)))) 395.09/246.31 down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) 395.09/246.31 down.0(g.0(g.0(g.0(x)))) -> up.0(b.) 395.09/246.31 down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) 395.09/246.31 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 395.09/246.31 down.0(a.) -> up.0(f.0(a.)) 395.09/246.31 down.0(a.) -> up.0(g.0(a.)) 395.09/246.31 down.0(f.0(g.0(a.))) -> f_flat.0(down.0(g.0(a.))) 395.09/246.31 down.0(f.0(f.0(b.))) -> f_flat.0(down.0(f.0(b.))) 395.09/246.31 down.0(f.0(b.)) -> f_flat.0(down.0(b.)) 395.09/246.31 down.0(f.0(f.0(f.0(x)))) -> up.0(b.) 395.09/246.31 down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) 395.09/246.31 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 395.09/246.31 down.0(g.0(f.1(fresh_constant.))) -> g_flat.0(down.0(f.1(fresh_constant.))) 395.09/246.31 down.0(g.0(f.0(a.))) -> g_flat.0(down.0(f.0(a.))) 395.09/246.31 down.0(g.0(f.0(f.0(g.0(x))))) -> up.0(b.) 395.09/246.31 down.0(g.0(f.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.31 down.0(g.0(f.0(b.))) -> g_flat.0(down.0(f.0(b.))) 395.09/246.31 down.0(g.0(f.0(f.0(a.)))) -> g_flat.0(down.0(f.0(f.0(a.)))) 395.09/246.31 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.31 down.0(g.0(f.0(f.0(f.1(y24))))) -> g_flat.0(down.0(f.0(f.0(f.1(y24))))) 395.09/246.31 down.0(g.0(f.0(f.0(b.)))) -> g_flat.0(down.0(f.0(f.0(b.)))) 395.09/246.31 down.0(g.0(f.0(f.1(fresh_constant.)))) -> g_flat.0(down.0(f.0(f.1(fresh_constant.)))) 395.09/246.31 down.0(g.0(f.0(g.0(a.)))) -> g_flat.0(down.0(f.0(g.0(a.)))) 395.09/246.31 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.31 down.0(g.0(f.0(g.0(g.1(y28))))) -> g_flat.0(down.0(f.0(g.0(g.1(y28))))) 395.09/246.31 down.0(g.0(f.0(g.0(b.)))) -> g_flat.0(down.0(f.0(g.0(b.)))) 395.09/246.31 down.0(g.0(f.0(g.1(fresh_constant.)))) -> g_flat.0(down.0(f.0(g.1(fresh_constant.)))) 395.09/246.31 down.0(f.0(g.1(fresh_constant.))) -> f_flat.0(down.0(g.1(fresh_constant.))) 395.09/246.31 down.0(f.0(f.1(fresh_constant.))) -> f_flat.0(down.0(f.1(fresh_constant.))) 395.09/246.31 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.31 down.0(f.0(g.0(f.1(y12)))) -> f_flat.0(down.0(g.0(f.1(y12)))) 395.09/246.31 395.09/246.31 Q is empty. 395.09/246.31 We have to consider all minimal (P,Q,R)-chains. 395.09/246.31 ---------------------------------------- 395.09/246.31 395.09/246.31 (126) QDPOrderProof (EQUIVALENT) 395.09/246.31 We use the reduction pair processor [LPAR04,JAR06]. 395.09/246.31 395.09/246.31 395.09/246.31 The following pairs can be oriented strictly and are deleted. 395.09/246.31 395.09/246.31 TOP.0(up.0(g.0(g.0(f.1(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.31 The remaining pairs can at least be oriented weakly. 395.09/246.31 Used ordering: Polynomial interpretation [POLO]: 395.09/246.31 395.09/246.31 POL(TOP.0(x_1)) = x_1 395.09/246.31 POL(a.) = 0 395.09/246.31 POL(b.) = 0 395.09/246.31 POL(down.0(x_1)) = x_1 395.09/246.31 POL(f.0(x_1)) = 1 395.09/246.31 POL(f.1(x_1)) = 0 395.09/246.31 POL(f_flat.0(x_1)) = 1 395.09/246.31 POL(fresh_constant.) = 0 395.09/246.31 POL(g.0(x_1)) = x_1 395.09/246.31 POL(g.1(x_1)) = 0 395.09/246.31 POL(g_flat.0(x_1)) = x_1 395.09/246.31 POL(up.0(x_1)) = 1 395.09/246.31 395.09/246.31 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 395.09/246.31 395.09/246.31 down.0(f.0(g.0(b.))) -> f_flat.0(down.0(g.0(b.))) 395.09/246.31 down.0(f.0(g.0(g.1(fresh_constant.)))) -> f_flat.0(down.0(g.0(g.1(fresh_constant.)))) 395.09/246.31 down.0(f.0(g.0(g.0(a.)))) -> f_flat.0(down.0(g.0(g.0(a.)))) 395.09/246.31 down.0(f.0(g.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.31 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.31 down.0(f.0(g.0(g.0(g.1(y22))))) -> f_flat.0(down.0(g.0(g.0(g.1(y22))))) 395.09/246.31 down.0(f.0(g.0(g.0(b.)))) -> f_flat.0(down.0(g.0(g.0(b.)))) 395.09/246.31 down.0(f.0(g.0(a.))) -> f_flat.0(down.0(g.0(a.))) 395.09/246.31 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.31 down.0(g.0(f.0(a.))) -> g_flat.0(down.0(f.0(a.))) 395.09/246.31 down.0(g.0(f.0(f.0(g.0(x))))) -> up.0(b.) 395.09/246.31 down.0(g.0(f.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.31 down.0(g.0(f.0(b.))) -> g_flat.0(down.0(f.0(b.))) 395.09/246.31 down.0(g.0(f.0(f.0(a.)))) -> g_flat.0(down.0(f.0(f.0(a.)))) 395.09/246.31 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.31 down.0(g.0(f.0(f.0(f.1(y24))))) -> g_flat.0(down.0(f.0(f.0(f.1(y24))))) 395.09/246.31 down.0(g.0(f.0(f.0(b.)))) -> g_flat.0(down.0(f.0(f.0(b.)))) 395.09/246.31 down.0(g.0(f.0(f.1(fresh_constant.)))) -> g_flat.0(down.0(f.0(f.1(fresh_constant.)))) 395.09/246.31 down.0(g.0(f.0(g.0(a.)))) -> g_flat.0(down.0(f.0(g.0(a.)))) 395.09/246.31 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.31 down.0(g.0(f.0(g.0(g.1(y28))))) -> g_flat.0(down.0(f.0(g.0(g.1(y28))))) 395.09/246.31 down.0(g.0(f.0(g.0(b.)))) -> g_flat.0(down.0(f.0(g.0(b.)))) 395.09/246.31 down.0(g.0(f.0(g.1(fresh_constant.)))) -> g_flat.0(down.0(f.0(g.1(fresh_constant.)))) 395.09/246.31 down.0(g.0(f.1(fresh_constant.))) -> g_flat.0(down.0(f.1(fresh_constant.))) 395.09/246.31 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.31 down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) 395.09/246.31 down.0(f.0(f.0(f.0(x)))) -> up.0(b.) 395.09/246.31 down.0(f.0(f.0(b.))) -> f_flat.0(down.0(f.0(b.))) 395.09/246.31 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 395.09/246.31 down.0(f.0(b.)) -> f_flat.0(down.0(b.)) 395.09/246.31 down.0(f.0(f.1(fresh_constant.))) -> f_flat.0(down.0(f.1(fresh_constant.))) 395.09/246.31 down.0(f.0(g.1(fresh_constant.))) -> f_flat.0(down.0(g.1(fresh_constant.))) 395.09/246.31 395.09/246.31 395.09/246.31 ---------------------------------------- 395.09/246.31 395.09/246.31 (127) 395.09/246.31 Obligation: 395.09/246.31 Q DP problem: 395.09/246.31 The TRS P consists of the following rules: 395.09/246.31 395.09/246.31 TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(f.0(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(f.1(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.31 TOP.0(up.0(g.0(g.0(f.0(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(g.0(a.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(a.))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(g.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.0(x0)))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(g.0(b.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(b.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(f.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(a.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(f.0(f.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.0(x0)))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(f.0(b.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(b.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(a.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(g.0(g.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.0(x0)))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(g.0(g.1(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.1(x0)))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(g.0(b.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(b.))))) 395.09/246.31 395.09/246.31 The TRS R consists of the following rules: 395.09/246.31 395.09/246.31 down.0(f.0(g.0(b.))) -> f_flat.0(down.0(g.0(b.))) 395.09/246.31 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.31 down.0(g.0(b.)) -> g_flat.0(down.0(b.)) 395.09/246.31 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.31 down.0(f.0(g.0(g.1(fresh_constant.)))) -> f_flat.0(down.0(g.0(g.1(fresh_constant.)))) 395.09/246.31 down.0(g.0(g.1(fresh_constant.))) -> g_flat.0(down.0(g.1(fresh_constant.))) 395.09/246.31 down.0(f.0(g.0(g.0(a.)))) -> f_flat.0(down.0(g.0(g.0(a.)))) 395.09/246.31 down.0(f.0(g.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.31 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.31 down.0(f.0(g.0(g.0(g.1(y22))))) -> f_flat.0(down.0(g.0(g.0(g.1(y22))))) 395.09/246.31 down.0(f.0(g.0(g.0(b.)))) -> f_flat.0(down.0(g.0(g.0(b.)))) 395.09/246.31 down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) 395.09/246.31 down.0(g.0(g.0(g.0(x)))) -> up.0(b.) 395.09/246.31 down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) 395.09/246.31 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 395.09/246.31 down.0(a.) -> up.0(f.0(a.)) 395.09/246.31 down.0(a.) -> up.0(g.0(a.)) 395.09/246.31 down.0(f.0(g.0(a.))) -> f_flat.0(down.0(g.0(a.))) 395.09/246.31 down.0(f.0(f.0(b.))) -> f_flat.0(down.0(f.0(b.))) 395.09/246.31 down.0(f.0(b.)) -> f_flat.0(down.0(b.)) 395.09/246.31 down.0(f.0(f.0(f.0(x)))) -> up.0(b.) 395.09/246.31 down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) 395.09/246.31 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 395.09/246.31 down.0(g.0(f.1(fresh_constant.))) -> g_flat.0(down.0(f.1(fresh_constant.))) 395.09/246.31 down.0(g.0(f.0(a.))) -> g_flat.0(down.0(f.0(a.))) 395.09/246.31 down.0(g.0(f.0(f.0(g.0(x))))) -> up.0(b.) 395.09/246.31 down.0(g.0(f.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.31 down.0(g.0(f.0(b.))) -> g_flat.0(down.0(f.0(b.))) 395.09/246.31 down.0(g.0(f.0(f.0(a.)))) -> g_flat.0(down.0(f.0(f.0(a.)))) 395.09/246.31 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.31 down.0(g.0(f.0(f.0(f.1(y24))))) -> g_flat.0(down.0(f.0(f.0(f.1(y24))))) 395.09/246.31 down.0(g.0(f.0(f.0(b.)))) -> g_flat.0(down.0(f.0(f.0(b.)))) 395.09/246.31 down.0(g.0(f.0(f.1(fresh_constant.)))) -> g_flat.0(down.0(f.0(f.1(fresh_constant.)))) 395.09/246.31 down.0(g.0(f.0(g.0(a.)))) -> g_flat.0(down.0(f.0(g.0(a.)))) 395.09/246.31 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.31 down.0(g.0(f.0(g.0(g.1(y28))))) -> g_flat.0(down.0(f.0(g.0(g.1(y28))))) 395.09/246.31 down.0(g.0(f.0(g.0(b.)))) -> g_flat.0(down.0(f.0(g.0(b.)))) 395.09/246.31 down.0(g.0(f.0(g.1(fresh_constant.)))) -> g_flat.0(down.0(f.0(g.1(fresh_constant.)))) 395.09/246.31 down.0(f.0(g.1(fresh_constant.))) -> f_flat.0(down.0(g.1(fresh_constant.))) 395.09/246.31 down.0(f.0(f.1(fresh_constant.))) -> f_flat.0(down.0(f.1(fresh_constant.))) 395.09/246.31 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.31 down.0(f.0(g.0(f.1(y12)))) -> f_flat.0(down.0(g.0(f.1(y12)))) 395.09/246.31 395.09/246.31 Q is empty. 395.09/246.31 We have to consider all minimal (P,Q,R)-chains. 395.09/246.31 ---------------------------------------- 395.09/246.31 395.09/246.31 (128) QDPOrderProof (EQUIVALENT) 395.09/246.31 We use the reduction pair processor [LPAR04,JAR06]. 395.09/246.31 395.09/246.31 395.09/246.31 The following pairs can be oriented strictly and are deleted. 395.09/246.31 395.09/246.31 TOP.0(up.0(g.0(f.0(g.0(g.1(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.1(x0)))))) 395.09/246.31 The remaining pairs can at least be oriented weakly. 395.09/246.31 Used ordering: Polynomial interpretation [POLO]: 395.09/246.31 395.09/246.31 POL(TOP.0(x_1)) = x_1 395.09/246.31 POL(a.) = 0 395.09/246.31 POL(b.) = 0 395.09/246.31 POL(down.0(x_1)) = 0 395.09/246.31 POL(f.0(x_1)) = x_1 395.09/246.31 POL(f.1(x_1)) = 0 395.09/246.31 POL(f_flat.0(x_1)) = x_1 395.09/246.31 POL(fresh_constant.) = 0 395.09/246.31 POL(g.0(x_1)) = x_1 395.09/246.31 POL(g.1(x_1)) = 1 395.09/246.31 POL(g_flat.0(x_1)) = x_1 395.09/246.31 POL(up.0(x_1)) = x_1 395.09/246.31 395.09/246.31 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 395.09/246.31 395.09/246.31 down.0(f.0(g.0(b.))) -> f_flat.0(down.0(g.0(b.))) 395.09/246.31 down.0(f.0(g.0(g.1(fresh_constant.)))) -> f_flat.0(down.0(g.0(g.1(fresh_constant.)))) 395.09/246.31 down.0(f.0(g.0(g.0(a.)))) -> f_flat.0(down.0(g.0(g.0(a.)))) 395.09/246.31 down.0(f.0(g.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.31 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.31 down.0(f.0(g.0(g.0(g.1(y22))))) -> f_flat.0(down.0(g.0(g.0(g.1(y22))))) 395.09/246.31 down.0(f.0(g.0(g.0(b.)))) -> f_flat.0(down.0(g.0(g.0(b.)))) 395.09/246.31 down.0(f.0(g.0(a.))) -> f_flat.0(down.0(g.0(a.))) 395.09/246.31 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.31 down.0(f.0(g.0(f.1(y12)))) -> f_flat.0(down.0(g.0(f.1(y12)))) 395.09/246.31 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.31 down.0(g.0(f.0(a.))) -> g_flat.0(down.0(f.0(a.))) 395.09/246.31 down.0(g.0(f.0(f.0(g.0(x))))) -> up.0(b.) 395.09/246.31 down.0(g.0(f.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.31 down.0(g.0(f.0(b.))) -> g_flat.0(down.0(f.0(b.))) 395.09/246.31 down.0(g.0(f.0(f.0(a.)))) -> g_flat.0(down.0(f.0(f.0(a.)))) 395.09/246.31 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.31 down.0(g.0(f.0(f.0(f.1(y24))))) -> g_flat.0(down.0(f.0(f.0(f.1(y24))))) 395.09/246.31 down.0(g.0(f.0(f.0(b.)))) -> g_flat.0(down.0(f.0(f.0(b.)))) 395.09/246.31 down.0(g.0(f.0(f.1(fresh_constant.)))) -> g_flat.0(down.0(f.0(f.1(fresh_constant.)))) 395.09/246.31 down.0(g.0(f.0(g.0(a.)))) -> g_flat.0(down.0(f.0(g.0(a.)))) 395.09/246.31 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.31 down.0(g.0(f.0(g.0(g.1(y28))))) -> g_flat.0(down.0(f.0(g.0(g.1(y28))))) 395.09/246.31 down.0(g.0(f.0(g.0(b.)))) -> g_flat.0(down.0(f.0(g.0(b.)))) 395.09/246.31 down.0(g.0(f.0(g.1(fresh_constant.)))) -> g_flat.0(down.0(f.0(g.1(fresh_constant.)))) 395.09/246.31 down.0(g.0(f.1(fresh_constant.))) -> g_flat.0(down.0(f.1(fresh_constant.))) 395.09/246.31 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.31 down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) 395.09/246.31 down.0(g.0(g.0(g.0(x)))) -> up.0(b.) 395.09/246.31 down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) 395.09/246.31 down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) 395.09/246.31 down.0(f.0(f.0(f.0(x)))) -> up.0(b.) 395.09/246.31 down.0(f.0(f.0(b.))) -> f_flat.0(down.0(f.0(b.))) 395.09/246.31 down.0(g.0(b.)) -> g_flat.0(down.0(b.)) 395.09/246.31 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 395.09/246.31 down.0(a.) -> up.0(f.0(a.)) 395.09/246.31 down.0(a.) -> up.0(g.0(a.)) 395.09/246.31 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 395.09/246.31 down.0(f.0(b.)) -> f_flat.0(down.0(b.)) 395.09/246.31 down.0(f.0(f.1(fresh_constant.))) -> f_flat.0(down.0(f.1(fresh_constant.))) 395.09/246.31 down.0(f.0(g.1(fresh_constant.))) -> f_flat.0(down.0(g.1(fresh_constant.))) 395.09/246.31 down.0(g.0(g.1(fresh_constant.))) -> g_flat.0(down.0(g.1(fresh_constant.))) 395.09/246.31 395.09/246.31 395.09/246.31 ---------------------------------------- 395.09/246.31 395.09/246.31 (129) 395.09/246.31 Obligation: 395.09/246.31 Q DP problem: 395.09/246.31 The TRS P consists of the following rules: 395.09/246.31 395.09/246.31 TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(f.0(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(f.1(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.31 TOP.0(up.0(g.0(g.0(f.0(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(g.0(a.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(a.))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(g.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.0(x0)))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(g.0(b.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(b.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(f.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(a.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(f.0(f.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.0(x0)))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(f.0(b.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(b.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(a.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(g.0(g.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.0(x0)))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(g.0(b.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(b.))))) 395.09/246.31 395.09/246.31 The TRS R consists of the following rules: 395.09/246.31 395.09/246.31 down.0(f.0(g.0(b.))) -> f_flat.0(down.0(g.0(b.))) 395.09/246.31 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.31 down.0(g.0(b.)) -> g_flat.0(down.0(b.)) 395.09/246.31 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.31 down.0(f.0(g.0(g.1(fresh_constant.)))) -> f_flat.0(down.0(g.0(g.1(fresh_constant.)))) 395.09/246.31 down.0(g.0(g.1(fresh_constant.))) -> g_flat.0(down.0(g.1(fresh_constant.))) 395.09/246.31 down.0(f.0(g.0(g.0(a.)))) -> f_flat.0(down.0(g.0(g.0(a.)))) 395.09/246.31 down.0(f.0(g.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.31 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.31 down.0(f.0(g.0(g.0(g.1(y22))))) -> f_flat.0(down.0(g.0(g.0(g.1(y22))))) 395.09/246.31 down.0(f.0(g.0(g.0(b.)))) -> f_flat.0(down.0(g.0(g.0(b.)))) 395.09/246.31 down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) 395.09/246.31 down.0(g.0(g.0(g.0(x)))) -> up.0(b.) 395.09/246.31 down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) 395.09/246.31 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 395.09/246.31 down.0(a.) -> up.0(f.0(a.)) 395.09/246.31 down.0(a.) -> up.0(g.0(a.)) 395.09/246.31 down.0(f.0(g.0(a.))) -> f_flat.0(down.0(g.0(a.))) 395.09/246.31 down.0(f.0(f.0(b.))) -> f_flat.0(down.0(f.0(b.))) 395.09/246.31 down.0(f.0(b.)) -> f_flat.0(down.0(b.)) 395.09/246.31 down.0(f.0(f.0(f.0(x)))) -> up.0(b.) 395.09/246.31 down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) 395.09/246.31 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 395.09/246.31 down.0(g.0(f.1(fresh_constant.))) -> g_flat.0(down.0(f.1(fresh_constant.))) 395.09/246.31 down.0(g.0(f.0(a.))) -> g_flat.0(down.0(f.0(a.))) 395.09/246.31 down.0(g.0(f.0(f.0(g.0(x))))) -> up.0(b.) 395.09/246.31 down.0(g.0(f.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.31 down.0(g.0(f.0(b.))) -> g_flat.0(down.0(f.0(b.))) 395.09/246.31 down.0(g.0(f.0(f.0(a.)))) -> g_flat.0(down.0(f.0(f.0(a.)))) 395.09/246.31 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.31 down.0(g.0(f.0(f.0(f.1(y24))))) -> g_flat.0(down.0(f.0(f.0(f.1(y24))))) 395.09/246.31 down.0(g.0(f.0(f.0(b.)))) -> g_flat.0(down.0(f.0(f.0(b.)))) 395.09/246.31 down.0(g.0(f.0(f.1(fresh_constant.)))) -> g_flat.0(down.0(f.0(f.1(fresh_constant.)))) 395.09/246.31 down.0(g.0(f.0(g.0(a.)))) -> g_flat.0(down.0(f.0(g.0(a.)))) 395.09/246.31 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.31 down.0(g.0(f.0(g.0(g.1(y28))))) -> g_flat.0(down.0(f.0(g.0(g.1(y28))))) 395.09/246.31 down.0(g.0(f.0(g.0(b.)))) -> g_flat.0(down.0(f.0(g.0(b.)))) 395.09/246.31 down.0(g.0(f.0(g.1(fresh_constant.)))) -> g_flat.0(down.0(f.0(g.1(fresh_constant.)))) 395.09/246.31 down.0(f.0(g.1(fresh_constant.))) -> f_flat.0(down.0(g.1(fresh_constant.))) 395.09/246.31 down.0(f.0(f.1(fresh_constant.))) -> f_flat.0(down.0(f.1(fresh_constant.))) 395.09/246.31 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.31 down.0(f.0(g.0(f.1(y12)))) -> f_flat.0(down.0(g.0(f.1(y12)))) 395.09/246.31 395.09/246.31 Q is empty. 395.09/246.31 We have to consider all minimal (P,Q,R)-chains. 395.09/246.31 ---------------------------------------- 395.09/246.31 395.09/246.31 (130) QDPOrderProof (EQUIVALENT) 395.09/246.31 We use the reduction pair processor [LPAR04,JAR06]. 395.09/246.31 395.09/246.31 395.09/246.31 The following pairs can be oriented strictly and are deleted. 395.09/246.31 395.09/246.31 TOP.0(up.0(f.0(g.0(f.1(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.31 The remaining pairs can at least be oriented weakly. 395.09/246.31 Used ordering: Polynomial interpretation [POLO]: 395.09/246.31 395.09/246.31 POL(TOP.0(x_1)) = x_1 395.09/246.31 POL(a.) = 0 395.09/246.31 POL(b.) = 0 395.09/246.31 POL(down.0(x_1)) = 0 395.09/246.31 POL(f.0(x_1)) = x_1 395.09/246.31 POL(f.1(x_1)) = 1 395.09/246.31 POL(f_flat.0(x_1)) = x_1 395.09/246.31 POL(fresh_constant.) = 0 395.09/246.31 POL(g.0(x_1)) = x_1 395.09/246.31 POL(g.1(x_1)) = 0 395.09/246.31 POL(g_flat.0(x_1)) = x_1 395.09/246.31 POL(up.0(x_1)) = x_1 395.09/246.31 395.09/246.31 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 395.09/246.31 395.09/246.31 down.0(f.0(g.0(b.))) -> f_flat.0(down.0(g.0(b.))) 395.09/246.31 down.0(f.0(g.0(g.1(fresh_constant.)))) -> f_flat.0(down.0(g.0(g.1(fresh_constant.)))) 395.09/246.31 down.0(f.0(g.0(g.0(a.)))) -> f_flat.0(down.0(g.0(g.0(a.)))) 395.09/246.31 down.0(f.0(g.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.31 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.31 down.0(f.0(g.0(g.0(g.1(y22))))) -> f_flat.0(down.0(g.0(g.0(g.1(y22))))) 395.09/246.31 down.0(f.0(g.0(g.0(b.)))) -> f_flat.0(down.0(g.0(g.0(b.)))) 395.09/246.31 down.0(f.0(g.0(a.))) -> f_flat.0(down.0(g.0(a.))) 395.09/246.31 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.31 down.0(f.0(g.0(f.1(y12)))) -> f_flat.0(down.0(g.0(f.1(y12)))) 395.09/246.31 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.31 down.0(g.0(f.0(a.))) -> g_flat.0(down.0(f.0(a.))) 395.09/246.31 down.0(g.0(f.0(f.0(g.0(x))))) -> up.0(b.) 395.09/246.31 down.0(g.0(f.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.31 down.0(g.0(f.0(b.))) -> g_flat.0(down.0(f.0(b.))) 395.09/246.31 down.0(g.0(f.0(f.0(a.)))) -> g_flat.0(down.0(f.0(f.0(a.)))) 395.09/246.31 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.31 down.0(g.0(f.0(f.0(f.1(y24))))) -> g_flat.0(down.0(f.0(f.0(f.1(y24))))) 395.09/246.31 down.0(g.0(f.0(f.0(b.)))) -> g_flat.0(down.0(f.0(f.0(b.)))) 395.09/246.31 down.0(g.0(f.0(f.1(fresh_constant.)))) -> g_flat.0(down.0(f.0(f.1(fresh_constant.)))) 395.09/246.31 down.0(g.0(f.0(g.0(a.)))) -> g_flat.0(down.0(f.0(g.0(a.)))) 395.09/246.31 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.31 down.0(g.0(f.0(g.0(g.1(y28))))) -> g_flat.0(down.0(f.0(g.0(g.1(y28))))) 395.09/246.31 down.0(g.0(f.0(g.0(b.)))) -> g_flat.0(down.0(f.0(g.0(b.)))) 395.09/246.31 down.0(g.0(f.0(g.1(fresh_constant.)))) -> g_flat.0(down.0(f.0(g.1(fresh_constant.)))) 395.09/246.31 down.0(g.0(f.1(fresh_constant.))) -> g_flat.0(down.0(f.1(fresh_constant.))) 395.09/246.31 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.31 down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) 395.09/246.31 down.0(g.0(g.0(g.0(x)))) -> up.0(b.) 395.09/246.31 down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) 395.09/246.31 down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) 395.09/246.31 down.0(f.0(f.0(f.0(x)))) -> up.0(b.) 395.09/246.31 down.0(f.0(f.0(b.))) -> f_flat.0(down.0(f.0(b.))) 395.09/246.31 down.0(g.0(b.)) -> g_flat.0(down.0(b.)) 395.09/246.31 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 395.09/246.31 down.0(a.) -> up.0(f.0(a.)) 395.09/246.31 down.0(a.) -> up.0(g.0(a.)) 395.09/246.31 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 395.09/246.31 down.0(f.0(b.)) -> f_flat.0(down.0(b.)) 395.09/246.31 down.0(f.0(f.1(fresh_constant.))) -> f_flat.0(down.0(f.1(fresh_constant.))) 395.09/246.31 down.0(f.0(g.1(fresh_constant.))) -> f_flat.0(down.0(g.1(fresh_constant.))) 395.09/246.31 down.0(g.0(g.1(fresh_constant.))) -> g_flat.0(down.0(g.1(fresh_constant.))) 395.09/246.31 395.09/246.31 395.09/246.31 ---------------------------------------- 395.09/246.31 395.09/246.31 (131) 395.09/246.31 Obligation: 395.09/246.31 Q DP problem: 395.09/246.31 The TRS P consists of the following rules: 395.09/246.31 395.09/246.31 TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(f.0(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.31 TOP.0(up.0(g.0(g.0(f.0(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(g.0(a.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(a.))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(g.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.0(x0)))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(g.0(b.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(b.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(f.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(a.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(f.0(f.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.0(x0)))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(f.0(b.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(b.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(a.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(g.0(g.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.0(x0)))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(g.0(b.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(b.))))) 395.09/246.31 395.09/246.31 The TRS R consists of the following rules: 395.09/246.31 395.09/246.31 down.0(f.0(g.0(b.))) -> f_flat.0(down.0(g.0(b.))) 395.09/246.31 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.31 down.0(g.0(b.)) -> g_flat.0(down.0(b.)) 395.09/246.31 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.31 down.0(f.0(g.0(g.1(fresh_constant.)))) -> f_flat.0(down.0(g.0(g.1(fresh_constant.)))) 395.09/246.31 down.0(g.0(g.1(fresh_constant.))) -> g_flat.0(down.0(g.1(fresh_constant.))) 395.09/246.31 down.0(f.0(g.0(g.0(a.)))) -> f_flat.0(down.0(g.0(g.0(a.)))) 395.09/246.31 down.0(f.0(g.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.31 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.31 down.0(f.0(g.0(g.0(g.1(y22))))) -> f_flat.0(down.0(g.0(g.0(g.1(y22))))) 395.09/246.31 down.0(f.0(g.0(g.0(b.)))) -> f_flat.0(down.0(g.0(g.0(b.)))) 395.09/246.31 down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) 395.09/246.31 down.0(g.0(g.0(g.0(x)))) -> up.0(b.) 395.09/246.31 down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) 395.09/246.31 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 395.09/246.31 down.0(a.) -> up.0(f.0(a.)) 395.09/246.31 down.0(a.) -> up.0(g.0(a.)) 395.09/246.31 down.0(f.0(g.0(a.))) -> f_flat.0(down.0(g.0(a.))) 395.09/246.31 down.0(f.0(f.0(b.))) -> f_flat.0(down.0(f.0(b.))) 395.09/246.31 down.0(f.0(b.)) -> f_flat.0(down.0(b.)) 395.09/246.31 down.0(f.0(f.0(f.0(x)))) -> up.0(b.) 395.09/246.31 down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) 395.09/246.31 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 395.09/246.31 down.0(g.0(f.1(fresh_constant.))) -> g_flat.0(down.0(f.1(fresh_constant.))) 395.09/246.31 down.0(g.0(f.0(a.))) -> g_flat.0(down.0(f.0(a.))) 395.09/246.31 down.0(g.0(f.0(f.0(g.0(x))))) -> up.0(b.) 395.09/246.31 down.0(g.0(f.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.31 down.0(g.0(f.0(b.))) -> g_flat.0(down.0(f.0(b.))) 395.09/246.31 down.0(g.0(f.0(f.0(a.)))) -> g_flat.0(down.0(f.0(f.0(a.)))) 395.09/246.31 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.31 down.0(g.0(f.0(f.0(f.1(y24))))) -> g_flat.0(down.0(f.0(f.0(f.1(y24))))) 395.09/246.31 down.0(g.0(f.0(f.0(b.)))) -> g_flat.0(down.0(f.0(f.0(b.)))) 395.09/246.31 down.0(g.0(f.0(f.1(fresh_constant.)))) -> g_flat.0(down.0(f.0(f.1(fresh_constant.)))) 395.09/246.31 down.0(g.0(f.0(g.0(a.)))) -> g_flat.0(down.0(f.0(g.0(a.)))) 395.09/246.31 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.31 down.0(g.0(f.0(g.0(g.1(y28))))) -> g_flat.0(down.0(f.0(g.0(g.1(y28))))) 395.09/246.31 down.0(g.0(f.0(g.0(b.)))) -> g_flat.0(down.0(f.0(g.0(b.)))) 395.09/246.31 down.0(g.0(f.0(g.1(fresh_constant.)))) -> g_flat.0(down.0(f.0(g.1(fresh_constant.)))) 395.09/246.31 down.0(f.0(g.1(fresh_constant.))) -> f_flat.0(down.0(g.1(fresh_constant.))) 395.09/246.31 down.0(f.0(f.1(fresh_constant.))) -> f_flat.0(down.0(f.1(fresh_constant.))) 395.09/246.31 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.31 down.0(f.0(g.0(f.1(y12)))) -> f_flat.0(down.0(g.0(f.1(y12)))) 395.09/246.31 395.09/246.31 Q is empty. 395.09/246.31 We have to consider all minimal (P,Q,R)-chains. 395.09/246.31 ---------------------------------------- 395.09/246.31 395.09/246.31 (132) PisEmptyProof (SOUND) 395.09/246.31 The TRS P is empty. Hence, there is no (P,Q,R) chain. 395.09/246.31 ---------------------------------------- 395.09/246.31 395.09/246.31 (133) 395.09/246.31 TRUE 395.09/246.31 395.09/246.31 ---------------------------------------- 395.09/246.31 395.09/246.31 (134) 395.09/246.31 Obligation: 395.09/246.31 Q DP problem: 395.09/246.31 The TRS P consists of the following rules: 395.09/246.31 395.09/246.31 TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) 395.09/246.31 TOP(up(f(g(f(x0))))) -> TOP(f_flat(down(g(f(x0))))) 395.09/246.31 TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) 395.09/246.31 TOP(up(f(g(g(a))))) -> TOP(f_flat(down(g(g(a))))) 395.09/246.31 TOP(up(f(g(g(g(x0)))))) -> TOP(f_flat(down(g(g(g(x0)))))) 395.09/246.31 TOP(up(f(g(g(b))))) -> TOP(f_flat(down(g(g(b))))) 395.09/246.31 TOP(up(g(f(f(a))))) -> TOP(g_flat(down(f(f(a))))) 395.09/246.31 TOP(up(g(f(f(f(x0)))))) -> TOP(g_flat(down(f(f(f(x0)))))) 395.09/246.31 TOP(up(g(f(f(b))))) -> TOP(g_flat(down(f(f(b))))) 395.09/246.31 TOP(up(g(f(g(a))))) -> TOP(g_flat(down(f(g(a))))) 395.09/246.31 TOP(up(g(f(g(g(x0)))))) -> TOP(g_flat(down(f(g(g(x0)))))) 395.09/246.31 TOP(up(g(f(g(b))))) -> TOP(g_flat(down(f(g(b))))) 395.09/246.31 395.09/246.31 The TRS R consists of the following rules: 395.09/246.31 395.09/246.31 down(f(g(b))) -> f_flat(down(g(b))) 395.09/246.31 g_flat(up(x_1)) -> up(g(x_1)) 395.09/246.31 down(g(b)) -> g_flat(down(b)) 395.09/246.31 f_flat(up(x_1)) -> up(f(x_1)) 395.09/246.31 down(f(g(g(fresh_constant)))) -> f_flat(down(g(g(fresh_constant)))) 395.09/246.31 down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) 395.09/246.31 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.09/246.31 down(f(g(g(f(x))))) -> up(b) 395.09/246.31 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.09/246.31 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.09/246.31 down(g(g(b))) -> g_flat(down(g(b))) 395.09/246.31 down(g(g(g(x)))) -> up(b) 395.09/246.31 down(g(g(a))) -> g_flat(down(g(a))) 395.09/246.31 down(g(a)) -> g_flat(down(a)) 395.09/246.31 down(a) -> up(f(a)) 395.09/246.31 down(a) -> up(g(a)) 395.09/246.31 down(f(g(a))) -> f_flat(down(g(a))) 395.09/246.31 down(f(f(b))) -> f_flat(down(f(b))) 395.09/246.31 down(f(b)) -> f_flat(down(b)) 395.09/246.31 down(f(f(f(x)))) -> up(b) 395.09/246.31 down(f(f(a))) -> f_flat(down(f(a))) 395.09/246.31 down(f(a)) -> f_flat(down(a)) 395.09/246.31 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.09/246.31 down(g(f(a))) -> g_flat(down(f(a))) 395.09/246.31 down(g(f(f(g(x))))) -> up(b) 395.09/246.31 down(g(f(g(f(x))))) -> up(b) 395.09/246.31 down(g(f(b))) -> g_flat(down(f(b))) 395.09/246.31 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.09/246.31 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.09/246.31 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.09/246.31 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.09/246.31 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.09/246.31 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.09/246.31 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.09/246.31 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.09/246.31 down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) 395.09/246.31 down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) 395.09/246.31 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.09/246.31 395.09/246.31 Q is empty. 395.09/246.31 We have to consider all minimal (P,Q,R)-chains. 395.09/246.31 ---------------------------------------- 395.09/246.31 395.09/246.31 (135) SplitQDPProof (EQUIVALENT) 395.09/246.31 We show in the first subproof that some pairs and rules can be removed, afterwards, we continue with the remaining DP-Problem 395.09/246.31 395.09/246.31 ---------------------------------------- 395.09/246.31 395.09/246.31 (136) 395.09/246.31 Complex Obligation (AND) 395.09/246.31 395.09/246.31 ---------------------------------------- 395.09/246.31 395.09/246.31 (137) 395.09/246.31 Obligation: 395.09/246.31 Q DP problem: 395.09/246.31 The TRS P consists of the following rules: 395.09/246.31 395.09/246.31 TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) 395.09/246.31 TOP(up(f(g(f(x0))))) -> TOP(f_flat(down(g(f(x0))))) 395.09/246.31 TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) 395.09/246.31 TOP(up(f(g(g(a))))) -> TOP(f_flat(down(g(g(a))))) 395.09/246.31 TOP(up(f(g(g(g(x0)))))) -> TOP(f_flat(down(g(g(g(x0)))))) 395.09/246.31 TOP(up(f(g(g(b))))) -> TOP(f_flat(down(g(g(b))))) 395.09/246.31 TOP(up(g(f(f(a))))) -> TOP(g_flat(down(f(f(a))))) 395.09/246.31 TOP(up(g(f(f(f(x0)))))) -> TOP(g_flat(down(f(f(f(x0)))))) 395.09/246.31 TOP(up(g(f(f(b))))) -> TOP(g_flat(down(f(f(b))))) 395.09/246.31 TOP(up(g(f(g(a))))) -> TOP(g_flat(down(f(g(a))))) 395.09/246.31 TOP(up(g(f(g(g(x0)))))) -> TOP(g_flat(down(f(g(g(x0)))))) 395.09/246.31 TOP(up(g(f(g(b))))) -> TOP(g_flat(down(f(g(b))))) 395.09/246.31 395.09/246.31 The TRS R consists of the following rules: 395.09/246.31 395.09/246.31 down(f(g(b))) -> f_flat(down(g(b))) 395.09/246.31 g_flat(up(x_1)) -> up(g(x_1)) 395.09/246.31 down(g(b)) -> g_flat(down(b)) 395.09/246.31 f_flat(up(x_1)) -> up(f(x_1)) 395.09/246.31 down(f(g(g(fresh_constant)))) -> f_flat(down(g(g(fresh_constant)))) 395.09/246.31 down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) 395.09/246.31 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.09/246.31 down(f(g(g(f(x))))) -> up(b) 395.09/246.31 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.09/246.31 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.09/246.31 down(g(g(b))) -> g_flat(down(g(b))) 395.09/246.31 down(g(g(g(x)))) -> up(b) 395.09/246.31 down(g(g(a))) -> g_flat(down(g(a))) 395.09/246.31 down(g(a)) -> g_flat(down(a)) 395.09/246.31 down(a) -> up(f(a)) 395.09/246.31 down(a) -> up(g(a)) 395.09/246.31 down(f(g(a))) -> f_flat(down(g(a))) 395.09/246.31 down(f(f(b))) -> f_flat(down(f(b))) 395.09/246.31 down(f(b)) -> f_flat(down(b)) 395.09/246.31 down(f(f(f(x)))) -> up(b) 395.09/246.31 down(f(f(a))) -> f_flat(down(f(a))) 395.09/246.31 down(f(a)) -> f_flat(down(a)) 395.09/246.31 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.09/246.31 down(g(f(a))) -> g_flat(down(f(a))) 395.09/246.31 down(g(f(f(g(x))))) -> up(b) 395.09/246.31 down(g(f(g(f(x))))) -> up(b) 395.09/246.31 down(g(f(b))) -> g_flat(down(f(b))) 395.09/246.31 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.09/246.31 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.09/246.31 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.09/246.31 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.09/246.31 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.09/246.31 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.09/246.31 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.09/246.31 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.09/246.31 down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) 395.09/246.31 down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) 395.09/246.31 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.09/246.31 395.09/246.31 Q is empty. 395.09/246.31 We have to consider all minimal (P,Q,R)-chains. 395.09/246.31 ---------------------------------------- 395.09/246.31 395.09/246.31 (138) SemLabProof (SOUND) 395.09/246.31 We found the following model for the rules of the TRSs R and P. 395.09/246.31 Interpretation over the domain with elements from 0 to 1. 395.09/246.31 a: 0 395.09/246.31 b: 1 395.09/246.31 down: 0 395.09/246.31 f: 0 395.09/246.31 fresh_constant: 0 395.09/246.31 up: 0 395.09/246.31 f_flat: 0 395.09/246.31 TOP: 0 395.09/246.31 g_flat: 0 395.09/246.31 g: 0 395.09/246.31 By semantic labelling [SEMLAB] we obtain the following labelled QDP problem. 395.09/246.31 ---------------------------------------- 395.09/246.31 395.09/246.31 (139) 395.09/246.31 Obligation: 395.09/246.31 Q DP problem: 395.09/246.31 The TRS P consists of the following rules: 395.09/246.31 395.09/246.31 TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) 395.09/246.31 TOP.0(up.0(f.0(f.0(g.1(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.1(x0))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(f.0(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(f.1(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.31 TOP.0(up.0(g.0(g.0(f.0(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.31 TOP.0(up.0(g.0(g.0(f.1(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(g.0(a.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(a.))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(g.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.0(x0)))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(g.0(g.1(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.1(x0)))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(g.1(b.))))) -> TOP.0(f_flat.0(down.0(g.0(g.1(b.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(f.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(a.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(f.0(f.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.0(x0)))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(f.0(f.1(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.1(x0)))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(f.1(b.))))) -> TOP.0(g_flat.0(down.0(f.0(f.1(b.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(a.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(g.0(g.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.0(x0)))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(g.0(g.1(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.1(x0)))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(g.1(b.))))) -> TOP.0(g_flat.0(down.0(f.0(g.1(b.))))) 395.09/246.31 395.09/246.31 The TRS R consists of the following rules: 395.09/246.31 395.09/246.31 down.0(f.0(g.1(b.))) -> f_flat.0(down.0(g.1(b.))) 395.09/246.31 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.31 g_flat.0(up.1(x_1)) -> up.0(g.1(x_1)) 395.09/246.31 down.0(g.1(b.)) -> g_flat.0(down.1(b.)) 395.09/246.31 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.31 f_flat.0(up.1(x_1)) -> up.0(f.1(x_1)) 395.09/246.31 down.0(f.0(g.0(g.0(fresh_constant.)))) -> f_flat.0(down.0(g.0(g.0(fresh_constant.)))) 395.09/246.31 down.0(g.0(g.0(fresh_constant.))) -> g_flat.0(down.0(g.0(fresh_constant.))) 395.09/246.31 down.0(f.0(g.0(g.0(a.)))) -> f_flat.0(down.0(g.0(g.0(a.)))) 395.09/246.31 down.0(f.0(g.0(g.0(f.0(x))))) -> up.1(b.) 395.09/246.31 down.0(f.0(g.0(g.0(f.1(x))))) -> up.1(b.) 395.09/246.31 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.31 down.0(f.0(g.0(g.0(g.1(y22))))) -> f_flat.0(down.0(g.0(g.0(g.1(y22))))) 395.09/246.31 down.0(f.0(g.0(g.1(b.)))) -> f_flat.0(down.0(g.0(g.1(b.)))) 395.09/246.31 down.0(g.0(g.1(b.))) -> g_flat.0(down.0(g.1(b.))) 395.09/246.31 down.0(g.0(g.0(g.0(x)))) -> up.1(b.) 395.09/246.31 down.0(g.0(g.0(g.1(x)))) -> up.1(b.) 395.09/246.31 down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) 395.09/246.31 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 395.09/246.31 down.0(a.) -> up.0(f.0(a.)) 395.09/246.31 down.0(a.) -> up.0(g.0(a.)) 395.09/246.31 down.0(f.0(g.0(a.))) -> f_flat.0(down.0(g.0(a.))) 395.09/246.31 down.0(f.0(f.1(b.))) -> f_flat.0(down.0(f.1(b.))) 395.09/246.31 down.0(f.1(b.)) -> f_flat.0(down.1(b.)) 395.09/246.31 down.0(f.0(f.0(f.0(x)))) -> up.1(b.) 395.09/246.31 down.0(f.0(f.0(f.1(x)))) -> up.1(b.) 395.09/246.31 down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) 395.09/246.31 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 395.09/246.31 down.0(g.0(f.0(fresh_constant.))) -> g_flat.0(down.0(f.0(fresh_constant.))) 395.09/246.31 down.0(g.0(f.0(a.))) -> g_flat.0(down.0(f.0(a.))) 395.09/246.31 down.0(g.0(f.0(f.0(g.0(x))))) -> up.1(b.) 395.09/246.31 down.0(g.0(f.0(f.0(g.1(x))))) -> up.1(b.) 395.09/246.31 down.0(g.0(f.0(g.0(f.0(x))))) -> up.1(b.) 395.09/246.31 down.0(g.0(f.0(g.0(f.1(x))))) -> up.1(b.) 395.09/246.31 down.0(g.0(f.1(b.))) -> g_flat.0(down.0(f.1(b.))) 395.09/246.31 down.0(g.0(f.0(f.0(a.)))) -> g_flat.0(down.0(f.0(f.0(a.)))) 395.09/246.31 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.31 down.0(g.0(f.0(f.0(f.1(y24))))) -> g_flat.0(down.0(f.0(f.0(f.1(y24))))) 395.09/246.31 down.0(g.0(f.0(f.1(b.)))) -> g_flat.0(down.0(f.0(f.1(b.)))) 395.09/246.31 down.0(g.0(f.0(f.0(fresh_constant.)))) -> g_flat.0(down.0(f.0(f.0(fresh_constant.)))) 395.09/246.31 down.0(g.0(f.0(g.0(a.)))) -> g_flat.0(down.0(f.0(g.0(a.)))) 395.09/246.31 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.31 down.0(g.0(f.0(g.0(g.1(y28))))) -> g_flat.0(down.0(f.0(g.0(g.1(y28))))) 395.09/246.31 down.0(g.0(f.0(g.1(b.)))) -> g_flat.0(down.0(f.0(g.1(b.)))) 395.09/246.31 down.0(g.0(f.0(g.0(fresh_constant.)))) -> g_flat.0(down.0(f.0(g.0(fresh_constant.)))) 395.09/246.31 down.0(f.0(g.0(fresh_constant.))) -> f_flat.0(down.0(g.0(fresh_constant.))) 395.09/246.31 down.0(f.0(f.0(fresh_constant.))) -> f_flat.0(down.0(f.0(fresh_constant.))) 395.09/246.31 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.31 down.0(f.0(g.0(f.1(y12)))) -> f_flat.0(down.0(g.0(f.1(y12)))) 395.09/246.31 395.09/246.31 Q is empty. 395.09/246.31 We have to consider all minimal (P,Q,R)-chains. 395.09/246.31 ---------------------------------------- 395.09/246.31 395.09/246.31 (140) MRRProof (EQUIVALENT) 395.09/246.31 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. 395.09/246.31 395.09/246.31 395.09/246.31 Strictly oriented rules of the TRS R: 395.09/246.31 395.09/246.31 down.0(g.1(b.)) -> g_flat.0(down.1(b.)) 395.09/246.31 down.0(f.1(b.)) -> f_flat.0(down.1(b.)) 395.09/246.31 395.09/246.31 Used ordering: Polynomial interpretation [POLO]: 395.09/246.31 395.09/246.31 POL(TOP.0(x_1)) = x_1 395.09/246.31 POL(a.) = 0 395.09/246.31 POL(b.) = 0 395.09/246.31 POL(down.0(x_1)) = 1 + x_1 395.09/246.31 POL(down.1(x_1)) = x_1 395.09/246.31 POL(f.0(x_1)) = x_1 395.09/246.31 POL(f.1(x_1)) = x_1 395.09/246.31 POL(f_flat.0(x_1)) = x_1 395.09/246.31 POL(fresh_constant.) = 0 395.09/246.31 POL(g.0(x_1)) = x_1 395.09/246.31 POL(g.1(x_1)) = x_1 395.09/246.31 POL(g_flat.0(x_1)) = x_1 395.09/246.31 POL(up.0(x_1)) = 1 + x_1 395.09/246.31 POL(up.1(x_1)) = 1 + x_1 395.09/246.31 395.09/246.31 395.09/246.31 ---------------------------------------- 395.09/246.31 395.09/246.31 (141) 395.09/246.31 Obligation: 395.09/246.31 Q DP problem: 395.09/246.31 The TRS P consists of the following rules: 395.09/246.31 395.09/246.31 TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) 395.09/246.31 TOP.0(up.0(f.0(f.0(g.1(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.1(x0))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(f.0(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(f.1(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.31 TOP.0(up.0(g.0(g.0(f.0(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.31 TOP.0(up.0(g.0(g.0(f.1(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(g.0(a.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(a.))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(g.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.0(x0)))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(g.0(g.1(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.1(x0)))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(g.1(b.))))) -> TOP.0(f_flat.0(down.0(g.0(g.1(b.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(f.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(a.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(f.0(f.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.0(x0)))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(f.0(f.1(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.1(x0)))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(f.1(b.))))) -> TOP.0(g_flat.0(down.0(f.0(f.1(b.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(a.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(g.0(g.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.0(x0)))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(g.0(g.1(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.1(x0)))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(g.1(b.))))) -> TOP.0(g_flat.0(down.0(f.0(g.1(b.))))) 395.09/246.31 395.09/246.31 The TRS R consists of the following rules: 395.09/246.31 395.09/246.31 down.0(f.0(g.1(b.))) -> f_flat.0(down.0(g.1(b.))) 395.09/246.31 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.31 g_flat.0(up.1(x_1)) -> up.0(g.1(x_1)) 395.09/246.31 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.31 f_flat.0(up.1(x_1)) -> up.0(f.1(x_1)) 395.09/246.31 down.0(f.0(g.0(g.0(fresh_constant.)))) -> f_flat.0(down.0(g.0(g.0(fresh_constant.)))) 395.09/246.31 down.0(g.0(g.0(fresh_constant.))) -> g_flat.0(down.0(g.0(fresh_constant.))) 395.09/246.31 down.0(f.0(g.0(g.0(a.)))) -> f_flat.0(down.0(g.0(g.0(a.)))) 395.09/246.31 down.0(f.0(g.0(g.0(f.0(x))))) -> up.1(b.) 395.09/246.31 down.0(f.0(g.0(g.0(f.1(x))))) -> up.1(b.) 395.09/246.31 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.31 down.0(f.0(g.0(g.0(g.1(y22))))) -> f_flat.0(down.0(g.0(g.0(g.1(y22))))) 395.09/246.31 down.0(f.0(g.0(g.1(b.)))) -> f_flat.0(down.0(g.0(g.1(b.)))) 395.09/246.31 down.0(g.0(g.1(b.))) -> g_flat.0(down.0(g.1(b.))) 395.09/246.31 down.0(g.0(g.0(g.0(x)))) -> up.1(b.) 395.09/246.31 down.0(g.0(g.0(g.1(x)))) -> up.1(b.) 395.09/246.31 down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) 395.09/246.31 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 395.09/246.31 down.0(a.) -> up.0(f.0(a.)) 395.09/246.31 down.0(a.) -> up.0(g.0(a.)) 395.09/246.31 down.0(f.0(g.0(a.))) -> f_flat.0(down.0(g.0(a.))) 395.09/246.31 down.0(f.0(f.1(b.))) -> f_flat.0(down.0(f.1(b.))) 395.09/246.31 down.0(f.0(f.0(f.0(x)))) -> up.1(b.) 395.09/246.31 down.0(f.0(f.0(f.1(x)))) -> up.1(b.) 395.09/246.31 down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) 395.09/246.31 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 395.09/246.31 down.0(g.0(f.0(fresh_constant.))) -> g_flat.0(down.0(f.0(fresh_constant.))) 395.09/246.31 down.0(g.0(f.0(a.))) -> g_flat.0(down.0(f.0(a.))) 395.09/246.31 down.0(g.0(f.0(f.0(g.0(x))))) -> up.1(b.) 395.09/246.31 down.0(g.0(f.0(f.0(g.1(x))))) -> up.1(b.) 395.09/246.31 down.0(g.0(f.0(g.0(f.0(x))))) -> up.1(b.) 395.09/246.31 down.0(g.0(f.0(g.0(f.1(x))))) -> up.1(b.) 395.09/246.31 down.0(g.0(f.1(b.))) -> g_flat.0(down.0(f.1(b.))) 395.09/246.31 down.0(g.0(f.0(f.0(a.)))) -> g_flat.0(down.0(f.0(f.0(a.)))) 395.09/246.31 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.31 down.0(g.0(f.0(f.0(f.1(y24))))) -> g_flat.0(down.0(f.0(f.0(f.1(y24))))) 395.09/246.31 down.0(g.0(f.0(f.1(b.)))) -> g_flat.0(down.0(f.0(f.1(b.)))) 395.09/246.31 down.0(g.0(f.0(f.0(fresh_constant.)))) -> g_flat.0(down.0(f.0(f.0(fresh_constant.)))) 395.09/246.31 down.0(g.0(f.0(g.0(a.)))) -> g_flat.0(down.0(f.0(g.0(a.)))) 395.09/246.31 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.31 down.0(g.0(f.0(g.0(g.1(y28))))) -> g_flat.0(down.0(f.0(g.0(g.1(y28))))) 395.09/246.31 down.0(g.0(f.0(g.1(b.)))) -> g_flat.0(down.0(f.0(g.1(b.)))) 395.09/246.31 down.0(g.0(f.0(g.0(fresh_constant.)))) -> g_flat.0(down.0(f.0(g.0(fresh_constant.)))) 395.09/246.31 down.0(f.0(g.0(fresh_constant.))) -> f_flat.0(down.0(g.0(fresh_constant.))) 395.09/246.31 down.0(f.0(f.0(fresh_constant.))) -> f_flat.0(down.0(f.0(fresh_constant.))) 395.09/246.31 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.31 down.0(f.0(g.0(f.1(y12)))) -> f_flat.0(down.0(g.0(f.1(y12)))) 395.09/246.31 395.09/246.31 Q is empty. 395.09/246.31 We have to consider all minimal (P,Q,R)-chains. 395.09/246.31 ---------------------------------------- 395.09/246.31 395.09/246.31 (142) QDPOrderProof (EQUIVALENT) 395.09/246.31 We use the reduction pair processor [LPAR04,JAR06]. 395.09/246.31 395.09/246.31 395.09/246.31 The following pairs can be oriented strictly and are deleted. 395.09/246.31 395.09/246.31 TOP.0(up.0(f.0(f.0(g.1(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.1(x0))))) 395.09/246.31 The remaining pairs can at least be oriented weakly. 395.09/246.31 Used ordering: Polynomial interpretation [POLO]: 395.09/246.31 395.09/246.31 POL(TOP.0(x_1)) = x_1 395.09/246.31 POL(a.) = 0 395.09/246.31 POL(b.) = 0 395.09/246.31 POL(down.0(x_1)) = x_1 395.09/246.31 POL(f.0(x_1)) = x_1 395.09/246.31 POL(f.1(x_1)) = 0 395.09/246.31 POL(f_flat.0(x_1)) = x_1 395.09/246.31 POL(fresh_constant.) = 0 395.09/246.31 POL(g.0(x_1)) = 1 395.09/246.31 POL(g.1(x_1)) = 0 395.09/246.31 POL(g_flat.0(x_1)) = 1 395.09/246.31 POL(up.0(x_1)) = 1 395.09/246.31 POL(up.1(x_1)) = 1 395.09/246.31 395.09/246.31 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 395.09/246.31 395.09/246.31 down.0(f.0(g.0(g.0(fresh_constant.)))) -> f_flat.0(down.0(g.0(g.0(fresh_constant.)))) 395.09/246.31 down.0(f.0(g.0(g.0(a.)))) -> f_flat.0(down.0(g.0(g.0(a.)))) 395.09/246.31 down.0(f.0(g.0(g.0(f.0(x))))) -> up.1(b.) 395.09/246.31 down.0(f.0(g.0(g.0(f.1(x))))) -> up.1(b.) 395.09/246.31 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.31 down.0(f.0(g.0(g.0(g.1(y22))))) -> f_flat.0(down.0(g.0(g.0(g.1(y22))))) 395.09/246.31 down.0(f.0(g.0(g.1(b.)))) -> f_flat.0(down.0(g.0(g.1(b.)))) 395.09/246.31 down.0(f.0(g.0(a.))) -> f_flat.0(down.0(g.0(a.))) 395.09/246.31 down.0(f.0(g.0(fresh_constant.))) -> f_flat.0(down.0(g.0(fresh_constant.))) 395.09/246.31 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.31 down.0(f.0(g.0(f.1(y12)))) -> f_flat.0(down.0(g.0(f.1(y12)))) 395.09/246.31 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.31 f_flat.0(up.1(x_1)) -> up.0(f.1(x_1)) 395.09/246.31 down.0(f.0(g.1(b.))) -> f_flat.0(down.0(g.1(b.))) 395.09/246.31 down.0(g.0(f.0(fresh_constant.))) -> g_flat.0(down.0(f.0(fresh_constant.))) 395.09/246.31 down.0(g.0(f.0(a.))) -> g_flat.0(down.0(f.0(a.))) 395.09/246.31 down.0(g.0(f.0(f.0(g.0(x))))) -> up.1(b.) 395.09/246.31 down.0(g.0(f.0(f.0(g.1(x))))) -> up.1(b.) 395.09/246.31 down.0(g.0(f.0(g.0(f.0(x))))) -> up.1(b.) 395.09/246.31 down.0(g.0(f.0(g.0(f.1(x))))) -> up.1(b.) 395.09/246.31 down.0(g.0(f.0(f.0(a.)))) -> g_flat.0(down.0(f.0(f.0(a.)))) 395.09/246.31 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.31 down.0(g.0(f.0(f.0(f.1(y24))))) -> g_flat.0(down.0(f.0(f.0(f.1(y24))))) 395.09/246.31 down.0(g.0(f.0(f.1(b.)))) -> g_flat.0(down.0(f.0(f.1(b.)))) 395.09/246.31 down.0(g.0(f.0(f.0(fresh_constant.)))) -> g_flat.0(down.0(f.0(f.0(fresh_constant.)))) 395.09/246.31 down.0(g.0(f.0(g.0(a.)))) -> g_flat.0(down.0(f.0(g.0(a.)))) 395.09/246.31 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.31 down.0(g.0(f.0(g.0(g.1(y28))))) -> g_flat.0(down.0(f.0(g.0(g.1(y28))))) 395.09/246.31 down.0(g.0(f.0(g.1(b.)))) -> g_flat.0(down.0(f.0(g.1(b.)))) 395.09/246.31 down.0(g.0(f.0(g.0(fresh_constant.)))) -> g_flat.0(down.0(f.0(g.0(fresh_constant.)))) 395.09/246.31 down.0(g.0(f.1(b.))) -> g_flat.0(down.0(f.1(b.))) 395.09/246.31 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.31 g_flat.0(up.1(x_1)) -> up.0(g.1(x_1)) 395.09/246.31 down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) 395.09/246.31 down.0(g.0(g.0(g.0(x)))) -> up.1(b.) 395.09/246.31 down.0(g.0(g.0(g.1(x)))) -> up.1(b.) 395.09/246.31 down.0(g.0(g.1(b.))) -> g_flat.0(down.0(g.1(b.))) 395.09/246.31 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 395.09/246.31 down.0(g.0(g.0(fresh_constant.))) -> g_flat.0(down.0(g.0(fresh_constant.))) 395.09/246.31 395.09/246.31 395.09/246.31 ---------------------------------------- 395.09/246.31 395.09/246.31 (143) 395.09/246.31 Obligation: 395.09/246.31 Q DP problem: 395.09/246.31 The TRS P consists of the following rules: 395.09/246.31 395.09/246.31 TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(f.0(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(f.1(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.31 TOP.0(up.0(g.0(g.0(f.0(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.31 TOP.0(up.0(g.0(g.0(f.1(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(g.0(a.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(a.))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(g.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.0(x0)))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(g.0(g.1(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.1(x0)))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(g.1(b.))))) -> TOP.0(f_flat.0(down.0(g.0(g.1(b.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(f.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(a.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(f.0(f.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.0(x0)))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(f.0(f.1(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.1(x0)))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(f.1(b.))))) -> TOP.0(g_flat.0(down.0(f.0(f.1(b.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(a.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(g.0(g.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.0(x0)))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(g.0(g.1(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.1(x0)))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(g.1(b.))))) -> TOP.0(g_flat.0(down.0(f.0(g.1(b.))))) 395.09/246.31 395.09/246.31 The TRS R consists of the following rules: 395.09/246.31 395.09/246.31 down.0(f.0(g.1(b.))) -> f_flat.0(down.0(g.1(b.))) 395.09/246.31 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.31 g_flat.0(up.1(x_1)) -> up.0(g.1(x_1)) 395.09/246.31 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.31 f_flat.0(up.1(x_1)) -> up.0(f.1(x_1)) 395.09/246.31 down.0(f.0(g.0(g.0(fresh_constant.)))) -> f_flat.0(down.0(g.0(g.0(fresh_constant.)))) 395.09/246.31 down.0(g.0(g.0(fresh_constant.))) -> g_flat.0(down.0(g.0(fresh_constant.))) 395.09/246.31 down.0(f.0(g.0(g.0(a.)))) -> f_flat.0(down.0(g.0(g.0(a.)))) 395.09/246.31 down.0(f.0(g.0(g.0(f.0(x))))) -> up.1(b.) 395.09/246.31 down.0(f.0(g.0(g.0(f.1(x))))) -> up.1(b.) 395.09/246.31 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.31 down.0(f.0(g.0(g.0(g.1(y22))))) -> f_flat.0(down.0(g.0(g.0(g.1(y22))))) 395.09/246.31 down.0(f.0(g.0(g.1(b.)))) -> f_flat.0(down.0(g.0(g.1(b.)))) 395.09/246.31 down.0(g.0(g.1(b.))) -> g_flat.0(down.0(g.1(b.))) 395.09/246.31 down.0(g.0(g.0(g.0(x)))) -> up.1(b.) 395.09/246.31 down.0(g.0(g.0(g.1(x)))) -> up.1(b.) 395.09/246.31 down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) 395.09/246.31 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 395.09/246.31 down.0(a.) -> up.0(f.0(a.)) 395.09/246.31 down.0(a.) -> up.0(g.0(a.)) 395.09/246.31 down.0(f.0(g.0(a.))) -> f_flat.0(down.0(g.0(a.))) 395.09/246.31 down.0(f.0(f.1(b.))) -> f_flat.0(down.0(f.1(b.))) 395.09/246.31 down.0(f.0(f.0(f.0(x)))) -> up.1(b.) 395.09/246.31 down.0(f.0(f.0(f.1(x)))) -> up.1(b.) 395.09/246.31 down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) 395.09/246.31 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 395.09/246.31 down.0(g.0(f.0(fresh_constant.))) -> g_flat.0(down.0(f.0(fresh_constant.))) 395.09/246.31 down.0(g.0(f.0(a.))) -> g_flat.0(down.0(f.0(a.))) 395.09/246.31 down.0(g.0(f.0(f.0(g.0(x))))) -> up.1(b.) 395.09/246.31 down.0(g.0(f.0(f.0(g.1(x))))) -> up.1(b.) 395.09/246.31 down.0(g.0(f.0(g.0(f.0(x))))) -> up.1(b.) 395.09/246.31 down.0(g.0(f.0(g.0(f.1(x))))) -> up.1(b.) 395.09/246.31 down.0(g.0(f.1(b.))) -> g_flat.0(down.0(f.1(b.))) 395.09/246.31 down.0(g.0(f.0(f.0(a.)))) -> g_flat.0(down.0(f.0(f.0(a.)))) 395.09/246.31 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.31 down.0(g.0(f.0(f.0(f.1(y24))))) -> g_flat.0(down.0(f.0(f.0(f.1(y24))))) 395.09/246.31 down.0(g.0(f.0(f.1(b.)))) -> g_flat.0(down.0(f.0(f.1(b.)))) 395.09/246.31 down.0(g.0(f.0(f.0(fresh_constant.)))) -> g_flat.0(down.0(f.0(f.0(fresh_constant.)))) 395.09/246.31 down.0(g.0(f.0(g.0(a.)))) -> g_flat.0(down.0(f.0(g.0(a.)))) 395.09/246.31 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.31 down.0(g.0(f.0(g.0(g.1(y28))))) -> g_flat.0(down.0(f.0(g.0(g.1(y28))))) 395.09/246.31 down.0(g.0(f.0(g.1(b.)))) -> g_flat.0(down.0(f.0(g.1(b.)))) 395.09/246.31 down.0(g.0(f.0(g.0(fresh_constant.)))) -> g_flat.0(down.0(f.0(g.0(fresh_constant.)))) 395.09/246.31 down.0(f.0(g.0(fresh_constant.))) -> f_flat.0(down.0(g.0(fresh_constant.))) 395.09/246.31 down.0(f.0(f.0(fresh_constant.))) -> f_flat.0(down.0(f.0(fresh_constant.))) 395.09/246.31 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.31 down.0(f.0(g.0(f.1(y12)))) -> f_flat.0(down.0(g.0(f.1(y12)))) 395.09/246.31 395.09/246.31 Q is empty. 395.09/246.31 We have to consider all minimal (P,Q,R)-chains. 395.09/246.31 ---------------------------------------- 395.09/246.31 395.09/246.31 (144) QDPOrderProof (EQUIVALENT) 395.09/246.31 We use the reduction pair processor [LPAR04,JAR06]. 395.09/246.31 395.09/246.31 395.09/246.31 The following pairs can be oriented strictly and are deleted. 395.09/246.31 395.09/246.31 TOP.0(up.0(g.0(g.0(f.1(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.31 The remaining pairs can at least be oriented weakly. 395.09/246.31 Used ordering: Polynomial interpretation [POLO]: 395.09/246.31 395.09/246.31 POL(TOP.0(x_1)) = x_1 395.09/246.31 POL(a.) = 0 395.09/246.31 POL(b.) = 0 395.09/246.31 POL(down.0(x_1)) = x_1 395.09/246.31 POL(f.0(x_1)) = 1 395.09/246.31 POL(f.1(x_1)) = 0 395.09/246.31 POL(f_flat.0(x_1)) = 1 395.09/246.31 POL(fresh_constant.) = 0 395.09/246.31 POL(g.0(x_1)) = x_1 395.09/246.31 POL(g.1(x_1)) = 0 395.09/246.31 POL(g_flat.0(x_1)) = x_1 395.09/246.31 POL(up.0(x_1)) = 1 395.09/246.31 POL(up.1(x_1)) = 1 395.09/246.31 395.09/246.31 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 395.09/246.31 395.09/246.31 down.0(f.0(g.0(g.0(fresh_constant.)))) -> f_flat.0(down.0(g.0(g.0(fresh_constant.)))) 395.09/246.31 down.0(f.0(g.0(g.0(a.)))) -> f_flat.0(down.0(g.0(g.0(a.)))) 395.09/246.31 down.0(f.0(g.0(g.0(f.0(x))))) -> up.1(b.) 395.09/246.31 down.0(f.0(g.0(g.0(f.1(x))))) -> up.1(b.) 395.09/246.31 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.31 down.0(f.0(g.0(g.0(g.1(y22))))) -> f_flat.0(down.0(g.0(g.0(g.1(y22))))) 395.09/246.31 down.0(f.0(g.0(g.1(b.)))) -> f_flat.0(down.0(g.0(g.1(b.)))) 395.09/246.31 down.0(f.0(g.0(a.))) -> f_flat.0(down.0(g.0(a.))) 395.09/246.31 down.0(f.0(g.0(fresh_constant.))) -> f_flat.0(down.0(g.0(fresh_constant.))) 395.09/246.31 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.31 f_flat.0(up.1(x_1)) -> up.0(f.1(x_1)) 395.09/246.31 down.0(g.0(f.0(fresh_constant.))) -> g_flat.0(down.0(f.0(fresh_constant.))) 395.09/246.31 down.0(g.0(f.0(a.))) -> g_flat.0(down.0(f.0(a.))) 395.09/246.31 down.0(g.0(f.0(f.0(g.0(x))))) -> up.1(b.) 395.09/246.31 down.0(g.0(f.0(f.0(g.1(x))))) -> up.1(b.) 395.09/246.31 down.0(g.0(f.0(g.0(f.0(x))))) -> up.1(b.) 395.09/246.31 down.0(g.0(f.0(g.0(f.1(x))))) -> up.1(b.) 395.09/246.31 down.0(g.0(f.0(f.0(a.)))) -> g_flat.0(down.0(f.0(f.0(a.)))) 395.09/246.31 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.31 down.0(g.0(f.0(f.0(f.1(y24))))) -> g_flat.0(down.0(f.0(f.0(f.1(y24))))) 395.09/246.31 down.0(g.0(f.0(f.1(b.)))) -> g_flat.0(down.0(f.0(f.1(b.)))) 395.09/246.31 down.0(g.0(f.0(f.0(fresh_constant.)))) -> g_flat.0(down.0(f.0(f.0(fresh_constant.)))) 395.09/246.31 down.0(g.0(f.0(g.0(a.)))) -> g_flat.0(down.0(f.0(g.0(a.)))) 395.09/246.31 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.31 down.0(g.0(f.0(g.0(g.1(y28))))) -> g_flat.0(down.0(f.0(g.0(g.1(y28))))) 395.09/246.31 down.0(g.0(f.0(g.1(b.)))) -> g_flat.0(down.0(f.0(g.1(b.)))) 395.09/246.31 down.0(g.0(f.0(g.0(fresh_constant.)))) -> g_flat.0(down.0(f.0(g.0(fresh_constant.)))) 395.09/246.31 down.0(g.0(f.1(b.))) -> g_flat.0(down.0(f.1(b.))) 395.09/246.31 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.31 g_flat.0(up.1(x_1)) -> up.0(g.1(x_1)) 395.09/246.31 down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) 395.09/246.31 down.0(f.0(f.0(f.0(x)))) -> up.1(b.) 395.09/246.31 down.0(f.0(f.0(f.1(x)))) -> up.1(b.) 395.09/246.31 down.0(f.0(f.1(b.))) -> f_flat.0(down.0(f.1(b.))) 395.09/246.31 down.0(f.0(g.1(b.))) -> f_flat.0(down.0(g.1(b.))) 395.09/246.31 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 395.09/246.31 down.0(f.0(f.0(fresh_constant.))) -> f_flat.0(down.0(f.0(fresh_constant.))) 395.09/246.31 395.09/246.31 395.09/246.31 ---------------------------------------- 395.09/246.31 395.09/246.31 (145) 395.09/246.31 Obligation: 395.09/246.31 Q DP problem: 395.09/246.31 The TRS P consists of the following rules: 395.09/246.31 395.09/246.31 TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(f.0(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(f.1(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.31 TOP.0(up.0(g.0(g.0(f.0(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(g.0(a.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(a.))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(g.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.0(x0)))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(g.0(g.1(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.1(x0)))))) 395.09/246.31 TOP.0(up.0(f.0(g.0(g.1(b.))))) -> TOP.0(f_flat.0(down.0(g.0(g.1(b.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(f.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(a.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(f.0(f.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.0(x0)))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(f.0(f.1(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.1(x0)))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(f.1(b.))))) -> TOP.0(g_flat.0(down.0(f.0(f.1(b.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(a.))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(g.0(g.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.0(x0)))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(g.0(g.1(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.1(x0)))))) 395.09/246.31 TOP.0(up.0(g.0(f.0(g.1(b.))))) -> TOP.0(g_flat.0(down.0(f.0(g.1(b.))))) 395.09/246.31 395.09/246.31 The TRS R consists of the following rules: 395.09/246.31 395.09/246.31 down.0(f.0(g.1(b.))) -> f_flat.0(down.0(g.1(b.))) 395.09/246.31 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.31 g_flat.0(up.1(x_1)) -> up.0(g.1(x_1)) 395.09/246.31 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.31 f_flat.0(up.1(x_1)) -> up.0(f.1(x_1)) 395.09/246.31 down.0(f.0(g.0(g.0(fresh_constant.)))) -> f_flat.0(down.0(g.0(g.0(fresh_constant.)))) 395.09/246.31 down.0(g.0(g.0(fresh_constant.))) -> g_flat.0(down.0(g.0(fresh_constant.))) 395.09/246.31 down.0(f.0(g.0(g.0(a.)))) -> f_flat.0(down.0(g.0(g.0(a.)))) 395.09/246.31 down.0(f.0(g.0(g.0(f.0(x))))) -> up.1(b.) 395.09/246.31 down.0(f.0(g.0(g.0(f.1(x))))) -> up.1(b.) 395.09/246.31 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.31 down.0(f.0(g.0(g.0(g.1(y22))))) -> f_flat.0(down.0(g.0(g.0(g.1(y22))))) 395.09/246.31 down.0(f.0(g.0(g.1(b.)))) -> f_flat.0(down.0(g.0(g.1(b.)))) 395.09/246.31 down.0(g.0(g.1(b.))) -> g_flat.0(down.0(g.1(b.))) 395.09/246.31 down.0(g.0(g.0(g.0(x)))) -> up.1(b.) 395.09/246.31 down.0(g.0(g.0(g.1(x)))) -> up.1(b.) 395.09/246.31 down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) 395.09/246.31 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 395.09/246.31 down.0(a.) -> up.0(f.0(a.)) 395.09/246.31 down.0(a.) -> up.0(g.0(a.)) 395.09/246.31 down.0(f.0(g.0(a.))) -> f_flat.0(down.0(g.0(a.))) 395.09/246.31 down.0(f.0(f.1(b.))) -> f_flat.0(down.0(f.1(b.))) 395.09/246.31 down.0(f.0(f.0(f.0(x)))) -> up.1(b.) 395.09/246.31 down.0(f.0(f.0(f.1(x)))) -> up.1(b.) 395.09/246.31 down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) 395.09/246.31 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 395.09/246.31 down.0(g.0(f.0(fresh_constant.))) -> g_flat.0(down.0(f.0(fresh_constant.))) 395.09/246.31 down.0(g.0(f.0(a.))) -> g_flat.0(down.0(f.0(a.))) 395.09/246.31 down.0(g.0(f.0(f.0(g.0(x))))) -> up.1(b.) 395.09/246.31 down.0(g.0(f.0(f.0(g.1(x))))) -> up.1(b.) 395.09/246.31 down.0(g.0(f.0(g.0(f.0(x))))) -> up.1(b.) 395.09/246.31 down.0(g.0(f.0(g.0(f.1(x))))) -> up.1(b.) 395.09/246.31 down.0(g.0(f.1(b.))) -> g_flat.0(down.0(f.1(b.))) 395.09/246.31 down.0(g.0(f.0(f.0(a.)))) -> g_flat.0(down.0(f.0(f.0(a.)))) 395.09/246.31 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.31 down.0(g.0(f.0(f.0(f.1(y24))))) -> g_flat.0(down.0(f.0(f.0(f.1(y24))))) 395.09/246.31 down.0(g.0(f.0(f.1(b.)))) -> g_flat.0(down.0(f.0(f.1(b.)))) 395.09/246.31 down.0(g.0(f.0(f.0(fresh_constant.)))) -> g_flat.0(down.0(f.0(f.0(fresh_constant.)))) 395.09/246.31 down.0(g.0(f.0(g.0(a.)))) -> g_flat.0(down.0(f.0(g.0(a.)))) 395.09/246.31 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.31 down.0(g.0(f.0(g.0(g.1(y28))))) -> g_flat.0(down.0(f.0(g.0(g.1(y28))))) 395.09/246.31 down.0(g.0(f.0(g.1(b.)))) -> g_flat.0(down.0(f.0(g.1(b.)))) 395.09/246.31 down.0(g.0(f.0(g.0(fresh_constant.)))) -> g_flat.0(down.0(f.0(g.0(fresh_constant.)))) 395.09/246.31 down.0(f.0(g.0(fresh_constant.))) -> f_flat.0(down.0(g.0(fresh_constant.))) 395.09/246.31 down.0(f.0(f.0(fresh_constant.))) -> f_flat.0(down.0(f.0(fresh_constant.))) 395.09/246.31 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.31 down.0(f.0(g.0(f.1(y12)))) -> f_flat.0(down.0(g.0(f.1(y12)))) 395.09/246.31 395.09/246.31 Q is empty. 395.09/246.31 We have to consider all minimal (P,Q,R)-chains. 395.09/246.31 ---------------------------------------- 395.09/246.31 395.09/246.31 (146) PisEmptyProof (SOUND) 395.09/246.31 The TRS P is empty. Hence, there is no (P,Q,R) chain. 395.09/246.31 ---------------------------------------- 395.09/246.31 395.09/246.31 (147) 395.09/246.31 TRUE 395.09/246.31 395.09/246.31 ---------------------------------------- 395.09/246.31 395.09/246.31 (148) 395.09/246.31 Obligation: 395.09/246.31 Q DP problem: 395.09/246.31 The TRS P consists of the following rules: 395.09/246.31 395.09/246.31 TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) 395.09/246.31 TOP(up(f(g(f(x0))))) -> TOP(f_flat(down(g(f(x0))))) 395.09/246.31 TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) 395.09/246.31 TOP(up(f(g(g(a))))) -> TOP(f_flat(down(g(g(a))))) 395.09/246.31 TOP(up(f(g(g(g(x0)))))) -> TOP(f_flat(down(g(g(g(x0)))))) 395.09/246.31 TOP(up(f(g(g(b))))) -> TOP(f_flat(down(g(g(b))))) 395.09/246.31 TOP(up(g(f(f(a))))) -> TOP(g_flat(down(f(f(a))))) 395.09/246.31 TOP(up(g(f(f(f(x0)))))) -> TOP(g_flat(down(f(f(f(x0)))))) 395.09/246.31 TOP(up(g(f(f(b))))) -> TOP(g_flat(down(f(f(b))))) 395.09/246.31 TOP(up(g(f(g(a))))) -> TOP(g_flat(down(f(g(a))))) 395.09/246.31 TOP(up(g(f(g(g(x0)))))) -> TOP(g_flat(down(f(g(g(x0)))))) 395.09/246.31 TOP(up(g(f(g(b))))) -> TOP(g_flat(down(f(g(b))))) 395.09/246.31 395.09/246.31 The TRS R consists of the following rules: 395.09/246.31 395.09/246.31 down(f(g(b))) -> f_flat(down(g(b))) 395.09/246.31 g_flat(up(x_1)) -> up(g(x_1)) 395.09/246.31 f_flat(up(x_1)) -> up(f(x_1)) 395.09/246.31 down(f(g(g(fresh_constant)))) -> f_flat(down(g(g(fresh_constant)))) 395.09/246.31 down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) 395.09/246.31 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.09/246.31 down(f(g(g(f(x))))) -> up(b) 395.09/246.31 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.09/246.31 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.09/246.31 down(g(g(b))) -> g_flat(down(g(b))) 395.09/246.31 down(g(g(g(x)))) -> up(b) 395.09/246.31 down(g(g(a))) -> g_flat(down(g(a))) 395.09/246.31 down(g(a)) -> g_flat(down(a)) 395.09/246.31 down(a) -> up(f(a)) 395.09/246.31 down(a) -> up(g(a)) 395.09/246.31 down(f(g(a))) -> f_flat(down(g(a))) 395.09/246.31 down(f(f(b))) -> f_flat(down(f(b))) 395.09/246.31 down(f(f(f(x)))) -> up(b) 395.09/246.31 down(f(f(a))) -> f_flat(down(f(a))) 395.09/246.31 down(f(a)) -> f_flat(down(a)) 395.09/246.31 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.09/246.31 down(g(f(a))) -> g_flat(down(f(a))) 395.09/246.31 down(g(f(f(g(x))))) -> up(b) 395.09/246.31 down(g(f(g(f(x))))) -> up(b) 395.09/246.31 down(g(f(b))) -> g_flat(down(f(b))) 395.09/246.31 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.09/246.31 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.09/246.31 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.09/246.31 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.09/246.31 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.09/246.31 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.09/246.31 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.09/246.31 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.09/246.31 down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) 395.09/246.31 down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) 395.09/246.31 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.09/246.31 395.09/246.31 Q is empty. 395.09/246.31 We have to consider all minimal (P,Q,R)-chains. 395.09/246.31 ---------------------------------------- 395.09/246.31 395.09/246.31 (149) TransformationProof (EQUIVALENT) 395.09/246.31 By narrowing [LPAR04] the rule TOP(up(f(g(g(b))))) -> TOP(f_flat(down(g(g(b))))) at position [0] we obtained the following new rules [LPAR04]: 395.09/246.31 395.09/246.31 (TOP(up(f(g(g(b))))) -> TOP(f_flat(g_flat(down(g(b))))),TOP(up(f(g(g(b))))) -> TOP(f_flat(g_flat(down(g(b)))))) 395.09/246.31 395.09/246.31 395.09/246.31 ---------------------------------------- 395.09/246.31 395.09/246.31 (150) 395.09/246.31 Obligation: 395.09/246.31 Q DP problem: 395.09/246.31 The TRS P consists of the following rules: 395.09/246.31 395.09/246.31 TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) 395.09/246.31 TOP(up(f(g(f(x0))))) -> TOP(f_flat(down(g(f(x0))))) 395.09/246.31 TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) 395.09/246.31 TOP(up(f(g(g(a))))) -> TOP(f_flat(down(g(g(a))))) 395.09/246.31 TOP(up(f(g(g(g(x0)))))) -> TOP(f_flat(down(g(g(g(x0)))))) 395.09/246.31 TOP(up(g(f(f(a))))) -> TOP(g_flat(down(f(f(a))))) 395.09/246.31 TOP(up(g(f(f(f(x0)))))) -> TOP(g_flat(down(f(f(f(x0)))))) 395.09/246.31 TOP(up(g(f(f(b))))) -> TOP(g_flat(down(f(f(b))))) 395.09/246.31 TOP(up(g(f(g(a))))) -> TOP(g_flat(down(f(g(a))))) 395.09/246.31 TOP(up(g(f(g(g(x0)))))) -> TOP(g_flat(down(f(g(g(x0)))))) 395.09/246.31 TOP(up(g(f(g(b))))) -> TOP(g_flat(down(f(g(b))))) 395.09/246.31 TOP(up(f(g(g(b))))) -> TOP(f_flat(g_flat(down(g(b))))) 395.09/246.31 395.09/246.31 The TRS R consists of the following rules: 395.09/246.31 395.09/246.31 down(f(g(b))) -> f_flat(down(g(b))) 395.09/246.31 g_flat(up(x_1)) -> up(g(x_1)) 395.09/246.31 f_flat(up(x_1)) -> up(f(x_1)) 395.09/246.31 down(f(g(g(fresh_constant)))) -> f_flat(down(g(g(fresh_constant)))) 395.09/246.31 down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) 395.09/246.31 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.09/246.31 down(f(g(g(f(x))))) -> up(b) 395.09/246.31 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.09/246.31 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.09/246.31 down(g(g(b))) -> g_flat(down(g(b))) 395.09/246.31 down(g(g(g(x)))) -> up(b) 395.09/246.31 down(g(g(a))) -> g_flat(down(g(a))) 395.09/246.31 down(g(a)) -> g_flat(down(a)) 395.09/246.31 down(a) -> up(f(a)) 395.09/246.31 down(a) -> up(g(a)) 395.09/246.31 down(f(g(a))) -> f_flat(down(g(a))) 395.09/246.31 down(f(f(b))) -> f_flat(down(f(b))) 395.09/246.31 down(f(f(f(x)))) -> up(b) 395.09/246.31 down(f(f(a))) -> f_flat(down(f(a))) 395.09/246.31 down(f(a)) -> f_flat(down(a)) 395.09/246.31 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.09/246.31 down(g(f(a))) -> g_flat(down(f(a))) 395.09/246.31 down(g(f(f(g(x))))) -> up(b) 395.09/246.31 down(g(f(g(f(x))))) -> up(b) 395.09/246.31 down(g(f(b))) -> g_flat(down(f(b))) 395.09/246.31 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.09/246.31 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.09/246.31 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.09/246.31 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.09/246.31 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.09/246.31 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.09/246.31 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.09/246.31 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.09/246.31 down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) 395.09/246.31 down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) 395.09/246.31 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.09/246.31 395.09/246.31 Q is empty. 395.09/246.31 We have to consider all minimal (P,Q,R)-chains. 395.09/246.31 ---------------------------------------- 395.09/246.31 395.09/246.31 (151) DependencyGraphProof (EQUIVALENT) 395.09/246.31 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 395.09/246.31 ---------------------------------------- 395.09/246.31 395.09/246.31 (152) 395.09/246.31 Obligation: 395.09/246.31 Q DP problem: 395.09/246.31 The TRS P consists of the following rules: 395.09/246.31 395.09/246.31 TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) 395.09/246.31 TOP(up(f(g(f(x0))))) -> TOP(f_flat(down(g(f(x0))))) 395.09/246.31 TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) 395.09/246.31 TOP(up(f(g(g(a))))) -> TOP(f_flat(down(g(g(a))))) 395.09/246.31 TOP(up(f(g(g(g(x0)))))) -> TOP(f_flat(down(g(g(g(x0)))))) 395.09/246.31 TOP(up(g(f(f(a))))) -> TOP(g_flat(down(f(f(a))))) 395.09/246.31 TOP(up(g(f(f(f(x0)))))) -> TOP(g_flat(down(f(f(f(x0)))))) 395.09/246.31 TOP(up(g(f(f(b))))) -> TOP(g_flat(down(f(f(b))))) 395.09/246.31 TOP(up(g(f(g(a))))) -> TOP(g_flat(down(f(g(a))))) 395.09/246.31 TOP(up(g(f(g(g(x0)))))) -> TOP(g_flat(down(f(g(g(x0)))))) 395.09/246.31 TOP(up(g(f(g(b))))) -> TOP(g_flat(down(f(g(b))))) 395.09/246.31 395.09/246.31 The TRS R consists of the following rules: 395.09/246.31 395.09/246.31 down(f(g(b))) -> f_flat(down(g(b))) 395.09/246.31 g_flat(up(x_1)) -> up(g(x_1)) 395.09/246.31 f_flat(up(x_1)) -> up(f(x_1)) 395.09/246.31 down(f(g(g(fresh_constant)))) -> f_flat(down(g(g(fresh_constant)))) 395.09/246.31 down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) 395.09/246.31 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.09/246.31 down(f(g(g(f(x))))) -> up(b) 395.09/246.31 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.09/246.31 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.09/246.31 down(g(g(b))) -> g_flat(down(g(b))) 395.09/246.31 down(g(g(g(x)))) -> up(b) 395.09/246.31 down(g(g(a))) -> g_flat(down(g(a))) 395.09/246.31 down(g(a)) -> g_flat(down(a)) 395.09/246.31 down(a) -> up(f(a)) 395.09/246.31 down(a) -> up(g(a)) 395.09/246.31 down(f(g(a))) -> f_flat(down(g(a))) 395.09/246.31 down(f(f(b))) -> f_flat(down(f(b))) 395.09/246.31 down(f(f(f(x)))) -> up(b) 395.09/246.31 down(f(f(a))) -> f_flat(down(f(a))) 395.09/246.31 down(f(a)) -> f_flat(down(a)) 395.09/246.31 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.09/246.31 down(g(f(a))) -> g_flat(down(f(a))) 395.09/246.31 down(g(f(f(g(x))))) -> up(b) 395.09/246.31 down(g(f(g(f(x))))) -> up(b) 395.09/246.31 down(g(f(b))) -> g_flat(down(f(b))) 395.09/246.31 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.09/246.31 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.09/246.31 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.09/246.31 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.09/246.31 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.09/246.31 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.09/246.31 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.09/246.31 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.09/246.31 down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) 395.09/246.31 down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) 395.09/246.31 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.09/246.31 395.09/246.31 Q is empty. 395.09/246.31 We have to consider all minimal (P,Q,R)-chains. 395.09/246.31 ---------------------------------------- 395.09/246.31 395.09/246.31 (153) TransformationProof (EQUIVALENT) 395.09/246.31 By narrowing [LPAR04] the rule TOP(up(g(f(f(b))))) -> TOP(g_flat(down(f(f(b))))) at position [0] we obtained the following new rules [LPAR04]: 395.09/246.31 395.09/246.31 (TOP(up(g(f(f(b))))) -> TOP(g_flat(f_flat(down(f(b))))),TOP(up(g(f(f(b))))) -> TOP(g_flat(f_flat(down(f(b)))))) 395.09/246.31 395.09/246.31 395.09/246.31 ---------------------------------------- 395.09/246.31 395.09/246.31 (154) 395.09/246.31 Obligation: 395.09/246.31 Q DP problem: 395.09/246.31 The TRS P consists of the following rules: 395.09/246.31 395.09/246.31 TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) 395.09/246.31 TOP(up(f(g(f(x0))))) -> TOP(f_flat(down(g(f(x0))))) 395.09/246.31 TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) 395.09/246.31 TOP(up(f(g(g(a))))) -> TOP(f_flat(down(g(g(a))))) 395.09/246.31 TOP(up(f(g(g(g(x0)))))) -> TOP(f_flat(down(g(g(g(x0)))))) 395.09/246.31 TOP(up(g(f(f(a))))) -> TOP(g_flat(down(f(f(a))))) 395.09/246.31 TOP(up(g(f(f(f(x0)))))) -> TOP(g_flat(down(f(f(f(x0)))))) 395.09/246.31 TOP(up(g(f(g(a))))) -> TOP(g_flat(down(f(g(a))))) 395.09/246.31 TOP(up(g(f(g(g(x0)))))) -> TOP(g_flat(down(f(g(g(x0)))))) 395.09/246.31 TOP(up(g(f(g(b))))) -> TOP(g_flat(down(f(g(b))))) 395.09/246.31 TOP(up(g(f(f(b))))) -> TOP(g_flat(f_flat(down(f(b))))) 395.09/246.31 395.09/246.31 The TRS R consists of the following rules: 395.09/246.31 395.09/246.31 down(f(g(b))) -> f_flat(down(g(b))) 395.09/246.31 g_flat(up(x_1)) -> up(g(x_1)) 395.09/246.31 f_flat(up(x_1)) -> up(f(x_1)) 395.09/246.31 down(f(g(g(fresh_constant)))) -> f_flat(down(g(g(fresh_constant)))) 395.09/246.31 down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) 395.09/246.31 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.09/246.31 down(f(g(g(f(x))))) -> up(b) 395.09/246.31 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.09/246.31 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.09/246.31 down(g(g(b))) -> g_flat(down(g(b))) 395.09/246.31 down(g(g(g(x)))) -> up(b) 395.09/246.31 down(g(g(a))) -> g_flat(down(g(a))) 395.09/246.31 down(g(a)) -> g_flat(down(a)) 395.09/246.31 down(a) -> up(f(a)) 395.09/246.31 down(a) -> up(g(a)) 395.09/246.31 down(f(g(a))) -> f_flat(down(g(a))) 395.09/246.31 down(f(f(b))) -> f_flat(down(f(b))) 395.09/246.31 down(f(f(f(x)))) -> up(b) 395.09/246.31 down(f(f(a))) -> f_flat(down(f(a))) 395.09/246.31 down(f(a)) -> f_flat(down(a)) 395.09/246.31 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.09/246.31 down(g(f(a))) -> g_flat(down(f(a))) 395.09/246.31 down(g(f(f(g(x))))) -> up(b) 395.09/246.31 down(g(f(g(f(x))))) -> up(b) 395.09/246.31 down(g(f(b))) -> g_flat(down(f(b))) 395.09/246.31 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.09/246.31 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.09/246.31 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.09/246.31 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.09/246.31 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.09/246.31 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.09/246.31 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.09/246.31 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.09/246.31 down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) 395.09/246.31 down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) 395.09/246.31 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.09/246.31 395.09/246.31 Q is empty. 395.09/246.31 We have to consider all minimal (P,Q,R)-chains. 395.09/246.31 ---------------------------------------- 395.09/246.31 395.09/246.31 (155) DependencyGraphProof (EQUIVALENT) 395.09/246.31 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 395.09/246.31 ---------------------------------------- 395.09/246.31 395.09/246.31 (156) 395.09/246.31 Obligation: 395.09/246.31 Q DP problem: 395.09/246.31 The TRS P consists of the following rules: 395.09/246.31 395.09/246.31 TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) 395.09/246.31 TOP(up(f(g(f(x0))))) -> TOP(f_flat(down(g(f(x0))))) 395.09/246.31 TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) 395.09/246.31 TOP(up(f(g(g(a))))) -> TOP(f_flat(down(g(g(a))))) 395.09/246.31 TOP(up(f(g(g(g(x0)))))) -> TOP(f_flat(down(g(g(g(x0)))))) 395.09/246.31 TOP(up(g(f(f(a))))) -> TOP(g_flat(down(f(f(a))))) 395.09/246.31 TOP(up(g(f(f(f(x0)))))) -> TOP(g_flat(down(f(f(f(x0)))))) 395.09/246.31 TOP(up(g(f(g(a))))) -> TOP(g_flat(down(f(g(a))))) 395.09/246.31 TOP(up(g(f(g(g(x0)))))) -> TOP(g_flat(down(f(g(g(x0)))))) 395.09/246.31 TOP(up(g(f(g(b))))) -> TOP(g_flat(down(f(g(b))))) 395.09/246.31 395.09/246.31 The TRS R consists of the following rules: 395.09/246.31 395.09/246.31 down(f(g(b))) -> f_flat(down(g(b))) 395.09/246.31 g_flat(up(x_1)) -> up(g(x_1)) 395.09/246.31 f_flat(up(x_1)) -> up(f(x_1)) 395.09/246.31 down(f(g(g(fresh_constant)))) -> f_flat(down(g(g(fresh_constant)))) 395.09/246.31 down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) 395.09/246.31 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.09/246.31 down(f(g(g(f(x))))) -> up(b) 395.09/246.31 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.09/246.31 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.09/246.31 down(g(g(b))) -> g_flat(down(g(b))) 395.09/246.31 down(g(g(g(x)))) -> up(b) 395.09/246.31 down(g(g(a))) -> g_flat(down(g(a))) 395.09/246.31 down(g(a)) -> g_flat(down(a)) 395.09/246.31 down(a) -> up(f(a)) 395.09/246.31 down(a) -> up(g(a)) 395.09/246.31 down(f(g(a))) -> f_flat(down(g(a))) 395.09/246.31 down(f(f(b))) -> f_flat(down(f(b))) 395.09/246.31 down(f(f(f(x)))) -> up(b) 395.09/246.31 down(f(f(a))) -> f_flat(down(f(a))) 395.09/246.31 down(f(a)) -> f_flat(down(a)) 395.09/246.31 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.09/246.31 down(g(f(a))) -> g_flat(down(f(a))) 395.09/246.31 down(g(f(f(g(x))))) -> up(b) 395.09/246.31 down(g(f(g(f(x))))) -> up(b) 395.09/246.31 down(g(f(b))) -> g_flat(down(f(b))) 395.09/246.31 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.09/246.31 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.09/246.31 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.09/246.31 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.09/246.31 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.09/246.31 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.09/246.31 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.09/246.31 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.09/246.31 down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) 395.09/246.31 down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) 395.09/246.31 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.09/246.31 395.09/246.31 Q is empty. 395.09/246.31 We have to consider all minimal (P,Q,R)-chains. 395.09/246.31 ---------------------------------------- 395.09/246.31 395.09/246.31 (157) TransformationProof (EQUIVALENT) 395.09/246.31 By narrowing [LPAR04] the rule TOP(up(g(f(g(b))))) -> TOP(g_flat(down(f(g(b))))) at position [0] we obtained the following new rules [LPAR04]: 395.09/246.31 395.09/246.31 (TOP(up(g(f(g(b))))) -> TOP(g_flat(f_flat(down(g(b))))),TOP(up(g(f(g(b))))) -> TOP(g_flat(f_flat(down(g(b)))))) 395.09/246.31 395.09/246.31 395.09/246.31 ---------------------------------------- 395.09/246.31 395.09/246.31 (158) 395.09/246.31 Obligation: 395.09/246.31 Q DP problem: 395.09/246.31 The TRS P consists of the following rules: 395.09/246.31 395.09/246.31 TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) 395.09/246.31 TOP(up(f(g(f(x0))))) -> TOP(f_flat(down(g(f(x0))))) 395.09/246.32 TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) 395.09/246.32 TOP(up(f(g(g(a))))) -> TOP(f_flat(down(g(g(a))))) 395.09/246.32 TOP(up(f(g(g(g(x0)))))) -> TOP(f_flat(down(g(g(g(x0)))))) 395.09/246.32 TOP(up(g(f(f(a))))) -> TOP(g_flat(down(f(f(a))))) 395.09/246.32 TOP(up(g(f(f(f(x0)))))) -> TOP(g_flat(down(f(f(f(x0)))))) 395.09/246.32 TOP(up(g(f(g(a))))) -> TOP(g_flat(down(f(g(a))))) 395.09/246.32 TOP(up(g(f(g(g(x0)))))) -> TOP(g_flat(down(f(g(g(x0)))))) 395.09/246.32 TOP(up(g(f(g(b))))) -> TOP(g_flat(f_flat(down(g(b))))) 395.09/246.32 395.09/246.32 The TRS R consists of the following rules: 395.09/246.32 395.09/246.32 down(f(g(b))) -> f_flat(down(g(b))) 395.09/246.32 g_flat(up(x_1)) -> up(g(x_1)) 395.09/246.32 f_flat(up(x_1)) -> up(f(x_1)) 395.09/246.32 down(f(g(g(fresh_constant)))) -> f_flat(down(g(g(fresh_constant)))) 395.09/246.32 down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) 395.09/246.32 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.09/246.32 down(f(g(g(f(x))))) -> up(b) 395.09/246.32 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.09/246.32 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.09/246.32 down(g(g(b))) -> g_flat(down(g(b))) 395.09/246.32 down(g(g(g(x)))) -> up(b) 395.09/246.32 down(g(g(a))) -> g_flat(down(g(a))) 395.09/246.32 down(g(a)) -> g_flat(down(a)) 395.09/246.32 down(a) -> up(f(a)) 395.09/246.32 down(a) -> up(g(a)) 395.09/246.32 down(f(g(a))) -> f_flat(down(g(a))) 395.09/246.32 down(f(f(b))) -> f_flat(down(f(b))) 395.09/246.32 down(f(f(f(x)))) -> up(b) 395.09/246.32 down(f(f(a))) -> f_flat(down(f(a))) 395.09/246.32 down(f(a)) -> f_flat(down(a)) 395.09/246.32 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.09/246.32 down(g(f(a))) -> g_flat(down(f(a))) 395.09/246.32 down(g(f(f(g(x))))) -> up(b) 395.09/246.32 down(g(f(g(f(x))))) -> up(b) 395.09/246.32 down(g(f(b))) -> g_flat(down(f(b))) 395.09/246.32 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.09/246.32 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.09/246.32 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.09/246.32 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.09/246.32 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.09/246.32 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.09/246.32 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.09/246.32 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.09/246.32 down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) 395.09/246.32 down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) 395.09/246.32 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.09/246.32 395.09/246.32 Q is empty. 395.09/246.32 We have to consider all minimal (P,Q,R)-chains. 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (159) DependencyGraphProof (EQUIVALENT) 395.09/246.32 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (160) 395.09/246.32 Obligation: 395.09/246.32 Q DP problem: 395.09/246.32 The TRS P consists of the following rules: 395.09/246.32 395.09/246.32 TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) 395.09/246.32 TOP(up(f(g(f(x0))))) -> TOP(f_flat(down(g(f(x0))))) 395.09/246.32 TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) 395.09/246.32 TOP(up(f(g(g(a))))) -> TOP(f_flat(down(g(g(a))))) 395.09/246.32 TOP(up(f(g(g(g(x0)))))) -> TOP(f_flat(down(g(g(g(x0)))))) 395.09/246.32 TOP(up(g(f(f(a))))) -> TOP(g_flat(down(f(f(a))))) 395.09/246.32 TOP(up(g(f(f(f(x0)))))) -> TOP(g_flat(down(f(f(f(x0)))))) 395.09/246.32 TOP(up(g(f(g(a))))) -> TOP(g_flat(down(f(g(a))))) 395.09/246.32 TOP(up(g(f(g(g(x0)))))) -> TOP(g_flat(down(f(g(g(x0)))))) 395.09/246.32 395.09/246.32 The TRS R consists of the following rules: 395.09/246.32 395.09/246.32 down(f(g(b))) -> f_flat(down(g(b))) 395.09/246.32 g_flat(up(x_1)) -> up(g(x_1)) 395.09/246.32 f_flat(up(x_1)) -> up(f(x_1)) 395.09/246.32 down(f(g(g(fresh_constant)))) -> f_flat(down(g(g(fresh_constant)))) 395.09/246.32 down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) 395.09/246.32 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.09/246.32 down(f(g(g(f(x))))) -> up(b) 395.09/246.32 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.09/246.32 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.09/246.32 down(g(g(b))) -> g_flat(down(g(b))) 395.09/246.32 down(g(g(g(x)))) -> up(b) 395.09/246.32 down(g(g(a))) -> g_flat(down(g(a))) 395.09/246.32 down(g(a)) -> g_flat(down(a)) 395.09/246.32 down(a) -> up(f(a)) 395.09/246.32 down(a) -> up(g(a)) 395.09/246.32 down(f(g(a))) -> f_flat(down(g(a))) 395.09/246.32 down(f(f(b))) -> f_flat(down(f(b))) 395.09/246.32 down(f(f(f(x)))) -> up(b) 395.09/246.32 down(f(f(a))) -> f_flat(down(f(a))) 395.09/246.32 down(f(a)) -> f_flat(down(a)) 395.09/246.32 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.09/246.32 down(g(f(a))) -> g_flat(down(f(a))) 395.09/246.32 down(g(f(f(g(x))))) -> up(b) 395.09/246.32 down(g(f(g(f(x))))) -> up(b) 395.09/246.32 down(g(f(b))) -> g_flat(down(f(b))) 395.09/246.32 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.09/246.32 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.09/246.32 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.09/246.32 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.09/246.32 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.09/246.32 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.09/246.32 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.09/246.32 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.09/246.32 down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) 395.09/246.32 down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) 395.09/246.32 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.09/246.32 395.09/246.32 Q is empty. 395.09/246.32 We have to consider all minimal (P,Q,R)-chains. 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (161) SplitQDPProof (EQUIVALENT) 395.09/246.32 We show in the first subproof that some pairs and rules can be removed, afterwards, we continue with the remaining DP-Problem 395.09/246.32 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (162) 395.09/246.32 Complex Obligation (AND) 395.09/246.32 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (163) 395.09/246.32 Obligation: 395.09/246.32 Q DP problem: 395.09/246.32 The TRS P consists of the following rules: 395.09/246.32 395.09/246.32 TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) 395.09/246.32 TOP(up(f(g(f(x0))))) -> TOP(f_flat(down(g(f(x0))))) 395.09/246.32 TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) 395.09/246.32 TOP(up(f(g(g(a))))) -> TOP(f_flat(down(g(g(a))))) 395.09/246.32 TOP(up(f(g(g(g(x0)))))) -> TOP(f_flat(down(g(g(g(x0)))))) 395.09/246.32 TOP(up(g(f(f(a))))) -> TOP(g_flat(down(f(f(a))))) 395.09/246.32 TOP(up(g(f(f(f(x0)))))) -> TOP(g_flat(down(f(f(f(x0)))))) 395.09/246.32 TOP(up(g(f(g(a))))) -> TOP(g_flat(down(f(g(a))))) 395.09/246.32 TOP(up(g(f(g(g(x0)))))) -> TOP(g_flat(down(f(g(g(x0)))))) 395.09/246.32 395.09/246.32 The TRS R consists of the following rules: 395.09/246.32 395.09/246.32 down(f(g(b))) -> f_flat(down(g(b))) 395.09/246.32 g_flat(up(x_1)) -> up(g(x_1)) 395.09/246.32 f_flat(up(x_1)) -> up(f(x_1)) 395.09/246.32 down(f(g(g(fresh_constant)))) -> f_flat(down(g(g(fresh_constant)))) 395.09/246.32 down(g(g(fresh_constant))) -> g_flat(down(g(fresh_constant))) 395.09/246.32 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.09/246.32 down(f(g(g(f(x))))) -> up(b) 395.09/246.32 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.09/246.32 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.09/246.32 down(g(g(b))) -> g_flat(down(g(b))) 395.09/246.32 down(g(g(g(x)))) -> up(b) 395.09/246.32 down(g(g(a))) -> g_flat(down(g(a))) 395.09/246.32 down(g(a)) -> g_flat(down(a)) 395.09/246.32 down(a) -> up(f(a)) 395.09/246.32 down(a) -> up(g(a)) 395.09/246.32 down(f(g(a))) -> f_flat(down(g(a))) 395.09/246.32 down(f(f(b))) -> f_flat(down(f(b))) 395.09/246.32 down(f(f(f(x)))) -> up(b) 395.09/246.32 down(f(f(a))) -> f_flat(down(f(a))) 395.09/246.32 down(f(a)) -> f_flat(down(a)) 395.09/246.32 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.09/246.32 down(g(f(a))) -> g_flat(down(f(a))) 395.09/246.32 down(g(f(f(g(x))))) -> up(b) 395.09/246.32 down(g(f(g(f(x))))) -> up(b) 395.09/246.32 down(g(f(b))) -> g_flat(down(f(b))) 395.09/246.32 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.09/246.32 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.09/246.32 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.09/246.32 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.09/246.32 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.09/246.32 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.09/246.32 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.09/246.32 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.09/246.32 down(f(g(fresh_constant))) -> f_flat(down(g(fresh_constant))) 395.09/246.32 down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) 395.09/246.32 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.09/246.32 395.09/246.32 Q is empty. 395.09/246.32 We have to consider all minimal (P,Q,R)-chains. 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (164) SemLabProof (SOUND) 395.09/246.32 We found the following model for the rules of the TRSs R and P. 395.09/246.32 Interpretation over the domain with elements from 0 to 1. 395.09/246.32 a: 0 395.09/246.32 b: 0 395.09/246.32 down: 0 395.09/246.32 f: 0 395.09/246.32 fresh_constant: 1 395.09/246.32 up: 0 395.09/246.32 f_flat: 0 395.09/246.32 TOP: 0 395.09/246.32 g_flat: 0 395.09/246.32 g: x0 395.09/246.32 By semantic labelling [SEMLAB] we obtain the following labelled QDP problem. 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (165) 395.09/246.32 Obligation: 395.09/246.32 Q DP problem: 395.09/246.32 The TRS P consists of the following rules: 395.09/246.32 395.09/246.32 TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) 395.09/246.32 TOP.0(up.0(f.0(f.1(g.1(x0))))) -> TOP.0(f_flat.0(down.0(f.1(g.1(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(f.0(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(f.1(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.32 TOP.0(up.0(g.0(g.0(f.0(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.32 TOP.0(up.0(g.0(g.0(f.1(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(g.0(a.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(a.))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(g.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.0(x0)))))) 395.09/246.32 TOP.0(up.0(f.1(g.1(g.1(g.1(x0)))))) -> TOP.0(f_flat.0(down.1(g.1(g.1(g.1(x0)))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(f.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(a.))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(f.0(f.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.0(x0)))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(f.0(f.1(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.1(x0)))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(a.))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(g.0(g.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.0(x0)))))) 395.09/246.32 TOP.0(up.0(g.0(f.1(g.1(g.1(x0)))))) -> TOP.0(g_flat.0(down.0(f.1(g.1(g.1(x0)))))) 395.09/246.32 395.09/246.32 The TRS R consists of the following rules: 395.09/246.32 395.09/246.32 down.0(f.0(g.0(b.))) -> f_flat.0(down.0(g.0(b.))) 395.09/246.32 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.32 g_flat.0(up.1(x_1)) -> up.1(g.1(x_1)) 395.09/246.32 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.32 f_flat.0(up.1(x_1)) -> up.0(f.1(x_1)) 395.09/246.32 down.0(f.1(g.1(g.1(fresh_constant.)))) -> f_flat.0(down.1(g.1(g.1(fresh_constant.)))) 395.09/246.32 down.1(g.1(g.1(fresh_constant.))) -> g_flat.0(down.1(g.1(fresh_constant.))) 395.09/246.32 down.0(f.0(g.0(g.0(a.)))) -> f_flat.0(down.0(g.0(g.0(a.)))) 395.09/246.32 down.0(f.0(g.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.32 down.0(f.0(g.0(g.0(f.1(x))))) -> up.0(b.) 395.09/246.32 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.32 down.0(f.1(g.1(g.1(g.1(y22))))) -> f_flat.0(down.1(g.1(g.1(g.1(y22))))) 395.09/246.32 down.0(f.0(g.0(g.0(b.)))) -> f_flat.0(down.0(g.0(g.0(b.)))) 395.09/246.32 down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) 395.09/246.32 down.0(g.0(g.0(g.0(x)))) -> up.0(b.) 395.09/246.32 down.1(g.1(g.1(g.1(x)))) -> up.0(b.) 395.09/246.32 down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) 395.09/246.32 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 395.09/246.32 down.0(a.) -> up.0(f.0(a.)) 395.09/246.32 down.0(a.) -> up.0(g.0(a.)) 395.09/246.32 down.0(f.0(g.0(a.))) -> f_flat.0(down.0(g.0(a.))) 395.09/246.32 down.0(f.0(f.0(b.))) -> f_flat.0(down.0(f.0(b.))) 395.09/246.32 down.0(f.0(f.0(f.0(x)))) -> up.0(b.) 395.09/246.32 down.0(f.0(f.0(f.1(x)))) -> up.0(b.) 395.09/246.32 down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) 395.09/246.32 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 395.09/246.32 down.0(g.0(f.1(fresh_constant.))) -> g_flat.0(down.0(f.1(fresh_constant.))) 395.09/246.32 down.0(g.0(f.0(a.))) -> g_flat.0(down.0(f.0(a.))) 395.09/246.32 down.0(g.0(f.0(f.0(g.0(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(f.1(g.1(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(g.0(f.1(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(b.))) -> g_flat.0(down.0(f.0(b.))) 395.09/246.32 down.0(g.0(f.0(f.0(a.)))) -> g_flat.0(down.0(f.0(f.0(a.)))) 395.09/246.32 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.32 down.0(g.0(f.0(f.0(f.1(y24))))) -> g_flat.0(down.0(f.0(f.0(f.1(y24))))) 395.09/246.32 down.0(g.0(f.0(f.0(b.)))) -> g_flat.0(down.0(f.0(f.0(b.)))) 395.09/246.32 down.0(g.0(f.0(f.1(fresh_constant.)))) -> g_flat.0(down.0(f.0(f.1(fresh_constant.)))) 395.09/246.32 down.0(g.0(f.0(g.0(a.)))) -> g_flat.0(down.0(f.0(g.0(a.)))) 395.09/246.32 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.32 down.0(g.0(f.1(g.1(g.1(y28))))) -> g_flat.0(down.0(f.1(g.1(g.1(y28))))) 395.09/246.32 down.0(g.0(f.0(g.0(b.)))) -> g_flat.0(down.0(f.0(g.0(b.)))) 395.09/246.32 down.0(g.0(f.1(g.1(fresh_constant.)))) -> g_flat.0(down.0(f.1(g.1(fresh_constant.)))) 395.09/246.32 down.0(f.1(g.1(fresh_constant.))) -> f_flat.0(down.1(g.1(fresh_constant.))) 395.09/246.32 down.0(f.0(f.1(fresh_constant.))) -> f_flat.0(down.0(f.1(fresh_constant.))) 395.09/246.32 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.32 down.0(f.0(g.0(f.1(y12)))) -> f_flat.0(down.0(g.0(f.1(y12)))) 395.09/246.32 395.09/246.32 Q is empty. 395.09/246.32 We have to consider all minimal (P,Q,R)-chains. 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (166) MRRProof (EQUIVALENT) 395.09/246.32 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. 395.09/246.32 395.09/246.32 395.09/246.32 Strictly oriented rules of the TRS R: 395.09/246.32 395.09/246.32 down.0(f.0(g.0(g.0(f.1(x))))) -> up.0(b.) 395.09/246.32 down.1(g.1(g.1(g.1(x)))) -> up.0(b.) 395.09/246.32 down.0(f.0(f.0(f.1(x)))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(f.1(g.1(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(g.0(f.1(x))))) -> up.0(b.) 395.09/246.32 395.09/246.32 Used ordering: Polynomial interpretation [POLO]: 395.09/246.32 395.09/246.32 POL(TOP.0(x_1)) = x_1 395.09/246.32 POL(a.) = 0 395.09/246.32 POL(b.) = 0 395.09/246.32 POL(down.0(x_1)) = x_1 395.09/246.32 POL(down.1(x_1)) = 1 + x_1 395.09/246.32 POL(f.0(x_1)) = x_1 395.09/246.32 POL(f.1(x_1)) = 1 + x_1 395.09/246.32 POL(f_flat.0(x_1)) = x_1 395.09/246.32 POL(fresh_constant.) = 0 395.09/246.32 POL(g.0(x_1)) = x_1 395.09/246.32 POL(g.1(x_1)) = x_1 395.09/246.32 POL(g_flat.0(x_1)) = x_1 395.09/246.32 POL(up.0(x_1)) = x_1 395.09/246.32 POL(up.1(x_1)) = 1 + x_1 395.09/246.32 395.09/246.32 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (167) 395.09/246.32 Obligation: 395.09/246.32 Q DP problem: 395.09/246.32 The TRS P consists of the following rules: 395.09/246.32 395.09/246.32 TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) 395.09/246.32 TOP.0(up.0(f.0(f.1(g.1(x0))))) -> TOP.0(f_flat.0(down.0(f.1(g.1(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(f.0(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(f.1(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.32 TOP.0(up.0(g.0(g.0(f.0(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.32 TOP.0(up.0(g.0(g.0(f.1(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(g.0(a.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(a.))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(g.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.0(x0)))))) 395.09/246.32 TOP.0(up.0(f.1(g.1(g.1(g.1(x0)))))) -> TOP.0(f_flat.0(down.1(g.1(g.1(g.1(x0)))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(f.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(a.))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(f.0(f.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.0(x0)))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(f.0(f.1(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.1(x0)))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(a.))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(g.0(g.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.0(x0)))))) 395.09/246.32 TOP.0(up.0(g.0(f.1(g.1(g.1(x0)))))) -> TOP.0(g_flat.0(down.0(f.1(g.1(g.1(x0)))))) 395.09/246.32 395.09/246.32 The TRS R consists of the following rules: 395.09/246.32 395.09/246.32 down.0(f.0(g.0(b.))) -> f_flat.0(down.0(g.0(b.))) 395.09/246.32 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.32 g_flat.0(up.1(x_1)) -> up.1(g.1(x_1)) 395.09/246.32 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.32 f_flat.0(up.1(x_1)) -> up.0(f.1(x_1)) 395.09/246.32 down.0(f.1(g.1(g.1(fresh_constant.)))) -> f_flat.0(down.1(g.1(g.1(fresh_constant.)))) 395.09/246.32 down.1(g.1(g.1(fresh_constant.))) -> g_flat.0(down.1(g.1(fresh_constant.))) 395.09/246.32 down.0(f.0(g.0(g.0(a.)))) -> f_flat.0(down.0(g.0(g.0(a.)))) 395.09/246.32 down.0(f.0(g.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.32 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.32 down.0(f.1(g.1(g.1(g.1(y22))))) -> f_flat.0(down.1(g.1(g.1(g.1(y22))))) 395.09/246.32 down.0(f.0(g.0(g.0(b.)))) -> f_flat.0(down.0(g.0(g.0(b.)))) 395.09/246.32 down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) 395.09/246.32 down.0(g.0(g.0(g.0(x)))) -> up.0(b.) 395.09/246.32 down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) 395.09/246.32 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 395.09/246.32 down.0(a.) -> up.0(f.0(a.)) 395.09/246.32 down.0(a.) -> up.0(g.0(a.)) 395.09/246.32 down.0(f.0(g.0(a.))) -> f_flat.0(down.0(g.0(a.))) 395.09/246.32 down.0(f.0(f.0(b.))) -> f_flat.0(down.0(f.0(b.))) 395.09/246.32 down.0(f.0(f.0(f.0(x)))) -> up.0(b.) 395.09/246.32 down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) 395.09/246.32 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 395.09/246.32 down.0(g.0(f.1(fresh_constant.))) -> g_flat.0(down.0(f.1(fresh_constant.))) 395.09/246.32 down.0(g.0(f.0(a.))) -> g_flat.0(down.0(f.0(a.))) 395.09/246.32 down.0(g.0(f.0(f.0(g.0(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(b.))) -> g_flat.0(down.0(f.0(b.))) 395.09/246.32 down.0(g.0(f.0(f.0(a.)))) -> g_flat.0(down.0(f.0(f.0(a.)))) 395.09/246.32 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.32 down.0(g.0(f.0(f.0(f.1(y24))))) -> g_flat.0(down.0(f.0(f.0(f.1(y24))))) 395.09/246.32 down.0(g.0(f.0(f.0(b.)))) -> g_flat.0(down.0(f.0(f.0(b.)))) 395.09/246.32 down.0(g.0(f.0(f.1(fresh_constant.)))) -> g_flat.0(down.0(f.0(f.1(fresh_constant.)))) 395.09/246.32 down.0(g.0(f.0(g.0(a.)))) -> g_flat.0(down.0(f.0(g.0(a.)))) 395.09/246.32 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.32 down.0(g.0(f.1(g.1(g.1(y28))))) -> g_flat.0(down.0(f.1(g.1(g.1(y28))))) 395.09/246.32 down.0(g.0(f.0(g.0(b.)))) -> g_flat.0(down.0(f.0(g.0(b.)))) 395.09/246.32 down.0(g.0(f.1(g.1(fresh_constant.)))) -> g_flat.0(down.0(f.1(g.1(fresh_constant.)))) 395.09/246.32 down.0(f.1(g.1(fresh_constant.))) -> f_flat.0(down.1(g.1(fresh_constant.))) 395.09/246.32 down.0(f.0(f.1(fresh_constant.))) -> f_flat.0(down.0(f.1(fresh_constant.))) 395.09/246.32 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.32 down.0(f.0(g.0(f.1(y12)))) -> f_flat.0(down.0(g.0(f.1(y12)))) 395.09/246.32 395.09/246.32 Q is empty. 395.09/246.32 We have to consider all minimal (P,Q,R)-chains. 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (168) DependencyGraphProof (EQUIVALENT) 395.09/246.32 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (169) 395.09/246.32 Obligation: 395.09/246.32 Q DP problem: 395.09/246.32 The TRS P consists of the following rules: 395.09/246.32 395.09/246.32 TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) 395.09/246.32 TOP.0(up.0(f.0(f.1(g.1(x0))))) -> TOP.0(f_flat.0(down.0(f.1(g.1(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(f.0(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(f.1(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.32 TOP.0(up.0(g.0(g.0(f.0(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.32 TOP.0(up.0(g.0(g.0(f.1(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(g.0(a.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(a.))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(g.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.0(x0)))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(f.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(a.))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(f.0(f.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.0(x0)))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(a.))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(g.0(g.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.0(x0)))))) 395.09/246.32 TOP.0(up.0(g.0(f.1(g.1(g.1(x0)))))) -> TOP.0(g_flat.0(down.0(f.1(g.1(g.1(x0)))))) 395.09/246.32 395.09/246.32 The TRS R consists of the following rules: 395.09/246.32 395.09/246.32 down.0(f.0(g.0(b.))) -> f_flat.0(down.0(g.0(b.))) 395.09/246.32 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.32 g_flat.0(up.1(x_1)) -> up.1(g.1(x_1)) 395.09/246.32 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.32 f_flat.0(up.1(x_1)) -> up.0(f.1(x_1)) 395.09/246.32 down.0(f.1(g.1(g.1(fresh_constant.)))) -> f_flat.0(down.1(g.1(g.1(fresh_constant.)))) 395.09/246.32 down.1(g.1(g.1(fresh_constant.))) -> g_flat.0(down.1(g.1(fresh_constant.))) 395.09/246.32 down.0(f.0(g.0(g.0(a.)))) -> f_flat.0(down.0(g.0(g.0(a.)))) 395.09/246.32 down.0(f.0(g.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.32 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.32 down.0(f.1(g.1(g.1(g.1(y22))))) -> f_flat.0(down.1(g.1(g.1(g.1(y22))))) 395.09/246.32 down.0(f.0(g.0(g.0(b.)))) -> f_flat.0(down.0(g.0(g.0(b.)))) 395.09/246.32 down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) 395.09/246.32 down.0(g.0(g.0(g.0(x)))) -> up.0(b.) 395.09/246.32 down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) 395.09/246.32 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 395.09/246.32 down.0(a.) -> up.0(f.0(a.)) 395.09/246.32 down.0(a.) -> up.0(g.0(a.)) 395.09/246.32 down.0(f.0(g.0(a.))) -> f_flat.0(down.0(g.0(a.))) 395.09/246.32 down.0(f.0(f.0(b.))) -> f_flat.0(down.0(f.0(b.))) 395.09/246.32 down.0(f.0(f.0(f.0(x)))) -> up.0(b.) 395.09/246.32 down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) 395.09/246.32 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 395.09/246.32 down.0(g.0(f.1(fresh_constant.))) -> g_flat.0(down.0(f.1(fresh_constant.))) 395.09/246.32 down.0(g.0(f.0(a.))) -> g_flat.0(down.0(f.0(a.))) 395.09/246.32 down.0(g.0(f.0(f.0(g.0(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(b.))) -> g_flat.0(down.0(f.0(b.))) 395.09/246.32 down.0(g.0(f.0(f.0(a.)))) -> g_flat.0(down.0(f.0(f.0(a.)))) 395.09/246.32 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.32 down.0(g.0(f.0(f.0(f.1(y24))))) -> g_flat.0(down.0(f.0(f.0(f.1(y24))))) 395.09/246.32 down.0(g.0(f.0(f.0(b.)))) -> g_flat.0(down.0(f.0(f.0(b.)))) 395.09/246.32 down.0(g.0(f.0(f.1(fresh_constant.)))) -> g_flat.0(down.0(f.0(f.1(fresh_constant.)))) 395.09/246.32 down.0(g.0(f.0(g.0(a.)))) -> g_flat.0(down.0(f.0(g.0(a.)))) 395.09/246.32 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.32 down.0(g.0(f.1(g.1(g.1(y28))))) -> g_flat.0(down.0(f.1(g.1(g.1(y28))))) 395.09/246.32 down.0(g.0(f.0(g.0(b.)))) -> g_flat.0(down.0(f.0(g.0(b.)))) 395.09/246.32 down.0(g.0(f.1(g.1(fresh_constant.)))) -> g_flat.0(down.0(f.1(g.1(fresh_constant.)))) 395.09/246.32 down.0(f.1(g.1(fresh_constant.))) -> f_flat.0(down.1(g.1(fresh_constant.))) 395.09/246.32 down.0(f.0(f.1(fresh_constant.))) -> f_flat.0(down.0(f.1(fresh_constant.))) 395.09/246.32 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.32 down.0(f.0(g.0(f.1(y12)))) -> f_flat.0(down.0(g.0(f.1(y12)))) 395.09/246.32 395.09/246.32 Q is empty. 395.09/246.32 We have to consider all minimal (P,Q,R)-chains. 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (170) MRRProof (EQUIVALENT) 395.09/246.32 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. 395.09/246.32 395.09/246.32 395.09/246.32 Strictly oriented rules of the TRS R: 395.09/246.32 395.09/246.32 f_flat.0(up.1(x_1)) -> up.0(f.1(x_1)) 395.09/246.32 395.09/246.32 Used ordering: Polynomial interpretation [POLO]: 395.09/246.32 395.09/246.32 POL(TOP.0(x_1)) = x_1 395.09/246.32 POL(a.) = 0 395.09/246.32 POL(b.) = 0 395.09/246.32 POL(down.0(x_1)) = x_1 395.09/246.32 POL(down.1(x_1)) = x_1 395.09/246.32 POL(f.0(x_1)) = x_1 395.09/246.32 POL(f.1(x_1)) = x_1 395.09/246.32 POL(f_flat.0(x_1)) = x_1 395.09/246.32 POL(fresh_constant.) = 0 395.09/246.32 POL(g.0(x_1)) = x_1 395.09/246.32 POL(g.1(x_1)) = x_1 395.09/246.32 POL(g_flat.0(x_1)) = x_1 395.09/246.32 POL(up.0(x_1)) = x_1 395.09/246.32 POL(up.1(x_1)) = 1 + x_1 395.09/246.32 395.09/246.32 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (171) 395.09/246.32 Obligation: 395.09/246.32 Q DP problem: 395.09/246.32 The TRS P consists of the following rules: 395.09/246.32 395.09/246.32 TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) 395.09/246.32 TOP.0(up.0(f.0(f.1(g.1(x0))))) -> TOP.0(f_flat.0(down.0(f.1(g.1(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(f.0(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(f.1(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.32 TOP.0(up.0(g.0(g.0(f.0(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.32 TOP.0(up.0(g.0(g.0(f.1(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(g.0(a.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(a.))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(g.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.0(x0)))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(f.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(a.))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(f.0(f.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.0(x0)))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(a.))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(g.0(g.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.0(x0)))))) 395.09/246.32 TOP.0(up.0(g.0(f.1(g.1(g.1(x0)))))) -> TOP.0(g_flat.0(down.0(f.1(g.1(g.1(x0)))))) 395.09/246.32 395.09/246.32 The TRS R consists of the following rules: 395.09/246.32 395.09/246.32 down.0(f.0(g.0(b.))) -> f_flat.0(down.0(g.0(b.))) 395.09/246.32 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.32 g_flat.0(up.1(x_1)) -> up.1(g.1(x_1)) 395.09/246.32 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.32 down.0(f.1(g.1(g.1(fresh_constant.)))) -> f_flat.0(down.1(g.1(g.1(fresh_constant.)))) 395.09/246.32 down.1(g.1(g.1(fresh_constant.))) -> g_flat.0(down.1(g.1(fresh_constant.))) 395.09/246.32 down.0(f.0(g.0(g.0(a.)))) -> f_flat.0(down.0(g.0(g.0(a.)))) 395.09/246.32 down.0(f.0(g.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.32 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.32 down.0(f.1(g.1(g.1(g.1(y22))))) -> f_flat.0(down.1(g.1(g.1(g.1(y22))))) 395.09/246.32 down.0(f.0(g.0(g.0(b.)))) -> f_flat.0(down.0(g.0(g.0(b.)))) 395.09/246.32 down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) 395.09/246.32 down.0(g.0(g.0(g.0(x)))) -> up.0(b.) 395.09/246.32 down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) 395.09/246.32 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 395.09/246.32 down.0(a.) -> up.0(f.0(a.)) 395.09/246.32 down.0(a.) -> up.0(g.0(a.)) 395.09/246.32 down.0(f.0(g.0(a.))) -> f_flat.0(down.0(g.0(a.))) 395.09/246.32 down.0(f.0(f.0(b.))) -> f_flat.0(down.0(f.0(b.))) 395.09/246.32 down.0(f.0(f.0(f.0(x)))) -> up.0(b.) 395.09/246.32 down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) 395.09/246.32 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 395.09/246.32 down.0(g.0(f.1(fresh_constant.))) -> g_flat.0(down.0(f.1(fresh_constant.))) 395.09/246.32 down.0(g.0(f.0(a.))) -> g_flat.0(down.0(f.0(a.))) 395.09/246.32 down.0(g.0(f.0(f.0(g.0(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(b.))) -> g_flat.0(down.0(f.0(b.))) 395.09/246.32 down.0(g.0(f.0(f.0(a.)))) -> g_flat.0(down.0(f.0(f.0(a.)))) 395.09/246.32 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.32 down.0(g.0(f.0(f.0(f.1(y24))))) -> g_flat.0(down.0(f.0(f.0(f.1(y24))))) 395.09/246.32 down.0(g.0(f.0(f.0(b.)))) -> g_flat.0(down.0(f.0(f.0(b.)))) 395.09/246.32 down.0(g.0(f.0(f.1(fresh_constant.)))) -> g_flat.0(down.0(f.0(f.1(fresh_constant.)))) 395.09/246.32 down.0(g.0(f.0(g.0(a.)))) -> g_flat.0(down.0(f.0(g.0(a.)))) 395.09/246.32 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.32 down.0(g.0(f.1(g.1(g.1(y28))))) -> g_flat.0(down.0(f.1(g.1(g.1(y28))))) 395.09/246.32 down.0(g.0(f.0(g.0(b.)))) -> g_flat.0(down.0(f.0(g.0(b.)))) 395.09/246.32 down.0(g.0(f.1(g.1(fresh_constant.)))) -> g_flat.0(down.0(f.1(g.1(fresh_constant.)))) 395.09/246.32 down.0(f.1(g.1(fresh_constant.))) -> f_flat.0(down.1(g.1(fresh_constant.))) 395.09/246.32 down.0(f.0(f.1(fresh_constant.))) -> f_flat.0(down.0(f.1(fresh_constant.))) 395.09/246.32 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.32 down.0(f.0(g.0(f.1(y12)))) -> f_flat.0(down.0(g.0(f.1(y12)))) 395.09/246.32 395.09/246.32 Q is empty. 395.09/246.32 We have to consider all minimal (P,Q,R)-chains. 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (172) MRRProof (EQUIVALENT) 395.09/246.32 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. 395.09/246.32 395.09/246.32 395.09/246.32 Strictly oriented rules of the TRS R: 395.09/246.32 395.09/246.32 down.0(f.1(g.1(g.1(fresh_constant.)))) -> f_flat.0(down.1(g.1(g.1(fresh_constant.)))) 395.09/246.32 down.0(f.1(g.1(g.1(g.1(y22))))) -> f_flat.0(down.1(g.1(g.1(g.1(y22))))) 395.09/246.32 down.0(f.1(g.1(fresh_constant.))) -> f_flat.0(down.1(g.1(fresh_constant.))) 395.09/246.32 395.09/246.32 Used ordering: Polynomial interpretation [POLO]: 395.09/246.32 395.09/246.32 POL(TOP.0(x_1)) = x_1 395.09/246.32 POL(a.) = 0 395.09/246.32 POL(b.) = 0 395.09/246.32 POL(down.0(x_1)) = x_1 395.09/246.32 POL(down.1(x_1)) = x_1 395.09/246.32 POL(f.0(x_1)) = x_1 395.09/246.32 POL(f.1(x_1)) = 1 + x_1 395.09/246.32 POL(f_flat.0(x_1)) = x_1 395.09/246.32 POL(fresh_constant.) = 0 395.09/246.32 POL(g.0(x_1)) = x_1 395.09/246.32 POL(g.1(x_1)) = x_1 395.09/246.32 POL(g_flat.0(x_1)) = x_1 395.09/246.32 POL(up.0(x_1)) = x_1 395.09/246.32 POL(up.1(x_1)) = x_1 395.09/246.32 395.09/246.32 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (173) 395.09/246.32 Obligation: 395.09/246.32 Q DP problem: 395.09/246.32 The TRS P consists of the following rules: 395.09/246.32 395.09/246.32 TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) 395.09/246.32 TOP.0(up.0(f.0(f.1(g.1(x0))))) -> TOP.0(f_flat.0(down.0(f.1(g.1(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(f.0(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(f.1(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.32 TOP.0(up.0(g.0(g.0(f.0(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.32 TOP.0(up.0(g.0(g.0(f.1(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(g.0(a.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(a.))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(g.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.0(x0)))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(f.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(a.))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(f.0(f.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.0(x0)))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(a.))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(g.0(g.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.0(x0)))))) 395.09/246.32 TOP.0(up.0(g.0(f.1(g.1(g.1(x0)))))) -> TOP.0(g_flat.0(down.0(f.1(g.1(g.1(x0)))))) 395.09/246.32 395.09/246.32 The TRS R consists of the following rules: 395.09/246.32 395.09/246.32 down.0(f.0(g.0(b.))) -> f_flat.0(down.0(g.0(b.))) 395.09/246.32 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.32 g_flat.0(up.1(x_1)) -> up.1(g.1(x_1)) 395.09/246.32 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.32 down.1(g.1(g.1(fresh_constant.))) -> g_flat.0(down.1(g.1(fresh_constant.))) 395.09/246.32 down.0(f.0(g.0(g.0(a.)))) -> f_flat.0(down.0(g.0(g.0(a.)))) 395.09/246.32 down.0(f.0(g.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.32 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.32 down.0(f.0(g.0(g.0(b.)))) -> f_flat.0(down.0(g.0(g.0(b.)))) 395.09/246.32 down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) 395.09/246.32 down.0(g.0(g.0(g.0(x)))) -> up.0(b.) 395.09/246.32 down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) 395.09/246.32 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 395.09/246.32 down.0(a.) -> up.0(f.0(a.)) 395.09/246.32 down.0(a.) -> up.0(g.0(a.)) 395.09/246.32 down.0(f.0(g.0(a.))) -> f_flat.0(down.0(g.0(a.))) 395.09/246.32 down.0(f.0(f.0(b.))) -> f_flat.0(down.0(f.0(b.))) 395.09/246.32 down.0(f.0(f.0(f.0(x)))) -> up.0(b.) 395.09/246.32 down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) 395.09/246.32 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 395.09/246.32 down.0(g.0(f.1(fresh_constant.))) -> g_flat.0(down.0(f.1(fresh_constant.))) 395.09/246.32 down.0(g.0(f.0(a.))) -> g_flat.0(down.0(f.0(a.))) 395.09/246.32 down.0(g.0(f.0(f.0(g.0(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(b.))) -> g_flat.0(down.0(f.0(b.))) 395.09/246.32 down.0(g.0(f.0(f.0(a.)))) -> g_flat.0(down.0(f.0(f.0(a.)))) 395.09/246.32 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.32 down.0(g.0(f.0(f.0(f.1(y24))))) -> g_flat.0(down.0(f.0(f.0(f.1(y24))))) 395.09/246.32 down.0(g.0(f.0(f.0(b.)))) -> g_flat.0(down.0(f.0(f.0(b.)))) 395.09/246.32 down.0(g.0(f.0(f.1(fresh_constant.)))) -> g_flat.0(down.0(f.0(f.1(fresh_constant.)))) 395.09/246.32 down.0(g.0(f.0(g.0(a.)))) -> g_flat.0(down.0(f.0(g.0(a.)))) 395.09/246.32 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.32 down.0(g.0(f.1(g.1(g.1(y28))))) -> g_flat.0(down.0(f.1(g.1(g.1(y28))))) 395.09/246.32 down.0(g.0(f.0(g.0(b.)))) -> g_flat.0(down.0(f.0(g.0(b.)))) 395.09/246.32 down.0(g.0(f.1(g.1(fresh_constant.)))) -> g_flat.0(down.0(f.1(g.1(fresh_constant.)))) 395.09/246.32 down.0(f.0(f.1(fresh_constant.))) -> f_flat.0(down.0(f.1(fresh_constant.))) 395.09/246.32 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.32 down.0(f.0(g.0(f.1(y12)))) -> f_flat.0(down.0(g.0(f.1(y12)))) 395.09/246.32 395.09/246.32 Q is empty. 395.09/246.32 We have to consider all minimal (P,Q,R)-chains. 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (174) DependencyGraphProof (EQUIVALENT) 395.09/246.32 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (175) 395.09/246.32 Obligation: 395.09/246.32 Q DP problem: 395.09/246.32 The TRS P consists of the following rules: 395.09/246.32 395.09/246.32 TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(f.0(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(f.1(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.32 TOP.0(up.0(g.0(g.0(f.0(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.32 TOP.0(up.0(g.0(g.0(f.1(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(g.0(a.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(a.))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(g.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.0(x0)))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(f.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(a.))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(f.0(f.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.0(x0)))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(a.))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(g.0(g.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.0(x0)))))) 395.09/246.32 395.09/246.32 The TRS R consists of the following rules: 395.09/246.32 395.09/246.32 down.0(f.0(g.0(b.))) -> f_flat.0(down.0(g.0(b.))) 395.09/246.32 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.32 g_flat.0(up.1(x_1)) -> up.1(g.1(x_1)) 395.09/246.32 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.32 down.1(g.1(g.1(fresh_constant.))) -> g_flat.0(down.1(g.1(fresh_constant.))) 395.09/246.32 down.0(f.0(g.0(g.0(a.)))) -> f_flat.0(down.0(g.0(g.0(a.)))) 395.09/246.32 down.0(f.0(g.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.32 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.32 down.0(f.0(g.0(g.0(b.)))) -> f_flat.0(down.0(g.0(g.0(b.)))) 395.09/246.32 down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) 395.09/246.32 down.0(g.0(g.0(g.0(x)))) -> up.0(b.) 395.09/246.32 down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) 395.09/246.32 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 395.09/246.32 down.0(a.) -> up.0(f.0(a.)) 395.09/246.32 down.0(a.) -> up.0(g.0(a.)) 395.09/246.32 down.0(f.0(g.0(a.))) -> f_flat.0(down.0(g.0(a.))) 395.09/246.32 down.0(f.0(f.0(b.))) -> f_flat.0(down.0(f.0(b.))) 395.09/246.32 down.0(f.0(f.0(f.0(x)))) -> up.0(b.) 395.09/246.32 down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) 395.09/246.32 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 395.09/246.32 down.0(g.0(f.1(fresh_constant.))) -> g_flat.0(down.0(f.1(fresh_constant.))) 395.09/246.32 down.0(g.0(f.0(a.))) -> g_flat.0(down.0(f.0(a.))) 395.09/246.32 down.0(g.0(f.0(f.0(g.0(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(b.))) -> g_flat.0(down.0(f.0(b.))) 395.09/246.32 down.0(g.0(f.0(f.0(a.)))) -> g_flat.0(down.0(f.0(f.0(a.)))) 395.09/246.32 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.32 down.0(g.0(f.0(f.0(f.1(y24))))) -> g_flat.0(down.0(f.0(f.0(f.1(y24))))) 395.09/246.32 down.0(g.0(f.0(f.0(b.)))) -> g_flat.0(down.0(f.0(f.0(b.)))) 395.09/246.32 down.0(g.0(f.0(f.1(fresh_constant.)))) -> g_flat.0(down.0(f.0(f.1(fresh_constant.)))) 395.09/246.32 down.0(g.0(f.0(g.0(a.)))) -> g_flat.0(down.0(f.0(g.0(a.)))) 395.09/246.32 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.32 down.0(g.0(f.1(g.1(g.1(y28))))) -> g_flat.0(down.0(f.1(g.1(g.1(y28))))) 395.09/246.32 down.0(g.0(f.0(g.0(b.)))) -> g_flat.0(down.0(f.0(g.0(b.)))) 395.09/246.32 down.0(g.0(f.1(g.1(fresh_constant.)))) -> g_flat.0(down.0(f.1(g.1(fresh_constant.)))) 395.09/246.32 down.0(f.0(f.1(fresh_constant.))) -> f_flat.0(down.0(f.1(fresh_constant.))) 395.09/246.32 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.32 down.0(f.0(g.0(f.1(y12)))) -> f_flat.0(down.0(g.0(f.1(y12)))) 395.09/246.32 395.09/246.32 Q is empty. 395.09/246.32 We have to consider all minimal (P,Q,R)-chains. 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (176) UsableRulesReductionPairsProof (EQUIVALENT) 395.09/246.32 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. 395.09/246.32 395.09/246.32 No dependency pairs are removed. 395.09/246.32 395.09/246.32 The following rules are removed from R: 395.09/246.32 395.09/246.32 down.1(g.1(g.1(fresh_constant.))) -> g_flat.0(down.1(g.1(fresh_constant.))) 395.09/246.32 Used ordering: POLO with Polynomial interpretation [POLO]: 395.09/246.32 395.09/246.32 POL(TOP.0(x_1)) = x_1 395.09/246.32 POL(a.) = 0 395.09/246.32 POL(b.) = 0 395.09/246.32 POL(down.0(x_1)) = 1 + x_1 395.09/246.32 POL(f.0(x_1)) = x_1 395.09/246.32 POL(f.1(x_1)) = x_1 395.09/246.32 POL(f_flat.0(x_1)) = x_1 395.09/246.32 POL(fresh_constant.) = 0 395.09/246.32 POL(g.0(x_1)) = x_1 395.09/246.32 POL(g.1(x_1)) = x_1 395.09/246.32 POL(g_flat.0(x_1)) = x_1 395.09/246.32 POL(up.0(x_1)) = 1 + x_1 395.09/246.32 POL(up.1(x_1)) = x_1 395.09/246.32 395.09/246.32 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (177) 395.09/246.32 Obligation: 395.09/246.32 Q DP problem: 395.09/246.32 The TRS P consists of the following rules: 395.09/246.32 395.09/246.32 TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(f.0(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(f.1(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.32 TOP.0(up.0(g.0(g.0(f.0(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.32 TOP.0(up.0(g.0(g.0(f.1(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(g.0(a.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(a.))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(g.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.0(x0)))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(f.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(a.))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(f.0(f.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.0(x0)))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(a.))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(g.0(g.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.0(x0)))))) 395.09/246.32 395.09/246.32 The TRS R consists of the following rules: 395.09/246.32 395.09/246.32 down.0(f.0(g.0(g.0(a.)))) -> f_flat.0(down.0(g.0(g.0(a.)))) 395.09/246.32 down.0(f.0(g.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.32 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.32 down.0(f.0(g.0(g.0(b.)))) -> f_flat.0(down.0(g.0(g.0(b.)))) 395.09/246.32 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.32 g_flat.0(up.1(x_1)) -> up.1(g.1(x_1)) 395.09/246.32 down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) 395.09/246.32 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.32 down.0(g.0(g.0(g.0(x)))) -> up.0(b.) 395.09/246.32 down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) 395.09/246.32 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 395.09/246.32 down.0(a.) -> up.0(f.0(a.)) 395.09/246.32 down.0(a.) -> up.0(g.0(a.)) 395.09/246.32 down.0(f.0(g.0(a.))) -> f_flat.0(down.0(g.0(a.))) 395.09/246.32 down.0(f.0(f.0(f.0(x)))) -> up.0(b.) 395.09/246.32 down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) 395.09/246.32 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 395.09/246.32 down.0(g.0(f.1(fresh_constant.))) -> g_flat.0(down.0(f.1(fresh_constant.))) 395.09/246.32 down.0(g.0(f.1(g.1(g.1(y28))))) -> g_flat.0(down.0(f.1(g.1(g.1(y28))))) 395.09/246.32 down.0(g.0(f.1(g.1(fresh_constant.)))) -> g_flat.0(down.0(f.1(g.1(fresh_constant.)))) 395.09/246.32 down.0(g.0(f.0(a.))) -> g_flat.0(down.0(f.0(a.))) 395.09/246.32 down.0(g.0(f.0(f.0(g.0(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(b.))) -> g_flat.0(down.0(f.0(b.))) 395.09/246.32 down.0(g.0(f.0(f.0(a.)))) -> g_flat.0(down.0(f.0(f.0(a.)))) 395.09/246.32 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.32 down.0(g.0(f.0(f.0(f.1(y24))))) -> g_flat.0(down.0(f.0(f.0(f.1(y24))))) 395.09/246.32 down.0(g.0(f.0(f.0(b.)))) -> g_flat.0(down.0(f.0(f.0(b.)))) 395.09/246.32 down.0(g.0(f.0(f.1(fresh_constant.)))) -> g_flat.0(down.0(f.0(f.1(fresh_constant.)))) 395.09/246.32 down.0(g.0(f.0(g.0(a.)))) -> g_flat.0(down.0(f.0(g.0(a.)))) 395.09/246.32 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.32 down.0(g.0(f.0(g.0(b.)))) -> g_flat.0(down.0(f.0(g.0(b.)))) 395.09/246.32 down.0(f.0(g.0(b.))) -> f_flat.0(down.0(g.0(b.))) 395.09/246.32 down.0(f.0(f.1(fresh_constant.))) -> f_flat.0(down.0(f.1(fresh_constant.))) 395.09/246.32 down.0(f.0(f.0(b.))) -> f_flat.0(down.0(f.0(b.))) 395.09/246.32 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.32 down.0(f.0(g.0(f.1(y12)))) -> f_flat.0(down.0(g.0(f.1(y12)))) 395.09/246.32 395.09/246.32 Q is empty. 395.09/246.32 We have to consider all minimal (P,Q,R)-chains. 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (178) QDPOrderProof (EQUIVALENT) 395.09/246.32 We use the reduction pair processor [LPAR04,JAR06]. 395.09/246.32 395.09/246.32 395.09/246.32 The following pairs can be oriented strictly and are deleted. 395.09/246.32 395.09/246.32 TOP.0(up.0(g.0(g.0(f.1(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.32 The remaining pairs can at least be oriented weakly. 395.09/246.32 Used ordering: Polynomial interpretation [POLO]: 395.09/246.32 395.09/246.32 POL(TOP.0(x_1)) = x_1 395.09/246.32 POL(a.) = 0 395.09/246.32 POL(b.) = 0 395.09/246.32 POL(down.0(x_1)) = x_1 395.09/246.32 POL(f.0(x_1)) = 1 395.09/246.32 POL(f.1(x_1)) = 0 395.09/246.32 POL(f_flat.0(x_1)) = 1 395.09/246.32 POL(fresh_constant.) = 0 395.09/246.32 POL(g.0(x_1)) = x_1 395.09/246.32 POL(g.1(x_1)) = 0 395.09/246.32 POL(g_flat.0(x_1)) = x_1 395.09/246.32 POL(up.0(x_1)) = 1 395.09/246.32 POL(up.1(x_1)) = 1 + x_1 395.09/246.32 395.09/246.32 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 395.09/246.32 395.09/246.32 down.0(f.0(g.0(g.0(a.)))) -> f_flat.0(down.0(g.0(g.0(a.)))) 395.09/246.32 down.0(f.0(g.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.32 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.32 down.0(f.0(g.0(g.0(b.)))) -> f_flat.0(down.0(g.0(g.0(b.)))) 395.09/246.32 down.0(f.0(g.0(a.))) -> f_flat.0(down.0(g.0(a.))) 395.09/246.32 down.0(f.0(g.0(b.))) -> f_flat.0(down.0(g.0(b.))) 395.09/246.32 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.32 down.0(g.0(f.0(a.))) -> g_flat.0(down.0(f.0(a.))) 395.09/246.32 down.0(g.0(f.0(f.0(g.0(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(b.))) -> g_flat.0(down.0(f.0(b.))) 395.09/246.32 down.0(g.0(f.0(f.0(a.)))) -> g_flat.0(down.0(f.0(f.0(a.)))) 395.09/246.32 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.32 down.0(g.0(f.0(f.0(f.1(y24))))) -> g_flat.0(down.0(f.0(f.0(f.1(y24))))) 395.09/246.32 down.0(g.0(f.0(f.0(b.)))) -> g_flat.0(down.0(f.0(f.0(b.)))) 395.09/246.32 down.0(g.0(f.0(f.1(fresh_constant.)))) -> g_flat.0(down.0(f.0(f.1(fresh_constant.)))) 395.09/246.32 down.0(g.0(f.0(g.0(a.)))) -> g_flat.0(down.0(f.0(g.0(a.)))) 395.09/246.32 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.32 down.0(g.0(f.0(g.0(b.)))) -> g_flat.0(down.0(f.0(g.0(b.)))) 395.09/246.32 down.0(g.0(f.1(fresh_constant.))) -> g_flat.0(down.0(f.1(fresh_constant.))) 395.09/246.32 down.0(g.0(f.1(g.1(g.1(y28))))) -> g_flat.0(down.0(f.1(g.1(g.1(y28))))) 395.09/246.32 down.0(g.0(f.1(g.1(fresh_constant.)))) -> g_flat.0(down.0(f.1(g.1(fresh_constant.)))) 395.09/246.32 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.32 g_flat.0(up.1(x_1)) -> up.1(g.1(x_1)) 395.09/246.32 down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) 395.09/246.32 down.0(f.0(f.0(f.0(x)))) -> up.0(b.) 395.09/246.32 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 395.09/246.32 down.0(f.0(f.0(b.))) -> f_flat.0(down.0(f.0(b.))) 395.09/246.32 down.0(f.0(f.1(fresh_constant.))) -> f_flat.0(down.0(f.1(fresh_constant.))) 395.09/246.32 395.09/246.32 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (179) 395.09/246.32 Obligation: 395.09/246.32 Q DP problem: 395.09/246.32 The TRS P consists of the following rules: 395.09/246.32 395.09/246.32 TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(f.0(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(f.1(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.32 TOP.0(up.0(g.0(g.0(f.0(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(g.0(a.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(a.))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(g.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.0(x0)))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(f.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(a.))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(f.0(f.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.0(x0)))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(a.))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(g.0(g.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.0(x0)))))) 395.09/246.32 395.09/246.32 The TRS R consists of the following rules: 395.09/246.32 395.09/246.32 down.0(f.0(g.0(g.0(a.)))) -> f_flat.0(down.0(g.0(g.0(a.)))) 395.09/246.32 down.0(f.0(g.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.32 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.32 down.0(f.0(g.0(g.0(b.)))) -> f_flat.0(down.0(g.0(g.0(b.)))) 395.09/246.32 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.32 g_flat.0(up.1(x_1)) -> up.1(g.1(x_1)) 395.09/246.32 down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) 395.09/246.32 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.32 down.0(g.0(g.0(g.0(x)))) -> up.0(b.) 395.09/246.32 down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) 395.09/246.32 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 395.09/246.32 down.0(a.) -> up.0(f.0(a.)) 395.09/246.32 down.0(a.) -> up.0(g.0(a.)) 395.09/246.32 down.0(f.0(g.0(a.))) -> f_flat.0(down.0(g.0(a.))) 395.09/246.32 down.0(f.0(f.0(f.0(x)))) -> up.0(b.) 395.09/246.32 down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) 395.09/246.32 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 395.09/246.32 down.0(g.0(f.1(fresh_constant.))) -> g_flat.0(down.0(f.1(fresh_constant.))) 395.09/246.32 down.0(g.0(f.1(g.1(g.1(y28))))) -> g_flat.0(down.0(f.1(g.1(g.1(y28))))) 395.09/246.32 down.0(g.0(f.1(g.1(fresh_constant.)))) -> g_flat.0(down.0(f.1(g.1(fresh_constant.)))) 395.09/246.32 down.0(g.0(f.0(a.))) -> g_flat.0(down.0(f.0(a.))) 395.09/246.32 down.0(g.0(f.0(f.0(g.0(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(b.))) -> g_flat.0(down.0(f.0(b.))) 395.09/246.32 down.0(g.0(f.0(f.0(a.)))) -> g_flat.0(down.0(f.0(f.0(a.)))) 395.09/246.32 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.32 down.0(g.0(f.0(f.0(f.1(y24))))) -> g_flat.0(down.0(f.0(f.0(f.1(y24))))) 395.09/246.32 down.0(g.0(f.0(f.0(b.)))) -> g_flat.0(down.0(f.0(f.0(b.)))) 395.09/246.32 down.0(g.0(f.0(f.1(fresh_constant.)))) -> g_flat.0(down.0(f.0(f.1(fresh_constant.)))) 395.09/246.32 down.0(g.0(f.0(g.0(a.)))) -> g_flat.0(down.0(f.0(g.0(a.)))) 395.09/246.32 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.32 down.0(g.0(f.0(g.0(b.)))) -> g_flat.0(down.0(f.0(g.0(b.)))) 395.09/246.32 down.0(f.0(g.0(b.))) -> f_flat.0(down.0(g.0(b.))) 395.09/246.32 down.0(f.0(f.1(fresh_constant.))) -> f_flat.0(down.0(f.1(fresh_constant.))) 395.09/246.32 down.0(f.0(f.0(b.))) -> f_flat.0(down.0(f.0(b.))) 395.09/246.32 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.32 down.0(f.0(g.0(f.1(y12)))) -> f_flat.0(down.0(g.0(f.1(y12)))) 395.09/246.32 395.09/246.32 Q is empty. 395.09/246.32 We have to consider all minimal (P,Q,R)-chains. 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (180) QDPOrderProof (EQUIVALENT) 395.09/246.32 We use the reduction pair processor [LPAR04,JAR06]. 395.09/246.32 395.09/246.32 395.09/246.32 The following pairs can be oriented strictly and are deleted. 395.09/246.32 395.09/246.32 TOP.0(up.0(f.0(g.0(f.1(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.1(x0))))) 395.09/246.32 The remaining pairs can at least be oriented weakly. 395.09/246.32 Used ordering: Polynomial interpretation [POLO]: 395.09/246.32 395.09/246.32 POL(TOP.0(x_1)) = x_1 395.09/246.32 POL(a.) = 0 395.09/246.32 POL(b.) = 0 395.09/246.32 POL(down.0(x_1)) = 0 395.09/246.32 POL(f.0(x_1)) = x_1 395.09/246.32 POL(f.1(x_1)) = 1 395.09/246.32 POL(f_flat.0(x_1)) = x_1 395.09/246.32 POL(fresh_constant.) = 0 395.09/246.32 POL(g.0(x_1)) = x_1 395.09/246.32 POL(g.1(x_1)) = 0 395.09/246.32 POL(g_flat.0(x_1)) = x_1 395.09/246.32 POL(up.0(x_1)) = x_1 395.09/246.32 POL(up.1(x_1)) = 1 + x_1 395.09/246.32 395.09/246.32 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 395.09/246.32 395.09/246.32 down.0(f.0(g.0(g.0(a.)))) -> f_flat.0(down.0(g.0(g.0(a.)))) 395.09/246.32 down.0(f.0(g.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.32 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.32 down.0(f.0(g.0(g.0(b.)))) -> f_flat.0(down.0(g.0(g.0(b.)))) 395.09/246.32 down.0(f.0(g.0(a.))) -> f_flat.0(down.0(g.0(a.))) 395.09/246.32 down.0(f.0(g.0(b.))) -> f_flat.0(down.0(g.0(b.))) 395.09/246.32 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.32 down.0(f.0(g.0(f.1(y12)))) -> f_flat.0(down.0(g.0(f.1(y12)))) 395.09/246.32 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.32 down.0(g.0(f.0(a.))) -> g_flat.0(down.0(f.0(a.))) 395.09/246.32 down.0(g.0(f.0(f.0(g.0(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(b.))) -> g_flat.0(down.0(f.0(b.))) 395.09/246.32 down.0(g.0(f.0(f.0(a.)))) -> g_flat.0(down.0(f.0(f.0(a.)))) 395.09/246.32 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.32 down.0(g.0(f.0(f.0(f.1(y24))))) -> g_flat.0(down.0(f.0(f.0(f.1(y24))))) 395.09/246.32 down.0(g.0(f.0(f.0(b.)))) -> g_flat.0(down.0(f.0(f.0(b.)))) 395.09/246.32 down.0(g.0(f.0(f.1(fresh_constant.)))) -> g_flat.0(down.0(f.0(f.1(fresh_constant.)))) 395.09/246.32 down.0(g.0(f.0(g.0(a.)))) -> g_flat.0(down.0(f.0(g.0(a.)))) 395.09/246.32 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.32 down.0(g.0(f.0(g.0(b.)))) -> g_flat.0(down.0(f.0(g.0(b.)))) 395.09/246.32 down.0(g.0(f.1(fresh_constant.))) -> g_flat.0(down.0(f.1(fresh_constant.))) 395.09/246.32 down.0(g.0(f.1(g.1(g.1(y28))))) -> g_flat.0(down.0(f.1(g.1(g.1(y28))))) 395.09/246.32 down.0(g.0(f.1(g.1(fresh_constant.)))) -> g_flat.0(down.0(f.1(g.1(fresh_constant.)))) 395.09/246.32 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.32 g_flat.0(up.1(x_1)) -> up.1(g.1(x_1)) 395.09/246.32 down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) 395.09/246.32 down.0(g.0(g.0(g.0(x)))) -> up.0(b.) 395.09/246.32 down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) 395.09/246.32 down.0(f.0(f.0(f.0(x)))) -> up.0(b.) 395.09/246.32 down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) 395.09/246.32 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 395.09/246.32 down.0(a.) -> up.0(f.0(a.)) 395.09/246.32 down.0(a.) -> up.0(g.0(a.)) 395.09/246.32 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 395.09/246.32 down.0(f.0(f.0(b.))) -> f_flat.0(down.0(f.0(b.))) 395.09/246.32 down.0(f.0(f.1(fresh_constant.))) -> f_flat.0(down.0(f.1(fresh_constant.))) 395.09/246.32 395.09/246.32 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (181) 395.09/246.32 Obligation: 395.09/246.32 Q DP problem: 395.09/246.32 The TRS P consists of the following rules: 395.09/246.32 395.09/246.32 TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(f.0(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.32 TOP.0(up.0(g.0(g.0(f.0(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(g.0(a.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(a.))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(g.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.0(x0)))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(f.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(a.))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(f.0(f.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.0(x0)))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(a.))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(g.0(g.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.0(x0)))))) 395.09/246.32 395.09/246.32 The TRS R consists of the following rules: 395.09/246.32 395.09/246.32 down.0(f.0(g.0(g.0(a.)))) -> f_flat.0(down.0(g.0(g.0(a.)))) 395.09/246.32 down.0(f.0(g.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.32 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.32 down.0(f.0(g.0(g.0(b.)))) -> f_flat.0(down.0(g.0(g.0(b.)))) 395.09/246.32 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.32 g_flat.0(up.1(x_1)) -> up.1(g.1(x_1)) 395.09/246.32 down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) 395.09/246.32 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.32 down.0(g.0(g.0(g.0(x)))) -> up.0(b.) 395.09/246.32 down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) 395.09/246.32 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 395.09/246.32 down.0(a.) -> up.0(f.0(a.)) 395.09/246.32 down.0(a.) -> up.0(g.0(a.)) 395.09/246.32 down.0(f.0(g.0(a.))) -> f_flat.0(down.0(g.0(a.))) 395.09/246.32 down.0(f.0(f.0(f.0(x)))) -> up.0(b.) 395.09/246.32 down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) 395.09/246.32 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 395.09/246.32 down.0(g.0(f.1(fresh_constant.))) -> g_flat.0(down.0(f.1(fresh_constant.))) 395.09/246.32 down.0(g.0(f.1(g.1(g.1(y28))))) -> g_flat.0(down.0(f.1(g.1(g.1(y28))))) 395.09/246.32 down.0(g.0(f.1(g.1(fresh_constant.)))) -> g_flat.0(down.0(f.1(g.1(fresh_constant.)))) 395.09/246.32 down.0(g.0(f.0(a.))) -> g_flat.0(down.0(f.0(a.))) 395.09/246.32 down.0(g.0(f.0(f.0(g.0(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(b.))) -> g_flat.0(down.0(f.0(b.))) 395.09/246.32 down.0(g.0(f.0(f.0(a.)))) -> g_flat.0(down.0(f.0(f.0(a.)))) 395.09/246.32 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.32 down.0(g.0(f.0(f.0(f.1(y24))))) -> g_flat.0(down.0(f.0(f.0(f.1(y24))))) 395.09/246.32 down.0(g.0(f.0(f.0(b.)))) -> g_flat.0(down.0(f.0(f.0(b.)))) 395.09/246.32 down.0(g.0(f.0(f.1(fresh_constant.)))) -> g_flat.0(down.0(f.0(f.1(fresh_constant.)))) 395.09/246.32 down.0(g.0(f.0(g.0(a.)))) -> g_flat.0(down.0(f.0(g.0(a.)))) 395.09/246.32 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.32 down.0(g.0(f.0(g.0(b.)))) -> g_flat.0(down.0(f.0(g.0(b.)))) 395.09/246.32 down.0(f.0(g.0(b.))) -> f_flat.0(down.0(g.0(b.))) 395.09/246.32 down.0(f.0(f.1(fresh_constant.))) -> f_flat.0(down.0(f.1(fresh_constant.))) 395.09/246.32 down.0(f.0(f.0(b.))) -> f_flat.0(down.0(f.0(b.))) 395.09/246.32 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.32 down.0(f.0(g.0(f.1(y12)))) -> f_flat.0(down.0(g.0(f.1(y12)))) 395.09/246.32 395.09/246.32 Q is empty. 395.09/246.32 We have to consider all minimal (P,Q,R)-chains. 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (182) PisEmptyProof (SOUND) 395.09/246.32 The TRS P is empty. Hence, there is no (P,Q,R) chain. 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (183) 395.09/246.32 TRUE 395.09/246.32 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (184) 395.09/246.32 Obligation: 395.09/246.32 Q DP problem: 395.09/246.32 The TRS P consists of the following rules: 395.09/246.32 395.09/246.32 TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) 395.09/246.32 TOP(up(f(g(f(x0))))) -> TOP(f_flat(down(g(f(x0))))) 395.09/246.32 TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) 395.09/246.32 TOP(up(f(g(g(a))))) -> TOP(f_flat(down(g(g(a))))) 395.09/246.32 TOP(up(f(g(g(g(x0)))))) -> TOP(f_flat(down(g(g(g(x0)))))) 395.09/246.32 TOP(up(g(f(f(a))))) -> TOP(g_flat(down(f(f(a))))) 395.09/246.32 TOP(up(g(f(f(f(x0)))))) -> TOP(g_flat(down(f(f(f(x0)))))) 395.09/246.32 TOP(up(g(f(g(a))))) -> TOP(g_flat(down(f(g(a))))) 395.09/246.32 TOP(up(g(f(g(g(x0)))))) -> TOP(g_flat(down(f(g(g(x0)))))) 395.09/246.32 395.09/246.32 The TRS R consists of the following rules: 395.09/246.32 395.09/246.32 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.09/246.32 down(f(g(g(f(x))))) -> up(b) 395.09/246.32 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.09/246.32 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.09/246.32 g_flat(up(x_1)) -> up(g(x_1)) 395.09/246.32 down(g(g(b))) -> g_flat(down(g(b))) 395.09/246.32 f_flat(up(x_1)) -> up(f(x_1)) 395.09/246.32 down(g(g(g(x)))) -> up(b) 395.09/246.32 down(g(g(a))) -> g_flat(down(g(a))) 395.09/246.32 down(g(a)) -> g_flat(down(a)) 395.09/246.32 down(a) -> up(f(a)) 395.09/246.32 down(a) -> up(g(a)) 395.09/246.32 down(f(g(a))) -> f_flat(down(g(a))) 395.09/246.32 down(f(f(f(x)))) -> up(b) 395.09/246.32 down(f(f(a))) -> f_flat(down(f(a))) 395.09/246.32 down(f(a)) -> f_flat(down(a)) 395.09/246.32 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.09/246.32 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.09/246.32 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.09/246.32 down(g(f(a))) -> g_flat(down(f(a))) 395.09/246.32 down(g(f(f(g(x))))) -> up(b) 395.09/246.32 down(g(f(g(f(x))))) -> up(b) 395.09/246.32 down(g(f(b))) -> g_flat(down(f(b))) 395.09/246.32 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.09/246.32 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.09/246.32 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.09/246.32 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.09/246.32 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.09/246.32 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.09/246.32 down(f(g(b))) -> f_flat(down(g(b))) 395.09/246.32 down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) 395.09/246.32 down(f(f(b))) -> f_flat(down(f(b))) 395.09/246.32 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.09/246.32 395.09/246.32 Q is empty. 395.09/246.32 We have to consider all minimal (P,Q,R)-chains. 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (185) SplitQDPProof (EQUIVALENT) 395.09/246.32 We show in the first subproof that some pairs and rules can be removed, afterwards, we continue with the remaining DP-Problem 395.09/246.32 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (186) 395.09/246.32 Complex Obligation (AND) 395.09/246.32 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (187) 395.09/246.32 Obligation: 395.09/246.32 Q DP problem: 395.09/246.32 The TRS P consists of the following rules: 395.09/246.32 395.09/246.32 TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) 395.09/246.32 TOP(up(f(g(f(x0))))) -> TOP(f_flat(down(g(f(x0))))) 395.09/246.32 TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) 395.09/246.32 TOP(up(f(g(g(a))))) -> TOP(f_flat(down(g(g(a))))) 395.09/246.32 TOP(up(f(g(g(g(x0)))))) -> TOP(f_flat(down(g(g(g(x0)))))) 395.09/246.32 TOP(up(g(f(f(a))))) -> TOP(g_flat(down(f(f(a))))) 395.09/246.32 TOP(up(g(f(f(f(x0)))))) -> TOP(g_flat(down(f(f(f(x0)))))) 395.09/246.32 TOP(up(g(f(g(a))))) -> TOP(g_flat(down(f(g(a))))) 395.09/246.32 TOP(up(g(f(g(g(x0)))))) -> TOP(g_flat(down(f(g(g(x0)))))) 395.09/246.32 395.09/246.32 The TRS R consists of the following rules: 395.09/246.32 395.09/246.32 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.09/246.32 down(f(g(g(f(x))))) -> up(b) 395.09/246.32 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.09/246.32 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.09/246.32 g_flat(up(x_1)) -> up(g(x_1)) 395.09/246.32 down(g(g(b))) -> g_flat(down(g(b))) 395.09/246.32 f_flat(up(x_1)) -> up(f(x_1)) 395.09/246.32 down(g(g(g(x)))) -> up(b) 395.09/246.32 down(g(g(a))) -> g_flat(down(g(a))) 395.09/246.32 down(g(a)) -> g_flat(down(a)) 395.09/246.32 down(a) -> up(f(a)) 395.09/246.32 down(a) -> up(g(a)) 395.09/246.32 down(f(g(a))) -> f_flat(down(g(a))) 395.09/246.32 down(f(f(f(x)))) -> up(b) 395.09/246.32 down(f(f(a))) -> f_flat(down(f(a))) 395.09/246.32 down(f(a)) -> f_flat(down(a)) 395.09/246.32 down(g(f(fresh_constant))) -> g_flat(down(f(fresh_constant))) 395.09/246.32 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.09/246.32 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.09/246.32 down(g(f(a))) -> g_flat(down(f(a))) 395.09/246.32 down(g(f(f(g(x))))) -> up(b) 395.09/246.32 down(g(f(g(f(x))))) -> up(b) 395.09/246.32 down(g(f(b))) -> g_flat(down(f(b))) 395.09/246.32 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.09/246.32 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.09/246.32 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.09/246.32 down(g(f(f(fresh_constant)))) -> g_flat(down(f(f(fresh_constant)))) 395.09/246.32 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.09/246.32 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.09/246.32 down(f(g(b))) -> f_flat(down(g(b))) 395.09/246.32 down(f(f(fresh_constant))) -> f_flat(down(f(fresh_constant))) 395.09/246.32 down(f(f(b))) -> f_flat(down(f(b))) 395.09/246.32 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.09/246.32 395.09/246.32 Q is empty. 395.09/246.32 We have to consider all minimal (P,Q,R)-chains. 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (188) SemLabProof (SOUND) 395.09/246.32 We found the following model for the rules of the TRSs R and P. 395.09/246.32 Interpretation over the domain with elements from 0 to 1. 395.09/246.32 a: 0 395.09/246.32 b: 0 395.09/246.32 down: 0 395.09/246.32 f: x0 395.09/246.32 fresh_constant: 1 395.09/246.32 up: 0 395.09/246.32 f_flat: 0 395.09/246.32 TOP: 0 395.09/246.32 g_flat: 0 395.09/246.32 g: 0 395.09/246.32 By semantic labelling [SEMLAB] we obtain the following labelled QDP problem. 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (189) 395.09/246.32 Obligation: 395.09/246.32 Q DP problem: 395.09/246.32 The TRS P consists of the following rules: 395.09/246.32 395.09/246.32 TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) 395.09/246.32 TOP.0(up.0(f.0(f.0(g.1(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.1(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(f.0(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.1(f.1(x0))))) -> TOP.0(f_flat.0(down.0(g.1(f.1(x0))))) 395.09/246.32 TOP.0(up.0(g.0(g.0(f.0(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.32 TOP.0(up.0(g.0(g.1(f.1(x0))))) -> TOP.0(g_flat.0(down.0(g.1(f.1(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(g.0(a.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(a.))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(g.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.0(x0)))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(g.0(g.1(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.1(x0)))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(f.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(a.))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(f.0(f.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.0(x0)))))) 395.09/246.32 TOP.0(up.0(g.1(f.1(f.1(f.1(x0)))))) -> TOP.0(g_flat.0(down.1(f.1(f.1(f.1(x0)))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(a.))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(g.0(g.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.0(x0)))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(g.0(g.1(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.1(x0)))))) 395.09/246.32 395.09/246.32 The TRS R consists of the following rules: 395.09/246.32 395.09/246.32 down.0(f.0(g.0(g.0(a.)))) -> f_flat.0(down.0(g.0(g.0(a.)))) 395.09/246.32 down.0(f.0(g.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.32 down.0(f.0(g.0(g.1(f.1(x))))) -> up.0(b.) 395.09/246.32 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.32 down.0(f.0(g.0(g.0(g.1(y22))))) -> f_flat.0(down.0(g.0(g.0(g.1(y22))))) 395.09/246.32 down.0(f.0(g.0(g.0(b.)))) -> f_flat.0(down.0(g.0(g.0(b.)))) 395.09/246.32 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.32 g_flat.0(up.1(x_1)) -> up.0(g.1(x_1)) 395.09/246.32 down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) 395.09/246.32 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.32 f_flat.0(up.1(x_1)) -> up.1(f.1(x_1)) 395.09/246.32 down.0(g.0(g.0(g.0(x)))) -> up.0(b.) 395.09/246.32 down.0(g.0(g.0(g.1(x)))) -> up.0(b.) 395.09/246.32 down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) 395.09/246.32 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 395.09/246.32 down.0(a.) -> up.0(f.0(a.)) 395.09/246.32 down.0(a.) -> up.0(g.0(a.)) 395.09/246.32 down.0(f.0(g.0(a.))) -> f_flat.0(down.0(g.0(a.))) 395.09/246.32 down.0(f.0(f.0(f.0(x)))) -> up.0(b.) 395.09/246.32 down.1(f.1(f.1(f.1(x)))) -> up.0(b.) 395.09/246.32 down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) 395.09/246.32 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 395.09/246.32 down.0(g.1(f.1(fresh_constant.))) -> g_flat.0(down.1(f.1(fresh_constant.))) 395.09/246.32 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.32 down.0(g.0(f.0(g.0(g.1(y28))))) -> g_flat.0(down.0(f.0(g.0(g.1(y28))))) 395.09/246.32 down.0(g.0(f.0(g.1(fresh_constant.)))) -> g_flat.0(down.0(f.0(g.1(fresh_constant.)))) 395.09/246.32 down.0(g.0(f.0(a.))) -> g_flat.0(down.0(f.0(a.))) 395.09/246.32 down.0(g.0(f.0(f.0(g.0(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(f.0(g.1(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(g.1(f.1(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(b.))) -> g_flat.0(down.0(f.0(b.))) 395.09/246.32 down.0(g.0(f.0(f.0(a.)))) -> g_flat.0(down.0(f.0(f.0(a.)))) 395.09/246.32 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.32 down.0(g.1(f.1(f.1(f.1(y24))))) -> g_flat.0(down.1(f.1(f.1(f.1(y24))))) 395.09/246.32 down.0(g.0(f.0(f.0(b.)))) -> g_flat.0(down.0(f.0(f.0(b.)))) 395.09/246.32 down.0(g.1(f.1(f.1(fresh_constant.)))) -> g_flat.0(down.1(f.1(f.1(fresh_constant.)))) 395.09/246.32 down.0(g.0(f.0(g.0(a.)))) -> g_flat.0(down.0(f.0(g.0(a.)))) 395.09/246.32 down.0(g.0(f.0(g.0(b.)))) -> g_flat.0(down.0(f.0(g.0(b.)))) 395.09/246.32 down.0(f.0(g.0(b.))) -> f_flat.0(down.0(g.0(b.))) 395.09/246.32 down.1(f.1(f.1(fresh_constant.))) -> f_flat.0(down.1(f.1(fresh_constant.))) 395.09/246.32 down.0(f.0(f.0(b.))) -> f_flat.0(down.0(f.0(b.))) 395.09/246.32 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.32 down.0(f.0(g.1(f.1(y12)))) -> f_flat.0(down.0(g.1(f.1(y12)))) 395.09/246.32 395.09/246.32 Q is empty. 395.09/246.32 We have to consider all minimal (P,Q,R)-chains. 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (190) MRRProof (EQUIVALENT) 395.09/246.32 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. 395.09/246.32 395.09/246.32 395.09/246.32 Strictly oriented rules of the TRS R: 395.09/246.32 395.09/246.32 down.0(f.0(g.0(g.1(f.1(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(g.0(g.1(x)))) -> up.0(b.) 395.09/246.32 down.1(f.1(f.1(f.1(x)))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(f.0(g.1(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(g.1(f.1(x))))) -> up.0(b.) 395.09/246.32 395.09/246.32 Used ordering: Polynomial interpretation [POLO]: 395.09/246.32 395.09/246.32 POL(TOP.0(x_1)) = x_1 395.09/246.32 POL(a.) = 0 395.09/246.32 POL(b.) = 0 395.09/246.32 POL(down.0(x_1)) = x_1 395.09/246.32 POL(down.1(x_1)) = 1 + x_1 395.09/246.32 POL(f.0(x_1)) = x_1 395.09/246.32 POL(f.1(x_1)) = x_1 395.09/246.32 POL(f_flat.0(x_1)) = x_1 395.09/246.32 POL(fresh_constant.) = 0 395.09/246.32 POL(g.0(x_1)) = x_1 395.09/246.32 POL(g.1(x_1)) = 1 + x_1 395.09/246.32 POL(g_flat.0(x_1)) = x_1 395.09/246.32 POL(up.0(x_1)) = x_1 395.09/246.32 POL(up.1(x_1)) = 1 + x_1 395.09/246.32 395.09/246.32 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (191) 395.09/246.32 Obligation: 395.09/246.32 Q DP problem: 395.09/246.32 The TRS P consists of the following rules: 395.09/246.32 395.09/246.32 TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) 395.09/246.32 TOP.0(up.0(f.0(f.0(g.1(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.1(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(f.0(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.1(f.1(x0))))) -> TOP.0(f_flat.0(down.0(g.1(f.1(x0))))) 395.09/246.32 TOP.0(up.0(g.0(g.0(f.0(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.32 TOP.0(up.0(g.0(g.1(f.1(x0))))) -> TOP.0(g_flat.0(down.0(g.1(f.1(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(g.0(a.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(a.))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(g.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.0(x0)))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(g.0(g.1(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.1(x0)))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(f.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(a.))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(f.0(f.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.0(x0)))))) 395.09/246.32 TOP.0(up.0(g.1(f.1(f.1(f.1(x0)))))) -> TOP.0(g_flat.0(down.1(f.1(f.1(f.1(x0)))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(a.))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(g.0(g.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.0(x0)))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(g.0(g.1(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.1(x0)))))) 395.09/246.32 395.09/246.32 The TRS R consists of the following rules: 395.09/246.32 395.09/246.32 down.0(f.0(g.0(g.0(a.)))) -> f_flat.0(down.0(g.0(g.0(a.)))) 395.09/246.32 down.0(f.0(g.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.32 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.32 down.0(f.0(g.0(g.0(g.1(y22))))) -> f_flat.0(down.0(g.0(g.0(g.1(y22))))) 395.09/246.32 down.0(f.0(g.0(g.0(b.)))) -> f_flat.0(down.0(g.0(g.0(b.)))) 395.09/246.32 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.32 g_flat.0(up.1(x_1)) -> up.0(g.1(x_1)) 395.09/246.32 down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) 395.09/246.32 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.32 f_flat.0(up.1(x_1)) -> up.1(f.1(x_1)) 395.09/246.32 down.0(g.0(g.0(g.0(x)))) -> up.0(b.) 395.09/246.32 down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) 395.09/246.32 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 395.09/246.32 down.0(a.) -> up.0(f.0(a.)) 395.09/246.32 down.0(a.) -> up.0(g.0(a.)) 395.09/246.32 down.0(f.0(g.0(a.))) -> f_flat.0(down.0(g.0(a.))) 395.09/246.32 down.0(f.0(f.0(f.0(x)))) -> up.0(b.) 395.09/246.32 down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) 395.09/246.32 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 395.09/246.32 down.0(g.1(f.1(fresh_constant.))) -> g_flat.0(down.1(f.1(fresh_constant.))) 395.09/246.32 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.32 down.0(g.0(f.0(g.0(g.1(y28))))) -> g_flat.0(down.0(f.0(g.0(g.1(y28))))) 395.09/246.32 down.0(g.0(f.0(g.1(fresh_constant.)))) -> g_flat.0(down.0(f.0(g.1(fresh_constant.)))) 395.09/246.32 down.0(g.0(f.0(a.))) -> g_flat.0(down.0(f.0(a.))) 395.09/246.32 down.0(g.0(f.0(f.0(g.0(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(b.))) -> g_flat.0(down.0(f.0(b.))) 395.09/246.32 down.0(g.0(f.0(f.0(a.)))) -> g_flat.0(down.0(f.0(f.0(a.)))) 395.09/246.32 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.32 down.0(g.1(f.1(f.1(f.1(y24))))) -> g_flat.0(down.1(f.1(f.1(f.1(y24))))) 395.09/246.32 down.0(g.0(f.0(f.0(b.)))) -> g_flat.0(down.0(f.0(f.0(b.)))) 395.09/246.32 down.0(g.1(f.1(f.1(fresh_constant.)))) -> g_flat.0(down.1(f.1(f.1(fresh_constant.)))) 395.09/246.32 down.0(g.0(f.0(g.0(a.)))) -> g_flat.0(down.0(f.0(g.0(a.)))) 395.09/246.32 down.0(g.0(f.0(g.0(b.)))) -> g_flat.0(down.0(f.0(g.0(b.)))) 395.09/246.32 down.0(f.0(g.0(b.))) -> f_flat.0(down.0(g.0(b.))) 395.09/246.32 down.1(f.1(f.1(fresh_constant.))) -> f_flat.0(down.1(f.1(fresh_constant.))) 395.09/246.32 down.0(f.0(f.0(b.))) -> f_flat.0(down.0(f.0(b.))) 395.09/246.32 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.32 down.0(f.0(g.1(f.1(y12)))) -> f_flat.0(down.0(g.1(f.1(y12)))) 395.09/246.32 395.09/246.32 Q is empty. 395.09/246.32 We have to consider all minimal (P,Q,R)-chains. 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (192) DependencyGraphProof (EQUIVALENT) 395.09/246.32 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes. 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (193) 395.09/246.32 Obligation: 395.09/246.32 Q DP problem: 395.09/246.32 The TRS P consists of the following rules: 395.09/246.32 395.09/246.32 TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) 395.09/246.32 TOP.0(up.0(f.0(f.0(g.1(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.1(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(f.0(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.1(f.1(x0))))) -> TOP.0(f_flat.0(down.0(g.1(f.1(x0))))) 395.09/246.32 TOP.0(up.0(g.0(g.0(f.0(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.32 TOP.0(up.0(g.0(g.1(f.1(x0))))) -> TOP.0(g_flat.0(down.0(g.1(f.1(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(g.0(a.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(a.))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(g.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.0(x0)))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(f.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(a.))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(f.0(f.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.0(x0)))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(a.))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(g.0(g.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.0(x0)))))) 395.09/246.32 395.09/246.32 The TRS R consists of the following rules: 395.09/246.32 395.09/246.32 down.0(f.0(g.0(g.0(a.)))) -> f_flat.0(down.0(g.0(g.0(a.)))) 395.09/246.32 down.0(f.0(g.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.32 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.32 down.0(f.0(g.0(g.0(g.1(y22))))) -> f_flat.0(down.0(g.0(g.0(g.1(y22))))) 395.09/246.32 down.0(f.0(g.0(g.0(b.)))) -> f_flat.0(down.0(g.0(g.0(b.)))) 395.09/246.32 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.32 g_flat.0(up.1(x_1)) -> up.0(g.1(x_1)) 395.09/246.32 down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) 395.09/246.32 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.32 f_flat.0(up.1(x_1)) -> up.1(f.1(x_1)) 395.09/246.32 down.0(g.0(g.0(g.0(x)))) -> up.0(b.) 395.09/246.32 down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) 395.09/246.32 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 395.09/246.32 down.0(a.) -> up.0(f.0(a.)) 395.09/246.32 down.0(a.) -> up.0(g.0(a.)) 395.09/246.32 down.0(f.0(g.0(a.))) -> f_flat.0(down.0(g.0(a.))) 395.09/246.32 down.0(f.0(f.0(f.0(x)))) -> up.0(b.) 395.09/246.32 down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) 395.09/246.32 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 395.09/246.32 down.0(g.1(f.1(fresh_constant.))) -> g_flat.0(down.1(f.1(fresh_constant.))) 395.09/246.32 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.32 down.0(g.0(f.0(g.0(g.1(y28))))) -> g_flat.0(down.0(f.0(g.0(g.1(y28))))) 395.09/246.32 down.0(g.0(f.0(g.1(fresh_constant.)))) -> g_flat.0(down.0(f.0(g.1(fresh_constant.)))) 395.09/246.32 down.0(g.0(f.0(a.))) -> g_flat.0(down.0(f.0(a.))) 395.09/246.32 down.0(g.0(f.0(f.0(g.0(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(b.))) -> g_flat.0(down.0(f.0(b.))) 395.09/246.32 down.0(g.0(f.0(f.0(a.)))) -> g_flat.0(down.0(f.0(f.0(a.)))) 395.09/246.32 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.32 down.0(g.1(f.1(f.1(f.1(y24))))) -> g_flat.0(down.1(f.1(f.1(f.1(y24))))) 395.09/246.32 down.0(g.0(f.0(f.0(b.)))) -> g_flat.0(down.0(f.0(f.0(b.)))) 395.09/246.32 down.0(g.1(f.1(f.1(fresh_constant.)))) -> g_flat.0(down.1(f.1(f.1(fresh_constant.)))) 395.09/246.32 down.0(g.0(f.0(g.0(a.)))) -> g_flat.0(down.0(f.0(g.0(a.)))) 395.09/246.32 down.0(g.0(f.0(g.0(b.)))) -> g_flat.0(down.0(f.0(g.0(b.)))) 395.09/246.32 down.0(f.0(g.0(b.))) -> f_flat.0(down.0(g.0(b.))) 395.09/246.32 down.1(f.1(f.1(fresh_constant.))) -> f_flat.0(down.1(f.1(fresh_constant.))) 395.09/246.32 down.0(f.0(f.0(b.))) -> f_flat.0(down.0(f.0(b.))) 395.09/246.32 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.32 down.0(f.0(g.1(f.1(y12)))) -> f_flat.0(down.0(g.1(f.1(y12)))) 395.09/246.32 395.09/246.32 Q is empty. 395.09/246.32 We have to consider all minimal (P,Q,R)-chains. 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (194) MRRProof (EQUIVALENT) 395.09/246.32 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. 395.09/246.32 395.09/246.32 395.09/246.32 Strictly oriented rules of the TRS R: 395.09/246.32 395.09/246.32 g_flat.0(up.1(x_1)) -> up.0(g.1(x_1)) 395.09/246.32 395.09/246.32 Used ordering: Polynomial interpretation [POLO]: 395.09/246.32 395.09/246.32 POL(TOP.0(x_1)) = x_1 395.09/246.32 POL(a.) = 0 395.09/246.32 POL(b.) = 0 395.09/246.32 POL(down.0(x_1)) = x_1 395.09/246.32 POL(down.1(x_1)) = x_1 395.09/246.32 POL(f.0(x_1)) = x_1 395.09/246.32 POL(f.1(x_1)) = x_1 395.09/246.32 POL(f_flat.0(x_1)) = x_1 395.09/246.32 POL(fresh_constant.) = 0 395.09/246.32 POL(g.0(x_1)) = x_1 395.09/246.32 POL(g.1(x_1)) = x_1 395.09/246.32 POL(g_flat.0(x_1)) = x_1 395.09/246.32 POL(up.0(x_1)) = x_1 395.09/246.32 POL(up.1(x_1)) = 1 + x_1 395.09/246.32 395.09/246.32 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (195) 395.09/246.32 Obligation: 395.09/246.32 Q DP problem: 395.09/246.32 The TRS P consists of the following rules: 395.09/246.32 395.09/246.32 TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) 395.09/246.32 TOP.0(up.0(f.0(f.0(g.1(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.1(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(f.0(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.1(f.1(x0))))) -> TOP.0(f_flat.0(down.0(g.1(f.1(x0))))) 395.09/246.32 TOP.0(up.0(g.0(g.0(f.0(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.32 TOP.0(up.0(g.0(g.1(f.1(x0))))) -> TOP.0(g_flat.0(down.0(g.1(f.1(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(g.0(a.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(a.))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(g.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.0(x0)))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(f.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(a.))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(f.0(f.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.0(x0)))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(a.))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(g.0(g.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.0(x0)))))) 395.09/246.32 395.09/246.32 The TRS R consists of the following rules: 395.09/246.32 395.09/246.32 down.0(f.0(g.0(g.0(a.)))) -> f_flat.0(down.0(g.0(g.0(a.)))) 395.09/246.32 down.0(f.0(g.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.32 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.32 down.0(f.0(g.0(g.0(g.1(y22))))) -> f_flat.0(down.0(g.0(g.0(g.1(y22))))) 395.09/246.32 down.0(f.0(g.0(g.0(b.)))) -> f_flat.0(down.0(g.0(g.0(b.)))) 395.09/246.32 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.32 down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) 395.09/246.32 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.32 f_flat.0(up.1(x_1)) -> up.1(f.1(x_1)) 395.09/246.32 down.0(g.0(g.0(g.0(x)))) -> up.0(b.) 395.09/246.32 down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) 395.09/246.32 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 395.09/246.32 down.0(a.) -> up.0(f.0(a.)) 395.09/246.32 down.0(a.) -> up.0(g.0(a.)) 395.09/246.32 down.0(f.0(g.0(a.))) -> f_flat.0(down.0(g.0(a.))) 395.09/246.32 down.0(f.0(f.0(f.0(x)))) -> up.0(b.) 395.09/246.32 down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) 395.09/246.32 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 395.09/246.32 down.0(g.1(f.1(fresh_constant.))) -> g_flat.0(down.1(f.1(fresh_constant.))) 395.09/246.32 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.32 down.0(g.0(f.0(g.0(g.1(y28))))) -> g_flat.0(down.0(f.0(g.0(g.1(y28))))) 395.09/246.32 down.0(g.0(f.0(g.1(fresh_constant.)))) -> g_flat.0(down.0(f.0(g.1(fresh_constant.)))) 395.09/246.32 down.0(g.0(f.0(a.))) -> g_flat.0(down.0(f.0(a.))) 395.09/246.32 down.0(g.0(f.0(f.0(g.0(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(b.))) -> g_flat.0(down.0(f.0(b.))) 395.09/246.32 down.0(g.0(f.0(f.0(a.)))) -> g_flat.0(down.0(f.0(f.0(a.)))) 395.09/246.32 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.32 down.0(g.1(f.1(f.1(f.1(y24))))) -> g_flat.0(down.1(f.1(f.1(f.1(y24))))) 395.09/246.32 down.0(g.0(f.0(f.0(b.)))) -> g_flat.0(down.0(f.0(f.0(b.)))) 395.09/246.32 down.0(g.1(f.1(f.1(fresh_constant.)))) -> g_flat.0(down.1(f.1(f.1(fresh_constant.)))) 395.09/246.32 down.0(g.0(f.0(g.0(a.)))) -> g_flat.0(down.0(f.0(g.0(a.)))) 395.09/246.32 down.0(g.0(f.0(g.0(b.)))) -> g_flat.0(down.0(f.0(g.0(b.)))) 395.09/246.32 down.0(f.0(g.0(b.))) -> f_flat.0(down.0(g.0(b.))) 395.09/246.32 down.1(f.1(f.1(fresh_constant.))) -> f_flat.0(down.1(f.1(fresh_constant.))) 395.09/246.32 down.0(f.0(f.0(b.))) -> f_flat.0(down.0(f.0(b.))) 395.09/246.32 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.32 down.0(f.0(g.1(f.1(y12)))) -> f_flat.0(down.0(g.1(f.1(y12)))) 395.09/246.32 395.09/246.32 Q is empty. 395.09/246.32 We have to consider all minimal (P,Q,R)-chains. 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (196) MRRProof (EQUIVALENT) 395.09/246.32 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. 395.09/246.32 395.09/246.32 395.09/246.32 Strictly oriented rules of the TRS R: 395.09/246.32 395.09/246.32 down.0(g.1(f.1(fresh_constant.))) -> g_flat.0(down.1(f.1(fresh_constant.))) 395.09/246.32 down.0(g.1(f.1(f.1(f.1(y24))))) -> g_flat.0(down.1(f.1(f.1(f.1(y24))))) 395.09/246.32 down.0(g.1(f.1(f.1(fresh_constant.)))) -> g_flat.0(down.1(f.1(f.1(fresh_constant.)))) 395.09/246.32 395.09/246.32 Used ordering: Polynomial interpretation [POLO]: 395.09/246.32 395.09/246.32 POL(TOP.0(x_1)) = x_1 395.09/246.32 POL(a.) = 0 395.09/246.32 POL(b.) = 0 395.09/246.32 POL(down.0(x_1)) = x_1 395.09/246.32 POL(down.1(x_1)) = x_1 395.09/246.32 POL(f.0(x_1)) = x_1 395.09/246.32 POL(f.1(x_1)) = x_1 395.09/246.32 POL(f_flat.0(x_1)) = x_1 395.09/246.32 POL(fresh_constant.) = 0 395.09/246.32 POL(g.0(x_1)) = x_1 395.09/246.32 POL(g.1(x_1)) = 1 + x_1 395.09/246.32 POL(g_flat.0(x_1)) = x_1 395.09/246.32 POL(up.0(x_1)) = x_1 395.09/246.32 POL(up.1(x_1)) = x_1 395.09/246.32 395.09/246.32 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (197) 395.09/246.32 Obligation: 395.09/246.32 Q DP problem: 395.09/246.32 The TRS P consists of the following rules: 395.09/246.32 395.09/246.32 TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) 395.09/246.32 TOP.0(up.0(f.0(f.0(g.1(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.1(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(f.0(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.1(f.1(x0))))) -> TOP.0(f_flat.0(down.0(g.1(f.1(x0))))) 395.09/246.32 TOP.0(up.0(g.0(g.0(f.0(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.32 TOP.0(up.0(g.0(g.1(f.1(x0))))) -> TOP.0(g_flat.0(down.0(g.1(f.1(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(g.0(a.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(a.))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(g.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.0(x0)))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(f.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(a.))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(f.0(f.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.0(x0)))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(a.))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(g.0(g.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.0(x0)))))) 395.09/246.32 395.09/246.32 The TRS R consists of the following rules: 395.09/246.32 395.09/246.32 down.0(f.0(g.0(g.0(a.)))) -> f_flat.0(down.0(g.0(g.0(a.)))) 395.09/246.32 down.0(f.0(g.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.32 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.32 down.0(f.0(g.0(g.0(g.1(y22))))) -> f_flat.0(down.0(g.0(g.0(g.1(y22))))) 395.09/246.32 down.0(f.0(g.0(g.0(b.)))) -> f_flat.0(down.0(g.0(g.0(b.)))) 395.09/246.32 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.32 down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) 395.09/246.32 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.32 f_flat.0(up.1(x_1)) -> up.1(f.1(x_1)) 395.09/246.32 down.0(g.0(g.0(g.0(x)))) -> up.0(b.) 395.09/246.32 down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) 395.09/246.32 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 395.09/246.32 down.0(a.) -> up.0(f.0(a.)) 395.09/246.32 down.0(a.) -> up.0(g.0(a.)) 395.09/246.32 down.0(f.0(g.0(a.))) -> f_flat.0(down.0(g.0(a.))) 395.09/246.32 down.0(f.0(f.0(f.0(x)))) -> up.0(b.) 395.09/246.32 down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) 395.09/246.32 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 395.09/246.32 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.32 down.0(g.0(f.0(g.0(g.1(y28))))) -> g_flat.0(down.0(f.0(g.0(g.1(y28))))) 395.09/246.32 down.0(g.0(f.0(g.1(fresh_constant.)))) -> g_flat.0(down.0(f.0(g.1(fresh_constant.)))) 395.09/246.32 down.0(g.0(f.0(a.))) -> g_flat.0(down.0(f.0(a.))) 395.09/246.32 down.0(g.0(f.0(f.0(g.0(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(b.))) -> g_flat.0(down.0(f.0(b.))) 395.09/246.32 down.0(g.0(f.0(f.0(a.)))) -> g_flat.0(down.0(f.0(f.0(a.)))) 395.09/246.32 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.32 down.0(g.0(f.0(f.0(b.)))) -> g_flat.0(down.0(f.0(f.0(b.)))) 395.09/246.32 down.0(g.0(f.0(g.0(a.)))) -> g_flat.0(down.0(f.0(g.0(a.)))) 395.09/246.32 down.0(g.0(f.0(g.0(b.)))) -> g_flat.0(down.0(f.0(g.0(b.)))) 395.09/246.32 down.0(f.0(g.0(b.))) -> f_flat.0(down.0(g.0(b.))) 395.09/246.32 down.1(f.1(f.1(fresh_constant.))) -> f_flat.0(down.1(f.1(fresh_constant.))) 395.09/246.32 down.0(f.0(f.0(b.))) -> f_flat.0(down.0(f.0(b.))) 395.09/246.32 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.32 down.0(f.0(g.1(f.1(y12)))) -> f_flat.0(down.0(g.1(f.1(y12)))) 395.09/246.32 395.09/246.32 Q is empty. 395.09/246.32 We have to consider all minimal (P,Q,R)-chains. 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (198) DependencyGraphProof (EQUIVALENT) 395.09/246.32 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (199) 395.09/246.32 Obligation: 395.09/246.32 Q DP problem: 395.09/246.32 The TRS P consists of the following rules: 395.09/246.32 395.09/246.32 TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) 395.09/246.32 TOP.0(up.0(f.0(f.0(g.1(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.1(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(f.0(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.32 TOP.0(up.0(g.0(g.0(f.0(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(g.0(a.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(a.))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(g.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.0(x0)))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(f.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(a.))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(f.0(f.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.0(x0)))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(a.))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(g.0(g.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.0(x0)))))) 395.09/246.32 395.09/246.32 The TRS R consists of the following rules: 395.09/246.32 395.09/246.32 down.0(f.0(g.0(g.0(a.)))) -> f_flat.0(down.0(g.0(g.0(a.)))) 395.09/246.32 down.0(f.0(g.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.32 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.32 down.0(f.0(g.0(g.0(g.1(y22))))) -> f_flat.0(down.0(g.0(g.0(g.1(y22))))) 395.09/246.32 down.0(f.0(g.0(g.0(b.)))) -> f_flat.0(down.0(g.0(g.0(b.)))) 395.09/246.32 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.32 down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) 395.09/246.32 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.32 f_flat.0(up.1(x_1)) -> up.1(f.1(x_1)) 395.09/246.32 down.0(g.0(g.0(g.0(x)))) -> up.0(b.) 395.09/246.32 down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) 395.09/246.32 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 395.09/246.32 down.0(a.) -> up.0(f.0(a.)) 395.09/246.32 down.0(a.) -> up.0(g.0(a.)) 395.09/246.32 down.0(f.0(g.0(a.))) -> f_flat.0(down.0(g.0(a.))) 395.09/246.32 down.0(f.0(f.0(f.0(x)))) -> up.0(b.) 395.09/246.32 down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) 395.09/246.32 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 395.09/246.32 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.32 down.0(g.0(f.0(g.0(g.1(y28))))) -> g_flat.0(down.0(f.0(g.0(g.1(y28))))) 395.09/246.32 down.0(g.0(f.0(g.1(fresh_constant.)))) -> g_flat.0(down.0(f.0(g.1(fresh_constant.)))) 395.09/246.32 down.0(g.0(f.0(a.))) -> g_flat.0(down.0(f.0(a.))) 395.09/246.32 down.0(g.0(f.0(f.0(g.0(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(b.))) -> g_flat.0(down.0(f.0(b.))) 395.09/246.32 down.0(g.0(f.0(f.0(a.)))) -> g_flat.0(down.0(f.0(f.0(a.)))) 395.09/246.32 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.32 down.0(g.0(f.0(f.0(b.)))) -> g_flat.0(down.0(f.0(f.0(b.)))) 395.09/246.32 down.0(g.0(f.0(g.0(a.)))) -> g_flat.0(down.0(f.0(g.0(a.)))) 395.09/246.32 down.0(g.0(f.0(g.0(b.)))) -> g_flat.0(down.0(f.0(g.0(b.)))) 395.09/246.32 down.0(f.0(g.0(b.))) -> f_flat.0(down.0(g.0(b.))) 395.09/246.32 down.1(f.1(f.1(fresh_constant.))) -> f_flat.0(down.1(f.1(fresh_constant.))) 395.09/246.32 down.0(f.0(f.0(b.))) -> f_flat.0(down.0(f.0(b.))) 395.09/246.32 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.32 down.0(f.0(g.1(f.1(y12)))) -> f_flat.0(down.0(g.1(f.1(y12)))) 395.09/246.32 395.09/246.32 Q is empty. 395.09/246.32 We have to consider all minimal (P,Q,R)-chains. 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (200) UsableRulesReductionPairsProof (EQUIVALENT) 395.09/246.32 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. 395.09/246.32 395.09/246.32 No dependency pairs are removed. 395.09/246.32 395.09/246.32 The following rules are removed from R: 395.09/246.32 395.09/246.32 down.1(f.1(f.1(fresh_constant.))) -> f_flat.0(down.1(f.1(fresh_constant.))) 395.09/246.32 Used ordering: POLO with Polynomial interpretation [POLO]: 395.09/246.32 395.09/246.32 POL(TOP.0(x_1)) = x_1 395.09/246.32 POL(a.) = 0 395.09/246.32 POL(b.) = 0 395.09/246.32 POL(down.0(x_1)) = 1 + x_1 395.09/246.32 POL(f.0(x_1)) = x_1 395.09/246.32 POL(f.1(x_1)) = x_1 395.09/246.32 POL(f_flat.0(x_1)) = x_1 395.09/246.32 POL(fresh_constant.) = 0 395.09/246.32 POL(g.0(x_1)) = x_1 395.09/246.32 POL(g.1(x_1)) = x_1 395.09/246.32 POL(g_flat.0(x_1)) = x_1 395.09/246.32 POL(up.0(x_1)) = 1 + x_1 395.09/246.32 POL(up.1(x_1)) = x_1 395.09/246.32 395.09/246.32 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (201) 395.09/246.32 Obligation: 395.09/246.32 Q DP problem: 395.09/246.32 The TRS P consists of the following rules: 395.09/246.32 395.09/246.32 TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) 395.09/246.32 TOP.0(up.0(f.0(f.0(g.1(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.1(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(f.0(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.32 TOP.0(up.0(g.0(g.0(f.0(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(g.0(a.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(a.))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(g.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.0(x0)))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(f.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(a.))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(f.0(f.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.0(x0)))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(a.))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(g.0(g.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.0(x0)))))) 395.09/246.32 395.09/246.32 The TRS R consists of the following rules: 395.09/246.32 395.09/246.32 down.0(f.0(g.0(g.0(a.)))) -> f_flat.0(down.0(g.0(g.0(a.)))) 395.09/246.32 down.0(f.0(g.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.32 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.32 down.0(f.0(g.0(g.0(g.1(y22))))) -> f_flat.0(down.0(g.0(g.0(g.1(y22))))) 395.09/246.32 down.0(f.0(g.0(g.0(b.)))) -> f_flat.0(down.0(g.0(g.0(b.)))) 395.09/246.32 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.32 down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) 395.09/246.32 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.32 f_flat.0(up.1(x_1)) -> up.1(f.1(x_1)) 395.09/246.32 down.0(g.0(g.0(g.0(x)))) -> up.0(b.) 395.09/246.32 down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) 395.09/246.32 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 395.09/246.32 down.0(a.) -> up.0(f.0(a.)) 395.09/246.32 down.0(a.) -> up.0(g.0(a.)) 395.09/246.32 down.0(f.0(g.0(a.))) -> f_flat.0(down.0(g.0(a.))) 395.09/246.32 down.0(f.0(f.0(f.0(x)))) -> up.0(b.) 395.09/246.32 down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) 395.09/246.32 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 395.09/246.32 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.32 down.0(g.0(f.0(g.0(g.1(y28))))) -> g_flat.0(down.0(f.0(g.0(g.1(y28))))) 395.09/246.32 down.0(g.0(f.0(g.1(fresh_constant.)))) -> g_flat.0(down.0(f.0(g.1(fresh_constant.)))) 395.09/246.32 down.0(g.0(f.0(a.))) -> g_flat.0(down.0(f.0(a.))) 395.09/246.32 down.0(g.0(f.0(f.0(g.0(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(b.))) -> g_flat.0(down.0(f.0(b.))) 395.09/246.32 down.0(g.0(f.0(f.0(a.)))) -> g_flat.0(down.0(f.0(f.0(a.)))) 395.09/246.32 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.32 down.0(g.0(f.0(f.0(b.)))) -> g_flat.0(down.0(f.0(f.0(b.)))) 395.09/246.32 down.0(g.0(f.0(g.0(a.)))) -> g_flat.0(down.0(f.0(g.0(a.)))) 395.09/246.32 down.0(g.0(f.0(g.0(b.)))) -> g_flat.0(down.0(f.0(g.0(b.)))) 395.09/246.32 down.0(f.0(g.0(b.))) -> f_flat.0(down.0(g.0(b.))) 395.09/246.32 down.0(f.0(f.0(b.))) -> f_flat.0(down.0(f.0(b.))) 395.09/246.32 down.0(f.0(g.1(f.1(y12)))) -> f_flat.0(down.0(g.1(f.1(y12)))) 395.09/246.32 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.32 395.09/246.32 Q is empty. 395.09/246.32 We have to consider all minimal (P,Q,R)-chains. 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (202) QDPOrderProof (EQUIVALENT) 395.09/246.32 We use the reduction pair processor [LPAR04,JAR06]. 395.09/246.32 395.09/246.32 395.09/246.32 The following pairs can be oriented strictly and are deleted. 395.09/246.32 395.09/246.32 TOP.0(up.0(f.0(f.0(g.1(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.1(x0))))) 395.09/246.32 The remaining pairs can at least be oriented weakly. 395.09/246.32 Used ordering: Polynomial interpretation [POLO]: 395.09/246.32 395.09/246.32 POL(TOP.0(x_1)) = x_1 395.09/246.32 POL(a.) = 0 395.09/246.32 POL(b.) = 0 395.09/246.32 POL(down.0(x_1)) = x_1 395.09/246.32 POL(f.0(x_1)) = x_1 395.09/246.32 POL(f.1(x_1)) = x_1 395.09/246.32 POL(f_flat.0(x_1)) = x_1 395.09/246.32 POL(fresh_constant.) = 0 395.09/246.32 POL(g.0(x_1)) = 1 395.09/246.32 POL(g.1(x_1)) = 0 395.09/246.32 POL(g_flat.0(x_1)) = 1 395.09/246.32 POL(up.0(x_1)) = 1 395.09/246.32 POL(up.1(x_1)) = 1 + x_1 395.09/246.32 395.09/246.32 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 395.09/246.32 395.09/246.32 down.0(f.0(g.0(g.0(a.)))) -> f_flat.0(down.0(g.0(g.0(a.)))) 395.09/246.32 down.0(f.0(g.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.32 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.32 down.0(f.0(g.0(g.0(g.1(y22))))) -> f_flat.0(down.0(g.0(g.0(g.1(y22))))) 395.09/246.32 down.0(f.0(g.0(g.0(b.)))) -> f_flat.0(down.0(g.0(g.0(b.)))) 395.09/246.32 down.0(f.0(g.0(a.))) -> f_flat.0(down.0(g.0(a.))) 395.09/246.32 down.0(f.0(g.0(b.))) -> f_flat.0(down.0(g.0(b.))) 395.09/246.32 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.32 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.32 f_flat.0(up.1(x_1)) -> up.1(f.1(x_1)) 395.09/246.32 down.0(f.0(g.1(f.1(y12)))) -> f_flat.0(down.0(g.1(f.1(y12)))) 395.09/246.32 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.32 down.0(g.0(f.0(g.0(g.1(y28))))) -> g_flat.0(down.0(f.0(g.0(g.1(y28))))) 395.09/246.32 down.0(g.0(f.0(g.1(fresh_constant.)))) -> g_flat.0(down.0(f.0(g.1(fresh_constant.)))) 395.09/246.32 down.0(g.0(f.0(a.))) -> g_flat.0(down.0(f.0(a.))) 395.09/246.32 down.0(g.0(f.0(f.0(g.0(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(b.))) -> g_flat.0(down.0(f.0(b.))) 395.09/246.32 down.0(g.0(f.0(f.0(a.)))) -> g_flat.0(down.0(f.0(f.0(a.)))) 395.09/246.32 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.32 down.0(g.0(f.0(f.0(b.)))) -> g_flat.0(down.0(f.0(f.0(b.)))) 395.09/246.32 down.0(g.0(f.0(g.0(a.)))) -> g_flat.0(down.0(f.0(g.0(a.)))) 395.09/246.32 down.0(g.0(f.0(g.0(b.)))) -> g_flat.0(down.0(f.0(g.0(b.)))) 395.09/246.32 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.32 down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) 395.09/246.32 down.0(g.0(g.0(g.0(x)))) -> up.0(b.) 395.09/246.32 down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) 395.09/246.32 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 395.09/246.32 395.09/246.32 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (203) 395.09/246.32 Obligation: 395.09/246.32 Q DP problem: 395.09/246.32 The TRS P consists of the following rules: 395.09/246.32 395.09/246.32 TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(f.0(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.32 TOP.0(up.0(g.0(g.0(f.0(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(g.0(a.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(a.))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(g.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.0(x0)))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(f.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(a.))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(f.0(f.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.0(x0)))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(a.))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(g.0(g.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.0(x0)))))) 395.09/246.32 395.09/246.32 The TRS R consists of the following rules: 395.09/246.32 395.09/246.32 down.0(f.0(g.0(g.0(a.)))) -> f_flat.0(down.0(g.0(g.0(a.)))) 395.09/246.32 down.0(f.0(g.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.32 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.32 down.0(f.0(g.0(g.0(g.1(y22))))) -> f_flat.0(down.0(g.0(g.0(g.1(y22))))) 395.09/246.32 down.0(f.0(g.0(g.0(b.)))) -> f_flat.0(down.0(g.0(g.0(b.)))) 395.09/246.32 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.32 down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) 395.09/246.32 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.32 f_flat.0(up.1(x_1)) -> up.1(f.1(x_1)) 395.09/246.32 down.0(g.0(g.0(g.0(x)))) -> up.0(b.) 395.09/246.32 down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) 395.09/246.32 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 395.09/246.32 down.0(a.) -> up.0(f.0(a.)) 395.09/246.32 down.0(a.) -> up.0(g.0(a.)) 395.09/246.32 down.0(f.0(g.0(a.))) -> f_flat.0(down.0(g.0(a.))) 395.09/246.32 down.0(f.0(f.0(f.0(x)))) -> up.0(b.) 395.09/246.32 down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) 395.09/246.32 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 395.09/246.32 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.32 down.0(g.0(f.0(g.0(g.1(y28))))) -> g_flat.0(down.0(f.0(g.0(g.1(y28))))) 395.09/246.32 down.0(g.0(f.0(g.1(fresh_constant.)))) -> g_flat.0(down.0(f.0(g.1(fresh_constant.)))) 395.09/246.32 down.0(g.0(f.0(a.))) -> g_flat.0(down.0(f.0(a.))) 395.09/246.32 down.0(g.0(f.0(f.0(g.0(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(b.))) -> g_flat.0(down.0(f.0(b.))) 395.09/246.32 down.0(g.0(f.0(f.0(a.)))) -> g_flat.0(down.0(f.0(f.0(a.)))) 395.09/246.32 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.32 down.0(g.0(f.0(f.0(b.)))) -> g_flat.0(down.0(f.0(f.0(b.)))) 395.09/246.32 down.0(g.0(f.0(g.0(a.)))) -> g_flat.0(down.0(f.0(g.0(a.)))) 395.09/246.32 down.0(g.0(f.0(g.0(b.)))) -> g_flat.0(down.0(f.0(g.0(b.)))) 395.09/246.32 down.0(f.0(g.0(b.))) -> f_flat.0(down.0(g.0(b.))) 395.09/246.32 down.0(f.0(f.0(b.))) -> f_flat.0(down.0(f.0(b.))) 395.09/246.32 down.0(f.0(g.1(f.1(y12)))) -> f_flat.0(down.0(g.1(f.1(y12)))) 395.09/246.32 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.32 395.09/246.32 Q is empty. 395.09/246.32 We have to consider all minimal (P,Q,R)-chains. 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (204) UsableRulesReductionPairsProof (EQUIVALENT) 395.09/246.32 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. 395.09/246.32 395.09/246.32 No dependency pairs are removed. 395.09/246.32 395.09/246.32 The following rules are removed from R: 395.09/246.32 395.09/246.32 down.0(f.0(g.1(f.1(y12)))) -> f_flat.0(down.0(g.1(f.1(y12)))) 395.09/246.32 Used ordering: POLO with Polynomial interpretation [POLO]: 395.09/246.32 395.09/246.32 POL(TOP.0(x_1)) = x_1 395.09/246.32 POL(a.) = 0 395.09/246.32 POL(b.) = 0 395.09/246.32 POL(down.0(x_1)) = 1 + x_1 395.09/246.32 POL(f.0(x_1)) = x_1 395.09/246.32 POL(f.1(x_1)) = x_1 395.09/246.32 POL(f_flat.0(x_1)) = x_1 395.09/246.32 POL(fresh_constant.) = 0 395.09/246.32 POL(g.0(x_1)) = x_1 395.09/246.32 POL(g.1(x_1)) = x_1 395.09/246.32 POL(g_flat.0(x_1)) = x_1 395.09/246.32 POL(up.0(x_1)) = 1 + x_1 395.09/246.32 POL(up.1(x_1)) = x_1 395.09/246.32 395.09/246.32 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (205) 395.09/246.32 Obligation: 395.09/246.32 Q DP problem: 395.09/246.32 The TRS P consists of the following rules: 395.09/246.32 395.09/246.32 TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(f.0(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.32 TOP.0(up.0(g.0(g.0(f.0(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(g.0(a.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(a.))))) 395.09/246.32 TOP.0(up.0(f.0(g.0(g.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.0(x0)))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(f.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(a.))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(f.0(f.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.0(x0)))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(a.))))) 395.09/246.32 TOP.0(up.0(g.0(f.0(g.0(g.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.0(x0)))))) 395.09/246.32 395.09/246.32 The TRS R consists of the following rules: 395.09/246.32 395.09/246.32 down.0(f.0(g.0(g.0(a.)))) -> f_flat.0(down.0(g.0(g.0(a.)))) 395.09/246.32 down.0(f.0(g.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.32 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.32 down.0(f.0(g.0(g.0(g.1(y22))))) -> f_flat.0(down.0(g.0(g.0(g.1(y22))))) 395.09/246.32 down.0(f.0(g.0(g.0(b.)))) -> f_flat.0(down.0(g.0(g.0(b.)))) 395.09/246.32 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.32 down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) 395.09/246.32 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.32 f_flat.0(up.1(x_1)) -> up.1(f.1(x_1)) 395.09/246.32 down.0(g.0(g.0(g.0(x)))) -> up.0(b.) 395.09/246.32 down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) 395.09/246.32 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 395.09/246.32 down.0(a.) -> up.0(f.0(a.)) 395.09/246.32 down.0(a.) -> up.0(g.0(a.)) 395.09/246.32 down.0(f.0(g.0(a.))) -> f_flat.0(down.0(g.0(a.))) 395.09/246.32 down.0(f.0(f.0(f.0(x)))) -> up.0(b.) 395.09/246.32 down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) 395.09/246.32 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 395.09/246.32 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.32 down.0(g.0(f.0(g.0(g.1(y28))))) -> g_flat.0(down.0(f.0(g.0(g.1(y28))))) 395.09/246.32 down.0(g.0(f.0(g.1(fresh_constant.)))) -> g_flat.0(down.0(f.0(g.1(fresh_constant.)))) 395.09/246.32 down.0(g.0(f.0(a.))) -> g_flat.0(down.0(f.0(a.))) 395.09/246.32 down.0(g.0(f.0(f.0(g.0(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.32 down.0(g.0(f.0(b.))) -> g_flat.0(down.0(f.0(b.))) 395.09/246.32 down.0(g.0(f.0(f.0(a.)))) -> g_flat.0(down.0(f.0(f.0(a.)))) 395.09/246.32 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.32 down.0(g.0(f.0(f.0(b.)))) -> g_flat.0(down.0(f.0(f.0(b.)))) 395.09/246.32 down.0(g.0(f.0(g.0(a.)))) -> g_flat.0(down.0(f.0(g.0(a.)))) 395.09/246.32 down.0(g.0(f.0(g.0(b.)))) -> g_flat.0(down.0(f.0(g.0(b.)))) 395.09/246.32 down.0(f.0(g.0(b.))) -> f_flat.0(down.0(g.0(b.))) 395.09/246.32 down.0(f.0(f.0(b.))) -> f_flat.0(down.0(f.0(b.))) 395.09/246.32 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.32 395.09/246.32 Q is empty. 395.09/246.32 We have to consider all minimal (P,Q,R)-chains. 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (206) PisEmptyProof (SOUND) 395.09/246.32 The TRS P is empty. Hence, there is no (P,Q,R) chain. 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (207) 395.09/246.32 TRUE 395.09/246.32 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (208) 395.09/246.32 Obligation: 395.09/246.32 Q DP problem: 395.09/246.32 The TRS P consists of the following rules: 395.09/246.32 395.09/246.32 TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) 395.09/246.32 TOP(up(f(g(f(x0))))) -> TOP(f_flat(down(g(f(x0))))) 395.09/246.32 TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) 395.09/246.32 TOP(up(f(g(g(a))))) -> TOP(f_flat(down(g(g(a))))) 395.09/246.32 TOP(up(f(g(g(g(x0)))))) -> TOP(f_flat(down(g(g(g(x0)))))) 395.09/246.32 TOP(up(g(f(f(a))))) -> TOP(g_flat(down(f(f(a))))) 395.09/246.32 TOP(up(g(f(f(f(x0)))))) -> TOP(g_flat(down(f(f(f(x0)))))) 395.09/246.32 TOP(up(g(f(g(a))))) -> TOP(g_flat(down(f(g(a))))) 395.09/246.32 TOP(up(g(f(g(g(x0)))))) -> TOP(g_flat(down(f(g(g(x0)))))) 395.09/246.32 395.09/246.32 The TRS R consists of the following rules: 395.09/246.32 395.09/246.32 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.09/246.32 down(f(g(g(f(x))))) -> up(b) 395.09/246.32 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.09/246.32 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.09/246.32 g_flat(up(x_1)) -> up(g(x_1)) 395.09/246.32 down(g(g(b))) -> g_flat(down(g(b))) 395.09/246.32 f_flat(up(x_1)) -> up(f(x_1)) 395.09/246.32 down(g(g(g(x)))) -> up(b) 395.09/246.32 down(g(g(a))) -> g_flat(down(g(a))) 395.09/246.32 down(g(a)) -> g_flat(down(a)) 395.09/246.32 down(a) -> up(f(a)) 395.09/246.32 down(a) -> up(g(a)) 395.09/246.32 down(f(g(a))) -> f_flat(down(g(a))) 395.09/246.32 down(f(f(f(x)))) -> up(b) 395.09/246.32 down(f(f(a))) -> f_flat(down(f(a))) 395.09/246.32 down(f(a)) -> f_flat(down(a)) 395.09/246.32 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.09/246.32 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.09/246.32 down(g(f(a))) -> g_flat(down(f(a))) 395.09/246.32 down(g(f(f(g(x))))) -> up(b) 395.09/246.32 down(g(f(g(f(x))))) -> up(b) 395.09/246.32 down(g(f(b))) -> g_flat(down(f(b))) 395.09/246.32 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.09/246.32 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.09/246.32 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.09/246.32 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.09/246.32 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.09/246.32 down(f(g(b))) -> f_flat(down(g(b))) 395.09/246.32 down(f(f(b))) -> f_flat(down(f(b))) 395.09/246.32 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.09/246.32 395.09/246.32 Q is empty. 395.09/246.32 We have to consider all minimal (P,Q,R)-chains. 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (209) SplitQDPProof (EQUIVALENT) 395.09/246.32 We show in the first subproof that some pairs and rules can be removed, afterwards, we continue with the remaining DP-Problem 395.09/246.32 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (210) 395.09/246.32 Complex Obligation (AND) 395.09/246.32 395.09/246.32 ---------------------------------------- 395.09/246.32 395.09/246.32 (211) 395.09/246.32 Obligation: 395.09/246.32 Q DP problem: 395.09/246.32 The TRS P consists of the following rules: 395.09/246.32 395.09/246.32 TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) 395.09/246.32 TOP(up(f(g(f(x0))))) -> TOP(f_flat(down(g(f(x0))))) 395.09/246.32 TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) 395.09/246.32 TOP(up(f(g(g(a))))) -> TOP(f_flat(down(g(g(a))))) 395.09/246.32 TOP(up(f(g(g(g(x0)))))) -> TOP(f_flat(down(g(g(g(x0)))))) 395.09/246.32 TOP(up(g(f(f(a))))) -> TOP(g_flat(down(f(f(a))))) 395.09/246.32 TOP(up(g(f(f(f(x0)))))) -> TOP(g_flat(down(f(f(f(x0)))))) 395.09/246.32 TOP(up(g(f(g(a))))) -> TOP(g_flat(down(f(g(a))))) 395.09/246.32 TOP(up(g(f(g(g(x0)))))) -> TOP(g_flat(down(f(g(g(x0)))))) 395.09/246.32 395.09/246.32 The TRS R consists of the following rules: 395.09/246.32 395.09/246.32 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.09/246.32 down(f(g(g(f(x))))) -> up(b) 395.09/246.32 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.09/246.32 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.09/246.32 g_flat(up(x_1)) -> up(g(x_1)) 395.09/246.32 down(g(g(b))) -> g_flat(down(g(b))) 395.09/246.32 f_flat(up(x_1)) -> up(f(x_1)) 395.09/246.32 down(g(g(g(x)))) -> up(b) 395.09/246.32 down(g(g(a))) -> g_flat(down(g(a))) 395.09/246.33 down(g(a)) -> g_flat(down(a)) 395.09/246.33 down(a) -> up(f(a)) 395.09/246.33 down(a) -> up(g(a)) 395.09/246.33 down(f(g(a))) -> f_flat(down(g(a))) 395.09/246.33 down(f(f(f(x)))) -> up(b) 395.09/246.33 down(f(f(a))) -> f_flat(down(f(a))) 395.09/246.33 down(f(a)) -> f_flat(down(a)) 395.09/246.33 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.09/246.33 down(g(f(g(fresh_constant)))) -> g_flat(down(f(g(fresh_constant)))) 395.09/246.33 down(g(f(a))) -> g_flat(down(f(a))) 395.09/246.33 down(g(f(f(g(x))))) -> up(b) 395.09/246.33 down(g(f(g(f(x))))) -> up(b) 395.09/246.33 down(g(f(b))) -> g_flat(down(f(b))) 395.09/246.33 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.09/246.33 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.09/246.33 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.09/246.33 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.09/246.33 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.09/246.33 down(f(g(b))) -> f_flat(down(g(b))) 395.09/246.33 down(f(f(b))) -> f_flat(down(f(b))) 395.09/246.33 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.09/246.33 395.09/246.33 Q is empty. 395.09/246.33 We have to consider all minimal (P,Q,R)-chains. 395.09/246.33 ---------------------------------------- 395.09/246.33 395.09/246.33 (212) SemLabProof (SOUND) 395.09/246.33 We found the following model for the rules of the TRSs R and P. 395.09/246.33 Interpretation over the domain with elements from 0 to 1. 395.09/246.33 a: 0 395.09/246.33 b: 0 395.09/246.33 down: 0 395.09/246.33 f: x0 395.09/246.33 fresh_constant: 1 395.09/246.33 up: 0 395.09/246.33 f_flat: 0 395.09/246.33 TOP: 0 395.09/246.33 g_flat: 0 395.09/246.33 g: x0 395.09/246.33 By semantic labelling [SEMLAB] we obtain the following labelled QDP problem. 395.09/246.33 ---------------------------------------- 395.09/246.33 395.09/246.33 (213) 395.09/246.33 Obligation: 395.09/246.33 Q DP problem: 395.09/246.33 The TRS P consists of the following rules: 395.09/246.33 395.09/246.33 TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) 395.09/246.33 TOP.0(up.1(f.1(f.1(g.1(x0))))) -> TOP.0(f_flat.0(down.1(f.1(g.1(x0))))) 395.09/246.33 TOP.0(up.0(f.0(g.0(f.0(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.33 TOP.0(up.1(f.1(g.1(f.1(x0))))) -> TOP.0(f_flat.0(down.1(g.1(f.1(x0))))) 395.09/246.33 TOP.0(up.0(g.0(g.0(f.0(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.33 TOP.0(up.1(g.1(g.1(f.1(x0))))) -> TOP.0(g_flat.0(down.1(g.1(f.1(x0))))) 395.09/246.33 TOP.0(up.0(f.0(g.0(g.0(a.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(a.))))) 395.09/246.33 TOP.0(up.0(f.0(g.0(g.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.0(x0)))))) 395.09/246.33 TOP.0(up.1(f.1(g.1(g.1(g.1(x0)))))) -> TOP.0(f_flat.0(down.1(g.1(g.1(g.1(x0)))))) 395.09/246.33 TOP.0(up.0(g.0(f.0(f.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(a.))))) 395.09/246.33 TOP.0(up.0(g.0(f.0(f.0(f.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.0(x0)))))) 395.09/246.33 TOP.0(up.1(g.1(f.1(f.1(f.1(x0)))))) -> TOP.0(g_flat.0(down.1(f.1(f.1(f.1(x0)))))) 395.09/246.33 TOP.0(up.0(g.0(f.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(a.))))) 395.09/246.33 TOP.0(up.0(g.0(f.0(g.0(g.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.0(x0)))))) 395.09/246.33 TOP.0(up.1(g.1(f.1(g.1(g.1(x0)))))) -> TOP.0(g_flat.0(down.1(f.1(g.1(g.1(x0)))))) 395.09/246.33 395.09/246.33 The TRS R consists of the following rules: 395.09/246.33 395.09/246.33 down.0(f.0(g.0(g.0(a.)))) -> f_flat.0(down.0(g.0(g.0(a.)))) 395.09/246.33 down.0(f.0(g.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.33 down.1(f.1(g.1(g.1(f.1(x))))) -> up.0(b.) 395.09/246.33 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.33 down.1(f.1(g.1(g.1(g.1(y22))))) -> f_flat.0(down.1(g.1(g.1(g.1(y22))))) 395.09/246.33 down.0(f.0(g.0(g.0(b.)))) -> f_flat.0(down.0(g.0(g.0(b.)))) 395.09/246.33 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.33 g_flat.0(up.1(x_1)) -> up.1(g.1(x_1)) 395.09/246.33 down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) 395.09/246.33 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.33 f_flat.0(up.1(x_1)) -> up.1(f.1(x_1)) 395.09/246.33 down.0(g.0(g.0(g.0(x)))) -> up.0(b.) 395.09/246.33 down.1(g.1(g.1(g.1(x)))) -> up.0(b.) 395.09/246.33 down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) 395.09/246.33 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 395.09/246.33 down.0(a.) -> up.0(f.0(a.)) 395.09/246.33 down.0(a.) -> up.0(g.0(a.)) 395.09/246.33 down.0(f.0(g.0(a.))) -> f_flat.0(down.0(g.0(a.))) 395.09/246.33 down.0(f.0(f.0(f.0(x)))) -> up.0(b.) 395.09/246.33 down.1(f.1(f.1(f.1(x)))) -> up.0(b.) 395.09/246.33 down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) 395.09/246.33 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 395.09/246.33 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.33 down.1(g.1(f.1(g.1(g.1(y28))))) -> g_flat.0(down.1(f.1(g.1(g.1(y28))))) 395.09/246.33 down.1(g.1(f.1(g.1(fresh_constant.)))) -> g_flat.0(down.1(f.1(g.1(fresh_constant.)))) 395.09/246.33 down.0(g.0(f.0(a.))) -> g_flat.0(down.0(f.0(a.))) 395.09/246.33 down.0(g.0(f.0(f.0(g.0(x))))) -> up.0(b.) 395.09/246.33 down.1(g.1(f.1(f.1(g.1(x))))) -> up.0(b.) 395.09/246.33 down.0(g.0(f.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.33 down.1(g.1(f.1(g.1(f.1(x))))) -> up.0(b.) 395.09/246.33 down.0(g.0(f.0(b.))) -> g_flat.0(down.0(f.0(b.))) 395.09/246.33 down.0(g.0(f.0(f.0(a.)))) -> g_flat.0(down.0(f.0(f.0(a.)))) 395.09/246.33 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.33 down.1(g.1(f.1(f.1(f.1(y24))))) -> g_flat.0(down.1(f.1(f.1(f.1(y24))))) 395.09/246.33 down.0(g.0(f.0(f.0(b.)))) -> g_flat.0(down.0(f.0(f.0(b.)))) 395.09/246.33 down.0(g.0(f.0(g.0(a.)))) -> g_flat.0(down.0(f.0(g.0(a.)))) 395.09/246.33 down.0(g.0(f.0(g.0(b.)))) -> g_flat.0(down.0(f.0(g.0(b.)))) 395.09/246.33 down.0(f.0(g.0(b.))) -> f_flat.0(down.0(g.0(b.))) 395.09/246.33 down.0(f.0(f.0(b.))) -> f_flat.0(down.0(f.0(b.))) 395.09/246.33 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.33 down.1(f.1(g.1(f.1(y12)))) -> f_flat.0(down.1(g.1(f.1(y12)))) 395.09/246.33 395.09/246.33 Q is empty. 395.09/246.33 We have to consider all minimal (P,Q,R)-chains. 395.09/246.33 ---------------------------------------- 395.09/246.33 395.09/246.33 (214) MRRProof (EQUIVALENT) 395.09/246.33 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. 395.09/246.33 395.09/246.33 395.09/246.33 Strictly oriented rules of the TRS R: 395.09/246.33 395.09/246.33 down.1(f.1(g.1(g.1(f.1(x))))) -> up.0(b.) 395.09/246.33 down.1(g.1(g.1(g.1(x)))) -> up.0(b.) 395.09/246.33 down.1(f.1(f.1(f.1(x)))) -> up.0(b.) 395.09/246.33 down.1(g.1(f.1(f.1(g.1(x))))) -> up.0(b.) 395.09/246.33 down.1(g.1(f.1(g.1(f.1(x))))) -> up.0(b.) 395.09/246.33 395.09/246.33 Used ordering: Polynomial interpretation [POLO]: 395.09/246.33 395.09/246.33 POL(TOP.0(x_1)) = x_1 395.09/246.33 POL(a.) = 0 395.09/246.33 POL(b.) = 0 395.09/246.33 POL(down.0(x_1)) = x_1 395.09/246.33 POL(down.1(x_1)) = 1 + x_1 395.09/246.33 POL(f.0(x_1)) = x_1 395.09/246.33 POL(f.1(x_1)) = x_1 395.09/246.33 POL(f_flat.0(x_1)) = x_1 395.09/246.33 POL(fresh_constant.) = 0 395.09/246.33 POL(g.0(x_1)) = x_1 395.09/246.33 POL(g.1(x_1)) = x_1 395.09/246.33 POL(g_flat.0(x_1)) = x_1 395.09/246.33 POL(up.0(x_1)) = x_1 395.09/246.33 POL(up.1(x_1)) = 1 + x_1 395.09/246.33 395.09/246.33 395.09/246.33 ---------------------------------------- 395.09/246.33 395.09/246.33 (215) 395.09/246.33 Obligation: 395.09/246.33 Q DP problem: 395.09/246.33 The TRS P consists of the following rules: 395.09/246.33 395.09/246.33 TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) 395.09/246.33 TOP.0(up.1(f.1(f.1(g.1(x0))))) -> TOP.0(f_flat.0(down.1(f.1(g.1(x0))))) 395.09/246.33 TOP.0(up.0(f.0(g.0(f.0(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.33 TOP.0(up.1(f.1(g.1(f.1(x0))))) -> TOP.0(f_flat.0(down.1(g.1(f.1(x0))))) 395.09/246.33 TOP.0(up.0(g.0(g.0(f.0(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.33 TOP.0(up.1(g.1(g.1(f.1(x0))))) -> TOP.0(g_flat.0(down.1(g.1(f.1(x0))))) 395.09/246.33 TOP.0(up.0(f.0(g.0(g.0(a.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(a.))))) 395.09/246.33 TOP.0(up.0(f.0(g.0(g.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.0(x0)))))) 395.09/246.33 TOP.0(up.1(f.1(g.1(g.1(g.1(x0)))))) -> TOP.0(f_flat.0(down.1(g.1(g.1(g.1(x0)))))) 395.09/246.33 TOP.0(up.0(g.0(f.0(f.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(a.))))) 395.09/246.33 TOP.0(up.0(g.0(f.0(f.0(f.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.0(x0)))))) 395.09/246.33 TOP.0(up.1(g.1(f.1(f.1(f.1(x0)))))) -> TOP.0(g_flat.0(down.1(f.1(f.1(f.1(x0)))))) 395.09/246.33 TOP.0(up.0(g.0(f.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(a.))))) 395.09/246.33 TOP.0(up.0(g.0(f.0(g.0(g.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.0(x0)))))) 395.09/246.33 TOP.0(up.1(g.1(f.1(g.1(g.1(x0)))))) -> TOP.0(g_flat.0(down.1(f.1(g.1(g.1(x0)))))) 395.09/246.33 395.09/246.33 The TRS R consists of the following rules: 395.09/246.33 395.09/246.33 down.0(f.0(g.0(g.0(a.)))) -> f_flat.0(down.0(g.0(g.0(a.)))) 395.09/246.33 down.0(f.0(g.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.33 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.33 down.1(f.1(g.1(g.1(g.1(y22))))) -> f_flat.0(down.1(g.1(g.1(g.1(y22))))) 395.09/246.33 down.0(f.0(g.0(g.0(b.)))) -> f_flat.0(down.0(g.0(g.0(b.)))) 395.09/246.33 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.33 g_flat.0(up.1(x_1)) -> up.1(g.1(x_1)) 395.09/246.33 down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) 395.09/246.33 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.33 f_flat.0(up.1(x_1)) -> up.1(f.1(x_1)) 395.09/246.33 down.0(g.0(g.0(g.0(x)))) -> up.0(b.) 395.09/246.33 down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) 395.09/246.33 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 395.09/246.33 down.0(a.) -> up.0(f.0(a.)) 395.09/246.33 down.0(a.) -> up.0(g.0(a.)) 395.09/246.33 down.0(f.0(g.0(a.))) -> f_flat.0(down.0(g.0(a.))) 395.09/246.33 down.0(f.0(f.0(f.0(x)))) -> up.0(b.) 395.09/246.33 down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) 395.09/246.33 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 395.09/246.33 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.33 down.1(g.1(f.1(g.1(g.1(y28))))) -> g_flat.0(down.1(f.1(g.1(g.1(y28))))) 395.09/246.33 down.1(g.1(f.1(g.1(fresh_constant.)))) -> g_flat.0(down.1(f.1(g.1(fresh_constant.)))) 395.09/246.33 down.0(g.0(f.0(a.))) -> g_flat.0(down.0(f.0(a.))) 395.09/246.33 down.0(g.0(f.0(f.0(g.0(x))))) -> up.0(b.) 395.09/246.33 down.0(g.0(f.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.33 down.0(g.0(f.0(b.))) -> g_flat.0(down.0(f.0(b.))) 395.09/246.33 down.0(g.0(f.0(f.0(a.)))) -> g_flat.0(down.0(f.0(f.0(a.)))) 395.09/246.33 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.33 down.1(g.1(f.1(f.1(f.1(y24))))) -> g_flat.0(down.1(f.1(f.1(f.1(y24))))) 395.09/246.33 down.0(g.0(f.0(f.0(b.)))) -> g_flat.0(down.0(f.0(f.0(b.)))) 395.09/246.33 down.0(g.0(f.0(g.0(a.)))) -> g_flat.0(down.0(f.0(g.0(a.)))) 395.09/246.33 down.0(g.0(f.0(g.0(b.)))) -> g_flat.0(down.0(f.0(g.0(b.)))) 395.09/246.33 down.0(f.0(g.0(b.))) -> f_flat.0(down.0(g.0(b.))) 395.09/246.33 down.0(f.0(f.0(b.))) -> f_flat.0(down.0(f.0(b.))) 395.09/246.33 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.33 down.1(f.1(g.1(f.1(y12)))) -> f_flat.0(down.1(g.1(f.1(y12)))) 395.09/246.33 395.09/246.33 Q is empty. 395.09/246.33 We have to consider all minimal (P,Q,R)-chains. 395.09/246.33 ---------------------------------------- 395.09/246.33 395.09/246.33 (216) DependencyGraphProof (EQUIVALENT) 395.09/246.33 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. 395.09/246.33 ---------------------------------------- 395.09/246.33 395.09/246.33 (217) 395.09/246.33 Obligation: 395.09/246.33 Q DP problem: 395.09/246.33 The TRS P consists of the following rules: 395.09/246.33 395.09/246.33 TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) 395.09/246.33 TOP.0(up.1(f.1(f.1(g.1(x0))))) -> TOP.0(f_flat.0(down.1(f.1(g.1(x0))))) 395.09/246.33 TOP.0(up.0(f.0(g.0(f.0(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.33 TOP.0(up.1(f.1(g.1(f.1(x0))))) -> TOP.0(f_flat.0(down.1(g.1(f.1(x0))))) 395.09/246.33 TOP.0(up.0(g.0(g.0(f.0(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.33 TOP.0(up.1(g.1(g.1(f.1(x0))))) -> TOP.0(g_flat.0(down.1(g.1(f.1(x0))))) 395.09/246.33 TOP.0(up.0(f.0(g.0(g.0(a.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(a.))))) 395.09/246.33 TOP.0(up.0(f.0(g.0(g.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.0(x0)))))) 395.09/246.33 TOP.0(up.0(g.0(f.0(f.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(a.))))) 395.09/246.33 TOP.0(up.0(g.0(f.0(f.0(f.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.0(x0)))))) 395.09/246.33 TOP.0(up.0(g.0(f.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(a.))))) 395.09/246.33 TOP.0(up.0(g.0(f.0(g.0(g.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.0(x0)))))) 395.09/246.33 TOP.0(up.1(g.1(f.1(g.1(g.1(x0)))))) -> TOP.0(g_flat.0(down.1(f.1(g.1(g.1(x0)))))) 395.09/246.33 395.09/246.33 The TRS R consists of the following rules: 395.09/246.33 395.09/246.33 down.0(f.0(g.0(g.0(a.)))) -> f_flat.0(down.0(g.0(g.0(a.)))) 395.09/246.33 down.0(f.0(g.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.33 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.33 down.1(f.1(g.1(g.1(g.1(y22))))) -> f_flat.0(down.1(g.1(g.1(g.1(y22))))) 395.09/246.33 down.0(f.0(g.0(g.0(b.)))) -> f_flat.0(down.0(g.0(g.0(b.)))) 395.09/246.33 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.33 g_flat.0(up.1(x_1)) -> up.1(g.1(x_1)) 395.09/246.33 down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) 395.09/246.33 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.33 f_flat.0(up.1(x_1)) -> up.1(f.1(x_1)) 395.09/246.33 down.0(g.0(g.0(g.0(x)))) -> up.0(b.) 395.09/246.33 down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) 395.09/246.33 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 395.09/246.33 down.0(a.) -> up.0(f.0(a.)) 395.09/246.33 down.0(a.) -> up.0(g.0(a.)) 395.09/246.33 down.0(f.0(g.0(a.))) -> f_flat.0(down.0(g.0(a.))) 395.09/246.33 down.0(f.0(f.0(f.0(x)))) -> up.0(b.) 395.09/246.33 down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) 395.09/246.33 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 395.09/246.33 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.33 down.1(g.1(f.1(g.1(g.1(y28))))) -> g_flat.0(down.1(f.1(g.1(g.1(y28))))) 395.09/246.33 down.1(g.1(f.1(g.1(fresh_constant.)))) -> g_flat.0(down.1(f.1(g.1(fresh_constant.)))) 395.09/246.33 down.0(g.0(f.0(a.))) -> g_flat.0(down.0(f.0(a.))) 395.09/246.33 down.0(g.0(f.0(f.0(g.0(x))))) -> up.0(b.) 395.09/246.33 down.0(g.0(f.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.33 down.0(g.0(f.0(b.))) -> g_flat.0(down.0(f.0(b.))) 395.09/246.33 down.0(g.0(f.0(f.0(a.)))) -> g_flat.0(down.0(f.0(f.0(a.)))) 395.09/246.33 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.33 down.1(g.1(f.1(f.1(f.1(y24))))) -> g_flat.0(down.1(f.1(f.1(f.1(y24))))) 395.09/246.33 down.0(g.0(f.0(f.0(b.)))) -> g_flat.0(down.0(f.0(f.0(b.)))) 395.09/246.33 down.0(g.0(f.0(g.0(a.)))) -> g_flat.0(down.0(f.0(g.0(a.)))) 395.09/246.33 down.0(g.0(f.0(g.0(b.)))) -> g_flat.0(down.0(f.0(g.0(b.)))) 395.09/246.33 down.0(f.0(g.0(b.))) -> f_flat.0(down.0(g.0(b.))) 395.09/246.33 down.0(f.0(f.0(b.))) -> f_flat.0(down.0(f.0(b.))) 395.09/246.33 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.33 down.1(f.1(g.1(f.1(y12)))) -> f_flat.0(down.1(g.1(f.1(y12)))) 395.09/246.33 395.09/246.33 Q is empty. 395.09/246.33 We have to consider all minimal (P,Q,R)-chains. 395.09/246.33 ---------------------------------------- 395.09/246.33 395.09/246.33 (218) MRRProof (EQUIVALENT) 395.09/246.33 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. 395.09/246.33 395.09/246.33 Strictly oriented dependency pairs: 395.09/246.33 395.09/246.33 TOP.0(up.1(f.1(f.1(g.1(x0))))) -> TOP.0(f_flat.0(down.1(f.1(g.1(x0))))) 395.09/246.33 TOP.0(up.1(f.1(g.1(f.1(x0))))) -> TOP.0(f_flat.0(down.1(g.1(f.1(x0))))) 395.09/246.33 TOP.0(up.1(g.1(g.1(f.1(x0))))) -> TOP.0(g_flat.0(down.1(g.1(f.1(x0))))) 395.09/246.33 TOP.0(up.1(g.1(f.1(g.1(g.1(x0)))))) -> TOP.0(g_flat.0(down.1(f.1(g.1(g.1(x0)))))) 395.09/246.33 395.09/246.33 395.09/246.33 Used ordering: Polynomial interpretation [POLO]: 395.09/246.33 395.09/246.33 POL(TOP.0(x_1)) = x_1 395.09/246.33 POL(a.) = 0 395.09/246.33 POL(b.) = 0 395.09/246.33 POL(down.0(x_1)) = 1 + x_1 395.09/246.33 POL(down.1(x_1)) = x_1 395.09/246.33 POL(f.0(x_1)) = x_1 395.09/246.33 POL(f.1(x_1)) = x_1 395.09/246.33 POL(f_flat.0(x_1)) = x_1 395.09/246.33 POL(fresh_constant.) = 0 395.09/246.33 POL(g.0(x_1)) = x_1 395.09/246.33 POL(g.1(x_1)) = x_1 395.09/246.33 POL(g_flat.0(x_1)) = x_1 395.09/246.33 POL(up.0(x_1)) = 1 + x_1 395.09/246.33 POL(up.1(x_1)) = 1 + x_1 395.09/246.33 395.09/246.33 395.09/246.33 ---------------------------------------- 395.09/246.33 395.09/246.33 (219) 395.09/246.33 Obligation: 395.09/246.33 Q DP problem: 395.09/246.33 The TRS P consists of the following rules: 395.09/246.33 395.09/246.33 TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) 395.09/246.33 TOP.0(up.0(f.0(g.0(f.0(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.33 TOP.0(up.0(g.0(g.0(f.0(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.33 TOP.0(up.0(f.0(g.0(g.0(a.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(a.))))) 395.09/246.33 TOP.0(up.0(f.0(g.0(g.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.0(x0)))))) 395.09/246.33 TOP.0(up.0(g.0(f.0(f.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(a.))))) 395.09/246.33 TOP.0(up.0(g.0(f.0(f.0(f.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.0(x0)))))) 395.09/246.33 TOP.0(up.0(g.0(f.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(a.))))) 395.09/246.33 TOP.0(up.0(g.0(f.0(g.0(g.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.0(x0)))))) 395.09/246.33 395.09/246.33 The TRS R consists of the following rules: 395.09/246.33 395.09/246.33 down.0(f.0(g.0(g.0(a.)))) -> f_flat.0(down.0(g.0(g.0(a.)))) 395.09/246.33 down.0(f.0(g.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.33 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.33 down.1(f.1(g.1(g.1(g.1(y22))))) -> f_flat.0(down.1(g.1(g.1(g.1(y22))))) 395.09/246.33 down.0(f.0(g.0(g.0(b.)))) -> f_flat.0(down.0(g.0(g.0(b.)))) 395.09/246.33 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.33 g_flat.0(up.1(x_1)) -> up.1(g.1(x_1)) 395.09/246.33 down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) 395.09/246.33 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.33 f_flat.0(up.1(x_1)) -> up.1(f.1(x_1)) 395.09/246.33 down.0(g.0(g.0(g.0(x)))) -> up.0(b.) 395.09/246.33 down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) 395.09/246.33 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 395.09/246.33 down.0(a.) -> up.0(f.0(a.)) 395.09/246.33 down.0(a.) -> up.0(g.0(a.)) 395.09/246.33 down.0(f.0(g.0(a.))) -> f_flat.0(down.0(g.0(a.))) 395.09/246.33 down.0(f.0(f.0(f.0(x)))) -> up.0(b.) 395.09/246.33 down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) 395.09/246.33 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 395.09/246.33 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.33 down.1(g.1(f.1(g.1(g.1(y28))))) -> g_flat.0(down.1(f.1(g.1(g.1(y28))))) 395.09/246.33 down.1(g.1(f.1(g.1(fresh_constant.)))) -> g_flat.0(down.1(f.1(g.1(fresh_constant.)))) 395.09/246.33 down.0(g.0(f.0(a.))) -> g_flat.0(down.0(f.0(a.))) 395.09/246.33 down.0(g.0(f.0(f.0(g.0(x))))) -> up.0(b.) 395.09/246.33 down.0(g.0(f.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.33 down.0(g.0(f.0(b.))) -> g_flat.0(down.0(f.0(b.))) 395.09/246.33 down.0(g.0(f.0(f.0(a.)))) -> g_flat.0(down.0(f.0(f.0(a.)))) 395.09/246.33 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.33 down.1(g.1(f.1(f.1(f.1(y24))))) -> g_flat.0(down.1(f.1(f.1(f.1(y24))))) 395.09/246.33 down.0(g.0(f.0(f.0(b.)))) -> g_flat.0(down.0(f.0(f.0(b.)))) 395.09/246.33 down.0(g.0(f.0(g.0(a.)))) -> g_flat.0(down.0(f.0(g.0(a.)))) 395.09/246.33 down.0(g.0(f.0(g.0(b.)))) -> g_flat.0(down.0(f.0(g.0(b.)))) 395.09/246.33 down.0(f.0(g.0(b.))) -> f_flat.0(down.0(g.0(b.))) 395.09/246.33 down.0(f.0(f.0(b.))) -> f_flat.0(down.0(f.0(b.))) 395.09/246.33 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.33 down.1(f.1(g.1(f.1(y12)))) -> f_flat.0(down.1(g.1(f.1(y12)))) 395.09/246.33 395.09/246.33 Q is empty. 395.09/246.33 We have to consider all minimal (P,Q,R)-chains. 395.09/246.33 ---------------------------------------- 395.09/246.33 395.09/246.33 (220) UsableRulesReductionPairsProof (EQUIVALENT) 395.09/246.33 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. 395.09/246.33 395.09/246.33 No dependency pairs are removed. 395.09/246.33 395.09/246.33 The following rules are removed from R: 395.09/246.33 395.09/246.33 down.1(f.1(g.1(g.1(g.1(y22))))) -> f_flat.0(down.1(g.1(g.1(g.1(y22))))) 395.09/246.33 down.1(g.1(f.1(g.1(g.1(y28))))) -> g_flat.0(down.1(f.1(g.1(g.1(y28))))) 395.09/246.33 down.1(g.1(f.1(g.1(fresh_constant.)))) -> g_flat.0(down.1(f.1(g.1(fresh_constant.)))) 395.09/246.33 down.1(g.1(f.1(f.1(f.1(y24))))) -> g_flat.0(down.1(f.1(f.1(f.1(y24))))) 395.09/246.33 down.1(f.1(g.1(f.1(y12)))) -> f_flat.0(down.1(g.1(f.1(y12)))) 395.09/246.33 Used ordering: POLO with Polynomial interpretation [POLO]: 395.09/246.33 395.09/246.33 POL(TOP.0(x_1)) = x_1 395.09/246.33 POL(a.) = 0 395.09/246.33 POL(b.) = 0 395.09/246.33 POL(down.0(x_1)) = 1 + x_1 395.09/246.33 POL(f.0(x_1)) = x_1 395.09/246.33 POL(f.1(x_1)) = x_1 395.09/246.33 POL(f_flat.0(x_1)) = x_1 395.09/246.33 POL(g.0(x_1)) = x_1 395.09/246.33 POL(g.1(x_1)) = x_1 395.09/246.33 POL(g_flat.0(x_1)) = x_1 395.09/246.33 POL(up.0(x_1)) = 1 + x_1 395.09/246.33 POL(up.1(x_1)) = x_1 395.09/246.33 395.09/246.33 395.09/246.33 ---------------------------------------- 395.09/246.33 395.09/246.33 (221) 395.09/246.33 Obligation: 395.09/246.33 Q DP problem: 395.09/246.33 The TRS P consists of the following rules: 395.09/246.33 395.09/246.33 TOP.0(up.0(f.0(f.0(g.0(x0))))) -> TOP.0(f_flat.0(down.0(f.0(g.0(x0))))) 395.09/246.33 TOP.0(up.0(f.0(g.0(f.0(x0))))) -> TOP.0(f_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.33 TOP.0(up.0(g.0(g.0(f.0(x0))))) -> TOP.0(g_flat.0(down.0(g.0(f.0(x0))))) 395.09/246.33 TOP.0(up.0(f.0(g.0(g.0(a.))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(a.))))) 395.09/246.33 TOP.0(up.0(f.0(g.0(g.0(g.0(x0)))))) -> TOP.0(f_flat.0(down.0(g.0(g.0(g.0(x0)))))) 395.09/246.33 TOP.0(up.0(g.0(f.0(f.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(a.))))) 395.09/246.33 TOP.0(up.0(g.0(f.0(f.0(f.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(f.0(f.0(x0)))))) 395.09/246.33 TOP.0(up.0(g.0(f.0(g.0(a.))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(a.))))) 395.09/246.33 TOP.0(up.0(g.0(f.0(g.0(g.0(x0)))))) -> TOP.0(g_flat.0(down.0(f.0(g.0(g.0(x0)))))) 395.09/246.33 395.09/246.33 The TRS R consists of the following rules: 395.09/246.33 395.09/246.33 down.0(f.0(g.0(g.0(a.)))) -> f_flat.0(down.0(g.0(g.0(a.)))) 395.09/246.33 down.0(f.0(g.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.33 down.0(f.0(g.0(g.0(g.0(y22))))) -> f_flat.0(down.0(g.0(g.0(g.0(y22))))) 395.09/246.33 down.0(f.0(g.0(g.0(b.)))) -> f_flat.0(down.0(g.0(g.0(b.)))) 395.09/246.33 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 395.09/246.33 g_flat.0(up.1(x_1)) -> up.1(g.1(x_1)) 395.09/246.33 down.0(g.0(g.0(b.))) -> g_flat.0(down.0(g.0(b.))) 395.09/246.33 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 395.09/246.33 f_flat.0(up.1(x_1)) -> up.1(f.1(x_1)) 395.09/246.33 down.0(g.0(g.0(g.0(x)))) -> up.0(b.) 395.09/246.33 down.0(g.0(g.0(a.))) -> g_flat.0(down.0(g.0(a.))) 395.09/246.33 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 395.09/246.33 down.0(a.) -> up.0(f.0(a.)) 395.09/246.33 down.0(a.) -> up.0(g.0(a.)) 395.09/246.33 down.0(f.0(g.0(a.))) -> f_flat.0(down.0(g.0(a.))) 395.09/246.33 down.0(f.0(f.0(f.0(x)))) -> up.0(b.) 395.09/246.33 down.0(f.0(f.0(a.))) -> f_flat.0(down.0(f.0(a.))) 395.09/246.33 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 395.09/246.33 down.0(g.0(f.0(g.0(g.0(y28))))) -> g_flat.0(down.0(f.0(g.0(g.0(y28))))) 395.09/246.33 down.0(g.0(f.0(a.))) -> g_flat.0(down.0(f.0(a.))) 395.09/246.33 down.0(g.0(f.0(f.0(g.0(x))))) -> up.0(b.) 395.09/246.33 down.0(g.0(f.0(g.0(f.0(x))))) -> up.0(b.) 395.09/246.33 down.0(g.0(f.0(b.))) -> g_flat.0(down.0(f.0(b.))) 395.09/246.33 down.0(g.0(f.0(f.0(a.)))) -> g_flat.0(down.0(f.0(f.0(a.)))) 395.09/246.33 down.0(g.0(f.0(f.0(f.0(y24))))) -> g_flat.0(down.0(f.0(f.0(f.0(y24))))) 395.09/246.33 down.0(g.0(f.0(f.0(b.)))) -> g_flat.0(down.0(f.0(f.0(b.)))) 395.09/246.33 down.0(g.0(f.0(g.0(a.)))) -> g_flat.0(down.0(f.0(g.0(a.)))) 395.09/246.33 down.0(g.0(f.0(g.0(b.)))) -> g_flat.0(down.0(f.0(g.0(b.)))) 395.09/246.33 down.0(f.0(g.0(b.))) -> f_flat.0(down.0(g.0(b.))) 395.09/246.33 down.0(f.0(f.0(b.))) -> f_flat.0(down.0(f.0(b.))) 395.09/246.33 down.0(f.0(g.0(f.0(y12)))) -> f_flat.0(down.0(g.0(f.0(y12)))) 395.09/246.33 395.09/246.33 Q is empty. 395.09/246.33 We have to consider all minimal (P,Q,R)-chains. 395.09/246.33 ---------------------------------------- 395.09/246.33 395.09/246.33 (222) PisEmptyProof (SOUND) 395.09/246.33 The TRS P is empty. Hence, there is no (P,Q,R) chain. 395.09/246.33 ---------------------------------------- 395.09/246.33 395.09/246.33 (223) 395.09/246.33 TRUE 395.09/246.33 395.09/246.33 ---------------------------------------- 395.09/246.33 395.09/246.33 (224) 395.09/246.33 Obligation: 395.09/246.33 Q DP problem: 395.09/246.33 The TRS P consists of the following rules: 395.09/246.33 395.09/246.33 TOP(up(f(f(g(x0))))) -> TOP(f_flat(down(f(g(x0))))) 395.09/246.33 TOP(up(f(g(f(x0))))) -> TOP(f_flat(down(g(f(x0))))) 395.09/246.33 TOP(up(g(g(f(x0))))) -> TOP(g_flat(down(g(f(x0))))) 395.09/246.33 TOP(up(f(g(g(a))))) -> TOP(f_flat(down(g(g(a))))) 395.09/246.33 TOP(up(f(g(g(g(x0)))))) -> TOP(f_flat(down(g(g(g(x0)))))) 395.09/246.33 TOP(up(g(f(f(a))))) -> TOP(g_flat(down(f(f(a))))) 395.09/246.33 TOP(up(g(f(f(f(x0)))))) -> TOP(g_flat(down(f(f(f(x0)))))) 395.09/246.33 TOP(up(g(f(g(a))))) -> TOP(g_flat(down(f(g(a))))) 395.09/246.33 TOP(up(g(f(g(g(x0)))))) -> TOP(g_flat(down(f(g(g(x0)))))) 395.09/246.33 395.09/246.33 The TRS R consists of the following rules: 395.09/246.33 395.09/246.33 down(f(g(g(a)))) -> f_flat(down(g(g(a)))) 395.09/246.33 down(f(g(g(f(x))))) -> up(b) 395.09/246.33 down(f(g(g(g(y22))))) -> f_flat(down(g(g(g(y22))))) 395.09/246.33 down(f(g(g(b)))) -> f_flat(down(g(g(b)))) 395.09/246.33 g_flat(up(x_1)) -> up(g(x_1)) 395.09/246.33 down(g(g(b))) -> g_flat(down(g(b))) 395.09/246.33 f_flat(up(x_1)) -> up(f(x_1)) 395.09/246.33 down(g(g(g(x)))) -> up(b) 395.09/246.33 down(g(g(a))) -> g_flat(down(g(a))) 395.09/246.33 down(g(a)) -> g_flat(down(a)) 395.09/246.33 down(a) -> up(f(a)) 395.09/246.33 down(a) -> up(g(a)) 395.09/246.33 down(f(g(a))) -> f_flat(down(g(a))) 395.09/246.33 down(f(f(f(x)))) -> up(b) 395.09/246.33 down(f(f(a))) -> f_flat(down(f(a))) 395.09/246.33 down(f(a)) -> f_flat(down(a)) 395.09/246.33 down(g(f(g(g(y28))))) -> g_flat(down(f(g(g(y28))))) 395.09/246.33 down(g(f(a))) -> g_flat(down(f(a))) 395.09/246.33 down(g(f(f(g(x))))) -> up(b) 395.09/246.33 down(g(f(g(f(x))))) -> up(b) 395.09/246.33 down(g(f(b))) -> g_flat(down(f(b))) 395.09/246.33 down(g(f(f(a)))) -> g_flat(down(f(f(a)))) 395.09/246.33 down(g(f(f(f(y24))))) -> g_flat(down(f(f(f(y24))))) 395.09/246.33 down(g(f(f(b)))) -> g_flat(down(f(f(b)))) 395.09/246.33 down(g(f(g(a)))) -> g_flat(down(f(g(a)))) 395.09/246.33 down(g(f(g(b)))) -> g_flat(down(f(g(b)))) 395.09/246.33 down(f(g(b))) -> f_flat(down(g(b))) 395.09/246.33 down(f(f(b))) -> f_flat(down(f(b))) 395.09/246.33 down(f(g(f(y12)))) -> f_flat(down(g(f(y12)))) 395.09/246.33 395.09/246.33 Q is empty. 395.09/246.33 We have to consider all minimal (P,Q,R)-chains. 395.26/246.39 EOF