217.01/108.75 MAYBE 217.01/108.76 proof of /export/starexec/sandbox/benchmark/theBenchmark.xml 217.01/108.76 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 217.01/108.76 217.01/108.76 217.01/108.76 Outermost Termination of the given OTRS could not be shown: 217.01/108.76 217.01/108.76 (0) OTRS 217.01/108.76 (1) Thiemann-SpecialC-Transformation [EQUIVALENT, 0 ms] 217.01/108.76 (2) QTRS 217.01/108.76 (3) DependencyPairsProof [EQUIVALENT, 0 ms] 217.01/108.76 (4) QDP 217.01/108.76 (5) DependencyGraphProof [EQUIVALENT, 0 ms] 217.01/108.76 (6) AND 217.01/108.76 (7) QDP 217.01/108.76 (8) UsableRulesProof [EQUIVALENT, 0 ms] 217.01/108.76 (9) QDP 217.01/108.76 (10) QReductionProof [EQUIVALENT, 0 ms] 217.01/108.76 (11) QDP 217.01/108.76 (12) MRRProof [EQUIVALENT, 0 ms] 217.01/108.76 (13) QDP 217.01/108.76 (14) UsableRulesReductionPairsProof [EQUIVALENT, 6 ms] 217.01/108.76 (15) QDP 217.01/108.76 (16) DependencyGraphProof [EQUIVALENT, 0 ms] 217.01/108.76 (17) TRUE 217.01/108.76 (18) QDP 217.01/108.76 (19) UsableRulesProof [EQUIVALENT, 0 ms] 217.01/108.76 (20) QDP 217.01/108.76 (21) QReductionProof [EQUIVALENT, 0 ms] 217.01/108.76 (22) QDP 217.01/108.76 (23) TransformationProof [EQUIVALENT, 0 ms] 217.01/108.76 (24) QDP 217.01/108.76 (25) UsableRulesProof [EQUIVALENT, 0 ms] 217.01/108.76 (26) QDP 217.01/108.76 (27) QReductionProof [EQUIVALENT, 0 ms] 217.01/108.76 (28) QDP 217.01/108.76 (29) Trivial-Transformation [SOUND, 0 ms] 217.01/108.76 (30) QTRS 217.01/108.76 (31) DependencyPairsProof [EQUIVALENT, 0 ms] 217.01/108.76 (32) QDP 217.01/108.76 (33) DependencyGraphProof [EQUIVALENT, 0 ms] 217.01/108.76 (34) QDP 217.01/108.76 (35) TransformationProof [EQUIVALENT, 0 ms] 217.01/108.76 (36) QDP 217.01/108.76 (37) NonTerminationLoopProof [COMPLETE, 0 ms] 217.01/108.76 (38) NO 217.01/108.76 (39) Raffelsieper-Zantema-Transformation [SOUND, 0 ms] 217.01/108.76 (40) QTRS 217.01/108.76 (41) DependencyPairsProof [EQUIVALENT, 0 ms] 217.01/108.76 (42) QDP 217.01/108.76 (43) DependencyGraphProof [EQUIVALENT, 0 ms] 217.01/108.76 (44) AND 217.01/108.76 (45) QDP 217.01/108.76 (46) UsableRulesProof [EQUIVALENT, 0 ms] 217.01/108.76 (47) QDP 217.01/108.76 (48) QDPSizeChangeProof [EQUIVALENT, 0 ms] 217.01/108.76 (49) YES 217.01/108.76 (50) QDP 217.01/108.76 (51) UsableRulesProof [EQUIVALENT, 1 ms] 217.01/108.76 (52) QDP 217.01/108.76 (53) TransformationProof [EQUIVALENT, 0 ms] 217.01/108.76 (54) QDP 217.01/108.76 (55) DependencyGraphProof [EQUIVALENT, 0 ms] 217.01/108.76 (56) QDP 217.01/108.76 (57) SplitQDPProof [EQUIVALENT, 0 ms] 217.01/108.76 (58) AND 217.01/108.76 (59) QDP 217.01/108.76 (60) SemLabProof [SOUND, 0 ms] 217.01/108.76 (61) QDP 217.01/108.76 (62) DependencyGraphProof [EQUIVALENT, 0 ms] 217.01/108.76 (63) QDP 217.01/108.76 (64) UsableRulesReductionPairsProof [EQUIVALENT, 57 ms] 217.01/108.76 (65) QDP 217.01/108.76 (66) MRRProof [EQUIVALENT, 46 ms] 217.01/108.76 (67) QDP 217.01/108.76 (68) DependencyGraphProof [EQUIVALENT, 0 ms] 217.01/108.76 (69) QDP 217.01/108.76 (70) MRRProof [EQUIVALENT, 51 ms] 217.01/108.76 (71) QDP 217.01/108.76 (72) QDPOrderProof [EQUIVALENT, 38 ms] 217.01/108.76 (73) QDP 217.01/108.76 (74) QDPOrderProof [EQUIVALENT, 36 ms] 217.01/108.76 (75) QDP 217.01/108.76 (76) QDPOrderProof [EQUIVALENT, 26 ms] 217.01/108.76 (77) QDP 217.01/108.76 (78) PisEmptyProof [SOUND, 0 ms] 217.01/108.76 (79) TRUE 217.01/108.76 (80) QDP 217.01/108.76 (81) SplitQDPProof [EQUIVALENT, 0 ms] 217.01/108.76 (82) AND 217.01/108.76 (83) QDP 217.01/108.76 (84) SemLabProof [SOUND, 0 ms] 217.01/108.76 (85) QDP 217.01/108.76 (86) DependencyGraphProof [EQUIVALENT, 0 ms] 217.01/108.76 (87) QDP 217.01/108.76 (88) UsableRulesReductionPairsProof [EQUIVALENT, 5 ms] 217.01/108.76 (89) QDP 217.01/108.76 (90) MRRProof [EQUIVALENT, 4 ms] 217.01/108.76 (91) QDP 217.01/108.76 (92) QDPOrderProof [EQUIVALENT, 0 ms] 217.01/108.76 (93) QDP 217.01/108.76 (94) QDPOrderProof [EQUIVALENT, 0 ms] 217.01/108.76 (95) QDP 217.01/108.76 (96) QDPOrderProof [EQUIVALENT, 0 ms] 217.01/108.76 (97) QDP 217.01/108.76 (98) PisEmptyProof [SOUND, 0 ms] 217.01/108.76 (99) TRUE 217.01/108.76 (100) QDP 217.01/108.76 217.01/108.76 217.01/108.76 ---------------------------------------- 217.01/108.76 217.01/108.76 (0) 217.01/108.76 Obligation: 217.01/108.76 Term rewrite system R: 217.01/108.76 The TRS R consists of the following rules: 217.01/108.76 217.01/108.76 f(x, f(a, y)) -> f(a, f(f(f(a, a), y), x)) 217.01/108.76 217.01/108.76 217.01/108.76 217.01/108.76 Outermost Strategy. 217.01/108.76 217.01/108.76 ---------------------------------------- 217.01/108.76 217.01/108.76 (1) Thiemann-SpecialC-Transformation (EQUIVALENT) 217.01/108.76 We applied the Thiemann-SpecialC transformation to transform the outermost TRS to an innermost TRS. 217.01/108.76 ---------------------------------------- 217.01/108.76 217.01/108.76 (2) 217.01/108.76 Obligation: 217.01/108.76 Q restricted rewrite system: 217.01/108.76 The TRS R consists of the following rules: 217.01/108.76 217.01/108.76 top(go_up(x)) -> top(reduce(x)) 217.01/108.76 reduce(f(x_1, x_2)) -> check_f(redex_f(x_1, x_2)) 217.01/108.76 redex_f(x, f(a, y)) -> result_f(f(a, f(f(f(a, a), y), x))) 217.01/108.76 check_f(result_f(x)) -> go_up(x) 217.01/108.76 check_f(redex_f(x_1, x_2)) -> in_f_1(reduce(x_1), x_2) 217.01/108.76 check_f(redex_f(x_1, x_2)) -> in_f_2(x_1, reduce(x_2)) 217.01/108.76 in_f_1(go_up(x_1), x_2) -> go_up(f(x_1, x_2)) 217.01/108.76 in_f_2(x_1, go_up(x_2)) -> go_up(f(x_1, x_2)) 217.01/108.76 217.01/108.76 The set Q consists of the following terms: 217.01/108.76 217.01/108.76 top(go_up(x0)) 217.01/108.76 reduce(f(x0, x1)) 217.01/108.76 redex_f(x0, f(a, x1)) 217.01/108.77 check_f(result_f(x0)) 217.01/108.77 check_f(redex_f(x0, x1)) 217.01/108.77 in_f_1(go_up(x0), x1) 217.01/108.77 in_f_2(x0, go_up(x1)) 217.01/108.77 217.01/108.77 217.01/108.77 ---------------------------------------- 217.01/108.77 217.01/108.77 (3) DependencyPairsProof (EQUIVALENT) 217.01/108.77 Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. 217.01/108.77 ---------------------------------------- 217.01/108.77 217.01/108.77 (4) 217.01/108.77 Obligation: 217.01/108.77 Q DP problem: 217.01/108.77 The TRS P consists of the following rules: 217.01/108.77 217.01/108.77 TOP(go_up(x)) -> TOP(reduce(x)) 217.01/108.77 TOP(go_up(x)) -> REDUCE(x) 217.01/108.77 REDUCE(f(x_1, x_2)) -> CHECK_F(redex_f(x_1, x_2)) 217.01/108.77 REDUCE(f(x_1, x_2)) -> REDEX_F(x_1, x_2) 217.01/108.77 CHECK_F(redex_f(x_1, x_2)) -> IN_F_1(reduce(x_1), x_2) 217.01/108.77 CHECK_F(redex_f(x_1, x_2)) -> REDUCE(x_1) 217.01/108.77 CHECK_F(redex_f(x_1, x_2)) -> IN_F_2(x_1, reduce(x_2)) 217.01/108.77 CHECK_F(redex_f(x_1, x_2)) -> REDUCE(x_2) 217.01/108.77 217.01/108.77 The TRS R consists of the following rules: 217.01/108.77 217.01/108.77 top(go_up(x)) -> top(reduce(x)) 217.01/108.77 reduce(f(x_1, x_2)) -> check_f(redex_f(x_1, x_2)) 217.01/108.77 redex_f(x, f(a, y)) -> result_f(f(a, f(f(f(a, a), y), x))) 217.01/108.77 check_f(result_f(x)) -> go_up(x) 217.01/108.77 check_f(redex_f(x_1, x_2)) -> in_f_1(reduce(x_1), x_2) 217.01/108.77 check_f(redex_f(x_1, x_2)) -> in_f_2(x_1, reduce(x_2)) 217.01/108.77 in_f_1(go_up(x_1), x_2) -> go_up(f(x_1, x_2)) 217.01/108.77 in_f_2(x_1, go_up(x_2)) -> go_up(f(x_1, x_2)) 217.01/108.77 217.01/108.77 The set Q consists of the following terms: 217.01/108.77 217.01/108.77 top(go_up(x0)) 217.01/108.77 reduce(f(x0, x1)) 217.01/108.77 redex_f(x0, f(a, x1)) 217.01/108.77 check_f(result_f(x0)) 217.01/108.77 check_f(redex_f(x0, x1)) 217.01/108.77 in_f_1(go_up(x0), x1) 217.01/108.77 in_f_2(x0, go_up(x1)) 217.01/108.77 217.01/108.77 We have to consider all minimal (P,Q,R)-chains. 217.01/108.77 ---------------------------------------- 217.01/108.77 217.01/108.77 (5) DependencyGraphProof (EQUIVALENT) 217.01/108.77 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 4 less nodes. 217.01/108.77 ---------------------------------------- 217.01/108.77 217.01/108.77 (6) 217.01/108.77 Complex Obligation (AND) 217.01/108.77 217.01/108.77 ---------------------------------------- 217.01/108.77 217.01/108.77 (7) 217.01/108.77 Obligation: 217.01/108.77 Q DP problem: 217.01/108.77 The TRS P consists of the following rules: 217.01/108.77 217.01/108.77 CHECK_F(redex_f(x_1, x_2)) -> REDUCE(x_1) 217.01/108.77 REDUCE(f(x_1, x_2)) -> CHECK_F(redex_f(x_1, x_2)) 217.01/108.77 CHECK_F(redex_f(x_1, x_2)) -> REDUCE(x_2) 217.01/108.77 217.01/108.77 The TRS R consists of the following rules: 217.01/108.77 217.01/108.77 top(go_up(x)) -> top(reduce(x)) 217.01/108.77 reduce(f(x_1, x_2)) -> check_f(redex_f(x_1, x_2)) 217.01/108.77 redex_f(x, f(a, y)) -> result_f(f(a, f(f(f(a, a), y), x))) 217.01/108.77 check_f(result_f(x)) -> go_up(x) 217.01/108.77 check_f(redex_f(x_1, x_2)) -> in_f_1(reduce(x_1), x_2) 217.01/108.77 check_f(redex_f(x_1, x_2)) -> in_f_2(x_1, reduce(x_2)) 217.01/108.77 in_f_1(go_up(x_1), x_2) -> go_up(f(x_1, x_2)) 217.01/108.77 in_f_2(x_1, go_up(x_2)) -> go_up(f(x_1, x_2)) 217.01/108.77 217.01/108.77 The set Q consists of the following terms: 217.01/108.77 217.01/108.77 top(go_up(x0)) 217.01/108.77 reduce(f(x0, x1)) 217.01/108.77 redex_f(x0, f(a, x1)) 217.01/108.77 check_f(result_f(x0)) 217.01/108.77 check_f(redex_f(x0, x1)) 217.01/108.77 in_f_1(go_up(x0), x1) 217.01/108.77 in_f_2(x0, go_up(x1)) 217.01/108.77 217.01/108.77 We have to consider all minimal (P,Q,R)-chains. 217.01/108.77 ---------------------------------------- 217.01/108.77 217.01/108.77 (8) UsableRulesProof (EQUIVALENT) 217.01/108.77 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. 217.01/108.77 ---------------------------------------- 217.01/108.77 217.01/108.77 (9) 217.01/108.77 Obligation: 217.01/108.77 Q DP problem: 217.01/108.77 The TRS P consists of the following rules: 217.01/108.77 217.01/108.77 CHECK_F(redex_f(x_1, x_2)) -> REDUCE(x_1) 217.01/108.77 REDUCE(f(x_1, x_2)) -> CHECK_F(redex_f(x_1, x_2)) 217.01/108.77 CHECK_F(redex_f(x_1, x_2)) -> REDUCE(x_2) 217.01/108.77 217.01/108.77 The TRS R consists of the following rules: 217.01/108.77 217.01/108.77 redex_f(x, f(a, y)) -> result_f(f(a, f(f(f(a, a), y), x))) 217.01/108.77 217.01/108.77 The set Q consists of the following terms: 217.01/108.77 217.01/108.77 top(go_up(x0)) 217.01/108.77 reduce(f(x0, x1)) 217.01/108.77 redex_f(x0, f(a, x1)) 217.01/108.77 check_f(result_f(x0)) 217.01/108.77 check_f(redex_f(x0, x1)) 217.01/108.77 in_f_1(go_up(x0), x1) 217.01/108.77 in_f_2(x0, go_up(x1)) 217.01/108.77 217.01/108.77 We have to consider all minimal (P,Q,R)-chains. 217.01/108.77 ---------------------------------------- 217.01/108.77 217.01/108.77 (10) QReductionProof (EQUIVALENT) 217.01/108.77 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 217.01/108.77 217.01/108.77 top(go_up(x0)) 217.01/108.77 reduce(f(x0, x1)) 217.01/108.77 check_f(result_f(x0)) 217.01/108.77 check_f(redex_f(x0, x1)) 217.01/108.77 in_f_1(go_up(x0), x1) 217.01/108.77 in_f_2(x0, go_up(x1)) 217.01/108.77 217.01/108.77 217.01/108.77 ---------------------------------------- 217.01/108.77 217.01/108.77 (11) 217.01/108.77 Obligation: 217.01/108.77 Q DP problem: 217.01/108.77 The TRS P consists of the following rules: 217.01/108.77 217.01/108.77 CHECK_F(redex_f(x_1, x_2)) -> REDUCE(x_1) 217.01/108.77 REDUCE(f(x_1, x_2)) -> CHECK_F(redex_f(x_1, x_2)) 217.01/108.77 CHECK_F(redex_f(x_1, x_2)) -> REDUCE(x_2) 217.01/108.77 217.01/108.77 The TRS R consists of the following rules: 217.01/108.77 217.01/108.77 redex_f(x, f(a, y)) -> result_f(f(a, f(f(f(a, a), y), x))) 217.01/108.77 217.01/108.77 The set Q consists of the following terms: 217.01/108.77 217.01/108.77 redex_f(x0, f(a, x1)) 217.01/108.77 217.01/108.77 We have to consider all minimal (P,Q,R)-chains. 217.01/108.77 ---------------------------------------- 217.01/108.77 217.01/108.77 (12) MRRProof (EQUIVALENT) 217.01/108.77 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. 217.01/108.77 217.01/108.77 217.01/108.77 Strictly oriented rules of the TRS R: 217.01/108.77 217.01/108.77 redex_f(x, f(a, y)) -> result_f(f(a, f(f(f(a, a), y), x))) 217.01/108.77 217.01/108.77 Used ordering: Polynomial interpretation [POLO]: 217.01/108.77 217.01/108.77 POL(CHECK_F(x_1)) = x_1 217.01/108.77 POL(REDUCE(x_1)) = 1 + 2*x_1 217.01/108.77 POL(a) = 0 217.01/108.77 POL(f(x_1, x_2)) = x_1 + x_2 217.01/108.77 POL(redex_f(x_1, x_2)) = 1 + 2*x_1 + 2*x_2 217.01/108.77 POL(result_f(x_1)) = 2*x_1 217.01/108.77 217.01/108.77 217.01/108.77 ---------------------------------------- 217.01/108.77 217.01/108.77 (13) 217.01/108.77 Obligation: 217.01/108.77 Q DP problem: 217.01/108.77 The TRS P consists of the following rules: 217.01/108.77 217.01/108.77 CHECK_F(redex_f(x_1, x_2)) -> REDUCE(x_1) 217.01/108.77 REDUCE(f(x_1, x_2)) -> CHECK_F(redex_f(x_1, x_2)) 217.01/108.77 CHECK_F(redex_f(x_1, x_2)) -> REDUCE(x_2) 217.01/108.77 217.01/108.77 R is empty. 217.01/108.77 The set Q consists of the following terms: 217.01/108.77 217.01/108.77 redex_f(x0, f(a, x1)) 217.01/108.77 217.01/108.77 We have to consider all minimal (P,Q,R)-chains. 217.01/108.77 ---------------------------------------- 217.01/108.77 217.01/108.77 (14) UsableRulesReductionPairsProof (EQUIVALENT) 217.01/108.77 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. 217.01/108.77 217.01/108.77 The following dependency pairs can be deleted: 217.01/108.77 217.01/108.77 REDUCE(f(x_1, x_2)) -> CHECK_F(redex_f(x_1, x_2)) 217.01/108.77 No rules are removed from R. 217.01/108.77 217.01/108.77 Used ordering: POLO with Polynomial interpretation [POLO]: 217.01/108.77 217.01/108.77 POL(CHECK_F(x_1)) = 2*x_1 217.01/108.77 POL(REDUCE(x_1)) = 2*x_1 217.01/108.77 POL(f(x_1, x_2)) = 2*x_1 + 2*x_2 217.01/108.77 POL(redex_f(x_1, x_2)) = 2*x_1 + x_2 217.01/108.77 217.01/108.77 217.01/108.77 ---------------------------------------- 217.01/108.77 217.01/108.77 (15) 217.01/108.77 Obligation: 217.01/108.77 Q DP problem: 217.01/108.77 The TRS P consists of the following rules: 217.01/108.77 217.01/108.77 CHECK_F(redex_f(x_1, x_2)) -> REDUCE(x_1) 217.01/108.77 CHECK_F(redex_f(x_1, x_2)) -> REDUCE(x_2) 217.01/108.77 217.01/108.77 R is empty. 217.01/108.77 The set Q consists of the following terms: 217.01/108.77 217.01/108.77 redex_f(x0, f(a, x1)) 217.01/108.77 217.01/108.77 We have to consider all minimal (P,Q,R)-chains. 217.01/108.77 ---------------------------------------- 217.01/108.77 217.01/108.77 (16) DependencyGraphProof (EQUIVALENT) 217.01/108.77 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 2 less nodes. 217.01/108.77 ---------------------------------------- 217.01/108.77 217.01/108.77 (17) 217.01/108.77 TRUE 217.01/108.77 217.01/108.77 ---------------------------------------- 217.01/108.77 217.01/108.77 (18) 217.01/108.77 Obligation: 217.01/108.77 Q DP problem: 217.01/108.77 The TRS P consists of the following rules: 217.01/108.77 217.01/108.77 TOP(go_up(x)) -> TOP(reduce(x)) 217.01/108.77 217.01/108.77 The TRS R consists of the following rules: 217.01/108.77 217.01/108.77 top(go_up(x)) -> top(reduce(x)) 217.01/108.77 reduce(f(x_1, x_2)) -> check_f(redex_f(x_1, x_2)) 217.01/108.77 redex_f(x, f(a, y)) -> result_f(f(a, f(f(f(a, a), y), x))) 217.01/108.77 check_f(result_f(x)) -> go_up(x) 217.01/108.77 check_f(redex_f(x_1, x_2)) -> in_f_1(reduce(x_1), x_2) 217.01/108.77 check_f(redex_f(x_1, x_2)) -> in_f_2(x_1, reduce(x_2)) 217.01/108.77 in_f_1(go_up(x_1), x_2) -> go_up(f(x_1, x_2)) 217.01/108.77 in_f_2(x_1, go_up(x_2)) -> go_up(f(x_1, x_2)) 217.01/108.77 217.01/108.77 The set Q consists of the following terms: 217.01/108.77 217.01/108.77 top(go_up(x0)) 217.01/108.77 reduce(f(x0, x1)) 217.01/108.77 redex_f(x0, f(a, x1)) 217.01/108.77 check_f(result_f(x0)) 217.01/108.77 check_f(redex_f(x0, x1)) 217.01/108.77 in_f_1(go_up(x0), x1) 217.01/108.77 in_f_2(x0, go_up(x1)) 217.01/108.77 217.01/108.77 We have to consider all minimal (P,Q,R)-chains. 217.01/108.77 ---------------------------------------- 217.01/108.77 217.01/108.77 (19) UsableRulesProof (EQUIVALENT) 217.01/108.77 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. 217.01/108.77 ---------------------------------------- 217.01/108.77 217.01/108.77 (20) 217.01/108.77 Obligation: 217.01/108.77 Q DP problem: 217.01/108.77 The TRS P consists of the following rules: 217.01/108.77 217.01/108.77 TOP(go_up(x)) -> TOP(reduce(x)) 217.01/108.77 217.01/108.77 The TRS R consists of the following rules: 217.01/108.77 217.01/108.77 reduce(f(x_1, x_2)) -> check_f(redex_f(x_1, x_2)) 217.01/108.77 redex_f(x, f(a, y)) -> result_f(f(a, f(f(f(a, a), y), x))) 217.01/108.77 check_f(result_f(x)) -> go_up(x) 217.01/108.77 check_f(redex_f(x_1, x_2)) -> in_f_1(reduce(x_1), x_2) 217.01/108.77 check_f(redex_f(x_1, x_2)) -> in_f_2(x_1, reduce(x_2)) 217.01/108.77 in_f_2(x_1, go_up(x_2)) -> go_up(f(x_1, x_2)) 217.01/108.77 in_f_1(go_up(x_1), x_2) -> go_up(f(x_1, x_2)) 217.01/108.77 217.01/108.77 The set Q consists of the following terms: 217.01/108.77 217.01/108.77 top(go_up(x0)) 217.01/108.77 reduce(f(x0, x1)) 217.01/108.77 redex_f(x0, f(a, x1)) 217.01/108.77 check_f(result_f(x0)) 217.01/108.77 check_f(redex_f(x0, x1)) 217.01/108.77 in_f_1(go_up(x0), x1) 217.01/108.77 in_f_2(x0, go_up(x1)) 217.01/108.77 217.01/108.77 We have to consider all minimal (P,Q,R)-chains. 217.01/108.77 ---------------------------------------- 217.01/108.77 217.01/108.77 (21) QReductionProof (EQUIVALENT) 217.01/108.77 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 217.01/108.77 217.01/108.77 top(go_up(x0)) 217.01/108.77 217.01/108.77 217.01/108.77 ---------------------------------------- 217.01/108.77 217.01/108.77 (22) 217.01/108.77 Obligation: 217.01/108.77 Q DP problem: 217.01/108.77 The TRS P consists of the following rules: 217.01/108.77 217.01/108.77 TOP(go_up(x)) -> TOP(reduce(x)) 217.01/108.77 217.01/108.77 The TRS R consists of the following rules: 217.01/108.77 217.01/108.77 reduce(f(x_1, x_2)) -> check_f(redex_f(x_1, x_2)) 217.01/108.77 redex_f(x, f(a, y)) -> result_f(f(a, f(f(f(a, a), y), x))) 217.01/108.77 check_f(result_f(x)) -> go_up(x) 217.01/108.77 check_f(redex_f(x_1, x_2)) -> in_f_1(reduce(x_1), x_2) 217.01/108.77 check_f(redex_f(x_1, x_2)) -> in_f_2(x_1, reduce(x_2)) 217.01/108.77 in_f_2(x_1, go_up(x_2)) -> go_up(f(x_1, x_2)) 217.01/108.77 in_f_1(go_up(x_1), x_2) -> go_up(f(x_1, x_2)) 217.01/108.77 217.01/108.77 The set Q consists of the following terms: 217.01/108.77 217.01/108.77 reduce(f(x0, x1)) 217.01/108.77 redex_f(x0, f(a, x1)) 217.01/108.77 check_f(result_f(x0)) 217.01/108.77 check_f(redex_f(x0, x1)) 217.01/108.77 in_f_1(go_up(x0), x1) 217.01/108.77 in_f_2(x0, go_up(x1)) 217.01/108.77 217.01/108.77 We have to consider all minimal (P,Q,R)-chains. 217.01/108.77 ---------------------------------------- 217.01/108.77 217.01/108.77 (23) TransformationProof (EQUIVALENT) 217.01/108.77 By narrowing [LPAR04] the rule TOP(go_up(x)) -> TOP(reduce(x)) at position [0] we obtained the following new rules [LPAR04]: 217.01/108.77 217.01/108.77 (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)))) 217.01/108.77 217.01/108.77 217.01/108.77 ---------------------------------------- 217.01/108.77 217.01/108.77 (24) 217.01/108.77 Obligation: 217.01/108.77 Q DP problem: 217.01/108.77 The TRS P consists of the following rules: 217.01/108.77 217.01/108.77 TOP(go_up(f(x0, x1))) -> TOP(check_f(redex_f(x0, x1))) 217.01/108.77 217.01/108.77 The TRS R consists of the following rules: 217.01/108.77 217.01/108.77 reduce(f(x_1, x_2)) -> check_f(redex_f(x_1, x_2)) 217.01/108.77 redex_f(x, f(a, y)) -> result_f(f(a, f(f(f(a, a), y), x))) 217.01/108.77 check_f(result_f(x)) -> go_up(x) 217.01/108.77 check_f(redex_f(x_1, x_2)) -> in_f_1(reduce(x_1), x_2) 217.01/108.77 check_f(redex_f(x_1, x_2)) -> in_f_2(x_1, reduce(x_2)) 217.01/108.77 in_f_2(x_1, go_up(x_2)) -> go_up(f(x_1, x_2)) 217.01/108.77 in_f_1(go_up(x_1), x_2) -> go_up(f(x_1, x_2)) 217.01/108.77 217.01/108.77 The set Q consists of the following terms: 217.01/108.77 217.01/108.77 reduce(f(x0, x1)) 217.01/108.77 redex_f(x0, f(a, x1)) 217.01/108.77 check_f(result_f(x0)) 217.01/108.77 check_f(redex_f(x0, x1)) 217.01/108.77 in_f_1(go_up(x0), x1) 217.01/108.77 in_f_2(x0, go_up(x1)) 217.01/108.77 217.01/108.77 We have to consider all minimal (P,Q,R)-chains. 217.01/108.77 ---------------------------------------- 217.01/108.77 217.01/108.77 (25) UsableRulesProof (EQUIVALENT) 217.01/108.77 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. 217.01/108.77 ---------------------------------------- 217.01/108.77 217.01/108.77 (26) 217.01/108.77 Obligation: 217.01/108.77 Q DP problem: 217.01/108.77 The TRS P consists of the following rules: 217.01/108.77 217.01/108.77 TOP(go_up(x)) -> TOP(reduce(x)) 217.01/108.77 217.01/108.77 The TRS R consists of the following rules: 217.01/108.77 217.01/108.77 reduce(f(x_1, x_2)) -> check_f(redex_f(x_1, x_2)) 217.01/108.77 redex_f(x, f(a, y)) -> result_f(f(a, f(f(f(a, a), y), x))) 217.01/108.77 check_f(result_f(x)) -> go_up(x) 217.01/108.77 check_f(redex_f(x_1, x_2)) -> in_f_1(reduce(x_1), x_2) 217.01/108.77 check_f(redex_f(x_1, x_2)) -> in_f_2(x_1, reduce(x_2)) 217.01/108.77 in_f_2(x_1, go_up(x_2)) -> go_up(f(x_1, x_2)) 217.01/108.77 in_f_1(go_up(x_1), x_2) -> go_up(f(x_1, x_2)) 217.01/108.77 217.01/108.77 The set Q consists of the following terms: 217.01/108.77 217.01/108.77 top(go_up(x0)) 217.01/108.77 reduce(f(x0, x1)) 217.01/108.77 redex_f(x0, f(a, x1)) 217.01/108.77 check_f(result_f(x0)) 217.01/108.77 check_f(redex_f(x0, x1)) 217.01/108.77 in_f_1(go_up(x0), x1) 217.01/108.77 in_f_2(x0, go_up(x1)) 217.01/108.77 217.01/108.77 We have to consider all minimal (P,Q,R)-chains. 217.01/108.77 ---------------------------------------- 217.01/108.77 217.01/108.77 (27) QReductionProof (EQUIVALENT) 217.01/108.77 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 217.01/108.77 217.01/108.77 top(go_up(x0)) 217.01/108.77 217.01/108.77 217.01/108.77 ---------------------------------------- 217.01/108.77 217.01/108.77 (28) 217.01/108.77 Obligation: 217.01/108.77 Q DP problem: 217.01/108.77 The TRS P consists of the following rules: 217.01/108.77 217.01/108.77 TOP(go_up(x)) -> TOP(reduce(x)) 217.01/108.77 217.01/108.77 The TRS R consists of the following rules: 217.01/108.77 217.01/108.77 reduce(f(x_1, x_2)) -> check_f(redex_f(x_1, x_2)) 217.01/108.77 redex_f(x, f(a, y)) -> result_f(f(a, f(f(f(a, a), y), x))) 217.01/108.77 check_f(result_f(x)) -> go_up(x) 217.01/108.77 check_f(redex_f(x_1, x_2)) -> in_f_1(reduce(x_1), x_2) 217.01/108.77 check_f(redex_f(x_1, x_2)) -> in_f_2(x_1, reduce(x_2)) 217.01/108.77 in_f_2(x_1, go_up(x_2)) -> go_up(f(x_1, x_2)) 217.01/108.77 in_f_1(go_up(x_1), x_2) -> go_up(f(x_1, x_2)) 217.01/108.77 217.01/108.77 The set Q consists of the following terms: 217.01/108.77 217.01/108.77 reduce(f(x0, x1)) 217.01/108.77 redex_f(x0, f(a, x1)) 217.01/108.77 check_f(result_f(x0)) 217.01/108.77 check_f(redex_f(x0, x1)) 217.01/108.77 in_f_1(go_up(x0), x1) 217.01/108.77 in_f_2(x0, go_up(x1)) 217.01/108.77 217.01/108.77 We have to consider all minimal (P,Q,R)-chains. 217.01/108.77 ---------------------------------------- 217.01/108.77 217.01/108.77 (29) Trivial-Transformation (SOUND) 217.01/108.77 We applied the Trivial transformation to transform the outermost TRS to a standard TRS. 217.01/108.77 ---------------------------------------- 217.01/108.77 217.01/108.77 (30) 217.01/108.77 Obligation: 217.01/108.77 Q restricted rewrite system: 217.01/108.77 The TRS R consists of the following rules: 217.01/108.77 217.01/108.77 f(x, f(a, y)) -> f(a, f(f(f(a, a), y), x)) 217.01/108.77 217.01/108.77 Q is empty. 217.01/108.77 217.01/108.77 ---------------------------------------- 217.01/108.77 217.01/108.77 (31) DependencyPairsProof (EQUIVALENT) 217.01/108.77 Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. 217.01/108.77 ---------------------------------------- 217.01/108.77 217.01/108.77 (32) 217.01/108.77 Obligation: 217.01/108.77 Q DP problem: 217.01/108.77 The TRS P consists of the following rules: 217.01/108.77 217.01/108.77 F(x, f(a, y)) -> F(a, f(f(f(a, a), y), x)) 217.01/108.77 F(x, f(a, y)) -> F(f(f(a, a), y), x) 217.01/108.77 F(x, f(a, y)) -> F(f(a, a), y) 217.01/108.77 F(x, f(a, y)) -> F(a, a) 217.01/108.77 217.01/108.77 The TRS R consists of the following rules: 217.01/108.77 217.01/108.77 f(x, f(a, y)) -> f(a, f(f(f(a, a), y), x)) 217.01/108.77 217.01/108.77 Q is empty. 217.01/108.77 We have to consider all minimal (P,Q,R)-chains. 217.01/108.77 ---------------------------------------- 217.01/108.77 217.01/108.77 (33) DependencyGraphProof (EQUIVALENT) 217.01/108.77 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 217.01/108.77 ---------------------------------------- 217.01/108.77 217.01/108.77 (34) 217.01/108.77 Obligation: 217.01/108.77 Q DP problem: 217.01/108.77 The TRS P consists of the following rules: 217.01/108.77 217.01/108.77 F(x, f(a, y)) -> F(f(f(a, a), y), x) 217.01/108.77 F(x, f(a, y)) -> F(a, f(f(f(a, a), y), x)) 217.01/108.77 F(x, f(a, y)) -> F(f(a, a), y) 217.01/108.77 217.01/108.77 The TRS R consists of the following rules: 217.01/108.77 217.01/108.77 f(x, f(a, y)) -> f(a, f(f(f(a, a), y), x)) 217.01/108.77 217.01/108.77 Q is empty. 217.01/108.77 We have to consider all minimal (P,Q,R)-chains. 217.01/108.77 ---------------------------------------- 217.01/108.77 217.01/108.77 (35) TransformationProof (EQUIVALENT) 217.01/108.77 By narrowing [LPAR04] the rule F(x, f(a, y)) -> F(a, f(f(f(a, a), y), x)) at position [1] we obtained the following new rules [LPAR04]: 217.01/108.77 217.01/108.77 (F(f(a, x1), f(a, y1)) -> F(a, f(a, f(f(f(a, a), x1), f(f(a, a), y1)))),F(f(a, x1), f(a, y1)) -> F(a, f(a, f(f(f(a, a), x1), f(f(a, a), y1))))) 217.01/108.77 (F(y0, f(a, f(a, x1))) -> F(a, f(f(a, f(f(f(a, a), x1), f(a, a))), y0)),F(y0, f(a, f(a, x1))) -> F(a, f(f(a, f(f(f(a, a), x1), f(a, a))), y0))) 217.01/108.77 217.01/108.77 217.01/108.77 ---------------------------------------- 217.01/108.77 217.01/108.77 (36) 217.01/108.77 Obligation: 217.01/108.77 Q DP problem: 217.01/108.77 The TRS P consists of the following rules: 217.01/108.77 217.01/108.77 F(x, f(a, y)) -> F(f(f(a, a), y), x) 217.01/108.77 F(x, f(a, y)) -> F(f(a, a), y) 217.01/108.77 F(f(a, x1), f(a, y1)) -> F(a, f(a, f(f(f(a, a), x1), f(f(a, a), y1)))) 217.01/108.77 F(y0, f(a, f(a, x1))) -> F(a, f(f(a, f(f(f(a, a), x1), f(a, a))), y0)) 217.01/108.77 217.01/108.77 The TRS R consists of the following rules: 217.01/108.77 217.01/108.77 f(x, f(a, y)) -> f(a, f(f(f(a, a), y), x)) 217.01/108.77 217.01/108.77 Q is empty. 217.01/108.77 We have to consider all minimal (P,Q,R)-chains. 217.01/108.77 ---------------------------------------- 217.01/108.77 217.01/108.77 (37) NonTerminationLoopProof (COMPLETE) 217.01/108.77 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 217.01/108.77 Found a loop by narrowing to the right: 217.01/108.77 217.01/108.77 s = F(x, f(a, f(a, y'))) evaluates to t =F(f(a, f(a, f(f(f(a, a), a), f(f(a, a), y')))), x) 217.01/108.77 217.01/108.77 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 217.01/108.77 * Matcher: [y' / y'', y'' / f(f(f(a, a), a), f(f(a, a), y'))] 217.01/108.77 * Semiunifier: [x / f(a, f(a, y''))] 217.01/108.77 217.01/108.77 -------------------------------------------------------------------------------- 217.01/108.77 Rewriting sequence 217.01/108.77 217.01/108.77 F(f(a, f(a, y'')), f(a, f(a, y'))) -> F(f(f(a, a), f(a, y')), f(a, f(a, y''))) 217.01/108.77 with rule F(x, f(a, y)) -> F(f(f(a, a), y), x) and matcher [x / f(a, f(a, y'')), y / f(a, y')]. 217.01/108.77 217.01/108.77 F(f(f(a, a), f(a, y')), f(a, f(a, y''))) -> F(f(a, f(f(f(a, a), y'), f(a, a))), f(a, f(a, y''))) 217.01/108.77 with rule f(x', f(a, y''')) -> f(a, f(f(f(a, a), y'''), x')) at position [0] and matcher [x' / f(a, a), y''' / y'] 217.01/108.77 217.01/108.77 F(f(a, f(f(f(a, a), y'), f(a, a))), f(a, f(a, y''))) -> F(f(a, f(a, f(f(f(a, a), a), f(f(a, a), y')))), f(a, f(a, y''))) 217.01/108.77 with rule f(x', f(a, y)) -> f(a, f(f(f(a, a), y), x')) at position [0,1] and matcher [x' / f(f(a, a), y'), y / a] 217.01/108.77 217.01/108.77 Now applying the matcher to the start term leads to a term which is equal to the last term in the rewriting sequence 217.01/108.77 217.01/108.77 217.01/108.77 All these steps are and every following step will be a correct step w.r.t to Q. 217.01/108.77 217.01/108.77 217.01/108.77 217.01/108.77 217.01/108.77 ---------------------------------------- 217.01/108.77 217.01/108.77 (38) 217.01/108.77 NO 217.01/108.77 217.01/108.77 ---------------------------------------- 217.01/108.77 217.01/108.77 (39) Raffelsieper-Zantema-Transformation (SOUND) 217.01/108.77 We applied the Raffelsieper-Zantema transformation to transform the outermost TRS to a standard TRS. 217.01/108.77 ---------------------------------------- 217.01/108.77 217.01/108.77 (40) 217.01/108.77 Obligation: 217.01/108.77 Q restricted rewrite system: 217.01/108.77 The TRS R consists of the following rules: 217.01/108.77 217.01/108.77 down(f(x, f(a, y))) -> up(f(a, f(f(f(a, a), y), x))) 217.01/108.77 top(up(x)) -> top(down(x)) 217.01/108.77 down(f(y20, a)) -> f_flat(down(y20), block(a)) 217.01/108.77 down(f(y20, a)) -> f_flat(block(y20), down(a)) 217.01/108.77 down(f(y23, fresh_constant)) -> f_flat(down(y23), block(fresh_constant)) 217.01/108.77 down(f(y23, fresh_constant)) -> f_flat(block(y23), down(fresh_constant)) 217.01/108.77 down(f(y9, f(f(y52, y53), y54))) -> f_flat(down(y9), block(f(f(y52, y53), y54))) 217.01/108.77 down(f(y9, f(f(y52, y53), y54))) -> f_flat(block(y9), down(f(f(y52, y53), y54))) 217.01/108.77 down(f(y9, f(fresh_constant, y56))) -> f_flat(down(y9), block(f(fresh_constant, y56))) 217.01/108.77 down(f(y9, f(fresh_constant, y56))) -> f_flat(block(y9), down(f(fresh_constant, y56))) 217.01/108.77 f_flat(up(x_1), block(x_2)) -> up(f(x_1, x_2)) 217.01/108.77 f_flat(block(x_1), up(x_2)) -> up(f(x_1, x_2)) 217.01/108.77 217.01/108.77 Q is empty. 217.01/108.77 217.01/108.77 ---------------------------------------- 217.01/108.77 217.01/108.77 (41) DependencyPairsProof (EQUIVALENT) 217.01/108.77 Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. 217.01/108.77 ---------------------------------------- 217.01/108.77 217.01/108.77 (42) 217.01/108.77 Obligation: 217.01/108.77 Q DP problem: 217.01/108.77 The TRS P consists of the following rules: 217.01/108.77 217.01/108.77 TOP(up(x)) -> TOP(down(x)) 217.01/108.77 TOP(up(x)) -> DOWN(x) 217.01/108.77 DOWN(f(y20, a)) -> F_FLAT(down(y20), block(a)) 217.01/108.77 DOWN(f(y20, a)) -> DOWN(y20) 217.01/108.77 DOWN(f(y20, a)) -> F_FLAT(block(y20), down(a)) 217.01/108.77 DOWN(f(y20, a)) -> DOWN(a) 217.01/108.77 DOWN(f(y23, fresh_constant)) -> F_FLAT(down(y23), block(fresh_constant)) 217.01/108.77 DOWN(f(y23, fresh_constant)) -> DOWN(y23) 217.01/108.77 DOWN(f(y23, fresh_constant)) -> F_FLAT(block(y23), down(fresh_constant)) 217.01/108.77 DOWN(f(y23, fresh_constant)) -> DOWN(fresh_constant) 217.01/108.77 DOWN(f(y9, f(f(y52, y53), y54))) -> F_FLAT(down(y9), block(f(f(y52, y53), y54))) 217.01/108.77 DOWN(f(y9, f(f(y52, y53), y54))) -> DOWN(y9) 217.01/108.77 DOWN(f(y9, f(f(y52, y53), y54))) -> F_FLAT(block(y9), down(f(f(y52, y53), y54))) 217.01/108.77 DOWN(f(y9, f(f(y52, y53), y54))) -> DOWN(f(f(y52, y53), y54)) 217.01/108.77 DOWN(f(y9, f(fresh_constant, y56))) -> F_FLAT(down(y9), block(f(fresh_constant, y56))) 217.01/108.77 DOWN(f(y9, f(fresh_constant, y56))) -> DOWN(y9) 217.01/108.77 DOWN(f(y9, f(fresh_constant, y56))) -> F_FLAT(block(y9), down(f(fresh_constant, y56))) 217.01/108.77 DOWN(f(y9, f(fresh_constant, y56))) -> DOWN(f(fresh_constant, y56)) 217.01/108.77 217.01/108.77 The TRS R consists of the following rules: 217.01/108.77 217.01/108.77 down(f(x, f(a, y))) -> up(f(a, f(f(f(a, a), y), x))) 217.20/108.79 top(up(x)) -> top(down(x)) 217.20/108.79 down(f(y20, a)) -> f_flat(down(y20), block(a)) 217.20/108.79 down(f(y20, a)) -> f_flat(block(y20), down(a)) 217.20/108.79 down(f(y23, fresh_constant)) -> f_flat(down(y23), block(fresh_constant)) 217.20/108.79 down(f(y23, fresh_constant)) -> f_flat(block(y23), down(fresh_constant)) 217.20/108.79 down(f(y9, f(f(y52, y53), y54))) -> f_flat(down(y9), block(f(f(y52, y53), y54))) 217.20/108.79 down(f(y9, f(f(y52, y53), y54))) -> f_flat(block(y9), down(f(f(y52, y53), y54))) 217.20/108.79 down(f(y9, f(fresh_constant, y56))) -> f_flat(down(y9), block(f(fresh_constant, y56))) 217.20/108.79 down(f(y9, f(fresh_constant, y56))) -> f_flat(block(y9), down(f(fresh_constant, y56))) 217.20/108.79 f_flat(up(x_1), block(x_2)) -> up(f(x_1, x_2)) 217.20/108.79 f_flat(block(x_1), up(x_2)) -> up(f(x_1, x_2)) 217.20/108.79 217.20/108.79 Q is empty. 217.20/108.79 We have to consider all minimal (P,Q,R)-chains. 217.20/108.79 ---------------------------------------- 217.20/108.79 217.20/108.79 (43) DependencyGraphProof (EQUIVALENT) 217.20/108.79 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 11 less nodes. 217.20/108.79 ---------------------------------------- 217.20/108.79 217.20/108.79 (44) 217.20/108.79 Complex Obligation (AND) 217.20/108.79 217.20/108.79 ---------------------------------------- 217.20/108.79 217.20/108.79 (45) 217.20/108.79 Obligation: 217.20/108.79 Q DP problem: 217.20/108.79 The TRS P consists of the following rules: 217.20/108.79 217.20/108.79 DOWN(f(y23, fresh_constant)) -> DOWN(y23) 217.20/108.79 DOWN(f(y20, a)) -> DOWN(y20) 217.20/108.79 DOWN(f(y9, f(f(y52, y53), y54))) -> DOWN(y9) 217.20/108.79 DOWN(f(y9, f(f(y52, y53), y54))) -> DOWN(f(f(y52, y53), y54)) 217.20/108.79 DOWN(f(y9, f(fresh_constant, y56))) -> DOWN(y9) 217.20/108.79 DOWN(f(y9, f(fresh_constant, y56))) -> DOWN(f(fresh_constant, y56)) 217.20/108.79 217.20/108.79 The TRS R consists of the following rules: 217.20/108.79 217.20/108.79 down(f(x, f(a, y))) -> up(f(a, f(f(f(a, a), y), x))) 217.20/108.79 top(up(x)) -> top(down(x)) 217.20/108.79 down(f(y20, a)) -> f_flat(down(y20), block(a)) 217.20/108.79 down(f(y20, a)) -> f_flat(block(y20), down(a)) 217.20/108.79 down(f(y23, fresh_constant)) -> f_flat(down(y23), block(fresh_constant)) 217.20/108.79 down(f(y23, fresh_constant)) -> f_flat(block(y23), down(fresh_constant)) 217.20/108.79 down(f(y9, f(f(y52, y53), y54))) -> f_flat(down(y9), block(f(f(y52, y53), y54))) 217.20/108.79 down(f(y9, f(f(y52, y53), y54))) -> f_flat(block(y9), down(f(f(y52, y53), y54))) 217.20/108.79 down(f(y9, f(fresh_constant, y56))) -> f_flat(down(y9), block(f(fresh_constant, y56))) 217.20/108.79 down(f(y9, f(fresh_constant, y56))) -> f_flat(block(y9), down(f(fresh_constant, y56))) 217.20/108.79 f_flat(up(x_1), block(x_2)) -> up(f(x_1, x_2)) 217.20/108.79 f_flat(block(x_1), up(x_2)) -> up(f(x_1, x_2)) 217.20/108.79 217.20/108.79 Q is empty. 217.20/108.79 We have to consider all minimal (P,Q,R)-chains. 217.20/108.79 ---------------------------------------- 217.20/108.79 217.20/108.79 (46) UsableRulesProof (EQUIVALENT) 217.20/108.79 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. 217.20/108.79 ---------------------------------------- 217.20/108.79 217.20/108.79 (47) 217.20/108.79 Obligation: 217.20/108.79 Q DP problem: 217.20/108.79 The TRS P consists of the following rules: 217.20/108.79 217.20/108.79 DOWN(f(y23, fresh_constant)) -> DOWN(y23) 217.20/108.79 DOWN(f(y20, a)) -> DOWN(y20) 217.20/108.79 DOWN(f(y9, f(f(y52, y53), y54))) -> DOWN(y9) 217.20/108.79 DOWN(f(y9, f(f(y52, y53), y54))) -> DOWN(f(f(y52, y53), y54)) 217.20/108.79 DOWN(f(y9, f(fresh_constant, y56))) -> DOWN(y9) 217.20/108.79 DOWN(f(y9, f(fresh_constant, y56))) -> DOWN(f(fresh_constant, y56)) 217.20/108.79 217.20/108.79 R is empty. 217.20/108.79 Q is empty. 217.20/108.79 We have to consider all minimal (P,Q,R)-chains. 217.20/108.79 ---------------------------------------- 217.20/108.79 217.20/108.79 (48) QDPSizeChangeProof (EQUIVALENT) 217.20/108.79 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. 217.20/108.79 217.20/108.79 From the DPs we obtained the following set of size-change graphs: 217.20/108.79 *DOWN(f(y23, fresh_constant)) -> DOWN(y23) 217.20/108.79 The graph contains the following edges 1 > 1 217.20/108.79 217.20/108.79 217.20/108.79 *DOWN(f(y20, a)) -> DOWN(y20) 217.20/108.79 The graph contains the following edges 1 > 1 217.20/108.79 217.20/108.79 217.20/108.79 *DOWN(f(y9, f(f(y52, y53), y54))) -> DOWN(y9) 217.20/108.79 The graph contains the following edges 1 > 1 217.20/108.79 217.20/108.79 217.20/108.79 *DOWN(f(y9, f(f(y52, y53), y54))) -> DOWN(f(f(y52, y53), y54)) 217.20/108.79 The graph contains the following edges 1 > 1 217.20/108.79 217.20/108.79 217.20/108.79 *DOWN(f(y9, f(fresh_constant, y56))) -> DOWN(y9) 217.20/108.79 The graph contains the following edges 1 > 1 217.20/108.79 217.20/108.79 217.20/108.79 *DOWN(f(y9, f(fresh_constant, y56))) -> DOWN(f(fresh_constant, y56)) 217.20/108.79 The graph contains the following edges 1 > 1 217.20/108.79 217.20/108.79 217.20/108.79 ---------------------------------------- 217.20/108.79 217.20/108.79 (49) 217.20/108.79 YES 217.20/108.79 217.20/108.79 ---------------------------------------- 217.20/108.79 217.20/108.79 (50) 217.20/108.79 Obligation: 217.20/108.79 Q DP problem: 217.20/108.79 The TRS P consists of the following rules: 217.20/108.79 217.20/108.79 TOP(up(x)) -> TOP(down(x)) 217.20/108.79 217.20/108.79 The TRS R consists of the following rules: 217.20/108.79 217.20/108.79 down(f(x, f(a, y))) -> up(f(a, f(f(f(a, a), y), x))) 217.20/108.79 top(up(x)) -> top(down(x)) 217.20/108.79 down(f(y20, a)) -> f_flat(down(y20), block(a)) 217.20/108.79 down(f(y20, a)) -> f_flat(block(y20), down(a)) 217.20/108.79 down(f(y23, fresh_constant)) -> f_flat(down(y23), block(fresh_constant)) 217.20/108.79 down(f(y23, fresh_constant)) -> f_flat(block(y23), down(fresh_constant)) 217.20/108.79 down(f(y9, f(f(y52, y53), y54))) -> f_flat(down(y9), block(f(f(y52, y53), y54))) 217.20/108.79 down(f(y9, f(f(y52, y53), y54))) -> f_flat(block(y9), down(f(f(y52, y53), y54))) 217.20/108.79 down(f(y9, f(fresh_constant, y56))) -> f_flat(down(y9), block(f(fresh_constant, y56))) 217.20/108.79 down(f(y9, f(fresh_constant, y56))) -> f_flat(block(y9), down(f(fresh_constant, y56))) 217.20/108.79 f_flat(up(x_1), block(x_2)) -> up(f(x_1, x_2)) 217.20/108.79 f_flat(block(x_1), up(x_2)) -> up(f(x_1, x_2)) 217.20/108.79 217.20/108.79 Q is empty. 217.20/108.79 We have to consider all minimal (P,Q,R)-chains. 217.20/108.79 ---------------------------------------- 217.20/108.79 217.20/108.79 (51) UsableRulesProof (EQUIVALENT) 217.20/108.79 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. 217.20/108.79 ---------------------------------------- 217.20/108.79 217.20/108.79 (52) 217.20/108.79 Obligation: 217.20/108.79 Q DP problem: 217.20/108.79 The TRS P consists of the following rules: 217.20/108.79 217.20/108.79 TOP(up(x)) -> TOP(down(x)) 217.20/108.79 217.20/108.79 The TRS R consists of the following rules: 217.20/108.79 217.20/108.79 down(f(x, f(a, y))) -> up(f(a, f(f(f(a, a), y), x))) 217.20/108.79 down(f(y20, a)) -> f_flat(down(y20), block(a)) 217.20/108.79 down(f(y20, a)) -> f_flat(block(y20), down(a)) 217.20/108.79 down(f(y23, fresh_constant)) -> f_flat(down(y23), block(fresh_constant)) 217.20/108.79 down(f(y23, fresh_constant)) -> f_flat(block(y23), down(fresh_constant)) 217.20/108.79 down(f(y9, f(f(y52, y53), y54))) -> f_flat(down(y9), block(f(f(y52, y53), y54))) 217.20/108.79 down(f(y9, f(f(y52, y53), y54))) -> f_flat(block(y9), down(f(f(y52, y53), y54))) 217.20/108.79 down(f(y9, f(fresh_constant, y56))) -> f_flat(down(y9), block(f(fresh_constant, y56))) 217.20/108.79 down(f(y9, f(fresh_constant, y56))) -> f_flat(block(y9), down(f(fresh_constant, y56))) 217.20/108.79 f_flat(block(x_1), up(x_2)) -> up(f(x_1, x_2)) 217.20/108.79 f_flat(up(x_1), block(x_2)) -> up(f(x_1, x_2)) 217.20/108.79 217.20/108.79 Q is empty. 217.20/108.79 We have to consider all minimal (P,Q,R)-chains. 217.20/108.79 ---------------------------------------- 217.20/108.79 217.20/108.79 (53) TransformationProof (EQUIVALENT) 217.20/108.79 By narrowing [LPAR04] the rule TOP(up(x)) -> TOP(down(x)) at position [0] we obtained the following new rules [LPAR04]: 217.20/108.79 217.20/108.79 (TOP(up(f(x0, f(a, x1)))) -> TOP(up(f(a, f(f(f(a, a), x1), x0)))),TOP(up(f(x0, f(a, x1)))) -> TOP(up(f(a, f(f(f(a, a), x1), x0))))) 217.20/108.79 (TOP(up(f(x0, a))) -> TOP(f_flat(down(x0), block(a))),TOP(up(f(x0, a))) -> TOP(f_flat(down(x0), block(a)))) 217.20/108.79 (TOP(up(f(x0, a))) -> TOP(f_flat(block(x0), down(a))),TOP(up(f(x0, a))) -> TOP(f_flat(block(x0), down(a)))) 217.20/108.79 (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)))) 217.20/108.79 (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)))) 217.20/108.79 (TOP(up(f(x0, f(f(x1, x2), x3)))) -> TOP(f_flat(down(x0), block(f(f(x1, x2), x3)))),TOP(up(f(x0, f(f(x1, x2), x3)))) -> TOP(f_flat(down(x0), block(f(f(x1, x2), x3))))) 217.20/108.79 (TOP(up(f(x0, f(f(x1, x2), x3)))) -> TOP(f_flat(block(x0), down(f(f(x1, x2), x3)))),TOP(up(f(x0, f(f(x1, x2), x3)))) -> TOP(f_flat(block(x0), down(f(f(x1, x2), x3))))) 217.20/108.79 (TOP(up(f(x0, f(fresh_constant, x1)))) -> TOP(f_flat(down(x0), block(f(fresh_constant, x1)))),TOP(up(f(x0, f(fresh_constant, x1)))) -> TOP(f_flat(down(x0), block(f(fresh_constant, x1))))) 217.20/108.79 (TOP(up(f(x0, f(fresh_constant, x1)))) -> TOP(f_flat(block(x0), down(f(fresh_constant, x1)))),TOP(up(f(x0, f(fresh_constant, x1)))) -> TOP(f_flat(block(x0), down(f(fresh_constant, x1))))) 217.20/108.79 217.20/108.79 217.20/108.79 ---------------------------------------- 217.20/108.79 217.20/108.79 (54) 217.20/108.79 Obligation: 217.20/108.79 Q DP problem: 217.20/108.79 The TRS P consists of the following rules: 217.20/108.79 217.20/108.79 TOP(up(f(x0, f(a, x1)))) -> TOP(up(f(a, f(f(f(a, a), x1), x0)))) 217.20/108.79 TOP(up(f(x0, a))) -> TOP(f_flat(down(x0), block(a))) 217.20/108.79 TOP(up(f(x0, a))) -> TOP(f_flat(block(x0), down(a))) 217.20/108.79 TOP(up(f(x0, fresh_constant))) -> TOP(f_flat(down(x0), block(fresh_constant))) 217.20/108.79 TOP(up(f(x0, fresh_constant))) -> TOP(f_flat(block(x0), down(fresh_constant))) 217.20/108.79 TOP(up(f(x0, f(f(x1, x2), x3)))) -> TOP(f_flat(down(x0), block(f(f(x1, x2), x3)))) 217.20/108.79 TOP(up(f(x0, f(f(x1, x2), x3)))) -> TOP(f_flat(block(x0), down(f(f(x1, x2), x3)))) 217.20/108.79 TOP(up(f(x0, f(fresh_constant, x1)))) -> TOP(f_flat(down(x0), block(f(fresh_constant, x1)))) 217.20/108.79 TOP(up(f(x0, f(fresh_constant, x1)))) -> TOP(f_flat(block(x0), down(f(fresh_constant, x1)))) 217.20/108.79 217.20/108.79 The TRS R consists of the following rules: 217.20/108.79 217.20/108.79 down(f(x, f(a, y))) -> up(f(a, f(f(f(a, a), y), x))) 217.20/108.79 down(f(y20, a)) -> f_flat(down(y20), block(a)) 217.20/108.79 down(f(y20, a)) -> f_flat(block(y20), down(a)) 217.20/108.79 down(f(y23, fresh_constant)) -> f_flat(down(y23), block(fresh_constant)) 217.20/108.79 down(f(y23, fresh_constant)) -> f_flat(block(y23), down(fresh_constant)) 217.20/108.79 down(f(y9, f(f(y52, y53), y54))) -> f_flat(down(y9), block(f(f(y52, y53), y54))) 217.20/108.79 down(f(y9, f(f(y52, y53), y54))) -> f_flat(block(y9), down(f(f(y52, y53), y54))) 217.20/108.79 down(f(y9, f(fresh_constant, y56))) -> f_flat(down(y9), block(f(fresh_constant, y56))) 217.20/108.79 down(f(y9, f(fresh_constant, y56))) -> f_flat(block(y9), down(f(fresh_constant, y56))) 217.20/108.79 f_flat(block(x_1), up(x_2)) -> up(f(x_1, x_2)) 217.20/108.79 f_flat(up(x_1), block(x_2)) -> up(f(x_1, x_2)) 217.20/108.79 217.20/108.79 Q is empty. 217.20/108.79 We have to consider all minimal (P,Q,R)-chains. 217.20/108.79 ---------------------------------------- 217.20/108.79 217.20/108.79 (55) DependencyGraphProof (EQUIVALENT) 217.20/108.79 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. 217.20/108.79 ---------------------------------------- 217.20/108.79 217.20/108.79 (56) 217.20/108.79 Obligation: 217.20/108.79 Q DP problem: 217.20/108.79 The TRS P consists of the following rules: 217.20/108.79 217.20/108.79 TOP(up(f(x0, f(f(x1, x2), x3)))) -> TOP(f_flat(down(x0), block(f(f(x1, x2), x3)))) 217.20/108.79 TOP(up(f(x0, f(a, x1)))) -> TOP(up(f(a, f(f(f(a, a), x1), x0)))) 217.20/108.79 TOP(up(f(x0, f(f(x1, x2), x3)))) -> TOP(f_flat(block(x0), down(f(f(x1, x2), x3)))) 217.20/108.79 TOP(up(f(x0, a))) -> TOP(f_flat(down(x0), block(a))) 217.20/108.79 TOP(up(f(x0, fresh_constant))) -> TOP(f_flat(down(x0), block(fresh_constant))) 217.20/108.79 TOP(up(f(x0, f(fresh_constant, x1)))) -> TOP(f_flat(down(x0), block(f(fresh_constant, x1)))) 217.20/108.79 TOP(up(f(x0, f(fresh_constant, x1)))) -> TOP(f_flat(block(x0), down(f(fresh_constant, x1)))) 217.20/108.79 217.20/108.79 The TRS R consists of the following rules: 217.20/108.79 217.20/108.79 down(f(x, f(a, y))) -> up(f(a, f(f(f(a, a), y), x))) 217.20/108.79 down(f(y20, a)) -> f_flat(down(y20), block(a)) 217.20/108.79 down(f(y20, a)) -> f_flat(block(y20), down(a)) 217.20/108.79 down(f(y23, fresh_constant)) -> f_flat(down(y23), block(fresh_constant)) 217.20/108.79 down(f(y23, fresh_constant)) -> f_flat(block(y23), down(fresh_constant)) 217.20/108.79 down(f(y9, f(f(y52, y53), y54))) -> f_flat(down(y9), block(f(f(y52, y53), y54))) 217.20/108.79 down(f(y9, f(f(y52, y53), y54))) -> f_flat(block(y9), down(f(f(y52, y53), y54))) 217.20/108.79 down(f(y9, f(fresh_constant, y56))) -> f_flat(down(y9), block(f(fresh_constant, y56))) 217.20/108.79 down(f(y9, f(fresh_constant, y56))) -> f_flat(block(y9), down(f(fresh_constant, y56))) 217.20/108.79 f_flat(block(x_1), up(x_2)) -> up(f(x_1, x_2)) 217.20/108.79 f_flat(up(x_1), block(x_2)) -> up(f(x_1, x_2)) 217.20/108.79 217.20/108.79 Q is empty. 217.20/108.79 We have to consider all minimal (P,Q,R)-chains. 217.20/108.79 ---------------------------------------- 217.20/108.79 217.20/108.79 (57) SplitQDPProof (EQUIVALENT) 217.20/108.79 We show in the first subproof that some pairs and rules can be removed, afterwards, we continue with the remaining DP-Problem 217.20/108.79 217.20/108.79 ---------------------------------------- 217.20/108.79 217.20/108.79 (58) 217.20/108.79 Complex Obligation (AND) 217.20/108.79 217.20/108.79 ---------------------------------------- 217.20/108.79 217.20/108.79 (59) 217.20/108.79 Obligation: 217.20/108.79 Q DP problem: 217.20/108.79 The TRS P consists of the following rules: 217.20/108.79 217.20/108.79 TOP(up(f(x0, f(f(x1, x2), x3)))) -> TOP(f_flat(down(x0), block(f(f(x1, x2), x3)))) 217.20/108.79 TOP(up(f(x0, f(a, x1)))) -> TOP(up(f(a, f(f(f(a, a), x1), x0)))) 217.20/108.79 TOP(up(f(x0, f(f(x1, x2), x3)))) -> TOP(f_flat(block(x0), down(f(f(x1, x2), x3)))) 217.20/108.79 TOP(up(f(x0, a))) -> TOP(f_flat(down(x0), block(a))) 217.20/108.79 TOP(up(f(x0, fresh_constant))) -> TOP(f_flat(down(x0), block(fresh_constant))) 217.20/108.79 TOP(up(f(x0, f(fresh_constant, x1)))) -> TOP(f_flat(down(x0), block(f(fresh_constant, x1)))) 217.20/108.79 TOP(up(f(x0, f(fresh_constant, x1)))) -> TOP(f_flat(block(x0), down(f(fresh_constant, x1)))) 217.20/108.79 217.20/108.79 The TRS R consists of the following rules: 217.20/108.79 217.20/108.79 down(f(x, f(a, y))) -> up(f(a, f(f(f(a, a), y), x))) 217.20/108.79 down(f(y20, a)) -> f_flat(down(y20), block(a)) 217.20/108.79 down(f(y20, a)) -> f_flat(block(y20), down(a)) 217.20/108.79 down(f(y23, fresh_constant)) -> f_flat(down(y23), block(fresh_constant)) 217.20/108.79 down(f(y23, fresh_constant)) -> f_flat(block(y23), down(fresh_constant)) 217.20/108.79 down(f(y9, f(f(y52, y53), y54))) -> f_flat(down(y9), block(f(f(y52, y53), y54))) 217.20/108.79 down(f(y9, f(f(y52, y53), y54))) -> f_flat(block(y9), down(f(f(y52, y53), y54))) 217.20/108.79 down(f(y9, f(fresh_constant, y56))) -> f_flat(down(y9), block(f(fresh_constant, y56))) 217.20/108.79 down(f(y9, f(fresh_constant, y56))) -> f_flat(block(y9), down(f(fresh_constant, y56))) 217.20/108.79 f_flat(block(x_1), up(x_2)) -> up(f(x_1, x_2)) 217.20/108.79 f_flat(up(x_1), block(x_2)) -> up(f(x_1, x_2)) 217.20/108.79 217.20/108.79 Q is empty. 217.20/108.79 We have to consider all minimal (P,Q,R)-chains. 217.20/108.79 ---------------------------------------- 217.20/108.79 217.20/108.79 (60) SemLabProof (SOUND) 217.20/108.79 We found the following model for the rules of the TRSs R and P. 217.20/108.79 Interpretation over the domain with elements from 0 to 1. 217.20/108.79 a: 0 217.20/108.79 block: 0 217.20/108.79 down: 0 217.20/108.79 f: 0 217.20/108.79 fresh_constant: 1 217.20/108.79 up: 0 217.20/108.79 f_flat: 0 217.20/108.79 TOP: 0 217.20/108.79 By semantic labelling [SEMLAB] we obtain the following labelled QDP problem. 217.20/108.79 ---------------------------------------- 217.20/108.79 217.20/108.79 (61) 217.20/108.79 Obligation: 217.20/108.79 Q DP problem: 217.20/108.79 The TRS P consists of the following rules: 217.20/108.79 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.0-0(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-0(a., x1)))) -> TOP.0(up.0(f.0-0(a., f.0-0(f.0-0(f.0-0(a., a.), x1), x0)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-1(a., x1)))) -> TOP.0(up.0(f.0-0(a., f.0-0(f.0-1(f.0-0(a., a.), x1), x0)))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, f.0-0(a., x1)))) -> TOP.0(up.0(f.0-0(a., f.0-1(f.0-0(f.0-0(a., a.), x1), x0)))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, f.0-1(a., x1)))) -> TOP.0(up.0(f.0-0(a., f.0-1(f.0-1(f.0-0(a., a.), x1), x0)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.0-0(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.0-1(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.0-1(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.1-0(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.1-0(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.1-1(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.1-1(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.1(x0), block.0(f.0-0(f.0-0(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.1(x0), block.0(f.0-1(f.0-0(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.1(x0), block.0(f.0-0(f.0-1(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.1(x0), block.0(f.0-1(f.0-1(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.1(x0), block.0(f.0-0(f.1-0(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.1(x0), block.0(f.0-1(f.1-0(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.1(x0), block.0(f.0-0(f.1-1(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.1(x0), block.0(f.0-1(f.1-1(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, a.))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(a.))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, a.))) -> TOP.0(f_flat.0-0(down.1(x0), block.0(a.))) 217.20/108.79 TOP.0(up.0(f.0-1(x0, fresh_constant.))) -> TOP.0(f_flat.0-0(down.0(x0), block.1(fresh_constant.))) 217.20/108.79 TOP.0(up.0(f.1-1(x0, fresh_constant.))) -> TOP.0(f_flat.0-0(down.1(x0), block.1(fresh_constant.))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.0-0(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.0-0(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.0-1(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.0-1(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.1-0(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.1-0(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.1-1(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.1-1(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.0-0(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.0-0(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.0-1(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.0-1(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.1-0(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.1-0(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.1-1(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.1-1(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.1-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-0(fresh_constant., x1)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.1-1(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-1(fresh_constant., x1)))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, f.1-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(down.1(x0), block.0(f.1-0(fresh_constant., x1)))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, f.1-1(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(down.1(x0), block.0(f.1-1(fresh_constant., x1)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.1-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.1-0(fresh_constant., x1)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.1-1(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.1-1(fresh_constant., x1)))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, f.1-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.1-0(fresh_constant., x1)))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, f.1-1(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.1-1(fresh_constant., x1)))) 217.20/108.79 217.20/108.79 The TRS R consists of the following rules: 217.20/108.79 217.20/108.79 down.0(f.0-0(x, f.0-0(a., y))) -> up.0(f.0-0(a., f.0-0(f.0-0(f.0-0(a., a.), y), x))) 217.20/108.79 down.0(f.0-0(x, f.0-1(a., y))) -> up.0(f.0-0(a., f.0-0(f.0-1(f.0-0(a., a.), y), x))) 217.20/108.79 down.0(f.1-0(x, f.0-0(a., y))) -> up.0(f.0-0(a., f.0-1(f.0-0(f.0-0(a., a.), y), x))) 217.20/108.79 down.0(f.1-0(x, f.0-1(a., y))) -> up.0(f.0-0(a., f.0-1(f.0-1(f.0-0(a., a.), y), x))) 217.20/108.79 down.0(f.0-0(y20, a.)) -> f_flat.0-0(down.0(y20), block.0(a.)) 217.20/108.79 down.0(f.1-0(y20, a.)) -> f_flat.0-0(down.1(y20), block.0(a.)) 217.20/108.79 down.0(f.0-0(y20, a.)) -> f_flat.0-0(block.0(y20), down.0(a.)) 217.20/108.79 down.0(f.1-0(y20, a.)) -> f_flat.0-0(block.1(y20), down.0(a.)) 217.20/108.79 down.0(f.0-1(y23, fresh_constant.)) -> f_flat.0-0(down.0(y23), block.1(fresh_constant.)) 217.20/108.79 down.0(f.1-1(y23, fresh_constant.)) -> f_flat.0-0(down.1(y23), block.1(fresh_constant.)) 217.20/108.79 down.0(f.0-1(y23, fresh_constant.)) -> f_flat.0-0(block.0(y23), down.1(fresh_constant.)) 217.20/108.79 down.0(f.1-1(y23, fresh_constant.)) -> f_flat.0-0(block.1(y23), down.1(fresh_constant.)) 217.20/108.79 down.0(f.0-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.0-0(y52, y53), y54))) 217.20/108.79 down.0(f.0-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.0-0(y52, y53), y54))) 217.20/108.79 down.0(f.0-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.0-1(y52, y53), y54))) 217.20/108.79 down.0(f.0-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.0-1(y52, y53), y54))) 217.20/108.79 down.0(f.0-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.1-0(y52, y53), y54))) 217.20/108.79 down.0(f.0-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.1-0(y52, y53), y54))) 217.20/108.79 down.0(f.0-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.1-1(y52, y53), y54))) 217.20/108.79 down.0(f.0-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.1-1(y52, y53), y54))) 217.20/108.79 down.0(f.1-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-0(f.0-0(y52, y53), y54))) 217.20/108.79 down.0(f.1-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-1(f.0-0(y52, y53), y54))) 217.20/108.79 down.0(f.1-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-0(f.0-1(y52, y53), y54))) 217.20/108.79 down.0(f.1-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-1(f.0-1(y52, y53), y54))) 217.20/108.79 down.0(f.1-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-0(f.1-0(y52, y53), y54))) 217.20/108.79 down.0(f.1-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-1(f.1-0(y52, y53), y54))) 217.20/108.79 down.0(f.1-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-0(f.1-1(y52, y53), y54))) 217.20/108.79 down.0(f.1-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-1(f.1-1(y52, y53), y54))) 217.20/108.79 down.0(f.0-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.0-0(y52, y53), y54))) 217.20/108.79 down.0(f.0-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.0-0(y52, y53), y54))) 217.20/108.79 down.0(f.0-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.0-1(y52, y53), y54))) 217.20/108.79 down.0(f.0-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.0-1(y52, y53), y54))) 217.20/108.79 down.0(f.0-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.1-0(y52, y53), y54))) 217.20/108.79 down.0(f.0-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.1-0(y52, y53), y54))) 217.20/108.79 down.0(f.0-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.1-1(y52, y53), y54))) 217.20/108.79 down.0(f.0-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.1-1(y52, y53), y54))) 217.20/108.79 down.0(f.1-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.0-0(y52, y53), y54))) 217.20/108.79 down.0(f.1-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.0-0(y52, y53), y54))) 217.20/108.79 down.0(f.1-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.0-1(y52, y53), y54))) 217.20/108.79 down.0(f.1-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.0-1(y52, y53), y54))) 217.20/108.79 down.0(f.1-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.1-0(y52, y53), y54))) 217.20/108.79 down.0(f.1-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.1-0(y52, y53), y54))) 217.20/108.79 down.0(f.1-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.1-1(y52, y53), y54))) 217.20/108.79 down.0(f.1-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.1-1(y52, y53), y54))) 217.20/108.79 down.0(f.0-0(y9, f.1-0(fresh_constant., y56))) -> f_flat.0-0(down.0(y9), block.0(f.1-0(fresh_constant., y56))) 217.20/108.79 down.0(f.0-0(y9, f.1-1(fresh_constant., y56))) -> f_flat.0-0(down.0(y9), block.0(f.1-1(fresh_constant., y56))) 217.20/108.79 down.0(f.1-0(y9, f.1-0(fresh_constant., y56))) -> f_flat.0-0(down.1(y9), block.0(f.1-0(fresh_constant., y56))) 217.20/108.79 down.0(f.1-0(y9, f.1-1(fresh_constant., y56))) -> f_flat.0-0(down.1(y9), block.0(f.1-1(fresh_constant., y56))) 217.20/108.79 down.0(f.0-0(y9, f.1-0(fresh_constant., y56))) -> f_flat.0-0(block.0(y9), down.0(f.1-0(fresh_constant., y56))) 217.20/108.79 down.0(f.0-0(y9, f.1-1(fresh_constant., y56))) -> f_flat.0-0(block.0(y9), down.0(f.1-1(fresh_constant., y56))) 217.20/108.79 down.0(f.1-0(y9, f.1-0(fresh_constant., y56))) -> f_flat.0-0(block.1(y9), down.0(f.1-0(fresh_constant., y56))) 217.20/108.79 down.0(f.1-0(y9, f.1-1(fresh_constant., y56))) -> f_flat.0-0(block.1(y9), down.0(f.1-1(fresh_constant., y56))) 217.20/108.79 f_flat.0-0(block.0(x_1), up.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 217.20/108.79 f_flat.0-0(block.0(x_1), up.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 217.20/108.79 f_flat.0-0(block.1(x_1), up.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 217.20/108.79 f_flat.0-0(block.1(x_1), up.1(x_2)) -> up.0(f.1-1(x_1, x_2)) 217.20/108.79 f_flat.0-0(up.0(x_1), block.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 217.20/108.79 f_flat.0-0(up.0(x_1), block.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 217.20/108.79 f_flat.0-0(up.1(x_1), block.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 217.20/108.79 f_flat.0-0(up.1(x_1), block.1(x_2)) -> up.0(f.1-1(x_1, x_2)) 217.20/108.79 217.20/108.79 Q is empty. 217.20/108.79 We have to consider all minimal (P,Q,R)-chains. 217.20/108.79 ---------------------------------------- 217.20/108.79 217.20/108.79 (62) DependencyGraphProof (EQUIVALENT) 217.20/108.79 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 12 less nodes. 217.20/108.79 ---------------------------------------- 217.20/108.79 217.20/108.79 (63) 217.20/108.79 Obligation: 217.20/108.79 Q DP problem: 217.20/108.79 The TRS P consists of the following rules: 217.20/108.79 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-0(a., x1)))) -> TOP.0(up.0(f.0-0(a., f.0-0(f.0-0(f.0-0(a., a.), x1), x0)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.0-0(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-1(a., x1)))) -> TOP.0(up.0(f.0-0(a., f.0-0(f.0-1(f.0-0(a., a.), x1), x0)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.0-1(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, f.0-0(a., x1)))) -> TOP.0(up.0(f.0-0(a., f.0-1(f.0-0(f.0-0(a., a.), x1), x0)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.0-0(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, f.0-1(a., x1)))) -> TOP.0(up.0(f.0-0(a., f.0-1(f.0-1(f.0-0(a., a.), x1), x0)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.0-1(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, a.))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(a.))) 217.20/108.79 TOP.0(up.0(f.0-1(x0, fresh_constant.))) -> TOP.0(f_flat.0-0(down.0(x0), block.1(fresh_constant.))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.1-0(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.1-0(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.1-1(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.1-1(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.0-0(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.0-0(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.0-1(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.0-1(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.1-0(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.1-0(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.1-1(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.1-1(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.0-0(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.0-0(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.0-1(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.0-1(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.1-0(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.1-0(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.1-1(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.1-1(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.1-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-0(fresh_constant., x1)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.1-1(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-1(fresh_constant., x1)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.1-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.1-0(fresh_constant., x1)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.1-1(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.1-1(fresh_constant., x1)))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, f.1-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.1-0(fresh_constant., x1)))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, f.1-1(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.1-1(fresh_constant., x1)))) 217.20/108.79 217.20/108.79 The TRS R consists of the following rules: 217.20/108.79 217.20/108.79 down.0(f.0-0(x, f.0-0(a., y))) -> up.0(f.0-0(a., f.0-0(f.0-0(f.0-0(a., a.), y), x))) 217.20/108.79 down.0(f.0-0(x, f.0-1(a., y))) -> up.0(f.0-0(a., f.0-0(f.0-1(f.0-0(a., a.), y), x))) 217.20/108.79 down.0(f.1-0(x, f.0-0(a., y))) -> up.0(f.0-0(a., f.0-1(f.0-0(f.0-0(a., a.), y), x))) 217.20/108.79 down.0(f.1-0(x, f.0-1(a., y))) -> up.0(f.0-0(a., f.0-1(f.0-1(f.0-0(a., a.), y), x))) 217.20/108.79 down.0(f.0-0(y20, a.)) -> f_flat.0-0(down.0(y20), block.0(a.)) 217.20/108.79 down.0(f.1-0(y20, a.)) -> f_flat.0-0(down.1(y20), block.0(a.)) 217.20/108.79 down.0(f.0-0(y20, a.)) -> f_flat.0-0(block.0(y20), down.0(a.)) 217.20/108.79 down.0(f.1-0(y20, a.)) -> f_flat.0-0(block.1(y20), down.0(a.)) 217.20/108.79 down.0(f.0-1(y23, fresh_constant.)) -> f_flat.0-0(down.0(y23), block.1(fresh_constant.)) 217.20/108.79 down.0(f.1-1(y23, fresh_constant.)) -> f_flat.0-0(down.1(y23), block.1(fresh_constant.)) 217.20/108.79 down.0(f.0-1(y23, fresh_constant.)) -> f_flat.0-0(block.0(y23), down.1(fresh_constant.)) 217.20/108.79 down.0(f.1-1(y23, fresh_constant.)) -> f_flat.0-0(block.1(y23), down.1(fresh_constant.)) 217.20/108.79 down.0(f.0-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.0-0(y52, y53), y54))) 217.20/108.79 down.0(f.0-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.0-0(y52, y53), y54))) 217.20/108.79 down.0(f.0-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.0-1(y52, y53), y54))) 217.20/108.79 down.0(f.0-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.0-1(y52, y53), y54))) 217.20/108.79 down.0(f.0-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.1-0(y52, y53), y54))) 217.20/108.79 down.0(f.0-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.1-0(y52, y53), y54))) 217.20/108.79 down.0(f.0-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.1-1(y52, y53), y54))) 217.20/108.79 down.0(f.0-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.1-1(y52, y53), y54))) 217.20/108.79 down.0(f.1-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-0(f.0-0(y52, y53), y54))) 217.20/108.79 down.0(f.1-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-1(f.0-0(y52, y53), y54))) 217.20/108.79 down.0(f.1-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-0(f.0-1(y52, y53), y54))) 217.20/108.79 down.0(f.1-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-1(f.0-1(y52, y53), y54))) 217.20/108.79 down.0(f.1-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-0(f.1-0(y52, y53), y54))) 217.20/108.79 down.0(f.1-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-1(f.1-0(y52, y53), y54))) 217.20/108.79 down.0(f.1-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-0(f.1-1(y52, y53), y54))) 217.20/108.79 down.0(f.1-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-1(f.1-1(y52, y53), y54))) 217.20/108.79 down.0(f.0-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.0-0(y52, y53), y54))) 217.20/108.79 down.0(f.0-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.0-0(y52, y53), y54))) 217.20/108.79 down.0(f.0-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.0-1(y52, y53), y54))) 217.20/108.79 down.0(f.0-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.0-1(y52, y53), y54))) 217.20/108.79 down.0(f.0-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.1-0(y52, y53), y54))) 217.20/108.79 down.0(f.0-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.1-0(y52, y53), y54))) 217.20/108.79 down.0(f.0-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.1-1(y52, y53), y54))) 217.20/108.79 down.0(f.0-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.1-1(y52, y53), y54))) 217.20/108.79 down.0(f.1-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.0-0(y52, y53), y54))) 217.20/108.79 down.0(f.1-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.0-0(y52, y53), y54))) 217.20/108.79 down.0(f.1-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.0-1(y52, y53), y54))) 217.20/108.79 down.0(f.1-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.0-1(y52, y53), y54))) 217.20/108.79 down.0(f.1-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.1-0(y52, y53), y54))) 217.20/108.79 down.0(f.1-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.1-0(y52, y53), y54))) 217.20/108.79 down.0(f.1-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.1-1(y52, y53), y54))) 217.20/108.79 down.0(f.1-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.1-1(y52, y53), y54))) 217.20/108.79 down.0(f.0-0(y9, f.1-0(fresh_constant., y56))) -> f_flat.0-0(down.0(y9), block.0(f.1-0(fresh_constant., y56))) 217.20/108.79 down.0(f.0-0(y9, f.1-1(fresh_constant., y56))) -> f_flat.0-0(down.0(y9), block.0(f.1-1(fresh_constant., y56))) 217.20/108.79 down.0(f.1-0(y9, f.1-0(fresh_constant., y56))) -> f_flat.0-0(down.1(y9), block.0(f.1-0(fresh_constant., y56))) 217.20/108.79 down.0(f.1-0(y9, f.1-1(fresh_constant., y56))) -> f_flat.0-0(down.1(y9), block.0(f.1-1(fresh_constant., y56))) 217.20/108.79 down.0(f.0-0(y9, f.1-0(fresh_constant., y56))) -> f_flat.0-0(block.0(y9), down.0(f.1-0(fresh_constant., y56))) 217.20/108.79 down.0(f.0-0(y9, f.1-1(fresh_constant., y56))) -> f_flat.0-0(block.0(y9), down.0(f.1-1(fresh_constant., y56))) 217.20/108.79 down.0(f.1-0(y9, f.1-0(fresh_constant., y56))) -> f_flat.0-0(block.1(y9), down.0(f.1-0(fresh_constant., y56))) 217.20/108.79 down.0(f.1-0(y9, f.1-1(fresh_constant., y56))) -> f_flat.0-0(block.1(y9), down.0(f.1-1(fresh_constant., y56))) 217.20/108.79 f_flat.0-0(block.0(x_1), up.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 217.20/108.79 f_flat.0-0(block.0(x_1), up.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 217.20/108.79 f_flat.0-0(block.1(x_1), up.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 217.20/108.79 f_flat.0-0(block.1(x_1), up.1(x_2)) -> up.0(f.1-1(x_1, x_2)) 217.20/108.79 f_flat.0-0(up.0(x_1), block.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 217.20/108.79 f_flat.0-0(up.0(x_1), block.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 217.20/108.79 f_flat.0-0(up.1(x_1), block.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 217.20/108.79 f_flat.0-0(up.1(x_1), block.1(x_2)) -> up.0(f.1-1(x_1, x_2)) 217.20/108.79 217.20/108.79 Q is empty. 217.20/108.79 We have to consider all minimal (P,Q,R)-chains. 217.20/108.79 ---------------------------------------- 217.20/108.79 217.20/108.79 (64) UsableRulesReductionPairsProof (EQUIVALENT) 217.20/108.79 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. 217.20/108.79 217.20/108.79 No dependency pairs are removed. 217.20/108.79 217.20/108.79 The following rules are removed from R: 217.20/108.79 217.20/108.79 f_flat.0-0(block.0(x_1), up.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 217.20/108.79 f_flat.0-0(block.1(x_1), up.1(x_2)) -> up.0(f.1-1(x_1, x_2)) 217.20/108.79 f_flat.0-0(up.1(x_1), block.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 217.20/108.79 f_flat.0-0(up.1(x_1), block.1(x_2)) -> up.0(f.1-1(x_1, x_2)) 217.20/108.79 Used ordering: POLO with Polynomial interpretation [POLO]: 217.20/108.79 217.20/108.79 POL(TOP.0(x_1)) = x_1 217.20/108.79 POL(a.) = 0 217.20/108.79 POL(block.0(x_1)) = x_1 217.20/108.79 POL(block.1(x_1)) = x_1 217.20/108.79 POL(down.0(x_1)) = 1 + x_1 217.20/108.79 POL(down.1(x_1)) = 1 + x_1 217.20/108.79 POL(f.0-0(x_1, x_2)) = x_1 + x_2 217.20/108.79 POL(f.0-1(x_1, x_2)) = x_1 + x_2 217.20/108.79 POL(f.1-0(x_1, x_2)) = x_1 + x_2 217.20/108.79 POL(f.1-1(x_1, x_2)) = x_1 + x_2 217.20/108.79 POL(f_flat.0-0(x_1, x_2)) = x_1 + x_2 217.20/108.79 POL(fresh_constant.) = 0 217.20/108.79 POL(up.0(x_1)) = 1 + x_1 217.20/108.79 POL(up.1(x_1)) = 1 + x_1 217.20/108.79 217.20/108.79 217.20/108.79 ---------------------------------------- 217.20/108.79 217.20/108.79 (65) 217.20/108.79 Obligation: 217.20/108.79 Q DP problem: 217.20/108.79 The TRS P consists of the following rules: 217.20/108.79 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-0(a., x1)))) -> TOP.0(up.0(f.0-0(a., f.0-0(f.0-0(f.0-0(a., a.), x1), x0)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.0-0(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-1(a., x1)))) -> TOP.0(up.0(f.0-0(a., f.0-0(f.0-1(f.0-0(a., a.), x1), x0)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.0-1(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, f.0-0(a., x1)))) -> TOP.0(up.0(f.0-0(a., f.0-1(f.0-0(f.0-0(a., a.), x1), x0)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.0-0(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, f.0-1(a., x1)))) -> TOP.0(up.0(f.0-0(a., f.0-1(f.0-1(f.0-0(a., a.), x1), x0)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.0-1(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, a.))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(a.))) 217.20/108.79 TOP.0(up.0(f.0-1(x0, fresh_constant.))) -> TOP.0(f_flat.0-0(down.0(x0), block.1(fresh_constant.))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.1-0(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.1-0(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.1-1(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.1-1(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.0-0(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.0-0(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.0-1(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.0-1(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.1-0(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.1-0(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.1-1(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.1-1(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.0-0(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.0-0(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.0-1(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.0-1(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.1-0(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.1-0(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.1-1(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.1-1(x1, x2), x3)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.1-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-0(fresh_constant., x1)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.1-1(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-1(fresh_constant., x1)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.1-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.1-0(fresh_constant., x1)))) 217.20/108.79 TOP.0(up.0(f.0-0(x0, f.1-1(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.1-1(fresh_constant., x1)))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, f.1-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.1-0(fresh_constant., x1)))) 217.20/108.79 TOP.0(up.0(f.1-0(x0, f.1-1(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.1-1(fresh_constant., x1)))) 217.20/108.79 217.20/108.79 The TRS R consists of the following rules: 217.20/108.79 217.20/108.79 down.0(f.1-1(y23, fresh_constant.)) -> f_flat.0-0(down.1(y23), block.1(fresh_constant.)) 217.20/108.79 down.0(f.1-1(y23, fresh_constant.)) -> f_flat.0-0(block.1(y23), down.1(fresh_constant.)) 217.20/108.79 f_flat.0-0(block.1(x_1), up.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 217.20/108.79 down.0(f.1-0(x, f.0-0(a., y))) -> up.0(f.0-0(a., f.0-1(f.0-0(f.0-0(a., a.), y), x))) 217.20/108.79 down.0(f.1-0(x, f.0-1(a., y))) -> up.0(f.0-0(a., f.0-1(f.0-1(f.0-0(a., a.), y), x))) 217.20/108.79 down.0(f.1-0(y20, a.)) -> f_flat.0-0(down.1(y20), block.0(a.)) 217.20/108.79 down.0(f.1-0(y20, a.)) -> f_flat.0-0(block.1(y20), down.0(a.)) 217.20/108.79 down.0(f.1-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-0(f.0-0(y52, y53), y54))) 217.20/108.79 down.0(f.1-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-1(f.0-0(y52, y53), y54))) 217.20/108.79 down.0(f.1-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-0(f.0-1(y52, y53), y54))) 217.20/108.79 down.0(f.1-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-1(f.0-1(y52, y53), y54))) 217.20/108.79 down.0(f.1-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-0(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-1(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-0(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-1(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.1-0(fresh_constant., y56))) -> f_flat.0-0(down.1(y9), block.0(f.1-0(fresh_constant., y56))) 217.20/108.80 down.0(f.1-0(y9, f.1-1(fresh_constant., y56))) -> f_flat.0-0(down.1(y9), block.0(f.1-1(fresh_constant., y56))) 217.20/108.80 down.0(f.1-0(y9, f.1-0(fresh_constant., y56))) -> f_flat.0-0(block.1(y9), down.0(f.1-0(fresh_constant., y56))) 217.20/108.80 down.0(f.1-0(y9, f.1-1(fresh_constant., y56))) -> f_flat.0-0(block.1(y9), down.0(f.1-1(fresh_constant., y56))) 217.20/108.80 down.0(f.0-1(y23, fresh_constant.)) -> f_flat.0-0(down.0(y23), block.1(fresh_constant.)) 217.20/108.80 down.0(f.0-1(y23, fresh_constant.)) -> f_flat.0-0(block.0(y23), down.1(fresh_constant.)) 217.20/108.80 down.0(f.0-0(x, f.0-0(a., y))) -> up.0(f.0-0(a., f.0-0(f.0-0(f.0-0(a., a.), y), x))) 217.20/108.80 down.0(f.0-0(x, f.0-1(a., y))) -> up.0(f.0-0(a., f.0-0(f.0-1(f.0-0(a., a.), y), x))) 217.20/108.80 down.0(f.0-0(y20, a.)) -> f_flat.0-0(down.0(y20), block.0(a.)) 217.20/108.80 down.0(f.0-0(y20, a.)) -> f_flat.0-0(block.0(y20), down.0(a.)) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.1-0(fresh_constant., y56))) -> f_flat.0-0(down.0(y9), block.0(f.1-0(fresh_constant., y56))) 217.20/108.80 down.0(f.0-0(y9, f.1-1(fresh_constant., y56))) -> f_flat.0-0(down.0(y9), block.0(f.1-1(fresh_constant., y56))) 217.20/108.80 down.0(f.0-0(y9, f.1-0(fresh_constant., y56))) -> f_flat.0-0(block.0(y9), down.0(f.1-0(fresh_constant., y56))) 217.20/108.80 down.0(f.0-0(y9, f.1-1(fresh_constant., y56))) -> f_flat.0-0(block.0(y9), down.0(f.1-1(fresh_constant., y56))) 217.20/108.80 f_flat.0-0(up.0(x_1), block.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 217.20/108.80 f_flat.0-0(block.0(x_1), up.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 217.20/108.80 f_flat.0-0(up.0(x_1), block.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 217.20/108.80 217.20/108.80 Q is empty. 217.20/108.80 We have to consider all minimal (P,Q,R)-chains. 217.20/108.80 ---------------------------------------- 217.20/108.80 217.20/108.80 (66) MRRProof (EQUIVALENT) 217.20/108.80 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. 217.20/108.80 217.20/108.80 217.20/108.80 Strictly oriented rules of the TRS R: 217.20/108.80 217.20/108.80 down.0(f.1-1(y23, fresh_constant.)) -> f_flat.0-0(down.1(y23), block.1(fresh_constant.)) 217.20/108.80 down.0(f.1-1(y23, fresh_constant.)) -> f_flat.0-0(block.1(y23), down.1(fresh_constant.)) 217.20/108.80 217.20/108.80 Used ordering: Polynomial interpretation [POLO]: 217.20/108.80 217.20/108.80 POL(TOP.0(x_1)) = x_1 217.20/108.80 POL(a.) = 0 217.20/108.80 POL(block.0(x_1)) = x_1 217.20/108.80 POL(block.1(x_1)) = x_1 217.20/108.80 POL(down.0(x_1)) = 1 + x_1 217.20/108.80 POL(down.1(x_1)) = 1 + x_1 217.20/108.80 POL(f.0-0(x_1, x_2)) = x_1 + x_2 217.20/108.80 POL(f.0-1(x_1, x_2)) = x_1 + x_2 217.20/108.80 POL(f.1-0(x_1, x_2)) = x_1 + x_2 217.20/108.80 POL(f.1-1(x_1, x_2)) = 1 + x_1 + x_2 217.20/108.80 POL(f_flat.0-0(x_1, x_2)) = x_1 + x_2 217.20/108.80 POL(fresh_constant.) = 0 217.20/108.80 POL(up.0(x_1)) = 1 + x_1 217.20/108.80 217.20/108.80 217.20/108.80 ---------------------------------------- 217.20/108.80 217.20/108.80 (67) 217.20/108.80 Obligation: 217.20/108.80 Q DP problem: 217.20/108.80 The TRS P consists of the following rules: 217.20/108.80 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(a., x1)))) -> TOP.0(up.0(f.0-0(a., f.0-0(f.0-0(f.0-0(a., a.), x1), x0)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.0-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(a., x1)))) -> TOP.0(up.0(f.0-0(a., f.0-0(f.0-1(f.0-0(a., a.), x1), x0)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.0-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(a., x1)))) -> TOP.0(up.0(f.0-0(a., f.0-1(f.0-0(f.0-0(a., a.), x1), x0)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.0-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(a., x1)))) -> TOP.0(up.0(f.0-0(a., f.0-1(f.0-1(f.0-0(a., a.), x1), x0)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.0-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, a.))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(a.))) 217.20/108.80 TOP.0(up.0(f.0-1(x0, fresh_constant.))) -> TOP.0(f_flat.0-0(down.0(x0), block.1(fresh_constant.))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.1-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.1-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.1-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.1-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.0-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.0-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.0-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.0-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.1-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.1-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.1-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.1-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.0-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.0-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.0-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.0-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.1-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.1-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.1-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.1-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.1-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-0(fresh_constant., x1)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.1-1(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-1(fresh_constant., x1)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.1-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.1-0(fresh_constant., x1)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.1-1(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.1-1(fresh_constant., x1)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.1-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.1-0(fresh_constant., x1)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.1-1(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.1-1(fresh_constant., x1)))) 217.20/108.80 217.20/108.80 The TRS R consists of the following rules: 217.20/108.80 217.20/108.80 f_flat.0-0(block.1(x_1), up.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 217.20/108.80 down.0(f.1-0(x, f.0-0(a., y))) -> up.0(f.0-0(a., f.0-1(f.0-0(f.0-0(a., a.), y), x))) 217.20/108.80 down.0(f.1-0(x, f.0-1(a., y))) -> up.0(f.0-0(a., f.0-1(f.0-1(f.0-0(a., a.), y), x))) 217.20/108.80 down.0(f.1-0(y20, a.)) -> f_flat.0-0(down.1(y20), block.0(a.)) 217.20/108.80 down.0(f.1-0(y20, a.)) -> f_flat.0-0(block.1(y20), down.0(a.)) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-0(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-1(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-0(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-1(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-0(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-1(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-0(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-1(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.1-0(fresh_constant., y56))) -> f_flat.0-0(down.1(y9), block.0(f.1-0(fresh_constant., y56))) 217.20/108.80 down.0(f.1-0(y9, f.1-1(fresh_constant., y56))) -> f_flat.0-0(down.1(y9), block.0(f.1-1(fresh_constant., y56))) 217.20/108.80 down.0(f.1-0(y9, f.1-0(fresh_constant., y56))) -> f_flat.0-0(block.1(y9), down.0(f.1-0(fresh_constant., y56))) 217.20/108.80 down.0(f.1-0(y9, f.1-1(fresh_constant., y56))) -> f_flat.0-0(block.1(y9), down.0(f.1-1(fresh_constant., y56))) 217.20/108.80 down.0(f.0-1(y23, fresh_constant.)) -> f_flat.0-0(down.0(y23), block.1(fresh_constant.)) 217.20/108.80 down.0(f.0-1(y23, fresh_constant.)) -> f_flat.0-0(block.0(y23), down.1(fresh_constant.)) 217.20/108.80 down.0(f.0-0(x, f.0-0(a., y))) -> up.0(f.0-0(a., f.0-0(f.0-0(f.0-0(a., a.), y), x))) 217.20/108.80 down.0(f.0-0(x, f.0-1(a., y))) -> up.0(f.0-0(a., f.0-0(f.0-1(f.0-0(a., a.), y), x))) 217.20/108.80 down.0(f.0-0(y20, a.)) -> f_flat.0-0(down.0(y20), block.0(a.)) 217.20/108.80 down.0(f.0-0(y20, a.)) -> f_flat.0-0(block.0(y20), down.0(a.)) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.1-0(fresh_constant., y56))) -> f_flat.0-0(down.0(y9), block.0(f.1-0(fresh_constant., y56))) 217.20/108.80 down.0(f.0-0(y9, f.1-1(fresh_constant., y56))) -> f_flat.0-0(down.0(y9), block.0(f.1-1(fresh_constant., y56))) 217.20/108.80 down.0(f.0-0(y9, f.1-0(fresh_constant., y56))) -> f_flat.0-0(block.0(y9), down.0(f.1-0(fresh_constant., y56))) 217.20/108.80 down.0(f.0-0(y9, f.1-1(fresh_constant., y56))) -> f_flat.0-0(block.0(y9), down.0(f.1-1(fresh_constant., y56))) 217.20/108.80 f_flat.0-0(up.0(x_1), block.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 217.20/108.80 f_flat.0-0(block.0(x_1), up.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 217.20/108.80 f_flat.0-0(up.0(x_1), block.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 217.20/108.80 217.20/108.80 Q is empty. 217.20/108.80 We have to consider all minimal (P,Q,R)-chains. 217.20/108.80 ---------------------------------------- 217.20/108.80 217.20/108.80 (68) DependencyGraphProof (EQUIVALENT) 217.20/108.80 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. 217.20/108.80 ---------------------------------------- 217.20/108.80 217.20/108.80 (69) 217.20/108.80 Obligation: 217.20/108.80 Q DP problem: 217.20/108.80 The TRS P consists of the following rules: 217.20/108.80 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.0-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(a., x1)))) -> TOP.0(up.0(f.0-0(a., f.0-0(f.0-0(f.0-0(a., a.), x1), x0)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.0-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(a., x1)))) -> TOP.0(up.0(f.0-0(a., f.0-0(f.0-1(f.0-0(a., a.), x1), x0)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.0-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(a., x1)))) -> TOP.0(up.0(f.0-0(a., f.0-1(f.0-0(f.0-0(a., a.), x1), x0)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.0-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(a., x1)))) -> TOP.0(up.0(f.0-0(a., f.0-1(f.0-1(f.0-0(a., a.), x1), x0)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.0-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, a.))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(a.))) 217.20/108.80 TOP.0(up.0(f.0-1(x0, fresh_constant.))) -> TOP.0(f_flat.0-0(down.0(x0), block.1(fresh_constant.))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.1-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.1-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.1-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.1-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.0-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.0-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.0-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.1-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.1-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.1-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.1-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.0-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.0-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.0-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.0-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.1-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.1-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.1-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.1-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.1-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-0(fresh_constant., x1)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.1-1(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-1(fresh_constant., x1)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.1-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.1-0(fresh_constant., x1)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.1-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.1-0(fresh_constant., x1)))) 217.20/108.80 217.20/108.80 The TRS R consists of the following rules: 217.20/108.80 217.20/108.80 f_flat.0-0(block.1(x_1), up.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 217.20/108.80 down.0(f.1-0(x, f.0-0(a., y))) -> up.0(f.0-0(a., f.0-1(f.0-0(f.0-0(a., a.), y), x))) 217.20/108.80 down.0(f.1-0(x, f.0-1(a., y))) -> up.0(f.0-0(a., f.0-1(f.0-1(f.0-0(a., a.), y), x))) 217.20/108.80 down.0(f.1-0(y20, a.)) -> f_flat.0-0(down.1(y20), block.0(a.)) 217.20/108.80 down.0(f.1-0(y20, a.)) -> f_flat.0-0(block.1(y20), down.0(a.)) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-0(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-1(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-0(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-1(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-0(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-1(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-0(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-1(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.1-0(fresh_constant., y56))) -> f_flat.0-0(down.1(y9), block.0(f.1-0(fresh_constant., y56))) 217.20/108.80 down.0(f.1-0(y9, f.1-1(fresh_constant., y56))) -> f_flat.0-0(down.1(y9), block.0(f.1-1(fresh_constant., y56))) 217.20/108.80 down.0(f.1-0(y9, f.1-0(fresh_constant., y56))) -> f_flat.0-0(block.1(y9), down.0(f.1-0(fresh_constant., y56))) 217.20/108.80 down.0(f.1-0(y9, f.1-1(fresh_constant., y56))) -> f_flat.0-0(block.1(y9), down.0(f.1-1(fresh_constant., y56))) 217.20/108.80 down.0(f.0-1(y23, fresh_constant.)) -> f_flat.0-0(down.0(y23), block.1(fresh_constant.)) 217.20/108.80 down.0(f.0-1(y23, fresh_constant.)) -> f_flat.0-0(block.0(y23), down.1(fresh_constant.)) 217.20/108.80 down.0(f.0-0(x, f.0-0(a., y))) -> up.0(f.0-0(a., f.0-0(f.0-0(f.0-0(a., a.), y), x))) 217.20/108.80 down.0(f.0-0(x, f.0-1(a., y))) -> up.0(f.0-0(a., f.0-0(f.0-1(f.0-0(a., a.), y), x))) 217.20/108.80 down.0(f.0-0(y20, a.)) -> f_flat.0-0(down.0(y20), block.0(a.)) 217.20/108.80 down.0(f.0-0(y20, a.)) -> f_flat.0-0(block.0(y20), down.0(a.)) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.1-0(fresh_constant., y56))) -> f_flat.0-0(down.0(y9), block.0(f.1-0(fresh_constant., y56))) 217.20/108.80 down.0(f.0-0(y9, f.1-1(fresh_constant., y56))) -> f_flat.0-0(down.0(y9), block.0(f.1-1(fresh_constant., y56))) 217.20/108.80 down.0(f.0-0(y9, f.1-0(fresh_constant., y56))) -> f_flat.0-0(block.0(y9), down.0(f.1-0(fresh_constant., y56))) 217.20/108.80 down.0(f.0-0(y9, f.1-1(fresh_constant., y56))) -> f_flat.0-0(block.0(y9), down.0(f.1-1(fresh_constant., y56))) 217.20/108.80 f_flat.0-0(up.0(x_1), block.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 217.20/108.80 f_flat.0-0(block.0(x_1), up.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 217.20/108.80 f_flat.0-0(up.0(x_1), block.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 217.20/108.80 217.20/108.80 Q is empty. 217.20/108.80 We have to consider all minimal (P,Q,R)-chains. 217.20/108.80 ---------------------------------------- 217.20/108.80 217.20/108.80 (70) MRRProof (EQUIVALENT) 217.20/108.80 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. 217.20/108.80 217.20/108.80 217.20/108.80 Strictly oriented rules of the TRS R: 217.20/108.80 217.20/108.80 down.0(f.1-0(y20, a.)) -> f_flat.0-0(down.1(y20), block.0(a.)) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-0(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-1(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-0(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-1(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-0(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-1(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-0(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-1(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.1-0(fresh_constant., y56))) -> f_flat.0-0(down.1(y9), block.0(f.1-0(fresh_constant., y56))) 217.20/108.80 down.0(f.1-0(y9, f.1-1(fresh_constant., y56))) -> f_flat.0-0(down.1(y9), block.0(f.1-1(fresh_constant., y56))) 217.20/108.80 down.0(f.0-1(y23, fresh_constant.)) -> f_flat.0-0(block.0(y23), down.1(fresh_constant.)) 217.20/108.80 217.20/108.80 Used ordering: Polynomial interpretation [POLO]: 217.20/108.80 217.20/108.80 POL(TOP.0(x_1)) = x_1 217.20/108.80 POL(a.) = 0 217.20/108.80 POL(block.0(x_1)) = x_1 217.20/108.80 POL(block.1(x_1)) = x_1 217.20/108.80 POL(down.0(x_1)) = 1 + x_1 217.20/108.80 POL(down.1(x_1)) = x_1 217.20/108.80 POL(f.0-0(x_1, x_2)) = x_1 + x_2 217.20/108.80 POL(f.0-1(x_1, x_2)) = x_1 + x_2 217.20/108.80 POL(f.1-0(x_1, x_2)) = x_1 + x_2 217.20/108.80 POL(f.1-1(x_1, x_2)) = x_1 + x_2 217.20/108.80 POL(f_flat.0-0(x_1, x_2)) = x_1 + x_2 217.20/108.80 POL(fresh_constant.) = 0 217.20/108.80 POL(up.0(x_1)) = 1 + x_1 217.20/108.80 217.20/108.80 217.20/108.80 ---------------------------------------- 217.20/108.80 217.20/108.80 (71) 217.20/108.80 Obligation: 217.20/108.80 Q DP problem: 217.20/108.80 The TRS P consists of the following rules: 217.20/108.80 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.0-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(a., x1)))) -> TOP.0(up.0(f.0-0(a., f.0-0(f.0-0(f.0-0(a., a.), x1), x0)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.0-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(a., x1)))) -> TOP.0(up.0(f.0-0(a., f.0-0(f.0-1(f.0-0(a., a.), x1), x0)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.0-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(a., x1)))) -> TOP.0(up.0(f.0-0(a., f.0-1(f.0-0(f.0-0(a., a.), x1), x0)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.0-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(a., x1)))) -> TOP.0(up.0(f.0-0(a., f.0-1(f.0-1(f.0-0(a., a.), x1), x0)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.0-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, a.))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(a.))) 217.20/108.80 TOP.0(up.0(f.0-1(x0, fresh_constant.))) -> TOP.0(f_flat.0-0(down.0(x0), block.1(fresh_constant.))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.1-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.1-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.1-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.1-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.0-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.0-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.0-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.1-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.1-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.1-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.1-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.0-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.0-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.0-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.0-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.1-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.1-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.1-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.1-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.1-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-0(fresh_constant., x1)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.1-1(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-1(fresh_constant., x1)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.1-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.1-0(fresh_constant., x1)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.1-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.1-0(fresh_constant., x1)))) 217.20/108.80 217.20/108.80 The TRS R consists of the following rules: 217.20/108.80 217.20/108.80 f_flat.0-0(block.1(x_1), up.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 217.20/108.80 down.0(f.1-0(x, f.0-0(a., y))) -> up.0(f.0-0(a., f.0-1(f.0-0(f.0-0(a., a.), y), x))) 217.20/108.80 down.0(f.1-0(x, f.0-1(a., y))) -> up.0(f.0-0(a., f.0-1(f.0-1(f.0-0(a., a.), y), x))) 217.20/108.80 down.0(f.1-0(y20, a.)) -> f_flat.0-0(block.1(y20), down.0(a.)) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.1-0(fresh_constant., y56))) -> f_flat.0-0(block.1(y9), down.0(f.1-0(fresh_constant., y56))) 217.20/108.80 down.0(f.1-0(y9, f.1-1(fresh_constant., y56))) -> f_flat.0-0(block.1(y9), down.0(f.1-1(fresh_constant., y56))) 217.20/108.80 down.0(f.0-1(y23, fresh_constant.)) -> f_flat.0-0(down.0(y23), block.1(fresh_constant.)) 217.20/108.80 down.0(f.0-0(x, f.0-0(a., y))) -> up.0(f.0-0(a., f.0-0(f.0-0(f.0-0(a., a.), y), x))) 217.20/108.80 down.0(f.0-0(x, f.0-1(a., y))) -> up.0(f.0-0(a., f.0-0(f.0-1(f.0-0(a., a.), y), x))) 217.20/108.80 down.0(f.0-0(y20, a.)) -> f_flat.0-0(down.0(y20), block.0(a.)) 217.20/108.80 down.0(f.0-0(y20, a.)) -> f_flat.0-0(block.0(y20), down.0(a.)) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.1-0(fresh_constant., y56))) -> f_flat.0-0(down.0(y9), block.0(f.1-0(fresh_constant., y56))) 217.20/108.80 down.0(f.0-0(y9, f.1-1(fresh_constant., y56))) -> f_flat.0-0(down.0(y9), block.0(f.1-1(fresh_constant., y56))) 217.20/108.80 down.0(f.0-0(y9, f.1-0(fresh_constant., y56))) -> f_flat.0-0(block.0(y9), down.0(f.1-0(fresh_constant., y56))) 217.20/108.80 down.0(f.0-0(y9, f.1-1(fresh_constant., y56))) -> f_flat.0-0(block.0(y9), down.0(f.1-1(fresh_constant., y56))) 217.20/108.80 f_flat.0-0(up.0(x_1), block.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 217.20/108.80 f_flat.0-0(block.0(x_1), up.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 217.20/108.80 f_flat.0-0(up.0(x_1), block.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 217.20/108.80 217.20/108.80 Q is empty. 217.20/108.80 We have to consider all minimal (P,Q,R)-chains. 217.20/108.80 ---------------------------------------- 217.20/108.80 217.20/108.80 (72) QDPOrderProof (EQUIVALENT) 217.20/108.80 We use the reduction pair processor [LPAR04,JAR06]. 217.20/108.80 217.20/108.80 217.20/108.80 The following pairs can be oriented strictly and are deleted. 217.20/108.80 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(a., x1)))) -> TOP.0(up.0(f.0-0(a., f.0-1(f.0-1(f.0-0(a., a.), x1), x0)))) 217.20/108.80 The remaining pairs can at least be oriented weakly. 217.20/108.80 Used ordering: Polynomial interpretation [POLO]: 217.20/108.80 217.20/108.80 POL(TOP.0(x_1)) = x_1 217.20/108.80 POL(a.) = 1 217.20/108.80 POL(block.0(x_1)) = 0 217.20/108.80 POL(block.1(x_1)) = 0 217.20/108.80 POL(down.0(x_1)) = 0 217.20/108.80 POL(f.0-0(x_1, x_2)) = 0 217.20/108.80 POL(f.0-1(x_1, x_2)) = x_1 217.20/108.80 POL(f.1-0(x_1, x_2)) = x_2 217.20/108.80 POL(f.1-1(x_1, x_2)) = x_2 217.20/108.80 POL(f_flat.0-0(x_1, x_2)) = x_1 + x_2 217.20/108.80 POL(fresh_constant.) = 0 217.20/108.80 POL(up.0(x_1)) = x_1 217.20/108.80 217.20/108.80 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 217.20/108.80 217.20/108.80 down.0(f.1-0(x, f.0-0(a., y))) -> up.0(f.0-0(a., f.0-1(f.0-0(f.0-0(a., a.), y), x))) 217.20/108.80 down.0(f.1-0(x, f.0-1(a., y))) -> up.0(f.0-0(a., f.0-1(f.0-1(f.0-0(a., a.), y), x))) 217.20/108.80 down.0(f.1-0(y20, a.)) -> f_flat.0-0(block.1(y20), down.0(a.)) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.1-0(fresh_constant., y56))) -> f_flat.0-0(block.1(y9), down.0(f.1-0(fresh_constant., y56))) 217.20/108.80 down.0(f.1-0(y9, f.1-1(fresh_constant., y56))) -> f_flat.0-0(block.1(y9), down.0(f.1-1(fresh_constant., y56))) 217.20/108.80 down.0(f.0-1(y23, fresh_constant.)) -> f_flat.0-0(down.0(y23), block.1(fresh_constant.)) 217.20/108.80 down.0(f.0-0(x, f.0-0(a., y))) -> up.0(f.0-0(a., f.0-0(f.0-0(f.0-0(a., a.), y), x))) 217.20/108.80 down.0(f.0-0(x, f.0-1(a., y))) -> up.0(f.0-0(a., f.0-0(f.0-1(f.0-0(a., a.), y), x))) 217.20/108.80 down.0(f.0-0(y20, a.)) -> f_flat.0-0(down.0(y20), block.0(a.)) 217.20/108.80 down.0(f.0-0(y20, a.)) -> f_flat.0-0(block.0(y20), down.0(a.)) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.1-0(fresh_constant., y56))) -> f_flat.0-0(down.0(y9), block.0(f.1-0(fresh_constant., y56))) 217.20/108.80 down.0(f.0-0(y9, f.1-1(fresh_constant., y56))) -> f_flat.0-0(down.0(y9), block.0(f.1-1(fresh_constant., y56))) 217.20/108.80 down.0(f.0-0(y9, f.1-0(fresh_constant., y56))) -> f_flat.0-0(block.0(y9), down.0(f.1-0(fresh_constant., y56))) 217.20/108.80 down.0(f.0-0(y9, f.1-1(fresh_constant., y56))) -> f_flat.0-0(block.0(y9), down.0(f.1-1(fresh_constant., y56))) 217.20/108.80 f_flat.0-0(up.0(x_1), block.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 217.20/108.80 f_flat.0-0(block.0(x_1), up.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 217.20/108.80 f_flat.0-0(up.0(x_1), block.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 217.20/108.80 f_flat.0-0(block.1(x_1), up.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 217.20/108.80 217.20/108.80 217.20/108.80 ---------------------------------------- 217.20/108.80 217.20/108.80 (73) 217.20/108.80 Obligation: 217.20/108.80 Q DP problem: 217.20/108.80 The TRS P consists of the following rules: 217.20/108.80 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.0-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(a., x1)))) -> TOP.0(up.0(f.0-0(a., f.0-0(f.0-0(f.0-0(a., a.), x1), x0)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.0-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(a., x1)))) -> TOP.0(up.0(f.0-0(a., f.0-0(f.0-1(f.0-0(a., a.), x1), x0)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.0-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(a., x1)))) -> TOP.0(up.0(f.0-0(a., f.0-1(f.0-0(f.0-0(a., a.), x1), x0)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.0-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.0-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, a.))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(a.))) 217.20/108.80 TOP.0(up.0(f.0-1(x0, fresh_constant.))) -> TOP.0(f_flat.0-0(down.0(x0), block.1(fresh_constant.))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.1-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.1-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.1-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.1-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.0-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.0-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.0-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.1-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.1-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.1-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.1-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.0-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.0-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.0-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.0-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.1-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.1-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.1-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.1-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.1-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-0(fresh_constant., x1)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.1-1(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-1(fresh_constant., x1)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.1-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.1-0(fresh_constant., x1)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.1-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.1-0(fresh_constant., x1)))) 217.20/108.80 217.20/108.80 The TRS R consists of the following rules: 217.20/108.80 217.20/108.80 f_flat.0-0(block.1(x_1), up.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 217.20/108.80 down.0(f.1-0(x, f.0-0(a., y))) -> up.0(f.0-0(a., f.0-1(f.0-0(f.0-0(a., a.), y), x))) 217.20/108.80 down.0(f.1-0(x, f.0-1(a., y))) -> up.0(f.0-0(a., f.0-1(f.0-1(f.0-0(a., a.), y), x))) 217.20/108.80 down.0(f.1-0(y20, a.)) -> f_flat.0-0(block.1(y20), down.0(a.)) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.1-0(fresh_constant., y56))) -> f_flat.0-0(block.1(y9), down.0(f.1-0(fresh_constant., y56))) 217.20/108.80 down.0(f.1-0(y9, f.1-1(fresh_constant., y56))) -> f_flat.0-0(block.1(y9), down.0(f.1-1(fresh_constant., y56))) 217.20/108.80 down.0(f.0-1(y23, fresh_constant.)) -> f_flat.0-0(down.0(y23), block.1(fresh_constant.)) 217.20/108.80 down.0(f.0-0(x, f.0-0(a., y))) -> up.0(f.0-0(a., f.0-0(f.0-0(f.0-0(a., a.), y), x))) 217.20/108.80 down.0(f.0-0(x, f.0-1(a., y))) -> up.0(f.0-0(a., f.0-0(f.0-1(f.0-0(a., a.), y), x))) 217.20/108.80 down.0(f.0-0(y20, a.)) -> f_flat.0-0(down.0(y20), block.0(a.)) 217.20/108.80 down.0(f.0-0(y20, a.)) -> f_flat.0-0(block.0(y20), down.0(a.)) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.1-0(fresh_constant., y56))) -> f_flat.0-0(down.0(y9), block.0(f.1-0(fresh_constant., y56))) 217.20/108.80 down.0(f.0-0(y9, f.1-1(fresh_constant., y56))) -> f_flat.0-0(down.0(y9), block.0(f.1-1(fresh_constant., y56))) 217.20/108.80 down.0(f.0-0(y9, f.1-0(fresh_constant., y56))) -> f_flat.0-0(block.0(y9), down.0(f.1-0(fresh_constant., y56))) 217.20/108.80 down.0(f.0-0(y9, f.1-1(fresh_constant., y56))) -> f_flat.0-0(block.0(y9), down.0(f.1-1(fresh_constant., y56))) 217.20/108.80 f_flat.0-0(up.0(x_1), block.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 217.20/108.80 f_flat.0-0(block.0(x_1), up.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 217.20/108.80 f_flat.0-0(up.0(x_1), block.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 217.20/108.80 217.20/108.80 Q is empty. 217.20/108.80 We have to consider all minimal (P,Q,R)-chains. 217.20/108.80 ---------------------------------------- 217.20/108.80 217.20/108.80 (74) QDPOrderProof (EQUIVALENT) 217.20/108.80 We use the reduction pair processor [LPAR04,JAR06]. 217.20/108.80 217.20/108.80 217.20/108.80 The following pairs can be oriented strictly and are deleted. 217.20/108.80 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.1-1(x1, x2), x3)))) 217.20/108.80 The remaining pairs can at least be oriented weakly. 217.20/108.80 Used ordering: Polynomial interpretation [POLO]: 217.20/108.80 217.20/108.80 POL(TOP.0(x_1)) = x_1 217.20/108.80 POL(a.) = 0 217.20/108.80 POL(block.0(x_1)) = 0 217.20/108.80 POL(block.1(x_1)) = 0 217.20/108.80 POL(down.0(x_1)) = 0 217.20/108.80 POL(f.0-0(x_1, x_2)) = 0 217.20/108.80 POL(f.0-1(x_1, x_2)) = x_1 217.20/108.80 POL(f.1-0(x_1, x_2)) = x_2 217.20/108.80 POL(f.1-1(x_1, x_2)) = 1 + x_2 217.20/108.80 POL(f_flat.0-0(x_1, x_2)) = x_1 + x_2 217.20/108.80 POL(fresh_constant.) = 0 217.20/108.80 POL(up.0(x_1)) = x_1 217.20/108.80 217.20/108.80 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 217.20/108.80 217.20/108.80 down.0(f.1-0(x, f.0-0(a., y))) -> up.0(f.0-0(a., f.0-1(f.0-0(f.0-0(a., a.), y), x))) 217.20/108.80 down.0(f.1-0(x, f.0-1(a., y))) -> up.0(f.0-0(a., f.0-1(f.0-1(f.0-0(a., a.), y), x))) 217.20/108.80 down.0(f.1-0(y20, a.)) -> f_flat.0-0(block.1(y20), down.0(a.)) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.1-0(fresh_constant., y56))) -> f_flat.0-0(block.1(y9), down.0(f.1-0(fresh_constant., y56))) 217.20/108.80 down.0(f.1-0(y9, f.1-1(fresh_constant., y56))) -> f_flat.0-0(block.1(y9), down.0(f.1-1(fresh_constant., y56))) 217.20/108.80 down.0(f.0-1(y23, fresh_constant.)) -> f_flat.0-0(down.0(y23), block.1(fresh_constant.)) 217.20/108.80 down.0(f.0-0(x, f.0-0(a., y))) -> up.0(f.0-0(a., f.0-0(f.0-0(f.0-0(a., a.), y), x))) 217.20/108.80 down.0(f.0-0(x, f.0-1(a., y))) -> up.0(f.0-0(a., f.0-0(f.0-1(f.0-0(a., a.), y), x))) 217.20/108.80 down.0(f.0-0(y20, a.)) -> f_flat.0-0(down.0(y20), block.0(a.)) 217.20/108.80 down.0(f.0-0(y20, a.)) -> f_flat.0-0(block.0(y20), down.0(a.)) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.1-0(fresh_constant., y56))) -> f_flat.0-0(down.0(y9), block.0(f.1-0(fresh_constant., y56))) 217.20/108.80 down.0(f.0-0(y9, f.1-1(fresh_constant., y56))) -> f_flat.0-0(down.0(y9), block.0(f.1-1(fresh_constant., y56))) 217.20/108.80 down.0(f.0-0(y9, f.1-0(fresh_constant., y56))) -> f_flat.0-0(block.0(y9), down.0(f.1-0(fresh_constant., y56))) 217.20/108.80 down.0(f.0-0(y9, f.1-1(fresh_constant., y56))) -> f_flat.0-0(block.0(y9), down.0(f.1-1(fresh_constant., y56))) 217.20/108.80 f_flat.0-0(up.0(x_1), block.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 217.20/108.80 f_flat.0-0(block.0(x_1), up.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 217.20/108.80 f_flat.0-0(up.0(x_1), block.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 217.20/108.80 f_flat.0-0(block.1(x_1), up.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 217.20/108.80 217.20/108.80 217.20/108.80 ---------------------------------------- 217.20/108.80 217.20/108.80 (75) 217.20/108.80 Obligation: 217.20/108.80 Q DP problem: 217.20/108.80 The TRS P consists of the following rules: 217.20/108.80 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.0-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(a., x1)))) -> TOP.0(up.0(f.0-0(a., f.0-0(f.0-0(f.0-0(a., a.), x1), x0)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.0-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(a., x1)))) -> TOP.0(up.0(f.0-0(a., f.0-0(f.0-1(f.0-0(a., a.), x1), x0)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.0-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(a., x1)))) -> TOP.0(up.0(f.0-0(a., f.0-1(f.0-0(f.0-0(a., a.), x1), x0)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.0-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.0-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, a.))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(a.))) 217.20/108.80 TOP.0(up.0(f.0-1(x0, fresh_constant.))) -> TOP.0(f_flat.0-0(down.0(x0), block.1(fresh_constant.))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.1-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.1-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.1-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.1-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.0-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.0-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.0-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.1-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.1-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.1-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.1-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.0-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.0-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.0-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.0-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.1-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.1-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.1-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.1-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-0(fresh_constant., x1)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.1-1(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-1(fresh_constant., x1)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.1-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.1-0(fresh_constant., x1)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.1-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.1-0(fresh_constant., x1)))) 217.20/108.80 217.20/108.80 The TRS R consists of the following rules: 217.20/108.80 217.20/108.80 f_flat.0-0(block.1(x_1), up.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 217.20/108.80 down.0(f.1-0(x, f.0-0(a., y))) -> up.0(f.0-0(a., f.0-1(f.0-0(f.0-0(a., a.), y), x))) 217.20/108.80 down.0(f.1-0(x, f.0-1(a., y))) -> up.0(f.0-0(a., f.0-1(f.0-1(f.0-0(a., a.), y), x))) 217.20/108.80 down.0(f.1-0(y20, a.)) -> f_flat.0-0(block.1(y20), down.0(a.)) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.1-0(fresh_constant., y56))) -> f_flat.0-0(block.1(y9), down.0(f.1-0(fresh_constant., y56))) 217.20/108.80 down.0(f.1-0(y9, f.1-1(fresh_constant., y56))) -> f_flat.0-0(block.1(y9), down.0(f.1-1(fresh_constant., y56))) 217.20/108.80 down.0(f.0-1(y23, fresh_constant.)) -> f_flat.0-0(down.0(y23), block.1(fresh_constant.)) 217.20/108.80 down.0(f.0-0(x, f.0-0(a., y))) -> up.0(f.0-0(a., f.0-0(f.0-0(f.0-0(a., a.), y), x))) 217.20/108.80 down.0(f.0-0(x, f.0-1(a., y))) -> up.0(f.0-0(a., f.0-0(f.0-1(f.0-0(a., a.), y), x))) 217.20/108.80 down.0(f.0-0(y20, a.)) -> f_flat.0-0(down.0(y20), block.0(a.)) 217.20/108.80 down.0(f.0-0(y20, a.)) -> f_flat.0-0(block.0(y20), down.0(a.)) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.1-0(fresh_constant., y56))) -> f_flat.0-0(down.0(y9), block.0(f.1-0(fresh_constant., y56))) 217.20/108.80 down.0(f.0-0(y9, f.1-1(fresh_constant., y56))) -> f_flat.0-0(down.0(y9), block.0(f.1-1(fresh_constant., y56))) 217.20/108.80 down.0(f.0-0(y9, f.1-0(fresh_constant., y56))) -> f_flat.0-0(block.0(y9), down.0(f.1-0(fresh_constant., y56))) 217.20/108.80 down.0(f.0-0(y9, f.1-1(fresh_constant., y56))) -> f_flat.0-0(block.0(y9), down.0(f.1-1(fresh_constant., y56))) 217.20/108.80 f_flat.0-0(up.0(x_1), block.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 217.20/108.80 f_flat.0-0(block.0(x_1), up.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 217.20/108.80 f_flat.0-0(up.0(x_1), block.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 217.20/108.80 217.20/108.80 Q is empty. 217.20/108.80 We have to consider all minimal (P,Q,R)-chains. 217.20/108.80 ---------------------------------------- 217.20/108.80 217.20/108.80 (76) QDPOrderProof (EQUIVALENT) 217.20/108.80 We use the reduction pair processor [LPAR04,JAR06]. 217.20/108.80 217.20/108.80 217.20/108.80 The following pairs can be oriented strictly and are deleted. 217.20/108.80 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(a., x1)))) -> TOP.0(up.0(f.0-0(a., f.0-1(f.0-0(f.0-0(a., a.), x1), x0)))) 217.20/108.80 The remaining pairs can at least be oriented weakly. 217.20/108.80 Used ordering: Polynomial interpretation [POLO]: 217.20/108.80 217.20/108.80 POL(TOP.0(x_1)) = x_1 217.20/108.80 POL(a.) = 0 217.20/108.80 POL(block.0(x_1)) = x_1 217.20/108.80 POL(block.1(x_1)) = 1 217.20/108.80 POL(down.0(x_1)) = x_1 217.20/108.80 POL(f.0-0(x_1, x_2)) = x_1 217.20/108.80 POL(f.0-1(x_1, x_2)) = x_1 217.20/108.80 POL(f.1-0(x_1, x_2)) = 1 217.20/108.80 POL(f.1-1(x_1, x_2)) = x_2 217.20/108.80 POL(f_flat.0-0(x_1, x_2)) = x_1 217.20/108.80 POL(fresh_constant.) = 0 217.20/108.80 POL(up.0(x_1)) = x_1 217.20/108.80 217.20/108.80 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 217.20/108.80 217.20/108.80 down.0(f.1-0(x, f.0-0(a., y))) -> up.0(f.0-0(a., f.0-1(f.0-0(f.0-0(a., a.), y), x))) 217.20/108.80 down.0(f.1-0(x, f.0-1(a., y))) -> up.0(f.0-0(a., f.0-1(f.0-1(f.0-0(a., a.), y), x))) 217.20/108.80 down.0(f.1-0(y20, a.)) -> f_flat.0-0(block.1(y20), down.0(a.)) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.1-0(fresh_constant., y56))) -> f_flat.0-0(block.1(y9), down.0(f.1-0(fresh_constant., y56))) 217.20/108.80 down.0(f.1-0(y9, f.1-1(fresh_constant., y56))) -> f_flat.0-0(block.1(y9), down.0(f.1-1(fresh_constant., y56))) 217.20/108.80 down.0(f.0-1(y23, fresh_constant.)) -> f_flat.0-0(down.0(y23), block.1(fresh_constant.)) 217.20/108.80 down.0(f.0-0(x, f.0-0(a., y))) -> up.0(f.0-0(a., f.0-0(f.0-0(f.0-0(a., a.), y), x))) 217.20/108.80 down.0(f.0-0(x, f.0-1(a., y))) -> up.0(f.0-0(a., f.0-0(f.0-1(f.0-0(a., a.), y), x))) 217.20/108.80 down.0(f.0-0(y20, a.)) -> f_flat.0-0(down.0(y20), block.0(a.)) 217.20/108.80 down.0(f.0-0(y20, a.)) -> f_flat.0-0(block.0(y20), down.0(a.)) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.1-0(fresh_constant., y56))) -> f_flat.0-0(down.0(y9), block.0(f.1-0(fresh_constant., y56))) 217.20/108.80 down.0(f.0-0(y9, f.1-1(fresh_constant., y56))) -> f_flat.0-0(down.0(y9), block.0(f.1-1(fresh_constant., y56))) 217.20/108.80 down.0(f.0-0(y9, f.1-0(fresh_constant., y56))) -> f_flat.0-0(block.0(y9), down.0(f.1-0(fresh_constant., y56))) 217.20/108.80 down.0(f.0-0(y9, f.1-1(fresh_constant., y56))) -> f_flat.0-0(block.0(y9), down.0(f.1-1(fresh_constant., y56))) 217.20/108.80 f_flat.0-0(up.0(x_1), block.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 217.20/108.80 f_flat.0-0(block.0(x_1), up.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 217.20/108.80 f_flat.0-0(up.0(x_1), block.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 217.20/108.80 f_flat.0-0(block.1(x_1), up.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 217.20/108.80 217.20/108.80 217.20/108.80 ---------------------------------------- 217.20/108.80 217.20/108.80 (77) 217.20/108.80 Obligation: 217.20/108.80 Q DP problem: 217.20/108.80 The TRS P consists of the following rules: 217.20/108.80 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.0-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(a., x1)))) -> TOP.0(up.0(f.0-0(a., f.0-0(f.0-0(f.0-0(a., a.), x1), x0)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.0-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(a., x1)))) -> TOP.0(up.0(f.0-0(a., f.0-0(f.0-1(f.0-0(a., a.), x1), x0)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.0-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.0-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.0-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, a.))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(a.))) 217.20/108.80 TOP.0(up.0(f.0-1(x0, fresh_constant.))) -> TOP.0(f_flat.0-0(down.0(x0), block.1(fresh_constant.))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.1-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.1-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.1-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.1-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.0-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.0-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.0-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.1-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.1-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.1-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.1-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.0-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.0-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.0-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.0-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.1-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.1-0(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.1-1(x1, x2), x3)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.1-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-0(fresh_constant., x1)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.1-1(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.1-1(fresh_constant., x1)))) 217.20/108.80 TOP.0(up.0(f.0-0(x0, f.1-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.1-0(fresh_constant., x1)))) 217.20/108.80 TOP.0(up.0(f.1-0(x0, f.1-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.1-0(fresh_constant., x1)))) 217.20/108.80 217.20/108.80 The TRS R consists of the following rules: 217.20/108.80 217.20/108.80 f_flat.0-0(block.1(x_1), up.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 217.20/108.80 down.0(f.1-0(x, f.0-0(a., y))) -> up.0(f.0-0(a., f.0-1(f.0-0(f.0-0(a., a.), y), x))) 217.20/108.80 down.0(f.1-0(x, f.0-1(a., y))) -> up.0(f.0-0(a., f.0-1(f.0-1(f.0-0(a., a.), y), x))) 217.20/108.80 down.0(f.1-0(y20, a.)) -> f_flat.0-0(block.1(y20), down.0(a.)) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.1-0(y9, f.1-0(fresh_constant., y56))) -> f_flat.0-0(block.1(y9), down.0(f.1-0(fresh_constant., y56))) 217.20/108.80 down.0(f.1-0(y9, f.1-1(fresh_constant., y56))) -> f_flat.0-0(block.1(y9), down.0(f.1-1(fresh_constant., y56))) 217.20/108.80 down.0(f.0-1(y23, fresh_constant.)) -> f_flat.0-0(down.0(y23), block.1(fresh_constant.)) 217.20/108.80 down.0(f.0-0(x, f.0-0(a., y))) -> up.0(f.0-0(a., f.0-0(f.0-0(f.0-0(a., a.), y), x))) 217.20/108.80 down.0(f.0-0(x, f.0-1(a., y))) -> up.0(f.0-0(a., f.0-0(f.0-1(f.0-0(a., a.), y), x))) 217.20/108.80 down.0(f.0-0(y20, a.)) -> f_flat.0-0(down.0(y20), block.0(a.)) 217.20/108.80 down.0(f.0-0(y20, a.)) -> f_flat.0-0(block.0(y20), down.0(a.)) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.0-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.0-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.1-0(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.1-1(y52, y53), y54))) 217.20/108.80 down.0(f.0-0(y9, f.1-0(fresh_constant., y56))) -> f_flat.0-0(down.0(y9), block.0(f.1-0(fresh_constant., y56))) 217.20/108.80 down.0(f.0-0(y9, f.1-1(fresh_constant., y56))) -> f_flat.0-0(down.0(y9), block.0(f.1-1(fresh_constant., y56))) 217.20/108.80 down.0(f.0-0(y9, f.1-0(fresh_constant., y56))) -> f_flat.0-0(block.0(y9), down.0(f.1-0(fresh_constant., y56))) 217.20/108.80 down.0(f.0-0(y9, f.1-1(fresh_constant., y56))) -> f_flat.0-0(block.0(y9), down.0(f.1-1(fresh_constant., y56))) 217.20/108.80 f_flat.0-0(up.0(x_1), block.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 217.20/108.80 f_flat.0-0(block.0(x_1), up.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 217.20/108.80 f_flat.0-0(up.0(x_1), block.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 217.20/108.80 217.20/108.80 Q is empty. 217.20/108.80 We have to consider all minimal (P,Q,R)-chains. 217.20/108.80 ---------------------------------------- 217.20/108.80 217.20/108.80 (78) PisEmptyProof (SOUND) 217.20/108.80 The TRS P is empty. Hence, there is no (P,Q,R) chain. 217.20/108.80 ---------------------------------------- 217.20/108.80 217.20/108.80 (79) 217.20/108.80 TRUE 217.20/108.80 217.20/108.80 ---------------------------------------- 217.20/108.80 217.20/108.80 (80) 217.20/108.80 Obligation: 217.20/108.80 Q DP problem: 217.20/108.80 The TRS P consists of the following rules: 217.20/108.80 217.20/108.80 TOP(up(f(x0, f(f(x1, x2), x3)))) -> TOP(f_flat(down(x0), block(f(f(x1, x2), x3)))) 217.20/108.80 TOP(up(f(x0, f(a, x1)))) -> TOP(up(f(a, f(f(f(a, a), x1), x0)))) 217.20/108.80 TOP(up(f(x0, f(f(x1, x2), x3)))) -> TOP(f_flat(block(x0), down(f(f(x1, x2), x3)))) 217.20/108.80 TOP(up(f(x0, a))) -> TOP(f_flat(down(x0), block(a))) 217.20/108.80 TOP(up(f(x0, fresh_constant))) -> TOP(f_flat(down(x0), block(fresh_constant))) 217.20/108.80 TOP(up(f(x0, f(fresh_constant, x1)))) -> TOP(f_flat(down(x0), block(f(fresh_constant, x1)))) 217.20/108.80 TOP(up(f(x0, f(fresh_constant, x1)))) -> TOP(f_flat(block(x0), down(f(fresh_constant, x1)))) 217.20/108.80 217.20/108.80 The TRS R consists of the following rules: 217.20/108.80 217.20/108.80 f_flat(block(x_1), up(x_2)) -> up(f(x_1, x_2)) 217.20/108.80 down(f(x, f(a, y))) -> up(f(a, f(f(f(a, a), y), x))) 217.20/108.80 down(f(y20, a)) -> f_flat(block(y20), down(a)) 217.20/108.80 down(f(y9, f(f(y52, y53), y54))) -> f_flat(block(y9), down(f(f(y52, y53), y54))) 217.20/108.80 down(f(y9, f(fresh_constant, y56))) -> f_flat(block(y9), down(f(fresh_constant, y56))) 217.20/108.80 down(f(y23, fresh_constant)) -> f_flat(down(y23), block(fresh_constant)) 217.20/108.80 down(f(y20, a)) -> f_flat(down(y20), block(a)) 217.20/108.80 down(f(y9, f(f(y52, y53), y54))) -> f_flat(down(y9), block(f(f(y52, y53), y54))) 217.20/108.80 down(f(y9, f(fresh_constant, y56))) -> f_flat(down(y9), block(f(fresh_constant, y56))) 217.20/108.80 f_flat(up(x_1), block(x_2)) -> up(f(x_1, x_2)) 217.20/108.80 217.20/108.80 Q is empty. 217.20/108.80 We have to consider all minimal (P,Q,R)-chains. 217.20/108.80 ---------------------------------------- 217.20/108.80 217.20/108.80 (81) SplitQDPProof (EQUIVALENT) 217.20/108.80 We show in the first subproof that some pairs and rules can be removed, afterwards, we continue with the remaining DP-Problem 217.20/108.80 217.20/108.80 ---------------------------------------- 217.20/108.80 217.20/108.80 (82) 217.20/108.80 Complex Obligation (AND) 217.20/108.80 217.20/108.80 ---------------------------------------- 217.20/108.80 217.20/108.80 (83) 217.20/108.80 Obligation: 217.20/108.80 Q DP problem: 217.20/108.80 The TRS P consists of the following rules: 217.20/108.80 217.20/108.80 TOP(up(f(x0, f(f(x1, x2), x3)))) -> TOP(f_flat(down(x0), block(f(f(x1, x2), x3)))) 217.20/108.80 TOP(up(f(x0, f(a, x1)))) -> TOP(up(f(a, f(f(f(a, a), x1), x0)))) 217.23/108.80 TOP(up(f(x0, f(f(x1, x2), x3)))) -> TOP(f_flat(block(x0), down(f(f(x1, x2), x3)))) 217.23/108.80 TOP(up(f(x0, a))) -> TOP(f_flat(down(x0), block(a))) 217.23/108.80 TOP(up(f(x0, fresh_constant))) -> TOP(f_flat(down(x0), block(fresh_constant))) 217.23/108.80 TOP(up(f(x0, f(fresh_constant, x1)))) -> TOP(f_flat(down(x0), block(f(fresh_constant, x1)))) 217.23/108.80 TOP(up(f(x0, f(fresh_constant, x1)))) -> TOP(f_flat(block(x0), down(f(fresh_constant, x1)))) 217.23/108.80 217.23/108.80 The TRS R consists of the following rules: 217.23/108.80 217.23/108.80 f_flat(block(x_1), up(x_2)) -> up(f(x_1, x_2)) 217.23/108.80 down(f(x, f(a, y))) -> up(f(a, f(f(f(a, a), y), x))) 217.23/108.80 down(f(y20, a)) -> f_flat(block(y20), down(a)) 217.23/108.80 down(f(y9, f(f(y52, y53), y54))) -> f_flat(block(y9), down(f(f(y52, y53), y54))) 217.23/108.80 down(f(y9, f(fresh_constant, y56))) -> f_flat(block(y9), down(f(fresh_constant, y56))) 217.23/108.80 down(f(y23, fresh_constant)) -> f_flat(down(y23), block(fresh_constant)) 217.23/108.80 down(f(y20, a)) -> f_flat(down(y20), block(a)) 217.23/108.80 down(f(y9, f(f(y52, y53), y54))) -> f_flat(down(y9), block(f(f(y52, y53), y54))) 217.23/108.80 down(f(y9, f(fresh_constant, y56))) -> f_flat(down(y9), block(f(fresh_constant, y56))) 217.23/108.80 f_flat(up(x_1), block(x_2)) -> up(f(x_1, x_2)) 217.23/108.80 217.23/108.80 Q is empty. 217.23/108.80 We have to consider all minimal (P,Q,R)-chains. 217.23/108.80 ---------------------------------------- 217.23/108.80 217.23/108.80 (84) SemLabProof (SOUND) 217.23/108.80 We found the following model for the rules of the TRSs R and P. 217.23/108.80 Interpretation over the domain with elements from 0 to 1. 217.23/108.80 a: 1 217.23/108.80 block: 0 217.23/108.80 down: 0 217.23/108.80 f: 0 217.23/108.80 fresh_constant: 0 217.23/108.80 up: 0 217.23/108.80 f_flat: 0 217.23/108.80 TOP: 0 217.23/108.80 By semantic labelling [SEMLAB] we obtain the following labelled QDP problem. 217.23/108.80 ---------------------------------------- 217.23/108.80 217.23/108.80 (85) 217.23/108.80 Obligation: 217.23/108.80 Q DP problem: 217.23/108.80 The TRS P consists of the following rules: 217.23/108.80 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.0-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.1-0(a., x1)))) -> TOP.0(up.0(f.1-0(a., f.0-0(f.0-0(f.1-1(a., a.), x1), x0)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.1-1(a., x1)))) -> TOP.0(up.0(f.1-0(a., f.0-0(f.0-1(f.1-1(a., a.), x1), x0)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.1-0(a., x1)))) -> TOP.0(up.0(f.1-0(a., f.0-1(f.0-0(f.1-1(a., a.), x1), x0)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.1-1(a., x1)))) -> TOP.0(up.0(f.1-0(a., f.0-1(f.0-1(f.1-1(a., a.), x1), x0)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.0-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.0-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.0-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.1-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.1-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.1-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.1-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.1(x0), block.0(f.0-0(f.0-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.1(x0), block.0(f.0-1(f.0-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.1(x0), block.0(f.0-0(f.0-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.1(x0), block.0(f.0-1(f.0-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.1(x0), block.0(f.0-0(f.1-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.1(x0), block.0(f.0-1(f.1-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.1(x0), block.0(f.0-0(f.1-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.1(x0), block.0(f.0-1(f.1-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-1(x0, a.))) -> TOP.0(f_flat.0-0(down.0(x0), block.1(a.))) 217.23/108.80 TOP.0(up.0(f.1-1(x0, a.))) -> TOP.0(f_flat.0-0(down.1(x0), block.1(a.))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, fresh_constant.))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(fresh_constant.))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, fresh_constant.))) -> TOP.0(f_flat.0-0(down.1(x0), block.0(fresh_constant.))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.0-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.0-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.0-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.0-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.1-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.1-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.1-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.1-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.0-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.0-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.0-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.0-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.1-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.1-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.1-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.1-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(fresh_constant., x1)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(fresh_constant., x1)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(down.1(x0), block.0(f.0-0(fresh_constant., x1)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(down.1(x0), block.0(f.0-1(fresh_constant., x1)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(fresh_constant., x1)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(fresh_constant., x1)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(fresh_constant., x1)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(fresh_constant., x1)))) 217.23/108.80 217.23/108.80 The TRS R consists of the following rules: 217.23/108.80 217.23/108.80 f_flat.0-0(block.0(x_1), up.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 217.23/108.80 f_flat.0-0(block.0(x_1), up.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 217.23/108.80 f_flat.0-0(block.1(x_1), up.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 217.23/108.80 f_flat.0-0(block.1(x_1), up.1(x_2)) -> up.0(f.1-1(x_1, x_2)) 217.23/108.80 down.0(f.0-0(x, f.1-0(a., y))) -> up.0(f.1-0(a., f.0-0(f.0-0(f.1-1(a., a.), y), x))) 217.23/108.80 down.0(f.0-0(x, f.1-1(a., y))) -> up.0(f.1-0(a., f.0-0(f.0-1(f.1-1(a., a.), y), x))) 217.23/108.80 down.0(f.1-0(x, f.1-0(a., y))) -> up.0(f.1-0(a., f.0-1(f.0-0(f.1-1(a., a.), y), x))) 217.23/108.80 down.0(f.1-0(x, f.1-1(a., y))) -> up.0(f.1-0(a., f.0-1(f.0-1(f.1-1(a., a.), y), x))) 217.23/108.80 down.0(f.0-1(y20, a.)) -> f_flat.0-0(block.0(y20), down.1(a.)) 217.23/108.80 down.0(f.1-1(y20, a.)) -> f_flat.0-0(block.1(y20), down.1(a.)) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(fresh_constant., y56))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(fresh_constant., y56))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(fresh_constant., y56))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(fresh_constant., y56))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(fresh_constant., y56))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(fresh_constant., y56))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(fresh_constant., y56))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(fresh_constant., y56))) 217.23/108.80 down.0(f.0-0(y23, fresh_constant.)) -> f_flat.0-0(down.0(y23), block.0(fresh_constant.)) 217.23/108.80 down.0(f.1-0(y23, fresh_constant.)) -> f_flat.0-0(down.1(y23), block.0(fresh_constant.)) 217.23/108.80 down.0(f.0-1(y20, a.)) -> f_flat.0-0(down.0(y20), block.1(a.)) 217.23/108.80 down.0(f.1-1(y20, a.)) -> f_flat.0-0(down.1(y20), block.1(a.)) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-0(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-1(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-0(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-1(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-0(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-1(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-0(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-1(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(fresh_constant., y56))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(fresh_constant., y56))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(fresh_constant., y56))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(fresh_constant., y56))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(fresh_constant., y56))) -> f_flat.0-0(down.1(y9), block.0(f.0-0(fresh_constant., y56))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(fresh_constant., y56))) -> f_flat.0-0(down.1(y9), block.0(f.0-1(fresh_constant., y56))) 217.23/108.80 f_flat.0-0(up.0(x_1), block.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 217.23/108.80 f_flat.0-0(up.0(x_1), block.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 217.23/108.80 f_flat.0-0(up.1(x_1), block.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 217.23/108.80 f_flat.0-0(up.1(x_1), block.1(x_2)) -> up.0(f.1-1(x_1, x_2)) 217.23/108.80 217.23/108.80 Q is empty. 217.23/108.80 We have to consider all minimal (P,Q,R)-chains. 217.23/108.80 ---------------------------------------- 217.23/108.80 217.23/108.80 (86) DependencyGraphProof (EQUIVALENT) 217.23/108.80 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 12 less nodes. 217.23/108.80 ---------------------------------------- 217.23/108.80 217.23/108.80 (87) 217.23/108.80 Obligation: 217.23/108.80 Q DP problem: 217.23/108.80 The TRS P consists of the following rules: 217.23/108.80 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.1-0(a., x1)))) -> TOP.0(up.0(f.1-0(a., f.0-0(f.0-0(f.1-1(a., a.), x1), x0)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.0-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.1-1(a., x1)))) -> TOP.0(up.0(f.1-0(a., f.0-0(f.0-1(f.1-1(a., a.), x1), x0)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.0-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.1-0(a., x1)))) -> TOP.0(up.0(f.1-0(a., f.0-1(f.0-0(f.1-1(a., a.), x1), x0)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.0-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.1-1(a., x1)))) -> TOP.0(up.0(f.1-0(a., f.0-1(f.0-1(f.1-1(a., a.), x1), x0)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.0-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-1(x0, a.))) -> TOP.0(f_flat.0-0(down.0(x0), block.1(a.))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, fresh_constant.))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(fresh_constant.))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.0-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.0-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.0-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.0-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.1-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.1-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.1-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.1-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.0-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.0-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.0-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.0-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.1-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.1-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.1-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.1-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.1-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.1-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.1-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.1-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(fresh_constant., x1)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(fresh_constant., x1)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(fresh_constant., x1)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(fresh_constant., x1)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(fresh_constant., x1)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(fresh_constant., x1)))) 217.23/108.80 217.23/108.80 The TRS R consists of the following rules: 217.23/108.80 217.23/108.80 f_flat.0-0(block.0(x_1), up.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 217.23/108.80 f_flat.0-0(block.0(x_1), up.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 217.23/108.80 f_flat.0-0(block.1(x_1), up.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 217.23/108.80 f_flat.0-0(block.1(x_1), up.1(x_2)) -> up.0(f.1-1(x_1, x_2)) 217.23/108.80 down.0(f.0-0(x, f.1-0(a., y))) -> up.0(f.1-0(a., f.0-0(f.0-0(f.1-1(a., a.), y), x))) 217.23/108.80 down.0(f.0-0(x, f.1-1(a., y))) -> up.0(f.1-0(a., f.0-0(f.0-1(f.1-1(a., a.), y), x))) 217.23/108.80 down.0(f.1-0(x, f.1-0(a., y))) -> up.0(f.1-0(a., f.0-1(f.0-0(f.1-1(a., a.), y), x))) 217.23/108.80 down.0(f.1-0(x, f.1-1(a., y))) -> up.0(f.1-0(a., f.0-1(f.0-1(f.1-1(a., a.), y), x))) 217.23/108.80 down.0(f.0-1(y20, a.)) -> f_flat.0-0(block.0(y20), down.1(a.)) 217.23/108.80 down.0(f.1-1(y20, a.)) -> f_flat.0-0(block.1(y20), down.1(a.)) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(fresh_constant., y56))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(fresh_constant., y56))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(fresh_constant., y56))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(fresh_constant., y56))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(fresh_constant., y56))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(fresh_constant., y56))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(fresh_constant., y56))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(fresh_constant., y56))) 217.23/108.80 down.0(f.0-0(y23, fresh_constant.)) -> f_flat.0-0(down.0(y23), block.0(fresh_constant.)) 217.23/108.80 down.0(f.1-0(y23, fresh_constant.)) -> f_flat.0-0(down.1(y23), block.0(fresh_constant.)) 217.23/108.80 down.0(f.0-1(y20, a.)) -> f_flat.0-0(down.0(y20), block.1(a.)) 217.23/108.80 down.0(f.1-1(y20, a.)) -> f_flat.0-0(down.1(y20), block.1(a.)) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-0(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-1(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-0(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-1(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-0(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-1(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-0(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-1(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(fresh_constant., y56))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(fresh_constant., y56))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(fresh_constant., y56))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(fresh_constant., y56))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(fresh_constant., y56))) -> f_flat.0-0(down.1(y9), block.0(f.0-0(fresh_constant., y56))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(fresh_constant., y56))) -> f_flat.0-0(down.1(y9), block.0(f.0-1(fresh_constant., y56))) 217.23/108.80 f_flat.0-0(up.0(x_1), block.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 217.23/108.80 f_flat.0-0(up.0(x_1), block.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 217.23/108.80 f_flat.0-0(up.1(x_1), block.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 217.23/108.80 f_flat.0-0(up.1(x_1), block.1(x_2)) -> up.0(f.1-1(x_1, x_2)) 217.23/108.80 217.23/108.80 Q is empty. 217.23/108.80 We have to consider all minimal (P,Q,R)-chains. 217.23/108.80 ---------------------------------------- 217.23/108.80 217.23/108.80 (88) UsableRulesReductionPairsProof (EQUIVALENT) 217.23/108.80 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. 217.23/108.80 217.23/108.80 No dependency pairs are removed. 217.23/108.80 217.23/108.80 The following rules are removed from R: 217.23/108.80 217.23/108.80 f_flat.0-0(block.0(x_1), up.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 217.23/108.80 f_flat.0-0(block.1(x_1), up.1(x_2)) -> up.0(f.1-1(x_1, x_2)) 217.23/108.80 f_flat.0-0(up.1(x_1), block.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 217.23/108.80 f_flat.0-0(up.1(x_1), block.1(x_2)) -> up.0(f.1-1(x_1, x_2)) 217.23/108.80 Used ordering: POLO with Polynomial interpretation [POLO]: 217.23/108.80 217.23/108.80 POL(TOP.0(x_1)) = x_1 217.23/108.80 POL(a.) = 0 217.23/108.80 POL(block.0(x_1)) = x_1 217.23/108.80 POL(block.1(x_1)) = x_1 217.23/108.80 POL(down.0(x_1)) = 1 + x_1 217.23/108.80 POL(down.1(x_1)) = 1 + x_1 217.23/108.80 POL(f.0-0(x_1, x_2)) = x_1 + x_2 217.23/108.80 POL(f.0-1(x_1, x_2)) = x_1 + x_2 217.23/108.80 POL(f.1-0(x_1, x_2)) = x_1 + x_2 217.23/108.80 POL(f.1-1(x_1, x_2)) = x_1 + x_2 217.23/108.80 POL(f_flat.0-0(x_1, x_2)) = x_1 + x_2 217.23/108.80 POL(fresh_constant.) = 0 217.23/108.80 POL(up.0(x_1)) = 1 + x_1 217.23/108.80 POL(up.1(x_1)) = 1 + x_1 217.23/108.80 217.23/108.80 217.23/108.80 ---------------------------------------- 217.23/108.80 217.23/108.80 (89) 217.23/108.80 Obligation: 217.23/108.80 Q DP problem: 217.23/108.80 The TRS P consists of the following rules: 217.23/108.80 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.1-0(a., x1)))) -> TOP.0(up.0(f.1-0(a., f.0-0(f.0-0(f.1-1(a., a.), x1), x0)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.0-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.1-1(a., x1)))) -> TOP.0(up.0(f.1-0(a., f.0-0(f.0-1(f.1-1(a., a.), x1), x0)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.0-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.1-0(a., x1)))) -> TOP.0(up.0(f.1-0(a., f.0-1(f.0-0(f.1-1(a., a.), x1), x0)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.0-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.1-1(a., x1)))) -> TOP.0(up.0(f.1-0(a., f.0-1(f.0-1(f.1-1(a., a.), x1), x0)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.0-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-1(x0, a.))) -> TOP.0(f_flat.0-0(down.0(x0), block.1(a.))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, fresh_constant.))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(fresh_constant.))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.0-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.0-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.0-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.0-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.1-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.1-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.1-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.1-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.0-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.0-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.0-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.0-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.1-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.1-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.1-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.1-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.1-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.1-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.1-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.1-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(fresh_constant., x1)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(fresh_constant., x1)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(fresh_constant., x1)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(fresh_constant., x1)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(fresh_constant., x1)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(fresh_constant., x1)))) 217.23/108.80 217.23/108.80 The TRS R consists of the following rules: 217.23/108.80 217.23/108.80 down.0(f.0-1(y20, a.)) -> f_flat.0-0(block.0(y20), down.1(a.)) 217.23/108.80 down.0(f.0-1(y20, a.)) -> f_flat.0-0(down.0(y20), block.1(a.)) 217.23/108.80 f_flat.0-0(block.1(x_1), up.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 217.23/108.80 down.0(f.0-0(x, f.1-0(a., y))) -> up.0(f.1-0(a., f.0-0(f.0-0(f.1-1(a., a.), y), x))) 217.23/108.80 down.0(f.0-0(x, f.1-1(a., y))) -> up.0(f.1-0(a., f.0-0(f.0-1(f.1-1(a., a.), y), x))) 217.23/108.80 down.0(f.1-0(x, f.1-0(a., y))) -> up.0(f.1-0(a., f.0-1(f.0-0(f.1-1(a., a.), y), x))) 217.23/108.80 down.0(f.1-0(x, f.1-1(a., y))) -> up.0(f.1-0(a., f.0-1(f.0-1(f.1-1(a., a.), y), x))) 217.23/108.80 down.0(f.1-1(y20, a.)) -> f_flat.0-0(block.1(y20), down.1(a.)) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(fresh_constant., y56))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(fresh_constant., y56))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(fresh_constant., y56))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(fresh_constant., y56))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(fresh_constant., y56))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(fresh_constant., y56))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(fresh_constant., y56))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(fresh_constant., y56))) 217.23/108.80 down.0(f.0-0(y23, fresh_constant.)) -> f_flat.0-0(down.0(y23), block.0(fresh_constant.)) 217.23/108.80 down.0(f.1-0(y23, fresh_constant.)) -> f_flat.0-0(down.1(y23), block.0(fresh_constant.)) 217.23/108.80 down.0(f.1-1(y20, a.)) -> f_flat.0-0(down.1(y20), block.1(a.)) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-0(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-1(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-0(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-1(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-0(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-1(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-0(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-1(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(fresh_constant., y56))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(fresh_constant., y56))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(fresh_constant., y56))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(fresh_constant., y56))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(fresh_constant., y56))) -> f_flat.0-0(down.1(y9), block.0(f.0-0(fresh_constant., y56))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(fresh_constant., y56))) -> f_flat.0-0(down.1(y9), block.0(f.0-1(fresh_constant., y56))) 217.23/108.80 f_flat.0-0(up.0(x_1), block.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 217.23/108.80 f_flat.0-0(up.0(x_1), block.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 217.23/108.80 f_flat.0-0(block.0(x_1), up.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 217.23/108.80 217.23/108.80 Q is empty. 217.23/108.80 We have to consider all minimal (P,Q,R)-chains. 217.23/108.80 ---------------------------------------- 217.23/108.80 217.23/108.80 (90) MRRProof (EQUIVALENT) 217.23/108.80 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. 217.23/108.80 217.23/108.80 217.23/108.80 Strictly oriented rules of the TRS R: 217.23/108.80 217.23/108.80 down.0(f.0-1(y20, a.)) -> f_flat.0-0(block.0(y20), down.1(a.)) 217.23/108.80 down.0(f.1-1(y20, a.)) -> f_flat.0-0(block.1(y20), down.1(a.)) 217.23/108.80 down.0(f.1-0(y23, fresh_constant.)) -> f_flat.0-0(down.1(y23), block.0(fresh_constant.)) 217.23/108.80 down.0(f.1-1(y20, a.)) -> f_flat.0-0(down.1(y20), block.1(a.)) 217.23/108.80 down.0(f.1-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-0(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-1(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-0(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-1(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-0(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-1(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-0(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.1(y9), block.0(f.0-1(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(fresh_constant., y56))) -> f_flat.0-0(down.1(y9), block.0(f.0-0(fresh_constant., y56))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(fresh_constant., y56))) -> f_flat.0-0(down.1(y9), block.0(f.0-1(fresh_constant., y56))) 217.23/108.80 217.23/108.80 Used ordering: Polynomial interpretation [POLO]: 217.23/108.80 217.23/108.80 POL(TOP.0(x_1)) = x_1 217.23/108.80 POL(a.) = 0 217.23/108.80 POL(block.0(x_1)) = x_1 217.23/108.80 POL(block.1(x_1)) = x_1 217.23/108.80 POL(down.0(x_1)) = 1 + x_1 217.23/108.80 POL(down.1(x_1)) = x_1 217.23/108.80 POL(f.0-0(x_1, x_2)) = x_1 + x_2 217.23/108.80 POL(f.0-1(x_1, x_2)) = x_1 + x_2 217.23/108.80 POL(f.1-0(x_1, x_2)) = x_1 + x_2 217.23/108.80 POL(f.1-1(x_1, x_2)) = x_1 + x_2 217.23/108.80 POL(f_flat.0-0(x_1, x_2)) = x_1 + x_2 217.23/108.80 POL(fresh_constant.) = 0 217.23/108.80 POL(up.0(x_1)) = 1 + x_1 217.23/108.80 217.23/108.80 217.23/108.80 ---------------------------------------- 217.23/108.80 217.23/108.80 (91) 217.23/108.80 Obligation: 217.23/108.80 Q DP problem: 217.23/108.80 The TRS P consists of the following rules: 217.23/108.80 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.1-0(a., x1)))) -> TOP.0(up.0(f.1-0(a., f.0-0(f.0-0(f.1-1(a., a.), x1), x0)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.0-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.1-1(a., x1)))) -> TOP.0(up.0(f.1-0(a., f.0-0(f.0-1(f.1-1(a., a.), x1), x0)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.0-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.1-0(a., x1)))) -> TOP.0(up.0(f.1-0(a., f.0-1(f.0-0(f.1-1(a., a.), x1), x0)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.0-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.1-1(a., x1)))) -> TOP.0(up.0(f.1-0(a., f.0-1(f.0-1(f.1-1(a., a.), x1), x0)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.0-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-1(x0, a.))) -> TOP.0(f_flat.0-0(down.0(x0), block.1(a.))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, fresh_constant.))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(fresh_constant.))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.0-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.0-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.0-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.0-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.1-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.1-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.1-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.1-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.0-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.0-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.0-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.0-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.1-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.1-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.1-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.1-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.1-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.1-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.1-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.1-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(fresh_constant., x1)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(fresh_constant., x1)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(fresh_constant., x1)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(fresh_constant., x1)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(fresh_constant., x1)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(fresh_constant., x1)))) 217.23/108.80 217.23/108.80 The TRS R consists of the following rules: 217.23/108.80 217.23/108.80 down.0(f.0-1(y20, a.)) -> f_flat.0-0(down.0(y20), block.1(a.)) 217.23/108.80 f_flat.0-0(block.1(x_1), up.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 217.23/108.80 down.0(f.0-0(x, f.1-0(a., y))) -> up.0(f.1-0(a., f.0-0(f.0-0(f.1-1(a., a.), y), x))) 217.23/108.80 down.0(f.0-0(x, f.1-1(a., y))) -> up.0(f.1-0(a., f.0-0(f.0-1(f.1-1(a., a.), y), x))) 217.23/108.80 down.0(f.1-0(x, f.1-0(a., y))) -> up.0(f.1-0(a., f.0-1(f.0-0(f.1-1(a., a.), y), x))) 217.23/108.80 down.0(f.1-0(x, f.1-1(a., y))) -> up.0(f.1-0(a., f.0-1(f.0-1(f.1-1(a., a.), y), x))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(fresh_constant., y56))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(fresh_constant., y56))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(fresh_constant., y56))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(fresh_constant., y56))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(fresh_constant., y56))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(fresh_constant., y56))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(fresh_constant., y56))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(fresh_constant., y56))) 217.23/108.80 down.0(f.0-0(y23, fresh_constant.)) -> f_flat.0-0(down.0(y23), block.0(fresh_constant.)) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(fresh_constant., y56))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(fresh_constant., y56))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(fresh_constant., y56))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(fresh_constant., y56))) 217.23/108.80 f_flat.0-0(up.0(x_1), block.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 217.23/108.80 f_flat.0-0(up.0(x_1), block.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 217.23/108.80 f_flat.0-0(block.0(x_1), up.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 217.23/108.80 217.23/108.80 Q is empty. 217.23/108.80 We have to consider all minimal (P,Q,R)-chains. 217.23/108.80 ---------------------------------------- 217.23/108.80 217.23/108.80 (92) QDPOrderProof (EQUIVALENT) 217.23/108.80 We use the reduction pair processor [LPAR04,JAR06]. 217.23/108.80 217.23/108.80 217.23/108.80 The following pairs can be oriented strictly and are deleted. 217.23/108.80 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.1-0(a., x1)))) -> TOP.0(up.0(f.1-0(a., f.0-0(f.0-0(f.1-1(a., a.), x1), x0)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.1-1(a., x1)))) -> TOP.0(up.0(f.1-0(a., f.0-0(f.0-1(f.1-1(a., a.), x1), x0)))) 217.23/108.80 The remaining pairs can at least be oriented weakly. 217.23/108.80 Used ordering: Polynomial interpretation [POLO]: 217.23/108.80 217.23/108.80 POL(TOP.0(x_1)) = x_1 217.23/108.80 POL(a.) = 0 217.23/108.80 POL(block.0(x_1)) = 1 + x_1 217.23/108.80 POL(block.1(x_1)) = 0 217.23/108.80 POL(down.0(x_1)) = 1 + x_1 217.23/108.80 POL(f.0-0(x_1, x_2)) = 1 + x_1 217.23/108.80 POL(f.0-1(x_1, x_2)) = 1 + x_1 217.23/108.80 POL(f.1-0(x_1, x_2)) = 0 217.23/108.80 POL(f.1-1(x_1, x_2)) = 0 217.23/108.80 POL(f_flat.0-0(x_1, x_2)) = 1 + x_1 217.23/108.80 POL(fresh_constant.) = 0 217.23/108.80 POL(up.0(x_1)) = 1 + x_1 217.23/108.80 217.23/108.80 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 217.23/108.80 217.23/108.80 down.0(f.0-0(x, f.1-0(a., y))) -> up.0(f.1-0(a., f.0-0(f.0-0(f.1-1(a., a.), y), x))) 217.23/108.80 down.0(f.0-0(x, f.1-1(a., y))) -> up.0(f.1-0(a., f.0-0(f.0-1(f.1-1(a., a.), y), x))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(fresh_constant., y56))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(fresh_constant., y56))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(fresh_constant., y56))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(fresh_constant., y56))) 217.23/108.80 down.0(f.0-0(y23, fresh_constant.)) -> f_flat.0-0(down.0(y23), block.0(fresh_constant.)) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(fresh_constant., y56))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(fresh_constant., y56))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(fresh_constant., y56))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(fresh_constant., y56))) 217.23/108.80 f_flat.0-0(block.1(x_1), up.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 217.23/108.80 down.0(f.0-1(y20, a.)) -> f_flat.0-0(down.0(y20), block.1(a.)) 217.23/108.80 down.0(f.1-0(x, f.1-0(a., y))) -> up.0(f.1-0(a., f.0-1(f.0-0(f.1-1(a., a.), y), x))) 217.23/108.80 down.0(f.1-0(x, f.1-1(a., y))) -> up.0(f.1-0(a., f.0-1(f.0-1(f.1-1(a., a.), y), x))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(fresh_constant., y56))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(fresh_constant., y56))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(fresh_constant., y56))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(fresh_constant., y56))) 217.23/108.80 f_flat.0-0(up.0(x_1), block.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 217.23/108.80 f_flat.0-0(up.0(x_1), block.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 217.23/108.80 f_flat.0-0(block.0(x_1), up.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 217.23/108.80 217.23/108.80 217.23/108.80 ---------------------------------------- 217.23/108.80 217.23/108.80 (93) 217.23/108.80 Obligation: 217.23/108.80 Q DP problem: 217.23/108.80 The TRS P consists of the following rules: 217.23/108.80 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.0-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.0-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.1-0(a., x1)))) -> TOP.0(up.0(f.1-0(a., f.0-1(f.0-0(f.1-1(a., a.), x1), x0)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.0-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.1-1(a., x1)))) -> TOP.0(up.0(f.1-0(a., f.0-1(f.0-1(f.1-1(a., a.), x1), x0)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.0-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-1(x0, a.))) -> TOP.0(f_flat.0-0(down.0(x0), block.1(a.))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, fresh_constant.))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(fresh_constant.))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.0-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.0-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.0-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.0-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.1-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.1-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.1-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.1-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.0-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.0-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.0-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.0-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.1-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.1-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.1-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.1-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.1-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.1-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.1-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.1-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(fresh_constant., x1)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(fresh_constant., x1)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(fresh_constant., x1)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(fresh_constant., x1)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(fresh_constant., x1)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(fresh_constant., x1)))) 217.23/108.80 217.23/108.80 The TRS R consists of the following rules: 217.23/108.80 217.23/108.80 down.0(f.0-1(y20, a.)) -> f_flat.0-0(down.0(y20), block.1(a.)) 217.23/108.80 f_flat.0-0(block.1(x_1), up.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 217.23/108.80 down.0(f.0-0(x, f.1-0(a., y))) -> up.0(f.1-0(a., f.0-0(f.0-0(f.1-1(a., a.), y), x))) 217.23/108.80 down.0(f.0-0(x, f.1-1(a., y))) -> up.0(f.1-0(a., f.0-0(f.0-1(f.1-1(a., a.), y), x))) 217.23/108.80 down.0(f.1-0(x, f.1-0(a., y))) -> up.0(f.1-0(a., f.0-1(f.0-0(f.1-1(a., a.), y), x))) 217.23/108.80 down.0(f.1-0(x, f.1-1(a., y))) -> up.0(f.1-0(a., f.0-1(f.0-1(f.1-1(a., a.), y), x))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(fresh_constant., y56))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(fresh_constant., y56))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(fresh_constant., y56))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(fresh_constant., y56))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(fresh_constant., y56))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(fresh_constant., y56))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(fresh_constant., y56))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(fresh_constant., y56))) 217.23/108.80 down.0(f.0-0(y23, fresh_constant.)) -> f_flat.0-0(down.0(y23), block.0(fresh_constant.)) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(fresh_constant., y56))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(fresh_constant., y56))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(fresh_constant., y56))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(fresh_constant., y56))) 217.23/108.80 f_flat.0-0(up.0(x_1), block.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 217.23/108.80 f_flat.0-0(up.0(x_1), block.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 217.23/108.80 f_flat.0-0(block.0(x_1), up.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 217.23/108.80 217.23/108.80 Q is empty. 217.23/108.80 We have to consider all minimal (P,Q,R)-chains. 217.23/108.80 ---------------------------------------- 217.23/108.80 217.23/108.80 (94) QDPOrderProof (EQUIVALENT) 217.23/108.80 We use the reduction pair processor [LPAR04,JAR06]. 217.23/108.80 217.23/108.80 217.23/108.80 The following pairs can be oriented strictly and are deleted. 217.23/108.80 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.1-1(a., x1)))) -> TOP.0(up.0(f.1-0(a., f.0-1(f.0-1(f.1-1(a., a.), x1), x0)))) 217.23/108.80 The remaining pairs can at least be oriented weakly. 217.23/108.80 Used ordering: Polynomial interpretation [POLO]: 217.23/108.80 217.23/108.80 POL(TOP.0(x_1)) = x_1 217.23/108.80 POL(a.) = 1 217.23/108.80 POL(block.0(x_1)) = 0 217.23/108.80 POL(block.1(x_1)) = 0 217.23/108.80 POL(down.0(x_1)) = 0 217.23/108.80 POL(f.0-0(x_1, x_2)) = 0 217.23/108.80 POL(f.0-1(x_1, x_2)) = 0 217.23/108.80 POL(f.1-0(x_1, x_2)) = x_2 217.23/108.80 POL(f.1-1(x_1, x_2)) = 1 + x_1 217.23/108.80 POL(f_flat.0-0(x_1, x_2)) = x_2 217.23/108.80 POL(fresh_constant.) = 0 217.23/108.80 POL(up.0(x_1)) = x_1 217.23/108.80 217.23/108.80 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 217.23/108.80 217.23/108.80 down.0(f.0-0(x, f.1-0(a., y))) -> up.0(f.1-0(a., f.0-0(f.0-0(f.1-1(a., a.), y), x))) 217.23/108.80 down.0(f.0-0(x, f.1-1(a., y))) -> up.0(f.1-0(a., f.0-0(f.0-1(f.1-1(a., a.), y), x))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(fresh_constant., y56))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(fresh_constant., y56))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(fresh_constant., y56))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(fresh_constant., y56))) 217.23/108.80 down.0(f.0-0(y23, fresh_constant.)) -> f_flat.0-0(down.0(y23), block.0(fresh_constant.)) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.0-0(y9, f.0-0(fresh_constant., y56))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(fresh_constant., y56))) 217.23/108.80 down.0(f.0-0(y9, f.0-1(fresh_constant., y56))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(fresh_constant., y56))) 217.23/108.80 f_flat.0-0(block.1(x_1), up.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 217.23/108.80 down.0(f.0-1(y20, a.)) -> f_flat.0-0(down.0(y20), block.1(a.)) 217.23/108.80 down.0(f.1-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.0-0(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.0-1(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.1-0(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.1-1(y52, y53), y54))) 217.23/108.80 down.0(f.1-0(y9, f.0-0(fresh_constant., y56))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(fresh_constant., y56))) 217.23/108.80 down.0(f.1-0(y9, f.0-1(fresh_constant., y56))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(fresh_constant., y56))) 217.23/108.80 f_flat.0-0(up.0(x_1), block.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 217.23/108.80 f_flat.0-0(up.0(x_1), block.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 217.23/108.80 f_flat.0-0(block.0(x_1), up.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 217.23/108.80 217.23/108.80 217.23/108.80 ---------------------------------------- 217.23/108.80 217.23/108.80 (95) 217.23/108.80 Obligation: 217.23/108.80 Q DP problem: 217.23/108.80 The TRS P consists of the following rules: 217.23/108.80 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.0-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.0-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.1-0(a., x1)))) -> TOP.0(up.0(f.1-0(a., f.0-1(f.0-0(f.1-1(a., a.), x1), x0)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.0-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.1-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.0-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-1(x0, a.))) -> TOP.0(f_flat.0-0(down.0(x0), block.1(a.))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, fresh_constant.))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(fresh_constant.))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.0-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.0-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.0-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.0-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.1-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.1-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.1-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.1-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.0-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.0-0(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.0-1(x1, x2), x3)))) 217.23/108.80 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.0-1(x1, x2), x3)))) 217.23/108.81 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.1-0(x1, x2), x3)))) 217.23/108.81 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.1-0(x1, x2), x3)))) 217.23/108.81 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.1-1(x1, x2), x3)))) 217.23/108.81 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.1-1(x1, x2), x3)))) 217.23/108.81 TOP.0(up.0(f.1-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.1-0(x1, x2), x3)))) 217.23/108.81 TOP.0(up.0(f.1-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.1-0(x1, x2), x3)))) 217.23/108.81 TOP.0(up.0(f.1-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.1-1(x1, x2), x3)))) 217.23/108.81 TOP.0(up.0(f.1-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.1-1(x1, x2), x3)))) 217.23/108.81 TOP.0(up.0(f.0-0(x0, f.0-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(fresh_constant., x1)))) 217.23/108.81 TOP.0(up.0(f.0-0(x0, f.0-1(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(fresh_constant., x1)))) 217.23/108.81 TOP.0(up.0(f.0-0(x0, f.0-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(fresh_constant., x1)))) 217.23/108.81 TOP.0(up.0(f.0-0(x0, f.0-1(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(fresh_constant., x1)))) 217.23/108.81 TOP.0(up.0(f.1-0(x0, f.0-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(fresh_constant., x1)))) 217.23/108.81 TOP.0(up.0(f.1-0(x0, f.0-1(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(fresh_constant., x1)))) 217.23/108.81 217.23/108.81 The TRS R consists of the following rules: 217.23/108.81 217.23/108.81 down.0(f.0-1(y20, a.)) -> f_flat.0-0(down.0(y20), block.1(a.)) 217.23/108.81 f_flat.0-0(block.1(x_1), up.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 217.23/108.81 down.0(f.0-0(x, f.1-0(a., y))) -> up.0(f.1-0(a., f.0-0(f.0-0(f.1-1(a., a.), y), x))) 217.23/108.81 down.0(f.0-0(x, f.1-1(a., y))) -> up.0(f.1-0(a., f.0-0(f.0-1(f.1-1(a., a.), y), x))) 217.23/108.81 down.0(f.1-0(x, f.1-0(a., y))) -> up.0(f.1-0(a., f.0-1(f.0-0(f.1-1(a., a.), y), x))) 217.23/108.81 down.0(f.1-0(x, f.1-1(a., y))) -> up.0(f.1-0(a., f.0-1(f.0-1(f.1-1(a., a.), y), x))) 217.23/108.81 down.0(f.0-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.0-0(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.0-0(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.0-1(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.0-1(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.1-0(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.1-0(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.1-1(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.1-1(y52, y53), y54))) 217.23/108.81 down.0(f.1-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.0-0(y52, y53), y54))) 217.23/108.81 down.0(f.1-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.0-0(y52, y53), y54))) 217.23/108.81 down.0(f.1-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.0-1(y52, y53), y54))) 217.23/108.81 down.0(f.1-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.0-1(y52, y53), y54))) 217.23/108.81 down.0(f.1-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.1-0(y52, y53), y54))) 217.23/108.81 down.0(f.1-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.1-0(y52, y53), y54))) 217.23/108.81 down.0(f.1-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.1-1(y52, y53), y54))) 217.23/108.81 down.0(f.1-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.1-1(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-0(fresh_constant., y56))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(fresh_constant., y56))) 217.23/108.81 down.0(f.0-0(y9, f.0-1(fresh_constant., y56))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(fresh_constant., y56))) 217.23/108.81 down.0(f.1-0(y9, f.0-0(fresh_constant., y56))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(fresh_constant., y56))) 217.23/108.81 down.0(f.1-0(y9, f.0-1(fresh_constant., y56))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(fresh_constant., y56))) 217.23/108.81 down.0(f.0-0(y23, fresh_constant.)) -> f_flat.0-0(down.0(y23), block.0(fresh_constant.)) 217.23/108.81 down.0(f.0-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.0-0(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.0-0(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.0-1(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.0-1(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.1-0(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.1-0(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.1-1(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.1-1(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-0(fresh_constant., y56))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(fresh_constant., y56))) 217.23/108.81 down.0(f.0-0(y9, f.0-1(fresh_constant., y56))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(fresh_constant., y56))) 217.23/108.81 f_flat.0-0(up.0(x_1), block.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 217.23/108.81 f_flat.0-0(up.0(x_1), block.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 217.23/108.81 f_flat.0-0(block.0(x_1), up.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 217.23/108.81 217.23/108.81 Q is empty. 217.23/108.81 We have to consider all minimal (P,Q,R)-chains. 217.23/108.81 ---------------------------------------- 217.23/108.81 217.23/108.81 (96) QDPOrderProof (EQUIVALENT) 217.23/108.81 We use the reduction pair processor [LPAR04,JAR06]. 217.23/108.81 217.23/108.81 217.23/108.81 The following pairs can be oriented strictly and are deleted. 217.23/108.81 217.23/108.81 TOP.0(up.0(f.1-0(x0, f.0-1(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(fresh_constant., x1)))) 217.23/108.81 The remaining pairs can at least be oriented weakly. 217.23/108.81 Used ordering: Polynomial interpretation [POLO]: 217.23/108.81 217.23/108.81 POL(TOP.0(x_1)) = x_1 217.23/108.81 POL(a.) = 0 217.23/108.81 POL(block.0(x_1)) = 0 217.23/108.81 POL(block.1(x_1)) = 0 217.23/108.81 POL(down.0(x_1)) = 0 217.23/108.81 POL(f.0-0(x_1, x_2)) = 0 217.23/108.81 POL(f.0-1(x_1, x_2)) = x_1 217.23/108.81 POL(f.1-0(x_1, x_2)) = x_2 217.23/108.81 POL(f.1-1(x_1, x_2)) = 0 217.23/108.81 POL(f_flat.0-0(x_1, x_2)) = x_1 + x_2 217.23/108.81 POL(fresh_constant.) = 1 217.23/108.81 POL(up.0(x_1)) = x_1 217.23/108.81 217.23/108.81 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 217.23/108.81 217.23/108.81 down.0(f.0-0(x, f.1-0(a., y))) -> up.0(f.1-0(a., f.0-0(f.0-0(f.1-1(a., a.), y), x))) 217.23/108.81 down.0(f.0-0(x, f.1-1(a., y))) -> up.0(f.1-0(a., f.0-0(f.0-1(f.1-1(a., a.), y), x))) 217.23/108.81 down.0(f.0-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.0-0(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.0-0(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.0-1(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.0-1(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.1-0(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.1-0(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.1-1(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.1-1(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-0(fresh_constant., y56))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(fresh_constant., y56))) 217.23/108.81 down.0(f.0-0(y9, f.0-1(fresh_constant., y56))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(fresh_constant., y56))) 217.23/108.81 down.0(f.0-0(y23, fresh_constant.)) -> f_flat.0-0(down.0(y23), block.0(fresh_constant.)) 217.23/108.81 down.0(f.0-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.0-0(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.0-0(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.0-1(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.0-1(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.1-0(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.1-0(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.1-1(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.1-1(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-0(fresh_constant., y56))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(fresh_constant., y56))) 217.23/108.81 down.0(f.0-0(y9, f.0-1(fresh_constant., y56))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(fresh_constant., y56))) 217.23/108.81 f_flat.0-0(block.1(x_1), up.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 217.23/108.81 down.0(f.0-1(y20, a.)) -> f_flat.0-0(down.0(y20), block.1(a.)) 217.23/108.81 down.0(f.1-0(x, f.1-0(a., y))) -> up.0(f.1-0(a., f.0-1(f.0-0(f.1-1(a., a.), y), x))) 217.23/108.81 down.0(f.1-0(x, f.1-1(a., y))) -> up.0(f.1-0(a., f.0-1(f.0-1(f.1-1(a., a.), y), x))) 217.23/108.81 down.0(f.1-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.0-0(y52, y53), y54))) 217.23/108.81 down.0(f.1-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.0-0(y52, y53), y54))) 217.23/108.81 down.0(f.1-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.0-1(y52, y53), y54))) 217.23/108.81 down.0(f.1-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.0-1(y52, y53), y54))) 217.23/108.81 down.0(f.1-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.1-0(y52, y53), y54))) 217.23/108.81 down.0(f.1-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.1-0(y52, y53), y54))) 217.23/108.81 down.0(f.1-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.1-1(y52, y53), y54))) 217.23/108.81 down.0(f.1-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.1-1(y52, y53), y54))) 217.23/108.81 down.0(f.1-0(y9, f.0-0(fresh_constant., y56))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(fresh_constant., y56))) 217.23/108.81 down.0(f.1-0(y9, f.0-1(fresh_constant., y56))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(fresh_constant., y56))) 217.23/108.81 f_flat.0-0(up.0(x_1), block.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 217.23/108.81 f_flat.0-0(up.0(x_1), block.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 217.23/108.81 f_flat.0-0(block.0(x_1), up.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 217.23/108.81 217.23/108.81 217.23/108.81 ---------------------------------------- 217.23/108.81 217.23/108.81 (97) 217.23/108.81 Obligation: 217.23/108.81 Q DP problem: 217.23/108.81 The TRS P consists of the following rules: 217.23/108.81 217.23/108.81 TOP.0(up.0(f.1-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.0-0(x1, x2), x3)))) 217.23/108.81 TOP.0(up.0(f.1-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.0-1(x1, x2), x3)))) 217.23/108.81 TOP.0(up.0(f.1-0(x0, f.1-0(a., x1)))) -> TOP.0(up.0(f.1-0(a., f.0-1(f.0-0(f.1-1(a., a.), x1), x0)))) 217.23/108.81 TOP.0(up.0(f.1-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.0-0(x1, x2), x3)))) 217.23/108.81 TOP.0(up.0(f.1-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.0-1(x1, x2), x3)))) 217.23/108.81 TOP.0(up.0(f.0-1(x0, a.))) -> TOP.0(f_flat.0-0(down.0(x0), block.1(a.))) 217.23/108.81 TOP.0(up.0(f.0-0(x0, fresh_constant.))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(fresh_constant.))) 217.23/108.81 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.0-0(x1, x2), x3)))) 217.23/108.81 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.0-0(x1, x2), x3)))) 217.23/108.81 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.0-1(x1, x2), x3)))) 217.23/108.81 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.0-1(x1, x2), x3)))) 217.23/108.81 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.1-0(x1, x2), x3)))) 217.23/108.81 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.1-0(x1, x2), x3)))) 217.23/108.81 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(f.1-1(x1, x2), x3)))) 217.23/108.81 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(f.1-1(x1, x2), x3)))) 217.23/108.81 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.0-0(x1, x2), x3)))) 217.23/108.81 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.0-0(x1, x2), x3)))) 217.23/108.81 TOP.0(up.0(f.0-0(x0, f.0-0(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.0-1(x1, x2), x3)))) 217.23/108.81 TOP.0(up.0(f.0-0(x0, f.0-1(f.0-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.0-1(x1, x2), x3)))) 217.23/108.81 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.1-0(x1, x2), x3)))) 217.23/108.81 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.1-0(x1, x2), x3)))) 217.23/108.81 TOP.0(up.0(f.0-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(f.1-1(x1, x2), x3)))) 217.23/108.81 TOP.0(up.0(f.0-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(f.1-1(x1, x2), x3)))) 217.23/108.81 TOP.0(up.0(f.1-0(x0, f.0-0(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.1-0(x1, x2), x3)))) 217.23/108.81 TOP.0(up.0(f.1-0(x0, f.0-1(f.1-0(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.1-0(x1, x2), x3)))) 217.23/108.81 TOP.0(up.0(f.1-0(x0, f.0-0(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(f.1-1(x1, x2), x3)))) 217.23/108.81 TOP.0(up.0(f.1-0(x0, f.0-1(f.1-1(x1, x2), x3)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-1(f.1-1(x1, x2), x3)))) 217.23/108.81 TOP.0(up.0(f.0-0(x0, f.0-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-0(fresh_constant., x1)))) 217.23/108.81 TOP.0(up.0(f.0-0(x0, f.0-1(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(down.0(x0), block.0(f.0-1(fresh_constant., x1)))) 217.23/108.81 TOP.0(up.0(f.0-0(x0, f.0-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-0(fresh_constant., x1)))) 217.23/108.81 TOP.0(up.0(f.0-0(x0, f.0-1(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.0(x0), down.0(f.0-1(fresh_constant., x1)))) 217.23/108.81 TOP.0(up.0(f.1-0(x0, f.0-0(fresh_constant., x1)))) -> TOP.0(f_flat.0-0(block.1(x0), down.0(f.0-0(fresh_constant., x1)))) 217.23/108.81 217.23/108.81 The TRS R consists of the following rules: 217.23/108.81 217.23/108.81 down.0(f.0-1(y20, a.)) -> f_flat.0-0(down.0(y20), block.1(a.)) 217.23/108.81 f_flat.0-0(block.1(x_1), up.0(x_2)) -> up.0(f.1-0(x_1, x_2)) 217.23/108.81 down.0(f.0-0(x, f.1-0(a., y))) -> up.0(f.1-0(a., f.0-0(f.0-0(f.1-1(a., a.), y), x))) 217.23/108.81 down.0(f.0-0(x, f.1-1(a., y))) -> up.0(f.1-0(a., f.0-0(f.0-1(f.1-1(a., a.), y), x))) 217.23/108.81 down.0(f.1-0(x, f.1-0(a., y))) -> up.0(f.1-0(a., f.0-1(f.0-0(f.1-1(a., a.), y), x))) 217.23/108.81 down.0(f.1-0(x, f.1-1(a., y))) -> up.0(f.1-0(a., f.0-1(f.0-1(f.1-1(a., a.), y), x))) 217.23/108.81 down.0(f.0-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.0-0(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.0-0(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.0-1(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.0-1(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.1-0(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.1-0(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(f.1-1(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(f.1-1(y52, y53), y54))) 217.23/108.81 down.0(f.1-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.0-0(y52, y53), y54))) 217.23/108.81 down.0(f.1-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.0-0(y52, y53), y54))) 217.23/108.81 down.0(f.1-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.0-1(y52, y53), y54))) 217.23/108.81 down.0(f.1-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.0-1(y52, y53), y54))) 217.23/108.81 down.0(f.1-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.1-0(y52, y53), y54))) 217.23/108.81 down.0(f.1-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.1-0(y52, y53), y54))) 217.23/108.81 down.0(f.1-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(f.1-1(y52, y53), y54))) 217.23/108.81 down.0(f.1-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(f.1-1(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-0(fresh_constant., y56))) -> f_flat.0-0(block.0(y9), down.0(f.0-0(fresh_constant., y56))) 217.23/108.81 down.0(f.0-0(y9, f.0-1(fresh_constant., y56))) -> f_flat.0-0(block.0(y9), down.0(f.0-1(fresh_constant., y56))) 217.23/108.81 down.0(f.1-0(y9, f.0-0(fresh_constant., y56))) -> f_flat.0-0(block.1(y9), down.0(f.0-0(fresh_constant., y56))) 217.23/108.81 down.0(f.1-0(y9, f.0-1(fresh_constant., y56))) -> f_flat.0-0(block.1(y9), down.0(f.0-1(fresh_constant., y56))) 217.23/108.81 down.0(f.0-0(y23, fresh_constant.)) -> f_flat.0-0(down.0(y23), block.0(fresh_constant.)) 217.23/108.81 down.0(f.0-0(y9, f.0-0(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.0-0(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-1(f.0-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.0-0(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-0(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.0-1(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-1(f.0-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.0-1(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-0(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.1-0(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-1(f.1-0(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.1-0(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-0(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(f.1-1(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-1(f.1-1(y52, y53), y54))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(f.1-1(y52, y53), y54))) 217.23/108.81 down.0(f.0-0(y9, f.0-0(fresh_constant., y56))) -> f_flat.0-0(down.0(y9), block.0(f.0-0(fresh_constant., y56))) 217.23/108.81 down.0(f.0-0(y9, f.0-1(fresh_constant., y56))) -> f_flat.0-0(down.0(y9), block.0(f.0-1(fresh_constant., y56))) 217.23/108.81 f_flat.0-0(up.0(x_1), block.1(x_2)) -> up.0(f.0-1(x_1, x_2)) 217.23/108.81 f_flat.0-0(up.0(x_1), block.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 217.23/108.81 f_flat.0-0(block.0(x_1), up.0(x_2)) -> up.0(f.0-0(x_1, x_2)) 217.23/108.81 217.23/108.81 Q is empty. 217.23/108.81 We have to consider all minimal (P,Q,R)-chains. 217.23/108.81 ---------------------------------------- 217.23/108.81 217.23/108.81 (98) PisEmptyProof (SOUND) 217.23/108.81 The TRS P is empty. Hence, there is no (P,Q,R) chain. 217.23/108.81 ---------------------------------------- 217.23/108.81 217.23/108.81 (99) 217.23/108.81 TRUE 217.23/108.81 217.23/108.81 ---------------------------------------- 217.23/108.81 217.23/108.81 (100) 217.23/108.81 Obligation: 217.23/108.81 Q DP problem: 217.23/108.81 The TRS P consists of the following rules: 217.23/108.81 217.23/108.81 TOP(up(f(x0, f(f(x1, x2), x3)))) -> TOP(f_flat(block(x0), down(f(f(x1, x2), x3)))) 217.23/108.81 TOP(up(f(x0, f(a, x1)))) -> TOP(up(f(a, f(f(f(a, a), x1), x0)))) 217.23/108.81 TOP(up(f(x0, a))) -> TOP(f_flat(down(x0), block(a))) 217.23/108.81 TOP(up(f(x0, fresh_constant))) -> TOP(f_flat(down(x0), block(fresh_constant))) 217.23/108.81 TOP(up(f(x0, f(f(x1, x2), x3)))) -> TOP(f_flat(down(x0), block(f(f(x1, x2), x3)))) 217.23/108.81 TOP(up(f(x0, f(fresh_constant, x1)))) -> TOP(f_flat(down(x0), block(f(fresh_constant, x1)))) 217.23/108.81 TOP(up(f(x0, f(fresh_constant, x1)))) -> TOP(f_flat(block(x0), down(f(fresh_constant, x1)))) 217.23/108.81 217.23/108.81 The TRS R consists of the following rules: 217.23/108.81 217.23/108.81 down(f(y20, a)) -> f_flat(down(y20), block(a)) 217.23/108.81 f_flat(block(x_1), up(x_2)) -> up(f(x_1, x_2)) 217.23/108.81 down(f(x, f(a, y))) -> up(f(a, f(f(f(a, a), y), x))) 217.23/108.81 down(f(y9, f(f(y52, y53), y54))) -> f_flat(block(y9), down(f(f(y52, y53), y54))) 217.23/108.81 down(f(y9, f(fresh_constant, y56))) -> f_flat(block(y9), down(f(fresh_constant, y56))) 217.23/108.81 down(f(y23, fresh_constant)) -> f_flat(down(y23), block(fresh_constant)) 217.23/108.81 down(f(y9, f(f(y52, y53), y54))) -> f_flat(down(y9), block(f(f(y52, y53), y54))) 217.23/108.81 down(f(y9, f(fresh_constant, y56))) -> f_flat(down(y9), block(f(fresh_constant, y56))) 217.23/108.81 f_flat(up(x_1), block(x_2)) -> up(f(x_1, x_2)) 217.23/108.81 217.23/108.81 Q is empty. 217.23/108.81 We have to consider all minimal (P,Q,R)-chains. 217.26/108.87 EOF