281.11/142.67 MAYBE 281.11/142.71 proof of /export/starexec/sandbox/benchmark/theBenchmark.xml 281.11/142.71 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 281.11/142.71 281.11/142.71 281.11/142.71 Outermost Termination of the given OTRS could not be shown: 281.11/142.71 281.11/142.71 (0) OTRS 281.11/142.71 (1) Thiemann-SpecialC-Transformation [EQUIVALENT, 0 ms] 281.11/142.71 (2) QTRS 281.11/142.71 (3) QTRSRRRProof [EQUIVALENT, 47 ms] 281.11/142.71 (4) QTRS 281.11/142.71 (5) DependencyPairsProof [EQUIVALENT, 0 ms] 281.11/142.71 (6) QDP 281.11/142.71 (7) DependencyGraphProof [EQUIVALENT, 0 ms] 281.11/142.71 (8) AND 281.11/142.71 (9) QDP 281.11/142.71 (10) UsableRulesProof [EQUIVALENT, 0 ms] 281.11/142.71 (11) QDP 281.11/142.71 (12) QReductionProof [EQUIVALENT, 0 ms] 281.11/142.71 (13) QDP 281.11/142.71 (14) UsableRulesReductionPairsProof [EQUIVALENT, 7 ms] 281.11/142.71 (15) QDP 281.11/142.71 (16) UsableRulesReductionPairsProof [EQUIVALENT, 7 ms] 281.11/142.71 (17) QDP 281.11/142.71 (18) DependencyGraphProof [EQUIVALENT, 0 ms] 281.11/142.71 (19) TRUE 281.11/142.71 (20) QDP 281.11/142.71 (21) UsableRulesProof [EQUIVALENT, 0 ms] 281.11/142.71 (22) QDP 281.11/142.71 (23) QReductionProof [EQUIVALENT, 0 ms] 281.11/142.71 (24) QDP 281.11/142.71 (25) TransformationProof [SOUND, 0 ms] 281.11/142.71 (26) QDP 281.11/142.71 (27) DependencyGraphProof [EQUIVALENT, 0 ms] 281.11/142.71 (28) QDP 281.11/142.71 (29) UsableRulesProof [EQUIVALENT, 0 ms] 281.11/142.71 (30) QDP 281.11/142.71 (31) QReductionProof [EQUIVALENT, 0 ms] 281.11/142.71 (32) QDP 281.11/142.71 (33) Trivial-Transformation [SOUND, 0 ms] 281.11/142.71 (34) QTRS 281.11/142.71 (35) QTRSRRRProof [EQUIVALENT, 19 ms] 281.11/142.71 (36) QTRS 281.11/142.71 (37) DependencyPairsProof [EQUIVALENT, 0 ms] 281.11/142.71 (38) QDP 281.11/142.71 (39) DependencyGraphProof [EQUIVALENT, 0 ms] 281.11/142.71 (40) QDP 281.11/142.71 (41) UsableRulesProof [EQUIVALENT, 0 ms] 281.11/142.71 (42) QDP 281.11/142.71 (43) TransformationProof [EQUIVALENT, 0 ms] 281.11/142.71 (44) QDP 281.11/142.71 (45) DependencyGraphProof [EQUIVALENT, 0 ms] 281.11/142.71 (46) QDP 281.11/142.71 (47) TransformationProof [EQUIVALENT, 0 ms] 281.11/142.71 (48) QDP 281.11/142.71 (49) DependencyGraphProof [EQUIVALENT, 0 ms] 281.11/142.71 (50) QDP 281.11/142.71 (51) UsableRulesProof [EQUIVALENT, 0 ms] 281.11/142.71 (52) QDP 281.11/142.71 (53) ATransformationProof [EQUIVALENT, 0 ms] 281.11/142.71 (54) QDP 281.11/142.71 (55) NonTerminationLoopProof [COMPLETE, 0 ms] 281.11/142.71 (56) NO 281.11/142.71 (57) Raffelsieper-Zantema-Transformation [SOUND, 0 ms] 281.11/142.71 (58) QTRS 281.11/142.71 (59) QTRSRRRProof [EQUIVALENT, 111 ms] 281.11/142.71 (60) QTRS 281.11/142.71 (61) DependencyPairsProof [EQUIVALENT, 18 ms] 281.11/142.71 (62) QDP 281.11/142.71 (63) DependencyGraphProof [EQUIVALENT, 0 ms] 281.11/142.71 (64) AND 281.11/142.71 (65) QDP 281.11/142.71 (66) UsableRulesProof [EQUIVALENT, 0 ms] 281.11/142.71 (67) QDP 281.11/142.71 (68) QDPSizeChangeProof [EQUIVALENT, 0 ms] 281.11/142.71 (69) YES 281.11/142.71 (70) QDP 281.11/142.71 (71) UsableRulesProof [EQUIVALENT, 0 ms] 281.11/142.71 (72) QDP 281.11/142.71 (73) TransformationProof [EQUIVALENT, 0 ms] 281.11/142.71 (74) QDP 281.11/142.71 (75) DependencyGraphProof [EQUIVALENT, 0 ms] 281.11/142.71 (76) QDP 281.11/142.71 (77) SplitQDPProof [EQUIVALENT, 0 ms] 281.11/142.71 (78) AND 281.11/142.71 (79) QDP 281.11/142.71 (80) SemLabProof [SOUND, 0 ms] 281.11/142.71 (81) QDP 281.11/142.71 (82) DependencyGraphProof [EQUIVALENT, 0 ms] 281.11/142.71 (83) QDP 281.11/142.71 (84) UsableRulesReductionPairsProof [EQUIVALENT, 17 ms] 281.11/142.71 (85) QDP 281.11/142.71 (86) DependencyGraphProof [EQUIVALENT, 0 ms] 281.11/142.71 (87) QDP 281.11/142.71 (88) MRRProof [EQUIVALENT, 32 ms] 281.11/142.71 (89) QDP 281.11/142.71 (90) PisEmptyProof [SOUND, 0 ms] 281.11/142.71 (91) TRUE 281.11/142.71 (92) QDP 281.11/142.71 (93) SplitQDPProof [EQUIVALENT, 0 ms] 281.11/142.71 (94) AND 281.11/142.71 (95) QDP 281.11/142.71 (96) SemLabProof [SOUND, 0 ms] 281.11/142.71 (97) QDP 281.11/142.71 (98) DependencyGraphProof [EQUIVALENT, 0 ms] 281.11/142.71 (99) QDP 281.11/142.71 (100) MRRProof [EQUIVALENT, 0 ms] 281.11/142.71 (101) QDP 281.11/142.71 (102) MRRProof [EQUIVALENT, 14 ms] 281.11/142.71 (103) QDP 281.11/142.71 (104) DependencyGraphProof [EQUIVALENT, 0 ms] 281.11/142.71 (105) QDP 281.11/142.71 (106) PisEmptyProof [SOUND, 0 ms] 281.11/142.71 (107) TRUE 281.11/142.71 (108) QDP 281.11/142.71 (109) SplitQDPProof [EQUIVALENT, 0 ms] 281.11/142.71 (110) AND 281.11/142.71 (111) QDP 281.11/142.71 (112) SemLabProof [SOUND, 0 ms] 281.11/142.71 (113) QDP 281.11/142.71 (114) DependencyGraphProof [EQUIVALENT, 0 ms] 281.11/142.71 (115) QDP 281.11/142.71 (116) MRRProof [EQUIVALENT, 37 ms] 281.11/142.71 (117) QDP 281.11/142.71 (118) MRRProof [EQUIVALENT, 0 ms] 281.11/142.71 (119) QDP 281.11/142.71 (120) DependencyGraphProof [EQUIVALENT, 0 ms] 281.11/142.71 (121) QDP 281.11/142.71 (122) PisEmptyProof [SOUND, 0 ms] 281.11/142.71 (123) TRUE 281.11/142.71 (124) QDP 281.11/142.71 281.11/142.71 281.11/142.71 ---------------------------------------- 281.11/142.71 281.11/142.71 (0) 281.11/142.71 Obligation: 281.11/142.71 Term rewrite system R: 281.11/142.71 The TRS R consists of the following rules: 281.11/142.71 281.11/142.71 f(0, 1) -> f(2, 2) 281.11/142.71 2 -> 0 281.11/142.71 2 -> 1 281.11/142.71 f(2, 1) -> 2 281.11/142.71 f(0, 2) -> 2 281.11/142.71 281.11/142.71 281.11/142.71 281.11/142.71 Outermost Strategy. 281.11/142.71 281.11/142.71 ---------------------------------------- 281.11/142.71 281.11/142.71 (1) Thiemann-SpecialC-Transformation (EQUIVALENT) 281.11/142.71 We applied the Thiemann-SpecialC transformation to transform the outermost TRS to an innermost TRS. 281.11/142.71 ---------------------------------------- 281.11/142.71 281.11/142.71 (2) 281.11/142.71 Obligation: 281.11/142.71 Q restricted rewrite system: 281.11/142.71 The TRS R consists of the following rules: 281.11/142.71 281.11/142.71 top(go_up(x)) -> top(reduce(x)) 281.11/142.71 reduce(f(x_1, x_2)) -> check_f(redex_f(x_1, x_2)) 281.11/142.71 redex_f(0, 1) -> result_f(f(2, 2)) 281.11/142.71 reduce(2) -> go_up(0) 281.11/142.71 reduce(2) -> go_up(1) 281.11/142.71 redex_f(2, 1) -> result_f(2) 281.11/142.71 redex_f(0, 2) -> result_f(2) 281.11/142.71 check_f(result_f(x)) -> go_up(x) 281.11/142.71 check_f(redex_f(x_1, x_2)) -> in_f_1(reduce(x_1), x_2) 281.11/142.71 check_f(redex_f(x_1, x_2)) -> in_f_2(x_1, reduce(x_2)) 281.11/142.71 in_f_1(go_up(x_1), x_2) -> go_up(f(x_1, x_2)) 281.11/142.71 in_f_2(x_1, go_up(x_2)) -> go_up(f(x_1, x_2)) 281.11/142.71 281.11/142.71 The set Q consists of the following terms: 281.11/142.71 281.11/142.71 top(go_up(x0)) 281.11/142.71 reduce(f(x0, x1)) 281.11/142.71 redex_f(0, 1) 281.11/142.71 reduce(2) 281.11/142.71 redex_f(2, 1) 281.11/142.71 redex_f(0, 2) 281.11/142.71 check_f(result_f(x0)) 281.11/142.71 check_f(redex_f(x0, x1)) 281.11/142.71 in_f_1(go_up(x0), x1) 281.11/142.71 in_f_2(x0, go_up(x1)) 281.11/142.71 281.11/142.71 281.11/142.71 ---------------------------------------- 281.11/142.71 281.11/142.71 (3) QTRSRRRProof (EQUIVALENT) 281.11/142.71 Used ordering: 281.11/142.71 Polynomial interpretation [POLO]: 281.11/142.71 281.11/142.71 POL(0) = 0 281.11/142.71 POL(1) = 0 281.11/142.71 POL(2) = 0 281.11/142.71 POL(check_f(x_1)) = x_1 281.11/142.71 POL(f(x_1, x_2)) = 1 + 2*x_1 + x_2 281.11/142.71 POL(go_up(x_1)) = x_1 281.11/142.71 POL(in_f_1(x_1, x_2)) = 1 + 2*x_1 + x_2 281.11/142.71 POL(in_f_2(x_1, x_2)) = 1 + 2*x_1 + x_2 281.11/142.71 POL(redex_f(x_1, x_2)) = 1 + 2*x_1 + x_2 281.11/142.71 POL(reduce(x_1)) = x_1 281.11/142.71 POL(result_f(x_1)) = x_1 281.11/142.71 POL(top(x_1)) = 2*x_1 281.11/142.71 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 281.11/142.71 281.11/142.71 redex_f(2, 1) -> result_f(2) 281.11/142.71 redex_f(0, 2) -> result_f(2) 281.11/142.71 281.11/142.71 281.11/142.71 281.11/142.71 281.11/142.71 ---------------------------------------- 281.11/142.71 281.11/142.71 (4) 281.11/142.71 Obligation: 281.11/142.71 Q restricted rewrite system: 281.11/142.71 The TRS R consists of the following rules: 281.11/142.71 281.11/142.71 top(go_up(x)) -> top(reduce(x)) 281.11/142.71 reduce(f(x_1, x_2)) -> check_f(redex_f(x_1, x_2)) 281.11/142.71 redex_f(0, 1) -> result_f(f(2, 2)) 281.11/142.71 reduce(2) -> go_up(0) 281.11/142.71 reduce(2) -> go_up(1) 281.11/142.71 check_f(result_f(x)) -> go_up(x) 281.11/142.71 check_f(redex_f(x_1, x_2)) -> in_f_1(reduce(x_1), x_2) 281.11/142.71 check_f(redex_f(x_1, x_2)) -> in_f_2(x_1, reduce(x_2)) 281.11/142.71 in_f_1(go_up(x_1), x_2) -> go_up(f(x_1, x_2)) 281.11/142.71 in_f_2(x_1, go_up(x_2)) -> go_up(f(x_1, x_2)) 281.11/142.71 281.11/142.71 The set Q consists of the following terms: 281.11/142.71 281.11/142.71 top(go_up(x0)) 281.11/142.71 reduce(f(x0, x1)) 281.11/142.71 redex_f(0, 1) 281.11/142.71 reduce(2) 281.11/142.71 redex_f(2, 1) 281.11/142.71 redex_f(0, 2) 281.11/142.71 check_f(result_f(x0)) 281.11/142.71 check_f(redex_f(x0, x1)) 281.11/142.71 in_f_1(go_up(x0), x1) 281.11/142.71 in_f_2(x0, go_up(x1)) 281.11/142.71 281.11/142.71 281.11/142.71 ---------------------------------------- 281.11/142.71 281.11/142.71 (5) DependencyPairsProof (EQUIVALENT) 281.11/142.71 Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. 281.11/142.71 ---------------------------------------- 281.11/142.71 281.11/142.71 (6) 281.11/142.71 Obligation: 281.11/142.71 Q DP problem: 281.11/142.71 The TRS P consists of the following rules: 281.11/142.71 281.11/142.71 TOP(go_up(x)) -> TOP(reduce(x)) 281.11/142.71 TOP(go_up(x)) -> REDUCE(x) 281.11/142.71 REDUCE(f(x_1, x_2)) -> CHECK_F(redex_f(x_1, x_2)) 281.11/142.71 REDUCE(f(x_1, x_2)) -> REDEX_F(x_1, x_2) 281.11/142.71 CHECK_F(redex_f(x_1, x_2)) -> IN_F_1(reduce(x_1), x_2) 281.11/142.71 CHECK_F(redex_f(x_1, x_2)) -> REDUCE(x_1) 281.11/142.71 CHECK_F(redex_f(x_1, x_2)) -> IN_F_2(x_1, reduce(x_2)) 281.11/142.71 CHECK_F(redex_f(x_1, x_2)) -> REDUCE(x_2) 281.11/142.71 281.11/142.71 The TRS R consists of the following rules: 281.11/142.71 281.11/142.71 top(go_up(x)) -> top(reduce(x)) 281.11/142.71 reduce(f(x_1, x_2)) -> check_f(redex_f(x_1, x_2)) 281.11/142.71 redex_f(0, 1) -> result_f(f(2, 2)) 281.11/142.71 reduce(2) -> go_up(0) 281.11/142.71 reduce(2) -> go_up(1) 281.11/142.71 check_f(result_f(x)) -> go_up(x) 281.11/142.71 check_f(redex_f(x_1, x_2)) -> in_f_1(reduce(x_1), x_2) 281.11/142.71 check_f(redex_f(x_1, x_2)) -> in_f_2(x_1, reduce(x_2)) 281.11/142.71 in_f_1(go_up(x_1), x_2) -> go_up(f(x_1, x_2)) 281.11/142.71 in_f_2(x_1, go_up(x_2)) -> go_up(f(x_1, x_2)) 281.11/142.71 281.11/142.71 The set Q consists of the following terms: 281.11/142.71 281.11/142.71 top(go_up(x0)) 281.11/142.71 reduce(f(x0, x1)) 281.11/142.71 redex_f(0, 1) 281.11/142.71 reduce(2) 281.11/142.71 redex_f(2, 1) 281.11/142.71 redex_f(0, 2) 281.11/142.71 check_f(result_f(x0)) 281.11/142.71 check_f(redex_f(x0, x1)) 281.11/142.71 in_f_1(go_up(x0), x1) 281.11/142.71 in_f_2(x0, go_up(x1)) 281.11/142.71 281.11/142.71 We have to consider all minimal (P,Q,R)-chains. 281.11/142.71 ---------------------------------------- 281.11/142.71 281.11/142.71 (7) DependencyGraphProof (EQUIVALENT) 281.11/142.71 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 4 less nodes. 281.11/142.71 ---------------------------------------- 281.11/142.71 281.11/142.71 (8) 281.11/142.71 Complex Obligation (AND) 281.11/142.71 281.11/142.71 ---------------------------------------- 281.11/142.71 281.11/142.71 (9) 281.11/142.71 Obligation: 281.11/142.71 Q DP problem: 281.11/142.71 The TRS P consists of the following rules: 281.11/142.71 281.11/142.71 CHECK_F(redex_f(x_1, x_2)) -> REDUCE(x_1) 281.11/142.71 REDUCE(f(x_1, x_2)) -> CHECK_F(redex_f(x_1, x_2)) 281.11/142.71 CHECK_F(redex_f(x_1, x_2)) -> REDUCE(x_2) 281.11/142.71 281.11/142.71 The TRS R consists of the following rules: 281.11/142.71 281.11/142.71 top(go_up(x)) -> top(reduce(x)) 281.11/142.71 reduce(f(x_1, x_2)) -> check_f(redex_f(x_1, x_2)) 281.11/142.71 redex_f(0, 1) -> result_f(f(2, 2)) 281.11/142.71 reduce(2) -> go_up(0) 281.11/142.71 reduce(2) -> go_up(1) 281.11/142.71 check_f(result_f(x)) -> go_up(x) 281.11/142.71 check_f(redex_f(x_1, x_2)) -> in_f_1(reduce(x_1), x_2) 281.11/142.71 check_f(redex_f(x_1, x_2)) -> in_f_2(x_1, reduce(x_2)) 281.11/142.71 in_f_1(go_up(x_1), x_2) -> go_up(f(x_1, x_2)) 281.11/142.71 in_f_2(x_1, go_up(x_2)) -> go_up(f(x_1, x_2)) 281.11/142.71 281.11/142.71 The set Q consists of the following terms: 281.11/142.71 281.11/142.71 top(go_up(x0)) 281.11/142.71 reduce(f(x0, x1)) 281.11/142.71 redex_f(0, 1) 281.11/142.71 reduce(2) 281.11/142.71 redex_f(2, 1) 281.11/142.71 redex_f(0, 2) 281.11/142.71 check_f(result_f(x0)) 281.11/142.71 check_f(redex_f(x0, x1)) 281.11/142.71 in_f_1(go_up(x0), x1) 281.11/142.71 in_f_2(x0, go_up(x1)) 281.11/142.71 281.11/142.71 We have to consider all minimal (P,Q,R)-chains. 281.11/142.71 ---------------------------------------- 281.11/142.71 281.11/142.71 (10) UsableRulesProof (EQUIVALENT) 281.11/142.71 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. 281.11/142.71 ---------------------------------------- 281.11/142.71 281.11/142.71 (11) 281.11/142.71 Obligation: 281.11/142.71 Q DP problem: 281.11/142.71 The TRS P consists of the following rules: 281.11/142.71 281.11/142.71 CHECK_F(redex_f(x_1, x_2)) -> REDUCE(x_1) 281.11/142.71 REDUCE(f(x_1, x_2)) -> CHECK_F(redex_f(x_1, x_2)) 281.11/142.71 CHECK_F(redex_f(x_1, x_2)) -> REDUCE(x_2) 281.11/142.71 281.11/142.71 The TRS R consists of the following rules: 281.11/142.71 281.11/142.71 redex_f(0, 1) -> result_f(f(2, 2)) 281.11/142.71 281.11/142.71 The set Q consists of the following terms: 281.11/142.71 281.11/142.71 top(go_up(x0)) 281.11/142.71 reduce(f(x0, x1)) 281.11/142.71 redex_f(0, 1) 281.11/142.71 reduce(2) 281.11/142.71 redex_f(2, 1) 281.11/142.71 redex_f(0, 2) 281.11/142.71 check_f(result_f(x0)) 281.11/142.71 check_f(redex_f(x0, x1)) 281.11/142.71 in_f_1(go_up(x0), x1) 281.11/142.71 in_f_2(x0, go_up(x1)) 281.11/142.71 281.11/142.71 We have to consider all minimal (P,Q,R)-chains. 281.11/142.71 ---------------------------------------- 281.11/142.71 281.11/142.71 (12) QReductionProof (EQUIVALENT) 281.11/142.71 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 281.11/142.71 281.11/142.71 top(go_up(x0)) 281.11/142.71 reduce(f(x0, x1)) 281.11/142.71 reduce(2) 281.11/142.71 check_f(result_f(x0)) 281.11/142.71 check_f(redex_f(x0, x1)) 281.11/142.71 in_f_1(go_up(x0), x1) 281.11/142.71 in_f_2(x0, go_up(x1)) 281.11/142.71 281.11/142.71 281.11/142.71 ---------------------------------------- 281.11/142.71 281.11/142.71 (13) 281.11/142.71 Obligation: 281.11/142.71 Q DP problem: 281.11/142.71 The TRS P consists of the following rules: 281.11/142.71 281.11/142.71 CHECK_F(redex_f(x_1, x_2)) -> REDUCE(x_1) 281.11/142.71 REDUCE(f(x_1, x_2)) -> CHECK_F(redex_f(x_1, x_2)) 281.11/142.71 CHECK_F(redex_f(x_1, x_2)) -> REDUCE(x_2) 281.11/142.71 281.11/142.71 The TRS R consists of the following rules: 281.11/142.71 281.11/142.71 redex_f(0, 1) -> result_f(f(2, 2)) 281.11/142.71 281.11/142.71 The set Q consists of the following terms: 281.11/142.71 281.11/142.71 redex_f(0, 1) 281.11/142.71 redex_f(2, 1) 281.11/142.71 redex_f(0, 2) 281.11/142.71 281.11/142.71 We have to consider all minimal (P,Q,R)-chains. 281.11/142.71 ---------------------------------------- 281.11/142.71 281.11/142.71 (14) UsableRulesReductionPairsProof (EQUIVALENT) 281.11/142.71 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. 281.11/142.71 281.11/142.71 No dependency pairs are removed. 281.11/142.71 281.11/142.71 The following rules are removed from R: 281.11/142.71 281.11/142.71 redex_f(0, 1) -> result_f(f(2, 2)) 281.11/142.71 Used ordering: POLO with Polynomial interpretation [POLO]: 281.11/142.71 281.11/142.71 POL(0) = 2 281.11/142.71 POL(1) = 2 281.11/142.71 POL(2) = 0 281.11/142.71 POL(CHECK_F(x_1)) = 2*x_1 281.11/142.71 POL(REDUCE(x_1)) = 2*x_1 281.11/142.71 POL(f(x_1, x_2)) = 2*x_1 + 2*x_2 281.11/142.71 POL(redex_f(x_1, x_2)) = 2*x_1 + x_2 281.11/142.71 POL(result_f(x_1)) = 2*x_1 281.11/142.71 281.11/142.71 281.11/142.71 ---------------------------------------- 281.11/142.71 281.11/142.71 (15) 281.11/142.71 Obligation: 281.11/142.71 Q DP problem: 281.11/142.71 The TRS P consists of the following rules: 281.11/142.71 281.11/142.71 CHECK_F(redex_f(x_1, x_2)) -> REDUCE(x_1) 281.11/142.71 REDUCE(f(x_1, x_2)) -> CHECK_F(redex_f(x_1, x_2)) 281.11/142.71 CHECK_F(redex_f(x_1, x_2)) -> REDUCE(x_2) 281.11/142.71 281.11/142.71 R is empty. 281.11/142.71 The set Q consists of the following terms: 281.11/142.71 281.11/142.71 redex_f(0, 1) 281.11/142.71 redex_f(2, 1) 281.11/142.71 redex_f(0, 2) 281.11/142.71 281.11/142.71 We have to consider all minimal (P,Q,R)-chains. 281.11/142.71 ---------------------------------------- 281.11/142.71 281.11/142.71 (16) UsableRulesReductionPairsProof (EQUIVALENT) 281.11/142.71 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. 281.11/142.71 281.11/142.71 The following dependency pairs can be deleted: 281.11/142.71 281.11/142.71 REDUCE(f(x_1, x_2)) -> CHECK_F(redex_f(x_1, x_2)) 281.11/142.71 No rules are removed from R. 281.11/142.71 281.11/142.71 Used ordering: POLO with Polynomial interpretation [POLO]: 281.11/142.71 281.11/142.71 POL(CHECK_F(x_1)) = 2*x_1 281.11/142.71 POL(REDUCE(x_1)) = 2*x_1 281.11/142.71 POL(f(x_1, x_2)) = 2*x_1 + 2*x_2 281.11/142.71 POL(redex_f(x_1, x_2)) = 2*x_1 + x_2 281.11/142.71 281.11/142.71 281.11/142.71 ---------------------------------------- 281.11/142.71 281.11/142.71 (17) 281.11/142.71 Obligation: 281.11/142.71 Q DP problem: 281.11/142.71 The TRS P consists of the following rules: 281.11/142.71 281.11/142.71 CHECK_F(redex_f(x_1, x_2)) -> REDUCE(x_1) 281.11/142.71 CHECK_F(redex_f(x_1, x_2)) -> REDUCE(x_2) 281.11/142.71 281.11/142.71 R is empty. 281.11/142.71 The set Q consists of the following terms: 281.11/142.71 281.11/142.71 redex_f(0, 1) 281.11/142.71 redex_f(2, 1) 281.11/142.71 redex_f(0, 2) 281.11/142.71 281.11/142.71 We have to consider all minimal (P,Q,R)-chains. 281.11/142.71 ---------------------------------------- 281.11/142.71 281.11/142.71 (18) DependencyGraphProof (EQUIVALENT) 281.11/142.71 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 2 less nodes. 281.11/142.71 ---------------------------------------- 281.11/142.71 281.11/142.71 (19) 281.11/142.71 TRUE 281.11/142.71 281.11/142.71 ---------------------------------------- 281.11/142.71 281.11/142.71 (20) 281.11/142.71 Obligation: 281.11/142.71 Q DP problem: 281.11/142.71 The TRS P consists of the following rules: 281.11/142.71 281.11/142.71 TOP(go_up(x)) -> TOP(reduce(x)) 281.11/142.71 281.11/142.71 The TRS R consists of the following rules: 281.11/142.71 281.11/142.71 top(go_up(x)) -> top(reduce(x)) 281.11/142.71 reduce(f(x_1, x_2)) -> check_f(redex_f(x_1, x_2)) 281.11/142.71 redex_f(0, 1) -> result_f(f(2, 2)) 281.11/142.71 reduce(2) -> go_up(0) 281.11/142.71 reduce(2) -> go_up(1) 281.11/142.71 check_f(result_f(x)) -> go_up(x) 281.11/142.71 check_f(redex_f(x_1, x_2)) -> in_f_1(reduce(x_1), x_2) 281.11/142.71 check_f(redex_f(x_1, x_2)) -> in_f_2(x_1, reduce(x_2)) 281.11/142.71 in_f_1(go_up(x_1), x_2) -> go_up(f(x_1, x_2)) 281.11/142.71 in_f_2(x_1, go_up(x_2)) -> go_up(f(x_1, x_2)) 281.11/142.71 281.11/142.71 The set Q consists of the following terms: 281.11/142.71 281.11/142.71 top(go_up(x0)) 281.11/142.71 reduce(f(x0, x1)) 281.11/142.71 redex_f(0, 1) 281.11/142.71 reduce(2) 281.11/142.71 redex_f(2, 1) 281.11/142.71 redex_f(0, 2) 281.11/142.71 check_f(result_f(x0)) 281.11/142.71 check_f(redex_f(x0, x1)) 281.11/142.71 in_f_1(go_up(x0), x1) 281.11/142.71 in_f_2(x0, go_up(x1)) 281.11/142.71 281.11/142.71 We have to consider all minimal (P,Q,R)-chains. 281.11/142.71 ---------------------------------------- 281.11/142.71 281.11/142.71 (21) UsableRulesProof (EQUIVALENT) 281.11/142.71 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. 281.11/142.71 ---------------------------------------- 281.11/142.71 281.11/142.71 (22) 281.11/142.71 Obligation: 281.11/142.71 Q DP problem: 281.11/142.71 The TRS P consists of the following rules: 281.11/142.71 281.11/142.71 TOP(go_up(x)) -> TOP(reduce(x)) 281.11/142.71 281.11/142.71 The TRS R consists of the following rules: 281.11/142.71 281.11/142.71 reduce(f(x_1, x_2)) -> check_f(redex_f(x_1, x_2)) 281.11/142.72 reduce(2) -> go_up(0) 281.11/142.72 reduce(2) -> go_up(1) 281.11/142.72 redex_f(0, 1) -> result_f(f(2, 2)) 281.11/142.72 check_f(result_f(x)) -> go_up(x) 281.11/142.72 check_f(redex_f(x_1, x_2)) -> in_f_1(reduce(x_1), x_2) 281.11/142.72 check_f(redex_f(x_1, x_2)) -> in_f_2(x_1, reduce(x_2)) 281.11/142.72 in_f_2(x_1, go_up(x_2)) -> go_up(f(x_1, x_2)) 281.11/142.72 in_f_1(go_up(x_1), x_2) -> go_up(f(x_1, x_2)) 281.11/142.72 281.11/142.72 The set Q consists of the following terms: 281.11/142.72 281.11/142.72 top(go_up(x0)) 281.11/142.72 reduce(f(x0, x1)) 281.11/142.72 redex_f(0, 1) 281.11/142.72 reduce(2) 281.11/142.72 redex_f(2, 1) 281.11/142.72 redex_f(0, 2) 281.11/142.72 check_f(result_f(x0)) 281.11/142.72 check_f(redex_f(x0, x1)) 281.11/142.72 in_f_1(go_up(x0), x1) 281.11/142.72 in_f_2(x0, go_up(x1)) 281.11/142.72 281.11/142.72 We have to consider all minimal (P,Q,R)-chains. 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (23) QReductionProof (EQUIVALENT) 281.11/142.72 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 281.11/142.72 281.11/142.72 top(go_up(x0)) 281.11/142.72 281.11/142.72 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (24) 281.11/142.72 Obligation: 281.11/142.72 Q DP problem: 281.11/142.72 The TRS P consists of the following rules: 281.11/142.72 281.11/142.72 TOP(go_up(x)) -> TOP(reduce(x)) 281.11/142.72 281.11/142.72 The TRS R consists of the following rules: 281.11/142.72 281.11/142.72 reduce(f(x_1, x_2)) -> check_f(redex_f(x_1, x_2)) 281.11/142.72 reduce(2) -> go_up(0) 281.11/142.72 reduce(2) -> go_up(1) 281.11/142.72 redex_f(0, 1) -> result_f(f(2, 2)) 281.11/142.72 check_f(result_f(x)) -> go_up(x) 281.11/142.72 check_f(redex_f(x_1, x_2)) -> in_f_1(reduce(x_1), x_2) 281.11/142.72 check_f(redex_f(x_1, x_2)) -> in_f_2(x_1, reduce(x_2)) 281.11/142.72 in_f_2(x_1, go_up(x_2)) -> go_up(f(x_1, x_2)) 281.11/142.72 in_f_1(go_up(x_1), x_2) -> go_up(f(x_1, x_2)) 281.11/142.72 281.11/142.72 The set Q consists of the following terms: 281.11/142.72 281.11/142.72 reduce(f(x0, x1)) 281.11/142.72 redex_f(0, 1) 281.11/142.72 reduce(2) 281.11/142.72 redex_f(2, 1) 281.11/142.72 redex_f(0, 2) 281.11/142.72 check_f(result_f(x0)) 281.11/142.72 check_f(redex_f(x0, x1)) 281.11/142.72 in_f_1(go_up(x0), x1) 281.11/142.72 in_f_2(x0, go_up(x1)) 281.11/142.72 281.11/142.72 We have to consider all minimal (P,Q,R)-chains. 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (25) TransformationProof (SOUND) 281.11/142.72 By narrowing [LPAR04] the rule TOP(go_up(x)) -> TOP(reduce(x)) at position [0] we obtained the following new rules [LPAR04]: 281.11/142.72 281.11/142.72 (TOP(go_up(f(x0, x1))) -> TOP(check_f(redex_f(x0, x1))),TOP(go_up(f(x0, x1))) -> TOP(check_f(redex_f(x0, x1)))) 281.11/142.72 (TOP(go_up(2)) -> TOP(go_up(0)),TOP(go_up(2)) -> TOP(go_up(0))) 281.11/142.72 (TOP(go_up(2)) -> TOP(go_up(1)),TOP(go_up(2)) -> TOP(go_up(1))) 281.11/142.72 281.11/142.72 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (26) 281.11/142.72 Obligation: 281.11/142.72 Q DP problem: 281.11/142.72 The TRS P consists of the following rules: 281.11/142.72 281.11/142.72 TOP(go_up(f(x0, x1))) -> TOP(check_f(redex_f(x0, x1))) 281.11/142.72 TOP(go_up(2)) -> TOP(go_up(0)) 281.11/142.72 TOP(go_up(2)) -> TOP(go_up(1)) 281.11/142.72 281.11/142.72 The TRS R consists of the following rules: 281.11/142.72 281.11/142.72 reduce(f(x_1, x_2)) -> check_f(redex_f(x_1, x_2)) 281.11/142.72 reduce(2) -> go_up(0) 281.11/142.72 reduce(2) -> go_up(1) 281.11/142.72 redex_f(0, 1) -> result_f(f(2, 2)) 281.11/142.72 check_f(result_f(x)) -> go_up(x) 281.11/142.72 check_f(redex_f(x_1, x_2)) -> in_f_1(reduce(x_1), x_2) 281.11/142.72 check_f(redex_f(x_1, x_2)) -> in_f_2(x_1, reduce(x_2)) 281.11/142.72 in_f_2(x_1, go_up(x_2)) -> go_up(f(x_1, x_2)) 281.11/142.72 in_f_1(go_up(x_1), x_2) -> go_up(f(x_1, x_2)) 281.11/142.72 281.11/142.72 The set Q consists of the following terms: 281.11/142.72 281.11/142.72 reduce(f(x0, x1)) 281.11/142.72 redex_f(0, 1) 281.11/142.72 reduce(2) 281.11/142.72 redex_f(2, 1) 281.11/142.72 redex_f(0, 2) 281.11/142.72 check_f(result_f(x0)) 281.11/142.72 check_f(redex_f(x0, x1)) 281.11/142.72 in_f_1(go_up(x0), x1) 281.11/142.72 in_f_2(x0, go_up(x1)) 281.11/142.72 281.11/142.72 We have to consider all minimal (P,Q,R)-chains. 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (27) DependencyGraphProof (EQUIVALENT) 281.11/142.72 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (28) 281.11/142.72 Obligation: 281.11/142.72 Q DP problem: 281.11/142.72 The TRS P consists of the following rules: 281.11/142.72 281.11/142.72 TOP(go_up(f(x0, x1))) -> TOP(check_f(redex_f(x0, x1))) 281.11/142.72 281.11/142.72 The TRS R consists of the following rules: 281.11/142.72 281.11/142.72 reduce(f(x_1, x_2)) -> check_f(redex_f(x_1, x_2)) 281.11/142.72 reduce(2) -> go_up(0) 281.11/142.72 reduce(2) -> go_up(1) 281.11/142.72 redex_f(0, 1) -> result_f(f(2, 2)) 281.11/142.72 check_f(result_f(x)) -> go_up(x) 281.11/142.72 check_f(redex_f(x_1, x_2)) -> in_f_1(reduce(x_1), x_2) 281.11/142.72 check_f(redex_f(x_1, x_2)) -> in_f_2(x_1, reduce(x_2)) 281.11/142.72 in_f_2(x_1, go_up(x_2)) -> go_up(f(x_1, x_2)) 281.11/142.72 in_f_1(go_up(x_1), x_2) -> go_up(f(x_1, x_2)) 281.11/142.72 281.11/142.72 The set Q consists of the following terms: 281.11/142.72 281.11/142.72 reduce(f(x0, x1)) 281.11/142.72 redex_f(0, 1) 281.11/142.72 reduce(2) 281.11/142.72 redex_f(2, 1) 281.11/142.72 redex_f(0, 2) 281.11/142.72 check_f(result_f(x0)) 281.11/142.72 check_f(redex_f(x0, x1)) 281.11/142.72 in_f_1(go_up(x0), x1) 281.11/142.72 in_f_2(x0, go_up(x1)) 281.11/142.72 281.11/142.72 We have to consider all minimal (P,Q,R)-chains. 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (29) UsableRulesProof (EQUIVALENT) 281.11/142.72 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. 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (30) 281.11/142.72 Obligation: 281.11/142.72 Q DP problem: 281.11/142.72 The TRS P consists of the following rules: 281.11/142.72 281.11/142.72 TOP(go_up(x)) -> TOP(reduce(x)) 281.11/142.72 281.11/142.72 The TRS R consists of the following rules: 281.11/142.72 281.11/142.72 reduce(f(x_1, x_2)) -> check_f(redex_f(x_1, x_2)) 281.11/142.72 reduce(2) -> go_up(0) 281.11/142.72 reduce(2) -> go_up(1) 281.11/142.72 redex_f(0, 1) -> result_f(f(2, 2)) 281.11/142.72 check_f(result_f(x)) -> go_up(x) 281.11/142.72 check_f(redex_f(x_1, x_2)) -> in_f_1(reduce(x_1), x_2) 281.11/142.72 check_f(redex_f(x_1, x_2)) -> in_f_2(x_1, reduce(x_2)) 281.11/142.72 in_f_2(x_1, go_up(x_2)) -> go_up(f(x_1, x_2)) 281.11/142.72 in_f_1(go_up(x_1), x_2) -> go_up(f(x_1, x_2)) 281.11/142.72 281.11/142.72 The set Q consists of the following terms: 281.11/142.72 281.11/142.72 top(go_up(x0)) 281.11/142.72 reduce(f(x0, x1)) 281.11/142.72 redex_f(0, 1) 281.11/142.72 reduce(2) 281.11/142.72 redex_f(2, 1) 281.11/142.72 redex_f(0, 2) 281.11/142.72 check_f(result_f(x0)) 281.11/142.72 check_f(redex_f(x0, x1)) 281.11/142.72 in_f_1(go_up(x0), x1) 281.11/142.72 in_f_2(x0, go_up(x1)) 281.11/142.72 281.11/142.72 We have to consider all minimal (P,Q,R)-chains. 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (31) QReductionProof (EQUIVALENT) 281.11/142.72 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 281.11/142.72 281.11/142.72 top(go_up(x0)) 281.11/142.72 281.11/142.72 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (32) 281.11/142.72 Obligation: 281.11/142.72 Q DP problem: 281.11/142.72 The TRS P consists of the following rules: 281.11/142.72 281.11/142.72 TOP(go_up(x)) -> TOP(reduce(x)) 281.11/142.72 281.11/142.72 The TRS R consists of the following rules: 281.11/142.72 281.11/142.72 reduce(f(x_1, x_2)) -> check_f(redex_f(x_1, x_2)) 281.11/142.72 reduce(2) -> go_up(0) 281.11/142.72 reduce(2) -> go_up(1) 281.11/142.72 redex_f(0, 1) -> result_f(f(2, 2)) 281.11/142.72 check_f(result_f(x)) -> go_up(x) 281.11/142.72 check_f(redex_f(x_1, x_2)) -> in_f_1(reduce(x_1), x_2) 281.11/142.72 check_f(redex_f(x_1, x_2)) -> in_f_2(x_1, reduce(x_2)) 281.11/142.72 in_f_2(x_1, go_up(x_2)) -> go_up(f(x_1, x_2)) 281.11/142.72 in_f_1(go_up(x_1), x_2) -> go_up(f(x_1, x_2)) 281.11/142.72 281.11/142.72 The set Q consists of the following terms: 281.11/142.72 281.11/142.72 reduce(f(x0, x1)) 281.11/142.72 redex_f(0, 1) 281.11/142.72 reduce(2) 281.11/142.72 redex_f(2, 1) 281.11/142.72 redex_f(0, 2) 281.11/142.72 check_f(result_f(x0)) 281.11/142.72 check_f(redex_f(x0, x1)) 281.11/142.72 in_f_1(go_up(x0), x1) 281.11/142.72 in_f_2(x0, go_up(x1)) 281.11/142.72 281.11/142.72 We have to consider all minimal (P,Q,R)-chains. 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (33) Trivial-Transformation (SOUND) 281.11/142.72 We applied the Trivial transformation to transform the outermost TRS to a standard TRS. 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (34) 281.11/142.72 Obligation: 281.11/142.72 Q restricted rewrite system: 281.11/142.72 The TRS R consists of the following rules: 281.11/142.72 281.11/142.72 f(0, 1) -> f(2, 2) 281.11/142.72 2 -> 0 281.11/142.72 2 -> 1 281.11/142.72 f(2, 1) -> 2 281.11/142.72 f(0, 2) -> 2 281.11/142.72 281.11/142.72 Q is empty. 281.11/142.72 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (35) QTRSRRRProof (EQUIVALENT) 281.11/142.72 Used ordering: 281.11/142.72 Polynomial interpretation [POLO]: 281.11/142.72 281.11/142.72 POL(0) = 1 281.11/142.72 POL(1) = 1 281.11/142.72 POL(2) = 1 281.11/142.72 POL(f(x_1, x_2)) = 2 + 2*x_1 + 2*x_2 281.11/142.72 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 281.11/142.72 281.11/142.72 f(2, 1) -> 2 281.11/142.72 f(0, 2) -> 2 281.11/142.72 281.11/142.72 281.11/142.72 281.11/142.72 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (36) 281.11/142.72 Obligation: 281.11/142.72 Q restricted rewrite system: 281.11/142.72 The TRS R consists of the following rules: 281.11/142.72 281.11/142.72 f(0, 1) -> f(2, 2) 281.11/142.72 2 -> 0 281.11/142.72 2 -> 1 281.11/142.72 281.11/142.72 Q is empty. 281.11/142.72 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (37) DependencyPairsProof (EQUIVALENT) 281.11/142.72 Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (38) 281.11/142.72 Obligation: 281.11/142.72 Q DP problem: 281.11/142.72 The TRS P consists of the following rules: 281.11/142.72 281.11/142.72 F(0, 1) -> F(2, 2) 281.11/142.72 F(0, 1) -> 2^1 281.11/142.72 281.11/142.72 The TRS R consists of the following rules: 281.11/142.72 281.11/142.72 f(0, 1) -> f(2, 2) 281.11/142.72 2 -> 0 281.11/142.72 2 -> 1 281.11/142.72 281.11/142.72 Q is empty. 281.11/142.72 We have to consider all minimal (P,Q,R)-chains. 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (39) DependencyGraphProof (EQUIVALENT) 281.11/142.72 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (40) 281.11/142.72 Obligation: 281.11/142.72 Q DP problem: 281.11/142.72 The TRS P consists of the following rules: 281.11/142.72 281.11/142.72 F(0, 1) -> F(2, 2) 281.11/142.72 281.11/142.72 The TRS R consists of the following rules: 281.11/142.72 281.11/142.72 f(0, 1) -> f(2, 2) 281.11/142.72 2 -> 0 281.11/142.72 2 -> 1 281.11/142.72 281.11/142.72 Q is empty. 281.11/142.72 We have to consider all minimal (P,Q,R)-chains. 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (41) UsableRulesProof (EQUIVALENT) 281.11/142.72 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. 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (42) 281.11/142.72 Obligation: 281.11/142.72 Q DP problem: 281.11/142.72 The TRS P consists of the following rules: 281.11/142.72 281.11/142.72 F(0, 1) -> F(2, 2) 281.11/142.72 281.11/142.72 The TRS R consists of the following rules: 281.11/142.72 281.11/142.72 2 -> 0 281.11/142.72 2 -> 1 281.11/142.72 281.11/142.72 Q is empty. 281.11/142.72 We have to consider all minimal (P,Q,R)-chains. 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (43) TransformationProof (EQUIVALENT) 281.11/142.72 By narrowing [LPAR04] the rule F(0, 1) -> F(2, 2) at position [0] we obtained the following new rules [LPAR04]: 281.11/142.72 281.11/142.72 (F(0, 1) -> F(0, 2),F(0, 1) -> F(0, 2)) 281.11/142.72 (F(0, 1) -> F(1, 2),F(0, 1) -> F(1, 2)) 281.11/142.72 281.11/142.72 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (44) 281.11/142.72 Obligation: 281.11/142.72 Q DP problem: 281.11/142.72 The TRS P consists of the following rules: 281.11/142.72 281.11/142.72 F(0, 1) -> F(0, 2) 281.11/142.72 F(0, 1) -> F(1, 2) 281.11/142.72 281.11/142.72 The TRS R consists of the following rules: 281.11/142.72 281.11/142.72 2 -> 0 281.11/142.72 2 -> 1 281.11/142.72 281.11/142.72 Q is empty. 281.11/142.72 We have to consider all minimal (P,Q,R)-chains. 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (45) DependencyGraphProof (EQUIVALENT) 281.11/142.72 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (46) 281.11/142.72 Obligation: 281.11/142.72 Q DP problem: 281.11/142.72 The TRS P consists of the following rules: 281.11/142.72 281.11/142.72 F(0, 1) -> F(0, 2) 281.11/142.72 281.11/142.72 The TRS R consists of the following rules: 281.11/142.72 281.11/142.72 2 -> 0 281.11/142.72 2 -> 1 281.11/142.72 281.11/142.72 Q is empty. 281.11/142.72 We have to consider all minimal (P,Q,R)-chains. 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (47) TransformationProof (EQUIVALENT) 281.11/142.72 By narrowing [LPAR04] the rule F(0, 1) -> F(0, 2) at position [1] we obtained the following new rules [LPAR04]: 281.11/142.72 281.11/142.72 (F(0, 1) -> F(0, 0),F(0, 1) -> F(0, 0)) 281.11/142.72 (F(0, 1) -> F(0, 1),F(0, 1) -> F(0, 1)) 281.11/142.72 281.11/142.72 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (48) 281.11/142.72 Obligation: 281.11/142.72 Q DP problem: 281.11/142.72 The TRS P consists of the following rules: 281.11/142.72 281.11/142.72 F(0, 1) -> F(0, 0) 281.11/142.72 F(0, 1) -> F(0, 1) 281.11/142.72 281.11/142.72 The TRS R consists of the following rules: 281.11/142.72 281.11/142.72 2 -> 0 281.11/142.72 2 -> 1 281.11/142.72 281.11/142.72 Q is empty. 281.11/142.72 We have to consider all minimal (P,Q,R)-chains. 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (49) DependencyGraphProof (EQUIVALENT) 281.11/142.72 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (50) 281.11/142.72 Obligation: 281.11/142.72 Q DP problem: 281.11/142.72 The TRS P consists of the following rules: 281.11/142.72 281.11/142.72 F(0, 1) -> F(0, 1) 281.11/142.72 281.11/142.72 The TRS R consists of the following rules: 281.11/142.72 281.11/142.72 2 -> 0 281.11/142.72 2 -> 1 281.11/142.72 281.11/142.72 Q is empty. 281.11/142.72 We have to consider all minimal (P,Q,R)-chains. 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (51) UsableRulesProof (EQUIVALENT) 281.11/142.72 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. 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (52) 281.11/142.72 Obligation: 281.11/142.72 Q DP problem: 281.11/142.72 The TRS P consists of the following rules: 281.11/142.72 281.11/142.72 F(0, 1) -> F(0, 1) 281.11/142.72 281.11/142.72 R is empty. 281.11/142.72 Q is empty. 281.11/142.72 We have to consider all minimal (P,Q,R)-chains. 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (53) ATransformationProof (EQUIVALENT) 281.11/142.72 We have applied the A-Transformation [FROCOS05] to get from an applicative problem to a standard problem. 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (54) 281.11/142.72 Obligation: 281.11/142.72 Q DP problem: 281.11/142.72 The TRS P consists of the following rules: 281.11/142.72 281.11/142.72 0(1) -> 0(1) 281.11/142.72 281.11/142.72 R is empty. 281.11/142.72 Q is empty. 281.11/142.72 We have to consider all minimal (P,Q,R)-chains. 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (55) NonTerminationLoopProof (COMPLETE) 281.11/142.72 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 281.11/142.72 Found a loop by semiunifying a rule from P directly. 281.11/142.72 281.11/142.72 s = 0(1) evaluates to t =0(1) 281.11/142.72 281.11/142.72 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 281.11/142.72 * Matcher: [ ] 281.11/142.72 * Semiunifier: [ ] 281.11/142.72 281.11/142.72 -------------------------------------------------------------------------------- 281.11/142.72 Rewriting sequence 281.11/142.72 281.11/142.72 The DP semiunifies directly so there is only one rewrite step from 0(1) to 0(1). 281.11/142.72 281.11/142.72 281.11/142.72 281.11/142.72 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (56) 281.11/142.72 NO 281.11/142.72 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (57) Raffelsieper-Zantema-Transformation (SOUND) 281.11/142.72 We applied the Raffelsieper-Zantema transformation to transform the outermost TRS to a standard TRS. 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (58) 281.11/142.72 Obligation: 281.11/142.72 Q restricted rewrite system: 281.11/142.72 The TRS R consists of the following rules: 281.11/142.72 281.11/142.72 down(f(0, 1)) -> up(f(2, 2)) 281.11/142.72 down(2) -> up(0) 281.11/142.72 down(2) -> up(1) 281.11/142.72 down(f(2, 1)) -> up(2) 281.11/142.72 down(f(0, 2)) -> up(2) 281.11/142.72 top(up(x)) -> top(down(x)) 281.11/142.72 down(f(f(y4, y5), y6)) -> f_flat(down(f(y4, y5)), block(y6)) 281.11/142.72 down(f(f(y4, y5), y6)) -> f_flat(block(f(y4, y5)), down(y6)) 281.11/142.72 down(f(1, y8)) -> f_flat(down(1), block(y8)) 281.11/142.72 down(f(1, y8)) -> f_flat(block(1), down(y8)) 281.11/142.72 down(f(fresh_constant, y10)) -> f_flat(down(fresh_constant), block(y10)) 281.11/142.72 down(f(fresh_constant, y10)) -> f_flat(block(fresh_constant), down(y10)) 281.11/142.72 down(f(y11, f(y12, y13))) -> f_flat(down(y11), block(f(y12, y13))) 281.11/142.72 down(f(y11, f(y12, y13))) -> f_flat(block(y11), down(f(y12, y13))) 281.11/142.72 down(f(y26, 0)) -> f_flat(down(y26), block(0)) 281.11/142.72 down(f(y26, 0)) -> f_flat(block(y26), down(0)) 281.11/142.72 down(f(2, 2)) -> f_flat(down(2), block(2)) 281.11/142.72 down(f(2, 2)) -> f_flat(block(2), down(2)) 281.11/142.72 down(f(y35, fresh_constant)) -> f_flat(down(y35), block(fresh_constant)) 281.11/142.72 down(f(y35, fresh_constant)) -> f_flat(block(y35), down(fresh_constant)) 281.11/142.72 f_flat(up(x_1), block(x_2)) -> up(f(x_1, x_2)) 281.11/142.72 f_flat(block(x_1), up(x_2)) -> up(f(x_1, x_2)) 281.11/142.72 281.11/142.72 Q is empty. 281.11/142.72 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (59) QTRSRRRProof (EQUIVALENT) 281.11/142.72 Used ordering: 281.11/142.72 Polynomial interpretation [POLO]: 281.11/142.72 281.11/142.72 POL(0) = 1 281.11/142.72 POL(1) = 1 281.11/142.72 POL(2) = 1 281.11/142.72 POL(block(x_1)) = x_1 281.11/142.72 POL(down(x_1)) = x_1 281.11/142.72 POL(f(x_1, x_2)) = 2*x_1 + 2*x_2 281.11/142.72 POL(f_flat(x_1, x_2)) = 2*x_1 + 2*x_2 281.11/142.72 POL(fresh_constant) = 0 281.11/142.72 POL(top(x_1)) = x_1 281.11/142.72 POL(up(x_1)) = x_1 281.11/142.72 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 281.11/142.72 281.11/142.72 down(f(2, 1)) -> up(2) 281.11/142.72 down(f(0, 2)) -> up(2) 281.11/142.72 281.11/142.72 281.11/142.72 281.11/142.72 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (60) 281.11/142.72 Obligation: 281.11/142.72 Q restricted rewrite system: 281.11/142.72 The TRS R consists of the following rules: 281.11/142.72 281.11/142.72 down(f(0, 1)) -> up(f(2, 2)) 281.11/142.72 down(2) -> up(0) 281.11/142.72 down(2) -> up(1) 281.11/142.72 top(up(x)) -> top(down(x)) 281.11/142.72 down(f(f(y4, y5), y6)) -> f_flat(down(f(y4, y5)), block(y6)) 281.11/142.72 down(f(f(y4, y5), y6)) -> f_flat(block(f(y4, y5)), down(y6)) 281.11/142.72 down(f(1, y8)) -> f_flat(down(1), block(y8)) 281.11/142.72 down(f(1, y8)) -> f_flat(block(1), down(y8)) 281.11/142.72 down(f(fresh_constant, y10)) -> f_flat(down(fresh_constant), block(y10)) 281.11/142.72 down(f(fresh_constant, y10)) -> f_flat(block(fresh_constant), down(y10)) 281.11/142.72 down(f(y11, f(y12, y13))) -> f_flat(down(y11), block(f(y12, y13))) 281.11/142.72 down(f(y11, f(y12, y13))) -> f_flat(block(y11), down(f(y12, y13))) 281.11/142.72 down(f(y26, 0)) -> f_flat(down(y26), block(0)) 281.11/142.72 down(f(y26, 0)) -> f_flat(block(y26), down(0)) 281.11/142.72 down(f(2, 2)) -> f_flat(down(2), block(2)) 281.11/142.72 down(f(2, 2)) -> f_flat(block(2), down(2)) 281.11/142.72 down(f(y35, fresh_constant)) -> f_flat(down(y35), block(fresh_constant)) 281.11/142.72 down(f(y35, fresh_constant)) -> f_flat(block(y35), down(fresh_constant)) 281.11/142.72 f_flat(up(x_1), block(x_2)) -> up(f(x_1, x_2)) 281.11/142.72 f_flat(block(x_1), up(x_2)) -> up(f(x_1, x_2)) 281.11/142.72 281.11/142.72 Q is empty. 281.11/142.72 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (61) DependencyPairsProof (EQUIVALENT) 281.11/142.72 Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (62) 281.11/142.72 Obligation: 281.11/142.72 Q DP problem: 281.11/142.72 The TRS P consists of the following rules: 281.11/142.72 281.11/142.72 TOP(up(x)) -> TOP(down(x)) 281.11/142.72 TOP(up(x)) -> DOWN(x) 281.11/142.72 DOWN(f(f(y4, y5), y6)) -> F_FLAT(down(f(y4, y5)), block(y6)) 281.11/142.72 DOWN(f(f(y4, y5), y6)) -> DOWN(f(y4, y5)) 281.11/142.72 DOWN(f(f(y4, y5), y6)) -> F_FLAT(block(f(y4, y5)), down(y6)) 281.11/142.72 DOWN(f(f(y4, y5), y6)) -> DOWN(y6) 281.11/142.72 DOWN(f(1, y8)) -> F_FLAT(down(1), block(y8)) 281.11/142.72 DOWN(f(1, y8)) -> DOWN(1) 281.11/142.72 DOWN(f(1, y8)) -> F_FLAT(block(1), down(y8)) 281.11/142.72 DOWN(f(1, y8)) -> DOWN(y8) 281.11/142.72 DOWN(f(fresh_constant, y10)) -> F_FLAT(down(fresh_constant), block(y10)) 281.11/142.72 DOWN(f(fresh_constant, y10)) -> DOWN(fresh_constant) 281.11/142.72 DOWN(f(fresh_constant, y10)) -> F_FLAT(block(fresh_constant), down(y10)) 281.11/142.72 DOWN(f(fresh_constant, y10)) -> DOWN(y10) 281.11/142.72 DOWN(f(y11, f(y12, y13))) -> F_FLAT(down(y11), block(f(y12, y13))) 281.11/142.72 DOWN(f(y11, f(y12, y13))) -> DOWN(y11) 281.11/142.72 DOWN(f(y11, f(y12, y13))) -> F_FLAT(block(y11), down(f(y12, y13))) 281.11/142.72 DOWN(f(y11, f(y12, y13))) -> DOWN(f(y12, y13)) 281.11/142.72 DOWN(f(y26, 0)) -> F_FLAT(down(y26), block(0)) 281.11/142.72 DOWN(f(y26, 0)) -> DOWN(y26) 281.11/142.72 DOWN(f(y26, 0)) -> F_FLAT(block(y26), down(0)) 281.11/142.72 DOWN(f(y26, 0)) -> DOWN(0) 281.11/142.72 DOWN(f(2, 2)) -> F_FLAT(down(2), block(2)) 281.11/142.72 DOWN(f(2, 2)) -> DOWN(2) 281.11/142.72 DOWN(f(2, 2)) -> F_FLAT(block(2), down(2)) 281.11/142.72 DOWN(f(y35, fresh_constant)) -> F_FLAT(down(y35), block(fresh_constant)) 281.11/142.72 DOWN(f(y35, fresh_constant)) -> DOWN(y35) 281.11/142.72 DOWN(f(y35, fresh_constant)) -> F_FLAT(block(y35), down(fresh_constant)) 281.11/142.72 DOWN(f(y35, fresh_constant)) -> DOWN(fresh_constant) 281.11/142.72 281.11/142.72 The TRS R consists of the following rules: 281.11/142.72 281.11/142.72 down(f(0, 1)) -> up(f(2, 2)) 281.11/142.72 down(2) -> up(0) 281.11/142.72 down(2) -> up(1) 281.11/142.72 top(up(x)) -> top(down(x)) 281.11/142.72 down(f(f(y4, y5), y6)) -> f_flat(down(f(y4, y5)), block(y6)) 281.11/142.72 down(f(f(y4, y5), y6)) -> f_flat(block(f(y4, y5)), down(y6)) 281.11/142.72 down(f(1, y8)) -> f_flat(down(1), block(y8)) 281.11/142.72 down(f(1, y8)) -> f_flat(block(1), down(y8)) 281.11/142.72 down(f(fresh_constant, y10)) -> f_flat(down(fresh_constant), block(y10)) 281.11/142.72 down(f(fresh_constant, y10)) -> f_flat(block(fresh_constant), down(y10)) 281.11/142.72 down(f(y11, f(y12, y13))) -> f_flat(down(y11), block(f(y12, y13))) 281.11/142.72 down(f(y11, f(y12, y13))) -> f_flat(block(y11), down(f(y12, y13))) 281.11/142.72 down(f(y26, 0)) -> f_flat(down(y26), block(0)) 281.11/142.72 down(f(y26, 0)) -> f_flat(block(y26), down(0)) 281.11/142.72 down(f(2, 2)) -> f_flat(down(2), block(2)) 281.11/142.72 down(f(2, 2)) -> f_flat(block(2), down(2)) 281.11/142.72 down(f(y35, fresh_constant)) -> f_flat(down(y35), block(fresh_constant)) 281.11/142.72 down(f(y35, fresh_constant)) -> f_flat(block(y35), down(fresh_constant)) 281.11/142.72 f_flat(up(x_1), block(x_2)) -> up(f(x_1, x_2)) 281.11/142.72 f_flat(block(x_1), up(x_2)) -> up(f(x_1, x_2)) 281.11/142.72 281.11/142.72 Q is empty. 281.11/142.72 We have to consider all minimal (P,Q,R)-chains. 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (63) DependencyGraphProof (EQUIVALENT) 281.11/142.72 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 20 less nodes. 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (64) 281.11/142.72 Complex Obligation (AND) 281.11/142.72 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (65) 281.11/142.72 Obligation: 281.11/142.72 Q DP problem: 281.11/142.72 The TRS P consists of the following rules: 281.11/142.72 281.11/142.72 DOWN(f(f(y4, y5), y6)) -> DOWN(y6) 281.11/142.72 DOWN(f(f(y4, y5), y6)) -> DOWN(f(y4, y5)) 281.11/142.72 DOWN(f(1, y8)) -> DOWN(y8) 281.11/142.72 DOWN(f(fresh_constant, y10)) -> DOWN(y10) 281.11/142.72 DOWN(f(y11, f(y12, y13))) -> DOWN(y11) 281.11/142.72 DOWN(f(y11, f(y12, y13))) -> DOWN(f(y12, y13)) 281.11/142.72 DOWN(f(y26, 0)) -> DOWN(y26) 281.11/142.72 DOWN(f(y35, fresh_constant)) -> DOWN(y35) 281.11/142.72 281.11/142.72 The TRS R consists of the following rules: 281.11/142.72 281.11/142.72 down(f(0, 1)) -> up(f(2, 2)) 281.11/142.72 down(2) -> up(0) 281.11/142.72 down(2) -> up(1) 281.11/142.72 top(up(x)) -> top(down(x)) 281.11/142.72 down(f(f(y4, y5), y6)) -> f_flat(down(f(y4, y5)), block(y6)) 281.11/142.72 down(f(f(y4, y5), y6)) -> f_flat(block(f(y4, y5)), down(y6)) 281.11/142.72 down(f(1, y8)) -> f_flat(down(1), block(y8)) 281.11/142.72 down(f(1, y8)) -> f_flat(block(1), down(y8)) 281.11/142.72 down(f(fresh_constant, y10)) -> f_flat(down(fresh_constant), block(y10)) 281.11/142.72 down(f(fresh_constant, y10)) -> f_flat(block(fresh_constant), down(y10)) 281.11/142.72 down(f(y11, f(y12, y13))) -> f_flat(down(y11), block(f(y12, y13))) 281.11/142.72 down(f(y11, f(y12, y13))) -> f_flat(block(y11), down(f(y12, y13))) 281.11/142.72 down(f(y26, 0)) -> f_flat(down(y26), block(0)) 281.11/142.72 down(f(y26, 0)) -> f_flat(block(y26), down(0)) 281.11/142.72 down(f(2, 2)) -> f_flat(down(2), block(2)) 281.11/142.72 down(f(2, 2)) -> f_flat(block(2), down(2)) 281.11/142.72 down(f(y35, fresh_constant)) -> f_flat(down(y35), block(fresh_constant)) 281.11/142.72 down(f(y35, fresh_constant)) -> f_flat(block(y35), down(fresh_constant)) 281.11/142.72 f_flat(up(x_1), block(x_2)) -> up(f(x_1, x_2)) 281.11/142.72 f_flat(block(x_1), up(x_2)) -> up(f(x_1, x_2)) 281.11/142.72 281.11/142.72 Q is empty. 281.11/142.72 We have to consider all minimal (P,Q,R)-chains. 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (66) UsableRulesProof (EQUIVALENT) 281.11/142.72 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. 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (67) 281.11/142.72 Obligation: 281.11/142.72 Q DP problem: 281.11/142.72 The TRS P consists of the following rules: 281.11/142.72 281.11/142.72 DOWN(f(f(y4, y5), y6)) -> DOWN(y6) 281.11/142.72 DOWN(f(f(y4, y5), y6)) -> DOWN(f(y4, y5)) 281.11/142.72 DOWN(f(1, y8)) -> DOWN(y8) 281.11/142.72 DOWN(f(fresh_constant, y10)) -> DOWN(y10) 281.11/142.72 DOWN(f(y11, f(y12, y13))) -> DOWN(y11) 281.11/142.72 DOWN(f(y11, f(y12, y13))) -> DOWN(f(y12, y13)) 281.11/142.72 DOWN(f(y26, 0)) -> DOWN(y26) 281.11/142.72 DOWN(f(y35, fresh_constant)) -> DOWN(y35) 281.11/142.72 281.11/142.72 R is empty. 281.11/142.72 Q is empty. 281.11/142.72 We have to consider all minimal (P,Q,R)-chains. 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (68) QDPSizeChangeProof (EQUIVALENT) 281.11/142.72 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 281.11/142.72 281.11/142.72 From the DPs we obtained the following set of size-change graphs: 281.11/142.72 *DOWN(f(f(y4, y5), y6)) -> DOWN(y6) 281.11/142.72 The graph contains the following edges 1 > 1 281.11/142.72 281.11/142.72 281.11/142.72 *DOWN(f(f(y4, y5), y6)) -> DOWN(f(y4, y5)) 281.11/142.72 The graph contains the following edges 1 > 1 281.11/142.72 281.11/142.72 281.11/142.72 *DOWN(f(1, y8)) -> DOWN(y8) 281.11/142.72 The graph contains the following edges 1 > 1 281.11/142.72 281.11/142.72 281.11/142.72 *DOWN(f(fresh_constant, y10)) -> DOWN(y10) 281.11/142.72 The graph contains the following edges 1 > 1 281.11/142.72 281.11/142.72 281.11/142.72 *DOWN(f(y11, f(y12, y13))) -> DOWN(y11) 281.11/142.72 The graph contains the following edges 1 > 1 281.11/142.72 281.11/142.72 281.11/142.72 *DOWN(f(y11, f(y12, y13))) -> DOWN(f(y12, y13)) 281.11/142.72 The graph contains the following edges 1 > 1 281.11/142.72 281.11/142.72 281.11/142.72 *DOWN(f(y26, 0)) -> DOWN(y26) 281.11/142.72 The graph contains the following edges 1 > 1 281.11/142.72 281.11/142.72 281.11/142.72 *DOWN(f(y35, fresh_constant)) -> DOWN(y35) 281.11/142.72 The graph contains the following edges 1 > 1 281.11/142.72 281.11/142.72 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (69) 281.11/142.72 YES 281.11/142.72 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (70) 281.11/142.72 Obligation: 281.11/142.72 Q DP problem: 281.11/142.72 The TRS P consists of the following rules: 281.11/142.72 281.11/142.72 TOP(up(x)) -> TOP(down(x)) 281.11/142.72 281.11/142.72 The TRS R consists of the following rules: 281.11/142.72 281.11/142.72 down(f(0, 1)) -> up(f(2, 2)) 281.11/142.72 down(2) -> up(0) 281.11/142.72 down(2) -> up(1) 281.11/142.72 top(up(x)) -> top(down(x)) 281.11/142.72 down(f(f(y4, y5), y6)) -> f_flat(down(f(y4, y5)), block(y6)) 281.11/142.72 down(f(f(y4, y5), y6)) -> f_flat(block(f(y4, y5)), down(y6)) 281.11/142.72 down(f(1, y8)) -> f_flat(down(1), block(y8)) 281.11/142.72 down(f(1, y8)) -> f_flat(block(1), down(y8)) 281.11/142.72 down(f(fresh_constant, y10)) -> f_flat(down(fresh_constant), block(y10)) 281.11/142.72 down(f(fresh_constant, y10)) -> f_flat(block(fresh_constant), down(y10)) 281.11/142.72 down(f(y11, f(y12, y13))) -> f_flat(down(y11), block(f(y12, y13))) 281.11/142.72 down(f(y11, f(y12, y13))) -> f_flat(block(y11), down(f(y12, y13))) 281.11/142.72 down(f(y26, 0)) -> f_flat(down(y26), block(0)) 281.11/142.72 down(f(y26, 0)) -> f_flat(block(y26), down(0)) 281.11/142.72 down(f(2, 2)) -> f_flat(down(2), block(2)) 281.11/142.72 down(f(2, 2)) -> f_flat(block(2), down(2)) 281.11/142.72 down(f(y35, fresh_constant)) -> f_flat(down(y35), block(fresh_constant)) 281.11/142.72 down(f(y35, fresh_constant)) -> f_flat(block(y35), down(fresh_constant)) 281.11/142.72 f_flat(up(x_1), block(x_2)) -> up(f(x_1, x_2)) 281.11/142.72 f_flat(block(x_1), up(x_2)) -> up(f(x_1, x_2)) 281.11/142.72 281.11/142.72 Q is empty. 281.11/142.72 We have to consider all minimal (P,Q,R)-chains. 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (71) UsableRulesProof (EQUIVALENT) 281.11/142.72 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. 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (72) 281.11/142.72 Obligation: 281.11/142.72 Q DP problem: 281.11/142.72 The TRS P consists of the following rules: 281.11/142.72 281.11/142.72 TOP(up(x)) -> TOP(down(x)) 281.11/142.72 281.11/142.72 The TRS R consists of the following rules: 281.11/142.72 281.11/142.72 down(f(0, 1)) -> up(f(2, 2)) 281.11/142.72 down(2) -> up(0) 281.11/142.72 down(2) -> up(1) 281.11/142.72 down(f(f(y4, y5), y6)) -> f_flat(down(f(y4, y5)), block(y6)) 281.11/142.72 down(f(f(y4, y5), y6)) -> f_flat(block(f(y4, y5)), down(y6)) 281.11/142.72 down(f(1, y8)) -> f_flat(down(1), block(y8)) 281.11/142.72 down(f(1, y8)) -> f_flat(block(1), down(y8)) 281.11/142.72 down(f(fresh_constant, y10)) -> f_flat(down(fresh_constant), block(y10)) 281.11/142.72 down(f(fresh_constant, y10)) -> f_flat(block(fresh_constant), down(y10)) 281.11/142.72 down(f(y11, f(y12, y13))) -> f_flat(down(y11), block(f(y12, y13))) 281.11/142.72 down(f(y11, f(y12, y13))) -> f_flat(block(y11), down(f(y12, y13))) 281.11/142.72 down(f(y26, 0)) -> f_flat(down(y26), block(0)) 281.11/142.72 down(f(y26, 0)) -> f_flat(block(y26), down(0)) 281.11/142.72 down(f(2, 2)) -> f_flat(down(2), block(2)) 281.11/142.72 down(f(2, 2)) -> f_flat(block(2), down(2)) 281.11/142.72 down(f(y35, fresh_constant)) -> f_flat(down(y35), block(fresh_constant)) 281.11/142.72 down(f(y35, fresh_constant)) -> f_flat(block(y35), down(fresh_constant)) 281.11/142.72 f_flat(up(x_1), block(x_2)) -> up(f(x_1, x_2)) 281.11/142.72 f_flat(block(x_1), up(x_2)) -> up(f(x_1, x_2)) 281.11/142.72 281.11/142.72 Q is empty. 281.11/142.72 We have to consider all minimal (P,Q,R)-chains. 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (73) TransformationProof (EQUIVALENT) 281.11/142.72 By narrowing [LPAR04] the rule TOP(up(x)) -> TOP(down(x)) at position [0] we obtained the following new rules [LPAR04]: 281.11/142.72 281.11/142.72 (TOP(up(f(0, 1))) -> TOP(up(f(2, 2))),TOP(up(f(0, 1))) -> TOP(up(f(2, 2)))) 281.11/142.72 (TOP(up(2)) -> TOP(up(0)),TOP(up(2)) -> TOP(up(0))) 281.11/142.72 (TOP(up(2)) -> TOP(up(1)),TOP(up(2)) -> TOP(up(1))) 281.11/142.72 (TOP(up(f(f(x0, x1), x2))) -> TOP(f_flat(down(f(x0, x1)), block(x2))),TOP(up(f(f(x0, x1), x2))) -> TOP(f_flat(down(f(x0, x1)), block(x2)))) 281.11/142.72 (TOP(up(f(f(x0, x1), x2))) -> TOP(f_flat(block(f(x0, x1)), down(x2))),TOP(up(f(f(x0, x1), x2))) -> TOP(f_flat(block(f(x0, x1)), down(x2)))) 281.11/142.72 (TOP(up(f(1, x0))) -> TOP(f_flat(down(1), block(x0))),TOP(up(f(1, x0))) -> TOP(f_flat(down(1), block(x0)))) 281.11/142.72 (TOP(up(f(1, x0))) -> TOP(f_flat(block(1), down(x0))),TOP(up(f(1, x0))) -> TOP(f_flat(block(1), down(x0)))) 281.11/142.72 (TOP(up(f(fresh_constant, x0))) -> TOP(f_flat(down(fresh_constant), block(x0))),TOP(up(f(fresh_constant, x0))) -> TOP(f_flat(down(fresh_constant), block(x0)))) 281.11/142.72 (TOP(up(f(fresh_constant, x0))) -> TOP(f_flat(block(fresh_constant), down(x0))),TOP(up(f(fresh_constant, x0))) -> TOP(f_flat(block(fresh_constant), down(x0)))) 281.11/142.72 (TOP(up(f(x0, f(x1, x2)))) -> TOP(f_flat(down(x0), block(f(x1, x2)))),TOP(up(f(x0, f(x1, x2)))) -> TOP(f_flat(down(x0), block(f(x1, x2))))) 281.11/142.72 (TOP(up(f(x0, f(x1, x2)))) -> TOP(f_flat(block(x0), down(f(x1, x2)))),TOP(up(f(x0, f(x1, x2)))) -> TOP(f_flat(block(x0), down(f(x1, x2))))) 281.11/142.72 (TOP(up(f(x0, 0))) -> TOP(f_flat(down(x0), block(0))),TOP(up(f(x0, 0))) -> TOP(f_flat(down(x0), block(0)))) 281.11/142.72 (TOP(up(f(x0, 0))) -> TOP(f_flat(block(x0), down(0))),TOP(up(f(x0, 0))) -> TOP(f_flat(block(x0), down(0)))) 281.11/142.72 (TOP(up(f(2, 2))) -> TOP(f_flat(down(2), block(2))),TOP(up(f(2, 2))) -> TOP(f_flat(down(2), block(2)))) 281.11/142.72 (TOP(up(f(2, 2))) -> TOP(f_flat(block(2), down(2))),TOP(up(f(2, 2))) -> TOP(f_flat(block(2), down(2)))) 281.11/142.72 (TOP(up(f(x0, fresh_constant))) -> TOP(f_flat(down(x0), block(fresh_constant))),TOP(up(f(x0, fresh_constant))) -> TOP(f_flat(down(x0), block(fresh_constant)))) 281.11/142.72 (TOP(up(f(x0, fresh_constant))) -> TOP(f_flat(block(x0), down(fresh_constant))),TOP(up(f(x0, fresh_constant))) -> TOP(f_flat(block(x0), down(fresh_constant)))) 281.11/142.72 281.11/142.72 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (74) 281.11/142.72 Obligation: 281.11/142.72 Q DP problem: 281.11/142.72 The TRS P consists of the following rules: 281.11/142.72 281.11/142.72 TOP(up(f(0, 1))) -> TOP(up(f(2, 2))) 281.11/142.72 TOP(up(2)) -> TOP(up(0)) 281.11/142.72 TOP(up(2)) -> TOP(up(1)) 281.11/142.72 TOP(up(f(f(x0, x1), x2))) -> TOP(f_flat(down(f(x0, x1)), block(x2))) 281.11/142.72 TOP(up(f(f(x0, x1), x2))) -> TOP(f_flat(block(f(x0, x1)), down(x2))) 281.11/142.72 TOP(up(f(1, x0))) -> TOP(f_flat(down(1), block(x0))) 281.11/142.72 TOP(up(f(1, x0))) -> TOP(f_flat(block(1), down(x0))) 281.11/142.72 TOP(up(f(fresh_constant, x0))) -> TOP(f_flat(down(fresh_constant), block(x0))) 281.11/142.72 TOP(up(f(fresh_constant, x0))) -> TOP(f_flat(block(fresh_constant), down(x0))) 281.11/142.72 TOP(up(f(x0, f(x1, x2)))) -> TOP(f_flat(down(x0), block(f(x1, x2)))) 281.11/142.72 TOP(up(f(x0, f(x1, x2)))) -> TOP(f_flat(block(x0), down(f(x1, x2)))) 281.11/142.72 TOP(up(f(x0, 0))) -> TOP(f_flat(down(x0), block(0))) 281.11/142.72 TOP(up(f(x0, 0))) -> TOP(f_flat(block(x0), down(0))) 281.11/142.72 TOP(up(f(2, 2))) -> TOP(f_flat(down(2), block(2))) 281.11/142.72 TOP(up(f(2, 2))) -> TOP(f_flat(block(2), down(2))) 281.11/142.72 TOP(up(f(x0, fresh_constant))) -> TOP(f_flat(down(x0), block(fresh_constant))) 281.11/142.72 TOP(up(f(x0, fresh_constant))) -> TOP(f_flat(block(x0), down(fresh_constant))) 281.11/142.72 281.11/142.72 The TRS R consists of the following rules: 281.11/142.72 281.11/142.72 down(f(0, 1)) -> up(f(2, 2)) 281.11/142.72 down(2) -> up(0) 281.11/142.72 down(2) -> up(1) 281.11/142.72 down(f(f(y4, y5), y6)) -> f_flat(down(f(y4, y5)), block(y6)) 281.11/142.72 down(f(f(y4, y5), y6)) -> f_flat(block(f(y4, y5)), down(y6)) 281.11/142.72 down(f(1, y8)) -> f_flat(down(1), block(y8)) 281.11/142.72 down(f(1, y8)) -> f_flat(block(1), down(y8)) 281.11/142.72 down(f(fresh_constant, y10)) -> f_flat(down(fresh_constant), block(y10)) 281.11/142.72 down(f(fresh_constant, y10)) -> f_flat(block(fresh_constant), down(y10)) 281.11/142.72 down(f(y11, f(y12, y13))) -> f_flat(down(y11), block(f(y12, y13))) 281.11/142.72 down(f(y11, f(y12, y13))) -> f_flat(block(y11), down(f(y12, y13))) 281.11/142.72 down(f(y26, 0)) -> f_flat(down(y26), block(0)) 281.11/142.72 down(f(y26, 0)) -> f_flat(block(y26), down(0)) 281.11/142.72 down(f(2, 2)) -> f_flat(down(2), block(2)) 281.11/142.72 down(f(2, 2)) -> f_flat(block(2), down(2)) 281.11/142.72 down(f(y35, fresh_constant)) -> f_flat(down(y35), block(fresh_constant)) 281.11/142.72 down(f(y35, fresh_constant)) -> f_flat(block(y35), down(fresh_constant)) 281.11/142.72 f_flat(up(x_1), block(x_2)) -> up(f(x_1, x_2)) 281.11/142.72 f_flat(block(x_1), up(x_2)) -> up(f(x_1, x_2)) 281.11/142.72 281.11/142.72 Q is empty. 281.11/142.72 We have to consider all minimal (P,Q,R)-chains. 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (75) DependencyGraphProof (EQUIVALENT) 281.11/142.72 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 6 less nodes. 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (76) 281.11/142.72 Obligation: 281.11/142.72 Q DP problem: 281.11/142.72 The TRS P consists of the following rules: 281.11/142.72 281.11/142.72 TOP(up(f(2, 2))) -> TOP(f_flat(down(2), block(2))) 281.11/142.72 TOP(up(f(0, 1))) -> TOP(up(f(2, 2))) 281.11/142.72 TOP(up(f(2, 2))) -> TOP(f_flat(block(2), down(2))) 281.11/142.72 TOP(up(f(f(x0, x1), x2))) -> TOP(f_flat(down(f(x0, x1)), block(x2))) 281.11/142.72 TOP(up(f(f(x0, x1), x2))) -> TOP(f_flat(block(f(x0, x1)), down(x2))) 281.11/142.72 TOP(up(f(1, x0))) -> TOP(f_flat(block(1), down(x0))) 281.11/142.72 TOP(up(f(fresh_constant, x0))) -> TOP(f_flat(block(fresh_constant), down(x0))) 281.11/142.72 TOP(up(f(x0, f(x1, x2)))) -> TOP(f_flat(down(x0), block(f(x1, x2)))) 281.11/142.72 TOP(up(f(x0, f(x1, x2)))) -> TOP(f_flat(block(x0), down(f(x1, x2)))) 281.11/142.72 TOP(up(f(x0, 0))) -> TOP(f_flat(down(x0), block(0))) 281.11/142.72 TOP(up(f(x0, fresh_constant))) -> TOP(f_flat(down(x0), block(fresh_constant))) 281.11/142.72 281.11/142.72 The TRS R consists of the following rules: 281.11/142.72 281.11/142.72 down(f(0, 1)) -> up(f(2, 2)) 281.11/142.72 down(2) -> up(0) 281.11/142.72 down(2) -> up(1) 281.11/142.72 down(f(f(y4, y5), y6)) -> f_flat(down(f(y4, y5)), block(y6)) 281.11/142.72 down(f(f(y4, y5), y6)) -> f_flat(block(f(y4, y5)), down(y6)) 281.11/142.72 down(f(1, y8)) -> f_flat(down(1), block(y8)) 281.11/142.72 down(f(1, y8)) -> f_flat(block(1), down(y8)) 281.11/142.72 down(f(fresh_constant, y10)) -> f_flat(down(fresh_constant), block(y10)) 281.11/142.72 down(f(fresh_constant, y10)) -> f_flat(block(fresh_constant), down(y10)) 281.11/142.72 down(f(y11, f(y12, y13))) -> f_flat(down(y11), block(f(y12, y13))) 281.11/142.72 down(f(y11, f(y12, y13))) -> f_flat(block(y11), down(f(y12, y13))) 281.11/142.72 down(f(y26, 0)) -> f_flat(down(y26), block(0)) 281.11/142.72 down(f(y26, 0)) -> f_flat(block(y26), down(0)) 281.11/142.72 down(f(2, 2)) -> f_flat(down(2), block(2)) 281.11/142.72 down(f(2, 2)) -> f_flat(block(2), down(2)) 281.11/142.72 down(f(y35, fresh_constant)) -> f_flat(down(y35), block(fresh_constant)) 281.11/142.72 down(f(y35, fresh_constant)) -> f_flat(block(y35), down(fresh_constant)) 281.11/142.72 f_flat(up(x_1), block(x_2)) -> up(f(x_1, x_2)) 281.11/142.72 f_flat(block(x_1), up(x_2)) -> up(f(x_1, x_2)) 281.11/142.72 281.11/142.72 Q is empty. 281.11/142.72 We have to consider all minimal (P,Q,R)-chains. 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (77) SplitQDPProof (EQUIVALENT) 281.11/142.72 We show in the first subproof that some pairs and rules can be removed, afterwards, we continue with the remaining DP-Problem 281.11/142.72 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (78) 281.11/142.72 Complex Obligation (AND) 281.11/142.72 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (79) 281.11/142.72 Obligation: 281.11/142.72 Q DP problem: 281.11/142.72 The TRS P consists of the following rules: 281.11/142.72 281.11/142.72 TOP(up(f(2, 2))) -> TOP(f_flat(down(2), block(2))) 281.11/142.72 TOP(up(f(0, 1))) -> TOP(up(f(2, 2))) 281.11/142.72 TOP(up(f(2, 2))) -> TOP(f_flat(block(2), down(2))) 281.11/142.72 TOP(up(f(f(x0, x1), x2))) -> TOP(f_flat(down(f(x0, x1)), block(x2))) 281.11/142.72 TOP(up(f(f(x0, x1), x2))) -> TOP(f_flat(block(f(x0, x1)), down(x2))) 281.11/142.72 TOP(up(f(1, x0))) -> TOP(f_flat(block(1), down(x0))) 281.11/142.72 TOP(up(f(fresh_constant, x0))) -> TOP(f_flat(block(fresh_constant), down(x0))) 281.11/142.72 TOP(up(f(x0, f(x1, x2)))) -> TOP(f_flat(down(x0), block(f(x1, x2)))) 281.11/142.72 TOP(up(f(x0, f(x1, x2)))) -> TOP(f_flat(block(x0), down(f(x1, x2)))) 281.11/142.72 TOP(up(f(x0, 0))) -> TOP(f_flat(down(x0), block(0))) 281.11/142.72 TOP(up(f(x0, fresh_constant))) -> TOP(f_flat(down(x0), block(fresh_constant))) 281.11/142.72 281.11/142.72 The TRS R consists of the following rules: 281.11/142.72 281.11/142.72 down(f(0, 1)) -> up(f(2, 2)) 281.11/142.72 down(2) -> up(0) 281.11/142.72 down(2) -> up(1) 281.11/142.72 down(f(f(y4, y5), y6)) -> f_flat(down(f(y4, y5)), block(y6)) 281.11/142.72 down(f(f(y4, y5), y6)) -> f_flat(block(f(y4, y5)), down(y6)) 281.11/142.72 down(f(1, y8)) -> f_flat(down(1), block(y8)) 281.11/142.72 down(f(1, y8)) -> f_flat(block(1), down(y8)) 281.11/142.72 down(f(fresh_constant, y10)) -> f_flat(down(fresh_constant), block(y10)) 281.11/142.72 down(f(fresh_constant, y10)) -> f_flat(block(fresh_constant), down(y10)) 281.11/142.72 down(f(y11, f(y12, y13))) -> f_flat(down(y11), block(f(y12, y13))) 281.11/142.72 down(f(y11, f(y12, y13))) -> f_flat(block(y11), down(f(y12, y13))) 281.11/142.72 down(f(y26, 0)) -> f_flat(down(y26), block(0)) 281.11/142.72 down(f(y26, 0)) -> f_flat(block(y26), down(0)) 281.11/142.72 down(f(2, 2)) -> f_flat(down(2), block(2)) 281.11/142.72 down(f(2, 2)) -> f_flat(block(2), down(2)) 281.11/142.72 down(f(y35, fresh_constant)) -> f_flat(down(y35), block(fresh_constant)) 281.11/142.72 down(f(y35, fresh_constant)) -> f_flat(block(y35), down(fresh_constant)) 281.11/142.72 f_flat(up(x_1), block(x_2)) -> up(f(x_1, x_2)) 281.11/142.72 f_flat(block(x_1), up(x_2)) -> up(f(x_1, x_2)) 281.11/142.72 281.11/142.72 Q is empty. 281.11/142.72 We have to consider all minimal (P,Q,R)-chains. 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (80) SemLabProof (SOUND) 281.11/142.72 We found the following model for the rules of the TRSs R and P. 281.11/142.72 Interpretation over the domain with elements from 0 to 1. 281.11/142.72 block: 0 281.11/142.72 down: 0 281.11/142.72 f: 0 281.11/142.72 0: 0 281.11/142.72 fresh_constant: 1 281.11/142.72 up: 0 281.11/142.72 1: 0 281.11/142.72 2: 0 281.11/142.72 f_flat: 0 281.11/142.72 TOP: 0 281.11/142.72 By semantic labelling [SEMLAB] we obtain the following labelled QDP problem. 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (81) 281.11/142.72 Obligation: 281.11/142.72 Q DP problem: 281.11/142.72 The TRS P consists of the following rules: 281.11/142.72 281.11/142.72 TOP.0(up.0(f.0-0(2., 2.))) -> TOP.0(f_flat.0-0(down.0(2.), block.0(2.))) 281.11/142.72 TOP.0(up.0(f.0-0(0., 1.))) -> TOP.0(up.0(f.0-0(2., 2.))) 281.11/142.72 TOP.0(up.0(f.0-0(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-0(x0, x1)), block.0(x2))) 281.11/142.72 TOP.0(up.0(f.0-1(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-0(x0, x1)), block.1(x2))) 281.11/142.72 TOP.0(up.0(f.0-0(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-1(x0, x1)), block.0(x2))) 281.11/142.72 TOP.0(up.0(f.0-1(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-1(x0, x1)), block.1(x2))) 281.11/142.72 TOP.0(up.0(f.0-0(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-0(x0, x1)), block.0(x2))) 281.11/142.72 TOP.0(up.0(f.0-1(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-0(x0, x1)), block.1(x2))) 281.11/142.72 TOP.0(up.0(f.0-0(f.1-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-1(x0, x1)), block.0(x2))) 281.11/142.72 TOP.0(up.0(f.0-1(f.1-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-1(x0, x1)), block.1(x2))) 281.11/142.72 TOP.0(up.0(f.0-0(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.0-0(x0, x1)), down.0(x2))) 281.11/142.72 TOP.0(up.0(f.0-1(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.0-0(x0, x1)), down.1(x2))) 281.11/142.72 TOP.0(up.0(f.0-0(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.0-1(x0, x1)), down.0(x2))) 281.11/142.72 TOP.0(up.0(f.0-1(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.0-1(x0, x1)), down.1(x2))) 281.11/142.72 TOP.0(up.0(f.0-0(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.1-0(x0, x1)), down.0(x2))) 281.11/142.72 TOP.0(up.0(f.0-1(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.1-0(x0, x1)), down.1(x2))) 281.11/142.72 TOP.0(up.0(f.0-0(f.1-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.1-1(x0, x1)), down.0(x2))) 281.11/142.72 TOP.0(up.0(f.0-1(f.1-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.1-1(x0, x1)), down.1(x2))) 281.11/142.72 TOP.0(up.0(f.0-0(1., x0))) -> TOP.0(f_flat.0-0(block.0(1.), down.0(x0))) 281.11/142.72 TOP.0(up.0(f.0-1(1., x0))) -> TOP.0(f_flat.0-0(block.0(1.), down.1(x0))) 281.11/142.72 TOP.0(up.0(f.1-0(fresh_constant., x0))) -> TOP.0(f_flat.0-0(block.1(fresh_constant.), down.0(x0))) 281.11/142.72 TOP.0(up.0(f.1-1(fresh_constant., x0))) -> TOP.0(f_flat.0-0(block.1(fresh_constant.), down.1(x0))) 281.11/142.72 TOP.0(up.0(f.0-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(x1, x2)))) 281.11/142.72 TOP.0(up.0(f.0-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(x1, x2)))) 281.11/142.72 TOP.0(up.0(f.0-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-0(x1, x2)))) 281.11/142.72 TOP.0(up.0(f.0-0(x0, f.1-1(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-1(x1, x2)))) 281.11/142.72 TOP.0(up.0(f.1-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(down.1(x0), block.0(f.0-0(x1, x2)))) 281.11/142.72 TOP.0(up.0(f.1-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(down.1(x0), block.0(f.0-1(x1, x2)))) 281.11/142.72 TOP.0(up.0(f.1-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(down.1(x0), block.0(f.1-0(x1, x2)))) 281.11/142.72 TOP.0(up.0(f.1-0(x0, f.1-1(x1, x2)))) -> TOP.0(f_flat.0-0(down.1(x0), block.0(f.1-1(x1, x2)))) 281.11/142.72 TOP.0(up.0(f.0-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(x1, x2)))) 281.11/142.72 TOP.0(up.0(f.0-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(x1, x2)))) 281.11/142.72 TOP.0(up.0(f.0-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.1-0(x1, x2)))) 281.11/142.72 TOP.0(up.0(f.0-0(x0, f.1-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.1-1(x1, x2)))) 281.11/142.72 TOP.0(up.0(f.1-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(x1, x2)))) 281.11/142.72 TOP.0(up.0(f.1-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(x1, x2)))) 281.11/142.72 TOP.0(up.0(f.1-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.1-0(x1, x2)))) 281.11/142.72 TOP.0(up.0(f.1-0(x0, f.1-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.1-1(x1, x2)))) 281.11/142.72 TOP.0(up.0(f.0-0(x0, 0.))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(0.))) 281.11/142.72 TOP.0(up.0(f.1-0(x0, 0.))) -> TOP.0(f_flat.0-0(down.1(x0), block.0(0.))) 281.11/142.72 TOP.0(up.0(f.0-0(2., 2.))) -> TOP.0(f_flat.0-0(block.0(2.), down.0(2.))) 281.11/142.72 TOP.0(up.0(f.0-1(x0, fresh_constant.))) -> TOP.0(f_flat.0-0(down.0(x0), block.1(fresh_constant.))) 281.11/142.72 TOP.0(up.0(f.1-1(x0, fresh_constant.))) -> TOP.0(f_flat.0-0(down.1(x0), block.1(fresh_constant.))) 281.11/142.72 281.11/142.72 The TRS R consists of the following rules: 281.11/142.72 281.11/142.72 down.0(f.0-0(0., 1.)) -> up.0(f.0-0(2., 2.)) 281.11/142.72 down.0(2.) -> up.0(0.) 281.11/142.72 down.0(2.) -> up.0(1.) 281.11/142.72 down.0(f.0-0(f.0-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-0(y4, y5)), block.0(y6)) 281.11/142.72 down.0(f.0-1(f.0-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-0(y4, y5)), block.1(y6)) 281.11/142.72 down.0(f.0-0(f.0-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-1(y4, y5)), block.0(y6)) 281.11/142.72 down.0(f.0-1(f.0-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-1(y4, y5)), block.1(y6)) 281.11/142.72 down.0(f.0-0(f.1-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-0(y4, y5)), block.0(y6)) 281.11/142.72 down.0(f.0-1(f.1-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-0(y4, y5)), block.1(y6)) 281.11/142.72 down.0(f.0-0(f.1-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-1(y4, y5)), block.0(y6)) 281.11/142.72 down.0(f.0-1(f.1-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-1(y4, y5)), block.1(y6)) 281.11/142.72 down.0(f.0-0(f.0-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-0(y4, y5)), down.0(y6)) 281.11/142.72 down.0(f.0-1(f.0-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-0(y4, y5)), down.1(y6)) 281.11/142.72 down.0(f.0-0(f.0-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-1(y4, y5)), down.0(y6)) 281.11/142.72 down.0(f.0-1(f.0-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-1(y4, y5)), down.1(y6)) 281.11/142.72 down.0(f.0-0(f.1-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-0(y4, y5)), down.0(y6)) 281.11/142.72 down.0(f.0-1(f.1-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-0(y4, y5)), down.1(y6)) 281.11/142.72 down.0(f.0-0(f.1-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-1(y4, y5)), down.0(y6)) 281.11/142.72 down.0(f.0-1(f.1-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-1(y4, y5)), down.1(y6)) 281.11/142.72 down.0(f.0-0(1., y8)) -> f_flat.0-0(down.0(1.), block.0(y8)) 281.11/142.72 down.0(f.0-1(1., y8)) -> f_flat.0-0(down.0(1.), block.1(y8)) 281.11/142.72 down.0(f.0-0(1., y8)) -> f_flat.0-0(block.0(1.), down.0(y8)) 281.11/142.72 down.0(f.0-1(1., y8)) -> f_flat.0-0(block.0(1.), down.1(y8)) 281.11/142.72 down.0(f.1-0(fresh_constant., y10)) -> f_flat.0-0(down.1(fresh_constant.), block.0(y10)) 281.11/142.72 down.0(f.1-1(fresh_constant., y10)) -> f_flat.0-0(down.1(fresh_constant.), block.1(y10)) 281.11/142.72 down.0(f.1-0(fresh_constant., y10)) -> f_flat.0-0(block.1(fresh_constant.), down.0(y10)) 281.11/142.72 down.0(f.1-1(fresh_constant., y10)) -> f_flat.0-0(block.1(fresh_constant.), down.1(y10)) 281.11/142.72 down.0(f.0-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.0-0(y12, y13))) 281.11/142.72 down.0(f.0-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.0-1(y12, y13))) 281.11/142.72 down.0(f.0-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.1-0(y12, y13))) 281.11/142.72 down.0(f.0-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.1-1(y12, y13))) 281.11/142.72 down.0(f.1-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(down.1(y11), block.0(f.0-0(y12, y13))) 281.11/142.72 down.0(f.1-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(down.1(y11), block.0(f.0-1(y12, y13))) 281.11/142.72 down.0(f.1-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(down.1(y11), block.0(f.1-0(y12, y13))) 281.11/142.72 down.0(f.1-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(down.1(y11), block.0(f.1-1(y12, y13))) 281.11/142.72 down.0(f.0-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.0-0(y12, y13))) 281.11/142.72 down.0(f.0-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.0-1(y12, y13))) 281.11/142.72 down.0(f.0-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.1-0(y12, y13))) 281.11/142.72 down.0(f.0-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.1-1(y12, y13))) 281.11/142.72 down.0(f.1-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.0-0(y12, y13))) 281.11/142.72 down.0(f.1-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.0-1(y12, y13))) 281.11/142.72 down.0(f.1-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.1-0(y12, y13))) 281.11/142.72 down.0(f.1-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.1-1(y12, y13))) 281.11/142.72 down.0(f.0-0(y26, 0.)) -> f_flat.0-0(down.0(y26), block.0(0.)) 281.11/142.72 down.0(f.1-0(y26, 0.)) -> f_flat.0-0(down.1(y26), block.0(0.)) 281.11/142.72 down.0(f.0-0(y26, 0.)) -> f_flat.0-0(block.0(y26), down.0(0.)) 281.11/142.72 down.0(f.1-0(y26, 0.)) -> f_flat.0-0(block.1(y26), down.0(0.)) 281.11/142.72 down.0(f.0-0(2., 2.)) -> f_flat.0-0(down.0(2.), block.0(2.)) 281.11/142.72 down.0(f.0-0(2., 2.)) -> f_flat.0-0(block.0(2.), down.0(2.)) 281.11/142.72 down.0(f.0-1(y35, fresh_constant.)) -> f_flat.0-0(down.0(y35), block.1(fresh_constant.)) 281.11/142.72 down.0(f.1-1(y35, fresh_constant.)) -> f_flat.0-0(down.1(y35), block.1(fresh_constant.)) 281.11/142.72 down.0(f.0-1(y35, fresh_constant.)) -> f_flat.0-0(block.0(y35), down.1(fresh_constant.)) 281.11/142.72 down.0(f.1-1(y35, fresh_constant.)) -> f_flat.0-0(block.1(y35), down.1(fresh_constant.)) 281.11/142.72 f_flat.0-0(up.0(x_1), block.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 281.11/142.72 f_flat.0-0(up.0(x_1), block.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 281.11/142.72 f_flat.0-0(up.1(x_1), block.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 281.11/142.72 f_flat.0-0(up.1(x_1), block.1(x_2)) -> up.0(f.1-1(x_1, x_2)) 281.11/142.72 f_flat.0-0(block.0(x_1), up.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 281.11/142.72 f_flat.0-0(block.0(x_1), up.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 281.11/142.72 f_flat.0-0(block.1(x_1), up.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 281.11/142.72 f_flat.0-0(block.1(x_1), up.1(x_2)) -> up.0(f.1-1(x_1, x_2)) 281.11/142.72 281.11/142.72 Q is empty. 281.11/142.72 We have to consider all minimal (P,Q,R)-chains. 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (82) DependencyGraphProof (EQUIVALENT) 281.11/142.72 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 12 less nodes. 281.11/142.72 ---------------------------------------- 281.11/142.72 281.11/142.72 (83) 281.11/142.72 Obligation: 281.11/142.72 Q DP problem: 281.11/142.72 The TRS P consists of the following rules: 281.11/142.72 281.11/142.72 TOP.0(up.0(f.0-0(0., 1.))) -> TOP.0(up.0(f.0-0(2., 2.))) 281.11/142.72 TOP.0(up.0(f.0-0(2., 2.))) -> TOP.0(f_flat.0-0(down.0(2.), block.0(2.))) 281.11/142.72 TOP.0(up.0(f.0-0(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-0(x0, x1)), block.0(x2))) 281.11/142.72 TOP.0(up.0(f.0-1(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-0(x0, x1)), block.1(x2))) 281.11/142.72 TOP.0(up.0(f.0-0(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-1(x0, x1)), block.0(x2))) 281.11/142.72 TOP.0(up.0(f.0-1(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-1(x0, x1)), block.1(x2))) 281.11/142.72 TOP.0(up.0(f.0-0(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-0(x0, x1)), block.0(x2))) 281.11/142.72 TOP.0(up.0(f.0-1(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-0(x0, x1)), block.1(x2))) 281.11/142.72 TOP.0(up.0(f.0-0(f.1-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-1(x0, x1)), block.0(x2))) 281.11/142.72 TOP.0(up.0(f.0-1(f.1-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-1(x0, x1)), block.1(x2))) 281.11/142.72 TOP.0(up.0(f.0-0(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.0-0(x0, x1)), down.0(x2))) 281.11/142.72 TOP.0(up.0(f.0-0(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.0-1(x0, x1)), down.0(x2))) 281.11/142.72 TOP.0(up.0(f.0-0(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.1-0(x0, x1)), down.0(x2))) 281.11/142.72 TOP.0(up.0(f.0-0(f.1-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.1-1(x0, x1)), down.0(x2))) 281.11/142.72 TOP.0(up.0(f.0-0(1., x0))) -> TOP.0(f_flat.0-0(block.0(1.), down.0(x0))) 281.11/142.72 TOP.0(up.0(f.1-0(fresh_constant., x0))) -> TOP.0(f_flat.0-0(block.1(fresh_constant.), down.0(x0))) 281.11/142.72 TOP.0(up.0(f.0-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(x1, x2)))) 281.11/142.72 TOP.0(up.0(f.0-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(x1, x2)))) 281.11/142.72 TOP.0(up.0(f.0-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-0(x1, x2)))) 281.11/142.72 TOP.0(up.0(f.0-0(x0, f.1-1(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-1(x1, x2)))) 281.11/142.72 TOP.0(up.0(f.0-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(x1, x2)))) 281.11/142.72 TOP.0(up.0(f.0-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(x1, x2)))) 281.11/142.72 TOP.0(up.0(f.0-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.1-0(x1, x2)))) 281.11/142.72 TOP.0(up.0(f.0-0(x0, f.1-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.1-1(x1, x2)))) 281.11/142.72 TOP.0(up.0(f.1-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(x1, x2)))) 281.11/142.72 TOP.0(up.0(f.1-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(x1, x2)))) 281.11/142.72 TOP.0(up.0(f.1-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.1-0(x1, x2)))) 281.11/142.72 TOP.0(up.0(f.1-0(x0, f.1-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.1-1(x1, x2)))) 281.11/142.72 TOP.0(up.0(f.0-0(x0, 0.))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(0.))) 281.11/142.72 TOP.0(up.0(f.0-0(2., 2.))) -> TOP.0(f_flat.0-0(block.0(2.), down.0(2.))) 281.11/142.72 TOP.0(up.0(f.0-1(x0, fresh_constant.))) -> TOP.0(f_flat.0-0(down.0(x0), block.1(fresh_constant.))) 281.11/142.72 281.11/142.72 The TRS R consists of the following rules: 281.11/142.72 281.11/142.72 down.0(f.0-0(0., 1.)) -> up.0(f.0-0(2., 2.)) 281.11/142.72 down.0(2.) -> up.0(0.) 281.11/142.72 down.0(2.) -> up.0(1.) 281.11/142.72 down.0(f.0-0(f.0-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-0(y4, y5)), block.0(y6)) 281.11/142.72 down.0(f.0-1(f.0-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-0(y4, y5)), block.1(y6)) 281.11/142.72 down.0(f.0-0(f.0-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-1(y4, y5)), block.0(y6)) 281.11/142.72 down.0(f.0-1(f.0-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-1(y4, y5)), block.1(y6)) 281.11/142.72 down.0(f.0-0(f.1-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-0(y4, y5)), block.0(y6)) 281.11/142.72 down.0(f.0-1(f.1-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-0(y4, y5)), block.1(y6)) 281.11/142.72 down.0(f.0-0(f.1-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-1(y4, y5)), block.0(y6)) 281.11/142.72 down.0(f.0-1(f.1-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-1(y4, y5)), block.1(y6)) 281.11/142.72 down.0(f.0-0(f.0-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-0(y4, y5)), down.0(y6)) 281.11/142.72 down.0(f.0-1(f.0-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-0(y4, y5)), down.1(y6)) 281.11/142.72 down.0(f.0-0(f.0-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-1(y4, y5)), down.0(y6)) 281.11/142.72 down.0(f.0-1(f.0-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-1(y4, y5)), down.1(y6)) 281.11/142.72 down.0(f.0-0(f.1-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-0(y4, y5)), down.0(y6)) 281.11/142.72 down.0(f.0-1(f.1-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-0(y4, y5)), down.1(y6)) 281.11/142.72 down.0(f.0-0(f.1-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-1(y4, y5)), down.0(y6)) 281.11/142.72 down.0(f.0-1(f.1-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-1(y4, y5)), down.1(y6)) 281.11/142.72 down.0(f.0-0(1., y8)) -> f_flat.0-0(down.0(1.), block.0(y8)) 281.11/142.72 down.0(f.0-1(1., y8)) -> f_flat.0-0(down.0(1.), block.1(y8)) 281.11/142.72 down.0(f.0-0(1., y8)) -> f_flat.0-0(block.0(1.), down.0(y8)) 281.11/142.72 down.0(f.0-1(1., y8)) -> f_flat.0-0(block.0(1.), down.1(y8)) 281.11/142.72 down.0(f.1-0(fresh_constant., y10)) -> f_flat.0-0(down.1(fresh_constant.), block.0(y10)) 281.11/142.72 down.0(f.1-1(fresh_constant., y10)) -> f_flat.0-0(down.1(fresh_constant.), block.1(y10)) 281.11/142.72 down.0(f.1-0(fresh_constant., y10)) -> f_flat.0-0(block.1(fresh_constant.), down.0(y10)) 281.11/142.72 down.0(f.1-1(fresh_constant., y10)) -> f_flat.0-0(block.1(fresh_constant.), down.1(y10)) 281.11/142.72 down.0(f.0-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.0-0(y12, y13))) 281.11/142.72 down.0(f.0-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.0-1(y12, y13))) 281.11/142.72 down.0(f.0-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.1-0(y12, y13))) 281.11/142.72 down.0(f.0-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.1-1(y12, y13))) 281.11/142.72 down.0(f.1-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(down.1(y11), block.0(f.0-0(y12, y13))) 281.11/142.72 down.0(f.1-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(down.1(y11), block.0(f.0-1(y12, y13))) 281.11/142.72 down.0(f.1-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(down.1(y11), block.0(f.1-0(y12, y13))) 281.11/142.72 down.0(f.1-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(down.1(y11), block.0(f.1-1(y12, y13))) 281.11/142.72 down.0(f.0-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.0-0(y12, y13))) 281.11/142.72 down.0(f.0-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.0-1(y12, y13))) 281.11/142.72 down.0(f.0-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.1-0(y12, y13))) 281.11/142.72 down.0(f.0-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y26, 0.)) -> f_flat.0-0(down.0(y26), block.0(0.)) 281.11/142.73 down.0(f.1-0(y26, 0.)) -> f_flat.0-0(down.1(y26), block.0(0.)) 281.11/142.73 down.0(f.0-0(y26, 0.)) -> f_flat.0-0(block.0(y26), down.0(0.)) 281.11/142.73 down.0(f.1-0(y26, 0.)) -> f_flat.0-0(block.1(y26), down.0(0.)) 281.11/142.73 down.0(f.0-0(2., 2.)) -> f_flat.0-0(down.0(2.), block.0(2.)) 281.11/142.73 down.0(f.0-0(2., 2.)) -> f_flat.0-0(block.0(2.), down.0(2.)) 281.11/142.73 down.0(f.0-1(y35, fresh_constant.)) -> f_flat.0-0(down.0(y35), block.1(fresh_constant.)) 281.11/142.73 down.0(f.1-1(y35, fresh_constant.)) -> f_flat.0-0(down.1(y35), block.1(fresh_constant.)) 281.11/142.73 down.0(f.0-1(y35, fresh_constant.)) -> f_flat.0-0(block.0(y35), down.1(fresh_constant.)) 281.11/142.73 down.0(f.1-1(y35, fresh_constant.)) -> f_flat.0-0(block.1(y35), down.1(fresh_constant.)) 281.11/142.73 f_flat.0-0(up.0(x_1), block.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 281.11/142.73 f_flat.0-0(up.0(x_1), block.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 281.11/142.73 f_flat.0-0(up.1(x_1), block.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 281.11/142.73 f_flat.0-0(up.1(x_1), block.1(x_2)) -> up.0(f.1-1(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.0(x_1), up.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.0(x_1), up.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.1(x_1), up.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.1(x_1), up.1(x_2)) -> up.0(f.1-1(x_1, x_2)) 281.11/142.73 281.11/142.73 Q is empty. 281.11/142.73 We have to consider all minimal (P,Q,R)-chains. 281.11/142.73 ---------------------------------------- 281.11/142.73 281.11/142.73 (84) UsableRulesReductionPairsProof (EQUIVALENT) 281.11/142.73 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. 281.11/142.73 281.11/142.73 No dependency pairs are removed. 281.11/142.73 281.11/142.73 The following rules are removed from R: 281.11/142.73 281.11/142.73 down.0(f.1-1(fresh_constant., y10)) -> f_flat.0-0(down.1(fresh_constant.), block.1(y10)) 281.11/142.73 down.0(f.1-1(fresh_constant., y10)) -> f_flat.0-0(block.1(fresh_constant.), down.1(y10)) 281.11/142.73 down.0(f.1-1(y35, fresh_constant.)) -> f_flat.0-0(down.1(y35), block.1(fresh_constant.)) 281.11/142.73 down.0(f.1-1(y35, fresh_constant.)) -> f_flat.0-0(block.1(y35), down.1(fresh_constant.)) 281.11/142.73 f_flat.0-0(up.1(x_1), block.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 281.11/142.73 f_flat.0-0(up.1(x_1), block.1(x_2)) -> up.0(f.1-1(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.0(x_1), up.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.1(x_1), up.1(x_2)) -> up.0(f.1-1(x_1, x_2)) 281.11/142.73 Used ordering: POLO with Polynomial interpretation [POLO]: 281.11/142.73 281.11/142.73 POL(0.) = 1 281.11/142.73 POL(1.) = 1 281.11/142.73 POL(2.) = 1 281.11/142.73 POL(TOP.0(x_1)) = x_1 281.11/142.73 POL(block.0(x_1)) = x_1 281.11/142.73 POL(block.1(x_1)) = x_1 281.11/142.73 POL(down.0(x_1)) = x_1 281.11/142.73 POL(down.1(x_1)) = x_1 281.11/142.73 POL(f.0-0(x_1, x_2)) = x_1 + x_2 281.11/142.73 POL(f.0-1(x_1, x_2)) = x_1 + x_2 281.11/142.73 POL(f.1-0(x_1, x_2)) = x_1 + x_2 281.11/142.73 POL(f.1-1(x_1, x_2)) = 1 + x_1 + x_2 281.11/142.73 POL(f_flat.0-0(x_1, x_2)) = x_1 + x_2 281.11/142.73 POL(fresh_constant.) = 0 281.11/142.73 POL(up.0(x_1)) = x_1 281.11/142.73 POL(up.1(x_1)) = 1 + x_1 281.11/142.73 281.11/142.73 281.11/142.73 ---------------------------------------- 281.11/142.73 281.11/142.73 (85) 281.11/142.73 Obligation: 281.11/142.73 Q DP problem: 281.11/142.73 The TRS P consists of the following rules: 281.11/142.73 281.11/142.73 TOP.0(up.0(f.0-0(0., 1.))) -> TOP.0(up.0(f.0-0(2., 2.))) 281.11/142.73 TOP.0(up.0(f.0-0(2., 2.))) -> TOP.0(f_flat.0-0(down.0(2.), block.0(2.))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-0(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-0(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-1(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-1(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-0(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-0(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-1(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.1-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-1(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.0-0(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.0-1(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.1-0(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.1-1(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(1., x0))) -> TOP.0(f_flat.0-0(block.0(1.), down.0(x0))) 281.11/142.73 TOP.0(up.0(f.1-0(fresh_constant., x0))) -> TOP.0(f_flat.0-0(block.1(fresh_constant.), down.0(x0))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-1(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.1-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.1-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.1-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.1-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.1-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, 0.))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(0.))) 281.11/142.73 TOP.0(up.0(f.0-0(2., 2.))) -> TOP.0(f_flat.0-0(block.0(2.), down.0(2.))) 281.11/142.73 TOP.0(up.0(f.0-1(x0, fresh_constant.))) -> TOP.0(f_flat.0-0(down.0(x0), block.1(fresh_constant.))) 281.11/142.73 281.11/142.73 The TRS R consists of the following rules: 281.11/142.73 281.11/142.73 down.0(f.0-0(0., 1.)) -> up.0(f.0-0(2., 2.)) 281.11/142.73 down.0(2.) -> up.0(0.) 281.11/142.73 down.0(2.) -> up.0(1.) 281.11/142.73 down.0(f.0-0(f.0-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-0(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.0-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-0(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.0-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-1(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.0-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-1(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.1-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-0(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.1-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-0(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.1-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-1(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.1-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-1(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.0-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-0(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-1(f.0-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-0(y4, y5)), down.1(y6)) 281.11/142.73 down.0(f.0-0(f.0-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-1(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-1(f.0-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-1(y4, y5)), down.1(y6)) 281.11/142.73 down.0(f.0-0(f.1-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-0(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-1(f.1-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-0(y4, y5)), down.1(y6)) 281.11/142.73 down.0(f.0-0(f.1-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-1(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-1(f.1-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-1(y4, y5)), down.1(y6)) 281.11/142.73 down.0(f.0-0(1., y8)) -> f_flat.0-0(down.0(1.), block.0(y8)) 281.11/142.73 down.0(f.0-1(1., y8)) -> f_flat.0-0(down.0(1.), block.1(y8)) 281.11/142.73 down.0(f.0-0(1., y8)) -> f_flat.0-0(block.0(1.), down.0(y8)) 281.11/142.73 down.0(f.0-1(1., y8)) -> f_flat.0-0(block.0(1.), down.1(y8)) 281.11/142.73 down.0(f.1-0(fresh_constant., y10)) -> f_flat.0-0(down.1(fresh_constant.), block.0(y10)) 281.11/142.73 down.0(f.1-0(fresh_constant., y10)) -> f_flat.0-0(block.1(fresh_constant.), down.0(y10)) 281.11/142.73 down.0(f.0-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(down.1(y11), block.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(down.1(y11), block.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(down.1(y11), block.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(down.1(y11), block.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y26, 0.)) -> f_flat.0-0(down.0(y26), block.0(0.)) 281.11/142.73 down.0(f.1-0(y26, 0.)) -> f_flat.0-0(down.1(y26), block.0(0.)) 281.11/142.73 down.0(f.0-0(y26, 0.)) -> f_flat.0-0(block.0(y26), down.0(0.)) 281.11/142.73 down.0(f.1-0(y26, 0.)) -> f_flat.0-0(block.1(y26), down.0(0.)) 281.11/142.73 down.0(f.0-0(2., 2.)) -> f_flat.0-0(down.0(2.), block.0(2.)) 281.11/142.73 down.0(f.0-0(2., 2.)) -> f_flat.0-0(block.0(2.), down.0(2.)) 281.11/142.73 down.0(f.0-1(y35, fresh_constant.)) -> f_flat.0-0(down.0(y35), block.1(fresh_constant.)) 281.11/142.73 down.0(f.0-1(y35, fresh_constant.)) -> f_flat.0-0(block.0(y35), down.1(fresh_constant.)) 281.11/142.73 f_flat.0-0(up.0(x_1), block.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.0(x_1), up.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 281.11/142.73 f_flat.0-0(up.0(x_1), block.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.1(x_1), up.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 281.11/142.73 281.11/142.73 Q is empty. 281.11/142.73 We have to consider all minimal (P,Q,R)-chains. 281.11/142.73 ---------------------------------------- 281.11/142.73 281.11/142.73 (86) DependencyGraphProof (EQUIVALENT) 281.11/142.73 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 4 less nodes. 281.11/142.73 ---------------------------------------- 281.11/142.73 281.11/142.73 (87) 281.11/142.73 Obligation: 281.11/142.73 Q DP problem: 281.11/142.73 The TRS P consists of the following rules: 281.11/142.73 281.11/142.73 TOP.0(up.0(f.0-0(2., 2.))) -> TOP.0(f_flat.0-0(down.0(2.), block.0(2.))) 281.11/142.73 TOP.0(up.0(f.0-0(0., 1.))) -> TOP.0(up.0(f.0-0(2., 2.))) 281.11/142.73 TOP.0(up.0(f.0-0(2., 2.))) -> TOP.0(f_flat.0-0(block.0(2.), down.0(2.))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-0(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-0(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-1(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-1(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-0(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-0(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.0-0(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.0-1(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.1-0(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.1-1(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(1., x0))) -> TOP.0(f_flat.0-0(block.0(1.), down.0(x0))) 281.11/142.73 TOP.0(up.0(f.1-0(fresh_constant., x0))) -> TOP.0(f_flat.0-0(block.1(fresh_constant.), down.0(x0))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-1(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.1-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.1-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, 0.))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(0.))) 281.11/142.73 TOP.0(up.0(f.0-1(x0, fresh_constant.))) -> TOP.0(f_flat.0-0(down.0(x0), block.1(fresh_constant.))) 281.11/142.73 281.11/142.73 The TRS R consists of the following rules: 281.11/142.73 281.11/142.73 down.0(f.0-0(0., 1.)) -> up.0(f.0-0(2., 2.)) 281.11/142.73 down.0(2.) -> up.0(0.) 281.11/142.73 down.0(2.) -> up.0(1.) 281.11/142.73 down.0(f.0-0(f.0-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-0(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.0-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-0(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.0-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-1(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.0-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-1(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.1-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-0(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.1-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-0(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.1-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-1(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.1-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-1(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.0-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-0(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-1(f.0-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-0(y4, y5)), down.1(y6)) 281.11/142.73 down.0(f.0-0(f.0-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-1(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-1(f.0-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-1(y4, y5)), down.1(y6)) 281.11/142.73 down.0(f.0-0(f.1-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-0(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-1(f.1-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-0(y4, y5)), down.1(y6)) 281.11/142.73 down.0(f.0-0(f.1-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-1(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-1(f.1-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-1(y4, y5)), down.1(y6)) 281.11/142.73 down.0(f.0-0(1., y8)) -> f_flat.0-0(down.0(1.), block.0(y8)) 281.11/142.73 down.0(f.0-1(1., y8)) -> f_flat.0-0(down.0(1.), block.1(y8)) 281.11/142.73 down.0(f.0-0(1., y8)) -> f_flat.0-0(block.0(1.), down.0(y8)) 281.11/142.73 down.0(f.0-1(1., y8)) -> f_flat.0-0(block.0(1.), down.1(y8)) 281.11/142.73 down.0(f.1-0(fresh_constant., y10)) -> f_flat.0-0(down.1(fresh_constant.), block.0(y10)) 281.11/142.73 down.0(f.1-0(fresh_constant., y10)) -> f_flat.0-0(block.1(fresh_constant.), down.0(y10)) 281.11/142.73 down.0(f.0-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(down.1(y11), block.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(down.1(y11), block.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(down.1(y11), block.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(down.1(y11), block.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y26, 0.)) -> f_flat.0-0(down.0(y26), block.0(0.)) 281.11/142.73 down.0(f.1-0(y26, 0.)) -> f_flat.0-0(down.1(y26), block.0(0.)) 281.11/142.73 down.0(f.0-0(y26, 0.)) -> f_flat.0-0(block.0(y26), down.0(0.)) 281.11/142.73 down.0(f.1-0(y26, 0.)) -> f_flat.0-0(block.1(y26), down.0(0.)) 281.11/142.73 down.0(f.0-0(2., 2.)) -> f_flat.0-0(down.0(2.), block.0(2.)) 281.11/142.73 down.0(f.0-0(2., 2.)) -> f_flat.0-0(block.0(2.), down.0(2.)) 281.11/142.73 down.0(f.0-1(y35, fresh_constant.)) -> f_flat.0-0(down.0(y35), block.1(fresh_constant.)) 281.11/142.73 down.0(f.0-1(y35, fresh_constant.)) -> f_flat.0-0(block.0(y35), down.1(fresh_constant.)) 281.11/142.73 f_flat.0-0(up.0(x_1), block.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.0(x_1), up.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 281.11/142.73 f_flat.0-0(up.0(x_1), block.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.1(x_1), up.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 281.11/142.73 281.11/142.73 Q is empty. 281.11/142.73 We have to consider all minimal (P,Q,R)-chains. 281.11/142.73 ---------------------------------------- 281.11/142.73 281.11/142.73 (88) MRRProof (EQUIVALENT) 281.11/142.73 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. 281.11/142.73 281.11/142.73 281.11/142.73 Strictly oriented rules of the TRS R: 281.11/142.73 281.11/142.73 down.0(f.0-1(f.0-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-0(y4, y5)), down.1(y6)) 281.11/142.73 down.0(f.0-1(f.0-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-1(y4, y5)), down.1(y6)) 281.11/142.73 down.0(f.0-1(f.1-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-0(y4, y5)), down.1(y6)) 281.11/142.73 down.0(f.0-1(f.1-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-1(y4, y5)), down.1(y6)) 281.11/142.73 down.0(f.0-1(1., y8)) -> f_flat.0-0(block.0(1.), down.1(y8)) 281.11/142.73 down.0(f.1-0(fresh_constant., y10)) -> f_flat.0-0(down.1(fresh_constant.), block.0(y10)) 281.11/142.73 down.0(f.1-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(down.1(y11), block.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(down.1(y11), block.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(down.1(y11), block.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(down.1(y11), block.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.1-0(y26, 0.)) -> f_flat.0-0(down.1(y26), block.0(0.)) 281.11/142.73 down.0(f.0-1(y35, fresh_constant.)) -> f_flat.0-0(block.0(y35), down.1(fresh_constant.)) 281.11/142.73 281.11/142.73 Used ordering: Polynomial interpretation [POLO]: 281.11/142.73 281.11/142.73 POL(0.) = 0 281.11/142.73 POL(1.) = 0 281.11/142.73 POL(2.) = 0 281.11/142.73 POL(TOP.0(x_1)) = x_1 281.11/142.73 POL(block.0(x_1)) = x_1 281.11/142.73 POL(block.1(x_1)) = 1 + x_1 281.11/142.73 POL(down.0(x_1)) = x_1 281.11/142.73 POL(down.1(x_1)) = x_1 281.11/142.73 POL(f.0-0(x_1, x_2)) = x_1 + x_2 281.11/142.73 POL(f.0-1(x_1, x_2)) = 1 + x_1 + x_2 281.11/142.73 POL(f.1-0(x_1, x_2)) = 1 + x_1 + x_2 281.11/142.73 POL(f.1-1(x_1, x_2)) = x_1 + x_2 281.11/142.73 POL(f_flat.0-0(x_1, x_2)) = x_1 + x_2 281.11/142.73 POL(fresh_constant.) = 0 281.11/142.73 POL(up.0(x_1)) = x_1 281.11/142.73 281.11/142.73 281.11/142.73 ---------------------------------------- 281.11/142.73 281.11/142.73 (89) 281.11/142.73 Obligation: 281.11/142.73 Q DP problem: 281.11/142.73 The TRS P consists of the following rules: 281.11/142.73 281.11/142.73 TOP.0(up.0(f.0-0(2., 2.))) -> TOP.0(f_flat.0-0(down.0(2.), block.0(2.))) 281.11/142.73 TOP.0(up.0(f.0-0(0., 1.))) -> TOP.0(up.0(f.0-0(2., 2.))) 281.11/142.73 TOP.0(up.0(f.0-0(2., 2.))) -> TOP.0(f_flat.0-0(block.0(2.), down.0(2.))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-0(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-0(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-1(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-1(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-0(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-0(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.0-0(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.0-1(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.1-0(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.1-1(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(1., x0))) -> TOP.0(f_flat.0-0(block.0(1.), down.0(x0))) 281.11/142.73 TOP.0(up.0(f.1-0(fresh_constant., x0))) -> TOP.0(f_flat.0-0(block.1(fresh_constant.), down.0(x0))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-1(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.1-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.1-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, 0.))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(0.))) 281.11/142.73 TOP.0(up.0(f.0-1(x0, fresh_constant.))) -> TOP.0(f_flat.0-0(down.0(x0), block.1(fresh_constant.))) 281.11/142.73 281.11/142.73 The TRS R consists of the following rules: 281.11/142.73 281.11/142.73 down.0(f.0-0(0., 1.)) -> up.0(f.0-0(2., 2.)) 281.11/142.73 down.0(2.) -> up.0(0.) 281.11/142.73 down.0(2.) -> up.0(1.) 281.11/142.73 down.0(f.0-0(f.0-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-0(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.0-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-0(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.0-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-1(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.0-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-1(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.1-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-0(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.1-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-0(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.1-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-1(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.1-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-1(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.0-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-0(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-0(f.0-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-1(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-0(f.1-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-0(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-0(f.1-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-1(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-0(1., y8)) -> f_flat.0-0(down.0(1.), block.0(y8)) 281.11/142.73 down.0(f.0-1(1., y8)) -> f_flat.0-0(down.0(1.), block.1(y8)) 281.11/142.73 down.0(f.0-0(1., y8)) -> f_flat.0-0(block.0(1.), down.0(y8)) 281.11/142.73 down.0(f.1-0(fresh_constant., y10)) -> f_flat.0-0(block.1(fresh_constant.), down.0(y10)) 281.11/142.73 down.0(f.0-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y26, 0.)) -> f_flat.0-0(down.0(y26), block.0(0.)) 281.11/142.73 down.0(f.0-0(y26, 0.)) -> f_flat.0-0(block.0(y26), down.0(0.)) 281.11/142.73 down.0(f.1-0(y26, 0.)) -> f_flat.0-0(block.1(y26), down.0(0.)) 281.11/142.73 down.0(f.0-0(2., 2.)) -> f_flat.0-0(down.0(2.), block.0(2.)) 281.11/142.73 down.0(f.0-0(2., 2.)) -> f_flat.0-0(block.0(2.), down.0(2.)) 281.11/142.73 down.0(f.0-1(y35, fresh_constant.)) -> f_flat.0-0(down.0(y35), block.1(fresh_constant.)) 281.11/142.73 f_flat.0-0(up.0(x_1), block.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.0(x_1), up.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 281.11/142.73 f_flat.0-0(up.0(x_1), block.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.1(x_1), up.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 281.11/142.73 281.11/142.73 Q is empty. 281.11/142.73 We have to consider all minimal (P,Q,R)-chains. 281.11/142.73 ---------------------------------------- 281.11/142.73 281.11/142.73 (90) PisEmptyProof (SOUND) 281.11/142.73 The TRS P is empty. Hence, there is no (P,Q,R) chain. 281.11/142.73 ---------------------------------------- 281.11/142.73 281.11/142.73 (91) 281.11/142.73 TRUE 281.11/142.73 281.11/142.73 ---------------------------------------- 281.11/142.73 281.11/142.73 (92) 281.11/142.73 Obligation: 281.11/142.73 Q DP problem: 281.11/142.73 The TRS P consists of the following rules: 281.11/142.73 281.11/142.73 TOP(up(f(2, 2))) -> TOP(f_flat(down(2), block(2))) 281.11/142.73 TOP(up(f(0, 1))) -> TOP(up(f(2, 2))) 281.11/142.73 TOP(up(f(2, 2))) -> TOP(f_flat(block(2), down(2))) 281.11/142.73 TOP(up(f(f(x0, x1), x2))) -> TOP(f_flat(down(f(x0, x1)), block(x2))) 281.11/142.73 TOP(up(f(f(x0, x1), x2))) -> TOP(f_flat(block(f(x0, x1)), down(x2))) 281.11/142.73 TOP(up(f(1, x0))) -> TOP(f_flat(block(1), down(x0))) 281.11/142.73 TOP(up(f(fresh_constant, x0))) -> TOP(f_flat(block(fresh_constant), down(x0))) 281.11/142.73 TOP(up(f(x0, f(x1, x2)))) -> TOP(f_flat(down(x0), block(f(x1, x2)))) 281.11/142.73 TOP(up(f(x0, f(x1, x2)))) -> TOP(f_flat(block(x0), down(f(x1, x2)))) 281.11/142.73 TOP(up(f(x0, 0))) -> TOP(f_flat(down(x0), block(0))) 281.11/142.73 TOP(up(f(x0, fresh_constant))) -> TOP(f_flat(down(x0), block(fresh_constant))) 281.11/142.73 281.11/142.73 The TRS R consists of the following rules: 281.11/142.73 281.11/142.73 down(f(0, 1)) -> up(f(2, 2)) 281.11/142.73 down(2) -> up(0) 281.11/142.73 down(2) -> up(1) 281.11/142.73 down(f(f(y4, y5), y6)) -> f_flat(down(f(y4, y5)), block(y6)) 281.11/142.73 down(f(f(y4, y5), y6)) -> f_flat(block(f(y4, y5)), down(y6)) 281.11/142.73 down(f(1, y8)) -> f_flat(down(1), block(y8)) 281.11/142.73 down(f(1, y8)) -> f_flat(block(1), down(y8)) 281.11/142.73 down(f(fresh_constant, y10)) -> f_flat(block(fresh_constant), down(y10)) 281.11/142.73 down(f(y11, f(y12, y13))) -> f_flat(down(y11), block(f(y12, y13))) 281.11/142.73 down(f(y11, f(y12, y13))) -> f_flat(block(y11), down(f(y12, y13))) 281.11/142.73 down(f(y26, 0)) -> f_flat(down(y26), block(0)) 281.11/142.73 down(f(y26, 0)) -> f_flat(block(y26), down(0)) 281.11/142.73 down(f(2, 2)) -> f_flat(down(2), block(2)) 281.11/142.73 down(f(2, 2)) -> f_flat(block(2), down(2)) 281.11/142.73 down(f(y35, fresh_constant)) -> f_flat(down(y35), block(fresh_constant)) 281.11/142.73 f_flat(up(x_1), block(x_2)) -> up(f(x_1, x_2)) 281.11/142.73 f_flat(block(x_1), up(x_2)) -> up(f(x_1, x_2)) 281.11/142.73 281.11/142.73 Q is empty. 281.11/142.73 We have to consider all minimal (P,Q,R)-chains. 281.11/142.73 ---------------------------------------- 281.11/142.73 281.11/142.73 (93) SplitQDPProof (EQUIVALENT) 281.11/142.73 We show in the first subproof that some pairs and rules can be removed, afterwards, we continue with the remaining DP-Problem 281.11/142.73 281.11/142.73 ---------------------------------------- 281.11/142.73 281.11/142.73 (94) 281.11/142.73 Complex Obligation (AND) 281.11/142.73 281.11/142.73 ---------------------------------------- 281.11/142.73 281.11/142.73 (95) 281.11/142.73 Obligation: 281.11/142.73 Q DP problem: 281.11/142.73 The TRS P consists of the following rules: 281.11/142.73 281.11/142.73 TOP(up(f(2, 2))) -> TOP(f_flat(down(2), block(2))) 281.11/142.73 TOP(up(f(0, 1))) -> TOP(up(f(2, 2))) 281.11/142.73 TOP(up(f(2, 2))) -> TOP(f_flat(block(2), down(2))) 281.11/142.73 TOP(up(f(f(x0, x1), x2))) -> TOP(f_flat(down(f(x0, x1)), block(x2))) 281.11/142.73 TOP(up(f(f(x0, x1), x2))) -> TOP(f_flat(block(f(x0, x1)), down(x2))) 281.11/142.73 TOP(up(f(1, x0))) -> TOP(f_flat(block(1), down(x0))) 281.11/142.73 TOP(up(f(fresh_constant, x0))) -> TOP(f_flat(block(fresh_constant), down(x0))) 281.11/142.73 TOP(up(f(x0, f(x1, x2)))) -> TOP(f_flat(down(x0), block(f(x1, x2)))) 281.11/142.73 TOP(up(f(x0, f(x1, x2)))) -> TOP(f_flat(block(x0), down(f(x1, x2)))) 281.11/142.73 TOP(up(f(x0, 0))) -> TOP(f_flat(down(x0), block(0))) 281.11/142.73 TOP(up(f(x0, fresh_constant))) -> TOP(f_flat(down(x0), block(fresh_constant))) 281.11/142.73 281.11/142.73 The TRS R consists of the following rules: 281.11/142.73 281.11/142.73 down(f(0, 1)) -> up(f(2, 2)) 281.11/142.73 down(2) -> up(0) 281.11/142.73 down(2) -> up(1) 281.11/142.73 down(f(f(y4, y5), y6)) -> f_flat(down(f(y4, y5)), block(y6)) 281.11/142.73 down(f(f(y4, y5), y6)) -> f_flat(block(f(y4, y5)), down(y6)) 281.11/142.73 down(f(1, y8)) -> f_flat(down(1), block(y8)) 281.11/142.73 down(f(1, y8)) -> f_flat(block(1), down(y8)) 281.11/142.73 down(f(fresh_constant, y10)) -> f_flat(block(fresh_constant), down(y10)) 281.11/142.73 down(f(y11, f(y12, y13))) -> f_flat(down(y11), block(f(y12, y13))) 281.11/142.73 down(f(y11, f(y12, y13))) -> f_flat(block(y11), down(f(y12, y13))) 281.11/142.73 down(f(y26, 0)) -> f_flat(down(y26), block(0)) 281.11/142.73 down(f(y26, 0)) -> f_flat(block(y26), down(0)) 281.11/142.73 down(f(2, 2)) -> f_flat(down(2), block(2)) 281.11/142.73 down(f(2, 2)) -> f_flat(block(2), down(2)) 281.11/142.73 down(f(y35, fresh_constant)) -> f_flat(down(y35), block(fresh_constant)) 281.11/142.73 f_flat(up(x_1), block(x_2)) -> up(f(x_1, x_2)) 281.11/142.73 f_flat(block(x_1), up(x_2)) -> up(f(x_1, x_2)) 281.11/142.73 281.11/142.73 Q is empty. 281.11/142.73 We have to consider all minimal (P,Q,R)-chains. 281.11/142.73 ---------------------------------------- 281.11/142.73 281.11/142.73 (96) SemLabProof (SOUND) 281.11/142.73 We found the following model for the rules of the TRSs R and P. 281.11/142.73 Interpretation over the domain with elements from 0 to 1. 281.11/142.73 block: 0 281.11/142.73 down: 0 281.11/142.73 f: 0 281.11/142.73 0: 0 281.11/142.73 fresh_constant: 0 281.11/142.73 up: 0 281.11/142.73 1: 1 281.11/142.73 2: 0 281.11/142.73 f_flat: 0 281.11/142.73 TOP: 0 281.11/142.73 By semantic labelling [SEMLAB] we obtain the following labelled QDP problem. 281.11/142.73 ---------------------------------------- 281.11/142.73 281.11/142.73 (97) 281.11/142.73 Obligation: 281.11/142.73 Q DP problem: 281.11/142.73 The TRS P consists of the following rules: 281.11/142.73 281.11/142.73 TOP.0(up.0(f.0-0(2., 2.))) -> TOP.0(f_flat.0-0(down.0(2.), block.0(2.))) 281.11/142.73 TOP.0(up.0(f.0-1(0., 1.))) -> TOP.0(up.0(f.0-0(2., 2.))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-0(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-0(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-1(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-1(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-0(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-0(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-1(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.1-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-1(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.0-0(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.0-0(x0, x1)), down.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.0-1(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.0-1(x0, x1)), down.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.1-0(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.1-0(x0, x1)), down.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.1-1(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.1-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.1-1(x0, x1)), down.1(x2))) 281.11/142.73 TOP.0(up.0(f.1-0(1., x0))) -> TOP.0(f_flat.0-0(block.1(1.), down.0(x0))) 281.11/142.73 TOP.0(up.0(f.1-1(1., x0))) -> TOP.0(f_flat.0-0(block.1(1.), down.1(x0))) 281.11/142.73 TOP.0(up.0(f.0-0(fresh_constant., x0))) -> TOP.0(f_flat.0-0(block.0(fresh_constant.), down.0(x0))) 281.11/142.73 TOP.0(up.0(f.0-1(fresh_constant., x0))) -> TOP.0(f_flat.0-0(block.0(fresh_constant.), down.1(x0))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-1(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(down.1(x0), block.0(f.0-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(down.1(x0), block.0(f.0-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(down.1(x0), block.0(f.1-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.1-1(x1, x2)))) -> TOP.0(f_flat.0-0(down.1(x0), block.0(f.1-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.1-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.1-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.1-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.1-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.1-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, 0.))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(0.))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, 0.))) -> TOP.0(f_flat.0-0(down.1(x0), block.0(0.))) 281.11/142.73 TOP.0(up.0(f.0-0(2., 2.))) -> TOP.0(f_flat.0-0(block.0(2.), down.0(2.))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, fresh_constant.))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(fresh_constant.))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, fresh_constant.))) -> TOP.0(f_flat.0-0(down.1(x0), block.0(fresh_constant.))) 281.11/142.73 281.11/142.73 The TRS R consists of the following rules: 281.11/142.73 281.11/142.73 down.0(f.0-1(0., 1.)) -> up.0(f.0-0(2., 2.)) 281.11/142.73 down.0(2.) -> up.0(0.) 281.11/142.73 down.0(2.) -> up.1(1.) 281.11/142.73 down.0(f.0-0(f.0-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-0(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.0-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-0(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.0-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-1(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.0-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-1(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.1-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-0(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.1-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-0(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.1-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-1(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.1-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-1(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.0-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-0(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-1(f.0-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-0(y4, y5)), down.1(y6)) 281.11/142.73 down.0(f.0-0(f.0-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-1(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-1(f.0-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-1(y4, y5)), down.1(y6)) 281.11/142.73 down.0(f.0-0(f.1-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-0(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-1(f.1-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-0(y4, y5)), down.1(y6)) 281.11/142.73 down.0(f.0-0(f.1-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-1(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-1(f.1-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-1(y4, y5)), down.1(y6)) 281.11/142.73 down.0(f.1-0(1., y8)) -> f_flat.0-0(down.1(1.), block.0(y8)) 281.11/142.73 down.0(f.1-1(1., y8)) -> f_flat.0-0(down.1(1.), block.1(y8)) 281.11/142.73 down.0(f.1-0(1., y8)) -> f_flat.0-0(block.1(1.), down.0(y8)) 281.11/142.73 down.0(f.1-1(1., y8)) -> f_flat.0-0(block.1(1.), down.1(y8)) 281.11/142.73 down.0(f.0-0(fresh_constant., y10)) -> f_flat.0-0(block.0(fresh_constant.), down.0(y10)) 281.11/142.73 down.0(f.0-1(fresh_constant., y10)) -> f_flat.0-0(block.0(fresh_constant.), down.1(y10)) 281.11/142.73 down.0(f.0-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(down.1(y11), block.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(down.1(y11), block.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(down.1(y11), block.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(down.1(y11), block.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y26, 0.)) -> f_flat.0-0(down.0(y26), block.0(0.)) 281.11/142.73 down.0(f.1-0(y26, 0.)) -> f_flat.0-0(down.1(y26), block.0(0.)) 281.11/142.73 down.0(f.0-0(y26, 0.)) -> f_flat.0-0(block.0(y26), down.0(0.)) 281.11/142.73 down.0(f.1-0(y26, 0.)) -> f_flat.0-0(block.1(y26), down.0(0.)) 281.11/142.73 down.0(f.0-0(2., 2.)) -> f_flat.0-0(down.0(2.), block.0(2.)) 281.11/142.73 down.0(f.0-0(2., 2.)) -> f_flat.0-0(block.0(2.), down.0(2.)) 281.11/142.73 down.0(f.0-0(y35, fresh_constant.)) -> f_flat.0-0(down.0(y35), block.0(fresh_constant.)) 281.11/142.73 down.0(f.1-0(y35, fresh_constant.)) -> f_flat.0-0(down.1(y35), block.0(fresh_constant.)) 281.11/142.73 f_flat.0-0(up.0(x_1), block.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 281.11/142.73 f_flat.0-0(up.0(x_1), block.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 281.11/142.73 f_flat.0-0(up.1(x_1), block.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 281.11/142.73 f_flat.0-0(up.1(x_1), block.1(x_2)) -> up.0(f.1-1(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.0(x_1), up.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.0(x_1), up.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.1(x_1), up.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.1(x_1), up.1(x_2)) -> up.0(f.1-1(x_1, x_2)) 281.11/142.73 281.11/142.73 Q is empty. 281.11/142.73 We have to consider all minimal (P,Q,R)-chains. 281.11/142.73 ---------------------------------------- 281.11/142.73 281.11/142.73 (98) DependencyGraphProof (EQUIVALENT) 281.11/142.73 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 12 less nodes. 281.11/142.73 ---------------------------------------- 281.11/142.73 281.11/142.73 (99) 281.11/142.73 Obligation: 281.11/142.73 Q DP problem: 281.11/142.73 The TRS P consists of the following rules: 281.11/142.73 281.11/142.73 TOP.0(up.0(f.0-1(0., 1.))) -> TOP.0(up.0(f.0-0(2., 2.))) 281.11/142.73 TOP.0(up.0(f.0-0(2., 2.))) -> TOP.0(f_flat.0-0(down.0(2.), block.0(2.))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-0(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-0(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-1(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-1(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-0(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-0(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-1(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.1-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-1(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.0-0(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.0-1(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.1-0(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.1-1(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.1-0(1., x0))) -> TOP.0(f_flat.0-0(block.1(1.), down.0(x0))) 281.11/142.73 TOP.0(up.0(f.0-0(fresh_constant., x0))) -> TOP.0(f_flat.0-0(block.0(fresh_constant.), down.0(x0))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-1(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.1-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.1-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.1-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.1-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.1-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, 0.))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(0.))) 281.11/142.73 TOP.0(up.0(f.0-0(2., 2.))) -> TOP.0(f_flat.0-0(block.0(2.), down.0(2.))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, fresh_constant.))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(fresh_constant.))) 281.11/142.73 281.11/142.73 The TRS R consists of the following rules: 281.11/142.73 281.11/142.73 down.0(f.0-1(0., 1.)) -> up.0(f.0-0(2., 2.)) 281.11/142.73 down.0(2.) -> up.0(0.) 281.11/142.73 down.0(2.) -> up.1(1.) 281.11/142.73 down.0(f.0-0(f.0-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-0(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.0-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-0(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.0-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-1(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.0-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-1(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.1-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-0(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.1-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-0(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.1-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-1(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.1-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-1(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.0-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-0(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-1(f.0-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-0(y4, y5)), down.1(y6)) 281.11/142.73 down.0(f.0-0(f.0-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-1(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-1(f.0-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-1(y4, y5)), down.1(y6)) 281.11/142.73 down.0(f.0-0(f.1-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-0(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-1(f.1-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-0(y4, y5)), down.1(y6)) 281.11/142.73 down.0(f.0-0(f.1-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-1(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-1(f.1-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-1(y4, y5)), down.1(y6)) 281.11/142.73 down.0(f.1-0(1., y8)) -> f_flat.0-0(down.1(1.), block.0(y8)) 281.11/142.73 down.0(f.1-1(1., y8)) -> f_flat.0-0(down.1(1.), block.1(y8)) 281.11/142.73 down.0(f.1-0(1., y8)) -> f_flat.0-0(block.1(1.), down.0(y8)) 281.11/142.73 down.0(f.1-1(1., y8)) -> f_flat.0-0(block.1(1.), down.1(y8)) 281.11/142.73 down.0(f.0-0(fresh_constant., y10)) -> f_flat.0-0(block.0(fresh_constant.), down.0(y10)) 281.11/142.73 down.0(f.0-1(fresh_constant., y10)) -> f_flat.0-0(block.0(fresh_constant.), down.1(y10)) 281.11/142.73 down.0(f.0-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(down.1(y11), block.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(down.1(y11), block.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(down.1(y11), block.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(down.1(y11), block.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y26, 0.)) -> f_flat.0-0(down.0(y26), block.0(0.)) 281.11/142.73 down.0(f.1-0(y26, 0.)) -> f_flat.0-0(down.1(y26), block.0(0.)) 281.11/142.73 down.0(f.0-0(y26, 0.)) -> f_flat.0-0(block.0(y26), down.0(0.)) 281.11/142.73 down.0(f.1-0(y26, 0.)) -> f_flat.0-0(block.1(y26), down.0(0.)) 281.11/142.73 down.0(f.0-0(2., 2.)) -> f_flat.0-0(down.0(2.), block.0(2.)) 281.11/142.73 down.0(f.0-0(2., 2.)) -> f_flat.0-0(block.0(2.), down.0(2.)) 281.11/142.73 down.0(f.0-0(y35, fresh_constant.)) -> f_flat.0-0(down.0(y35), block.0(fresh_constant.)) 281.11/142.73 down.0(f.1-0(y35, fresh_constant.)) -> f_flat.0-0(down.1(y35), block.0(fresh_constant.)) 281.11/142.73 f_flat.0-0(up.0(x_1), block.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 281.11/142.73 f_flat.0-0(up.0(x_1), block.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 281.11/142.73 f_flat.0-0(up.1(x_1), block.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 281.11/142.73 f_flat.0-0(up.1(x_1), block.1(x_2)) -> up.0(f.1-1(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.0(x_1), up.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.0(x_1), up.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.1(x_1), up.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.1(x_1), up.1(x_2)) -> up.0(f.1-1(x_1, x_2)) 281.11/142.73 281.11/142.73 Q is empty. 281.11/142.73 We have to consider all minimal (P,Q,R)-chains. 281.11/142.73 ---------------------------------------- 281.11/142.73 281.11/142.73 (100) MRRProof (EQUIVALENT) 281.11/142.73 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. 281.11/142.73 281.11/142.73 281.11/142.73 Strictly oriented rules of the TRS R: 281.11/142.73 281.11/142.73 down.0(f.0-1(f.0-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-0(y4, y5)), down.1(y6)) 281.11/142.73 down.0(f.0-1(f.0-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-1(y4, y5)), down.1(y6)) 281.11/142.73 down.0(f.0-1(f.1-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-0(y4, y5)), down.1(y6)) 281.11/142.73 down.0(f.0-1(f.1-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-1(y4, y5)), down.1(y6)) 281.11/142.73 down.0(f.1-0(1., y8)) -> f_flat.0-0(down.1(1.), block.0(y8)) 281.11/142.73 down.0(f.0-1(fresh_constant., y10)) -> f_flat.0-0(block.0(fresh_constant.), down.1(y10)) 281.11/142.73 down.0(f.1-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(down.1(y11), block.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(down.1(y11), block.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(down.1(y11), block.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(down.1(y11), block.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.1-0(y26, 0.)) -> f_flat.0-0(down.1(y26), block.0(0.)) 281.11/142.73 down.0(f.1-0(y35, fresh_constant.)) -> f_flat.0-0(down.1(y35), block.0(fresh_constant.)) 281.11/142.73 f_flat.0-0(up.1(x_1), block.1(x_2)) -> up.0(f.1-1(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.1(x_1), up.1(x_2)) -> up.0(f.1-1(x_1, x_2)) 281.11/142.73 281.11/142.73 Used ordering: Polynomial interpretation [POLO]: 281.11/142.73 281.11/142.73 POL(0.) = 1 281.11/142.73 POL(1.) = 0 281.11/142.73 POL(2.) = 1 281.11/142.73 POL(TOP.0(x_1)) = x_1 281.11/142.73 POL(block.0(x_1)) = x_1 281.11/142.73 POL(block.1(x_1)) = 1 + x_1 281.11/142.73 POL(down.0(x_1)) = x_1 281.11/142.73 POL(down.1(x_1)) = x_1 281.11/142.73 POL(f.0-0(x_1, x_2)) = x_1 + x_2 281.11/142.73 POL(f.0-1(x_1, x_2)) = 1 + x_1 + x_2 281.11/142.73 POL(f.1-0(x_1, x_2)) = 1 + x_1 + x_2 281.11/142.73 POL(f.1-1(x_1, x_2)) = 1 + x_1 + x_2 281.11/142.73 POL(f_flat.0-0(x_1, x_2)) = x_1 + x_2 281.11/142.73 POL(fresh_constant.) = 0 281.11/142.73 POL(up.0(x_1)) = x_1 281.11/142.73 POL(up.1(x_1)) = 1 + x_1 281.11/142.73 281.11/142.73 281.11/142.73 ---------------------------------------- 281.11/142.73 281.11/142.73 (101) 281.11/142.73 Obligation: 281.11/142.73 Q DP problem: 281.11/142.73 The TRS P consists of the following rules: 281.11/142.73 281.11/142.73 TOP.0(up.0(f.0-1(0., 1.))) -> TOP.0(up.0(f.0-0(2., 2.))) 281.11/142.73 TOP.0(up.0(f.0-0(2., 2.))) -> TOP.0(f_flat.0-0(down.0(2.), block.0(2.))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-0(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-0(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-1(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-1(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-0(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-0(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-1(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.1-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-1(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.0-0(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.0-1(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.1-0(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.1-1(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.1-0(1., x0))) -> TOP.0(f_flat.0-0(block.1(1.), down.0(x0))) 281.11/142.73 TOP.0(up.0(f.0-0(fresh_constant., x0))) -> TOP.0(f_flat.0-0(block.0(fresh_constant.), down.0(x0))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-1(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.1-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.1-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.1-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.1-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.1-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, 0.))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(0.))) 281.11/142.73 TOP.0(up.0(f.0-0(2., 2.))) -> TOP.0(f_flat.0-0(block.0(2.), down.0(2.))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, fresh_constant.))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(fresh_constant.))) 281.11/142.73 281.11/142.73 The TRS R consists of the following rules: 281.11/142.73 281.11/142.73 down.0(f.0-1(0., 1.)) -> up.0(f.0-0(2., 2.)) 281.11/142.73 down.0(2.) -> up.0(0.) 281.11/142.73 down.0(2.) -> up.1(1.) 281.11/142.73 down.0(f.0-0(f.0-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-0(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.0-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-0(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.0-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-1(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.0-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-1(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.1-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-0(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.1-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-0(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.1-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-1(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.1-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-1(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.0-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-0(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-0(f.0-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-1(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-0(f.1-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-0(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-0(f.1-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-1(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.1-1(1., y8)) -> f_flat.0-0(down.1(1.), block.1(y8)) 281.11/142.73 down.0(f.1-0(1., y8)) -> f_flat.0-0(block.1(1.), down.0(y8)) 281.11/142.73 down.0(f.1-1(1., y8)) -> f_flat.0-0(block.1(1.), down.1(y8)) 281.11/142.73 down.0(f.0-0(fresh_constant., y10)) -> f_flat.0-0(block.0(fresh_constant.), down.0(y10)) 281.11/142.73 down.0(f.0-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y26, 0.)) -> f_flat.0-0(down.0(y26), block.0(0.)) 281.11/142.73 down.0(f.0-0(y26, 0.)) -> f_flat.0-0(block.0(y26), down.0(0.)) 281.11/142.73 down.0(f.1-0(y26, 0.)) -> f_flat.0-0(block.1(y26), down.0(0.)) 281.11/142.73 down.0(f.0-0(2., 2.)) -> f_flat.0-0(down.0(2.), block.0(2.)) 281.11/142.73 down.0(f.0-0(2., 2.)) -> f_flat.0-0(block.0(2.), down.0(2.)) 281.11/142.73 down.0(f.0-0(y35, fresh_constant.)) -> f_flat.0-0(down.0(y35), block.0(fresh_constant.)) 281.11/142.73 f_flat.0-0(up.0(x_1), block.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 281.11/142.73 f_flat.0-0(up.0(x_1), block.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 281.11/142.73 f_flat.0-0(up.1(x_1), block.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.0(x_1), up.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.0(x_1), up.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.1(x_1), up.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 281.11/142.73 281.11/142.73 Q is empty. 281.11/142.73 We have to consider all minimal (P,Q,R)-chains. 281.11/142.73 ---------------------------------------- 281.11/142.73 281.11/142.73 (102) MRRProof (EQUIVALENT) 281.11/142.73 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. 281.11/142.73 281.11/142.73 281.11/142.73 Strictly oriented rules of the TRS R: 281.11/142.73 281.11/142.73 down.0(f.1-1(1., y8)) -> f_flat.0-0(down.1(1.), block.1(y8)) 281.11/142.73 down.0(f.1-1(1., y8)) -> f_flat.0-0(block.1(1.), down.1(y8)) 281.11/142.73 281.11/142.73 Used ordering: Polynomial interpretation [POLO]: 281.11/142.73 281.11/142.73 POL(0.) = 0 281.11/142.73 POL(1.) = 0 281.11/142.73 POL(2.) = 0 281.11/142.73 POL(TOP.0(x_1)) = x_1 281.11/142.73 POL(block.0(x_1)) = x_1 281.11/142.73 POL(block.1(x_1)) = x_1 281.11/142.73 POL(down.0(x_1)) = x_1 281.11/142.73 POL(down.1(x_1)) = x_1 281.11/142.73 POL(f.0-0(x_1, x_2)) = x_1 + x_2 281.11/142.73 POL(f.0-1(x_1, x_2)) = x_1 + x_2 281.11/142.73 POL(f.1-0(x_1, x_2)) = x_1 + x_2 281.11/142.73 POL(f.1-1(x_1, x_2)) = 1 + x_1 + x_2 281.11/142.73 POL(f_flat.0-0(x_1, x_2)) = x_1 + x_2 281.11/142.73 POL(fresh_constant.) = 0 281.11/142.73 POL(up.0(x_1)) = x_1 281.11/142.73 POL(up.1(x_1)) = x_1 281.11/142.73 281.11/142.73 281.11/142.73 ---------------------------------------- 281.11/142.73 281.11/142.73 (103) 281.11/142.73 Obligation: 281.11/142.73 Q DP problem: 281.11/142.73 The TRS P consists of the following rules: 281.11/142.73 281.11/142.73 TOP.0(up.0(f.0-1(0., 1.))) -> TOP.0(up.0(f.0-0(2., 2.))) 281.11/142.73 TOP.0(up.0(f.0-0(2., 2.))) -> TOP.0(f_flat.0-0(down.0(2.), block.0(2.))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-0(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-0(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-1(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-1(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-0(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-0(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-1(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.1-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-1(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.0-0(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.0-1(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.1-0(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.1-1(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.1-0(1., x0))) -> TOP.0(f_flat.0-0(block.1(1.), down.0(x0))) 281.11/142.73 TOP.0(up.0(f.0-0(fresh_constant., x0))) -> TOP.0(f_flat.0-0(block.0(fresh_constant.), down.0(x0))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-1(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.1-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.1-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.1-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.1-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.1-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, 0.))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(0.))) 281.11/142.73 TOP.0(up.0(f.0-0(2., 2.))) -> TOP.0(f_flat.0-0(block.0(2.), down.0(2.))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, fresh_constant.))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(fresh_constant.))) 281.11/142.73 281.11/142.73 The TRS R consists of the following rules: 281.11/142.73 281.11/142.73 down.0(f.0-1(0., 1.)) -> up.0(f.0-0(2., 2.)) 281.11/142.73 down.0(2.) -> up.0(0.) 281.11/142.73 down.0(2.) -> up.1(1.) 281.11/142.73 down.0(f.0-0(f.0-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-0(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.0-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-0(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.0-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-1(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.0-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-1(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.1-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-0(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.1-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-0(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.1-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-1(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.1-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-1(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.0-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-0(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-0(f.0-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-1(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-0(f.1-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-0(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-0(f.1-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-1(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.1-0(1., y8)) -> f_flat.0-0(block.1(1.), down.0(y8)) 281.11/142.73 down.0(f.0-0(fresh_constant., y10)) -> f_flat.0-0(block.0(fresh_constant.), down.0(y10)) 281.11/142.73 down.0(f.0-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y26, 0.)) -> f_flat.0-0(down.0(y26), block.0(0.)) 281.11/142.73 down.0(f.0-0(y26, 0.)) -> f_flat.0-0(block.0(y26), down.0(0.)) 281.11/142.73 down.0(f.1-0(y26, 0.)) -> f_flat.0-0(block.1(y26), down.0(0.)) 281.11/142.73 down.0(f.0-0(2., 2.)) -> f_flat.0-0(down.0(2.), block.0(2.)) 281.11/142.73 down.0(f.0-0(2., 2.)) -> f_flat.0-0(block.0(2.), down.0(2.)) 281.11/142.73 down.0(f.0-0(y35, fresh_constant.)) -> f_flat.0-0(down.0(y35), block.0(fresh_constant.)) 281.11/142.73 f_flat.0-0(up.0(x_1), block.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 281.11/142.73 f_flat.0-0(up.0(x_1), block.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 281.11/142.73 f_flat.0-0(up.1(x_1), block.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.0(x_1), up.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.0(x_1), up.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.1(x_1), up.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 281.11/142.73 281.11/142.73 Q is empty. 281.11/142.73 We have to consider all minimal (P,Q,R)-chains. 281.11/142.73 ---------------------------------------- 281.11/142.73 281.11/142.73 (104) DependencyGraphProof (EQUIVALENT) 281.11/142.73 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 4 less nodes. 281.11/142.73 ---------------------------------------- 281.11/142.73 281.11/142.73 (105) 281.11/142.73 Obligation: 281.11/142.73 Q DP problem: 281.11/142.73 The TRS P consists of the following rules: 281.11/142.73 281.11/142.73 TOP.0(up.0(f.0-0(2., 2.))) -> TOP.0(f_flat.0-0(down.0(2.), block.0(2.))) 281.11/142.73 TOP.0(up.0(f.0-1(0., 1.))) -> TOP.0(up.0(f.0-0(2., 2.))) 281.11/142.73 TOP.0(up.0(f.0-0(2., 2.))) -> TOP.0(f_flat.0-0(block.0(2.), down.0(2.))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-0(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-0(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-1(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-1(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-0(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-0(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.0-0(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.0-1(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.1-0(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.1-1(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.1-0(1., x0))) -> TOP.0(f_flat.0-0(block.1(1.), down.0(x0))) 281.11/142.73 TOP.0(up.0(f.0-0(fresh_constant., x0))) -> TOP.0(f_flat.0-0(block.0(fresh_constant.), down.0(x0))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-1(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.1-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.1-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, 0.))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(0.))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, fresh_constant.))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(fresh_constant.))) 281.11/142.73 281.11/142.73 The TRS R consists of the following rules: 281.11/142.73 281.11/142.73 down.0(f.0-1(0., 1.)) -> up.0(f.0-0(2., 2.)) 281.11/142.73 down.0(2.) -> up.0(0.) 281.11/142.73 down.0(2.) -> up.1(1.) 281.11/142.73 down.0(f.0-0(f.0-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-0(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.0-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-0(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.0-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-1(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.0-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-1(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.1-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-0(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.1-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-0(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.1-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-1(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.1-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-1(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.0-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-0(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-0(f.0-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-1(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-0(f.1-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-0(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-0(f.1-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-1(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.1-0(1., y8)) -> f_flat.0-0(block.1(1.), down.0(y8)) 281.11/142.73 down.0(f.0-0(fresh_constant., y10)) -> f_flat.0-0(block.0(fresh_constant.), down.0(y10)) 281.11/142.73 down.0(f.0-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y26, 0.)) -> f_flat.0-0(down.0(y26), block.0(0.)) 281.11/142.73 down.0(f.0-0(y26, 0.)) -> f_flat.0-0(block.0(y26), down.0(0.)) 281.11/142.73 down.0(f.1-0(y26, 0.)) -> f_flat.0-0(block.1(y26), down.0(0.)) 281.11/142.73 down.0(f.0-0(2., 2.)) -> f_flat.0-0(down.0(2.), block.0(2.)) 281.11/142.73 down.0(f.0-0(2., 2.)) -> f_flat.0-0(block.0(2.), down.0(2.)) 281.11/142.73 down.0(f.0-0(y35, fresh_constant.)) -> f_flat.0-0(down.0(y35), block.0(fresh_constant.)) 281.11/142.73 f_flat.0-0(up.0(x_1), block.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 281.11/142.73 f_flat.0-0(up.0(x_1), block.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 281.11/142.73 f_flat.0-0(up.1(x_1), block.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.0(x_1), up.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.0(x_1), up.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.1(x_1), up.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 281.11/142.73 281.11/142.73 Q is empty. 281.11/142.73 We have to consider all minimal (P,Q,R)-chains. 281.11/142.73 ---------------------------------------- 281.11/142.73 281.11/142.73 (106) PisEmptyProof (SOUND) 281.11/142.73 The TRS P is empty. Hence, there is no (P,Q,R) chain. 281.11/142.73 ---------------------------------------- 281.11/142.73 281.11/142.73 (107) 281.11/142.73 TRUE 281.11/142.73 281.11/142.73 ---------------------------------------- 281.11/142.73 281.11/142.73 (108) 281.11/142.73 Obligation: 281.11/142.73 Q DP problem: 281.11/142.73 The TRS P consists of the following rules: 281.11/142.73 281.11/142.73 TOP(up(f(2, 2))) -> TOP(f_flat(down(2), block(2))) 281.11/142.73 TOP(up(f(0, 1))) -> TOP(up(f(2, 2))) 281.11/142.73 TOP(up(f(2, 2))) -> TOP(f_flat(block(2), down(2))) 281.11/142.73 TOP(up(f(f(x0, x1), x2))) -> TOP(f_flat(down(f(x0, x1)), block(x2))) 281.11/142.73 TOP(up(f(f(x0, x1), x2))) -> TOP(f_flat(block(f(x0, x1)), down(x2))) 281.11/142.73 TOP(up(f(1, x0))) -> TOP(f_flat(block(1), down(x0))) 281.11/142.73 TOP(up(f(fresh_constant, x0))) -> TOP(f_flat(block(fresh_constant), down(x0))) 281.11/142.73 TOP(up(f(x0, f(x1, x2)))) -> TOP(f_flat(down(x0), block(f(x1, x2)))) 281.11/142.73 TOP(up(f(x0, f(x1, x2)))) -> TOP(f_flat(block(x0), down(f(x1, x2)))) 281.11/142.73 TOP(up(f(x0, 0))) -> TOP(f_flat(down(x0), block(0))) 281.11/142.73 TOP(up(f(x0, fresh_constant))) -> TOP(f_flat(down(x0), block(fresh_constant))) 281.11/142.73 281.11/142.73 The TRS R consists of the following rules: 281.11/142.73 281.11/142.73 down(f(0, 1)) -> up(f(2, 2)) 281.11/142.73 down(2) -> up(0) 281.11/142.73 down(2) -> up(1) 281.11/142.73 down(f(f(y4, y5), y6)) -> f_flat(down(f(y4, y5)), block(y6)) 281.11/142.73 down(f(f(y4, y5), y6)) -> f_flat(block(f(y4, y5)), down(y6)) 281.11/142.73 down(f(1, y8)) -> f_flat(block(1), down(y8)) 281.11/142.73 down(f(fresh_constant, y10)) -> f_flat(block(fresh_constant), down(y10)) 281.11/142.73 down(f(y11, f(y12, y13))) -> f_flat(down(y11), block(f(y12, y13))) 281.11/142.73 down(f(y11, f(y12, y13))) -> f_flat(block(y11), down(f(y12, y13))) 281.11/142.73 down(f(y26, 0)) -> f_flat(down(y26), block(0)) 281.11/142.73 down(f(y26, 0)) -> f_flat(block(y26), down(0)) 281.11/142.73 down(f(2, 2)) -> f_flat(down(2), block(2)) 281.11/142.73 down(f(2, 2)) -> f_flat(block(2), down(2)) 281.11/142.73 down(f(y35, fresh_constant)) -> f_flat(down(y35), block(fresh_constant)) 281.11/142.73 f_flat(up(x_1), block(x_2)) -> up(f(x_1, x_2)) 281.11/142.73 f_flat(block(x_1), up(x_2)) -> up(f(x_1, x_2)) 281.11/142.73 281.11/142.73 Q is empty. 281.11/142.73 We have to consider all minimal (P,Q,R)-chains. 281.11/142.73 ---------------------------------------- 281.11/142.73 281.11/142.73 (109) SplitQDPProof (EQUIVALENT) 281.11/142.73 We show in the first subproof that some pairs and rules can be removed, afterwards, we continue with the remaining DP-Problem 281.11/142.73 281.11/142.73 ---------------------------------------- 281.11/142.73 281.11/142.73 (110) 281.11/142.73 Complex Obligation (AND) 281.11/142.73 281.11/142.73 ---------------------------------------- 281.11/142.73 281.11/142.73 (111) 281.11/142.73 Obligation: 281.11/142.73 Q DP problem: 281.11/142.73 The TRS P consists of the following rules: 281.11/142.73 281.11/142.73 TOP(up(f(2, 2))) -> TOP(f_flat(down(2), block(2))) 281.11/142.73 TOP(up(f(0, 1))) -> TOP(up(f(2, 2))) 281.11/142.73 TOP(up(f(2, 2))) -> TOP(f_flat(block(2), down(2))) 281.11/142.73 TOP(up(f(f(x0, x1), x2))) -> TOP(f_flat(down(f(x0, x1)), block(x2))) 281.11/142.73 TOP(up(f(f(x0, x1), x2))) -> TOP(f_flat(block(f(x0, x1)), down(x2))) 281.11/142.73 TOP(up(f(1, x0))) -> TOP(f_flat(block(1), down(x0))) 281.11/142.73 TOP(up(f(fresh_constant, x0))) -> TOP(f_flat(block(fresh_constant), down(x0))) 281.11/142.73 TOP(up(f(x0, f(x1, x2)))) -> TOP(f_flat(down(x0), block(f(x1, x2)))) 281.11/142.73 TOP(up(f(x0, f(x1, x2)))) -> TOP(f_flat(block(x0), down(f(x1, x2)))) 281.11/142.73 TOP(up(f(x0, 0))) -> TOP(f_flat(down(x0), block(0))) 281.11/142.73 TOP(up(f(x0, fresh_constant))) -> TOP(f_flat(down(x0), block(fresh_constant))) 281.11/142.73 281.11/142.73 The TRS R consists of the following rules: 281.11/142.73 281.11/142.73 down(f(0, 1)) -> up(f(2, 2)) 281.11/142.73 down(2) -> up(0) 281.11/142.73 down(2) -> up(1) 281.11/142.73 down(f(f(y4, y5), y6)) -> f_flat(down(f(y4, y5)), block(y6)) 281.11/142.73 down(f(f(y4, y5), y6)) -> f_flat(block(f(y4, y5)), down(y6)) 281.11/142.73 down(f(1, y8)) -> f_flat(block(1), down(y8)) 281.11/142.73 down(f(fresh_constant, y10)) -> f_flat(block(fresh_constant), down(y10)) 281.11/142.73 down(f(y11, f(y12, y13))) -> f_flat(down(y11), block(f(y12, y13))) 281.11/142.73 down(f(y11, f(y12, y13))) -> f_flat(block(y11), down(f(y12, y13))) 281.11/142.73 down(f(y26, 0)) -> f_flat(down(y26), block(0)) 281.11/142.73 down(f(y26, 0)) -> f_flat(block(y26), down(0)) 281.11/142.73 down(f(2, 2)) -> f_flat(down(2), block(2)) 281.11/142.73 down(f(2, 2)) -> f_flat(block(2), down(2)) 281.11/142.73 down(f(y35, fresh_constant)) -> f_flat(down(y35), block(fresh_constant)) 281.11/142.73 f_flat(up(x_1), block(x_2)) -> up(f(x_1, x_2)) 281.11/142.73 f_flat(block(x_1), up(x_2)) -> up(f(x_1, x_2)) 281.11/142.73 281.11/142.73 Q is empty. 281.11/142.73 We have to consider all minimal (P,Q,R)-chains. 281.11/142.73 ---------------------------------------- 281.11/142.73 281.11/142.73 (112) SemLabProof (SOUND) 281.11/142.73 We found the following model for the rules of the TRSs R and P. 281.11/142.73 Interpretation over the domain with elements from 0 to 1. 281.11/142.73 block: 0 281.11/142.73 down: 0 281.11/142.73 f: 0 281.11/142.73 0: 1 281.11/142.73 fresh_constant: 0 281.11/142.73 up: 0 281.11/142.73 1: 0 281.11/142.73 2: 0 281.11/142.73 f_flat: 0 281.11/142.73 TOP: 0 281.11/142.73 By semantic labelling [SEMLAB] we obtain the following labelled QDP problem. 281.11/142.73 ---------------------------------------- 281.11/142.73 281.11/142.73 (113) 281.11/142.73 Obligation: 281.11/142.73 Q DP problem: 281.11/142.73 The TRS P consists of the following rules: 281.11/142.73 281.11/142.73 TOP.0(up.0(f.0-0(2., 2.))) -> TOP.0(f_flat.0-0(down.0(2.), block.0(2.))) 281.11/142.73 TOP.0(up.0(f.1-0(0., 1.))) -> TOP.0(up.0(f.0-0(2., 2.))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-0(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-0(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-1(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-1(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-0(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-0(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-1(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.1-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-1(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.0-0(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.0-0(x0, x1)), down.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.0-1(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.0-1(x0, x1)), down.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.1-0(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.1-0(x0, x1)), down.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.1-1(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.1-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.1-1(x0, x1)), down.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(1., x0))) -> TOP.0(f_flat.0-0(block.0(1.), down.0(x0))) 281.11/142.73 TOP.0(up.0(f.0-1(1., x0))) -> TOP.0(f_flat.0-0(block.0(1.), down.1(x0))) 281.11/142.73 TOP.0(up.0(f.0-0(fresh_constant., x0))) -> TOP.0(f_flat.0-0(block.0(fresh_constant.), down.0(x0))) 281.11/142.73 TOP.0(up.0(f.0-1(fresh_constant., x0))) -> TOP.0(f_flat.0-0(block.0(fresh_constant.), down.1(x0))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-1(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(down.1(x0), block.0(f.0-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(down.1(x0), block.0(f.0-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(down.1(x0), block.0(f.1-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.1-1(x1, x2)))) -> TOP.0(f_flat.0-0(down.1(x0), block.0(f.1-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.1-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.1-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.1-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.1-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.1-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-1(x0, 0.))) -> TOP.0(f_flat.0-0(down.0(x0), block.1(0.))) 281.11/142.73 TOP.0(up.0(f.1-1(x0, 0.))) -> TOP.0(f_flat.0-0(down.1(x0), block.1(0.))) 281.11/142.73 TOP.0(up.0(f.0-0(2., 2.))) -> TOP.0(f_flat.0-0(block.0(2.), down.0(2.))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, fresh_constant.))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(fresh_constant.))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, fresh_constant.))) -> TOP.0(f_flat.0-0(down.1(x0), block.0(fresh_constant.))) 281.11/142.73 281.11/142.73 The TRS R consists of the following rules: 281.11/142.73 281.11/142.73 down.0(f.1-0(0., 1.)) -> up.0(f.0-0(2., 2.)) 281.11/142.73 down.0(2.) -> up.1(0.) 281.11/142.73 down.0(2.) -> up.0(1.) 281.11/142.73 down.0(f.0-0(f.0-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-0(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.0-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-0(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.0-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-1(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.0-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-1(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.1-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-0(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.1-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-0(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.1-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-1(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.1-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-1(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.0-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-0(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-1(f.0-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-0(y4, y5)), down.1(y6)) 281.11/142.73 down.0(f.0-0(f.0-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-1(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-1(f.0-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-1(y4, y5)), down.1(y6)) 281.11/142.73 down.0(f.0-0(f.1-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-0(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-1(f.1-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-0(y4, y5)), down.1(y6)) 281.11/142.73 down.0(f.0-0(f.1-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-1(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-1(f.1-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-1(y4, y5)), down.1(y6)) 281.11/142.73 down.0(f.0-0(1., y8)) -> f_flat.0-0(block.0(1.), down.0(y8)) 281.11/142.73 down.0(f.0-1(1., y8)) -> f_flat.0-0(block.0(1.), down.1(y8)) 281.11/142.73 down.0(f.0-0(fresh_constant., y10)) -> f_flat.0-0(block.0(fresh_constant.), down.0(y10)) 281.11/142.73 down.0(f.0-1(fresh_constant., y10)) -> f_flat.0-0(block.0(fresh_constant.), down.1(y10)) 281.11/142.73 down.0(f.0-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(down.1(y11), block.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(down.1(y11), block.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(down.1(y11), block.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(down.1(y11), block.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.0-1(y26, 0.)) -> f_flat.0-0(down.0(y26), block.1(0.)) 281.11/142.73 down.0(f.1-1(y26, 0.)) -> f_flat.0-0(down.1(y26), block.1(0.)) 281.11/142.73 down.0(f.0-1(y26, 0.)) -> f_flat.0-0(block.0(y26), down.1(0.)) 281.11/142.73 down.0(f.1-1(y26, 0.)) -> f_flat.0-0(block.1(y26), down.1(0.)) 281.11/142.73 down.0(f.0-0(2., 2.)) -> f_flat.0-0(down.0(2.), block.0(2.)) 281.11/142.73 down.0(f.0-0(2., 2.)) -> f_flat.0-0(block.0(2.), down.0(2.)) 281.11/142.73 down.0(f.0-0(y35, fresh_constant.)) -> f_flat.0-0(down.0(y35), block.0(fresh_constant.)) 281.11/142.73 down.0(f.1-0(y35, fresh_constant.)) -> f_flat.0-0(down.1(y35), block.0(fresh_constant.)) 281.11/142.73 f_flat.0-0(up.0(x_1), block.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 281.11/142.73 f_flat.0-0(up.0(x_1), block.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 281.11/142.73 f_flat.0-0(up.1(x_1), block.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 281.11/142.73 f_flat.0-0(up.1(x_1), block.1(x_2)) -> up.0(f.1-1(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.0(x_1), up.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.0(x_1), up.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.1(x_1), up.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.1(x_1), up.1(x_2)) -> up.0(f.1-1(x_1, x_2)) 281.11/142.73 281.11/142.73 Q is empty. 281.11/142.73 We have to consider all minimal (P,Q,R)-chains. 281.11/142.73 ---------------------------------------- 281.11/142.73 281.11/142.73 (114) DependencyGraphProof (EQUIVALENT) 281.11/142.73 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 12 less nodes. 281.11/142.73 ---------------------------------------- 281.11/142.73 281.11/142.73 (115) 281.11/142.73 Obligation: 281.11/142.73 Q DP problem: 281.11/142.73 The TRS P consists of the following rules: 281.11/142.73 281.11/142.73 TOP.0(up.0(f.1-0(0., 1.))) -> TOP.0(up.0(f.0-0(2., 2.))) 281.11/142.73 TOP.0(up.0(f.0-0(2., 2.))) -> TOP.0(f_flat.0-0(down.0(2.), block.0(2.))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-0(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-0(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-1(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-1(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-0(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-0(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-1(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.1-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-1(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.0-0(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.0-1(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.1-0(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.1-1(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(1., x0))) -> TOP.0(f_flat.0-0(block.0(1.), down.0(x0))) 281.11/142.73 TOP.0(up.0(f.0-0(fresh_constant., x0))) -> TOP.0(f_flat.0-0(block.0(fresh_constant.), down.0(x0))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-1(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.1-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.1-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.1-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.1-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.1-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-1(x0, 0.))) -> TOP.0(f_flat.0-0(down.0(x0), block.1(0.))) 281.11/142.73 TOP.0(up.0(f.0-0(2., 2.))) -> TOP.0(f_flat.0-0(block.0(2.), down.0(2.))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, fresh_constant.))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(fresh_constant.))) 281.11/142.73 281.11/142.73 The TRS R consists of the following rules: 281.11/142.73 281.11/142.73 down.0(f.1-0(0., 1.)) -> up.0(f.0-0(2., 2.)) 281.11/142.73 down.0(2.) -> up.1(0.) 281.11/142.73 down.0(2.) -> up.0(1.) 281.11/142.73 down.0(f.0-0(f.0-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-0(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.0-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-0(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.0-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-1(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.0-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-1(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.1-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-0(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.1-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-0(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.1-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-1(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.1-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-1(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.0-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-0(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-1(f.0-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-0(y4, y5)), down.1(y6)) 281.11/142.73 down.0(f.0-0(f.0-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-1(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-1(f.0-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-1(y4, y5)), down.1(y6)) 281.11/142.73 down.0(f.0-0(f.1-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-0(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-1(f.1-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-0(y4, y5)), down.1(y6)) 281.11/142.73 down.0(f.0-0(f.1-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-1(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-1(f.1-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-1(y4, y5)), down.1(y6)) 281.11/142.73 down.0(f.0-0(1., y8)) -> f_flat.0-0(block.0(1.), down.0(y8)) 281.11/142.73 down.0(f.0-1(1., y8)) -> f_flat.0-0(block.0(1.), down.1(y8)) 281.11/142.73 down.0(f.0-0(fresh_constant., y10)) -> f_flat.0-0(block.0(fresh_constant.), down.0(y10)) 281.11/142.73 down.0(f.0-1(fresh_constant., y10)) -> f_flat.0-0(block.0(fresh_constant.), down.1(y10)) 281.11/142.73 down.0(f.0-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(down.1(y11), block.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(down.1(y11), block.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(down.1(y11), block.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(down.1(y11), block.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.0-1(y26, 0.)) -> f_flat.0-0(down.0(y26), block.1(0.)) 281.11/142.73 down.0(f.1-1(y26, 0.)) -> f_flat.0-0(down.1(y26), block.1(0.)) 281.11/142.73 down.0(f.0-1(y26, 0.)) -> f_flat.0-0(block.0(y26), down.1(0.)) 281.11/142.73 down.0(f.1-1(y26, 0.)) -> f_flat.0-0(block.1(y26), down.1(0.)) 281.11/142.73 down.0(f.0-0(2., 2.)) -> f_flat.0-0(down.0(2.), block.0(2.)) 281.11/142.73 down.0(f.0-0(2., 2.)) -> f_flat.0-0(block.0(2.), down.0(2.)) 281.11/142.73 down.0(f.0-0(y35, fresh_constant.)) -> f_flat.0-0(down.0(y35), block.0(fresh_constant.)) 281.11/142.73 down.0(f.1-0(y35, fresh_constant.)) -> f_flat.0-0(down.1(y35), block.0(fresh_constant.)) 281.11/142.73 f_flat.0-0(up.0(x_1), block.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 281.11/142.73 f_flat.0-0(up.0(x_1), block.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 281.11/142.73 f_flat.0-0(up.1(x_1), block.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 281.11/142.73 f_flat.0-0(up.1(x_1), block.1(x_2)) -> up.0(f.1-1(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.0(x_1), up.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.0(x_1), up.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.1(x_1), up.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.1(x_1), up.1(x_2)) -> up.0(f.1-1(x_1, x_2)) 281.11/142.73 281.11/142.73 Q is empty. 281.11/142.73 We have to consider all minimal (P,Q,R)-chains. 281.11/142.73 ---------------------------------------- 281.11/142.73 281.11/142.73 (116) MRRProof (EQUIVALENT) 281.11/142.73 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. 281.11/142.73 281.11/142.73 281.11/142.73 Strictly oriented rules of the TRS R: 281.11/142.73 281.11/142.73 down.0(f.0-1(f.0-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-0(y4, y5)), down.1(y6)) 281.11/142.73 down.0(f.0-1(f.0-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-1(y4, y5)), down.1(y6)) 281.11/142.73 down.0(f.0-1(f.1-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-0(y4, y5)), down.1(y6)) 281.11/142.73 down.0(f.0-1(f.1-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-1(y4, y5)), down.1(y6)) 281.11/142.73 down.0(f.0-1(1., y8)) -> f_flat.0-0(block.0(1.), down.1(y8)) 281.11/142.73 down.0(f.0-1(fresh_constant., y10)) -> f_flat.0-0(block.0(fresh_constant.), down.1(y10)) 281.11/142.73 down.0(f.1-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(down.1(y11), block.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(down.1(y11), block.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(down.1(y11), block.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(down.1(y11), block.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.0-1(y26, 0.)) -> f_flat.0-0(block.0(y26), down.1(0.)) 281.11/142.73 down.0(f.1-0(y35, fresh_constant.)) -> f_flat.0-0(down.1(y35), block.0(fresh_constant.)) 281.11/142.73 f_flat.0-0(up.1(x_1), block.1(x_2)) -> up.0(f.1-1(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.1(x_1), up.1(x_2)) -> up.0(f.1-1(x_1, x_2)) 281.11/142.73 281.11/142.73 Used ordering: Polynomial interpretation [POLO]: 281.11/142.73 281.11/142.73 POL(0.) = 0 281.11/142.73 POL(1.) = 1 281.11/142.73 POL(2.) = 1 281.11/142.73 POL(TOP.0(x_1)) = x_1 281.11/142.73 POL(block.0(x_1)) = x_1 281.11/142.73 POL(block.1(x_1)) = 1 + x_1 281.11/142.73 POL(down.0(x_1)) = x_1 281.11/142.73 POL(down.1(x_1)) = x_1 281.11/142.73 POL(f.0-0(x_1, x_2)) = x_1 + x_2 281.11/142.73 POL(f.0-1(x_1, x_2)) = 1 + x_1 + x_2 281.11/142.73 POL(f.1-0(x_1, x_2)) = 1 + x_1 + x_2 281.11/142.73 POL(f.1-1(x_1, x_2)) = 1 + x_1 + x_2 281.11/142.73 POL(f_flat.0-0(x_1, x_2)) = x_1 + x_2 281.11/142.73 POL(fresh_constant.) = 0 281.11/142.73 POL(up.0(x_1)) = x_1 281.11/142.73 POL(up.1(x_1)) = 1 + x_1 281.11/142.73 281.11/142.73 281.11/142.73 ---------------------------------------- 281.11/142.73 281.11/142.73 (117) 281.11/142.73 Obligation: 281.11/142.73 Q DP problem: 281.11/142.73 The TRS P consists of the following rules: 281.11/142.73 281.11/142.73 TOP.0(up.0(f.1-0(0., 1.))) -> TOP.0(up.0(f.0-0(2., 2.))) 281.11/142.73 TOP.0(up.0(f.0-0(2., 2.))) -> TOP.0(f_flat.0-0(down.0(2.), block.0(2.))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-0(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-0(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-1(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-1(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-0(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-0(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-1(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.1-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-1(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.0-0(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.0-1(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.1-0(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.1-1(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(1., x0))) -> TOP.0(f_flat.0-0(block.0(1.), down.0(x0))) 281.11/142.73 TOP.0(up.0(f.0-0(fresh_constant., x0))) -> TOP.0(f_flat.0-0(block.0(fresh_constant.), down.0(x0))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-1(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.1-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.1-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.1-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.1-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.1-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-1(x0, 0.))) -> TOP.0(f_flat.0-0(down.0(x0), block.1(0.))) 281.11/142.73 TOP.0(up.0(f.0-0(2., 2.))) -> TOP.0(f_flat.0-0(block.0(2.), down.0(2.))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, fresh_constant.))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(fresh_constant.))) 281.11/142.73 281.11/142.73 The TRS R consists of the following rules: 281.11/142.73 281.11/142.73 down.0(f.1-0(0., 1.)) -> up.0(f.0-0(2., 2.)) 281.11/142.73 down.0(2.) -> up.1(0.) 281.11/142.73 down.0(2.) -> up.0(1.) 281.11/142.73 down.0(f.0-0(f.0-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-0(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.0-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-0(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.0-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-1(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.0-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-1(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.1-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-0(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.1-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-0(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.1-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-1(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.1-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-1(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.0-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-0(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-0(f.0-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-1(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-0(f.1-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-0(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-0(f.1-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-1(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-0(1., y8)) -> f_flat.0-0(block.0(1.), down.0(y8)) 281.11/142.73 down.0(f.0-0(fresh_constant., y10)) -> f_flat.0-0(block.0(fresh_constant.), down.0(y10)) 281.11/142.73 down.0(f.0-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.0-1(y26, 0.)) -> f_flat.0-0(down.0(y26), block.1(0.)) 281.11/142.73 down.0(f.1-1(y26, 0.)) -> f_flat.0-0(down.1(y26), block.1(0.)) 281.11/142.73 down.0(f.1-1(y26, 0.)) -> f_flat.0-0(block.1(y26), down.1(0.)) 281.11/142.73 down.0(f.0-0(2., 2.)) -> f_flat.0-0(down.0(2.), block.0(2.)) 281.11/142.73 down.0(f.0-0(2., 2.)) -> f_flat.0-0(block.0(2.), down.0(2.)) 281.11/142.73 down.0(f.0-0(y35, fresh_constant.)) -> f_flat.0-0(down.0(y35), block.0(fresh_constant.)) 281.11/142.73 f_flat.0-0(up.0(x_1), block.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 281.11/142.73 f_flat.0-0(up.0(x_1), block.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 281.11/142.73 f_flat.0-0(up.1(x_1), block.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.0(x_1), up.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.0(x_1), up.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.1(x_1), up.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 281.11/142.73 281.11/142.73 Q is empty. 281.11/142.73 We have to consider all minimal (P,Q,R)-chains. 281.11/142.73 ---------------------------------------- 281.11/142.73 281.11/142.73 (118) MRRProof (EQUIVALENT) 281.11/142.73 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. 281.11/142.73 281.11/142.73 281.11/142.73 Strictly oriented rules of the TRS R: 281.11/142.73 281.11/142.73 down.0(f.1-1(y26, 0.)) -> f_flat.0-0(down.1(y26), block.1(0.)) 281.11/142.73 down.0(f.1-1(y26, 0.)) -> f_flat.0-0(block.1(y26), down.1(0.)) 281.11/142.73 281.11/142.73 Used ordering: Polynomial interpretation [POLO]: 281.11/142.73 281.11/142.73 POL(0.) = 0 281.11/142.73 POL(1.) = 0 281.11/142.73 POL(2.) = 0 281.11/142.73 POL(TOP.0(x_1)) = x_1 281.11/142.73 POL(block.0(x_1)) = x_1 281.11/142.73 POL(block.1(x_1)) = x_1 281.11/142.73 POL(down.0(x_1)) = x_1 281.11/142.73 POL(down.1(x_1)) = x_1 281.11/142.73 POL(f.0-0(x_1, x_2)) = x_1 + x_2 281.11/142.73 POL(f.0-1(x_1, x_2)) = x_1 + x_2 281.11/142.73 POL(f.1-0(x_1, x_2)) = x_1 + x_2 281.11/142.73 POL(f.1-1(x_1, x_2)) = 1 + x_1 + x_2 281.11/142.73 POL(f_flat.0-0(x_1, x_2)) = x_1 + x_2 281.11/142.73 POL(fresh_constant.) = 0 281.11/142.73 POL(up.0(x_1)) = x_1 281.11/142.73 POL(up.1(x_1)) = x_1 281.11/142.73 281.11/142.73 281.11/142.73 ---------------------------------------- 281.11/142.73 281.11/142.73 (119) 281.11/142.73 Obligation: 281.11/142.73 Q DP problem: 281.11/142.73 The TRS P consists of the following rules: 281.11/142.73 281.11/142.73 TOP.0(up.0(f.1-0(0., 1.))) -> TOP.0(up.0(f.0-0(2., 2.))) 281.11/142.73 TOP.0(up.0(f.0-0(2., 2.))) -> TOP.0(f_flat.0-0(down.0(2.), block.0(2.))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-0(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-0(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-1(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-1(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-0(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-0(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-1(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.1-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-1(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.0-0(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.0-1(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.1-0(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.1-1(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(1., x0))) -> TOP.0(f_flat.0-0(block.0(1.), down.0(x0))) 281.11/142.73 TOP.0(up.0(f.0-0(fresh_constant., x0))) -> TOP.0(f_flat.0-0(block.0(fresh_constant.), down.0(x0))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-1(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.1-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.1-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.1-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.1-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.1-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-1(x0, 0.))) -> TOP.0(f_flat.0-0(down.0(x0), block.1(0.))) 281.11/142.73 TOP.0(up.0(f.0-0(2., 2.))) -> TOP.0(f_flat.0-0(block.0(2.), down.0(2.))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, fresh_constant.))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(fresh_constant.))) 281.11/142.73 281.11/142.73 The TRS R consists of the following rules: 281.11/142.73 281.11/142.73 down.0(f.1-0(0., 1.)) -> up.0(f.0-0(2., 2.)) 281.11/142.73 down.0(2.) -> up.1(0.) 281.11/142.73 down.0(2.) -> up.0(1.) 281.11/142.73 down.0(f.0-0(f.0-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-0(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.0-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-0(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.0-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-1(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.0-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-1(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.1-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-0(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.1-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-0(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.1-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-1(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.1-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-1(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.0-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-0(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-0(f.0-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-1(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-0(f.1-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-0(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-0(f.1-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-1(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-0(1., y8)) -> f_flat.0-0(block.0(1.), down.0(y8)) 281.11/142.73 down.0(f.0-0(fresh_constant., y10)) -> f_flat.0-0(block.0(fresh_constant.), down.0(y10)) 281.11/142.73 down.0(f.0-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.0-1(y26, 0.)) -> f_flat.0-0(down.0(y26), block.1(0.)) 281.11/142.73 down.0(f.0-0(2., 2.)) -> f_flat.0-0(down.0(2.), block.0(2.)) 281.11/142.73 down.0(f.0-0(2., 2.)) -> f_flat.0-0(block.0(2.), down.0(2.)) 281.11/142.73 down.0(f.0-0(y35, fresh_constant.)) -> f_flat.0-0(down.0(y35), block.0(fresh_constant.)) 281.11/142.73 f_flat.0-0(up.0(x_1), block.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 281.11/142.73 f_flat.0-0(up.0(x_1), block.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 281.11/142.73 f_flat.0-0(up.1(x_1), block.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.0(x_1), up.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.0(x_1), up.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.1(x_1), up.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 281.11/142.73 281.11/142.73 Q is empty. 281.11/142.73 We have to consider all minimal (P,Q,R)-chains. 281.11/142.73 ---------------------------------------- 281.11/142.73 281.11/142.73 (120) DependencyGraphProof (EQUIVALENT) 281.11/142.73 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 4 less nodes. 281.11/142.73 ---------------------------------------- 281.11/142.73 281.11/142.73 (121) 281.11/142.73 Obligation: 281.11/142.73 Q DP problem: 281.11/142.73 The TRS P consists of the following rules: 281.11/142.73 281.11/142.73 TOP.0(up.0(f.0-0(2., 2.))) -> TOP.0(f_flat.0-0(down.0(2.), block.0(2.))) 281.11/142.73 TOP.0(up.0(f.1-0(0., 1.))) -> TOP.0(up.0(f.0-0(2., 2.))) 281.11/142.73 TOP.0(up.0(f.0-0(2., 2.))) -> TOP.0(f_flat.0-0(block.0(2.), down.0(2.))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-0(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-0(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-1(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.0-1(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-0(x0, x1)), block.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-1(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(down.0(f.1-0(x0, x1)), block.1(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.0-0(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.0-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.0-1(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-0(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.1-0(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(f.1-1(x0, x1), x2))) -> TOP.0(f_flat.0-0(block.0(f.1-1(x0, x1)), down.0(x2))) 281.11/142.73 TOP.0(up.0(f.0-0(1., x0))) -> TOP.0(f_flat.0-0(block.0(1.), down.0(x0))) 281.11/142.73 TOP.0(up.0(f.0-0(fresh_constant., x0))) -> TOP.0(f_flat.0-0(block.0(fresh_constant.), down.0(x0))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-1(x1, x2)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.1-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.0-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.0-1(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.1-0(x0, f.1-0(x1, x2)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.1-0(x1, x2)))) 281.11/142.73 TOP.0(up.0(f.0-1(x0, 0.))) -> TOP.0(f_flat.0-0(down.0(x0), block.1(0.))) 281.11/142.73 TOP.0(up.0(f.0-0(x0, fresh_constant.))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(fresh_constant.))) 281.11/142.73 281.11/142.73 The TRS R consists of the following rules: 281.11/142.73 281.11/142.73 down.0(f.1-0(0., 1.)) -> up.0(f.0-0(2., 2.)) 281.11/142.73 down.0(2.) -> up.1(0.) 281.11/142.73 down.0(2.) -> up.0(1.) 281.11/142.73 down.0(f.0-0(f.0-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-0(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.0-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-0(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.0-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-1(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.0-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.0-1(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.1-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-0(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.1-0(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-0(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.1-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-1(y4, y5)), block.0(y6)) 281.11/142.73 down.0(f.0-1(f.1-1(y4, y5), y6)) -> f_flat.0-0(down.0(f.1-1(y4, y5)), block.1(y6)) 281.11/142.73 down.0(f.0-0(f.0-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-0(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-0(f.0-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.0-1(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-0(f.1-0(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-0(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-0(f.1-1(y4, y5), y6)) -> f_flat.0-0(block.0(f.1-1(y4, y5)), down.0(y6)) 281.11/142.73 down.0(f.0-0(1., y8)) -> f_flat.0-0(block.0(1.), down.0(y8)) 281.11/142.73 down.0(f.0-0(fresh_constant., y10)) -> f_flat.0-0(block.0(fresh_constant.), down.0(y10)) 281.11/142.73 down.0(f.0-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(down.0(y11), block.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.0-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(block.0(y11), down.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.0-0(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.0-0(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.0-1(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.0-1(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.1-0(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.1-0(y12, y13))) 281.11/142.73 down.0(f.1-0(y11, f.1-1(y12, y13))) -> f_flat.0-0(block.1(y11), down.0(f.1-1(y12, y13))) 281.11/142.73 down.0(f.0-1(y26, 0.)) -> f_flat.0-0(down.0(y26), block.1(0.)) 281.11/142.73 down.0(f.0-0(2., 2.)) -> f_flat.0-0(down.0(2.), block.0(2.)) 281.11/142.73 down.0(f.0-0(2., 2.)) -> f_flat.0-0(block.0(2.), down.0(2.)) 281.11/142.73 down.0(f.0-0(y35, fresh_constant.)) -> f_flat.0-0(down.0(y35), block.0(fresh_constant.)) 281.11/142.73 f_flat.0-0(up.0(x_1), block.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 281.11/142.73 f_flat.0-0(up.0(x_1), block.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 281.11/142.73 f_flat.0-0(up.1(x_1), block.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.0(x_1), up.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.0(x_1), up.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 281.11/142.73 f_flat.0-0(block.1(x_1), up.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 281.11/142.73 281.11/142.73 Q is empty. 281.11/142.73 We have to consider all minimal (P,Q,R)-chains. 281.11/142.73 ---------------------------------------- 281.11/142.73 281.11/142.73 (122) PisEmptyProof (SOUND) 281.11/142.73 The TRS P is empty. Hence, there is no (P,Q,R) chain. 281.11/142.73 ---------------------------------------- 281.11/142.73 281.11/142.73 (123) 281.11/142.73 TRUE 281.11/142.73 281.11/142.73 ---------------------------------------- 281.11/142.73 281.11/142.73 (124) 281.11/142.73 Obligation: 281.11/142.73 Q DP problem: 281.11/142.73 The TRS P consists of the following rules: 281.11/142.73 281.11/142.73 TOP(up(f(2, 2))) -> TOP(f_flat(down(2), block(2))) 281.11/142.73 TOP(up(f(0, 1))) -> TOP(up(f(2, 2))) 281.11/142.73 TOP(up(f(2, 2))) -> TOP(f_flat(block(2), down(2))) 281.11/142.73 TOP(up(f(f(x0, x1), x2))) -> TOP(f_flat(down(f(x0, x1)), block(x2))) 281.11/142.73 TOP(up(f(f(x0, x1), x2))) -> TOP(f_flat(block(f(x0, x1)), down(x2))) 281.11/142.73 TOP(up(f(1, x0))) -> TOP(f_flat(block(1), down(x0))) 281.11/142.73 TOP(up(f(fresh_constant, x0))) -> TOP(f_flat(block(fresh_constant), down(x0))) 281.11/142.73 TOP(up(f(x0, f(x1, x2)))) -> TOP(f_flat(down(x0), block(f(x1, x2)))) 281.11/142.73 TOP(up(f(x0, f(x1, x2)))) -> TOP(f_flat(block(x0), down(f(x1, x2)))) 281.11/142.73 TOP(up(f(x0, 0))) -> TOP(f_flat(down(x0), block(0))) 281.11/142.73 TOP(up(f(x0, fresh_constant))) -> TOP(f_flat(down(x0), block(fresh_constant))) 281.11/142.73 281.11/142.73 The TRS R consists of the following rules: 281.11/142.73 281.11/142.73 down(f(0, 1)) -> up(f(2, 2)) 281.11/142.73 down(2) -> up(0) 281.11/142.73 down(2) -> up(1) 281.11/142.73 down(f(f(y4, y5), y6)) -> f_flat(down(f(y4, y5)), block(y6)) 281.11/142.73 down(f(f(y4, y5), y6)) -> f_flat(block(f(y4, y5)), down(y6)) 281.11/142.73 down(f(1, y8)) -> f_flat(block(1), down(y8)) 281.11/142.73 down(f(fresh_constant, y10)) -> f_flat(block(fresh_constant), down(y10)) 281.11/142.73 down(f(y11, f(y12, y13))) -> f_flat(down(y11), block(f(y12, y13))) 281.11/142.73 down(f(y11, f(y12, y13))) -> f_flat(block(y11), down(f(y12, y13))) 281.11/142.73 down(f(y26, 0)) -> f_flat(down(y26), block(0)) 281.11/142.73 down(f(2, 2)) -> f_flat(down(2), block(2)) 281.11/142.73 down(f(2, 2)) -> f_flat(block(2), down(2)) 281.11/142.73 down(f(y35, fresh_constant)) -> f_flat(down(y35), block(fresh_constant)) 281.11/142.73 f_flat(up(x_1), block(x_2)) -> up(f(x_1, x_2)) 281.11/142.73 f_flat(block(x_1), up(x_2)) -> up(f(x_1, x_2)) 281.11/142.73 281.11/142.73 Q is empty. 281.11/142.73 We have to consider all minimal (P,Q,R)-chains. 281.35/142.81 EOF