136.57/52.88 YES 136.57/52.89 proof of /export/starexec/sandbox/benchmark/theBenchmark.xml 136.57/52.89 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 136.57/52.89 136.57/52.89 136.57/52.89 Outermost Termination of the given OTRS could be proven: 136.57/52.89 136.57/52.89 (0) OTRS 136.57/52.89 (1) Raffelsieper-Zantema-Transformation [SOUND, 0 ms] 136.57/52.89 (2) QTRS 136.57/52.89 (3) DependencyPairsProof [EQUIVALENT, 0 ms] 136.57/52.89 (4) QDP 136.57/52.89 (5) DependencyGraphProof [EQUIVALENT, 0 ms] 136.57/52.89 (6) AND 136.57/52.89 (7) QDP 136.57/52.89 (8) UsableRulesProof [EQUIVALENT, 0 ms] 136.57/52.89 (9) QDP 136.57/52.89 (10) QDPSizeChangeProof [EQUIVALENT, 0 ms] 136.57/52.89 (11) YES 136.57/52.89 (12) QDP 136.57/52.89 (13) TransformationProof [EQUIVALENT, 0 ms] 136.57/52.89 (14) QDP 136.57/52.89 (15) DependencyGraphProof [EQUIVALENT, 0 ms] 136.57/52.89 (16) QDP 136.57/52.89 (17) QDPOrderProof [EQUIVALENT, 26 ms] 136.57/52.89 (18) QDP 136.57/52.89 (19) SplitQDPProof [EQUIVALENT, 0 ms] 136.57/52.89 (20) AND 136.57/52.89 (21) QDP 136.57/52.89 (22) SemLabProof [SOUND, 0 ms] 136.57/52.89 (23) QDP 136.57/52.89 (24) DependencyGraphProof [EQUIVALENT, 0 ms] 136.57/52.89 (25) QDP 136.57/52.89 (26) QDPOrderProof [EQUIVALENT, 37 ms] 136.57/52.89 (27) QDP 136.57/52.89 (28) PisEmptyProof [SOUND, 0 ms] 136.57/52.89 (29) TRUE 136.57/52.89 (30) QDP 136.57/52.89 (31) SemLabProof [SOUND, 2969 ms] 136.57/52.89 (32) QDP 136.57/52.89 (33) DependencyGraphProof [EQUIVALENT, 0 ms] 136.57/52.89 (34) QDP 136.57/52.89 (35) QDPOrderProof [EQUIVALENT, 31 ms] 136.57/52.89 (36) QDP 136.57/52.89 (37) PisEmptyProof [EQUIVALENT, 0 ms] 136.57/52.89 (38) YES 136.57/52.89 136.57/52.89 136.57/52.89 ---------------------------------------- 136.57/52.89 136.57/52.89 (0) 136.57/52.89 Obligation: 136.57/52.89 Term rewrite system R: 136.57/52.89 The TRS R consists of the following rules: 136.57/52.89 136.57/52.89 f(g(u, v), y, z) -> c 136.57/52.89 f(0, 1, x) -> f(x, x, x) 136.57/52.89 g(x, y) -> x 136.57/52.89 g(x, y) -> y 136.57/52.89 f(f(x, y, z), u, v) -> c 136.57/52.89 f(0, u, v) -> c 136.57/52.89 136.57/52.89 136.57/52.89 136.57/52.89 Outermost Strategy. 136.57/52.89 136.57/52.89 ---------------------------------------- 136.57/52.89 136.57/52.89 (1) Raffelsieper-Zantema-Transformation (SOUND) 136.57/52.89 We applied the Raffelsieper-Zantema transformation to transform the outermost TRS to a standard TRS. 136.57/52.89 ---------------------------------------- 136.57/52.89 136.57/52.89 (2) 136.57/52.89 Obligation: 136.57/52.89 Q restricted rewrite system: 136.57/52.89 The TRS R consists of the following rules: 136.57/52.89 136.57/52.89 down(f(g(u, v), y, z)) -> up(c) 136.57/52.89 down(f(0, 1, x)) -> up(f(x, x, x)) 136.57/52.89 down(g(x, y)) -> up(x) 136.57/52.89 down(g(x, y)) -> up(y) 136.57/52.89 down(f(f(x, y, z), u, v)) -> up(c) 136.57/52.89 down(f(0, u, v)) -> up(c) 136.57/52.89 top(up(x)) -> top(down(x)) 136.57/52.89 down(f(c, y17, y18)) -> f_flat(down(c), block(y17), block(y18)) 136.57/52.89 down(f(c, y17, y18)) -> f_flat(block(c), down(y17), block(y18)) 136.57/52.89 down(f(c, y17, y18)) -> f_flat(block(c), block(y17), down(y18)) 136.57/52.89 down(f(1, y21, y22)) -> f_flat(down(1), block(y21), block(y22)) 136.57/52.89 down(f(1, y21, y22)) -> f_flat(block(1), down(y21), block(y22)) 136.57/52.89 down(f(1, y21, y22)) -> f_flat(block(1), block(y21), down(y22)) 136.57/52.89 down(f(fresh_constant, y23, y24)) -> f_flat(down(fresh_constant), block(y23), block(y24)) 136.57/52.89 down(f(fresh_constant, y23, y24)) -> f_flat(block(fresh_constant), down(y23), block(y24)) 136.57/52.89 down(f(fresh_constant, y23, y24)) -> f_flat(block(fresh_constant), block(y23), down(y24)) 136.57/52.89 f_flat(up(x_1), block(x_2), block(x_3)) -> up(f(x_1, x_2, x_3)) 136.57/52.89 f_flat(block(x_1), up(x_2), block(x_3)) -> up(f(x_1, x_2, x_3)) 136.57/52.89 f_flat(block(x_1), block(x_2), up(x_3)) -> up(f(x_1, x_2, x_3)) 136.57/52.89 g_flat(up(x_1), block(x_2)) -> up(g(x_1, x_2)) 136.57/52.89 g_flat(block(x_1), up(x_2)) -> up(g(x_1, x_2)) 136.57/52.89 136.57/52.89 Q is empty. 136.57/52.89 136.57/52.89 ---------------------------------------- 136.57/52.89 136.57/52.89 (3) DependencyPairsProof (EQUIVALENT) 136.57/52.89 Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. 136.57/52.89 ---------------------------------------- 136.57/52.89 136.57/52.89 (4) 136.57/52.89 Obligation: 136.57/52.89 Q DP problem: 136.57/52.89 The TRS P consists of the following rules: 136.57/52.89 136.57/52.89 TOP(up(x)) -> TOP(down(x)) 136.57/52.89 TOP(up(x)) -> DOWN(x) 136.57/52.89 DOWN(f(c, y17, y18)) -> F_FLAT(down(c), block(y17), block(y18)) 136.57/52.89 DOWN(f(c, y17, y18)) -> DOWN(c) 136.57/52.89 DOWN(f(c, y17, y18)) -> F_FLAT(block(c), down(y17), block(y18)) 136.57/52.89 DOWN(f(c, y17, y18)) -> DOWN(y17) 136.57/52.89 DOWN(f(c, y17, y18)) -> F_FLAT(block(c), block(y17), down(y18)) 136.57/52.89 DOWN(f(c, y17, y18)) -> DOWN(y18) 136.57/52.89 DOWN(f(1, y21, y22)) -> F_FLAT(down(1), block(y21), block(y22)) 136.57/52.89 DOWN(f(1, y21, y22)) -> DOWN(1) 136.57/52.89 DOWN(f(1, y21, y22)) -> F_FLAT(block(1), down(y21), block(y22)) 136.57/52.89 DOWN(f(1, y21, y22)) -> DOWN(y21) 136.57/52.89 DOWN(f(1, y21, y22)) -> F_FLAT(block(1), block(y21), down(y22)) 136.57/52.89 DOWN(f(1, y21, y22)) -> DOWN(y22) 136.57/52.89 DOWN(f(fresh_constant, y23, y24)) -> F_FLAT(down(fresh_constant), block(y23), block(y24)) 136.57/52.89 DOWN(f(fresh_constant, y23, y24)) -> DOWN(fresh_constant) 136.57/52.89 DOWN(f(fresh_constant, y23, y24)) -> F_FLAT(block(fresh_constant), down(y23), block(y24)) 136.57/52.89 DOWN(f(fresh_constant, y23, y24)) -> DOWN(y23) 136.57/52.89 DOWN(f(fresh_constant, y23, y24)) -> F_FLAT(block(fresh_constant), block(y23), down(y24)) 136.57/52.89 DOWN(f(fresh_constant, y23, y24)) -> DOWN(y24) 136.57/52.89 136.57/52.89 The TRS R consists of the following rules: 136.57/52.89 136.57/52.89 down(f(g(u, v), y, z)) -> up(c) 136.57/52.89 down(f(0, 1, x)) -> up(f(x, x, x)) 136.57/52.89 down(g(x, y)) -> up(x) 136.57/52.89 down(g(x, y)) -> up(y) 136.57/52.89 down(f(f(x, y, z), u, v)) -> up(c) 136.57/52.89 down(f(0, u, v)) -> up(c) 136.57/52.89 top(up(x)) -> top(down(x)) 136.57/52.89 down(f(c, y17, y18)) -> f_flat(down(c), block(y17), block(y18)) 136.57/52.89 down(f(c, y17, y18)) -> f_flat(block(c), down(y17), block(y18)) 136.57/52.89 down(f(c, y17, y18)) -> f_flat(block(c), block(y17), down(y18)) 136.57/52.89 down(f(1, y21, y22)) -> f_flat(down(1), block(y21), block(y22)) 136.57/52.89 down(f(1, y21, y22)) -> f_flat(block(1), down(y21), block(y22)) 136.57/52.89 down(f(1, y21, y22)) -> f_flat(block(1), block(y21), down(y22)) 136.57/52.89 down(f(fresh_constant, y23, y24)) -> f_flat(down(fresh_constant), block(y23), block(y24)) 136.57/52.89 down(f(fresh_constant, y23, y24)) -> f_flat(block(fresh_constant), down(y23), block(y24)) 136.57/52.89 down(f(fresh_constant, y23, y24)) -> f_flat(block(fresh_constant), block(y23), down(y24)) 136.57/52.89 f_flat(up(x_1), block(x_2), block(x_3)) -> up(f(x_1, x_2, x_3)) 136.57/52.89 f_flat(block(x_1), up(x_2), block(x_3)) -> up(f(x_1, x_2, x_3)) 136.57/52.89 f_flat(block(x_1), block(x_2), up(x_3)) -> up(f(x_1, x_2, x_3)) 136.57/52.89 g_flat(up(x_1), block(x_2)) -> up(g(x_1, x_2)) 136.57/52.89 g_flat(block(x_1), up(x_2)) -> up(g(x_1, x_2)) 136.57/52.89 136.57/52.89 Q is empty. 136.57/52.89 We have to consider all minimal (P,Q,R)-chains. 136.57/52.89 ---------------------------------------- 136.57/52.89 136.57/52.89 (5) DependencyGraphProof (EQUIVALENT) 136.57/52.89 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 13 less nodes. 136.57/52.89 ---------------------------------------- 136.57/52.89 136.57/52.89 (6) 136.57/52.89 Complex Obligation (AND) 136.57/52.89 136.57/52.89 ---------------------------------------- 136.57/52.89 136.57/52.89 (7) 136.57/52.89 Obligation: 136.57/52.89 Q DP problem: 136.57/52.89 The TRS P consists of the following rules: 136.57/52.89 136.57/52.89 DOWN(f(c, y17, y18)) -> DOWN(y18) 136.57/52.89 DOWN(f(c, y17, y18)) -> DOWN(y17) 136.57/52.89 DOWN(f(1, y21, y22)) -> DOWN(y21) 136.57/52.89 DOWN(f(1, y21, y22)) -> DOWN(y22) 136.57/52.89 DOWN(f(fresh_constant, y23, y24)) -> DOWN(y23) 136.57/52.89 DOWN(f(fresh_constant, y23, y24)) -> DOWN(y24) 136.57/52.89 136.57/52.89 The TRS R consists of the following rules: 136.57/52.89 136.57/52.89 down(f(g(u, v), y, z)) -> up(c) 136.57/52.89 down(f(0, 1, x)) -> up(f(x, x, x)) 136.57/52.89 down(g(x, y)) -> up(x) 136.57/52.89 down(g(x, y)) -> up(y) 136.57/52.89 down(f(f(x, y, z), u, v)) -> up(c) 136.57/52.89 down(f(0, u, v)) -> up(c) 136.57/52.89 top(up(x)) -> top(down(x)) 136.57/52.89 down(f(c, y17, y18)) -> f_flat(down(c), block(y17), block(y18)) 136.57/52.89 down(f(c, y17, y18)) -> f_flat(block(c), down(y17), block(y18)) 136.57/52.89 down(f(c, y17, y18)) -> f_flat(block(c), block(y17), down(y18)) 136.57/52.89 down(f(1, y21, y22)) -> f_flat(down(1), block(y21), block(y22)) 136.57/52.89 down(f(1, y21, y22)) -> f_flat(block(1), down(y21), block(y22)) 136.57/52.89 down(f(1, y21, y22)) -> f_flat(block(1), block(y21), down(y22)) 136.57/52.89 down(f(fresh_constant, y23, y24)) -> f_flat(down(fresh_constant), block(y23), block(y24)) 136.57/52.89 down(f(fresh_constant, y23, y24)) -> f_flat(block(fresh_constant), down(y23), block(y24)) 136.57/52.89 down(f(fresh_constant, y23, y24)) -> f_flat(block(fresh_constant), block(y23), down(y24)) 136.57/52.89 f_flat(up(x_1), block(x_2), block(x_3)) -> up(f(x_1, x_2, x_3)) 136.57/52.89 f_flat(block(x_1), up(x_2), block(x_3)) -> up(f(x_1, x_2, x_3)) 136.57/52.89 f_flat(block(x_1), block(x_2), up(x_3)) -> up(f(x_1, x_2, x_3)) 136.57/52.89 g_flat(up(x_1), block(x_2)) -> up(g(x_1, x_2)) 136.57/52.89 g_flat(block(x_1), up(x_2)) -> up(g(x_1, x_2)) 136.57/52.89 136.57/52.89 Q is empty. 136.57/52.89 We have to consider all minimal (P,Q,R)-chains. 136.57/52.89 ---------------------------------------- 136.57/52.89 136.57/52.89 (8) UsableRulesProof (EQUIVALENT) 136.57/52.89 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. 136.57/52.89 ---------------------------------------- 136.57/52.89 136.57/52.89 (9) 136.57/52.89 Obligation: 136.57/52.89 Q DP problem: 136.57/52.89 The TRS P consists of the following rules: 136.57/52.89 136.57/52.89 DOWN(f(c, y17, y18)) -> DOWN(y18) 136.57/52.89 DOWN(f(c, y17, y18)) -> DOWN(y17) 136.57/52.89 DOWN(f(1, y21, y22)) -> DOWN(y21) 136.57/52.89 DOWN(f(1, y21, y22)) -> DOWN(y22) 136.57/52.89 DOWN(f(fresh_constant, y23, y24)) -> DOWN(y23) 136.57/52.89 DOWN(f(fresh_constant, y23, y24)) -> DOWN(y24) 136.57/52.89 136.57/52.89 R is empty. 136.57/52.89 Q is empty. 136.57/52.89 We have to consider all minimal (P,Q,R)-chains. 136.57/52.89 ---------------------------------------- 136.57/52.89 136.57/52.89 (10) QDPSizeChangeProof (EQUIVALENT) 136.57/52.89 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. 136.57/52.89 136.57/52.89 From the DPs we obtained the following set of size-change graphs: 136.57/52.89 *DOWN(f(c, y17, y18)) -> DOWN(y18) 136.57/52.89 The graph contains the following edges 1 > 1 136.57/52.89 136.57/52.89 136.57/52.89 *DOWN(f(c, y17, y18)) -> DOWN(y17) 136.57/52.89 The graph contains the following edges 1 > 1 136.57/52.89 136.57/52.89 136.57/52.89 *DOWN(f(1, y21, y22)) -> DOWN(y21) 136.57/52.89 The graph contains the following edges 1 > 1 136.57/52.89 136.57/52.89 136.57/52.89 *DOWN(f(1, y21, y22)) -> DOWN(y22) 136.57/52.89 The graph contains the following edges 1 > 1 136.57/52.89 136.57/52.89 136.57/52.89 *DOWN(f(fresh_constant, y23, y24)) -> DOWN(y23) 136.57/52.89 The graph contains the following edges 1 > 1 136.57/52.89 136.57/52.89 136.57/52.89 *DOWN(f(fresh_constant, y23, y24)) -> DOWN(y24) 136.57/52.89 The graph contains the following edges 1 > 1 136.57/52.89 136.57/52.89 136.57/52.89 ---------------------------------------- 136.57/52.89 136.57/52.89 (11) 136.57/52.89 YES 136.57/52.89 136.57/52.89 ---------------------------------------- 136.57/52.89 136.57/52.89 (12) 136.57/52.89 Obligation: 136.57/52.89 Q DP problem: 136.57/52.89 The TRS P consists of the following rules: 136.57/52.89 136.57/52.89 TOP(up(x)) -> TOP(down(x)) 136.57/52.89 136.57/52.89 The TRS R consists of the following rules: 136.57/52.89 136.57/52.89 down(f(g(u, v), y, z)) -> up(c) 136.57/52.89 down(f(0, 1, x)) -> up(f(x, x, x)) 136.57/52.89 down(g(x, y)) -> up(x) 136.57/52.89 down(g(x, y)) -> up(y) 136.57/52.89 down(f(f(x, y, z), u, v)) -> up(c) 136.57/52.89 down(f(0, u, v)) -> up(c) 136.57/52.89 top(up(x)) -> top(down(x)) 136.57/52.89 down(f(c, y17, y18)) -> f_flat(down(c), block(y17), block(y18)) 136.57/52.89 down(f(c, y17, y18)) -> f_flat(block(c), down(y17), block(y18)) 136.57/52.89 down(f(c, y17, y18)) -> f_flat(block(c), block(y17), down(y18)) 136.57/52.89 down(f(1, y21, y22)) -> f_flat(down(1), block(y21), block(y22)) 136.57/52.89 down(f(1, y21, y22)) -> f_flat(block(1), down(y21), block(y22)) 136.57/52.89 down(f(1, y21, y22)) -> f_flat(block(1), block(y21), down(y22)) 136.57/52.89 down(f(fresh_constant, y23, y24)) -> f_flat(down(fresh_constant), block(y23), block(y24)) 136.57/52.89 down(f(fresh_constant, y23, y24)) -> f_flat(block(fresh_constant), down(y23), block(y24)) 136.57/52.89 down(f(fresh_constant, y23, y24)) -> f_flat(block(fresh_constant), block(y23), down(y24)) 136.57/52.89 f_flat(up(x_1), block(x_2), block(x_3)) -> up(f(x_1, x_2, x_3)) 136.57/52.89 f_flat(block(x_1), up(x_2), block(x_3)) -> up(f(x_1, x_2, x_3)) 136.57/52.89 f_flat(block(x_1), block(x_2), up(x_3)) -> up(f(x_1, x_2, x_3)) 136.57/52.89 g_flat(up(x_1), block(x_2)) -> up(g(x_1, x_2)) 136.57/52.89 g_flat(block(x_1), up(x_2)) -> up(g(x_1, x_2)) 136.57/52.89 136.57/52.89 Q is empty. 136.57/52.89 We have to consider all minimal (P,Q,R)-chains. 136.57/52.89 ---------------------------------------- 136.57/52.89 136.57/52.89 (13) TransformationProof (EQUIVALENT) 136.57/52.89 By narrowing [LPAR04] the rule TOP(up(x)) -> TOP(down(x)) at position [0] we obtained the following new rules [LPAR04]: 136.57/52.89 136.57/52.89 (TOP(up(f(g(x0, x1), x2, x3))) -> TOP(up(c)),TOP(up(f(g(x0, x1), x2, x3))) -> TOP(up(c))) 136.57/52.89 (TOP(up(f(0, 1, x0))) -> TOP(up(f(x0, x0, x0))),TOP(up(f(0, 1, x0))) -> TOP(up(f(x0, x0, x0)))) 136.57/52.89 (TOP(up(g(x0, x1))) -> TOP(up(x0)),TOP(up(g(x0, x1))) -> TOP(up(x0))) 136.57/52.89 (TOP(up(g(x0, x1))) -> TOP(up(x1)),TOP(up(g(x0, x1))) -> TOP(up(x1))) 136.57/52.89 (TOP(up(f(f(x0, x1, x2), x3, x4))) -> TOP(up(c)),TOP(up(f(f(x0, x1, x2), x3, x4))) -> TOP(up(c))) 136.57/52.89 (TOP(up(f(0, x0, x1))) -> TOP(up(c)),TOP(up(f(0, x0, x1))) -> TOP(up(c))) 136.57/52.89 (TOP(up(f(c, x0, x1))) -> TOP(f_flat(down(c), block(x0), block(x1))),TOP(up(f(c, x0, x1))) -> TOP(f_flat(down(c), block(x0), block(x1)))) 136.57/52.89 (TOP(up(f(c, x0, x1))) -> TOP(f_flat(block(c), down(x0), block(x1))),TOP(up(f(c, x0, x1))) -> TOP(f_flat(block(c), down(x0), block(x1)))) 136.57/52.89 (TOP(up(f(c, x0, x1))) -> TOP(f_flat(block(c), block(x0), down(x1))),TOP(up(f(c, x0, x1))) -> TOP(f_flat(block(c), block(x0), down(x1)))) 136.57/52.89 (TOP(up(f(1, x0, x1))) -> TOP(f_flat(down(1), block(x0), block(x1))),TOP(up(f(1, x0, x1))) -> TOP(f_flat(down(1), block(x0), block(x1)))) 136.57/52.89 (TOP(up(f(1, x0, x1))) -> TOP(f_flat(block(1), down(x0), block(x1))),TOP(up(f(1, x0, x1))) -> TOP(f_flat(block(1), down(x0), block(x1)))) 136.57/52.89 (TOP(up(f(1, x0, x1))) -> TOP(f_flat(block(1), block(x0), down(x1))),TOP(up(f(1, x0, x1))) -> TOP(f_flat(block(1), block(x0), down(x1)))) 136.57/52.89 (TOP(up(f(fresh_constant, x0, x1))) -> TOP(f_flat(down(fresh_constant), block(x0), block(x1))),TOP(up(f(fresh_constant, x0, x1))) -> TOP(f_flat(down(fresh_constant), block(x0), block(x1)))) 136.57/52.89 (TOP(up(f(fresh_constant, x0, x1))) -> TOP(f_flat(block(fresh_constant), down(x0), block(x1))),TOP(up(f(fresh_constant, x0, x1))) -> TOP(f_flat(block(fresh_constant), down(x0), block(x1)))) 136.57/52.89 (TOP(up(f(fresh_constant, x0, x1))) -> TOP(f_flat(block(fresh_constant), block(x0), down(x1))),TOP(up(f(fresh_constant, x0, x1))) -> TOP(f_flat(block(fresh_constant), block(x0), down(x1)))) 136.57/52.89 136.57/52.89 136.57/52.89 ---------------------------------------- 136.57/52.89 136.57/52.89 (14) 136.57/52.89 Obligation: 136.57/52.89 Q DP problem: 136.57/52.89 The TRS P consists of the following rules: 136.57/52.89 136.57/52.89 TOP(up(f(g(x0, x1), x2, x3))) -> TOP(up(c)) 136.57/52.90 TOP(up(f(0, 1, x0))) -> TOP(up(f(x0, x0, x0))) 136.57/52.90 TOP(up(g(x0, x1))) -> TOP(up(x0)) 136.57/52.90 TOP(up(g(x0, x1))) -> TOP(up(x1)) 136.57/52.90 TOP(up(f(f(x0, x1, x2), x3, x4))) -> TOP(up(c)) 136.57/52.90 TOP(up(f(0, x0, x1))) -> TOP(up(c)) 136.57/52.90 TOP(up(f(c, x0, x1))) -> TOP(f_flat(down(c), block(x0), block(x1))) 136.57/52.90 TOP(up(f(c, x0, x1))) -> TOP(f_flat(block(c), down(x0), block(x1))) 136.57/52.90 TOP(up(f(c, x0, x1))) -> TOP(f_flat(block(c), block(x0), down(x1))) 136.57/52.90 TOP(up(f(1, x0, x1))) -> TOP(f_flat(down(1), block(x0), block(x1))) 136.57/52.90 TOP(up(f(1, x0, x1))) -> TOP(f_flat(block(1), down(x0), block(x1))) 136.57/52.90 TOP(up(f(1, x0, x1))) -> TOP(f_flat(block(1), block(x0), down(x1))) 136.57/52.90 TOP(up(f(fresh_constant, x0, x1))) -> TOP(f_flat(down(fresh_constant), block(x0), block(x1))) 136.57/52.90 TOP(up(f(fresh_constant, x0, x1))) -> TOP(f_flat(block(fresh_constant), down(x0), block(x1))) 136.57/52.90 TOP(up(f(fresh_constant, x0, x1))) -> TOP(f_flat(block(fresh_constant), block(x0), down(x1))) 136.57/52.90 136.57/52.90 The TRS R consists of the following rules: 136.57/52.90 136.57/52.90 down(f(g(u, v), y, z)) -> up(c) 136.57/52.90 down(f(0, 1, x)) -> up(f(x, x, x)) 136.57/52.90 down(g(x, y)) -> up(x) 136.57/52.90 down(g(x, y)) -> up(y) 136.57/52.90 down(f(f(x, y, z), u, v)) -> up(c) 136.57/52.90 down(f(0, u, v)) -> up(c) 136.57/52.90 top(up(x)) -> top(down(x)) 136.57/52.90 down(f(c, y17, y18)) -> f_flat(down(c), block(y17), block(y18)) 136.57/52.90 down(f(c, y17, y18)) -> f_flat(block(c), down(y17), block(y18)) 136.57/52.90 down(f(c, y17, y18)) -> f_flat(block(c), block(y17), down(y18)) 136.57/52.90 down(f(1, y21, y22)) -> f_flat(down(1), block(y21), block(y22)) 136.57/52.90 down(f(1, y21, y22)) -> f_flat(block(1), down(y21), block(y22)) 136.57/52.90 down(f(1, y21, y22)) -> f_flat(block(1), block(y21), down(y22)) 136.57/52.90 down(f(fresh_constant, y23, y24)) -> f_flat(down(fresh_constant), block(y23), block(y24)) 136.57/52.90 down(f(fresh_constant, y23, y24)) -> f_flat(block(fresh_constant), down(y23), block(y24)) 136.57/52.90 down(f(fresh_constant, y23, y24)) -> f_flat(block(fresh_constant), block(y23), down(y24)) 136.57/52.90 f_flat(up(x_1), block(x_2), block(x_3)) -> up(f(x_1, x_2, x_3)) 136.57/52.90 f_flat(block(x_1), up(x_2), block(x_3)) -> up(f(x_1, x_2, x_3)) 136.57/52.90 f_flat(block(x_1), block(x_2), up(x_3)) -> up(f(x_1, x_2, x_3)) 136.57/52.90 g_flat(up(x_1), block(x_2)) -> up(g(x_1, x_2)) 136.57/52.90 g_flat(block(x_1), up(x_2)) -> up(g(x_1, x_2)) 136.57/52.90 136.57/52.90 Q is empty. 136.57/52.90 We have to consider all minimal (P,Q,R)-chains. 136.57/52.90 ---------------------------------------- 136.57/52.90 136.57/52.90 (15) DependencyGraphProof (EQUIVALENT) 136.57/52.90 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 6 less nodes. 136.57/52.90 ---------------------------------------- 136.57/52.90 136.57/52.90 (16) 136.57/52.90 Obligation: 136.57/52.90 Q DP problem: 136.57/52.90 The TRS P consists of the following rules: 136.57/52.90 136.57/52.90 TOP(up(f(0, 1, x0))) -> TOP(up(f(x0, x0, x0))) 136.57/52.90 TOP(up(f(c, x0, x1))) -> TOP(f_flat(block(c), down(x0), block(x1))) 136.57/52.90 TOP(up(g(x0, x1))) -> TOP(up(x0)) 136.57/52.90 TOP(up(g(x0, x1))) -> TOP(up(x1)) 136.57/52.90 TOP(up(f(c, x0, x1))) -> TOP(f_flat(block(c), block(x0), down(x1))) 136.57/52.90 TOP(up(f(1, x0, x1))) -> TOP(f_flat(block(1), down(x0), block(x1))) 136.57/52.90 TOP(up(f(1, x0, x1))) -> TOP(f_flat(block(1), block(x0), down(x1))) 136.57/52.90 TOP(up(f(fresh_constant, x0, x1))) -> TOP(f_flat(block(fresh_constant), down(x0), block(x1))) 136.57/52.90 TOP(up(f(fresh_constant, x0, x1))) -> TOP(f_flat(block(fresh_constant), block(x0), down(x1))) 136.57/52.90 136.57/52.90 The TRS R consists of the following rules: 136.57/52.90 136.57/52.90 down(f(g(u, v), y, z)) -> up(c) 136.57/52.90 down(f(0, 1, x)) -> up(f(x, x, x)) 136.57/52.90 down(g(x, y)) -> up(x) 136.57/52.90 down(g(x, y)) -> up(y) 136.57/52.90 down(f(f(x, y, z), u, v)) -> up(c) 136.57/52.90 down(f(0, u, v)) -> up(c) 136.57/52.90 top(up(x)) -> top(down(x)) 136.57/52.90 down(f(c, y17, y18)) -> f_flat(down(c), block(y17), block(y18)) 136.57/52.90 down(f(c, y17, y18)) -> f_flat(block(c), down(y17), block(y18)) 136.57/52.90 down(f(c, y17, y18)) -> f_flat(block(c), block(y17), down(y18)) 136.57/52.90 down(f(1, y21, y22)) -> f_flat(down(1), block(y21), block(y22)) 136.57/52.90 down(f(1, y21, y22)) -> f_flat(block(1), down(y21), block(y22)) 136.57/52.90 down(f(1, y21, y22)) -> f_flat(block(1), block(y21), down(y22)) 136.57/52.90 down(f(fresh_constant, y23, y24)) -> f_flat(down(fresh_constant), block(y23), block(y24)) 136.57/52.90 down(f(fresh_constant, y23, y24)) -> f_flat(block(fresh_constant), down(y23), block(y24)) 136.57/52.90 down(f(fresh_constant, y23, y24)) -> f_flat(block(fresh_constant), block(y23), down(y24)) 136.57/52.90 f_flat(up(x_1), block(x_2), block(x_3)) -> up(f(x_1, x_2, x_3)) 136.57/52.90 f_flat(block(x_1), up(x_2), block(x_3)) -> up(f(x_1, x_2, x_3)) 136.57/52.90 f_flat(block(x_1), block(x_2), up(x_3)) -> up(f(x_1, x_2, x_3)) 136.57/52.90 g_flat(up(x_1), block(x_2)) -> up(g(x_1, x_2)) 136.57/52.90 g_flat(block(x_1), up(x_2)) -> up(g(x_1, x_2)) 136.57/52.90 136.57/52.90 Q is empty. 136.57/52.90 We have to consider all minimal (P,Q,R)-chains. 136.57/52.90 ---------------------------------------- 136.57/52.90 136.57/52.90 (17) QDPOrderProof (EQUIVALENT) 136.57/52.90 We use the reduction pair processor [LPAR04,JAR06]. 136.57/52.90 136.57/52.90 136.57/52.90 The following pairs can be oriented strictly and are deleted. 136.57/52.90 136.57/52.90 TOP(up(g(x0, x1))) -> TOP(up(x0)) 136.57/52.90 TOP(up(g(x0, x1))) -> TOP(up(x1)) 136.57/52.90 The remaining pairs can at least be oriented weakly. 136.57/52.90 Used ordering: Polynomial interpretation [POLO]: 136.57/52.90 136.57/52.90 POL(0) = 1 136.57/52.90 POL(1) = 0 136.57/52.90 POL(TOP(x_1)) = x_1 136.57/52.90 POL(block(x_1)) = 0 136.57/52.90 POL(c) = 0 136.57/52.90 POL(down(x_1)) = 0 136.57/52.90 POL(f(x_1, x_2, x_3)) = 0 136.57/52.90 POL(f_flat(x_1, x_2, x_3)) = 0 136.57/52.90 POL(fresh_constant) = 0 136.57/52.90 POL(g(x_1, x_2)) = 1 + x_1 + x_2 136.57/52.90 POL(up(x_1)) = x_1 136.57/52.90 136.57/52.90 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 136.57/52.90 136.57/52.90 f_flat(block(x_1), up(x_2), block(x_3)) -> up(f(x_1, x_2, x_3)) 136.57/52.90 f_flat(block(x_1), block(x_2), up(x_3)) -> up(f(x_1, x_2, x_3)) 136.57/52.90 136.57/52.90 136.57/52.90 ---------------------------------------- 136.57/52.90 136.57/52.90 (18) 136.57/52.90 Obligation: 136.57/52.90 Q DP problem: 136.57/52.90 The TRS P consists of the following rules: 136.57/52.90 136.57/52.90 TOP(up(f(0, 1, x0))) -> TOP(up(f(x0, x0, x0))) 136.57/52.90 TOP(up(f(c, x0, x1))) -> TOP(f_flat(block(c), down(x0), block(x1))) 136.57/52.90 TOP(up(f(c, x0, x1))) -> TOP(f_flat(block(c), block(x0), down(x1))) 136.57/52.90 TOP(up(f(1, x0, x1))) -> TOP(f_flat(block(1), down(x0), block(x1))) 136.57/52.90 TOP(up(f(1, x0, x1))) -> TOP(f_flat(block(1), block(x0), down(x1))) 136.57/52.90 TOP(up(f(fresh_constant, x0, x1))) -> TOP(f_flat(block(fresh_constant), down(x0), block(x1))) 136.57/52.90 TOP(up(f(fresh_constant, x0, x1))) -> TOP(f_flat(block(fresh_constant), block(x0), down(x1))) 136.57/52.90 136.57/52.90 The TRS R consists of the following rules: 136.57/52.90 136.57/52.90 down(f(g(u, v), y, z)) -> up(c) 136.57/52.90 down(f(0, 1, x)) -> up(f(x, x, x)) 136.57/52.90 down(g(x, y)) -> up(x) 136.57/52.90 down(g(x, y)) -> up(y) 136.57/52.90 down(f(f(x, y, z), u, v)) -> up(c) 136.57/52.90 down(f(0, u, v)) -> up(c) 136.57/52.90 top(up(x)) -> top(down(x)) 136.57/52.90 down(f(c, y17, y18)) -> f_flat(down(c), block(y17), block(y18)) 136.57/52.90 down(f(c, y17, y18)) -> f_flat(block(c), down(y17), block(y18)) 136.57/52.90 down(f(c, y17, y18)) -> f_flat(block(c), block(y17), down(y18)) 136.57/52.90 down(f(1, y21, y22)) -> f_flat(down(1), block(y21), block(y22)) 136.57/52.90 down(f(1, y21, y22)) -> f_flat(block(1), down(y21), block(y22)) 136.57/52.90 down(f(1, y21, y22)) -> f_flat(block(1), block(y21), down(y22)) 136.57/52.90 down(f(fresh_constant, y23, y24)) -> f_flat(down(fresh_constant), block(y23), block(y24)) 136.57/52.90 down(f(fresh_constant, y23, y24)) -> f_flat(block(fresh_constant), down(y23), block(y24)) 136.57/52.90 down(f(fresh_constant, y23, y24)) -> f_flat(block(fresh_constant), block(y23), down(y24)) 136.57/52.90 f_flat(up(x_1), block(x_2), block(x_3)) -> up(f(x_1, x_2, x_3)) 136.57/52.90 f_flat(block(x_1), up(x_2), block(x_3)) -> up(f(x_1, x_2, x_3)) 136.57/52.90 f_flat(block(x_1), block(x_2), up(x_3)) -> up(f(x_1, x_2, x_3)) 136.57/52.90 g_flat(up(x_1), block(x_2)) -> up(g(x_1, x_2)) 136.57/52.90 g_flat(block(x_1), up(x_2)) -> up(g(x_1, x_2)) 136.57/52.90 136.57/52.90 Q is empty. 136.57/52.90 We have to consider all minimal (P,Q,R)-chains. 136.57/52.90 ---------------------------------------- 136.57/52.90 136.57/52.90 (19) SplitQDPProof (EQUIVALENT) 136.57/52.90 We show in the first subproof that some pairs and rules can be removed, afterwards, we continue with the remaining DP-Problem 136.57/52.90 136.57/52.90 ---------------------------------------- 136.57/52.90 136.57/52.90 (20) 136.57/52.90 Complex Obligation (AND) 136.57/52.90 136.57/52.90 ---------------------------------------- 136.57/52.90 136.57/52.90 (21) 136.57/52.90 Obligation: 136.57/52.90 Q DP problem: 136.57/52.90 The TRS P consists of the following rules: 136.57/52.90 136.57/52.90 TOP(up(f(0, 1, x0))) -> TOP(up(f(x0, x0, x0))) 136.57/52.90 TOP(up(f(c, x0, x1))) -> TOP(f_flat(block(c), down(x0), block(x1))) 136.57/52.90 TOP(up(f(c, x0, x1))) -> TOP(f_flat(block(c), block(x0), down(x1))) 136.57/52.90 TOP(up(f(1, x0, x1))) -> TOP(f_flat(block(1), down(x0), block(x1))) 136.57/52.90 TOP(up(f(1, x0, x1))) -> TOP(f_flat(block(1), block(x0), down(x1))) 136.57/52.90 TOP(up(f(fresh_constant, x0, x1))) -> TOP(f_flat(block(fresh_constant), down(x0), block(x1))) 136.57/52.90 TOP(up(f(fresh_constant, x0, x1))) -> TOP(f_flat(block(fresh_constant), block(x0), down(x1))) 136.57/52.90 136.57/52.90 The TRS R consists of the following rules: 136.57/52.90 136.57/52.90 down(f(g(u, v), y, z)) -> up(c) 136.57/52.90 down(f(0, 1, x)) -> up(f(x, x, x)) 136.57/52.90 down(g(x, y)) -> up(x) 136.57/52.90 down(g(x, y)) -> up(y) 136.57/52.90 down(f(f(x, y, z), u, v)) -> up(c) 136.57/52.90 down(f(0, u, v)) -> up(c) 136.57/52.90 top(up(x)) -> top(down(x)) 136.57/52.90 down(f(c, y17, y18)) -> f_flat(down(c), block(y17), block(y18)) 136.57/52.90 down(f(c, y17, y18)) -> f_flat(block(c), down(y17), block(y18)) 136.57/52.90 down(f(c, y17, y18)) -> f_flat(block(c), block(y17), down(y18)) 136.57/52.90 down(f(1, y21, y22)) -> f_flat(down(1), block(y21), block(y22)) 136.57/52.90 down(f(1, y21, y22)) -> f_flat(block(1), down(y21), block(y22)) 136.57/52.90 down(f(1, y21, y22)) -> f_flat(block(1), block(y21), down(y22)) 136.57/52.90 down(f(fresh_constant, y23, y24)) -> f_flat(down(fresh_constant), block(y23), block(y24)) 136.57/52.90 down(f(fresh_constant, y23, y24)) -> f_flat(block(fresh_constant), down(y23), block(y24)) 136.57/52.90 down(f(fresh_constant, y23, y24)) -> f_flat(block(fresh_constant), block(y23), down(y24)) 136.57/52.90 f_flat(up(x_1), block(x_2), block(x_3)) -> up(f(x_1, x_2, x_3)) 136.57/52.90 f_flat(block(x_1), up(x_2), block(x_3)) -> up(f(x_1, x_2, x_3)) 136.57/52.90 f_flat(block(x_1), block(x_2), up(x_3)) -> up(f(x_1, x_2, x_3)) 136.57/52.90 g_flat(up(x_1), block(x_2)) -> up(g(x_1, x_2)) 136.57/52.90 g_flat(block(x_1), up(x_2)) -> up(g(x_1, x_2)) 136.57/52.90 136.57/52.90 Q is empty. 136.57/52.90 We have to consider all minimal (P,Q,R)-chains. 136.57/52.90 ---------------------------------------- 136.57/52.90 136.57/52.90 (22) SemLabProof (SOUND) 136.57/52.90 We found the following model for the rules of the TRSs R and P. 136.57/52.90 Interpretation over the domain with elements from 0 to 1. 136.57/52.90 c: 0 136.57/52.90 block: 0 136.57/52.90 TOP: 0 136.57/52.90 g: 0 136.57/52.90 top: 0 136.57/52.90 down: 0 136.57/52.90 f: 0 136.57/52.90 0: 0 136.57/52.90 fresh_constant: 0 136.57/52.90 up: 0 136.57/52.90 1: 1 136.57/52.90 f_flat: 0 136.57/52.90 g_flat: 0 136.57/52.90 By semantic labelling [SEMLAB] we obtain the following labelled QDP problem. 136.57/52.90 ---------------------------------------- 136.57/52.90 136.57/52.90 (23) 136.57/52.90 Obligation: 136.57/52.90 Q DP problem: 136.57/52.90 The TRS P consists of the following rules: 136.57/52.90 136.57/52.90 TOP.0(up.0(f.0-1-0(0., 1., x0))) -> TOP.0(up.0(f.0-0-0(x0, x0, x0))) 136.57/52.90 TOP.0(up.0(f.0-1-1(0., 1., x0))) -> TOP.0(up.0(f.1-1-1(x0, x0, x0))) 136.57/52.90 TOP.0(up.0(f.0-0-0(c., x0, x1))) -> TOP.0(f_flat.0-0-0(block.0(c.), down.0(x0), block.0(x1))) 136.57/52.90 TOP.0(up.0(f.0-0-1(c., x0, x1))) -> TOP.0(f_flat.0-0-0(block.0(c.), down.0(x0), block.1(x1))) 136.57/52.90 TOP.0(up.0(f.0-1-0(c., x0, x1))) -> TOP.0(f_flat.0-0-0(block.0(c.), down.1(x0), block.0(x1))) 136.57/52.90 TOP.0(up.0(f.0-1-1(c., x0, x1))) -> TOP.0(f_flat.0-0-0(block.0(c.), down.1(x0), block.1(x1))) 136.57/52.90 TOP.0(up.0(f.0-0-0(c., x0, x1))) -> TOP.0(f_flat.0-0-0(block.0(c.), block.0(x0), down.0(x1))) 136.57/52.90 TOP.0(up.0(f.0-0-1(c., x0, x1))) -> TOP.0(f_flat.0-0-0(block.0(c.), block.0(x0), down.1(x1))) 136.57/52.90 TOP.0(up.0(f.0-1-0(c., x0, x1))) -> TOP.0(f_flat.0-0-0(block.0(c.), block.1(x0), down.0(x1))) 136.57/52.90 TOP.0(up.0(f.0-1-1(c., x0, x1))) -> TOP.0(f_flat.0-0-0(block.0(c.), block.1(x0), down.1(x1))) 136.57/52.90 TOP.0(up.0(f.1-0-0(1., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(1.), down.0(x0), block.0(x1))) 136.57/52.90 TOP.0(up.0(f.1-0-1(1., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(1.), down.0(x0), block.1(x1))) 136.57/52.90 TOP.0(up.0(f.1-1-0(1., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(1.), down.1(x0), block.0(x1))) 136.57/52.90 TOP.0(up.0(f.1-1-1(1., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(1.), down.1(x0), block.1(x1))) 136.57/52.90 TOP.0(up.0(f.1-0-0(1., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(1.), block.0(x0), down.0(x1))) 136.57/52.90 TOP.0(up.0(f.1-0-1(1., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(1.), block.0(x0), down.1(x1))) 136.57/52.90 TOP.0(up.0(f.1-1-0(1., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(1.), block.1(x0), down.0(x1))) 136.57/52.90 TOP.0(up.0(f.1-1-1(1., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(1.), block.1(x0), down.1(x1))) 136.57/52.90 TOP.0(up.0(f.0-0-0(fresh_constant., x0, x1))) -> TOP.0(f_flat.0-0-0(block.0(fresh_constant.), down.0(x0), block.0(x1))) 136.57/52.90 TOP.0(up.0(f.0-0-1(fresh_constant., x0, x1))) -> TOP.0(f_flat.0-0-0(block.0(fresh_constant.), down.0(x0), block.1(x1))) 136.57/52.90 TOP.0(up.0(f.0-1-0(fresh_constant., x0, x1))) -> TOP.0(f_flat.0-0-0(block.0(fresh_constant.), down.1(x0), block.0(x1))) 136.57/52.90 TOP.0(up.0(f.0-1-1(fresh_constant., x0, x1))) -> TOP.0(f_flat.0-0-0(block.0(fresh_constant.), down.1(x0), block.1(x1))) 136.57/52.90 TOP.0(up.0(f.0-0-0(fresh_constant., x0, x1))) -> TOP.0(f_flat.0-0-0(block.0(fresh_constant.), block.0(x0), down.0(x1))) 136.57/52.90 TOP.0(up.0(f.0-0-1(fresh_constant., x0, x1))) -> TOP.0(f_flat.0-0-0(block.0(fresh_constant.), block.0(x0), down.1(x1))) 136.57/52.90 TOP.0(up.0(f.0-1-0(fresh_constant., x0, x1))) -> TOP.0(f_flat.0-0-0(block.0(fresh_constant.), block.1(x0), down.0(x1))) 136.57/52.90 TOP.0(up.0(f.0-1-1(fresh_constant., x0, x1))) -> TOP.0(f_flat.0-0-0(block.0(fresh_constant.), block.1(x0), down.1(x1))) 136.57/52.90 136.57/52.90 The TRS R consists of the following rules: 136.57/52.90 136.57/52.90 down.0(f.0-0-0(g.0-0(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-1(g.0-0(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-0(g.0-0(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-1(g.0-0(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-0(g.0-1(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-1(g.0-1(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-0(g.0-1(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-1(g.0-1(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-0(g.1-0(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-1(g.1-0(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-0(g.1-0(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-1(g.1-0(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-0(g.1-1(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-1(g.1-1(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-0(g.1-1(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-1(g.1-1(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-0(0., 1., x)) -> up.0(f.0-0-0(x, x, x)) 136.57/52.90 down.0(f.0-1-1(0., 1., x)) -> up.0(f.1-1-1(x, x, x)) 136.57/52.90 down.0(g.0-0(x, y)) -> up.0(x) 136.57/52.90 down.0(g.0-1(x, y)) -> up.0(x) 136.57/52.90 down.0(g.1-0(x, y)) -> up.1(x) 136.57/52.90 down.0(g.1-1(x, y)) -> up.1(x) 136.57/52.90 down.0(g.0-0(x, y)) -> up.0(y) 136.57/52.90 down.0(g.0-1(x, y)) -> up.1(y) 136.57/52.90 down.0(g.1-0(x, y)) -> up.0(y) 136.57/52.90 down.0(g.1-1(x, y)) -> up.1(y) 136.57/52.90 down.0(f.0-0-0(f.0-0-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-1(f.0-0-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-0(f.0-0-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-1(f.0-0-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-0(f.0-0-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-1(f.0-0-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-0(f.0-0-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-1(f.0-0-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-0(f.0-1-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-1(f.0-1-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-0(f.0-1-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-1(f.0-1-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-0(f.0-1-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-1(f.0-1-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-0(f.0-1-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-1(f.0-1-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-0(f.1-0-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-1(f.1-0-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-0(f.1-0-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-1(f.1-0-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-0(f.1-0-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-1(f.1-0-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-0(f.1-0-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-1(f.1-0-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-0(f.1-1-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-1(f.1-1-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-0(f.1-1-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-1(f.1-1-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-0(f.1-1-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-1(f.1-1-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-0(f.1-1-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-1(f.1-1-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-0(0., u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-1(0., u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-0(0., u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-1(0., u, v)) -> up.0(c.) 136.57/52.90 top.0(up.0(x)) -> top.0(down.0(x)) 136.57/52.90 top.0(up.1(x)) -> top.0(down.1(x)) 136.57/52.90 down.0(f.0-0-0(c., y17, y18)) -> f_flat.0-0-0(down.0(c.), block.0(y17), block.0(y18)) 136.57/52.90 down.0(f.0-0-1(c., y17, y18)) -> f_flat.0-0-0(down.0(c.), block.0(y17), block.1(y18)) 136.57/52.90 down.0(f.0-1-0(c., y17, y18)) -> f_flat.0-0-0(down.0(c.), block.1(y17), block.0(y18)) 136.57/52.90 down.0(f.0-1-1(c., y17, y18)) -> f_flat.0-0-0(down.0(c.), block.1(y17), block.1(y18)) 136.57/52.90 down.0(f.0-0-0(c., y17, y18)) -> f_flat.0-0-0(block.0(c.), down.0(y17), block.0(y18)) 136.57/52.90 down.0(f.0-0-1(c., y17, y18)) -> f_flat.0-0-0(block.0(c.), down.0(y17), block.1(y18)) 136.57/52.90 down.0(f.0-1-0(c., y17, y18)) -> f_flat.0-0-0(block.0(c.), down.1(y17), block.0(y18)) 136.57/52.90 down.0(f.0-1-1(c., y17, y18)) -> f_flat.0-0-0(block.0(c.), down.1(y17), block.1(y18)) 136.57/52.90 down.0(f.0-0-0(c., y17, y18)) -> f_flat.0-0-0(block.0(c.), block.0(y17), down.0(y18)) 136.57/52.90 down.0(f.0-0-1(c., y17, y18)) -> f_flat.0-0-0(block.0(c.), block.0(y17), down.1(y18)) 136.57/52.90 down.0(f.0-1-0(c., y17, y18)) -> f_flat.0-0-0(block.0(c.), block.1(y17), down.0(y18)) 136.57/52.90 down.0(f.0-1-1(c., y17, y18)) -> f_flat.0-0-0(block.0(c.), block.1(y17), down.1(y18)) 136.57/52.90 down.0(f.1-0-0(1., y21, y22)) -> f_flat.0-0-0(down.1(1.), block.0(y21), block.0(y22)) 136.57/52.90 down.0(f.1-0-1(1., y21, y22)) -> f_flat.0-0-0(down.1(1.), block.0(y21), block.1(y22)) 136.57/52.90 down.0(f.1-1-0(1., y21, y22)) -> f_flat.0-0-0(down.1(1.), block.1(y21), block.0(y22)) 136.57/52.90 down.0(f.1-1-1(1., y21, y22)) -> f_flat.0-0-0(down.1(1.), block.1(y21), block.1(y22)) 136.57/52.90 down.0(f.1-0-0(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), down.0(y21), block.0(y22)) 136.57/52.90 down.0(f.1-0-1(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), down.0(y21), block.1(y22)) 136.57/52.90 down.0(f.1-1-0(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), down.1(y21), block.0(y22)) 136.57/52.90 down.0(f.1-1-1(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), down.1(y21), block.1(y22)) 136.57/52.90 down.0(f.1-0-0(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), block.0(y21), down.0(y22)) 136.57/52.90 down.0(f.1-0-1(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), block.0(y21), down.1(y22)) 136.57/52.90 down.0(f.1-1-0(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), block.1(y21), down.0(y22)) 136.57/52.90 down.0(f.1-1-1(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), block.1(y21), down.1(y22)) 136.57/52.90 down.0(f.0-0-0(fresh_constant., y23, y24)) -> f_flat.0-0-0(down.0(fresh_constant.), block.0(y23), block.0(y24)) 136.57/52.90 down.0(f.0-0-1(fresh_constant., y23, y24)) -> f_flat.0-0-0(down.0(fresh_constant.), block.0(y23), block.1(y24)) 136.57/52.90 down.0(f.0-1-0(fresh_constant., y23, y24)) -> f_flat.0-0-0(down.0(fresh_constant.), block.1(y23), block.0(y24)) 136.57/52.90 down.0(f.0-1-1(fresh_constant., y23, y24)) -> f_flat.0-0-0(down.0(fresh_constant.), block.1(y23), block.1(y24)) 136.57/52.90 down.0(f.0-0-0(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.0(fresh_constant.), down.0(y23), block.0(y24)) 136.57/52.90 down.0(f.0-0-1(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.0(fresh_constant.), down.0(y23), block.1(y24)) 136.57/52.90 down.0(f.0-1-0(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.0(fresh_constant.), down.1(y23), block.0(y24)) 136.57/52.90 down.0(f.0-1-1(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.0(fresh_constant.), down.1(y23), block.1(y24)) 136.57/52.90 down.0(f.0-0-0(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.0(fresh_constant.), block.0(y23), down.0(y24)) 136.57/52.90 down.0(f.0-0-1(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.0(fresh_constant.), block.0(y23), down.1(y24)) 136.57/52.90 down.0(f.0-1-0(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.0(fresh_constant.), block.1(y23), down.0(y24)) 136.57/52.90 down.0(f.0-1-1(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.0(fresh_constant.), block.1(y23), down.1(y24)) 136.57/52.90 f_flat.0-0-0(up.0(x_1), block.0(x_2), block.0(x_3)) -> up.0(f.0-0-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(up.0(x_1), block.0(x_2), block.1(x_3)) -> up.0(f.0-0-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(up.0(x_1), block.1(x_2), block.0(x_3)) -> up.0(f.0-1-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(up.0(x_1), block.1(x_2), block.1(x_3)) -> up.0(f.0-1-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(up.1(x_1), block.0(x_2), block.0(x_3)) -> up.0(f.1-0-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(up.1(x_1), block.0(x_2), block.1(x_3)) -> up.0(f.1-0-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(up.1(x_1), block.1(x_2), block.0(x_3)) -> up.0(f.1-1-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(up.1(x_1), block.1(x_2), block.1(x_3)) -> up.0(f.1-1-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), up.0(x_2), block.0(x_3)) -> up.0(f.0-0-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), up.0(x_2), block.1(x_3)) -> up.0(f.0-0-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), up.1(x_2), block.0(x_3)) -> up.0(f.0-1-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), up.1(x_2), block.1(x_3)) -> up.0(f.0-1-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), up.0(x_2), block.0(x_3)) -> up.0(f.1-0-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), up.0(x_2), block.1(x_3)) -> up.0(f.1-0-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), up.1(x_2), block.0(x_3)) -> up.0(f.1-1-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), up.1(x_2), block.1(x_3)) -> up.0(f.1-1-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), block.0(x_2), up.0(x_3)) -> up.0(f.0-0-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), block.0(x_2), up.1(x_3)) -> up.0(f.0-0-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), block.1(x_2), up.0(x_3)) -> up.0(f.0-1-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), block.1(x_2), up.1(x_3)) -> up.0(f.0-1-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), block.0(x_2), up.0(x_3)) -> up.0(f.1-0-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), block.0(x_2), up.1(x_3)) -> up.0(f.1-0-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), block.1(x_2), up.0(x_3)) -> up.0(f.1-1-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), block.1(x_2), up.1(x_3)) -> up.0(f.1-1-1(x_1, x_2, x_3)) 136.57/52.90 g_flat.0-0(up.0(x_1), block.0(x_2)) -> up.0(g.0-0(x_1, x_2)) 136.57/52.90 g_flat.0-0(up.0(x_1), block.1(x_2)) -> up.0(g.0-1(x_1, x_2)) 136.57/52.90 g_flat.0-0(up.1(x_1), block.0(x_2)) -> up.0(g.1-0(x_1, x_2)) 136.57/52.90 g_flat.0-0(up.1(x_1), block.1(x_2)) -> up.0(g.1-1(x_1, x_2)) 136.57/52.90 g_flat.0-0(block.0(x_1), up.0(x_2)) -> up.0(g.0-0(x_1, x_2)) 136.57/52.90 g_flat.0-0(block.0(x_1), up.1(x_2)) -> up.0(g.0-1(x_1, x_2)) 136.57/52.90 g_flat.0-0(block.1(x_1), up.0(x_2)) -> up.0(g.1-0(x_1, x_2)) 136.57/52.90 g_flat.0-0(block.1(x_1), up.1(x_2)) -> up.0(g.1-1(x_1, x_2)) 136.57/52.90 136.57/52.90 Q is empty. 136.57/52.90 We have to consider all minimal (P,Q,R)-chains. 136.57/52.90 ---------------------------------------- 136.57/52.90 136.57/52.90 (24) DependencyGraphProof (EQUIVALENT) 136.57/52.90 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 13 less nodes. 136.57/52.90 ---------------------------------------- 136.57/52.90 136.57/52.90 (25) 136.57/52.90 Obligation: 136.57/52.90 Q DP problem: 136.57/52.90 The TRS P consists of the following rules: 136.57/52.90 136.57/52.90 TOP.0(up.0(f.0-0-0(c., x0, x1))) -> TOP.0(f_flat.0-0-0(block.0(c.), down.0(x0), block.0(x1))) 136.57/52.90 TOP.0(up.0(f.0-1-0(0., 1., x0))) -> TOP.0(up.0(f.0-0-0(x0, x0, x0))) 136.57/52.90 TOP.0(up.0(f.0-0-0(c., x0, x1))) -> TOP.0(f_flat.0-0-0(block.0(c.), block.0(x0), down.0(x1))) 136.57/52.90 TOP.0(up.0(f.0-0-1(c., x0, x1))) -> TOP.0(f_flat.0-0-0(block.0(c.), down.0(x0), block.1(x1))) 136.57/52.90 TOP.0(up.0(f.0-1-0(c., x0, x1))) -> TOP.0(f_flat.0-0-0(block.0(c.), block.1(x0), down.0(x1))) 136.57/52.90 TOP.0(up.0(f.1-0-0(1., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(1.), down.0(x0), block.0(x1))) 136.57/52.90 TOP.0(up.0(f.1-0-1(1., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(1.), down.0(x0), block.1(x1))) 136.57/52.90 TOP.0(up.0(f.1-0-0(1., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(1.), block.0(x0), down.0(x1))) 136.57/52.90 TOP.0(up.0(f.1-1-0(1., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(1.), block.1(x0), down.0(x1))) 136.57/52.90 TOP.0(up.0(f.0-0-0(fresh_constant., x0, x1))) -> TOP.0(f_flat.0-0-0(block.0(fresh_constant.), down.0(x0), block.0(x1))) 136.57/52.90 TOP.0(up.0(f.0-0-1(fresh_constant., x0, x1))) -> TOP.0(f_flat.0-0-0(block.0(fresh_constant.), down.0(x0), block.1(x1))) 136.57/52.90 TOP.0(up.0(f.0-0-0(fresh_constant., x0, x1))) -> TOP.0(f_flat.0-0-0(block.0(fresh_constant.), block.0(x0), down.0(x1))) 136.57/52.90 TOP.0(up.0(f.0-1-0(fresh_constant., x0, x1))) -> TOP.0(f_flat.0-0-0(block.0(fresh_constant.), block.1(x0), down.0(x1))) 136.57/52.90 136.57/52.90 The TRS R consists of the following rules: 136.57/52.90 136.57/52.90 down.0(f.0-0-0(g.0-0(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-1(g.0-0(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-0(g.0-0(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-1(g.0-0(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-0(g.0-1(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-1(g.0-1(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-0(g.0-1(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-1(g.0-1(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-0(g.1-0(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-1(g.1-0(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-0(g.1-0(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-1(g.1-0(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-0(g.1-1(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-1(g.1-1(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-0(g.1-1(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-1(g.1-1(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-0(0., 1., x)) -> up.0(f.0-0-0(x, x, x)) 136.57/52.90 down.0(f.0-1-1(0., 1., x)) -> up.0(f.1-1-1(x, x, x)) 136.57/52.90 down.0(g.0-0(x, y)) -> up.0(x) 136.57/52.90 down.0(g.0-1(x, y)) -> up.0(x) 136.57/52.90 down.0(g.1-0(x, y)) -> up.1(x) 136.57/52.90 down.0(g.1-1(x, y)) -> up.1(x) 136.57/52.90 down.0(g.0-0(x, y)) -> up.0(y) 136.57/52.90 down.0(g.0-1(x, y)) -> up.1(y) 136.57/52.90 down.0(g.1-0(x, y)) -> up.0(y) 136.57/52.90 down.0(g.1-1(x, y)) -> up.1(y) 136.57/52.90 down.0(f.0-0-0(f.0-0-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-1(f.0-0-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-0(f.0-0-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-1(f.0-0-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-0(f.0-0-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-1(f.0-0-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-0(f.0-0-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-1(f.0-0-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-0(f.0-1-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-1(f.0-1-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-0(f.0-1-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-1(f.0-1-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-0(f.0-1-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-1(f.0-1-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-0(f.0-1-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-1(f.0-1-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-0(f.1-0-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-1(f.1-0-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-0(f.1-0-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-1(f.1-0-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-0(f.1-0-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-1(f.1-0-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-0(f.1-0-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-1(f.1-0-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-0(f.1-1-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-1(f.1-1-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-0(f.1-1-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-1(f.1-1-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-0(f.1-1-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-1(f.1-1-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-0(f.1-1-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-1(f.1-1-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-0(0., u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-1(0., u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-0(0., u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-1(0., u, v)) -> up.0(c.) 136.57/52.90 top.0(up.0(x)) -> top.0(down.0(x)) 136.57/52.90 top.0(up.1(x)) -> top.0(down.1(x)) 136.57/52.90 down.0(f.0-0-0(c., y17, y18)) -> f_flat.0-0-0(down.0(c.), block.0(y17), block.0(y18)) 136.57/52.90 down.0(f.0-0-1(c., y17, y18)) -> f_flat.0-0-0(down.0(c.), block.0(y17), block.1(y18)) 136.57/52.90 down.0(f.0-1-0(c., y17, y18)) -> f_flat.0-0-0(down.0(c.), block.1(y17), block.0(y18)) 136.57/52.90 down.0(f.0-1-1(c., y17, y18)) -> f_flat.0-0-0(down.0(c.), block.1(y17), block.1(y18)) 136.57/52.90 down.0(f.0-0-0(c., y17, y18)) -> f_flat.0-0-0(block.0(c.), down.0(y17), block.0(y18)) 136.57/52.90 down.0(f.0-0-1(c., y17, y18)) -> f_flat.0-0-0(block.0(c.), down.0(y17), block.1(y18)) 136.57/52.90 down.0(f.0-1-0(c., y17, y18)) -> f_flat.0-0-0(block.0(c.), down.1(y17), block.0(y18)) 136.57/52.90 down.0(f.0-1-1(c., y17, y18)) -> f_flat.0-0-0(block.0(c.), down.1(y17), block.1(y18)) 136.57/52.90 down.0(f.0-0-0(c., y17, y18)) -> f_flat.0-0-0(block.0(c.), block.0(y17), down.0(y18)) 136.57/52.90 down.0(f.0-0-1(c., y17, y18)) -> f_flat.0-0-0(block.0(c.), block.0(y17), down.1(y18)) 136.57/52.90 down.0(f.0-1-0(c., y17, y18)) -> f_flat.0-0-0(block.0(c.), block.1(y17), down.0(y18)) 136.57/52.90 down.0(f.0-1-1(c., y17, y18)) -> f_flat.0-0-0(block.0(c.), block.1(y17), down.1(y18)) 136.57/52.90 down.0(f.1-0-0(1., y21, y22)) -> f_flat.0-0-0(down.1(1.), block.0(y21), block.0(y22)) 136.57/52.90 down.0(f.1-0-1(1., y21, y22)) -> f_flat.0-0-0(down.1(1.), block.0(y21), block.1(y22)) 136.57/52.90 down.0(f.1-1-0(1., y21, y22)) -> f_flat.0-0-0(down.1(1.), block.1(y21), block.0(y22)) 136.57/52.90 down.0(f.1-1-1(1., y21, y22)) -> f_flat.0-0-0(down.1(1.), block.1(y21), block.1(y22)) 136.57/52.90 down.0(f.1-0-0(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), down.0(y21), block.0(y22)) 136.57/52.90 down.0(f.1-0-1(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), down.0(y21), block.1(y22)) 136.57/52.90 down.0(f.1-1-0(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), down.1(y21), block.0(y22)) 136.57/52.90 down.0(f.1-1-1(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), down.1(y21), block.1(y22)) 136.57/52.90 down.0(f.1-0-0(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), block.0(y21), down.0(y22)) 136.57/52.90 down.0(f.1-0-1(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), block.0(y21), down.1(y22)) 136.57/52.90 down.0(f.1-1-0(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), block.1(y21), down.0(y22)) 136.57/52.90 down.0(f.1-1-1(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), block.1(y21), down.1(y22)) 136.57/52.90 down.0(f.0-0-0(fresh_constant., y23, y24)) -> f_flat.0-0-0(down.0(fresh_constant.), block.0(y23), block.0(y24)) 136.57/52.90 down.0(f.0-0-1(fresh_constant., y23, y24)) -> f_flat.0-0-0(down.0(fresh_constant.), block.0(y23), block.1(y24)) 136.57/52.90 down.0(f.0-1-0(fresh_constant., y23, y24)) -> f_flat.0-0-0(down.0(fresh_constant.), block.1(y23), block.0(y24)) 136.57/52.90 down.0(f.0-1-1(fresh_constant., y23, y24)) -> f_flat.0-0-0(down.0(fresh_constant.), block.1(y23), block.1(y24)) 136.57/52.90 down.0(f.0-0-0(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.0(fresh_constant.), down.0(y23), block.0(y24)) 136.57/52.90 down.0(f.0-0-1(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.0(fresh_constant.), down.0(y23), block.1(y24)) 136.57/52.90 down.0(f.0-1-0(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.0(fresh_constant.), down.1(y23), block.0(y24)) 136.57/52.90 down.0(f.0-1-1(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.0(fresh_constant.), down.1(y23), block.1(y24)) 136.57/52.90 down.0(f.0-0-0(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.0(fresh_constant.), block.0(y23), down.0(y24)) 136.57/52.90 down.0(f.0-0-1(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.0(fresh_constant.), block.0(y23), down.1(y24)) 136.57/52.90 down.0(f.0-1-0(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.0(fresh_constant.), block.1(y23), down.0(y24)) 136.57/52.90 down.0(f.0-1-1(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.0(fresh_constant.), block.1(y23), down.1(y24)) 136.57/52.90 f_flat.0-0-0(up.0(x_1), block.0(x_2), block.0(x_3)) -> up.0(f.0-0-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(up.0(x_1), block.0(x_2), block.1(x_3)) -> up.0(f.0-0-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(up.0(x_1), block.1(x_2), block.0(x_3)) -> up.0(f.0-1-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(up.0(x_1), block.1(x_2), block.1(x_3)) -> up.0(f.0-1-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(up.1(x_1), block.0(x_2), block.0(x_3)) -> up.0(f.1-0-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(up.1(x_1), block.0(x_2), block.1(x_3)) -> up.0(f.1-0-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(up.1(x_1), block.1(x_2), block.0(x_3)) -> up.0(f.1-1-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(up.1(x_1), block.1(x_2), block.1(x_3)) -> up.0(f.1-1-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), up.0(x_2), block.0(x_3)) -> up.0(f.0-0-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), up.0(x_2), block.1(x_3)) -> up.0(f.0-0-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), up.1(x_2), block.0(x_3)) -> up.0(f.0-1-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), up.1(x_2), block.1(x_3)) -> up.0(f.0-1-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), up.0(x_2), block.0(x_3)) -> up.0(f.1-0-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), up.0(x_2), block.1(x_3)) -> up.0(f.1-0-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), up.1(x_2), block.0(x_3)) -> up.0(f.1-1-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), up.1(x_2), block.1(x_3)) -> up.0(f.1-1-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), block.0(x_2), up.0(x_3)) -> up.0(f.0-0-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), block.0(x_2), up.1(x_3)) -> up.0(f.0-0-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), block.1(x_2), up.0(x_3)) -> up.0(f.0-1-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), block.1(x_2), up.1(x_3)) -> up.0(f.0-1-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), block.0(x_2), up.0(x_3)) -> up.0(f.1-0-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), block.0(x_2), up.1(x_3)) -> up.0(f.1-0-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), block.1(x_2), up.0(x_3)) -> up.0(f.1-1-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), block.1(x_2), up.1(x_3)) -> up.0(f.1-1-1(x_1, x_2, x_3)) 136.57/52.90 g_flat.0-0(up.0(x_1), block.0(x_2)) -> up.0(g.0-0(x_1, x_2)) 136.57/52.90 g_flat.0-0(up.0(x_1), block.1(x_2)) -> up.0(g.0-1(x_1, x_2)) 136.57/52.90 g_flat.0-0(up.1(x_1), block.0(x_2)) -> up.0(g.1-0(x_1, x_2)) 136.57/52.90 g_flat.0-0(up.1(x_1), block.1(x_2)) -> up.0(g.1-1(x_1, x_2)) 136.57/52.90 g_flat.0-0(block.0(x_1), up.0(x_2)) -> up.0(g.0-0(x_1, x_2)) 136.57/52.90 g_flat.0-0(block.0(x_1), up.1(x_2)) -> up.0(g.0-1(x_1, x_2)) 136.57/52.90 g_flat.0-0(block.1(x_1), up.0(x_2)) -> up.0(g.1-0(x_1, x_2)) 136.57/52.90 g_flat.0-0(block.1(x_1), up.1(x_2)) -> up.0(g.1-1(x_1, x_2)) 136.57/52.90 136.57/52.90 Q is empty. 136.57/52.90 We have to consider all minimal (P,Q,R)-chains. 136.57/52.90 ---------------------------------------- 136.57/52.90 136.57/52.90 (26) QDPOrderProof (EQUIVALENT) 136.57/52.90 We use the reduction pair processor [LPAR04,JAR06]. 136.57/52.90 136.57/52.90 136.57/52.90 The following pairs can be oriented strictly and are deleted. 136.57/52.90 136.57/52.90 TOP.0(up.0(f.0-1-0(0., 1., x0))) -> TOP.0(up.0(f.0-0-0(x0, x0, x0))) 136.57/52.90 The remaining pairs can at least be oriented weakly. 136.57/52.90 Used ordering: Polynomial interpretation [POLO]: 136.57/52.90 136.57/52.90 POL(0.) = 1 136.57/52.90 POL(1.) = 0 136.57/52.90 POL(TOP.0(x_1)) = x_1 136.57/52.90 POL(block.0(x_1)) = x_1 136.57/52.90 POL(block.1(x_1)) = 0 136.57/52.90 POL(c.) = 0 136.57/52.90 POL(down.0(x_1)) = 0 136.57/52.90 POL(down.1(x_1)) = 0 136.57/52.90 POL(f.0-0-0(x_1, x_2, x_3)) = 0 136.57/52.90 POL(f.0-0-1(x_1, x_2, x_3)) = 0 136.57/52.90 POL(f.0-1-0(x_1, x_2, x_3)) = x_1 136.57/52.90 POL(f.0-1-1(x_1, x_2, x_3)) = 0 136.57/52.90 POL(f.1-0-0(x_1, x_2, x_3)) = 0 136.57/52.90 POL(f.1-0-1(x_1, x_2, x_3)) = 0 136.57/52.90 POL(f.1-1-0(x_1, x_2, x_3)) = 0 136.57/52.90 POL(f.1-1-1(x_1, x_2, x_3)) = 0 136.57/52.90 POL(f_flat.0-0-0(x_1, x_2, x_3)) = x_1 136.57/52.90 POL(fresh_constant.) = 0 136.57/52.90 POL(g.0-0(x_1, x_2)) = x_1 + x_2 136.57/52.90 POL(g.0-1(x_1, x_2)) = x_1 + x_2 136.57/52.90 POL(g.1-0(x_1, x_2)) = x_1 + x_2 136.57/52.90 POL(g.1-1(x_1, x_2)) = x_1 + x_2 136.57/52.90 POL(up.0(x_1)) = x_1 136.57/52.90 POL(up.1(x_1)) = x_1 136.57/52.90 136.57/52.90 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 136.57/52.90 136.57/52.90 f_flat.0-0-0(block.0(x_1), up.0(x_2), block.0(x_3)) -> up.0(f.0-0-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), up.1(x_2), block.0(x_3)) -> up.0(f.0-1-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), block.0(x_2), up.0(x_3)) -> up.0(f.0-0-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), block.0(x_2), up.1(x_3)) -> up.0(f.0-0-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), up.0(x_2), block.1(x_3)) -> up.0(f.0-0-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), up.1(x_2), block.1(x_3)) -> up.0(f.0-1-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), block.1(x_2), up.0(x_3)) -> up.0(f.0-1-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), block.1(x_2), up.1(x_3)) -> up.0(f.0-1-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), up.0(x_2), block.0(x_3)) -> up.0(f.1-0-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), up.1(x_2), block.0(x_3)) -> up.0(f.1-1-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), up.0(x_2), block.1(x_3)) -> up.0(f.1-0-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), up.1(x_2), block.1(x_3)) -> up.0(f.1-1-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), block.0(x_2), up.0(x_3)) -> up.0(f.1-0-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), block.0(x_2), up.1(x_3)) -> up.0(f.1-0-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), block.1(x_2), up.0(x_3)) -> up.0(f.1-1-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), block.1(x_2), up.1(x_3)) -> up.0(f.1-1-1(x_1, x_2, x_3)) 136.57/52.90 136.57/52.90 136.57/52.90 ---------------------------------------- 136.57/52.90 136.57/52.90 (27) 136.57/52.90 Obligation: 136.57/52.90 Q DP problem: 136.57/52.90 The TRS P consists of the following rules: 136.57/52.90 136.57/52.90 TOP.0(up.0(f.0-0-0(c., x0, x1))) -> TOP.0(f_flat.0-0-0(block.0(c.), down.0(x0), block.0(x1))) 136.57/52.90 TOP.0(up.0(f.0-0-0(c., x0, x1))) -> TOP.0(f_flat.0-0-0(block.0(c.), block.0(x0), down.0(x1))) 136.57/52.90 TOP.0(up.0(f.0-0-1(c., x0, x1))) -> TOP.0(f_flat.0-0-0(block.0(c.), down.0(x0), block.1(x1))) 136.57/52.90 TOP.0(up.0(f.0-1-0(c., x0, x1))) -> TOP.0(f_flat.0-0-0(block.0(c.), block.1(x0), down.0(x1))) 136.57/52.90 TOP.0(up.0(f.1-0-0(1., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(1.), down.0(x0), block.0(x1))) 136.57/52.90 TOP.0(up.0(f.1-0-1(1., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(1.), down.0(x0), block.1(x1))) 136.57/52.90 TOP.0(up.0(f.1-0-0(1., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(1.), block.0(x0), down.0(x1))) 136.57/52.90 TOP.0(up.0(f.1-1-0(1., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(1.), block.1(x0), down.0(x1))) 136.57/52.90 TOP.0(up.0(f.0-0-0(fresh_constant., x0, x1))) -> TOP.0(f_flat.0-0-0(block.0(fresh_constant.), down.0(x0), block.0(x1))) 136.57/52.90 TOP.0(up.0(f.0-0-1(fresh_constant., x0, x1))) -> TOP.0(f_flat.0-0-0(block.0(fresh_constant.), down.0(x0), block.1(x1))) 136.57/52.90 TOP.0(up.0(f.0-0-0(fresh_constant., x0, x1))) -> TOP.0(f_flat.0-0-0(block.0(fresh_constant.), block.0(x0), down.0(x1))) 136.57/52.90 TOP.0(up.0(f.0-1-0(fresh_constant., x0, x1))) -> TOP.0(f_flat.0-0-0(block.0(fresh_constant.), block.1(x0), down.0(x1))) 136.57/52.90 136.57/52.90 The TRS R consists of the following rules: 136.57/52.90 136.57/52.90 down.0(f.0-0-0(g.0-0(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-1(g.0-0(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-0(g.0-0(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-1(g.0-0(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-0(g.0-1(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-1(g.0-1(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-0(g.0-1(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-1(g.0-1(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-0(g.1-0(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-1(g.1-0(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-0(g.1-0(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-1(g.1-0(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-0(g.1-1(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-1(g.1-1(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-0(g.1-1(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-1(g.1-1(u, v), y, z)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-0(0., 1., x)) -> up.0(f.0-0-0(x, x, x)) 136.57/52.90 down.0(f.0-1-1(0., 1., x)) -> up.0(f.1-1-1(x, x, x)) 136.57/52.90 down.0(g.0-0(x, y)) -> up.0(x) 136.57/52.90 down.0(g.0-1(x, y)) -> up.0(x) 136.57/52.90 down.0(g.1-0(x, y)) -> up.1(x) 136.57/52.90 down.0(g.1-1(x, y)) -> up.1(x) 136.57/52.90 down.0(g.0-0(x, y)) -> up.0(y) 136.57/52.90 down.0(g.0-1(x, y)) -> up.1(y) 136.57/52.90 down.0(g.1-0(x, y)) -> up.0(y) 136.57/52.90 down.0(g.1-1(x, y)) -> up.1(y) 136.57/52.90 down.0(f.0-0-0(f.0-0-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-1(f.0-0-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-0(f.0-0-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-1(f.0-0-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-0(f.0-0-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-1(f.0-0-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-0(f.0-0-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-1(f.0-0-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-0(f.0-1-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-1(f.0-1-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-0(f.0-1-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-1(f.0-1-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-0(f.0-1-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-1(f.0-1-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-0(f.0-1-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-1(f.0-1-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-0(f.1-0-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-1(f.1-0-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-0(f.1-0-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-1(f.1-0-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-0(f.1-0-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-1(f.1-0-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-0(f.1-0-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-1(f.1-0-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-0(f.1-1-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-1(f.1-1-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-0(f.1-1-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-1(f.1-1-0(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-0(f.1-1-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-1(f.1-1-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-0(f.1-1-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-1(f.1-1-1(x, y, z), u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-0(0., u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-0-1(0., u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-0(0., u, v)) -> up.0(c.) 136.57/52.90 down.0(f.0-1-1(0., u, v)) -> up.0(c.) 136.57/52.90 top.0(up.0(x)) -> top.0(down.0(x)) 136.57/52.90 top.0(up.1(x)) -> top.0(down.1(x)) 136.57/52.90 down.0(f.0-0-0(c., y17, y18)) -> f_flat.0-0-0(down.0(c.), block.0(y17), block.0(y18)) 136.57/52.90 down.0(f.0-0-1(c., y17, y18)) -> f_flat.0-0-0(down.0(c.), block.0(y17), block.1(y18)) 136.57/52.90 down.0(f.0-1-0(c., y17, y18)) -> f_flat.0-0-0(down.0(c.), block.1(y17), block.0(y18)) 136.57/52.90 down.0(f.0-1-1(c., y17, y18)) -> f_flat.0-0-0(down.0(c.), block.1(y17), block.1(y18)) 136.57/52.90 down.0(f.0-0-0(c., y17, y18)) -> f_flat.0-0-0(block.0(c.), down.0(y17), block.0(y18)) 136.57/52.90 down.0(f.0-0-1(c., y17, y18)) -> f_flat.0-0-0(block.0(c.), down.0(y17), block.1(y18)) 136.57/52.90 down.0(f.0-1-0(c., y17, y18)) -> f_flat.0-0-0(block.0(c.), down.1(y17), block.0(y18)) 136.57/52.90 down.0(f.0-1-1(c., y17, y18)) -> f_flat.0-0-0(block.0(c.), down.1(y17), block.1(y18)) 136.57/52.90 down.0(f.0-0-0(c., y17, y18)) -> f_flat.0-0-0(block.0(c.), block.0(y17), down.0(y18)) 136.57/52.90 down.0(f.0-0-1(c., y17, y18)) -> f_flat.0-0-0(block.0(c.), block.0(y17), down.1(y18)) 136.57/52.90 down.0(f.0-1-0(c., y17, y18)) -> f_flat.0-0-0(block.0(c.), block.1(y17), down.0(y18)) 136.57/52.90 down.0(f.0-1-1(c., y17, y18)) -> f_flat.0-0-0(block.0(c.), block.1(y17), down.1(y18)) 136.57/52.90 down.0(f.1-0-0(1., y21, y22)) -> f_flat.0-0-0(down.1(1.), block.0(y21), block.0(y22)) 136.57/52.90 down.0(f.1-0-1(1., y21, y22)) -> f_flat.0-0-0(down.1(1.), block.0(y21), block.1(y22)) 136.57/52.90 down.0(f.1-1-0(1., y21, y22)) -> f_flat.0-0-0(down.1(1.), block.1(y21), block.0(y22)) 136.57/52.90 down.0(f.1-1-1(1., y21, y22)) -> f_flat.0-0-0(down.1(1.), block.1(y21), block.1(y22)) 136.57/52.90 down.0(f.1-0-0(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), down.0(y21), block.0(y22)) 136.57/52.90 down.0(f.1-0-1(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), down.0(y21), block.1(y22)) 136.57/52.90 down.0(f.1-1-0(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), down.1(y21), block.0(y22)) 136.57/52.90 down.0(f.1-1-1(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), down.1(y21), block.1(y22)) 136.57/52.90 down.0(f.1-0-0(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), block.0(y21), down.0(y22)) 136.57/52.90 down.0(f.1-0-1(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), block.0(y21), down.1(y22)) 136.57/52.90 down.0(f.1-1-0(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), block.1(y21), down.0(y22)) 136.57/52.90 down.0(f.1-1-1(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), block.1(y21), down.1(y22)) 136.57/52.90 down.0(f.0-0-0(fresh_constant., y23, y24)) -> f_flat.0-0-0(down.0(fresh_constant.), block.0(y23), block.0(y24)) 136.57/52.90 down.0(f.0-0-1(fresh_constant., y23, y24)) -> f_flat.0-0-0(down.0(fresh_constant.), block.0(y23), block.1(y24)) 136.57/52.90 down.0(f.0-1-0(fresh_constant., y23, y24)) -> f_flat.0-0-0(down.0(fresh_constant.), block.1(y23), block.0(y24)) 136.57/52.90 down.0(f.0-1-1(fresh_constant., y23, y24)) -> f_flat.0-0-0(down.0(fresh_constant.), block.1(y23), block.1(y24)) 136.57/52.90 down.0(f.0-0-0(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.0(fresh_constant.), down.0(y23), block.0(y24)) 136.57/52.90 down.0(f.0-0-1(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.0(fresh_constant.), down.0(y23), block.1(y24)) 136.57/52.90 down.0(f.0-1-0(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.0(fresh_constant.), down.1(y23), block.0(y24)) 136.57/52.90 down.0(f.0-1-1(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.0(fresh_constant.), down.1(y23), block.1(y24)) 136.57/52.90 down.0(f.0-0-0(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.0(fresh_constant.), block.0(y23), down.0(y24)) 136.57/52.90 down.0(f.0-0-1(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.0(fresh_constant.), block.0(y23), down.1(y24)) 136.57/52.90 down.0(f.0-1-0(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.0(fresh_constant.), block.1(y23), down.0(y24)) 136.57/52.90 down.0(f.0-1-1(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.0(fresh_constant.), block.1(y23), down.1(y24)) 136.57/52.90 f_flat.0-0-0(up.0(x_1), block.0(x_2), block.0(x_3)) -> up.0(f.0-0-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(up.0(x_1), block.0(x_2), block.1(x_3)) -> up.0(f.0-0-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(up.0(x_1), block.1(x_2), block.0(x_3)) -> up.0(f.0-1-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(up.0(x_1), block.1(x_2), block.1(x_3)) -> up.0(f.0-1-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(up.1(x_1), block.0(x_2), block.0(x_3)) -> up.0(f.1-0-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(up.1(x_1), block.0(x_2), block.1(x_3)) -> up.0(f.1-0-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(up.1(x_1), block.1(x_2), block.0(x_3)) -> up.0(f.1-1-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(up.1(x_1), block.1(x_2), block.1(x_3)) -> up.0(f.1-1-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), up.0(x_2), block.0(x_3)) -> up.0(f.0-0-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), up.0(x_2), block.1(x_3)) -> up.0(f.0-0-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), up.1(x_2), block.0(x_3)) -> up.0(f.0-1-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), up.1(x_2), block.1(x_3)) -> up.0(f.0-1-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), up.0(x_2), block.0(x_3)) -> up.0(f.1-0-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), up.0(x_2), block.1(x_3)) -> up.0(f.1-0-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), up.1(x_2), block.0(x_3)) -> up.0(f.1-1-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), up.1(x_2), block.1(x_3)) -> up.0(f.1-1-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), block.0(x_2), up.0(x_3)) -> up.0(f.0-0-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), block.0(x_2), up.1(x_3)) -> up.0(f.0-0-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), block.1(x_2), up.0(x_3)) -> up.0(f.0-1-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), block.1(x_2), up.1(x_3)) -> up.0(f.0-1-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), block.0(x_2), up.0(x_3)) -> up.0(f.1-0-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), block.0(x_2), up.1(x_3)) -> up.0(f.1-0-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), block.1(x_2), up.0(x_3)) -> up.0(f.1-1-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), block.1(x_2), up.1(x_3)) -> up.0(f.1-1-1(x_1, x_2, x_3)) 136.57/52.90 g_flat.0-0(up.0(x_1), block.0(x_2)) -> up.0(g.0-0(x_1, x_2)) 136.57/52.90 g_flat.0-0(up.0(x_1), block.1(x_2)) -> up.0(g.0-1(x_1, x_2)) 136.57/52.90 g_flat.0-0(up.1(x_1), block.0(x_2)) -> up.0(g.1-0(x_1, x_2)) 136.57/52.90 g_flat.0-0(up.1(x_1), block.1(x_2)) -> up.0(g.1-1(x_1, x_2)) 136.57/52.90 g_flat.0-0(block.0(x_1), up.0(x_2)) -> up.0(g.0-0(x_1, x_2)) 136.57/52.90 g_flat.0-0(block.0(x_1), up.1(x_2)) -> up.0(g.0-1(x_1, x_2)) 136.57/52.90 g_flat.0-0(block.1(x_1), up.0(x_2)) -> up.0(g.1-0(x_1, x_2)) 136.57/52.90 g_flat.0-0(block.1(x_1), up.1(x_2)) -> up.0(g.1-1(x_1, x_2)) 136.57/52.90 136.57/52.90 Q is empty. 136.57/52.90 We have to consider all minimal (P,Q,R)-chains. 136.57/52.90 ---------------------------------------- 136.57/52.90 136.57/52.90 (28) PisEmptyProof (SOUND) 136.57/52.90 The TRS P is empty. Hence, there is no (P,Q,R) chain. 136.57/52.90 ---------------------------------------- 136.57/52.90 136.57/52.90 (29) 136.57/52.90 TRUE 136.57/52.90 136.57/52.90 ---------------------------------------- 136.57/52.90 136.57/52.90 (30) 136.57/52.90 Obligation: 136.57/52.90 Q DP problem: 136.57/52.90 The TRS P consists of the following rules: 136.57/52.90 136.57/52.90 TOP(up(f(c, x0, x1))) -> TOP(f_flat(block(c), down(x0), block(x1))) 136.57/52.90 TOP(up(f(c, x0, x1))) -> TOP(f_flat(block(c), block(x0), down(x1))) 136.57/52.90 TOP(up(f(1, x0, x1))) -> TOP(f_flat(block(1), down(x0), block(x1))) 136.57/52.90 TOP(up(f(1, x0, x1))) -> TOP(f_flat(block(1), block(x0), down(x1))) 136.57/52.90 TOP(up(f(fresh_constant, x0, x1))) -> TOP(f_flat(block(fresh_constant), down(x0), block(x1))) 136.57/52.90 TOP(up(f(fresh_constant, x0, x1))) -> TOP(f_flat(block(fresh_constant), block(x0), down(x1))) 136.57/52.90 136.57/52.90 The TRS R consists of the following rules: 136.57/52.90 136.57/52.90 down(f(g(u, v), y, z)) -> up(c) 136.57/52.90 down(f(0, 1, x)) -> up(f(x, x, x)) 136.57/52.90 down(g(x, y)) -> up(x) 136.57/52.90 down(g(x, y)) -> up(y) 136.57/52.90 down(f(f(x, y, z), u, v)) -> up(c) 136.57/52.90 down(f(0, u, v)) -> up(c) 136.57/52.90 top(up(x)) -> top(down(x)) 136.57/52.90 down(f(c, y17, y18)) -> f_flat(down(c), block(y17), block(y18)) 136.57/52.90 down(f(c, y17, y18)) -> f_flat(block(c), down(y17), block(y18)) 136.57/52.90 down(f(c, y17, y18)) -> f_flat(block(c), block(y17), down(y18)) 136.57/52.90 down(f(1, y21, y22)) -> f_flat(down(1), block(y21), block(y22)) 136.57/52.90 down(f(1, y21, y22)) -> f_flat(block(1), down(y21), block(y22)) 136.57/52.90 down(f(1, y21, y22)) -> f_flat(block(1), block(y21), down(y22)) 136.57/52.90 down(f(fresh_constant, y23, y24)) -> f_flat(down(fresh_constant), block(y23), block(y24)) 136.57/52.90 down(f(fresh_constant, y23, y24)) -> f_flat(block(fresh_constant), down(y23), block(y24)) 136.57/52.90 down(f(fresh_constant, y23, y24)) -> f_flat(block(fresh_constant), block(y23), down(y24)) 136.57/52.90 f_flat(up(x_1), block(x_2), block(x_3)) -> up(f(x_1, x_2, x_3)) 136.57/52.90 f_flat(block(x_1), up(x_2), block(x_3)) -> up(f(x_1, x_2, x_3)) 136.57/52.90 f_flat(block(x_1), block(x_2), up(x_3)) -> up(f(x_1, x_2, x_3)) 136.57/52.90 g_flat(up(x_1), block(x_2)) -> up(g(x_1, x_2)) 136.57/52.90 g_flat(block(x_1), up(x_2)) -> up(g(x_1, x_2)) 136.57/52.90 136.57/52.90 Q is empty. 136.57/52.90 We have to consider all minimal (P,Q,R)-chains. 136.57/52.90 ---------------------------------------- 136.57/52.90 136.57/52.90 (31) SemLabProof (SOUND) 136.57/52.90 We found the following model for the rules of the TRSs R and P. 136.57/52.90 Interpretation over the domain with elements from 0 to 1. 136.57/52.90 c: 1 136.57/52.90 block: 0 136.57/52.90 TOP: 0 136.57/52.90 g: 0 136.57/52.90 top: 0 136.57/52.90 down: 0 136.57/52.90 f: 0 136.57/52.90 0: 0 136.57/52.90 fresh_constant: 1 136.57/52.90 up: 0 136.57/52.90 1: 1 136.57/52.90 f_flat: 0 136.57/52.90 g_flat: 0 136.57/52.90 By semantic labelling [SEMLAB] we obtain the following labelled QDP problem. 136.57/52.90 ---------------------------------------- 136.57/52.90 136.57/52.90 (32) 136.57/52.90 Obligation: 136.57/52.90 Q DP problem: 136.57/52.90 The TRS P consists of the following rules: 136.57/52.90 136.57/52.90 TOP.0(up.0(f.1-0-0(c., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(c.), down.0(x0), block.0(x1))) 136.57/52.90 TOP.0(up.0(f.1-0-1(c., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(c.), down.0(x0), block.1(x1))) 136.57/52.90 TOP.0(up.0(f.1-1-0(c., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(c.), down.1(x0), block.0(x1))) 136.57/52.90 TOP.0(up.0(f.1-1-1(c., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(c.), down.1(x0), block.1(x1))) 136.57/52.90 TOP.0(up.0(f.1-0-0(c., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(c.), block.0(x0), down.0(x1))) 136.57/52.90 TOP.0(up.0(f.1-0-1(c., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(c.), block.0(x0), down.1(x1))) 136.57/52.90 TOP.0(up.0(f.1-1-0(c., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(c.), block.1(x0), down.0(x1))) 136.57/52.90 TOP.0(up.0(f.1-1-1(c., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(c.), block.1(x0), down.1(x1))) 136.57/52.90 TOP.0(up.0(f.1-0-0(1., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(1.), down.0(x0), block.0(x1))) 136.57/52.90 TOP.0(up.0(f.1-0-1(1., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(1.), down.0(x0), block.1(x1))) 136.57/52.90 TOP.0(up.0(f.1-1-0(1., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(1.), down.1(x0), block.0(x1))) 136.57/52.90 TOP.0(up.0(f.1-1-1(1., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(1.), down.1(x0), block.1(x1))) 136.57/52.90 TOP.0(up.0(f.1-0-0(1., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(1.), block.0(x0), down.0(x1))) 136.57/52.90 TOP.0(up.0(f.1-0-1(1., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(1.), block.0(x0), down.1(x1))) 136.57/52.90 TOP.0(up.0(f.1-1-0(1., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(1.), block.1(x0), down.0(x1))) 136.57/52.90 TOP.0(up.0(f.1-1-1(1., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(1.), block.1(x0), down.1(x1))) 136.57/52.90 TOP.0(up.0(f.1-0-0(fresh_constant., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(fresh_constant.), down.0(x0), block.0(x1))) 136.57/52.90 TOP.0(up.0(f.1-0-1(fresh_constant., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(fresh_constant.), down.0(x0), block.1(x1))) 136.57/52.90 TOP.0(up.0(f.1-1-0(fresh_constant., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(fresh_constant.), down.1(x0), block.0(x1))) 136.57/52.90 TOP.0(up.0(f.1-1-1(fresh_constant., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(fresh_constant.), down.1(x0), block.1(x1))) 136.57/52.90 TOP.0(up.0(f.1-0-0(fresh_constant., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(fresh_constant.), block.0(x0), down.0(x1))) 136.57/52.90 TOP.0(up.0(f.1-0-1(fresh_constant., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(fresh_constant.), block.0(x0), down.1(x1))) 136.57/52.90 TOP.0(up.0(f.1-1-0(fresh_constant., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(fresh_constant.), block.1(x0), down.0(x1))) 136.57/52.90 TOP.0(up.0(f.1-1-1(fresh_constant., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(fresh_constant.), block.1(x0), down.1(x1))) 136.57/52.90 136.57/52.90 The TRS R consists of the following rules: 136.57/52.90 136.57/52.90 down.0(f.0-0-0(g.0-0(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(g.0-0(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(g.0-0(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(g.0-0(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-0(g.0-1(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(g.0-1(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(g.0-1(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(g.0-1(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-0(g.1-0(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(g.1-0(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(g.1-0(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(g.1-0(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-0(g.1-1(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(g.1-1(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(g.1-1(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(g.1-1(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(0., 1., x)) -> up.0(f.0-0-0(x, x, x)) 136.57/52.90 down.0(f.0-1-1(0., 1., x)) -> up.0(f.1-1-1(x, x, x)) 136.57/52.90 down.0(g.0-0(x, y)) -> up.0(x) 136.57/52.90 down.0(g.0-1(x, y)) -> up.0(x) 136.57/52.90 down.0(g.1-0(x, y)) -> up.1(x) 136.57/52.90 down.0(g.1-1(x, y)) -> up.1(x) 136.57/52.90 down.0(g.0-0(x, y)) -> up.0(y) 136.57/52.90 down.0(g.0-1(x, y)) -> up.1(y) 136.57/52.90 down.0(g.1-0(x, y)) -> up.0(y) 136.57/52.90 down.0(g.1-1(x, y)) -> up.1(y) 136.57/52.90 down.0(f.0-0-0(f.0-0-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(f.0-0-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(f.0-0-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(f.0-0-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-0(f.0-0-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(f.0-0-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(f.0-0-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(f.0-0-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-0(f.0-1-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(f.0-1-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(f.0-1-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(f.0-1-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-0(f.0-1-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(f.0-1-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(f.0-1-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(f.0-1-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-0(f.1-0-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(f.1-0-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(f.1-0-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(f.1-0-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-0(f.1-0-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(f.1-0-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(f.1-0-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(f.1-0-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-0(f.1-1-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(f.1-1-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(f.1-1-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(f.1-1-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-0(f.1-1-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(f.1-1-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(f.1-1-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(f.1-1-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-0(0., u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(0., u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(0., u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(0., u, v)) -> up.1(c.) 136.57/52.90 top.0(up.0(x)) -> top.0(down.0(x)) 136.57/52.90 top.0(up.1(x)) -> top.0(down.1(x)) 136.57/52.90 down.0(f.1-0-0(c., y17, y18)) -> f_flat.0-0-0(down.1(c.), block.0(y17), block.0(y18)) 136.57/52.90 down.0(f.1-0-1(c., y17, y18)) -> f_flat.0-0-0(down.1(c.), block.0(y17), block.1(y18)) 136.57/52.90 down.0(f.1-1-0(c., y17, y18)) -> f_flat.0-0-0(down.1(c.), block.1(y17), block.0(y18)) 136.57/52.90 down.0(f.1-1-1(c., y17, y18)) -> f_flat.0-0-0(down.1(c.), block.1(y17), block.1(y18)) 136.57/52.90 down.0(f.1-0-0(c., y17, y18)) -> f_flat.0-0-0(block.1(c.), down.0(y17), block.0(y18)) 136.57/52.90 down.0(f.1-0-1(c., y17, y18)) -> f_flat.0-0-0(block.1(c.), down.0(y17), block.1(y18)) 136.57/52.90 down.0(f.1-1-0(c., y17, y18)) -> f_flat.0-0-0(block.1(c.), down.1(y17), block.0(y18)) 136.57/52.90 down.0(f.1-1-1(c., y17, y18)) -> f_flat.0-0-0(block.1(c.), down.1(y17), block.1(y18)) 136.57/52.90 down.0(f.1-0-0(c., y17, y18)) -> f_flat.0-0-0(block.1(c.), block.0(y17), down.0(y18)) 136.57/52.90 down.0(f.1-0-1(c., y17, y18)) -> f_flat.0-0-0(block.1(c.), block.0(y17), down.1(y18)) 136.57/52.90 down.0(f.1-1-0(c., y17, y18)) -> f_flat.0-0-0(block.1(c.), block.1(y17), down.0(y18)) 136.57/52.90 down.0(f.1-1-1(c., y17, y18)) -> f_flat.0-0-0(block.1(c.), block.1(y17), down.1(y18)) 136.57/52.90 down.0(f.1-0-0(1., y21, y22)) -> f_flat.0-0-0(down.1(1.), block.0(y21), block.0(y22)) 136.57/52.90 down.0(f.1-0-1(1., y21, y22)) -> f_flat.0-0-0(down.1(1.), block.0(y21), block.1(y22)) 136.57/52.90 down.0(f.1-1-0(1., y21, y22)) -> f_flat.0-0-0(down.1(1.), block.1(y21), block.0(y22)) 136.57/52.90 down.0(f.1-1-1(1., y21, y22)) -> f_flat.0-0-0(down.1(1.), block.1(y21), block.1(y22)) 136.57/52.90 down.0(f.1-0-0(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), down.0(y21), block.0(y22)) 136.57/52.90 down.0(f.1-0-1(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), down.0(y21), block.1(y22)) 136.57/52.90 down.0(f.1-1-0(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), down.1(y21), block.0(y22)) 136.57/52.90 down.0(f.1-1-1(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), down.1(y21), block.1(y22)) 136.57/52.90 down.0(f.1-0-0(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), block.0(y21), down.0(y22)) 136.57/52.90 down.0(f.1-0-1(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), block.0(y21), down.1(y22)) 136.57/52.90 down.0(f.1-1-0(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), block.1(y21), down.0(y22)) 136.57/52.90 down.0(f.1-1-1(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), block.1(y21), down.1(y22)) 136.57/52.90 down.0(f.1-0-0(fresh_constant., y23, y24)) -> f_flat.0-0-0(down.1(fresh_constant.), block.0(y23), block.0(y24)) 136.57/52.90 down.0(f.1-0-1(fresh_constant., y23, y24)) -> f_flat.0-0-0(down.1(fresh_constant.), block.0(y23), block.1(y24)) 136.57/52.90 down.0(f.1-1-0(fresh_constant., y23, y24)) -> f_flat.0-0-0(down.1(fresh_constant.), block.1(y23), block.0(y24)) 136.57/52.90 down.0(f.1-1-1(fresh_constant., y23, y24)) -> f_flat.0-0-0(down.1(fresh_constant.), block.1(y23), block.1(y24)) 136.57/52.90 down.0(f.1-0-0(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.1(fresh_constant.), down.0(y23), block.0(y24)) 136.57/52.90 down.0(f.1-0-1(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.1(fresh_constant.), down.0(y23), block.1(y24)) 136.57/52.90 down.0(f.1-1-0(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.1(fresh_constant.), down.1(y23), block.0(y24)) 136.57/52.90 down.0(f.1-1-1(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.1(fresh_constant.), down.1(y23), block.1(y24)) 136.57/52.90 down.0(f.1-0-0(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.1(fresh_constant.), block.0(y23), down.0(y24)) 136.57/52.90 down.0(f.1-0-1(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.1(fresh_constant.), block.0(y23), down.1(y24)) 136.57/52.90 down.0(f.1-1-0(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.1(fresh_constant.), block.1(y23), down.0(y24)) 136.57/52.90 down.0(f.1-1-1(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.1(fresh_constant.), block.1(y23), down.1(y24)) 136.57/52.90 f_flat.0-0-0(up.0(x_1), block.0(x_2), block.0(x_3)) -> up.0(f.0-0-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(up.0(x_1), block.0(x_2), block.1(x_3)) -> up.0(f.0-0-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(up.0(x_1), block.1(x_2), block.0(x_3)) -> up.0(f.0-1-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(up.0(x_1), block.1(x_2), block.1(x_3)) -> up.0(f.0-1-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(up.1(x_1), block.0(x_2), block.0(x_3)) -> up.0(f.1-0-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(up.1(x_1), block.0(x_2), block.1(x_3)) -> up.0(f.1-0-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(up.1(x_1), block.1(x_2), block.0(x_3)) -> up.0(f.1-1-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(up.1(x_1), block.1(x_2), block.1(x_3)) -> up.0(f.1-1-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), up.0(x_2), block.0(x_3)) -> up.0(f.0-0-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), up.0(x_2), block.1(x_3)) -> up.0(f.0-0-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), up.1(x_2), block.0(x_3)) -> up.0(f.0-1-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), up.1(x_2), block.1(x_3)) -> up.0(f.0-1-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), up.0(x_2), block.0(x_3)) -> up.0(f.1-0-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), up.0(x_2), block.1(x_3)) -> up.0(f.1-0-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), up.1(x_2), block.0(x_3)) -> up.0(f.1-1-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), up.1(x_2), block.1(x_3)) -> up.0(f.1-1-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), block.0(x_2), up.0(x_3)) -> up.0(f.0-0-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), block.0(x_2), up.1(x_3)) -> up.0(f.0-0-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), block.1(x_2), up.0(x_3)) -> up.0(f.0-1-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), block.1(x_2), up.1(x_3)) -> up.0(f.0-1-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), block.0(x_2), up.0(x_3)) -> up.0(f.1-0-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), block.0(x_2), up.1(x_3)) -> up.0(f.1-0-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), block.1(x_2), up.0(x_3)) -> up.0(f.1-1-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), block.1(x_2), up.1(x_3)) -> up.0(f.1-1-1(x_1, x_2, x_3)) 136.57/52.90 g_flat.0-0(up.0(x_1), block.0(x_2)) -> up.0(g.0-0(x_1, x_2)) 136.57/52.90 g_flat.0-0(up.0(x_1), block.1(x_2)) -> up.0(g.0-1(x_1, x_2)) 136.57/52.90 g_flat.0-0(up.1(x_1), block.0(x_2)) -> up.0(g.1-0(x_1, x_2)) 136.57/52.90 g_flat.0-0(up.1(x_1), block.1(x_2)) -> up.0(g.1-1(x_1, x_2)) 136.57/52.90 g_flat.0-0(block.0(x_1), up.0(x_2)) -> up.0(g.0-0(x_1, x_2)) 136.57/52.90 g_flat.0-0(block.0(x_1), up.1(x_2)) -> up.0(g.0-1(x_1, x_2)) 136.57/52.90 g_flat.0-0(block.1(x_1), up.0(x_2)) -> up.0(g.1-0(x_1, x_2)) 136.57/52.90 g_flat.0-0(block.1(x_1), up.1(x_2)) -> up.0(g.1-1(x_1, x_2)) 136.57/52.90 136.57/52.90 Q is empty. 136.57/52.90 We have to consider all minimal (P,Q,R)-chains. 136.57/52.90 ---------------------------------------- 136.57/52.90 136.57/52.90 (33) DependencyGraphProof (EQUIVALENT) 136.57/52.90 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 12 less nodes. 136.57/52.90 ---------------------------------------- 136.57/52.90 136.57/52.90 (34) 136.57/52.90 Obligation: 136.57/52.90 Q DP problem: 136.57/52.90 The TRS P consists of the following rules: 136.57/52.90 136.57/52.90 TOP.0(up.0(f.1-0-0(c., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(c.), down.0(x0), block.0(x1))) 136.57/52.90 TOP.0(up.0(f.1-0-1(c., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(c.), down.0(x0), block.1(x1))) 136.57/52.90 TOP.0(up.0(f.1-0-0(c., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(c.), block.0(x0), down.0(x1))) 136.57/52.90 TOP.0(up.0(f.1-1-0(c., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(c.), block.1(x0), down.0(x1))) 136.57/52.90 TOP.0(up.0(f.1-0-0(1., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(1.), down.0(x0), block.0(x1))) 136.57/52.90 TOP.0(up.0(f.1-0-1(1., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(1.), down.0(x0), block.1(x1))) 136.57/52.90 TOP.0(up.0(f.1-0-0(1., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(1.), block.0(x0), down.0(x1))) 136.57/52.90 TOP.0(up.0(f.1-1-0(1., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(1.), block.1(x0), down.0(x1))) 136.57/52.90 TOP.0(up.0(f.1-0-0(fresh_constant., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(fresh_constant.), down.0(x0), block.0(x1))) 136.57/52.90 TOP.0(up.0(f.1-0-1(fresh_constant., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(fresh_constant.), down.0(x0), block.1(x1))) 136.57/52.90 TOP.0(up.0(f.1-0-0(fresh_constant., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(fresh_constant.), block.0(x0), down.0(x1))) 136.57/52.90 TOP.0(up.0(f.1-1-0(fresh_constant., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(fresh_constant.), block.1(x0), down.0(x1))) 136.57/52.90 136.57/52.90 The TRS R consists of the following rules: 136.57/52.90 136.57/52.90 down.0(f.0-0-0(g.0-0(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(g.0-0(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(g.0-0(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(g.0-0(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-0(g.0-1(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(g.0-1(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(g.0-1(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(g.0-1(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-0(g.1-0(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(g.1-0(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(g.1-0(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(g.1-0(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-0(g.1-1(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(g.1-1(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(g.1-1(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(g.1-1(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(0., 1., x)) -> up.0(f.0-0-0(x, x, x)) 136.57/52.90 down.0(f.0-1-1(0., 1., x)) -> up.0(f.1-1-1(x, x, x)) 136.57/52.90 down.0(g.0-0(x, y)) -> up.0(x) 136.57/52.90 down.0(g.0-1(x, y)) -> up.0(x) 136.57/52.90 down.0(g.1-0(x, y)) -> up.1(x) 136.57/52.90 down.0(g.1-1(x, y)) -> up.1(x) 136.57/52.90 down.0(g.0-0(x, y)) -> up.0(y) 136.57/52.90 down.0(g.0-1(x, y)) -> up.1(y) 136.57/52.90 down.0(g.1-0(x, y)) -> up.0(y) 136.57/52.90 down.0(g.1-1(x, y)) -> up.1(y) 136.57/52.90 down.0(f.0-0-0(f.0-0-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(f.0-0-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(f.0-0-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(f.0-0-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-0(f.0-0-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(f.0-0-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(f.0-0-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(f.0-0-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-0(f.0-1-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(f.0-1-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(f.0-1-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(f.0-1-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-0(f.0-1-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(f.0-1-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(f.0-1-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(f.0-1-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-0(f.1-0-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(f.1-0-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(f.1-0-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(f.1-0-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-0(f.1-0-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(f.1-0-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(f.1-0-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(f.1-0-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-0(f.1-1-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(f.1-1-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(f.1-1-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(f.1-1-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-0(f.1-1-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(f.1-1-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(f.1-1-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(f.1-1-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-0(0., u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(0., u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(0., u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(0., u, v)) -> up.1(c.) 136.57/52.90 top.0(up.0(x)) -> top.0(down.0(x)) 136.57/52.90 top.0(up.1(x)) -> top.0(down.1(x)) 136.57/52.90 down.0(f.1-0-0(c., y17, y18)) -> f_flat.0-0-0(down.1(c.), block.0(y17), block.0(y18)) 136.57/52.90 down.0(f.1-0-1(c., y17, y18)) -> f_flat.0-0-0(down.1(c.), block.0(y17), block.1(y18)) 136.57/52.90 down.0(f.1-1-0(c., y17, y18)) -> f_flat.0-0-0(down.1(c.), block.1(y17), block.0(y18)) 136.57/52.90 down.0(f.1-1-1(c., y17, y18)) -> f_flat.0-0-0(down.1(c.), block.1(y17), block.1(y18)) 136.57/52.90 down.0(f.1-0-0(c., y17, y18)) -> f_flat.0-0-0(block.1(c.), down.0(y17), block.0(y18)) 136.57/52.90 down.0(f.1-0-1(c., y17, y18)) -> f_flat.0-0-0(block.1(c.), down.0(y17), block.1(y18)) 136.57/52.90 down.0(f.1-1-0(c., y17, y18)) -> f_flat.0-0-0(block.1(c.), down.1(y17), block.0(y18)) 136.57/52.90 down.0(f.1-1-1(c., y17, y18)) -> f_flat.0-0-0(block.1(c.), down.1(y17), block.1(y18)) 136.57/52.90 down.0(f.1-0-0(c., y17, y18)) -> f_flat.0-0-0(block.1(c.), block.0(y17), down.0(y18)) 136.57/52.90 down.0(f.1-0-1(c., y17, y18)) -> f_flat.0-0-0(block.1(c.), block.0(y17), down.1(y18)) 136.57/52.90 down.0(f.1-1-0(c., y17, y18)) -> f_flat.0-0-0(block.1(c.), block.1(y17), down.0(y18)) 136.57/52.90 down.0(f.1-1-1(c., y17, y18)) -> f_flat.0-0-0(block.1(c.), block.1(y17), down.1(y18)) 136.57/52.90 down.0(f.1-0-0(1., y21, y22)) -> f_flat.0-0-0(down.1(1.), block.0(y21), block.0(y22)) 136.57/52.90 down.0(f.1-0-1(1., y21, y22)) -> f_flat.0-0-0(down.1(1.), block.0(y21), block.1(y22)) 136.57/52.90 down.0(f.1-1-0(1., y21, y22)) -> f_flat.0-0-0(down.1(1.), block.1(y21), block.0(y22)) 136.57/52.90 down.0(f.1-1-1(1., y21, y22)) -> f_flat.0-0-0(down.1(1.), block.1(y21), block.1(y22)) 136.57/52.90 down.0(f.1-0-0(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), down.0(y21), block.0(y22)) 136.57/52.90 down.0(f.1-0-1(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), down.0(y21), block.1(y22)) 136.57/52.90 down.0(f.1-1-0(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), down.1(y21), block.0(y22)) 136.57/52.90 down.0(f.1-1-1(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), down.1(y21), block.1(y22)) 136.57/52.90 down.0(f.1-0-0(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), block.0(y21), down.0(y22)) 136.57/52.90 down.0(f.1-0-1(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), block.0(y21), down.1(y22)) 136.57/52.90 down.0(f.1-1-0(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), block.1(y21), down.0(y22)) 136.57/52.90 down.0(f.1-1-1(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), block.1(y21), down.1(y22)) 136.57/52.90 down.0(f.1-0-0(fresh_constant., y23, y24)) -> f_flat.0-0-0(down.1(fresh_constant.), block.0(y23), block.0(y24)) 136.57/52.90 down.0(f.1-0-1(fresh_constant., y23, y24)) -> f_flat.0-0-0(down.1(fresh_constant.), block.0(y23), block.1(y24)) 136.57/52.90 down.0(f.1-1-0(fresh_constant., y23, y24)) -> f_flat.0-0-0(down.1(fresh_constant.), block.1(y23), block.0(y24)) 136.57/52.90 down.0(f.1-1-1(fresh_constant., y23, y24)) -> f_flat.0-0-0(down.1(fresh_constant.), block.1(y23), block.1(y24)) 136.57/52.90 down.0(f.1-0-0(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.1(fresh_constant.), down.0(y23), block.0(y24)) 136.57/52.90 down.0(f.1-0-1(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.1(fresh_constant.), down.0(y23), block.1(y24)) 136.57/52.90 down.0(f.1-1-0(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.1(fresh_constant.), down.1(y23), block.0(y24)) 136.57/52.90 down.0(f.1-1-1(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.1(fresh_constant.), down.1(y23), block.1(y24)) 136.57/52.90 down.0(f.1-0-0(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.1(fresh_constant.), block.0(y23), down.0(y24)) 136.57/52.90 down.0(f.1-0-1(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.1(fresh_constant.), block.0(y23), down.1(y24)) 136.57/52.90 down.0(f.1-1-0(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.1(fresh_constant.), block.1(y23), down.0(y24)) 136.57/52.90 down.0(f.1-1-1(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.1(fresh_constant.), block.1(y23), down.1(y24)) 136.57/52.90 f_flat.0-0-0(up.0(x_1), block.0(x_2), block.0(x_3)) -> up.0(f.0-0-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(up.0(x_1), block.0(x_2), block.1(x_3)) -> up.0(f.0-0-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(up.0(x_1), block.1(x_2), block.0(x_3)) -> up.0(f.0-1-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(up.0(x_1), block.1(x_2), block.1(x_3)) -> up.0(f.0-1-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(up.1(x_1), block.0(x_2), block.0(x_3)) -> up.0(f.1-0-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(up.1(x_1), block.0(x_2), block.1(x_3)) -> up.0(f.1-0-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(up.1(x_1), block.1(x_2), block.0(x_3)) -> up.0(f.1-1-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(up.1(x_1), block.1(x_2), block.1(x_3)) -> up.0(f.1-1-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), up.0(x_2), block.0(x_3)) -> up.0(f.0-0-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), up.0(x_2), block.1(x_3)) -> up.0(f.0-0-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), up.1(x_2), block.0(x_3)) -> up.0(f.0-1-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), up.1(x_2), block.1(x_3)) -> up.0(f.0-1-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), up.0(x_2), block.0(x_3)) -> up.0(f.1-0-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), up.0(x_2), block.1(x_3)) -> up.0(f.1-0-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), up.1(x_2), block.0(x_3)) -> up.0(f.1-1-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), up.1(x_2), block.1(x_3)) -> up.0(f.1-1-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), block.0(x_2), up.0(x_3)) -> up.0(f.0-0-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), block.0(x_2), up.1(x_3)) -> up.0(f.0-0-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), block.1(x_2), up.0(x_3)) -> up.0(f.0-1-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), block.1(x_2), up.1(x_3)) -> up.0(f.0-1-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), block.0(x_2), up.0(x_3)) -> up.0(f.1-0-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), block.0(x_2), up.1(x_3)) -> up.0(f.1-0-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), block.1(x_2), up.0(x_3)) -> up.0(f.1-1-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), block.1(x_2), up.1(x_3)) -> up.0(f.1-1-1(x_1, x_2, x_3)) 136.57/52.90 g_flat.0-0(up.0(x_1), block.0(x_2)) -> up.0(g.0-0(x_1, x_2)) 136.57/52.90 g_flat.0-0(up.0(x_1), block.1(x_2)) -> up.0(g.0-1(x_1, x_2)) 136.57/52.90 g_flat.0-0(up.1(x_1), block.0(x_2)) -> up.0(g.1-0(x_1, x_2)) 136.57/52.90 g_flat.0-0(up.1(x_1), block.1(x_2)) -> up.0(g.1-1(x_1, x_2)) 136.57/52.90 g_flat.0-0(block.0(x_1), up.0(x_2)) -> up.0(g.0-0(x_1, x_2)) 136.57/52.90 g_flat.0-0(block.0(x_1), up.1(x_2)) -> up.0(g.0-1(x_1, x_2)) 136.57/52.90 g_flat.0-0(block.1(x_1), up.0(x_2)) -> up.0(g.1-0(x_1, x_2)) 136.57/52.90 g_flat.0-0(block.1(x_1), up.1(x_2)) -> up.0(g.1-1(x_1, x_2)) 136.57/52.90 136.57/52.90 Q is empty. 136.57/52.90 We have to consider all minimal (P,Q,R)-chains. 136.57/52.90 ---------------------------------------- 136.57/52.90 136.57/52.90 (35) QDPOrderProof (EQUIVALENT) 136.57/52.90 We use the reduction pair processor [LPAR04,JAR06]. 136.57/52.90 136.57/52.90 136.57/52.90 The following pairs can be oriented strictly and are deleted. 136.57/52.90 136.57/52.90 TOP.0(up.0(f.1-0-0(c., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(c.), down.0(x0), block.0(x1))) 136.57/52.90 TOP.0(up.0(f.1-0-1(c., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(c.), down.0(x0), block.1(x1))) 136.57/52.90 TOP.0(up.0(f.1-0-0(c., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(c.), block.0(x0), down.0(x1))) 136.57/52.90 TOP.0(up.0(f.1-1-0(c., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(c.), block.1(x0), down.0(x1))) 136.57/52.90 TOP.0(up.0(f.1-0-0(1., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(1.), down.0(x0), block.0(x1))) 136.57/52.90 TOP.0(up.0(f.1-0-1(1., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(1.), down.0(x0), block.1(x1))) 136.57/52.90 TOP.0(up.0(f.1-0-0(1., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(1.), block.0(x0), down.0(x1))) 136.57/52.90 TOP.0(up.0(f.1-1-0(1., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(1.), block.1(x0), down.0(x1))) 136.57/52.90 TOP.0(up.0(f.1-0-0(fresh_constant., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(fresh_constant.), down.0(x0), block.0(x1))) 136.57/52.90 TOP.0(up.0(f.1-0-1(fresh_constant., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(fresh_constant.), down.0(x0), block.1(x1))) 136.57/52.90 TOP.0(up.0(f.1-0-0(fresh_constant., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(fresh_constant.), block.0(x0), down.0(x1))) 136.57/52.90 TOP.0(up.0(f.1-1-0(fresh_constant., x0, x1))) -> TOP.0(f_flat.0-0-0(block.1(fresh_constant.), block.1(x0), down.0(x1))) 136.57/52.90 The remaining pairs can at least be oriented weakly. 136.57/52.90 Used ordering: Polynomial interpretation [POLO]: 136.57/52.90 136.57/52.90 POL(0.) = 1 136.57/52.90 POL(1.) = 0 136.57/52.90 POL(TOP.0(x_1)) = x_1 136.57/52.90 POL(block.0(x_1)) = x_1 136.57/52.90 POL(block.1(x_1)) = 0 136.57/52.90 POL(c.) = 0 136.57/52.90 POL(down.0(x_1)) = x_1 136.57/52.90 POL(down.1(x_1)) = 0 136.57/52.90 POL(f.0-0-0(x_1, x_2, x_3)) = 1 + x_2 136.57/52.90 POL(f.0-0-1(x_1, x_2, x_3)) = 1 136.57/52.90 POL(f.0-1-0(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 136.57/52.90 POL(f.0-1-1(x_1, x_2, x_3)) = 1 + x_2 + x_3 136.57/52.90 POL(f.1-0-0(x_1, x_2, x_3)) = x_2 + x_3 136.57/52.90 POL(f.1-0-1(x_1, x_2, x_3)) = x_2 136.57/52.90 POL(f.1-1-0(x_1, x_2, x_3)) = x_3 136.57/52.90 POL(f.1-1-1(x_1, x_2, x_3)) = 0 136.57/52.90 POL(f_flat.0-0-0(x_1, x_2, x_3)) = x_2 + x_3 136.57/52.90 POL(fresh_constant.) = 0 136.57/52.90 POL(g.0-0(x_1, x_2)) = 1 + x_1 + x_2 136.57/52.90 POL(g.0-1(x_1, x_2)) = 1 + x_1 + x_2 136.57/52.90 POL(g.1-0(x_1, x_2)) = 1 + x_1 + x_2 136.57/52.90 POL(g.1-1(x_1, x_2)) = 1 + x_1 + x_2 136.57/52.90 POL(up.0(x_1)) = 1 + x_1 136.57/52.90 POL(up.1(x_1)) = 1 136.57/52.90 136.57/52.90 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 136.57/52.90 136.57/52.90 down.0(f.0-0-0(g.0-0(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(g.0-0(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(g.0-0(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(g.0-0(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-0(g.0-1(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(g.0-1(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(g.0-1(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(g.0-1(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-0(g.1-0(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(g.1-0(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(g.1-0(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(g.1-0(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-0(g.1-1(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(g.1-1(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(g.1-1(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(g.1-1(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(0., 1., x)) -> up.0(f.0-0-0(x, x, x)) 136.57/52.90 down.0(f.0-1-1(0., 1., x)) -> up.0(f.1-1-1(x, x, x)) 136.57/52.90 down.0(g.0-0(x, y)) -> up.0(x) 136.57/52.90 down.0(g.0-1(x, y)) -> up.0(x) 136.57/52.90 down.0(g.1-0(x, y)) -> up.1(x) 136.57/52.90 down.0(g.1-1(x, y)) -> up.1(x) 136.57/52.90 down.0(g.0-0(x, y)) -> up.0(y) 136.57/52.90 down.0(g.0-1(x, y)) -> up.1(y) 136.57/52.90 down.0(g.1-0(x, y)) -> up.0(y) 136.57/52.90 down.0(g.1-1(x, y)) -> up.1(y) 136.57/52.90 down.0(f.0-0-0(f.0-0-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(f.0-0-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(f.0-0-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(f.0-0-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-0(f.0-0-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(f.0-0-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(f.0-0-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(f.0-0-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-0(f.0-1-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(f.0-1-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(f.0-1-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(f.0-1-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-0(f.0-1-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(f.0-1-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(f.0-1-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(f.0-1-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-0(f.1-0-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(f.1-0-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(f.1-0-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(f.1-0-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-0(f.1-0-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(f.1-0-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(f.1-0-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(f.1-0-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-0(f.1-1-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(f.1-1-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(f.1-1-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(f.1-1-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-0(f.1-1-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(f.1-1-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(f.1-1-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(f.1-1-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-0(0., u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(0., u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(0., u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(0., u, v)) -> up.1(c.) 136.57/52.90 down.0(f.1-0-0(c., y17, y18)) -> f_flat.0-0-0(down.1(c.), block.0(y17), block.0(y18)) 136.57/52.90 down.0(f.1-0-1(c., y17, y18)) -> f_flat.0-0-0(down.1(c.), block.0(y17), block.1(y18)) 136.57/52.90 down.0(f.1-1-0(c., y17, y18)) -> f_flat.0-0-0(down.1(c.), block.1(y17), block.0(y18)) 136.57/52.90 down.0(f.1-1-1(c., y17, y18)) -> f_flat.0-0-0(down.1(c.), block.1(y17), block.1(y18)) 136.57/52.90 down.0(f.1-0-0(c., y17, y18)) -> f_flat.0-0-0(block.1(c.), down.0(y17), block.0(y18)) 136.57/52.90 down.0(f.1-0-1(c., y17, y18)) -> f_flat.0-0-0(block.1(c.), down.0(y17), block.1(y18)) 136.57/52.90 down.0(f.1-1-0(c., y17, y18)) -> f_flat.0-0-0(block.1(c.), down.1(y17), block.0(y18)) 136.57/52.90 down.0(f.1-1-1(c., y17, y18)) -> f_flat.0-0-0(block.1(c.), down.1(y17), block.1(y18)) 136.57/52.90 down.0(f.1-0-0(c., y17, y18)) -> f_flat.0-0-0(block.1(c.), block.0(y17), down.0(y18)) 136.57/52.90 down.0(f.1-0-1(c., y17, y18)) -> f_flat.0-0-0(block.1(c.), block.0(y17), down.1(y18)) 136.57/52.90 down.0(f.1-1-0(c., y17, y18)) -> f_flat.0-0-0(block.1(c.), block.1(y17), down.0(y18)) 136.57/52.90 down.0(f.1-1-1(c., y17, y18)) -> f_flat.0-0-0(block.1(c.), block.1(y17), down.1(y18)) 136.57/52.90 down.0(f.1-0-0(1., y21, y22)) -> f_flat.0-0-0(down.1(1.), block.0(y21), block.0(y22)) 136.57/52.90 down.0(f.1-0-1(1., y21, y22)) -> f_flat.0-0-0(down.1(1.), block.0(y21), block.1(y22)) 136.57/52.90 down.0(f.1-1-0(1., y21, y22)) -> f_flat.0-0-0(down.1(1.), block.1(y21), block.0(y22)) 136.57/52.90 down.0(f.1-1-1(1., y21, y22)) -> f_flat.0-0-0(down.1(1.), block.1(y21), block.1(y22)) 136.57/52.90 down.0(f.1-0-0(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), down.0(y21), block.0(y22)) 136.57/52.90 down.0(f.1-0-1(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), down.0(y21), block.1(y22)) 136.57/52.90 down.0(f.1-1-0(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), down.1(y21), block.0(y22)) 136.57/52.90 down.0(f.1-1-1(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), down.1(y21), block.1(y22)) 136.57/52.90 down.0(f.1-0-0(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), block.0(y21), down.0(y22)) 136.57/52.90 down.0(f.1-0-1(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), block.0(y21), down.1(y22)) 136.57/52.90 down.0(f.1-1-0(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), block.1(y21), down.0(y22)) 136.57/52.90 down.0(f.1-1-1(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), block.1(y21), down.1(y22)) 136.57/52.90 down.0(f.1-0-0(fresh_constant., y23, y24)) -> f_flat.0-0-0(down.1(fresh_constant.), block.0(y23), block.0(y24)) 136.57/52.90 down.0(f.1-0-1(fresh_constant., y23, y24)) -> f_flat.0-0-0(down.1(fresh_constant.), block.0(y23), block.1(y24)) 136.57/52.90 down.0(f.1-1-0(fresh_constant., y23, y24)) -> f_flat.0-0-0(down.1(fresh_constant.), block.1(y23), block.0(y24)) 136.57/52.90 down.0(f.1-1-1(fresh_constant., y23, y24)) -> f_flat.0-0-0(down.1(fresh_constant.), block.1(y23), block.1(y24)) 136.57/52.90 down.0(f.1-0-0(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.1(fresh_constant.), down.0(y23), block.0(y24)) 136.57/52.90 down.0(f.1-0-1(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.1(fresh_constant.), down.0(y23), block.1(y24)) 136.57/52.90 down.0(f.1-1-0(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.1(fresh_constant.), down.1(y23), block.0(y24)) 136.57/52.90 down.0(f.1-1-1(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.1(fresh_constant.), down.1(y23), block.1(y24)) 136.57/52.90 down.0(f.1-0-0(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.1(fresh_constant.), block.0(y23), down.0(y24)) 136.57/52.90 down.0(f.1-0-1(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.1(fresh_constant.), block.0(y23), down.1(y24)) 136.57/52.90 down.0(f.1-1-0(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.1(fresh_constant.), block.1(y23), down.0(y24)) 136.57/52.90 down.0(f.1-1-1(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.1(fresh_constant.), block.1(y23), down.1(y24)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), up.0(x_2), block.0(x_3)) -> up.0(f.1-0-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), up.1(x_2), block.0(x_3)) -> up.0(f.1-1-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), up.0(x_2), block.1(x_3)) -> up.0(f.1-0-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), up.1(x_2), block.1(x_3)) -> up.0(f.1-1-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), block.0(x_2), up.0(x_3)) -> up.0(f.1-0-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), block.0(x_2), up.1(x_3)) -> up.0(f.1-0-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), block.1(x_2), up.0(x_3)) -> up.0(f.1-1-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), block.1(x_2), up.1(x_3)) -> up.0(f.1-1-1(x_1, x_2, x_3)) 136.57/52.90 136.57/52.90 136.57/52.90 ---------------------------------------- 136.57/52.90 136.57/52.90 (36) 136.57/52.90 Obligation: 136.57/52.90 Q DP problem: 136.57/52.90 P is empty. 136.57/52.90 The TRS R consists of the following rules: 136.57/52.90 136.57/52.90 down.0(f.0-0-0(g.0-0(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(g.0-0(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(g.0-0(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(g.0-0(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-0(g.0-1(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(g.0-1(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(g.0-1(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(g.0-1(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-0(g.1-0(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(g.1-0(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(g.1-0(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(g.1-0(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-0(g.1-1(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(g.1-1(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(g.1-1(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(g.1-1(u, v), y, z)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(0., 1., x)) -> up.0(f.0-0-0(x, x, x)) 136.57/52.90 down.0(f.0-1-1(0., 1., x)) -> up.0(f.1-1-1(x, x, x)) 136.57/52.90 down.0(g.0-0(x, y)) -> up.0(x) 136.57/52.90 down.0(g.0-1(x, y)) -> up.0(x) 136.57/52.90 down.0(g.1-0(x, y)) -> up.1(x) 136.57/52.90 down.0(g.1-1(x, y)) -> up.1(x) 136.57/52.90 down.0(g.0-0(x, y)) -> up.0(y) 136.57/52.90 down.0(g.0-1(x, y)) -> up.1(y) 136.57/52.90 down.0(g.1-0(x, y)) -> up.0(y) 136.57/52.90 down.0(g.1-1(x, y)) -> up.1(y) 136.57/52.90 down.0(f.0-0-0(f.0-0-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(f.0-0-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(f.0-0-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(f.0-0-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-0(f.0-0-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(f.0-0-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(f.0-0-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(f.0-0-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-0(f.0-1-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(f.0-1-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(f.0-1-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(f.0-1-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-0(f.0-1-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(f.0-1-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(f.0-1-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(f.0-1-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-0(f.1-0-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(f.1-0-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(f.1-0-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(f.1-0-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-0(f.1-0-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(f.1-0-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(f.1-0-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(f.1-0-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-0(f.1-1-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(f.1-1-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(f.1-1-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(f.1-1-0(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-0(f.1-1-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(f.1-1-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(f.1-1-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(f.1-1-1(x, y, z), u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-0(0., u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-0-1(0., u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-0(0., u, v)) -> up.1(c.) 136.57/52.90 down.0(f.0-1-1(0., u, v)) -> up.1(c.) 136.57/52.90 top.0(up.0(x)) -> top.0(down.0(x)) 136.57/52.90 top.0(up.1(x)) -> top.0(down.1(x)) 136.57/52.90 down.0(f.1-0-0(c., y17, y18)) -> f_flat.0-0-0(down.1(c.), block.0(y17), block.0(y18)) 136.57/52.90 down.0(f.1-0-1(c., y17, y18)) -> f_flat.0-0-0(down.1(c.), block.0(y17), block.1(y18)) 136.57/52.90 down.0(f.1-1-0(c., y17, y18)) -> f_flat.0-0-0(down.1(c.), block.1(y17), block.0(y18)) 136.57/52.90 down.0(f.1-1-1(c., y17, y18)) -> f_flat.0-0-0(down.1(c.), block.1(y17), block.1(y18)) 136.57/52.90 down.0(f.1-0-0(c., y17, y18)) -> f_flat.0-0-0(block.1(c.), down.0(y17), block.0(y18)) 136.57/52.90 down.0(f.1-0-1(c., y17, y18)) -> f_flat.0-0-0(block.1(c.), down.0(y17), block.1(y18)) 136.57/52.90 down.0(f.1-1-0(c., y17, y18)) -> f_flat.0-0-0(block.1(c.), down.1(y17), block.0(y18)) 136.57/52.90 down.0(f.1-1-1(c., y17, y18)) -> f_flat.0-0-0(block.1(c.), down.1(y17), block.1(y18)) 136.57/52.90 down.0(f.1-0-0(c., y17, y18)) -> f_flat.0-0-0(block.1(c.), block.0(y17), down.0(y18)) 136.57/52.90 down.0(f.1-0-1(c., y17, y18)) -> f_flat.0-0-0(block.1(c.), block.0(y17), down.1(y18)) 136.57/52.90 down.0(f.1-1-0(c., y17, y18)) -> f_flat.0-0-0(block.1(c.), block.1(y17), down.0(y18)) 136.57/52.90 down.0(f.1-1-1(c., y17, y18)) -> f_flat.0-0-0(block.1(c.), block.1(y17), down.1(y18)) 136.57/52.90 down.0(f.1-0-0(1., y21, y22)) -> f_flat.0-0-0(down.1(1.), block.0(y21), block.0(y22)) 136.57/52.90 down.0(f.1-0-1(1., y21, y22)) -> f_flat.0-0-0(down.1(1.), block.0(y21), block.1(y22)) 136.57/52.90 down.0(f.1-1-0(1., y21, y22)) -> f_flat.0-0-0(down.1(1.), block.1(y21), block.0(y22)) 136.57/52.90 down.0(f.1-1-1(1., y21, y22)) -> f_flat.0-0-0(down.1(1.), block.1(y21), block.1(y22)) 136.57/52.90 down.0(f.1-0-0(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), down.0(y21), block.0(y22)) 136.57/52.90 down.0(f.1-0-1(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), down.0(y21), block.1(y22)) 136.57/52.90 down.0(f.1-1-0(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), down.1(y21), block.0(y22)) 136.57/52.90 down.0(f.1-1-1(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), down.1(y21), block.1(y22)) 136.57/52.90 down.0(f.1-0-0(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), block.0(y21), down.0(y22)) 136.57/52.90 down.0(f.1-0-1(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), block.0(y21), down.1(y22)) 136.57/52.90 down.0(f.1-1-0(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), block.1(y21), down.0(y22)) 136.57/52.90 down.0(f.1-1-1(1., y21, y22)) -> f_flat.0-0-0(block.1(1.), block.1(y21), down.1(y22)) 136.57/52.90 down.0(f.1-0-0(fresh_constant., y23, y24)) -> f_flat.0-0-0(down.1(fresh_constant.), block.0(y23), block.0(y24)) 136.57/52.90 down.0(f.1-0-1(fresh_constant., y23, y24)) -> f_flat.0-0-0(down.1(fresh_constant.), block.0(y23), block.1(y24)) 136.57/52.90 down.0(f.1-1-0(fresh_constant., y23, y24)) -> f_flat.0-0-0(down.1(fresh_constant.), block.1(y23), block.0(y24)) 136.57/52.90 down.0(f.1-1-1(fresh_constant., y23, y24)) -> f_flat.0-0-0(down.1(fresh_constant.), block.1(y23), block.1(y24)) 136.57/52.90 down.0(f.1-0-0(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.1(fresh_constant.), down.0(y23), block.0(y24)) 136.57/52.90 down.0(f.1-0-1(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.1(fresh_constant.), down.0(y23), block.1(y24)) 136.57/52.90 down.0(f.1-1-0(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.1(fresh_constant.), down.1(y23), block.0(y24)) 136.57/52.90 down.0(f.1-1-1(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.1(fresh_constant.), down.1(y23), block.1(y24)) 136.57/52.90 down.0(f.1-0-0(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.1(fresh_constant.), block.0(y23), down.0(y24)) 136.57/52.90 down.0(f.1-0-1(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.1(fresh_constant.), block.0(y23), down.1(y24)) 136.57/52.90 down.0(f.1-1-0(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.1(fresh_constant.), block.1(y23), down.0(y24)) 136.57/52.90 down.0(f.1-1-1(fresh_constant., y23, y24)) -> f_flat.0-0-0(block.1(fresh_constant.), block.1(y23), down.1(y24)) 136.57/52.90 f_flat.0-0-0(up.0(x_1), block.0(x_2), block.0(x_3)) -> up.0(f.0-0-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(up.0(x_1), block.0(x_2), block.1(x_3)) -> up.0(f.0-0-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(up.0(x_1), block.1(x_2), block.0(x_3)) -> up.0(f.0-1-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(up.0(x_1), block.1(x_2), block.1(x_3)) -> up.0(f.0-1-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(up.1(x_1), block.0(x_2), block.0(x_3)) -> up.0(f.1-0-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(up.1(x_1), block.0(x_2), block.1(x_3)) -> up.0(f.1-0-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(up.1(x_1), block.1(x_2), block.0(x_3)) -> up.0(f.1-1-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(up.1(x_1), block.1(x_2), block.1(x_3)) -> up.0(f.1-1-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), up.0(x_2), block.0(x_3)) -> up.0(f.0-0-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), up.0(x_2), block.1(x_3)) -> up.0(f.0-0-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), up.1(x_2), block.0(x_3)) -> up.0(f.0-1-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), up.1(x_2), block.1(x_3)) -> up.0(f.0-1-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), up.0(x_2), block.0(x_3)) -> up.0(f.1-0-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), up.0(x_2), block.1(x_3)) -> up.0(f.1-0-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), up.1(x_2), block.0(x_3)) -> up.0(f.1-1-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), up.1(x_2), block.1(x_3)) -> up.0(f.1-1-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), block.0(x_2), up.0(x_3)) -> up.0(f.0-0-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), block.0(x_2), up.1(x_3)) -> up.0(f.0-0-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), block.1(x_2), up.0(x_3)) -> up.0(f.0-1-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.0(x_1), block.1(x_2), up.1(x_3)) -> up.0(f.0-1-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), block.0(x_2), up.0(x_3)) -> up.0(f.1-0-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), block.0(x_2), up.1(x_3)) -> up.0(f.1-0-1(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), block.1(x_2), up.0(x_3)) -> up.0(f.1-1-0(x_1, x_2, x_3)) 136.57/52.90 f_flat.0-0-0(block.1(x_1), block.1(x_2), up.1(x_3)) -> up.0(f.1-1-1(x_1, x_2, x_3)) 136.57/52.90 g_flat.0-0(up.0(x_1), block.0(x_2)) -> up.0(g.0-0(x_1, x_2)) 136.57/52.90 g_flat.0-0(up.0(x_1), block.1(x_2)) -> up.0(g.0-1(x_1, x_2)) 136.57/52.90 g_flat.0-0(up.1(x_1), block.0(x_2)) -> up.0(g.1-0(x_1, x_2)) 136.57/52.90 g_flat.0-0(up.1(x_1), block.1(x_2)) -> up.0(g.1-1(x_1, x_2)) 136.57/52.90 g_flat.0-0(block.0(x_1), up.0(x_2)) -> up.0(g.0-0(x_1, x_2)) 136.57/52.90 g_flat.0-0(block.0(x_1), up.1(x_2)) -> up.0(g.0-1(x_1, x_2)) 136.57/52.90 g_flat.0-0(block.1(x_1), up.0(x_2)) -> up.0(g.1-0(x_1, x_2)) 136.57/52.90 g_flat.0-0(block.1(x_1), up.1(x_2)) -> up.0(g.1-1(x_1, x_2)) 136.57/52.90 136.57/52.90 Q is empty. 136.57/52.90 We have to consider all minimal (P,Q,R)-chains. 136.57/52.90 ---------------------------------------- 136.57/52.90 136.57/52.90 (37) PisEmptyProof (EQUIVALENT) 136.57/52.90 The TRS P is empty. Hence, there is no (P,Q,R) chain. 136.57/52.90 ---------------------------------------- 136.57/52.90 136.57/52.90 (38) 136.57/52.90 YES 136.78/52.95 EOF