305.07/136.66 MAYBE 305.07/136.67 proof of /export/starexec/sandbox/benchmark/theBenchmark.xml 305.07/136.67 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 305.07/136.67 305.07/136.67 305.07/136.67 Outermost Termination of the given OTRS could not be shown: 305.07/136.67 305.07/136.67 (0) OTRS 305.07/136.67 (1) Trivial-Transformation [SOUND, 0 ms] 305.07/136.67 (2) QTRS 305.07/136.67 (3) DependencyPairsProof [EQUIVALENT, 0 ms] 305.07/136.67 (4) QDP 305.07/136.67 (5) DependencyGraphProof [EQUIVALENT, 0 ms] 305.07/136.67 (6) QDP 305.07/136.67 (7) UsableRulesProof [EQUIVALENT, 0 ms] 305.07/136.67 (8) QDP 305.07/136.67 (9) NonTerminationLoopProof [COMPLETE, 0 ms] 305.07/136.67 (10) NO 305.07/136.67 (11) Raffelsieper-Zantema-Transformation [SOUND, 0 ms] 305.07/136.67 (12) QTRS 305.07/136.67 (13) AAECC Innermost [EQUIVALENT, 0 ms] 305.07/136.67 (14) QTRS 305.07/136.67 (15) DependencyPairsProof [EQUIVALENT, 0 ms] 305.07/136.67 (16) QDP 305.07/136.67 (17) DependencyGraphProof [EQUIVALENT, 0 ms] 305.07/136.67 (18) AND 305.07/136.67 (19) QDP 305.07/136.67 (20) UsableRulesProof [EQUIVALENT, 0 ms] 305.07/136.67 (21) QDP 305.07/136.67 (22) QReductionProof [EQUIVALENT, 0 ms] 305.07/136.67 (23) QDP 305.07/136.67 (24) QDPSizeChangeProof [EQUIVALENT, 0 ms] 305.07/136.67 (25) YES 305.07/136.67 (26) QDP 305.07/136.67 (27) UsableRulesProof [EQUIVALENT, 0 ms] 305.07/136.67 (28) QDP 305.07/136.67 (29) QReductionProof [EQUIVALENT, 0 ms] 305.07/136.67 (30) QDP 305.07/136.67 (31) TransformationProof [EQUIVALENT, 13 ms] 305.07/136.67 (32) QDP 305.07/136.67 (33) DependencyGraphProof [EQUIVALENT, 0 ms] 305.07/136.67 (34) QDP 305.07/136.67 (35) TransformationProof [EQUIVALENT, 0 ms] 305.07/136.67 (36) QDP 305.07/136.67 (37) TransformationProof [EQUIVALENT, 0 ms] 305.07/136.67 (38) QDP 305.07/136.67 (39) TransformationProof [EQUIVALENT, 0 ms] 305.07/136.67 (40) QDP 305.07/136.67 (41) TransformationProof [EQUIVALENT, 0 ms] 305.07/136.67 (42) QDP 305.07/136.67 (43) TransformationProof [EQUIVALENT, 0 ms] 305.07/136.67 (44) QDP 305.07/136.67 (45) TransformationProof [EQUIVALENT, 0 ms] 305.07/136.67 (46) QDP 305.07/136.67 (47) TransformationProof [EQUIVALENT, 0 ms] 305.07/136.67 (48) QDP 305.07/136.67 (49) TransformationProof [EQUIVALENT, 0 ms] 305.07/136.67 (50) QDP 305.07/136.67 (51) QDPOrderProof [EQUIVALENT, 24 ms] 305.07/136.67 (52) QDP 305.07/136.67 (53) DependencyGraphProof [EQUIVALENT, 0 ms] 305.07/136.67 (54) QDP 305.07/136.67 (55) QDPOrderProof [EQUIVALENT, 8 ms] 305.07/136.67 (56) QDP 305.07/136.67 (57) QDPOrderProof [EQUIVALENT, 747 ms] 305.07/136.67 (58) QDP 305.07/136.67 (59) QDPOrderProof [EQUIVALENT, 904 ms] 305.07/136.67 (60) QDP 305.07/136.67 (61) MNOCProof [EQUIVALENT, 0 ms] 305.07/136.67 (62) QDP 305.07/136.67 (63) SplitQDPProof [EQUIVALENT, 0 ms] 305.07/136.67 (64) AND 305.07/136.67 (65) QDP 305.07/136.67 (66) SemLabProof [SOUND, 0 ms] 305.07/136.67 (67) QDP 305.07/136.67 (68) UsableRulesReductionPairsProof [EQUIVALENT, 0 ms] 305.07/136.67 (69) QDP 305.07/136.67 (70) MRRProof [EQUIVALENT, 0 ms] 305.07/136.67 (71) QDP 305.07/136.67 (72) DependencyGraphProof [EQUIVALENT, 0 ms] 305.07/136.67 (73) QDP 305.07/136.67 (74) MRRProof [EQUIVALENT, 6 ms] 305.07/136.67 (75) QDP 305.07/136.67 (76) MRRProof [EQUIVALENT, 0 ms] 305.07/136.67 (77) QDP 305.07/136.67 (78) PisEmptyProof [SOUND, 0 ms] 305.07/136.67 (79) TRUE 305.07/136.67 (80) QDP 305.07/136.67 (81) QReductionProof [EQUIVALENT, 0 ms] 305.07/136.67 (82) QDP 305.07/136.67 (83) MNOCProof [EQUIVALENT, 0 ms] 305.07/136.67 (84) QDP 305.07/136.67 (85) SplitQDPProof [EQUIVALENT, 0 ms] 305.07/136.67 (86) AND 305.07/136.67 (87) QDP 305.07/136.67 (88) SemLabProof [SOUND, 0 ms] 305.07/136.67 (89) QDP 305.07/136.67 (90) MRRProof [EQUIVALENT, 0 ms] 305.07/136.67 (91) QDP 305.07/136.67 (92) DependencyGraphProof [EQUIVALENT, 0 ms] 305.07/136.67 (93) QDP 305.07/136.67 (94) PisEmptyProof [SOUND, 0 ms] 305.07/136.67 (95) TRUE 305.07/136.67 (96) QDP 305.07/136.67 (97) QReductionProof [EQUIVALENT, 0 ms] 305.07/136.67 (98) QDP 305.07/136.67 (99) Thiemann-SpecialC-Transformation [EQUIVALENT, 0 ms] 305.07/136.67 (100) QTRS 305.07/136.67 (101) DependencyPairsProof [EQUIVALENT, 0 ms] 305.07/136.67 (102) QDP 305.07/136.67 (103) DependencyGraphProof [EQUIVALENT, 0 ms] 305.07/136.68 (104) AND 305.07/136.68 (105) QDP 305.07/136.68 (106) UsableRulesProof [EQUIVALENT, 0 ms] 305.07/136.68 (107) QDP 305.07/136.68 (108) QReductionProof [EQUIVALENT, 0 ms] 305.07/136.68 (109) QDP 305.07/136.68 (110) UsableRulesReductionPairsProof [EQUIVALENT, 0 ms] 305.07/136.68 (111) QDP 305.07/136.68 (112) DependencyGraphProof [EQUIVALENT, 0 ms] 305.07/136.68 (113) QDP 305.07/136.68 (114) QReductionProof [EQUIVALENT, 1 ms] 305.07/136.68 (115) QDP 305.07/136.68 (116) UsableRulesReductionPairsProof [EQUIVALENT, 0 ms] 305.07/136.68 (117) QDP 305.07/136.68 (118) DependencyGraphProof [EQUIVALENT, 0 ms] 305.07/136.68 (119) TRUE 305.07/136.68 (120) QDP 305.07/136.68 (121) UsableRulesProof [EQUIVALENT, 0 ms] 305.07/136.68 (122) QDP 305.07/136.68 (123) QReductionProof [EQUIVALENT, 0 ms] 305.07/136.68 (124) QDP 305.07/136.68 (125) TransformationProof [EQUIVALENT, 0 ms] 305.07/136.68 (126) QDP 305.07/136.68 (127) QDPOrderProof [EQUIVALENT, 0 ms] 305.07/136.68 (128) QDP 305.07/136.68 (129) UsableRulesProof [EQUIVALENT, 0 ms] 305.07/136.68 (130) QDP 305.07/136.68 (131) QReductionProof [EQUIVALENT, 0 ms] 305.07/136.68 (132) QDP 305.07/136.68 305.07/136.68 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (0) 305.07/136.68 Obligation: 305.07/136.68 Term rewrite system R: 305.07/136.68 The TRS R consists of the following rules: 305.07/136.68 305.07/136.68 a -> f(a) 305.07/136.68 f(f(x)) -> g(x) 305.07/136.68 g(g(x)) -> h(x) 305.07/136.68 h(h(x)) -> c 305.07/136.68 305.07/136.68 305.07/136.68 305.07/136.68 Outermost Strategy. 305.07/136.68 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (1) Trivial-Transformation (SOUND) 305.07/136.68 We applied the Trivial transformation to transform the outermost TRS to a standard TRS. 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (2) 305.07/136.68 Obligation: 305.07/136.68 Q restricted rewrite system: 305.07/136.68 The TRS R consists of the following rules: 305.07/136.68 305.07/136.68 a -> f(a) 305.07/136.68 f(f(x)) -> g(x) 305.07/136.68 g(g(x)) -> h(x) 305.07/136.68 h(h(x)) -> c 305.07/136.68 305.07/136.68 Q is empty. 305.07/136.68 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (3) DependencyPairsProof (EQUIVALENT) 305.07/136.68 Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (4) 305.07/136.68 Obligation: 305.07/136.68 Q DP problem: 305.07/136.68 The TRS P consists of the following rules: 305.07/136.68 305.07/136.68 A -> F(a) 305.07/136.68 A -> A 305.07/136.68 F(f(x)) -> G(x) 305.07/136.68 G(g(x)) -> H(x) 305.07/136.68 305.07/136.68 The TRS R consists of the following rules: 305.07/136.68 305.07/136.68 a -> f(a) 305.07/136.68 f(f(x)) -> g(x) 305.07/136.68 g(g(x)) -> h(x) 305.07/136.68 h(h(x)) -> c 305.07/136.68 305.07/136.68 Q is empty. 305.07/136.68 We have to consider all minimal (P,Q,R)-chains. 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (5) DependencyGraphProof (EQUIVALENT) 305.07/136.68 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes. 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (6) 305.07/136.68 Obligation: 305.07/136.68 Q DP problem: 305.07/136.68 The TRS P consists of the following rules: 305.07/136.68 305.07/136.68 A -> A 305.07/136.68 305.07/136.68 The TRS R consists of the following rules: 305.07/136.68 305.07/136.68 a -> f(a) 305.07/136.68 f(f(x)) -> g(x) 305.07/136.68 g(g(x)) -> h(x) 305.07/136.68 h(h(x)) -> c 305.07/136.68 305.07/136.68 Q is empty. 305.07/136.68 We have to consider all minimal (P,Q,R)-chains. 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (7) UsableRulesProof (EQUIVALENT) 305.07/136.68 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. 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (8) 305.07/136.68 Obligation: 305.07/136.68 Q DP problem: 305.07/136.68 The TRS P consists of the following rules: 305.07/136.68 305.07/136.68 A -> A 305.07/136.68 305.07/136.68 R is empty. 305.07/136.68 Q is empty. 305.07/136.68 We have to consider all minimal (P,Q,R)-chains. 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (9) NonTerminationLoopProof (COMPLETE) 305.07/136.68 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 305.07/136.68 Found a loop by semiunifying a rule from P directly. 305.07/136.68 305.07/136.68 s = A evaluates to t =A 305.07/136.68 305.07/136.68 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 305.07/136.68 * Matcher: [ ] 305.07/136.68 * Semiunifier: [ ] 305.07/136.68 305.07/136.68 -------------------------------------------------------------------------------- 305.07/136.68 Rewriting sequence 305.07/136.68 305.07/136.68 The DP semiunifies directly so there is only one rewrite step from A to A. 305.07/136.68 305.07/136.68 305.07/136.68 305.07/136.68 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (10) 305.07/136.68 NO 305.07/136.68 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (11) Raffelsieper-Zantema-Transformation (SOUND) 305.07/136.68 We applied the Raffelsieper-Zantema transformation to transform the outermost TRS to a standard TRS. 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (12) 305.07/136.68 Obligation: 305.07/136.68 Q restricted rewrite system: 305.07/136.68 The TRS R consists of the following rules: 305.07/136.68 305.07/136.68 down(a) -> up(f(a)) 305.07/136.68 down(f(f(x))) -> up(g(x)) 305.07/136.68 down(g(g(x))) -> up(h(x)) 305.07/136.68 down(h(h(x))) -> up(c) 305.07/136.68 top(up(x)) -> top(down(x)) 305.07/136.68 down(f(a)) -> f_flat(down(a)) 305.07/136.68 down(f(g(y5))) -> f_flat(down(g(y5))) 305.07/136.68 down(f(h(y6))) -> f_flat(down(h(y6))) 305.07/136.68 down(f(c)) -> f_flat(down(c)) 305.07/136.68 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 305.07/136.68 down(g(a)) -> g_flat(down(a)) 305.07/136.68 down(g(f(y8))) -> g_flat(down(f(y8))) 305.07/136.68 down(g(h(y10))) -> g_flat(down(h(y10))) 305.07/136.68 down(g(c)) -> g_flat(down(c)) 305.07/136.68 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 305.07/136.68 down(h(a)) -> h_flat(down(a)) 305.07/136.68 down(h(f(y12))) -> h_flat(down(f(y12))) 305.07/136.68 down(h(g(y13))) -> h_flat(down(g(y13))) 305.07/136.68 down(h(c)) -> h_flat(down(c)) 305.07/136.68 down(h(fresh_constant)) -> h_flat(down(fresh_constant)) 305.07/136.68 f_flat(up(x_1)) -> up(f(x_1)) 305.07/136.68 g_flat(up(x_1)) -> up(g(x_1)) 305.07/136.68 h_flat(up(x_1)) -> up(h(x_1)) 305.07/136.68 305.07/136.68 Q is empty. 305.07/136.68 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (13) AAECC Innermost (EQUIVALENT) 305.07/136.68 We have applied [NOC,AAECCNOC] to switch to innermost. The TRS R 1 is 305.07/136.68 down(f(a)) -> f_flat(down(a)) 305.07/136.68 down(f(g(y5))) -> f_flat(down(g(y5))) 305.07/136.68 down(f(h(y6))) -> f_flat(down(h(y6))) 305.07/136.68 down(f(c)) -> f_flat(down(c)) 305.07/136.68 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 305.07/136.68 down(g(a)) -> g_flat(down(a)) 305.07/136.68 down(g(f(y8))) -> g_flat(down(f(y8))) 305.07/136.68 down(g(h(y10))) -> g_flat(down(h(y10))) 305.07/136.68 down(g(c)) -> g_flat(down(c)) 305.07/136.68 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 305.07/136.68 down(h(a)) -> h_flat(down(a)) 305.07/136.68 down(h(f(y12))) -> h_flat(down(f(y12))) 305.07/136.68 down(h(g(y13))) -> h_flat(down(g(y13))) 305.07/136.68 down(h(c)) -> h_flat(down(c)) 305.07/136.68 down(h(fresh_constant)) -> h_flat(down(fresh_constant)) 305.07/136.68 f_flat(up(x_1)) -> up(f(x_1)) 305.07/136.68 g_flat(up(x_1)) -> up(g(x_1)) 305.07/136.68 h_flat(up(x_1)) -> up(h(x_1)) 305.07/136.68 down(a) -> up(f(a)) 305.07/136.68 down(f(f(x))) -> up(g(x)) 305.07/136.68 down(g(g(x))) -> up(h(x)) 305.07/136.68 down(h(h(x))) -> up(c) 305.07/136.68 305.07/136.68 The TRS R 2 is 305.07/136.68 top(up(x)) -> top(down(x)) 305.07/136.68 305.07/136.68 The signature Sigma is {top_1} 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (14) 305.07/136.68 Obligation: 305.07/136.68 Q restricted rewrite system: 305.07/136.68 The TRS R consists of the following rules: 305.07/136.68 305.07/136.68 down(a) -> up(f(a)) 305.07/136.68 down(f(f(x))) -> up(g(x)) 305.07/136.68 down(g(g(x))) -> up(h(x)) 305.07/136.68 down(h(h(x))) -> up(c) 305.07/136.68 top(up(x)) -> top(down(x)) 305.07/136.68 down(f(a)) -> f_flat(down(a)) 305.07/136.68 down(f(g(y5))) -> f_flat(down(g(y5))) 305.07/136.68 down(f(h(y6))) -> f_flat(down(h(y6))) 305.07/136.68 down(f(c)) -> f_flat(down(c)) 305.07/136.68 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 305.07/136.68 down(g(a)) -> g_flat(down(a)) 305.07/136.68 down(g(f(y8))) -> g_flat(down(f(y8))) 305.07/136.68 down(g(h(y10))) -> g_flat(down(h(y10))) 305.07/136.68 down(g(c)) -> g_flat(down(c)) 305.07/136.68 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 305.07/136.68 down(h(a)) -> h_flat(down(a)) 305.07/136.68 down(h(f(y12))) -> h_flat(down(f(y12))) 305.07/136.68 down(h(g(y13))) -> h_flat(down(g(y13))) 305.07/136.68 down(h(c)) -> h_flat(down(c)) 305.07/136.68 down(h(fresh_constant)) -> h_flat(down(fresh_constant)) 305.07/136.68 f_flat(up(x_1)) -> up(f(x_1)) 305.07/136.68 g_flat(up(x_1)) -> up(g(x_1)) 305.07/136.68 h_flat(up(x_1)) -> up(h(x_1)) 305.07/136.68 305.07/136.68 The set Q consists of the following terms: 305.07/136.68 305.07/136.68 down(a) 305.07/136.68 down(f(f(x0))) 305.07/136.68 down(g(g(x0))) 305.07/136.68 down(h(h(x0))) 305.07/136.68 top(up(x0)) 305.07/136.68 down(f(a)) 305.07/136.68 down(f(g(x0))) 305.07/136.68 down(f(h(x0))) 305.07/136.68 down(f(c)) 305.07/136.68 down(f(fresh_constant)) 305.07/136.68 down(g(a)) 305.07/136.68 down(g(f(x0))) 305.07/136.68 down(g(h(x0))) 305.07/136.68 down(g(c)) 305.07/136.68 down(g(fresh_constant)) 305.07/136.68 down(h(a)) 305.07/136.68 down(h(f(x0))) 305.07/136.68 down(h(g(x0))) 305.07/136.68 down(h(c)) 305.07/136.68 down(h(fresh_constant)) 305.07/136.68 f_flat(up(x0)) 305.07/136.68 g_flat(up(x0)) 305.07/136.68 h_flat(up(x0)) 305.07/136.68 305.07/136.68 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (15) DependencyPairsProof (EQUIVALENT) 305.07/136.68 Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (16) 305.07/136.68 Obligation: 305.07/136.68 Q DP problem: 305.07/136.68 The TRS P consists of the following rules: 305.07/136.68 305.07/136.68 TOP(up(x)) -> TOP(down(x)) 305.07/136.68 TOP(up(x)) -> DOWN(x) 305.07/136.68 DOWN(f(a)) -> F_FLAT(down(a)) 305.07/136.68 DOWN(f(a)) -> DOWN(a) 305.07/136.68 DOWN(f(g(y5))) -> F_FLAT(down(g(y5))) 305.07/136.68 DOWN(f(g(y5))) -> DOWN(g(y5)) 305.07/136.68 DOWN(f(h(y6))) -> F_FLAT(down(h(y6))) 305.07/136.68 DOWN(f(h(y6))) -> DOWN(h(y6)) 305.07/136.68 DOWN(f(c)) -> F_FLAT(down(c)) 305.07/136.68 DOWN(f(c)) -> DOWN(c) 305.07/136.68 DOWN(f(fresh_constant)) -> F_FLAT(down(fresh_constant)) 305.07/136.68 DOWN(f(fresh_constant)) -> DOWN(fresh_constant) 305.07/136.68 DOWN(g(a)) -> G_FLAT(down(a)) 305.07/136.68 DOWN(g(a)) -> DOWN(a) 305.07/136.68 DOWN(g(f(y8))) -> G_FLAT(down(f(y8))) 305.07/136.68 DOWN(g(f(y8))) -> DOWN(f(y8)) 305.07/136.68 DOWN(g(h(y10))) -> G_FLAT(down(h(y10))) 305.07/136.68 DOWN(g(h(y10))) -> DOWN(h(y10)) 305.07/136.68 DOWN(g(c)) -> G_FLAT(down(c)) 305.07/136.68 DOWN(g(c)) -> DOWN(c) 305.07/136.68 DOWN(g(fresh_constant)) -> G_FLAT(down(fresh_constant)) 305.07/136.68 DOWN(g(fresh_constant)) -> DOWN(fresh_constant) 305.07/136.68 DOWN(h(a)) -> H_FLAT(down(a)) 305.07/136.68 DOWN(h(a)) -> DOWN(a) 305.07/136.68 DOWN(h(f(y12))) -> H_FLAT(down(f(y12))) 305.07/136.68 DOWN(h(f(y12))) -> DOWN(f(y12)) 305.07/136.68 DOWN(h(g(y13))) -> H_FLAT(down(g(y13))) 305.07/136.68 DOWN(h(g(y13))) -> DOWN(g(y13)) 305.07/136.68 DOWN(h(c)) -> H_FLAT(down(c)) 305.07/136.68 DOWN(h(c)) -> DOWN(c) 305.07/136.68 DOWN(h(fresh_constant)) -> H_FLAT(down(fresh_constant)) 305.07/136.68 DOWN(h(fresh_constant)) -> DOWN(fresh_constant) 305.07/136.68 305.07/136.68 The TRS R consists of the following rules: 305.07/136.68 305.07/136.68 down(a) -> up(f(a)) 305.07/136.68 down(f(f(x))) -> up(g(x)) 305.07/136.68 down(g(g(x))) -> up(h(x)) 305.07/136.68 down(h(h(x))) -> up(c) 305.07/136.68 top(up(x)) -> top(down(x)) 305.07/136.68 down(f(a)) -> f_flat(down(a)) 305.07/136.68 down(f(g(y5))) -> f_flat(down(g(y5))) 305.07/136.68 down(f(h(y6))) -> f_flat(down(h(y6))) 305.07/136.68 down(f(c)) -> f_flat(down(c)) 305.07/136.68 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 305.07/136.68 down(g(a)) -> g_flat(down(a)) 305.07/136.68 down(g(f(y8))) -> g_flat(down(f(y8))) 305.07/136.68 down(g(h(y10))) -> g_flat(down(h(y10))) 305.07/136.68 down(g(c)) -> g_flat(down(c)) 305.07/136.68 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 305.07/136.68 down(h(a)) -> h_flat(down(a)) 305.07/136.68 down(h(f(y12))) -> h_flat(down(f(y12))) 305.07/136.68 down(h(g(y13))) -> h_flat(down(g(y13))) 305.07/136.68 down(h(c)) -> h_flat(down(c)) 305.07/136.68 down(h(fresh_constant)) -> h_flat(down(fresh_constant)) 305.07/136.68 f_flat(up(x_1)) -> up(f(x_1)) 305.07/136.68 g_flat(up(x_1)) -> up(g(x_1)) 305.07/136.68 h_flat(up(x_1)) -> up(h(x_1)) 305.07/136.68 305.07/136.68 The set Q consists of the following terms: 305.07/136.68 305.07/136.68 down(a) 305.07/136.68 down(f(f(x0))) 305.07/136.68 down(g(g(x0))) 305.07/136.68 down(h(h(x0))) 305.07/136.68 top(up(x0)) 305.07/136.68 down(f(a)) 305.07/136.68 down(f(g(x0))) 305.07/136.68 down(f(h(x0))) 305.07/136.68 down(f(c)) 305.07/136.68 down(f(fresh_constant)) 305.07/136.68 down(g(a)) 305.07/136.68 down(g(f(x0))) 305.07/136.68 down(g(h(x0))) 305.07/136.68 down(g(c)) 305.07/136.68 down(g(fresh_constant)) 305.07/136.68 down(h(a)) 305.07/136.68 down(h(f(x0))) 305.07/136.68 down(h(g(x0))) 305.07/136.68 down(h(c)) 305.07/136.68 down(h(fresh_constant)) 305.07/136.68 f_flat(up(x0)) 305.07/136.68 g_flat(up(x0)) 305.07/136.68 h_flat(up(x0)) 305.07/136.68 305.07/136.68 We have to consider all minimal (P,Q,R)-chains. 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (17) DependencyGraphProof (EQUIVALENT) 305.07/136.68 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 25 less nodes. 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (18) 305.07/136.68 Complex Obligation (AND) 305.07/136.68 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (19) 305.07/136.68 Obligation: 305.07/136.68 Q DP problem: 305.07/136.68 The TRS P consists of the following rules: 305.07/136.68 305.07/136.68 DOWN(f(g(y5))) -> DOWN(g(y5)) 305.07/136.68 DOWN(g(f(y8))) -> DOWN(f(y8)) 305.07/136.68 DOWN(f(h(y6))) -> DOWN(h(y6)) 305.07/136.68 DOWN(h(f(y12))) -> DOWN(f(y12)) 305.07/136.68 DOWN(h(g(y13))) -> DOWN(g(y13)) 305.07/136.68 DOWN(g(h(y10))) -> DOWN(h(y10)) 305.07/136.68 305.07/136.68 The TRS R consists of the following rules: 305.07/136.68 305.07/136.68 down(a) -> up(f(a)) 305.07/136.68 down(f(f(x))) -> up(g(x)) 305.07/136.68 down(g(g(x))) -> up(h(x)) 305.07/136.68 down(h(h(x))) -> up(c) 305.07/136.68 top(up(x)) -> top(down(x)) 305.07/136.68 down(f(a)) -> f_flat(down(a)) 305.07/136.68 down(f(g(y5))) -> f_flat(down(g(y5))) 305.07/136.68 down(f(h(y6))) -> f_flat(down(h(y6))) 305.07/136.68 down(f(c)) -> f_flat(down(c)) 305.07/136.68 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 305.07/136.68 down(g(a)) -> g_flat(down(a)) 305.07/136.68 down(g(f(y8))) -> g_flat(down(f(y8))) 305.07/136.68 down(g(h(y10))) -> g_flat(down(h(y10))) 305.07/136.68 down(g(c)) -> g_flat(down(c)) 305.07/136.68 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 305.07/136.68 down(h(a)) -> h_flat(down(a)) 305.07/136.68 down(h(f(y12))) -> h_flat(down(f(y12))) 305.07/136.68 down(h(g(y13))) -> h_flat(down(g(y13))) 305.07/136.68 down(h(c)) -> h_flat(down(c)) 305.07/136.68 down(h(fresh_constant)) -> h_flat(down(fresh_constant)) 305.07/136.68 f_flat(up(x_1)) -> up(f(x_1)) 305.07/136.68 g_flat(up(x_1)) -> up(g(x_1)) 305.07/136.68 h_flat(up(x_1)) -> up(h(x_1)) 305.07/136.68 305.07/136.68 The set Q consists of the following terms: 305.07/136.68 305.07/136.68 down(a) 305.07/136.68 down(f(f(x0))) 305.07/136.68 down(g(g(x0))) 305.07/136.68 down(h(h(x0))) 305.07/136.68 top(up(x0)) 305.07/136.68 down(f(a)) 305.07/136.68 down(f(g(x0))) 305.07/136.68 down(f(h(x0))) 305.07/136.68 down(f(c)) 305.07/136.68 down(f(fresh_constant)) 305.07/136.68 down(g(a)) 305.07/136.68 down(g(f(x0))) 305.07/136.68 down(g(h(x0))) 305.07/136.68 down(g(c)) 305.07/136.68 down(g(fresh_constant)) 305.07/136.68 down(h(a)) 305.07/136.68 down(h(f(x0))) 305.07/136.68 down(h(g(x0))) 305.07/136.68 down(h(c)) 305.07/136.68 down(h(fresh_constant)) 305.07/136.68 f_flat(up(x0)) 305.07/136.68 g_flat(up(x0)) 305.07/136.68 h_flat(up(x0)) 305.07/136.68 305.07/136.68 We have to consider all minimal (P,Q,R)-chains. 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (20) UsableRulesProof (EQUIVALENT) 305.07/136.68 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (21) 305.07/136.68 Obligation: 305.07/136.68 Q DP problem: 305.07/136.68 The TRS P consists of the following rules: 305.07/136.68 305.07/136.68 DOWN(f(g(y5))) -> DOWN(g(y5)) 305.07/136.68 DOWN(g(f(y8))) -> DOWN(f(y8)) 305.07/136.68 DOWN(f(h(y6))) -> DOWN(h(y6)) 305.07/136.68 DOWN(h(f(y12))) -> DOWN(f(y12)) 305.07/136.68 DOWN(h(g(y13))) -> DOWN(g(y13)) 305.07/136.68 DOWN(g(h(y10))) -> DOWN(h(y10)) 305.07/136.68 305.07/136.68 R is empty. 305.07/136.68 The set Q consists of the following terms: 305.07/136.68 305.07/136.68 down(a) 305.07/136.68 down(f(f(x0))) 305.07/136.68 down(g(g(x0))) 305.07/136.68 down(h(h(x0))) 305.07/136.68 top(up(x0)) 305.07/136.68 down(f(a)) 305.07/136.68 down(f(g(x0))) 305.07/136.68 down(f(h(x0))) 305.07/136.68 down(f(c)) 305.07/136.68 down(f(fresh_constant)) 305.07/136.68 down(g(a)) 305.07/136.68 down(g(f(x0))) 305.07/136.68 down(g(h(x0))) 305.07/136.68 down(g(c)) 305.07/136.68 down(g(fresh_constant)) 305.07/136.68 down(h(a)) 305.07/136.68 down(h(f(x0))) 305.07/136.68 down(h(g(x0))) 305.07/136.68 down(h(c)) 305.07/136.68 down(h(fresh_constant)) 305.07/136.68 f_flat(up(x0)) 305.07/136.68 g_flat(up(x0)) 305.07/136.68 h_flat(up(x0)) 305.07/136.68 305.07/136.68 We have to consider all minimal (P,Q,R)-chains. 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (22) QReductionProof (EQUIVALENT) 305.07/136.68 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 305.07/136.68 305.07/136.68 down(a) 305.07/136.68 down(f(f(x0))) 305.07/136.68 down(g(g(x0))) 305.07/136.68 down(h(h(x0))) 305.07/136.68 top(up(x0)) 305.07/136.68 down(f(a)) 305.07/136.68 down(f(g(x0))) 305.07/136.68 down(f(h(x0))) 305.07/136.68 down(f(c)) 305.07/136.68 down(f(fresh_constant)) 305.07/136.68 down(g(a)) 305.07/136.68 down(g(f(x0))) 305.07/136.68 down(g(h(x0))) 305.07/136.68 down(g(c)) 305.07/136.68 down(g(fresh_constant)) 305.07/136.68 down(h(a)) 305.07/136.68 down(h(f(x0))) 305.07/136.68 down(h(g(x0))) 305.07/136.68 down(h(c)) 305.07/136.68 down(h(fresh_constant)) 305.07/136.68 f_flat(up(x0)) 305.07/136.68 g_flat(up(x0)) 305.07/136.68 h_flat(up(x0)) 305.07/136.68 305.07/136.68 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (23) 305.07/136.68 Obligation: 305.07/136.68 Q DP problem: 305.07/136.68 The TRS P consists of the following rules: 305.07/136.68 305.07/136.68 DOWN(f(g(y5))) -> DOWN(g(y5)) 305.07/136.68 DOWN(g(f(y8))) -> DOWN(f(y8)) 305.07/136.68 DOWN(f(h(y6))) -> DOWN(h(y6)) 305.07/136.68 DOWN(h(f(y12))) -> DOWN(f(y12)) 305.07/136.68 DOWN(h(g(y13))) -> DOWN(g(y13)) 305.07/136.68 DOWN(g(h(y10))) -> DOWN(h(y10)) 305.07/136.68 305.07/136.68 R is empty. 305.07/136.68 Q is empty. 305.07/136.68 We have to consider all minimal (P,Q,R)-chains. 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (24) QDPSizeChangeProof (EQUIVALENT) 305.07/136.68 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. 305.07/136.68 305.07/136.68 From the DPs we obtained the following set of size-change graphs: 305.07/136.68 *DOWN(g(f(y8))) -> DOWN(f(y8)) 305.07/136.68 The graph contains the following edges 1 > 1 305.07/136.68 305.07/136.68 305.07/136.68 *DOWN(g(h(y10))) -> DOWN(h(y10)) 305.07/136.68 The graph contains the following edges 1 > 1 305.07/136.68 305.07/136.68 305.07/136.68 *DOWN(h(f(y12))) -> DOWN(f(y12)) 305.07/136.68 The graph contains the following edges 1 > 1 305.07/136.68 305.07/136.68 305.07/136.68 *DOWN(f(g(y5))) -> DOWN(g(y5)) 305.07/136.68 The graph contains the following edges 1 > 1 305.07/136.68 305.07/136.68 305.07/136.68 *DOWN(f(h(y6))) -> DOWN(h(y6)) 305.07/136.68 The graph contains the following edges 1 > 1 305.07/136.68 305.07/136.68 305.07/136.68 *DOWN(h(g(y13))) -> DOWN(g(y13)) 305.07/136.68 The graph contains the following edges 1 > 1 305.07/136.68 305.07/136.68 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (25) 305.07/136.68 YES 305.07/136.68 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (26) 305.07/136.68 Obligation: 305.07/136.68 Q DP problem: 305.07/136.68 The TRS P consists of the following rules: 305.07/136.68 305.07/136.68 TOP(up(x)) -> TOP(down(x)) 305.07/136.68 305.07/136.68 The TRS R consists of the following rules: 305.07/136.68 305.07/136.68 down(a) -> up(f(a)) 305.07/136.68 down(f(f(x))) -> up(g(x)) 305.07/136.68 down(g(g(x))) -> up(h(x)) 305.07/136.68 down(h(h(x))) -> up(c) 305.07/136.68 top(up(x)) -> top(down(x)) 305.07/136.68 down(f(a)) -> f_flat(down(a)) 305.07/136.68 down(f(g(y5))) -> f_flat(down(g(y5))) 305.07/136.68 down(f(h(y6))) -> f_flat(down(h(y6))) 305.07/136.68 down(f(c)) -> f_flat(down(c)) 305.07/136.68 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 305.07/136.68 down(g(a)) -> g_flat(down(a)) 305.07/136.68 down(g(f(y8))) -> g_flat(down(f(y8))) 305.07/136.68 down(g(h(y10))) -> g_flat(down(h(y10))) 305.07/136.68 down(g(c)) -> g_flat(down(c)) 305.07/136.68 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 305.07/136.68 down(h(a)) -> h_flat(down(a)) 305.07/136.68 down(h(f(y12))) -> h_flat(down(f(y12))) 305.07/136.68 down(h(g(y13))) -> h_flat(down(g(y13))) 305.07/136.68 down(h(c)) -> h_flat(down(c)) 305.07/136.68 down(h(fresh_constant)) -> h_flat(down(fresh_constant)) 305.07/136.68 f_flat(up(x_1)) -> up(f(x_1)) 305.07/136.68 g_flat(up(x_1)) -> up(g(x_1)) 305.07/136.68 h_flat(up(x_1)) -> up(h(x_1)) 305.07/136.68 305.07/136.68 The set Q consists of the following terms: 305.07/136.68 305.07/136.68 down(a) 305.07/136.68 down(f(f(x0))) 305.07/136.68 down(g(g(x0))) 305.07/136.68 down(h(h(x0))) 305.07/136.68 top(up(x0)) 305.07/136.68 down(f(a)) 305.07/136.68 down(f(g(x0))) 305.07/136.68 down(f(h(x0))) 305.07/136.68 down(f(c)) 305.07/136.68 down(f(fresh_constant)) 305.07/136.68 down(g(a)) 305.07/136.68 down(g(f(x0))) 305.07/136.68 down(g(h(x0))) 305.07/136.68 down(g(c)) 305.07/136.68 down(g(fresh_constant)) 305.07/136.68 down(h(a)) 305.07/136.68 down(h(f(x0))) 305.07/136.68 down(h(g(x0))) 305.07/136.68 down(h(c)) 305.07/136.68 down(h(fresh_constant)) 305.07/136.68 f_flat(up(x0)) 305.07/136.68 g_flat(up(x0)) 305.07/136.68 h_flat(up(x0)) 305.07/136.68 305.07/136.68 We have to consider all minimal (P,Q,R)-chains. 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (27) UsableRulesProof (EQUIVALENT) 305.07/136.68 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (28) 305.07/136.68 Obligation: 305.07/136.68 Q DP problem: 305.07/136.68 The TRS P consists of the following rules: 305.07/136.68 305.07/136.68 TOP(up(x)) -> TOP(down(x)) 305.07/136.68 305.07/136.68 The TRS R consists of the following rules: 305.07/136.68 305.07/136.68 down(a) -> up(f(a)) 305.07/136.68 down(f(f(x))) -> up(g(x)) 305.07/136.68 down(g(g(x))) -> up(h(x)) 305.07/136.68 down(h(h(x))) -> up(c) 305.07/136.68 down(f(a)) -> f_flat(down(a)) 305.07/136.68 down(f(g(y5))) -> f_flat(down(g(y5))) 305.07/136.68 down(f(h(y6))) -> f_flat(down(h(y6))) 305.07/136.68 down(f(c)) -> f_flat(down(c)) 305.07/136.68 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 305.07/136.68 down(g(a)) -> g_flat(down(a)) 305.07/136.68 down(g(f(y8))) -> g_flat(down(f(y8))) 305.07/136.68 down(g(h(y10))) -> g_flat(down(h(y10))) 305.07/136.68 down(g(c)) -> g_flat(down(c)) 305.07/136.68 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 305.07/136.68 down(h(a)) -> h_flat(down(a)) 305.07/136.68 down(h(f(y12))) -> h_flat(down(f(y12))) 305.07/136.68 down(h(g(y13))) -> h_flat(down(g(y13))) 305.07/136.68 down(h(c)) -> h_flat(down(c)) 305.07/136.68 down(h(fresh_constant)) -> h_flat(down(fresh_constant)) 305.07/136.68 h_flat(up(x_1)) -> up(h(x_1)) 305.07/136.68 g_flat(up(x_1)) -> up(g(x_1)) 305.07/136.68 f_flat(up(x_1)) -> up(f(x_1)) 305.07/136.68 305.07/136.68 The set Q consists of the following terms: 305.07/136.68 305.07/136.68 down(a) 305.07/136.68 down(f(f(x0))) 305.07/136.68 down(g(g(x0))) 305.07/136.68 down(h(h(x0))) 305.07/136.68 top(up(x0)) 305.07/136.68 down(f(a)) 305.07/136.68 down(f(g(x0))) 305.07/136.68 down(f(h(x0))) 305.07/136.68 down(f(c)) 305.07/136.68 down(f(fresh_constant)) 305.07/136.68 down(g(a)) 305.07/136.68 down(g(f(x0))) 305.07/136.68 down(g(h(x0))) 305.07/136.68 down(g(c)) 305.07/136.68 down(g(fresh_constant)) 305.07/136.68 down(h(a)) 305.07/136.68 down(h(f(x0))) 305.07/136.68 down(h(g(x0))) 305.07/136.68 down(h(c)) 305.07/136.68 down(h(fresh_constant)) 305.07/136.68 f_flat(up(x0)) 305.07/136.68 g_flat(up(x0)) 305.07/136.68 h_flat(up(x0)) 305.07/136.68 305.07/136.68 We have to consider all minimal (P,Q,R)-chains. 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (29) QReductionProof (EQUIVALENT) 305.07/136.68 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 305.07/136.68 305.07/136.68 top(up(x0)) 305.07/136.68 305.07/136.68 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (30) 305.07/136.68 Obligation: 305.07/136.68 Q DP problem: 305.07/136.68 The TRS P consists of the following rules: 305.07/136.68 305.07/136.68 TOP(up(x)) -> TOP(down(x)) 305.07/136.68 305.07/136.68 The TRS R consists of the following rules: 305.07/136.68 305.07/136.68 down(a) -> up(f(a)) 305.07/136.68 down(f(f(x))) -> up(g(x)) 305.07/136.68 down(g(g(x))) -> up(h(x)) 305.07/136.68 down(h(h(x))) -> up(c) 305.07/136.68 down(f(a)) -> f_flat(down(a)) 305.07/136.68 down(f(g(y5))) -> f_flat(down(g(y5))) 305.07/136.68 down(f(h(y6))) -> f_flat(down(h(y6))) 305.07/136.68 down(f(c)) -> f_flat(down(c)) 305.07/136.68 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 305.07/136.68 down(g(a)) -> g_flat(down(a)) 305.07/136.68 down(g(f(y8))) -> g_flat(down(f(y8))) 305.07/136.68 down(g(h(y10))) -> g_flat(down(h(y10))) 305.07/136.68 down(g(c)) -> g_flat(down(c)) 305.07/136.68 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 305.07/136.68 down(h(a)) -> h_flat(down(a)) 305.07/136.68 down(h(f(y12))) -> h_flat(down(f(y12))) 305.07/136.68 down(h(g(y13))) -> h_flat(down(g(y13))) 305.07/136.68 down(h(c)) -> h_flat(down(c)) 305.07/136.68 down(h(fresh_constant)) -> h_flat(down(fresh_constant)) 305.07/136.68 h_flat(up(x_1)) -> up(h(x_1)) 305.07/136.68 g_flat(up(x_1)) -> up(g(x_1)) 305.07/136.68 f_flat(up(x_1)) -> up(f(x_1)) 305.07/136.68 305.07/136.68 The set Q consists of the following terms: 305.07/136.68 305.07/136.68 down(a) 305.07/136.68 down(f(f(x0))) 305.07/136.68 down(g(g(x0))) 305.07/136.68 down(h(h(x0))) 305.07/136.68 down(f(a)) 305.07/136.68 down(f(g(x0))) 305.07/136.68 down(f(h(x0))) 305.07/136.68 down(f(c)) 305.07/136.68 down(f(fresh_constant)) 305.07/136.68 down(g(a)) 305.07/136.68 down(g(f(x0))) 305.07/136.68 down(g(h(x0))) 305.07/136.68 down(g(c)) 305.07/136.68 down(g(fresh_constant)) 305.07/136.68 down(h(a)) 305.07/136.68 down(h(f(x0))) 305.07/136.68 down(h(g(x0))) 305.07/136.68 down(h(c)) 305.07/136.68 down(h(fresh_constant)) 305.07/136.68 f_flat(up(x0)) 305.07/136.68 g_flat(up(x0)) 305.07/136.68 h_flat(up(x0)) 305.07/136.68 305.07/136.68 We have to consider all minimal (P,Q,R)-chains. 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (31) TransformationProof (EQUIVALENT) 305.07/136.68 By narrowing [LPAR04] the rule TOP(up(x)) -> TOP(down(x)) at position [0] we obtained the following new rules [LPAR04]: 305.07/136.68 305.07/136.68 (TOP(up(a)) -> TOP(up(f(a))),TOP(up(a)) -> TOP(up(f(a)))) 305.07/136.68 (TOP(up(f(f(x0)))) -> TOP(up(g(x0))),TOP(up(f(f(x0)))) -> TOP(up(g(x0)))) 305.07/136.68 (TOP(up(g(g(x0)))) -> TOP(up(h(x0))),TOP(up(g(g(x0)))) -> TOP(up(h(x0)))) 305.07/136.68 (TOP(up(h(h(x0)))) -> TOP(up(c)),TOP(up(h(h(x0)))) -> TOP(up(c))) 305.07/136.68 (TOP(up(f(a))) -> TOP(f_flat(down(a))),TOP(up(f(a))) -> TOP(f_flat(down(a)))) 305.07/136.68 (TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))),TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0))))) 305.07/136.68 (TOP(up(f(h(x0)))) -> TOP(f_flat(down(h(x0)))),TOP(up(f(h(x0)))) -> TOP(f_flat(down(h(x0))))) 305.07/136.68 (TOP(up(f(c))) -> TOP(f_flat(down(c))),TOP(up(f(c))) -> TOP(f_flat(down(c)))) 305.07/136.68 (TOP(up(f(fresh_constant))) -> TOP(f_flat(down(fresh_constant))),TOP(up(f(fresh_constant))) -> TOP(f_flat(down(fresh_constant)))) 305.07/136.68 (TOP(up(g(a))) -> TOP(g_flat(down(a))),TOP(up(g(a))) -> TOP(g_flat(down(a)))) 305.07/136.68 (TOP(up(g(f(x0)))) -> TOP(g_flat(down(f(x0)))),TOP(up(g(f(x0)))) -> TOP(g_flat(down(f(x0))))) 305.07/136.68 (TOP(up(g(h(x0)))) -> TOP(g_flat(down(h(x0)))),TOP(up(g(h(x0)))) -> TOP(g_flat(down(h(x0))))) 305.07/136.68 (TOP(up(g(c))) -> TOP(g_flat(down(c))),TOP(up(g(c))) -> TOP(g_flat(down(c)))) 305.07/136.68 (TOP(up(g(fresh_constant))) -> TOP(g_flat(down(fresh_constant))),TOP(up(g(fresh_constant))) -> TOP(g_flat(down(fresh_constant)))) 305.07/136.68 (TOP(up(h(a))) -> TOP(h_flat(down(a))),TOP(up(h(a))) -> TOP(h_flat(down(a)))) 305.07/136.68 (TOP(up(h(f(x0)))) -> TOP(h_flat(down(f(x0)))),TOP(up(h(f(x0)))) -> TOP(h_flat(down(f(x0))))) 305.07/136.68 (TOP(up(h(g(x0)))) -> TOP(h_flat(down(g(x0)))),TOP(up(h(g(x0)))) -> TOP(h_flat(down(g(x0))))) 305.07/136.68 (TOP(up(h(c))) -> TOP(h_flat(down(c))),TOP(up(h(c))) -> TOP(h_flat(down(c)))) 305.07/136.68 (TOP(up(h(fresh_constant))) -> TOP(h_flat(down(fresh_constant))),TOP(up(h(fresh_constant))) -> TOP(h_flat(down(fresh_constant)))) 305.07/136.68 305.07/136.68 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (32) 305.07/136.68 Obligation: 305.07/136.68 Q DP problem: 305.07/136.68 The TRS P consists of the following rules: 305.07/136.68 305.07/136.68 TOP(up(a)) -> TOP(up(f(a))) 305.07/136.68 TOP(up(f(f(x0)))) -> TOP(up(g(x0))) 305.07/136.68 TOP(up(g(g(x0)))) -> TOP(up(h(x0))) 305.07/136.68 TOP(up(h(h(x0)))) -> TOP(up(c)) 305.07/136.68 TOP(up(f(a))) -> TOP(f_flat(down(a))) 305.07/136.68 TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) 305.07/136.68 TOP(up(f(h(x0)))) -> TOP(f_flat(down(h(x0)))) 305.07/136.68 TOP(up(f(c))) -> TOP(f_flat(down(c))) 305.07/136.68 TOP(up(f(fresh_constant))) -> TOP(f_flat(down(fresh_constant))) 305.07/136.68 TOP(up(g(a))) -> TOP(g_flat(down(a))) 305.07/136.68 TOP(up(g(f(x0)))) -> TOP(g_flat(down(f(x0)))) 305.07/136.68 TOP(up(g(h(x0)))) -> TOP(g_flat(down(h(x0)))) 305.07/136.68 TOP(up(g(c))) -> TOP(g_flat(down(c))) 305.07/136.68 TOP(up(g(fresh_constant))) -> TOP(g_flat(down(fresh_constant))) 305.07/136.68 TOP(up(h(a))) -> TOP(h_flat(down(a))) 305.07/136.68 TOP(up(h(f(x0)))) -> TOP(h_flat(down(f(x0)))) 305.07/136.68 TOP(up(h(g(x0)))) -> TOP(h_flat(down(g(x0)))) 305.07/136.68 TOP(up(h(c))) -> TOP(h_flat(down(c))) 305.07/136.68 TOP(up(h(fresh_constant))) -> TOP(h_flat(down(fresh_constant))) 305.07/136.68 305.07/136.68 The TRS R consists of the following rules: 305.07/136.68 305.07/136.68 down(a) -> up(f(a)) 305.07/136.68 down(f(f(x))) -> up(g(x)) 305.07/136.68 down(g(g(x))) -> up(h(x)) 305.07/136.68 down(h(h(x))) -> up(c) 305.07/136.68 down(f(a)) -> f_flat(down(a)) 305.07/136.68 down(f(g(y5))) -> f_flat(down(g(y5))) 305.07/136.68 down(f(h(y6))) -> f_flat(down(h(y6))) 305.07/136.68 down(f(c)) -> f_flat(down(c)) 305.07/136.68 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 305.07/136.68 down(g(a)) -> g_flat(down(a)) 305.07/136.68 down(g(f(y8))) -> g_flat(down(f(y8))) 305.07/136.68 down(g(h(y10))) -> g_flat(down(h(y10))) 305.07/136.68 down(g(c)) -> g_flat(down(c)) 305.07/136.68 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 305.07/136.68 down(h(a)) -> h_flat(down(a)) 305.07/136.68 down(h(f(y12))) -> h_flat(down(f(y12))) 305.07/136.68 down(h(g(y13))) -> h_flat(down(g(y13))) 305.07/136.68 down(h(c)) -> h_flat(down(c)) 305.07/136.68 down(h(fresh_constant)) -> h_flat(down(fresh_constant)) 305.07/136.68 h_flat(up(x_1)) -> up(h(x_1)) 305.07/136.68 g_flat(up(x_1)) -> up(g(x_1)) 305.07/136.68 f_flat(up(x_1)) -> up(f(x_1)) 305.07/136.68 305.07/136.68 The set Q consists of the following terms: 305.07/136.68 305.07/136.68 down(a) 305.07/136.68 down(f(f(x0))) 305.07/136.68 down(g(g(x0))) 305.07/136.68 down(h(h(x0))) 305.07/136.68 down(f(a)) 305.07/136.68 down(f(g(x0))) 305.07/136.68 down(f(h(x0))) 305.07/136.68 down(f(c)) 305.07/136.68 down(f(fresh_constant)) 305.07/136.68 down(g(a)) 305.07/136.68 down(g(f(x0))) 305.07/136.68 down(g(h(x0))) 305.07/136.68 down(g(c)) 305.07/136.68 down(g(fresh_constant)) 305.07/136.68 down(h(a)) 305.07/136.68 down(h(f(x0))) 305.07/136.68 down(h(g(x0))) 305.07/136.68 down(h(c)) 305.07/136.68 down(h(fresh_constant)) 305.07/136.68 f_flat(up(x0)) 305.07/136.68 g_flat(up(x0)) 305.07/136.68 h_flat(up(x0)) 305.07/136.68 305.07/136.68 We have to consider all minimal (P,Q,R)-chains. 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (33) DependencyGraphProof (EQUIVALENT) 305.07/136.68 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 8 less nodes. 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (34) 305.07/136.68 Obligation: 305.07/136.68 Q DP problem: 305.07/136.68 The TRS P consists of the following rules: 305.07/136.68 305.07/136.68 TOP(up(g(g(x0)))) -> TOP(up(h(x0))) 305.07/136.68 TOP(up(h(a))) -> TOP(h_flat(down(a))) 305.07/136.68 TOP(up(f(a))) -> TOP(f_flat(down(a))) 305.07/136.68 TOP(up(f(f(x0)))) -> TOP(up(g(x0))) 305.07/136.68 TOP(up(g(a))) -> TOP(g_flat(down(a))) 305.07/136.68 TOP(up(g(f(x0)))) -> TOP(g_flat(down(f(x0)))) 305.07/136.68 TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) 305.07/136.68 TOP(up(f(h(x0)))) -> TOP(f_flat(down(h(x0)))) 305.07/136.68 TOP(up(g(h(x0)))) -> TOP(g_flat(down(h(x0)))) 305.07/136.68 TOP(up(h(f(x0)))) -> TOP(h_flat(down(f(x0)))) 305.07/136.68 TOP(up(h(g(x0)))) -> TOP(h_flat(down(g(x0)))) 305.07/136.68 305.07/136.68 The TRS R consists of the following rules: 305.07/136.68 305.07/136.68 down(a) -> up(f(a)) 305.07/136.68 down(f(f(x))) -> up(g(x)) 305.07/136.68 down(g(g(x))) -> up(h(x)) 305.07/136.68 down(h(h(x))) -> up(c) 305.07/136.68 down(f(a)) -> f_flat(down(a)) 305.07/136.68 down(f(g(y5))) -> f_flat(down(g(y5))) 305.07/136.68 down(f(h(y6))) -> f_flat(down(h(y6))) 305.07/136.68 down(f(c)) -> f_flat(down(c)) 305.07/136.68 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 305.07/136.68 down(g(a)) -> g_flat(down(a)) 305.07/136.68 down(g(f(y8))) -> g_flat(down(f(y8))) 305.07/136.68 down(g(h(y10))) -> g_flat(down(h(y10))) 305.07/136.68 down(g(c)) -> g_flat(down(c)) 305.07/136.68 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 305.07/136.68 down(h(a)) -> h_flat(down(a)) 305.07/136.68 down(h(f(y12))) -> h_flat(down(f(y12))) 305.07/136.68 down(h(g(y13))) -> h_flat(down(g(y13))) 305.07/136.68 down(h(c)) -> h_flat(down(c)) 305.07/136.68 down(h(fresh_constant)) -> h_flat(down(fresh_constant)) 305.07/136.68 h_flat(up(x_1)) -> up(h(x_1)) 305.07/136.68 g_flat(up(x_1)) -> up(g(x_1)) 305.07/136.68 f_flat(up(x_1)) -> up(f(x_1)) 305.07/136.68 305.07/136.68 The set Q consists of the following terms: 305.07/136.68 305.07/136.68 down(a) 305.07/136.68 down(f(f(x0))) 305.07/136.68 down(g(g(x0))) 305.07/136.68 down(h(h(x0))) 305.07/136.68 down(f(a)) 305.07/136.68 down(f(g(x0))) 305.07/136.68 down(f(h(x0))) 305.07/136.68 down(f(c)) 305.07/136.68 down(f(fresh_constant)) 305.07/136.68 down(g(a)) 305.07/136.68 down(g(f(x0))) 305.07/136.68 down(g(h(x0))) 305.07/136.68 down(g(c)) 305.07/136.68 down(g(fresh_constant)) 305.07/136.68 down(h(a)) 305.07/136.68 down(h(f(x0))) 305.07/136.68 down(h(g(x0))) 305.07/136.68 down(h(c)) 305.07/136.68 down(h(fresh_constant)) 305.07/136.68 f_flat(up(x0)) 305.07/136.68 g_flat(up(x0)) 305.07/136.68 h_flat(up(x0)) 305.07/136.68 305.07/136.68 We have to consider all minimal (P,Q,R)-chains. 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (35) TransformationProof (EQUIVALENT) 305.07/136.68 By rewriting [LPAR04] the rule TOP(up(h(a))) -> TOP(h_flat(down(a))) at position [0,0] we obtained the following new rules [LPAR04]: 305.07/136.68 305.07/136.68 (TOP(up(h(a))) -> TOP(h_flat(up(f(a)))),TOP(up(h(a))) -> TOP(h_flat(up(f(a))))) 305.07/136.68 305.07/136.68 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (36) 305.07/136.68 Obligation: 305.07/136.68 Q DP problem: 305.07/136.68 The TRS P consists of the following rules: 305.07/136.68 305.07/136.68 TOP(up(g(g(x0)))) -> TOP(up(h(x0))) 305.07/136.68 TOP(up(f(a))) -> TOP(f_flat(down(a))) 305.07/136.68 TOP(up(f(f(x0)))) -> TOP(up(g(x0))) 305.07/136.68 TOP(up(g(a))) -> TOP(g_flat(down(a))) 305.07/136.68 TOP(up(g(f(x0)))) -> TOP(g_flat(down(f(x0)))) 305.07/136.68 TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) 305.07/136.68 TOP(up(f(h(x0)))) -> TOP(f_flat(down(h(x0)))) 305.07/136.68 TOP(up(g(h(x0)))) -> TOP(g_flat(down(h(x0)))) 305.07/136.68 TOP(up(h(f(x0)))) -> TOP(h_flat(down(f(x0)))) 305.07/136.68 TOP(up(h(g(x0)))) -> TOP(h_flat(down(g(x0)))) 305.07/136.68 TOP(up(h(a))) -> TOP(h_flat(up(f(a)))) 305.07/136.68 305.07/136.68 The TRS R consists of the following rules: 305.07/136.68 305.07/136.68 down(a) -> up(f(a)) 305.07/136.68 down(f(f(x))) -> up(g(x)) 305.07/136.68 down(g(g(x))) -> up(h(x)) 305.07/136.68 down(h(h(x))) -> up(c) 305.07/136.68 down(f(a)) -> f_flat(down(a)) 305.07/136.68 down(f(g(y5))) -> f_flat(down(g(y5))) 305.07/136.68 down(f(h(y6))) -> f_flat(down(h(y6))) 305.07/136.68 down(f(c)) -> f_flat(down(c)) 305.07/136.68 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 305.07/136.68 down(g(a)) -> g_flat(down(a)) 305.07/136.68 down(g(f(y8))) -> g_flat(down(f(y8))) 305.07/136.68 down(g(h(y10))) -> g_flat(down(h(y10))) 305.07/136.68 down(g(c)) -> g_flat(down(c)) 305.07/136.68 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 305.07/136.68 down(h(a)) -> h_flat(down(a)) 305.07/136.68 down(h(f(y12))) -> h_flat(down(f(y12))) 305.07/136.68 down(h(g(y13))) -> h_flat(down(g(y13))) 305.07/136.68 down(h(c)) -> h_flat(down(c)) 305.07/136.68 down(h(fresh_constant)) -> h_flat(down(fresh_constant)) 305.07/136.68 h_flat(up(x_1)) -> up(h(x_1)) 305.07/136.68 g_flat(up(x_1)) -> up(g(x_1)) 305.07/136.68 f_flat(up(x_1)) -> up(f(x_1)) 305.07/136.68 305.07/136.68 The set Q consists of the following terms: 305.07/136.68 305.07/136.68 down(a) 305.07/136.68 down(f(f(x0))) 305.07/136.68 down(g(g(x0))) 305.07/136.68 down(h(h(x0))) 305.07/136.68 down(f(a)) 305.07/136.68 down(f(g(x0))) 305.07/136.68 down(f(h(x0))) 305.07/136.68 down(f(c)) 305.07/136.68 down(f(fresh_constant)) 305.07/136.68 down(g(a)) 305.07/136.68 down(g(f(x0))) 305.07/136.68 down(g(h(x0))) 305.07/136.68 down(g(c)) 305.07/136.68 down(g(fresh_constant)) 305.07/136.68 down(h(a)) 305.07/136.68 down(h(f(x0))) 305.07/136.68 down(h(g(x0))) 305.07/136.68 down(h(c)) 305.07/136.68 down(h(fresh_constant)) 305.07/136.68 f_flat(up(x0)) 305.07/136.68 g_flat(up(x0)) 305.07/136.68 h_flat(up(x0)) 305.07/136.68 305.07/136.68 We have to consider all minimal (P,Q,R)-chains. 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (37) TransformationProof (EQUIVALENT) 305.07/136.68 By rewriting [LPAR04] the rule TOP(up(f(a))) -> TOP(f_flat(down(a))) at position [0,0] we obtained the following new rules [LPAR04]: 305.07/136.68 305.07/136.68 (TOP(up(f(a))) -> TOP(f_flat(up(f(a)))),TOP(up(f(a))) -> TOP(f_flat(up(f(a))))) 305.07/136.68 305.07/136.68 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (38) 305.07/136.68 Obligation: 305.07/136.68 Q DP problem: 305.07/136.68 The TRS P consists of the following rules: 305.07/136.68 305.07/136.68 TOP(up(g(g(x0)))) -> TOP(up(h(x0))) 305.07/136.68 TOP(up(f(f(x0)))) -> TOP(up(g(x0))) 305.07/136.68 TOP(up(g(a))) -> TOP(g_flat(down(a))) 305.07/136.68 TOP(up(g(f(x0)))) -> TOP(g_flat(down(f(x0)))) 305.07/136.68 TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) 305.07/136.68 TOP(up(f(h(x0)))) -> TOP(f_flat(down(h(x0)))) 305.07/136.68 TOP(up(g(h(x0)))) -> TOP(g_flat(down(h(x0)))) 305.07/136.68 TOP(up(h(f(x0)))) -> TOP(h_flat(down(f(x0)))) 305.07/136.68 TOP(up(h(g(x0)))) -> TOP(h_flat(down(g(x0)))) 305.07/136.68 TOP(up(h(a))) -> TOP(h_flat(up(f(a)))) 305.07/136.68 TOP(up(f(a))) -> TOP(f_flat(up(f(a)))) 305.07/136.68 305.07/136.68 The TRS R consists of the following rules: 305.07/136.68 305.07/136.68 down(a) -> up(f(a)) 305.07/136.68 down(f(f(x))) -> up(g(x)) 305.07/136.68 down(g(g(x))) -> up(h(x)) 305.07/136.68 down(h(h(x))) -> up(c) 305.07/136.68 down(f(a)) -> f_flat(down(a)) 305.07/136.68 down(f(g(y5))) -> f_flat(down(g(y5))) 305.07/136.68 down(f(h(y6))) -> f_flat(down(h(y6))) 305.07/136.68 down(f(c)) -> f_flat(down(c)) 305.07/136.68 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 305.07/136.68 down(g(a)) -> g_flat(down(a)) 305.07/136.68 down(g(f(y8))) -> g_flat(down(f(y8))) 305.07/136.68 down(g(h(y10))) -> g_flat(down(h(y10))) 305.07/136.68 down(g(c)) -> g_flat(down(c)) 305.07/136.68 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 305.07/136.68 down(h(a)) -> h_flat(down(a)) 305.07/136.68 down(h(f(y12))) -> h_flat(down(f(y12))) 305.07/136.68 down(h(g(y13))) -> h_flat(down(g(y13))) 305.07/136.68 down(h(c)) -> h_flat(down(c)) 305.07/136.68 down(h(fresh_constant)) -> h_flat(down(fresh_constant)) 305.07/136.68 h_flat(up(x_1)) -> up(h(x_1)) 305.07/136.68 g_flat(up(x_1)) -> up(g(x_1)) 305.07/136.68 f_flat(up(x_1)) -> up(f(x_1)) 305.07/136.68 305.07/136.68 The set Q consists of the following terms: 305.07/136.68 305.07/136.68 down(a) 305.07/136.68 down(f(f(x0))) 305.07/136.68 down(g(g(x0))) 305.07/136.68 down(h(h(x0))) 305.07/136.68 down(f(a)) 305.07/136.68 down(f(g(x0))) 305.07/136.68 down(f(h(x0))) 305.07/136.68 down(f(c)) 305.07/136.68 down(f(fresh_constant)) 305.07/136.68 down(g(a)) 305.07/136.68 down(g(f(x0))) 305.07/136.68 down(g(h(x0))) 305.07/136.68 down(g(c)) 305.07/136.68 down(g(fresh_constant)) 305.07/136.68 down(h(a)) 305.07/136.68 down(h(f(x0))) 305.07/136.68 down(h(g(x0))) 305.07/136.68 down(h(c)) 305.07/136.68 down(h(fresh_constant)) 305.07/136.68 f_flat(up(x0)) 305.07/136.68 g_flat(up(x0)) 305.07/136.68 h_flat(up(x0)) 305.07/136.68 305.07/136.68 We have to consider all minimal (P,Q,R)-chains. 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (39) TransformationProof (EQUIVALENT) 305.07/136.68 By rewriting [LPAR04] the rule TOP(up(g(a))) -> TOP(g_flat(down(a))) at position [0,0] we obtained the following new rules [LPAR04]: 305.07/136.68 305.07/136.68 (TOP(up(g(a))) -> TOP(g_flat(up(f(a)))),TOP(up(g(a))) -> TOP(g_flat(up(f(a))))) 305.07/136.68 305.07/136.68 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (40) 305.07/136.68 Obligation: 305.07/136.68 Q DP problem: 305.07/136.68 The TRS P consists of the following rules: 305.07/136.68 305.07/136.68 TOP(up(g(g(x0)))) -> TOP(up(h(x0))) 305.07/136.68 TOP(up(f(f(x0)))) -> TOP(up(g(x0))) 305.07/136.68 TOP(up(g(f(x0)))) -> TOP(g_flat(down(f(x0)))) 305.07/136.68 TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) 305.07/136.68 TOP(up(f(h(x0)))) -> TOP(f_flat(down(h(x0)))) 305.07/136.68 TOP(up(g(h(x0)))) -> TOP(g_flat(down(h(x0)))) 305.07/136.68 TOP(up(h(f(x0)))) -> TOP(h_flat(down(f(x0)))) 305.07/136.68 TOP(up(h(g(x0)))) -> TOP(h_flat(down(g(x0)))) 305.07/136.68 TOP(up(h(a))) -> TOP(h_flat(up(f(a)))) 305.07/136.68 TOP(up(f(a))) -> TOP(f_flat(up(f(a)))) 305.07/136.68 TOP(up(g(a))) -> TOP(g_flat(up(f(a)))) 305.07/136.68 305.07/136.68 The TRS R consists of the following rules: 305.07/136.68 305.07/136.68 down(a) -> up(f(a)) 305.07/136.68 down(f(f(x))) -> up(g(x)) 305.07/136.68 down(g(g(x))) -> up(h(x)) 305.07/136.68 down(h(h(x))) -> up(c) 305.07/136.68 down(f(a)) -> f_flat(down(a)) 305.07/136.68 down(f(g(y5))) -> f_flat(down(g(y5))) 305.07/136.68 down(f(h(y6))) -> f_flat(down(h(y6))) 305.07/136.68 down(f(c)) -> f_flat(down(c)) 305.07/136.68 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 305.07/136.68 down(g(a)) -> g_flat(down(a)) 305.07/136.68 down(g(f(y8))) -> g_flat(down(f(y8))) 305.07/136.68 down(g(h(y10))) -> g_flat(down(h(y10))) 305.07/136.68 down(g(c)) -> g_flat(down(c)) 305.07/136.68 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 305.07/136.68 down(h(a)) -> h_flat(down(a)) 305.07/136.68 down(h(f(y12))) -> h_flat(down(f(y12))) 305.07/136.68 down(h(g(y13))) -> h_flat(down(g(y13))) 305.07/136.68 down(h(c)) -> h_flat(down(c)) 305.07/136.68 down(h(fresh_constant)) -> h_flat(down(fresh_constant)) 305.07/136.68 h_flat(up(x_1)) -> up(h(x_1)) 305.07/136.68 g_flat(up(x_1)) -> up(g(x_1)) 305.07/136.68 f_flat(up(x_1)) -> up(f(x_1)) 305.07/136.68 305.07/136.68 The set Q consists of the following terms: 305.07/136.68 305.07/136.68 down(a) 305.07/136.68 down(f(f(x0))) 305.07/136.68 down(g(g(x0))) 305.07/136.68 down(h(h(x0))) 305.07/136.68 down(f(a)) 305.07/136.68 down(f(g(x0))) 305.07/136.68 down(f(h(x0))) 305.07/136.68 down(f(c)) 305.07/136.68 down(f(fresh_constant)) 305.07/136.68 down(g(a)) 305.07/136.68 down(g(f(x0))) 305.07/136.68 down(g(h(x0))) 305.07/136.68 down(g(c)) 305.07/136.68 down(g(fresh_constant)) 305.07/136.68 down(h(a)) 305.07/136.68 down(h(f(x0))) 305.07/136.68 down(h(g(x0))) 305.07/136.68 down(h(c)) 305.07/136.68 down(h(fresh_constant)) 305.07/136.68 f_flat(up(x0)) 305.07/136.68 g_flat(up(x0)) 305.07/136.68 h_flat(up(x0)) 305.07/136.68 305.07/136.68 We have to consider all minimal (P,Q,R)-chains. 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (41) TransformationProof (EQUIVALENT) 305.07/136.68 By rewriting [LPAR04] the rule TOP(up(h(a))) -> TOP(h_flat(up(f(a)))) at position [0] we obtained the following new rules [LPAR04]: 305.07/136.68 305.07/136.68 (TOP(up(h(a))) -> TOP(up(h(f(a)))),TOP(up(h(a))) -> TOP(up(h(f(a))))) 305.07/136.68 305.07/136.68 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (42) 305.07/136.68 Obligation: 305.07/136.68 Q DP problem: 305.07/136.68 The TRS P consists of the following rules: 305.07/136.68 305.07/136.68 TOP(up(g(g(x0)))) -> TOP(up(h(x0))) 305.07/136.68 TOP(up(f(f(x0)))) -> TOP(up(g(x0))) 305.07/136.68 TOP(up(g(f(x0)))) -> TOP(g_flat(down(f(x0)))) 305.07/136.68 TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) 305.07/136.68 TOP(up(f(h(x0)))) -> TOP(f_flat(down(h(x0)))) 305.07/136.68 TOP(up(g(h(x0)))) -> TOP(g_flat(down(h(x0)))) 305.07/136.68 TOP(up(h(f(x0)))) -> TOP(h_flat(down(f(x0)))) 305.07/136.68 TOP(up(h(g(x0)))) -> TOP(h_flat(down(g(x0)))) 305.07/136.68 TOP(up(f(a))) -> TOP(f_flat(up(f(a)))) 305.07/136.68 TOP(up(g(a))) -> TOP(g_flat(up(f(a)))) 305.07/136.68 TOP(up(h(a))) -> TOP(up(h(f(a)))) 305.07/136.68 305.07/136.68 The TRS R consists of the following rules: 305.07/136.68 305.07/136.68 down(a) -> up(f(a)) 305.07/136.68 down(f(f(x))) -> up(g(x)) 305.07/136.68 down(g(g(x))) -> up(h(x)) 305.07/136.68 down(h(h(x))) -> up(c) 305.07/136.68 down(f(a)) -> f_flat(down(a)) 305.07/136.68 down(f(g(y5))) -> f_flat(down(g(y5))) 305.07/136.68 down(f(h(y6))) -> f_flat(down(h(y6))) 305.07/136.68 down(f(c)) -> f_flat(down(c)) 305.07/136.68 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 305.07/136.68 down(g(a)) -> g_flat(down(a)) 305.07/136.68 down(g(f(y8))) -> g_flat(down(f(y8))) 305.07/136.68 down(g(h(y10))) -> g_flat(down(h(y10))) 305.07/136.68 down(g(c)) -> g_flat(down(c)) 305.07/136.68 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 305.07/136.68 down(h(a)) -> h_flat(down(a)) 305.07/136.68 down(h(f(y12))) -> h_flat(down(f(y12))) 305.07/136.68 down(h(g(y13))) -> h_flat(down(g(y13))) 305.07/136.68 down(h(c)) -> h_flat(down(c)) 305.07/136.68 down(h(fresh_constant)) -> h_flat(down(fresh_constant)) 305.07/136.68 h_flat(up(x_1)) -> up(h(x_1)) 305.07/136.68 g_flat(up(x_1)) -> up(g(x_1)) 305.07/136.68 f_flat(up(x_1)) -> up(f(x_1)) 305.07/136.68 305.07/136.68 The set Q consists of the following terms: 305.07/136.68 305.07/136.68 down(a) 305.07/136.68 down(f(f(x0))) 305.07/136.68 down(g(g(x0))) 305.07/136.68 down(h(h(x0))) 305.07/136.68 down(f(a)) 305.07/136.68 down(f(g(x0))) 305.07/136.68 down(f(h(x0))) 305.07/136.68 down(f(c)) 305.07/136.68 down(f(fresh_constant)) 305.07/136.68 down(g(a)) 305.07/136.68 down(g(f(x0))) 305.07/136.68 down(g(h(x0))) 305.07/136.68 down(g(c)) 305.07/136.68 down(g(fresh_constant)) 305.07/136.68 down(h(a)) 305.07/136.68 down(h(f(x0))) 305.07/136.68 down(h(g(x0))) 305.07/136.68 down(h(c)) 305.07/136.68 down(h(fresh_constant)) 305.07/136.68 f_flat(up(x0)) 305.07/136.68 g_flat(up(x0)) 305.07/136.68 h_flat(up(x0)) 305.07/136.68 305.07/136.68 We have to consider all minimal (P,Q,R)-chains. 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (43) TransformationProof (EQUIVALENT) 305.07/136.68 By rewriting [LPAR04] the rule TOP(up(f(a))) -> TOP(f_flat(up(f(a)))) at position [0] we obtained the following new rules [LPAR04]: 305.07/136.68 305.07/136.68 (TOP(up(f(a))) -> TOP(up(f(f(a)))),TOP(up(f(a))) -> TOP(up(f(f(a))))) 305.07/136.68 305.07/136.68 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (44) 305.07/136.68 Obligation: 305.07/136.68 Q DP problem: 305.07/136.68 The TRS P consists of the following rules: 305.07/136.68 305.07/136.68 TOP(up(g(g(x0)))) -> TOP(up(h(x0))) 305.07/136.68 TOP(up(f(f(x0)))) -> TOP(up(g(x0))) 305.07/136.68 TOP(up(g(f(x0)))) -> TOP(g_flat(down(f(x0)))) 305.07/136.68 TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) 305.07/136.68 TOP(up(f(h(x0)))) -> TOP(f_flat(down(h(x0)))) 305.07/136.68 TOP(up(g(h(x0)))) -> TOP(g_flat(down(h(x0)))) 305.07/136.68 TOP(up(h(f(x0)))) -> TOP(h_flat(down(f(x0)))) 305.07/136.68 TOP(up(h(g(x0)))) -> TOP(h_flat(down(g(x0)))) 305.07/136.68 TOP(up(g(a))) -> TOP(g_flat(up(f(a)))) 305.07/136.68 TOP(up(h(a))) -> TOP(up(h(f(a)))) 305.07/136.68 TOP(up(f(a))) -> TOP(up(f(f(a)))) 305.07/136.68 305.07/136.68 The TRS R consists of the following rules: 305.07/136.68 305.07/136.68 down(a) -> up(f(a)) 305.07/136.68 down(f(f(x))) -> up(g(x)) 305.07/136.68 down(g(g(x))) -> up(h(x)) 305.07/136.68 down(h(h(x))) -> up(c) 305.07/136.68 down(f(a)) -> f_flat(down(a)) 305.07/136.68 down(f(g(y5))) -> f_flat(down(g(y5))) 305.07/136.68 down(f(h(y6))) -> f_flat(down(h(y6))) 305.07/136.68 down(f(c)) -> f_flat(down(c)) 305.07/136.68 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 305.07/136.68 down(g(a)) -> g_flat(down(a)) 305.07/136.68 down(g(f(y8))) -> g_flat(down(f(y8))) 305.07/136.68 down(g(h(y10))) -> g_flat(down(h(y10))) 305.07/136.68 down(g(c)) -> g_flat(down(c)) 305.07/136.68 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 305.07/136.68 down(h(a)) -> h_flat(down(a)) 305.07/136.68 down(h(f(y12))) -> h_flat(down(f(y12))) 305.07/136.68 down(h(g(y13))) -> h_flat(down(g(y13))) 305.07/136.68 down(h(c)) -> h_flat(down(c)) 305.07/136.68 down(h(fresh_constant)) -> h_flat(down(fresh_constant)) 305.07/136.68 h_flat(up(x_1)) -> up(h(x_1)) 305.07/136.68 g_flat(up(x_1)) -> up(g(x_1)) 305.07/136.68 f_flat(up(x_1)) -> up(f(x_1)) 305.07/136.68 305.07/136.68 The set Q consists of the following terms: 305.07/136.68 305.07/136.68 down(a) 305.07/136.68 down(f(f(x0))) 305.07/136.68 down(g(g(x0))) 305.07/136.68 down(h(h(x0))) 305.07/136.68 down(f(a)) 305.07/136.68 down(f(g(x0))) 305.07/136.68 down(f(h(x0))) 305.07/136.68 down(f(c)) 305.07/136.68 down(f(fresh_constant)) 305.07/136.68 down(g(a)) 305.07/136.68 down(g(f(x0))) 305.07/136.68 down(g(h(x0))) 305.07/136.68 down(g(c)) 305.07/136.68 down(g(fresh_constant)) 305.07/136.68 down(h(a)) 305.07/136.68 down(h(f(x0))) 305.07/136.68 down(h(g(x0))) 305.07/136.68 down(h(c)) 305.07/136.68 down(h(fresh_constant)) 305.07/136.68 f_flat(up(x0)) 305.07/136.68 g_flat(up(x0)) 305.07/136.68 h_flat(up(x0)) 305.07/136.68 305.07/136.68 We have to consider all minimal (P,Q,R)-chains. 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (45) TransformationProof (EQUIVALENT) 305.07/136.68 By rewriting [LPAR04] the rule TOP(up(g(a))) -> TOP(g_flat(up(f(a)))) at position [0] we obtained the following new rules [LPAR04]: 305.07/136.68 305.07/136.68 (TOP(up(g(a))) -> TOP(up(g(f(a)))),TOP(up(g(a))) -> TOP(up(g(f(a))))) 305.07/136.68 305.07/136.68 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (46) 305.07/136.68 Obligation: 305.07/136.68 Q DP problem: 305.07/136.68 The TRS P consists of the following rules: 305.07/136.68 305.07/136.68 TOP(up(g(g(x0)))) -> TOP(up(h(x0))) 305.07/136.68 TOP(up(f(f(x0)))) -> TOP(up(g(x0))) 305.07/136.68 TOP(up(g(f(x0)))) -> TOP(g_flat(down(f(x0)))) 305.07/136.68 TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) 305.07/136.68 TOP(up(f(h(x0)))) -> TOP(f_flat(down(h(x0)))) 305.07/136.68 TOP(up(g(h(x0)))) -> TOP(g_flat(down(h(x0)))) 305.07/136.68 TOP(up(h(f(x0)))) -> TOP(h_flat(down(f(x0)))) 305.07/136.68 TOP(up(h(g(x0)))) -> TOP(h_flat(down(g(x0)))) 305.07/136.68 TOP(up(h(a))) -> TOP(up(h(f(a)))) 305.07/136.68 TOP(up(f(a))) -> TOP(up(f(f(a)))) 305.07/136.68 TOP(up(g(a))) -> TOP(up(g(f(a)))) 305.07/136.68 305.07/136.68 The TRS R consists of the following rules: 305.07/136.68 305.07/136.68 down(a) -> up(f(a)) 305.07/136.68 down(f(f(x))) -> up(g(x)) 305.07/136.68 down(g(g(x))) -> up(h(x)) 305.07/136.68 down(h(h(x))) -> up(c) 305.07/136.68 down(f(a)) -> f_flat(down(a)) 305.07/136.68 down(f(g(y5))) -> f_flat(down(g(y5))) 305.07/136.68 down(f(h(y6))) -> f_flat(down(h(y6))) 305.07/136.68 down(f(c)) -> f_flat(down(c)) 305.07/136.68 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 305.07/136.68 down(g(a)) -> g_flat(down(a)) 305.07/136.68 down(g(f(y8))) -> g_flat(down(f(y8))) 305.07/136.68 down(g(h(y10))) -> g_flat(down(h(y10))) 305.07/136.68 down(g(c)) -> g_flat(down(c)) 305.07/136.68 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 305.07/136.68 down(h(a)) -> h_flat(down(a)) 305.07/136.68 down(h(f(y12))) -> h_flat(down(f(y12))) 305.07/136.68 down(h(g(y13))) -> h_flat(down(g(y13))) 305.07/136.68 down(h(c)) -> h_flat(down(c)) 305.07/136.68 down(h(fresh_constant)) -> h_flat(down(fresh_constant)) 305.07/136.68 h_flat(up(x_1)) -> up(h(x_1)) 305.07/136.68 g_flat(up(x_1)) -> up(g(x_1)) 305.07/136.68 f_flat(up(x_1)) -> up(f(x_1)) 305.07/136.68 305.07/136.68 The set Q consists of the following terms: 305.07/136.68 305.07/136.68 down(a) 305.07/136.68 down(f(f(x0))) 305.07/136.68 down(g(g(x0))) 305.07/136.68 down(h(h(x0))) 305.07/136.68 down(f(a)) 305.07/136.68 down(f(g(x0))) 305.07/136.68 down(f(h(x0))) 305.07/136.68 down(f(c)) 305.07/136.68 down(f(fresh_constant)) 305.07/136.68 down(g(a)) 305.07/136.68 down(g(f(x0))) 305.07/136.68 down(g(h(x0))) 305.07/136.68 down(g(c)) 305.07/136.68 down(g(fresh_constant)) 305.07/136.68 down(h(a)) 305.07/136.68 down(h(f(x0))) 305.07/136.68 down(h(g(x0))) 305.07/136.68 down(h(c)) 305.07/136.68 down(h(fresh_constant)) 305.07/136.68 f_flat(up(x0)) 305.07/136.68 g_flat(up(x0)) 305.07/136.68 h_flat(up(x0)) 305.07/136.68 305.07/136.68 We have to consider all minimal (P,Q,R)-chains. 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (47) TransformationProof (EQUIVALENT) 305.07/136.68 By forward instantiating [JAR06] the rule TOP(up(g(g(x0)))) -> TOP(up(h(x0))) we obtained the following new rules [LPAR04]: 305.07/136.68 305.07/136.68 (TOP(up(g(g(f(y_0))))) -> TOP(up(h(f(y_0)))),TOP(up(g(g(f(y_0))))) -> TOP(up(h(f(y_0))))) 305.07/136.68 (TOP(up(g(g(g(y_0))))) -> TOP(up(h(g(y_0)))),TOP(up(g(g(g(y_0))))) -> TOP(up(h(g(y_0))))) 305.07/136.68 (TOP(up(g(g(a)))) -> TOP(up(h(a))),TOP(up(g(g(a)))) -> TOP(up(h(a)))) 305.07/136.68 305.07/136.68 305.07/136.68 ---------------------------------------- 305.07/136.68 305.07/136.68 (48) 305.07/136.68 Obligation: 305.07/136.68 Q DP problem: 305.07/136.68 The TRS P consists of the following rules: 305.07/136.68 305.07/136.68 TOP(up(f(f(x0)))) -> TOP(up(g(x0))) 305.07/136.68 TOP(up(g(f(x0)))) -> TOP(g_flat(down(f(x0)))) 305.07/136.68 TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) 305.07/136.68 TOP(up(f(h(x0)))) -> TOP(f_flat(down(h(x0)))) 305.07/136.68 TOP(up(g(h(x0)))) -> TOP(g_flat(down(h(x0)))) 305.07/136.68 TOP(up(h(f(x0)))) -> TOP(h_flat(down(f(x0)))) 305.07/136.68 TOP(up(h(g(x0)))) -> TOP(h_flat(down(g(x0)))) 305.07/136.68 TOP(up(h(a))) -> TOP(up(h(f(a)))) 305.07/136.68 TOP(up(f(a))) -> TOP(up(f(f(a)))) 305.07/136.68 TOP(up(g(a))) -> TOP(up(g(f(a)))) 305.07/136.68 TOP(up(g(g(f(y_0))))) -> TOP(up(h(f(y_0)))) 305.07/136.68 TOP(up(g(g(g(y_0))))) -> TOP(up(h(g(y_0)))) 305.07/136.68 TOP(up(g(g(a)))) -> TOP(up(h(a))) 305.07/136.68 305.07/136.68 The TRS R consists of the following rules: 305.07/136.68 305.07/136.68 down(a) -> up(f(a)) 305.07/136.68 down(f(f(x))) -> up(g(x)) 305.07/136.68 down(g(g(x))) -> up(h(x)) 305.07/136.68 down(h(h(x))) -> up(c) 305.07/136.68 down(f(a)) -> f_flat(down(a)) 305.07/136.68 down(f(g(y5))) -> f_flat(down(g(y5))) 305.07/136.68 down(f(h(y6))) -> f_flat(down(h(y6))) 305.07/136.68 down(f(c)) -> f_flat(down(c)) 305.07/136.68 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 305.07/136.69 down(g(a)) -> g_flat(down(a)) 305.07/136.69 down(g(f(y8))) -> g_flat(down(f(y8))) 305.07/136.69 down(g(h(y10))) -> g_flat(down(h(y10))) 305.07/136.69 down(g(c)) -> g_flat(down(c)) 305.07/136.69 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 305.07/136.69 down(h(a)) -> h_flat(down(a)) 305.07/136.69 down(h(f(y12))) -> h_flat(down(f(y12))) 305.07/136.69 down(h(g(y13))) -> h_flat(down(g(y13))) 305.07/136.69 down(h(c)) -> h_flat(down(c)) 305.07/136.69 down(h(fresh_constant)) -> h_flat(down(fresh_constant)) 305.07/136.69 h_flat(up(x_1)) -> up(h(x_1)) 305.07/136.69 g_flat(up(x_1)) -> up(g(x_1)) 305.07/136.69 f_flat(up(x_1)) -> up(f(x_1)) 305.07/136.69 305.07/136.69 The set Q consists of the following terms: 305.07/136.69 305.07/136.69 down(a) 305.07/136.69 down(f(f(x0))) 305.07/136.69 down(g(g(x0))) 305.07/136.69 down(h(h(x0))) 305.07/136.69 down(f(a)) 305.07/136.69 down(f(g(x0))) 305.07/136.69 down(f(h(x0))) 305.07/136.69 down(f(c)) 305.07/136.69 down(f(fresh_constant)) 305.07/136.69 down(g(a)) 305.07/136.69 down(g(f(x0))) 305.07/136.69 down(g(h(x0))) 305.07/136.69 down(g(c)) 305.07/136.69 down(g(fresh_constant)) 305.07/136.69 down(h(a)) 305.07/136.69 down(h(f(x0))) 305.07/136.69 down(h(g(x0))) 305.07/136.69 down(h(c)) 305.07/136.69 down(h(fresh_constant)) 305.07/136.69 f_flat(up(x0)) 305.07/136.69 g_flat(up(x0)) 305.07/136.69 h_flat(up(x0)) 305.07/136.69 305.07/136.69 We have to consider all minimal (P,Q,R)-chains. 305.07/136.69 ---------------------------------------- 305.07/136.69 305.07/136.69 (49) TransformationProof (EQUIVALENT) 305.07/136.69 By forward instantiating [JAR06] the rule TOP(up(f(f(x0)))) -> TOP(up(g(x0))) we obtained the following new rules [LPAR04]: 305.07/136.69 305.07/136.69 (TOP(up(f(f(f(y_0))))) -> TOP(up(g(f(y_0)))),TOP(up(f(f(f(y_0))))) -> TOP(up(g(f(y_0))))) 305.07/136.69 (TOP(up(f(f(h(y_0))))) -> TOP(up(g(h(y_0)))),TOP(up(f(f(h(y_0))))) -> TOP(up(g(h(y_0))))) 305.07/136.69 (TOP(up(f(f(a)))) -> TOP(up(g(a))),TOP(up(f(f(a)))) -> TOP(up(g(a)))) 305.07/136.69 (TOP(up(f(f(g(f(y_0)))))) -> TOP(up(g(g(f(y_0))))),TOP(up(f(f(g(f(y_0)))))) -> TOP(up(g(g(f(y_0)))))) 305.07/136.69 (TOP(up(f(f(g(g(y_0)))))) -> TOP(up(g(g(g(y_0))))),TOP(up(f(f(g(g(y_0)))))) -> TOP(up(g(g(g(y_0)))))) 305.07/136.69 (TOP(up(f(f(g(a))))) -> TOP(up(g(g(a)))),TOP(up(f(f(g(a))))) -> TOP(up(g(g(a))))) 305.07/136.69 305.07/136.69 305.07/136.69 ---------------------------------------- 305.07/136.69 305.07/136.69 (50) 305.07/136.69 Obligation: 305.07/136.69 Q DP problem: 305.07/136.69 The TRS P consists of the following rules: 305.07/136.69 305.07/136.69 TOP(up(g(f(x0)))) -> TOP(g_flat(down(f(x0)))) 305.07/136.69 TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) 305.07/136.69 TOP(up(f(h(x0)))) -> TOP(f_flat(down(h(x0)))) 305.07/136.69 TOP(up(g(h(x0)))) -> TOP(g_flat(down(h(x0)))) 305.07/136.69 TOP(up(h(f(x0)))) -> TOP(h_flat(down(f(x0)))) 305.07/136.69 TOP(up(h(g(x0)))) -> TOP(h_flat(down(g(x0)))) 305.07/136.69 TOP(up(h(a))) -> TOP(up(h(f(a)))) 305.07/136.69 TOP(up(f(a))) -> TOP(up(f(f(a)))) 305.07/136.69 TOP(up(g(a))) -> TOP(up(g(f(a)))) 305.07/136.69 TOP(up(g(g(f(y_0))))) -> TOP(up(h(f(y_0)))) 305.07/136.69 TOP(up(g(g(g(y_0))))) -> TOP(up(h(g(y_0)))) 305.07/136.69 TOP(up(g(g(a)))) -> TOP(up(h(a))) 305.07/136.69 TOP(up(f(f(f(y_0))))) -> TOP(up(g(f(y_0)))) 305.07/136.69 TOP(up(f(f(h(y_0))))) -> TOP(up(g(h(y_0)))) 305.07/136.69 TOP(up(f(f(a)))) -> TOP(up(g(a))) 305.07/136.69 TOP(up(f(f(g(f(y_0)))))) -> TOP(up(g(g(f(y_0))))) 305.07/136.69 TOP(up(f(f(g(g(y_0)))))) -> TOP(up(g(g(g(y_0))))) 305.07/136.69 TOP(up(f(f(g(a))))) -> TOP(up(g(g(a)))) 305.07/136.69 305.07/136.69 The TRS R consists of the following rules: 305.07/136.69 305.07/136.69 down(a) -> up(f(a)) 305.07/136.69 down(f(f(x))) -> up(g(x)) 305.07/136.69 down(g(g(x))) -> up(h(x)) 305.07/136.69 down(h(h(x))) -> up(c) 305.07/136.69 down(f(a)) -> f_flat(down(a)) 305.07/136.69 down(f(g(y5))) -> f_flat(down(g(y5))) 305.07/136.69 down(f(h(y6))) -> f_flat(down(h(y6))) 305.07/136.69 down(f(c)) -> f_flat(down(c)) 305.07/136.69 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 305.07/136.69 down(g(a)) -> g_flat(down(a)) 305.07/136.69 down(g(f(y8))) -> g_flat(down(f(y8))) 305.07/136.69 down(g(h(y10))) -> g_flat(down(h(y10))) 305.07/136.69 down(g(c)) -> g_flat(down(c)) 305.07/136.69 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 305.07/136.69 down(h(a)) -> h_flat(down(a)) 305.07/136.69 down(h(f(y12))) -> h_flat(down(f(y12))) 305.07/136.69 down(h(g(y13))) -> h_flat(down(g(y13))) 305.07/136.69 down(h(c)) -> h_flat(down(c)) 305.07/136.69 down(h(fresh_constant)) -> h_flat(down(fresh_constant)) 305.07/136.69 h_flat(up(x_1)) -> up(h(x_1)) 305.07/136.69 g_flat(up(x_1)) -> up(g(x_1)) 305.07/136.69 f_flat(up(x_1)) -> up(f(x_1)) 305.07/136.69 305.07/136.69 The set Q consists of the following terms: 305.07/136.69 305.07/136.69 down(a) 305.07/136.69 down(f(f(x0))) 305.07/136.69 down(g(g(x0))) 305.07/136.69 down(h(h(x0))) 305.07/136.69 down(f(a)) 305.07/136.69 down(f(g(x0))) 305.07/136.69 down(f(h(x0))) 305.07/136.69 down(f(c)) 305.07/136.69 down(f(fresh_constant)) 305.07/136.69 down(g(a)) 305.07/136.69 down(g(f(x0))) 305.07/136.69 down(g(h(x0))) 305.07/136.69 down(g(c)) 305.07/136.69 down(g(fresh_constant)) 305.07/136.69 down(h(a)) 305.07/136.69 down(h(f(x0))) 305.07/136.69 down(h(g(x0))) 305.07/136.69 down(h(c)) 305.07/136.69 down(h(fresh_constant)) 305.07/136.69 f_flat(up(x0)) 305.07/136.69 g_flat(up(x0)) 305.07/136.69 h_flat(up(x0)) 305.07/136.69 305.07/136.69 We have to consider all minimal (P,Q,R)-chains. 305.07/136.69 ---------------------------------------- 305.07/136.69 305.07/136.69 (51) QDPOrderProof (EQUIVALENT) 305.07/136.69 We use the reduction pair processor [LPAR04,JAR06]. 305.07/136.69 305.07/136.69 305.07/136.69 The following pairs can be oriented strictly and are deleted. 305.07/136.69 305.07/136.69 TOP(up(f(f(f(y_0))))) -> TOP(up(g(f(y_0)))) 305.07/136.69 TOP(up(f(f(h(y_0))))) -> TOP(up(g(h(y_0)))) 305.07/136.69 TOP(up(f(f(a)))) -> TOP(up(g(a))) 305.07/136.69 TOP(up(f(f(g(f(y_0)))))) -> TOP(up(g(g(f(y_0))))) 305.07/136.69 TOP(up(f(f(g(g(y_0)))))) -> TOP(up(g(g(g(y_0))))) 305.07/136.69 TOP(up(f(f(g(a))))) -> TOP(up(g(g(a)))) 305.07/136.69 The remaining pairs can at least be oriented weakly. 305.07/136.69 Used ordering: Polynomial interpretation [POLO]: 305.07/136.69 305.07/136.69 POL(TOP(x_1)) = x_1 305.07/136.69 POL(a) = 0 305.07/136.69 POL(c) = 0 305.07/136.69 POL(down(x_1)) = 0 305.07/136.69 POL(f(x_1)) = 1 305.07/136.69 POL(f_flat(x_1)) = 1 305.07/136.69 POL(fresh_constant) = 0 305.07/136.69 POL(g(x_1)) = 0 305.07/136.69 POL(g_flat(x_1)) = 0 305.07/136.69 POL(h(x_1)) = 0 305.07/136.69 POL(h_flat(x_1)) = 0 305.07/136.69 POL(up(x_1)) = x_1 305.07/136.69 305.07/136.69 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 305.07/136.69 305.07/136.69 g_flat(up(x_1)) -> up(g(x_1)) 305.07/136.69 f_flat(up(x_1)) -> up(f(x_1)) 305.07/136.69 h_flat(up(x_1)) -> up(h(x_1)) 305.07/136.69 305.07/136.69 305.07/136.69 ---------------------------------------- 305.07/136.69 305.07/136.69 (52) 305.07/136.69 Obligation: 305.07/136.69 Q DP problem: 305.07/136.69 The TRS P consists of the following rules: 305.07/136.69 305.07/136.69 TOP(up(g(f(x0)))) -> TOP(g_flat(down(f(x0)))) 305.07/136.69 TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) 305.07/136.69 TOP(up(f(h(x0)))) -> TOP(f_flat(down(h(x0)))) 305.07/136.69 TOP(up(g(h(x0)))) -> TOP(g_flat(down(h(x0)))) 305.07/136.69 TOP(up(h(f(x0)))) -> TOP(h_flat(down(f(x0)))) 305.07/136.69 TOP(up(h(g(x0)))) -> TOP(h_flat(down(g(x0)))) 305.07/136.69 TOP(up(h(a))) -> TOP(up(h(f(a)))) 305.07/136.69 TOP(up(f(a))) -> TOP(up(f(f(a)))) 305.07/136.69 TOP(up(g(a))) -> TOP(up(g(f(a)))) 305.07/136.69 TOP(up(g(g(f(y_0))))) -> TOP(up(h(f(y_0)))) 305.07/136.69 TOP(up(g(g(g(y_0))))) -> TOP(up(h(g(y_0)))) 305.07/136.69 TOP(up(g(g(a)))) -> TOP(up(h(a))) 305.07/136.69 305.07/136.69 The TRS R consists of the following rules: 305.07/136.69 305.07/136.69 down(a) -> up(f(a)) 305.07/136.69 down(f(f(x))) -> up(g(x)) 305.07/136.69 down(g(g(x))) -> up(h(x)) 305.07/136.69 down(h(h(x))) -> up(c) 305.07/136.69 down(f(a)) -> f_flat(down(a)) 305.07/136.69 down(f(g(y5))) -> f_flat(down(g(y5))) 305.07/136.69 down(f(h(y6))) -> f_flat(down(h(y6))) 305.07/136.69 down(f(c)) -> f_flat(down(c)) 305.07/136.69 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 305.07/136.69 down(g(a)) -> g_flat(down(a)) 305.07/136.69 down(g(f(y8))) -> g_flat(down(f(y8))) 305.07/136.69 down(g(h(y10))) -> g_flat(down(h(y10))) 305.07/136.69 down(g(c)) -> g_flat(down(c)) 305.07/136.69 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 305.07/136.69 down(h(a)) -> h_flat(down(a)) 305.07/136.69 down(h(f(y12))) -> h_flat(down(f(y12))) 305.07/136.69 down(h(g(y13))) -> h_flat(down(g(y13))) 305.07/136.69 down(h(c)) -> h_flat(down(c)) 305.07/136.69 down(h(fresh_constant)) -> h_flat(down(fresh_constant)) 305.07/136.69 h_flat(up(x_1)) -> up(h(x_1)) 305.07/136.69 g_flat(up(x_1)) -> up(g(x_1)) 305.07/136.69 f_flat(up(x_1)) -> up(f(x_1)) 305.07/136.69 305.07/136.69 The set Q consists of the following terms: 305.07/136.69 305.07/136.69 down(a) 305.07/136.69 down(f(f(x0))) 305.07/136.69 down(g(g(x0))) 305.07/136.69 down(h(h(x0))) 305.07/136.69 down(f(a)) 305.07/136.69 down(f(g(x0))) 305.07/136.69 down(f(h(x0))) 305.07/136.69 down(f(c)) 305.07/136.69 down(f(fresh_constant)) 305.07/136.69 down(g(a)) 305.07/136.69 down(g(f(x0))) 305.07/136.69 down(g(h(x0))) 305.07/136.69 down(g(c)) 305.07/136.69 down(g(fresh_constant)) 305.07/136.69 down(h(a)) 305.07/136.69 down(h(f(x0))) 305.07/136.69 down(h(g(x0))) 305.07/136.69 down(h(c)) 305.07/136.69 down(h(fresh_constant)) 305.07/136.69 f_flat(up(x0)) 305.07/136.69 g_flat(up(x0)) 305.07/136.69 h_flat(up(x0)) 305.07/136.69 305.07/136.69 We have to consider all minimal (P,Q,R)-chains. 305.07/136.69 ---------------------------------------- 305.07/136.69 305.07/136.69 (53) DependencyGraphProof (EQUIVALENT) 305.07/136.69 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 305.07/136.69 ---------------------------------------- 305.07/136.69 305.07/136.69 (54) 305.07/136.69 Obligation: 305.07/136.69 Q DP problem: 305.07/136.69 The TRS P consists of the following rules: 305.07/136.69 305.07/136.69 TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) 305.07/136.69 TOP(up(f(h(x0)))) -> TOP(f_flat(down(h(x0)))) 305.07/136.69 TOP(up(g(f(x0)))) -> TOP(g_flat(down(f(x0)))) 305.07/136.69 TOP(up(g(h(x0)))) -> TOP(g_flat(down(h(x0)))) 305.07/136.69 TOP(up(h(f(x0)))) -> TOP(h_flat(down(f(x0)))) 305.07/136.69 TOP(up(h(g(x0)))) -> TOP(h_flat(down(g(x0)))) 305.07/136.69 TOP(up(h(a))) -> TOP(up(h(f(a)))) 305.07/136.69 TOP(up(g(a))) -> TOP(up(g(f(a)))) 305.07/136.69 TOP(up(g(g(f(y_0))))) -> TOP(up(h(f(y_0)))) 305.07/136.69 TOP(up(g(g(g(y_0))))) -> TOP(up(h(g(y_0)))) 305.07/136.69 TOP(up(g(g(a)))) -> TOP(up(h(a))) 305.07/136.69 305.07/136.69 The TRS R consists of the following rules: 305.07/136.69 305.07/136.69 down(a) -> up(f(a)) 305.07/136.69 down(f(f(x))) -> up(g(x)) 305.07/136.69 down(g(g(x))) -> up(h(x)) 305.07/136.69 down(h(h(x))) -> up(c) 305.07/136.69 down(f(a)) -> f_flat(down(a)) 305.07/136.69 down(f(g(y5))) -> f_flat(down(g(y5))) 305.07/136.69 down(f(h(y6))) -> f_flat(down(h(y6))) 305.07/136.69 down(f(c)) -> f_flat(down(c)) 305.07/136.69 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 305.07/136.69 down(g(a)) -> g_flat(down(a)) 305.07/136.69 down(g(f(y8))) -> g_flat(down(f(y8))) 305.07/136.69 down(g(h(y10))) -> g_flat(down(h(y10))) 305.07/136.69 down(g(c)) -> g_flat(down(c)) 305.07/136.69 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 305.07/136.69 down(h(a)) -> h_flat(down(a)) 305.07/136.69 down(h(f(y12))) -> h_flat(down(f(y12))) 305.07/136.69 down(h(g(y13))) -> h_flat(down(g(y13))) 305.07/136.69 down(h(c)) -> h_flat(down(c)) 305.07/136.69 down(h(fresh_constant)) -> h_flat(down(fresh_constant)) 305.07/136.69 h_flat(up(x_1)) -> up(h(x_1)) 305.07/136.69 g_flat(up(x_1)) -> up(g(x_1)) 305.07/136.69 f_flat(up(x_1)) -> up(f(x_1)) 305.07/136.69 305.07/136.69 The set Q consists of the following terms: 305.07/136.69 305.07/136.69 down(a) 305.07/136.69 down(f(f(x0))) 305.07/136.69 down(g(g(x0))) 305.07/136.69 down(h(h(x0))) 305.07/136.69 down(f(a)) 305.07/136.69 down(f(g(x0))) 305.07/136.69 down(f(h(x0))) 305.07/136.69 down(f(c)) 305.07/136.69 down(f(fresh_constant)) 305.07/136.69 down(g(a)) 305.07/136.69 down(g(f(x0))) 305.07/136.69 down(g(h(x0))) 305.07/136.69 down(g(c)) 305.07/136.69 down(g(fresh_constant)) 305.07/136.69 down(h(a)) 305.07/136.69 down(h(f(x0))) 305.07/136.69 down(h(g(x0))) 305.07/136.69 down(h(c)) 305.07/136.69 down(h(fresh_constant)) 305.07/136.69 f_flat(up(x0)) 305.07/136.69 g_flat(up(x0)) 305.07/136.69 h_flat(up(x0)) 305.07/136.69 305.07/136.69 We have to consider all minimal (P,Q,R)-chains. 305.07/136.69 ---------------------------------------- 305.07/136.69 305.07/136.69 (55) QDPOrderProof (EQUIVALENT) 305.07/136.69 We use the reduction pair processor [LPAR04,JAR06]. 305.07/136.69 305.07/136.69 305.07/136.69 The following pairs can be oriented strictly and are deleted. 305.07/136.69 305.07/136.69 TOP(up(g(g(f(y_0))))) -> TOP(up(h(f(y_0)))) 305.07/136.69 TOP(up(g(g(g(y_0))))) -> TOP(up(h(g(y_0)))) 305.07/136.69 TOP(up(g(g(a)))) -> TOP(up(h(a))) 305.07/136.69 The remaining pairs can at least be oriented weakly. 305.07/136.69 Used ordering: Polynomial interpretation [POLO]: 305.07/136.69 305.07/136.69 POL(TOP(x_1)) = x_1 305.07/136.69 POL(a) = 0 305.07/136.69 POL(c) = 0 305.07/136.69 POL(down(x_1)) = 0 305.07/136.69 POL(f(x_1)) = 0 305.07/136.69 POL(f_flat(x_1)) = 0 305.07/136.69 POL(fresh_constant) = 0 305.07/136.69 POL(g(x_1)) = 1 305.07/136.69 POL(g_flat(x_1)) = 1 305.07/136.69 POL(h(x_1)) = 0 305.07/136.69 POL(h_flat(x_1)) = 0 305.07/136.69 POL(up(x_1)) = x_1 305.07/136.69 305.07/136.69 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 305.07/136.69 305.07/136.69 f_flat(up(x_1)) -> up(f(x_1)) 305.07/136.69 g_flat(up(x_1)) -> up(g(x_1)) 305.07/136.69 h_flat(up(x_1)) -> up(h(x_1)) 305.07/136.69 305.07/136.69 305.07/136.69 ---------------------------------------- 305.07/136.69 305.07/136.69 (56) 305.07/136.69 Obligation: 305.07/136.69 Q DP problem: 305.07/136.69 The TRS P consists of the following rules: 305.07/136.69 305.07/136.69 TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) 305.07/136.69 TOP(up(f(h(x0)))) -> TOP(f_flat(down(h(x0)))) 305.07/136.69 TOP(up(g(f(x0)))) -> TOP(g_flat(down(f(x0)))) 305.07/136.69 TOP(up(g(h(x0)))) -> TOP(g_flat(down(h(x0)))) 305.07/136.69 TOP(up(h(f(x0)))) -> TOP(h_flat(down(f(x0)))) 305.07/136.69 TOP(up(h(g(x0)))) -> TOP(h_flat(down(g(x0)))) 305.07/136.69 TOP(up(h(a))) -> TOP(up(h(f(a)))) 305.07/136.69 TOP(up(g(a))) -> TOP(up(g(f(a)))) 305.07/136.69 305.07/136.69 The TRS R consists of the following rules: 305.07/136.69 305.07/136.69 down(a) -> up(f(a)) 305.07/136.69 down(f(f(x))) -> up(g(x)) 305.07/136.69 down(g(g(x))) -> up(h(x)) 305.07/136.69 down(h(h(x))) -> up(c) 305.07/136.69 down(f(a)) -> f_flat(down(a)) 305.07/136.69 down(f(g(y5))) -> f_flat(down(g(y5))) 305.07/136.69 down(f(h(y6))) -> f_flat(down(h(y6))) 305.07/136.69 down(f(c)) -> f_flat(down(c)) 305.07/136.69 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 305.07/136.69 down(g(a)) -> g_flat(down(a)) 305.07/136.69 down(g(f(y8))) -> g_flat(down(f(y8))) 305.07/136.69 down(g(h(y10))) -> g_flat(down(h(y10))) 305.07/136.69 down(g(c)) -> g_flat(down(c)) 305.07/136.69 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 305.07/136.69 down(h(a)) -> h_flat(down(a)) 305.07/136.69 down(h(f(y12))) -> h_flat(down(f(y12))) 305.07/136.69 down(h(g(y13))) -> h_flat(down(g(y13))) 305.07/136.69 down(h(c)) -> h_flat(down(c)) 305.07/136.69 down(h(fresh_constant)) -> h_flat(down(fresh_constant)) 305.07/136.69 h_flat(up(x_1)) -> up(h(x_1)) 305.07/136.69 g_flat(up(x_1)) -> up(g(x_1)) 305.07/136.69 f_flat(up(x_1)) -> up(f(x_1)) 305.07/136.69 305.07/136.69 The set Q consists of the following terms: 305.07/136.69 305.07/136.69 down(a) 305.07/136.69 down(f(f(x0))) 305.07/136.69 down(g(g(x0))) 305.07/136.69 down(h(h(x0))) 305.07/136.69 down(f(a)) 305.07/136.69 down(f(g(x0))) 305.07/136.69 down(f(h(x0))) 305.07/136.69 down(f(c)) 305.07/136.69 down(f(fresh_constant)) 305.07/136.69 down(g(a)) 305.07/136.69 down(g(f(x0))) 305.07/136.69 down(g(h(x0))) 305.07/136.69 down(g(c)) 305.07/136.69 down(g(fresh_constant)) 305.07/136.69 down(h(a)) 305.07/136.69 down(h(f(x0))) 305.07/136.69 down(h(g(x0))) 305.07/136.69 down(h(c)) 305.07/136.69 down(h(fresh_constant)) 305.07/136.69 f_flat(up(x0)) 305.07/136.69 g_flat(up(x0)) 305.07/136.69 h_flat(up(x0)) 305.07/136.69 305.07/136.69 We have to consider all minimal (P,Q,R)-chains. 305.07/136.69 ---------------------------------------- 305.07/136.69 305.07/136.69 (57) QDPOrderProof (EQUIVALENT) 305.07/136.69 We use the reduction pair processor [LPAR04,JAR06]. 305.07/136.69 305.07/136.69 305.07/136.69 The following pairs can be oriented strictly and are deleted. 305.07/136.69 305.07/136.69 TOP(up(g(a))) -> TOP(up(g(f(a)))) 305.07/136.69 The remaining pairs can at least be oriented weakly. 305.07/136.69 Used ordering: Matrix interpretation [MATRO]: 305.07/136.69 305.07/136.69 Non-tuple symbols: 305.07/136.69 <<< 305.07/136.69 M( a ) = [[1], [0]] 305.07/136.69 >>> 305.07/136.69 305.07/136.69 <<< 305.07/136.69 M( h_flat_1(x_1) ) = [[0], [0]] + [[0, 0], [0, 0]] * x_1 305.07/136.69 >>> 305.07/136.69 305.07/136.69 <<< 305.07/136.69 M( c ) = [[0], [0]] 305.07/136.69 >>> 305.07/136.69 305.07/136.69 <<< 305.07/136.69 M( down_1(x_1) ) = [[0], [0]] + [[0, 0], [1, 1]] * x_1 305.07/136.69 >>> 305.07/136.69 305.07/136.69 <<< 305.07/136.69 M( f_1(x_1) ) = [[0], [0]] + [[0, 0], [1, 1]] * x_1 305.07/136.69 >>> 305.07/136.69 305.07/136.69 <<< 305.07/136.69 M( fresh_constant ) = [[0], [0]] 305.07/136.69 >>> 305.07/136.69 305.07/136.69 <<< 305.07/136.69 M( up_1(x_1) ) = [[0], [0]] + [[1, 0], [0, 1]] * x_1 305.07/136.69 >>> 305.07/136.69 305.07/136.69 <<< 305.07/136.69 M( h_1(x_1) ) = [[0], [0]] + [[0, 0], [0, 0]] * x_1 305.07/136.69 >>> 305.07/136.69 305.07/136.69 <<< 305.07/136.69 M( f_flat_1(x_1) ) = [[0], [0]] + [[0, 0], [1, 1]] * x_1 305.07/136.69 >>> 305.07/136.69 305.07/136.69 <<< 305.07/136.69 M( g_1(x_1) ) = [[0], [0]] + [[0, 0], [1, 0]] * x_1 305.07/136.69 >>> 305.07/136.69 305.07/136.69 <<< 305.07/136.69 M( g_flat_1(x_1) ) = [[0], [0]] + [[0, 0], [1, 0]] * x_1 305.07/136.69 >>> 305.07/136.69 305.07/136.69 Tuple symbols: 305.07/136.69 <<< 305.07/136.69 M( TOP_1(x_1) ) = [[0]] + [[0, 1]] * x_1 305.07/136.69 >>> 305.07/136.69 305.07/136.69 305.07/136.69 305.07/136.69 Matrix type: 305.07/136.69 305.07/136.69 We used a basic matrix type which is not further parametrizeable. 305.07/136.69 305.07/136.69 305.07/136.69 305.07/136.69 305.07/136.69 305.07/136.69 As matrix orders are CE-compatible, we used usable rules w.r.t. argument filtering in the order. 305.07/136.69 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 305.07/136.69 305.07/136.69 down(g(g(x))) -> up(h(x)) 305.07/136.69 down(g(a)) -> g_flat(down(a)) 305.07/136.69 down(g(f(y8))) -> g_flat(down(f(y8))) 305.07/136.69 down(g(h(y10))) -> g_flat(down(h(y10))) 305.07/136.69 down(g(c)) -> g_flat(down(c)) 305.07/136.69 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 305.07/136.69 f_flat(up(x_1)) -> up(f(x_1)) 305.07/136.69 down(h(h(x))) -> up(c) 305.07/136.69 down(h(a)) -> h_flat(down(a)) 305.07/136.69 down(h(f(y12))) -> h_flat(down(f(y12))) 305.07/136.69 down(h(g(y13))) -> h_flat(down(g(y13))) 305.07/136.69 down(h(c)) -> h_flat(down(c)) 305.07/136.69 down(h(fresh_constant)) -> h_flat(down(fresh_constant)) 305.07/136.69 down(f(f(x))) -> up(g(x)) 305.07/136.69 down(f(a)) -> f_flat(down(a)) 305.07/136.69 down(f(g(y5))) -> f_flat(down(g(y5))) 305.07/136.69 down(f(h(y6))) -> f_flat(down(h(y6))) 305.07/136.69 down(f(c)) -> f_flat(down(c)) 305.07/136.69 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 305.07/136.69 g_flat(up(x_1)) -> up(g(x_1)) 305.07/136.69 h_flat(up(x_1)) -> up(h(x_1)) 305.07/136.69 down(a) -> up(f(a)) 305.07/136.69 305.07/136.69 305.07/136.69 ---------------------------------------- 305.07/136.69 305.07/136.69 (58) 305.07/136.69 Obligation: 305.07/136.69 Q DP problem: 305.07/136.69 The TRS P consists of the following rules: 305.07/136.69 305.07/136.69 TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) 305.07/136.69 TOP(up(f(h(x0)))) -> TOP(f_flat(down(h(x0)))) 305.07/136.69 TOP(up(g(f(x0)))) -> TOP(g_flat(down(f(x0)))) 305.07/136.69 TOP(up(g(h(x0)))) -> TOP(g_flat(down(h(x0)))) 305.07/136.69 TOP(up(h(f(x0)))) -> TOP(h_flat(down(f(x0)))) 305.07/136.69 TOP(up(h(g(x0)))) -> TOP(h_flat(down(g(x0)))) 305.07/136.69 TOP(up(h(a))) -> TOP(up(h(f(a)))) 305.07/136.69 305.07/136.69 The TRS R consists of the following rules: 305.07/136.69 305.07/136.69 down(a) -> up(f(a)) 305.07/136.69 down(f(f(x))) -> up(g(x)) 305.07/136.69 down(g(g(x))) -> up(h(x)) 305.07/136.69 down(h(h(x))) -> up(c) 305.07/136.69 down(f(a)) -> f_flat(down(a)) 305.07/136.69 down(f(g(y5))) -> f_flat(down(g(y5))) 305.07/136.69 down(f(h(y6))) -> f_flat(down(h(y6))) 305.07/136.69 down(f(c)) -> f_flat(down(c)) 305.07/136.69 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 305.07/136.69 down(g(a)) -> g_flat(down(a)) 305.07/136.69 down(g(f(y8))) -> g_flat(down(f(y8))) 305.07/136.69 down(g(h(y10))) -> g_flat(down(h(y10))) 305.07/136.69 down(g(c)) -> g_flat(down(c)) 305.07/136.69 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 305.07/136.69 down(h(a)) -> h_flat(down(a)) 305.07/136.69 down(h(f(y12))) -> h_flat(down(f(y12))) 305.07/136.69 down(h(g(y13))) -> h_flat(down(g(y13))) 305.07/136.69 down(h(c)) -> h_flat(down(c)) 305.07/136.69 down(h(fresh_constant)) -> h_flat(down(fresh_constant)) 305.07/136.69 h_flat(up(x_1)) -> up(h(x_1)) 305.07/136.69 g_flat(up(x_1)) -> up(g(x_1)) 305.07/136.69 f_flat(up(x_1)) -> up(f(x_1)) 305.07/136.69 305.07/136.69 The set Q consists of the following terms: 305.07/136.69 305.07/136.69 down(a) 305.07/136.69 down(f(f(x0))) 305.07/136.69 down(g(g(x0))) 305.07/136.69 down(h(h(x0))) 305.07/136.69 down(f(a)) 305.07/136.69 down(f(g(x0))) 305.07/136.69 down(f(h(x0))) 305.07/136.69 down(f(c)) 305.07/136.69 down(f(fresh_constant)) 305.07/136.69 down(g(a)) 305.07/136.69 down(g(f(x0))) 305.07/136.69 down(g(h(x0))) 305.07/136.69 down(g(c)) 305.07/136.69 down(g(fresh_constant)) 305.07/136.69 down(h(a)) 305.07/136.69 down(h(f(x0))) 305.07/136.69 down(h(g(x0))) 305.07/136.69 down(h(c)) 305.07/136.69 down(h(fresh_constant)) 305.07/136.69 f_flat(up(x0)) 305.07/136.69 g_flat(up(x0)) 305.07/136.69 h_flat(up(x0)) 305.07/136.69 305.07/136.69 We have to consider all minimal (P,Q,R)-chains. 305.07/136.69 ---------------------------------------- 305.07/136.69 305.07/136.69 (59) QDPOrderProof (EQUIVALENT) 305.07/136.69 We use the reduction pair processor [LPAR04,JAR06]. 305.07/136.69 305.07/136.69 305.07/136.69 The following pairs can be oriented strictly and are deleted. 305.07/136.69 305.07/136.69 TOP(up(h(a))) -> TOP(up(h(f(a)))) 305.07/136.69 The remaining pairs can at least be oriented weakly. 305.07/136.69 Used ordering: Matrix interpretation [MATRO]: 305.07/136.69 305.07/136.69 Non-tuple symbols: 305.07/136.69 <<< 305.07/136.69 M( a ) = [[0], [1]] 305.07/136.69 >>> 305.07/136.69 305.07/136.69 <<< 305.07/136.69 M( h_flat_1(x_1) ) = [[0], [0]] + [[0, 0], [1, 0]] * x_1 305.07/136.69 >>> 305.07/136.69 305.07/136.69 <<< 305.07/136.69 M( c ) = [[0], [0]] 305.07/136.69 >>> 305.07/136.69 305.07/136.69 <<< 305.07/136.69 M( down_1(x_1) ) = [[0], [0]] + [[0, 0], [1, 1]] * x_1 305.07/136.69 >>> 305.07/136.69 305.07/136.69 <<< 305.07/136.69 M( f_1(x_1) ) = [[0], [0]] + [[1, 1], [0, 0]] * x_1 305.07/136.69 >>> 305.07/136.69 305.07/136.69 <<< 305.07/136.69 M( fresh_constant ) = [[0], [0]] 305.07/136.69 >>> 305.07/136.69 305.07/136.69 <<< 305.07/136.69 M( up_1(x_1) ) = [[0], [0]] + [[0, 1], [1, 0]] * x_1 305.07/136.69 >>> 305.07/136.69 305.07/136.69 <<< 305.07/136.69 M( h_1(x_1) ) = [[0], [0]] + [[0, 1], [0, 0]] * x_1 305.07/136.69 >>> 305.07/136.69 305.07/136.69 <<< 305.07/136.69 M( f_flat_1(x_1) ) = [[0], [0]] + [[0, 0], [1, 1]] * x_1 305.07/136.69 >>> 305.07/136.69 305.07/136.69 <<< 305.07/136.69 M( g_1(x_1) ) = [[0], [0]] + [[1, 1], [0, 0]] * x_1 305.07/136.69 >>> 305.07/136.69 305.07/136.69 <<< 305.07/136.69 M( g_flat_1(x_1) ) = [[0], [0]] + [[0, 0], [1, 1]] * x_1 305.07/136.69 >>> 305.07/136.69 305.07/136.69 Tuple symbols: 305.07/136.69 <<< 305.07/136.69 M( TOP_1(x_1) ) = [[0]] + [[0, 1]] * x_1 305.07/136.69 >>> 305.07/136.69 305.07/136.69 305.07/136.69 305.07/136.69 Matrix type: 305.07/136.69 305.07/136.69 We used a basic matrix type which is not further parametrizeable. 305.07/136.69 305.07/136.69 305.07/136.69 305.07/136.69 305.07/136.69 305.07/136.69 As matrix orders are CE-compatible, we used usable rules w.r.t. argument filtering in the order. 305.07/136.69 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 305.07/136.69 305.07/136.69 down(g(g(x))) -> up(h(x)) 305.07/136.69 down(g(a)) -> g_flat(down(a)) 305.07/136.69 down(g(f(y8))) -> g_flat(down(f(y8))) 305.07/136.69 down(g(h(y10))) -> g_flat(down(h(y10))) 305.07/136.69 down(g(c)) -> g_flat(down(c)) 305.07/136.69 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 305.07/136.69 f_flat(up(x_1)) -> up(f(x_1)) 305.07/136.69 down(h(h(x))) -> up(c) 305.07/136.69 down(h(a)) -> h_flat(down(a)) 305.07/136.69 down(h(f(y12))) -> h_flat(down(f(y12))) 305.07/136.69 down(h(g(y13))) -> h_flat(down(g(y13))) 305.07/136.69 down(h(c)) -> h_flat(down(c)) 305.07/136.69 down(h(fresh_constant)) -> h_flat(down(fresh_constant)) 305.07/136.69 down(f(f(x))) -> up(g(x)) 305.07/136.69 down(f(a)) -> f_flat(down(a)) 305.07/136.69 down(f(g(y5))) -> f_flat(down(g(y5))) 305.07/136.69 down(f(h(y6))) -> f_flat(down(h(y6))) 305.07/136.69 down(f(c)) -> f_flat(down(c)) 305.07/136.69 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 305.07/136.69 g_flat(up(x_1)) -> up(g(x_1)) 305.07/136.69 h_flat(up(x_1)) -> up(h(x_1)) 305.07/136.69 down(a) -> up(f(a)) 305.07/136.69 305.07/136.69 305.07/136.69 ---------------------------------------- 305.07/136.69 305.07/136.69 (60) 305.07/136.69 Obligation: 305.07/136.69 Q DP problem: 305.07/136.69 The TRS P consists of the following rules: 305.07/136.69 305.07/136.69 TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) 305.07/136.69 TOP(up(f(h(x0)))) -> TOP(f_flat(down(h(x0)))) 305.07/136.69 TOP(up(g(f(x0)))) -> TOP(g_flat(down(f(x0)))) 305.07/136.69 TOP(up(g(h(x0)))) -> TOP(g_flat(down(h(x0)))) 305.07/136.69 TOP(up(h(f(x0)))) -> TOP(h_flat(down(f(x0)))) 305.07/136.69 TOP(up(h(g(x0)))) -> TOP(h_flat(down(g(x0)))) 305.07/136.69 305.07/136.69 The TRS R consists of the following rules: 305.07/136.69 305.07/136.69 down(a) -> up(f(a)) 305.07/136.69 down(f(f(x))) -> up(g(x)) 305.07/136.69 down(g(g(x))) -> up(h(x)) 305.07/136.69 down(h(h(x))) -> up(c) 305.07/136.69 down(f(a)) -> f_flat(down(a)) 305.07/136.69 down(f(g(y5))) -> f_flat(down(g(y5))) 305.07/136.69 down(f(h(y6))) -> f_flat(down(h(y6))) 305.07/136.69 down(f(c)) -> f_flat(down(c)) 305.07/136.69 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 305.07/136.69 down(g(a)) -> g_flat(down(a)) 305.07/136.69 down(g(f(y8))) -> g_flat(down(f(y8))) 305.07/136.69 down(g(h(y10))) -> g_flat(down(h(y10))) 305.07/136.69 down(g(c)) -> g_flat(down(c)) 305.07/136.69 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 305.07/136.69 down(h(a)) -> h_flat(down(a)) 305.07/136.69 down(h(f(y12))) -> h_flat(down(f(y12))) 305.07/136.69 down(h(g(y13))) -> h_flat(down(g(y13))) 305.07/136.69 down(h(c)) -> h_flat(down(c)) 305.07/136.69 down(h(fresh_constant)) -> h_flat(down(fresh_constant)) 305.07/136.69 h_flat(up(x_1)) -> up(h(x_1)) 305.07/136.69 g_flat(up(x_1)) -> up(g(x_1)) 305.07/136.69 f_flat(up(x_1)) -> up(f(x_1)) 305.07/136.69 305.07/136.69 The set Q consists of the following terms: 305.07/136.69 305.07/136.69 down(a) 305.07/136.69 down(f(f(x0))) 305.07/136.69 down(g(g(x0))) 305.07/136.69 down(h(h(x0))) 305.07/136.69 down(f(a)) 305.07/136.69 down(f(g(x0))) 305.07/136.69 down(f(h(x0))) 305.07/136.69 down(f(c)) 305.07/136.69 down(f(fresh_constant)) 305.07/136.69 down(g(a)) 305.07/136.69 down(g(f(x0))) 305.07/136.69 down(g(h(x0))) 305.07/136.69 down(g(c)) 305.07/136.69 down(g(fresh_constant)) 305.07/136.69 down(h(a)) 305.07/136.69 down(h(f(x0))) 305.07/136.69 down(h(g(x0))) 305.07/136.69 down(h(c)) 305.07/136.69 down(h(fresh_constant)) 305.07/136.69 f_flat(up(x0)) 305.07/136.69 g_flat(up(x0)) 305.07/136.69 h_flat(up(x0)) 305.07/136.69 305.07/136.69 We have to consider all minimal (P,Q,R)-chains. 305.07/136.69 ---------------------------------------- 305.07/136.69 305.07/136.69 (61) MNOCProof (EQUIVALENT) 305.07/136.69 We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. 305.07/136.69 ---------------------------------------- 305.07/136.69 305.07/136.69 (62) 305.07/136.69 Obligation: 305.07/136.69 Q DP problem: 305.07/136.69 The TRS P consists of the following rules: 305.07/136.69 305.07/136.69 TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) 305.07/136.69 TOP(up(f(h(x0)))) -> TOP(f_flat(down(h(x0)))) 305.07/136.69 TOP(up(g(f(x0)))) -> TOP(g_flat(down(f(x0)))) 305.07/136.69 TOP(up(g(h(x0)))) -> TOP(g_flat(down(h(x0)))) 305.07/136.69 TOP(up(h(f(x0)))) -> TOP(h_flat(down(f(x0)))) 305.07/136.69 TOP(up(h(g(x0)))) -> TOP(h_flat(down(g(x0)))) 305.07/136.69 305.07/136.69 The TRS R consists of the following rules: 305.07/136.69 305.07/136.69 down(a) -> up(f(a)) 305.07/136.69 down(f(f(x))) -> up(g(x)) 305.07/136.69 down(g(g(x))) -> up(h(x)) 305.07/136.69 down(h(h(x))) -> up(c) 305.07/136.69 down(f(a)) -> f_flat(down(a)) 305.07/136.69 down(f(g(y5))) -> f_flat(down(g(y5))) 305.07/136.69 down(f(h(y6))) -> f_flat(down(h(y6))) 305.07/136.69 down(f(c)) -> f_flat(down(c)) 305.07/136.69 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 305.07/136.69 down(g(a)) -> g_flat(down(a)) 305.07/136.69 down(g(f(y8))) -> g_flat(down(f(y8))) 305.07/136.69 down(g(h(y10))) -> g_flat(down(h(y10))) 305.07/136.69 down(g(c)) -> g_flat(down(c)) 305.07/136.69 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 305.07/136.69 down(h(a)) -> h_flat(down(a)) 305.07/136.69 down(h(f(y12))) -> h_flat(down(f(y12))) 305.07/136.69 down(h(g(y13))) -> h_flat(down(g(y13))) 305.07/136.69 down(h(c)) -> h_flat(down(c)) 305.07/136.69 down(h(fresh_constant)) -> h_flat(down(fresh_constant)) 305.07/136.69 h_flat(up(x_1)) -> up(h(x_1)) 305.07/136.69 g_flat(up(x_1)) -> up(g(x_1)) 305.07/136.69 f_flat(up(x_1)) -> up(f(x_1)) 305.07/136.69 305.07/136.69 Q is empty. 305.07/136.69 We have to consider all (P,Q,R)-chains. 305.07/136.69 ---------------------------------------- 305.07/136.69 305.07/136.69 (63) SplitQDPProof (EQUIVALENT) 305.07/136.69 We show in the first subproof that some pairs and rules can be removed, afterwards, we continue with the remaining DP-Problem 305.07/136.69 305.07/136.69 ---------------------------------------- 305.07/136.69 305.07/136.69 (64) 305.07/136.69 Complex Obligation (AND) 305.07/136.69 305.07/136.69 ---------------------------------------- 305.07/136.69 305.07/136.69 (65) 305.07/136.69 Obligation: 305.07/136.69 Q DP problem: 305.07/136.69 The TRS P consists of the following rules: 305.07/136.69 305.07/136.69 TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) 305.07/136.69 TOP(up(f(h(x0)))) -> TOP(f_flat(down(h(x0)))) 305.07/136.69 TOP(up(g(f(x0)))) -> TOP(g_flat(down(f(x0)))) 305.07/136.69 TOP(up(g(h(x0)))) -> TOP(g_flat(down(h(x0)))) 305.07/136.69 TOP(up(h(f(x0)))) -> TOP(h_flat(down(f(x0)))) 305.07/136.69 TOP(up(h(g(x0)))) -> TOP(h_flat(down(g(x0)))) 305.07/136.69 305.07/136.69 The TRS R consists of the following rules: 305.07/136.69 305.07/136.69 down(a) -> up(f(a)) 305.07/136.69 down(f(f(x))) -> up(g(x)) 305.07/136.69 down(g(g(x))) -> up(h(x)) 305.07/136.69 down(h(h(x))) -> up(c) 305.07/136.69 down(f(a)) -> f_flat(down(a)) 305.07/136.69 down(f(g(y5))) -> f_flat(down(g(y5))) 305.07/136.69 down(f(h(y6))) -> f_flat(down(h(y6))) 305.07/136.69 down(f(c)) -> f_flat(down(c)) 305.07/136.69 down(f(fresh_constant)) -> f_flat(down(fresh_constant)) 305.07/136.69 down(g(a)) -> g_flat(down(a)) 305.07/136.69 down(g(f(y8))) -> g_flat(down(f(y8))) 305.07/136.69 down(g(h(y10))) -> g_flat(down(h(y10))) 305.07/136.69 down(g(c)) -> g_flat(down(c)) 305.07/136.69 down(g(fresh_constant)) -> g_flat(down(fresh_constant)) 305.07/136.69 down(h(a)) -> h_flat(down(a)) 305.07/136.69 down(h(f(y12))) -> h_flat(down(f(y12))) 305.07/136.69 down(h(g(y13))) -> h_flat(down(g(y13))) 305.07/136.69 down(h(c)) -> h_flat(down(c)) 305.07/136.69 down(h(fresh_constant)) -> h_flat(down(fresh_constant)) 305.07/136.69 h_flat(up(x_1)) -> up(h(x_1)) 305.07/136.69 g_flat(up(x_1)) -> up(g(x_1)) 305.07/136.69 f_flat(up(x_1)) -> up(f(x_1)) 305.07/136.69 305.07/136.69 The set Q consists of the following terms: 305.07/136.69 305.07/136.69 down(a) 305.07/136.69 down(f(f(x0))) 305.07/136.69 down(g(g(x0))) 305.07/136.69 down(h(h(x0))) 305.07/136.69 down(f(a)) 305.07/136.69 down(f(g(x0))) 305.07/136.69 down(f(h(x0))) 305.07/136.69 down(f(c)) 305.07/136.69 down(f(fresh_constant)) 305.07/136.69 down(g(a)) 305.07/136.69 down(g(f(x0))) 305.07/136.69 down(g(h(x0))) 305.07/136.69 down(g(c)) 305.07/136.69 down(g(fresh_constant)) 305.07/136.69 down(h(a)) 305.07/136.69 down(h(f(x0))) 305.07/136.69 down(h(g(x0))) 305.07/136.69 down(h(c)) 305.07/136.69 down(h(fresh_constant)) 305.07/136.69 f_flat(up(x0)) 305.07/136.69 g_flat(up(x0)) 305.07/136.69 h_flat(up(x0)) 305.07/136.69 305.07/136.69 We have to consider all minimal (P,Q,R)-chains. 305.07/136.69 ---------------------------------------- 305.07/136.69 305.07/136.69 (66) SemLabProof (SOUND) 305.07/136.69 We found the following model for the rules of the TRSs R and P. 305.07/136.69 Interpretation over the domain with elements from 0 to 1. 305.07/136.69 h_flat: 0 305.07/136.69 a: 0 305.07/136.69 c: 0 305.07/136.69 down: 0 305.07/136.69 f: 0 305.07/136.69 fresh_constant: 1 305.07/136.69 up: 0 305.07/136.69 h: 0 305.07/136.69 f_flat: 0 305.07/136.69 TOP: 0 305.07/136.69 g_flat: 0 305.07/136.69 g: 0 305.07/136.69 By semantic labelling [SEMLAB] we obtain the following labelled QDP problem. 305.07/136.69 ---------------------------------------- 305.07/136.69 305.07/136.69 (67) 305.07/136.69 Obligation: 305.07/136.69 Q DP problem: 305.07/136.69 The TRS P consists of the following rules: 305.07/136.69 305.07/136.69 TOP.0(up.0(f.0(g.0(x0)))) -> TOP.0(f_flat.0(down.0(g.0(x0)))) 305.07/136.69 TOP.0(up.0(f.0(g.1(x0)))) -> TOP.0(f_flat.0(down.0(g.1(x0)))) 305.07/136.69 TOP.0(up.0(f.0(h.0(x0)))) -> TOP.0(f_flat.0(down.0(h.0(x0)))) 305.07/136.69 TOP.0(up.0(f.0(h.1(x0)))) -> TOP.0(f_flat.0(down.0(h.1(x0)))) 305.07/136.69 TOP.0(up.0(g.0(f.0(x0)))) -> TOP.0(g_flat.0(down.0(f.0(x0)))) 305.07/136.69 TOP.0(up.0(g.0(f.1(x0)))) -> TOP.0(g_flat.0(down.0(f.1(x0)))) 305.07/136.69 TOP.0(up.0(g.0(h.0(x0)))) -> TOP.0(g_flat.0(down.0(h.0(x0)))) 305.07/136.69 TOP.0(up.0(g.0(h.1(x0)))) -> TOP.0(g_flat.0(down.0(h.1(x0)))) 305.07/136.69 TOP.0(up.0(h.0(f.0(x0)))) -> TOP.0(h_flat.0(down.0(f.0(x0)))) 305.07/136.69 TOP.0(up.0(h.0(f.1(x0)))) -> TOP.0(h_flat.0(down.0(f.1(x0)))) 305.07/136.69 TOP.0(up.0(h.0(g.0(x0)))) -> TOP.0(h_flat.0(down.0(g.0(x0)))) 305.07/136.69 TOP.0(up.0(h.0(g.1(x0)))) -> TOP.0(h_flat.0(down.0(g.1(x0)))) 305.07/136.69 305.07/136.69 The TRS R consists of the following rules: 305.07/136.69 305.07/136.69 down.0(a.) -> up.0(f.0(a.)) 305.07/136.69 down.0(f.0(f.0(x))) -> up.0(g.0(x)) 305.07/136.69 down.0(f.0(f.1(x))) -> up.0(g.1(x)) 305.07/136.69 down.0(g.0(g.0(x))) -> up.0(h.0(x)) 305.07/136.69 down.0(g.0(g.1(x))) -> up.0(h.1(x)) 305.07/136.69 down.0(h.0(h.0(x))) -> up.0(c.) 305.07/136.69 down.0(h.0(h.1(x))) -> up.0(c.) 305.07/136.69 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 305.07/136.69 down.0(f.0(g.0(y5))) -> f_flat.0(down.0(g.0(y5))) 305.07/136.69 down.0(f.0(g.1(y5))) -> f_flat.0(down.0(g.1(y5))) 305.07/136.69 down.0(f.0(h.0(y6))) -> f_flat.0(down.0(h.0(y6))) 305.07/136.69 down.0(f.0(h.1(y6))) -> f_flat.0(down.0(h.1(y6))) 305.07/136.69 down.0(f.0(c.)) -> f_flat.0(down.0(c.)) 305.07/136.69 down.0(f.1(fresh_constant.)) -> f_flat.0(down.1(fresh_constant.)) 305.07/136.69 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 305.07/136.69 down.0(g.0(f.0(y8))) -> g_flat.0(down.0(f.0(y8))) 305.07/136.69 down.0(g.0(f.1(y8))) -> g_flat.0(down.0(f.1(y8))) 305.07/136.69 down.0(g.0(h.0(y10))) -> g_flat.0(down.0(h.0(y10))) 305.07/136.69 down.0(g.0(h.1(y10))) -> g_flat.0(down.0(h.1(y10))) 305.07/136.69 down.0(g.0(c.)) -> g_flat.0(down.0(c.)) 305.07/136.69 down.0(g.1(fresh_constant.)) -> g_flat.0(down.1(fresh_constant.)) 305.07/136.69 down.0(h.0(a.)) -> h_flat.0(down.0(a.)) 305.07/136.69 down.0(h.0(f.0(y12))) -> h_flat.0(down.0(f.0(y12))) 305.07/136.69 down.0(h.0(f.1(y12))) -> h_flat.0(down.0(f.1(y12))) 305.07/136.69 down.0(h.0(g.0(y13))) -> h_flat.0(down.0(g.0(y13))) 305.07/136.69 down.0(h.0(g.1(y13))) -> h_flat.0(down.0(g.1(y13))) 305.07/136.69 down.0(h.0(c.)) -> h_flat.0(down.0(c.)) 305.07/136.69 down.0(h.1(fresh_constant.)) -> h_flat.0(down.1(fresh_constant.)) 305.07/136.69 h_flat.0(up.0(x_1)) -> up.0(h.0(x_1)) 305.07/136.69 h_flat.0(up.1(x_1)) -> up.0(h.1(x_1)) 305.07/136.69 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 305.07/136.69 g_flat.0(up.1(x_1)) -> up.0(g.1(x_1)) 305.07/136.69 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 305.07/136.69 f_flat.0(up.1(x_1)) -> up.0(f.1(x_1)) 305.07/136.69 305.07/136.69 The set Q consists of the following terms: 305.07/136.69 305.07/136.69 down.0(a.) 305.07/136.69 down.0(f.0(f.0(x0))) 305.07/136.69 down.0(f.0(f.1(x0))) 305.07/136.69 down.0(g.0(g.0(x0))) 305.07/136.69 down.0(g.0(g.1(x0))) 305.07/136.69 down.0(h.0(h.0(x0))) 305.07/136.69 down.0(h.0(h.1(x0))) 305.07/136.69 down.0(f.0(a.)) 305.07/136.69 down.0(f.0(g.0(x0))) 305.07/136.69 down.0(f.0(g.1(x0))) 305.07/136.69 down.0(f.0(h.0(x0))) 305.07/136.69 down.0(f.0(h.1(x0))) 305.07/136.69 down.0(f.0(c.)) 305.07/136.69 down.0(f.1(fresh_constant.)) 305.07/136.69 down.0(g.0(a.)) 305.07/136.69 down.0(g.0(f.0(x0))) 305.07/136.69 down.0(g.0(f.1(x0))) 305.07/136.69 down.0(g.0(h.0(x0))) 305.07/136.69 down.0(g.0(h.1(x0))) 305.07/136.69 down.0(g.0(c.)) 305.07/136.69 down.0(g.1(fresh_constant.)) 305.07/136.69 down.0(h.0(a.)) 305.07/136.69 down.0(h.0(f.0(x0))) 305.07/136.69 down.0(h.0(f.1(x0))) 305.07/136.69 down.0(h.0(g.0(x0))) 305.07/136.69 down.0(h.0(g.1(x0))) 305.07/136.69 down.0(h.0(c.)) 305.07/136.69 down.0(h.1(fresh_constant.)) 305.07/136.69 f_flat.0(up.0(x0)) 305.07/136.69 f_flat.0(up.1(x0)) 305.07/136.69 g_flat.0(up.0(x0)) 305.07/136.69 g_flat.0(up.1(x0)) 305.07/136.69 h_flat.0(up.0(x0)) 305.07/136.69 h_flat.0(up.1(x0)) 305.07/136.69 305.07/136.69 We have to consider all minimal (P,Q,R)-chains. 305.07/136.69 ---------------------------------------- 305.07/136.69 305.07/136.69 (68) UsableRulesReductionPairsProof (EQUIVALENT) 305.07/136.69 By using the usable rules with reduction pair processor [LPAR04] with a polynomial ordering [POLO], all dependency pairs and the corresponding usable rules [FROCOS05] can be oriented non-strictly. All non-usable rules are removed, and those dependency pairs and usable rules that have been oriented strictly or contain non-usable symbols in their left-hand side are removed as well. 305.07/136.69 305.07/136.69 No dependency pairs are removed. 305.07/136.69 305.07/136.69 The following rules are removed from R: 305.07/136.69 305.07/136.69 h_flat.0(up.1(x_1)) -> up.0(h.1(x_1)) 305.07/136.69 g_flat.0(up.1(x_1)) -> up.0(g.1(x_1)) 305.07/136.69 f_flat.0(up.1(x_1)) -> up.0(f.1(x_1)) 305.07/136.69 Used ordering: POLO with Polynomial interpretation [POLO]: 305.07/136.69 305.07/136.69 POL(TOP.0(x_1)) = x_1 305.07/136.69 POL(a.) = 0 305.07/136.69 POL(c.) = 0 305.07/136.69 POL(down.0(x_1)) = 1 + x_1 305.07/136.69 POL(down.1(x_1)) = 1 + x_1 305.07/136.69 POL(f.0(x_1)) = x_1 305.07/136.69 POL(f.1(x_1)) = x_1 305.07/136.69 POL(f_flat.0(x_1)) = x_1 305.07/136.69 POL(fresh_constant.) = 0 305.07/136.69 POL(g.0(x_1)) = x_1 305.07/136.69 POL(g.1(x_1)) = x_1 305.07/136.69 POL(g_flat.0(x_1)) = x_1 305.07/136.69 POL(h.0(x_1)) = x_1 305.07/136.69 POL(h.1(x_1)) = x_1 305.07/136.69 POL(h_flat.0(x_1)) = x_1 305.07/136.69 POL(up.0(x_1)) = 1 + x_1 305.07/136.69 POL(up.1(x_1)) = 1 + x_1 305.07/136.69 305.07/136.69 305.07/136.69 ---------------------------------------- 305.07/136.69 305.07/136.69 (69) 305.07/136.69 Obligation: 305.07/136.69 Q DP problem: 305.07/136.69 The TRS P consists of the following rules: 305.07/136.69 305.07/136.69 TOP.0(up.0(f.0(g.0(x0)))) -> TOP.0(f_flat.0(down.0(g.0(x0)))) 305.07/136.69 TOP.0(up.0(f.0(g.1(x0)))) -> TOP.0(f_flat.0(down.0(g.1(x0)))) 305.07/136.69 TOP.0(up.0(f.0(h.0(x0)))) -> TOP.0(f_flat.0(down.0(h.0(x0)))) 305.07/136.69 TOP.0(up.0(f.0(h.1(x0)))) -> TOP.0(f_flat.0(down.0(h.1(x0)))) 305.07/136.69 TOP.0(up.0(g.0(f.0(x0)))) -> TOP.0(g_flat.0(down.0(f.0(x0)))) 305.07/136.69 TOP.0(up.0(g.0(f.1(x0)))) -> TOP.0(g_flat.0(down.0(f.1(x0)))) 305.07/136.69 TOP.0(up.0(g.0(h.0(x0)))) -> TOP.0(g_flat.0(down.0(h.0(x0)))) 305.07/136.69 TOP.0(up.0(g.0(h.1(x0)))) -> TOP.0(g_flat.0(down.0(h.1(x0)))) 305.07/136.69 TOP.0(up.0(h.0(f.0(x0)))) -> TOP.0(h_flat.0(down.0(f.0(x0)))) 305.07/136.69 TOP.0(up.0(h.0(f.1(x0)))) -> TOP.0(h_flat.0(down.0(f.1(x0)))) 305.07/136.69 TOP.0(up.0(h.0(g.0(x0)))) -> TOP.0(h_flat.0(down.0(g.0(x0)))) 305.07/136.69 TOP.0(up.0(h.0(g.1(x0)))) -> TOP.0(h_flat.0(down.0(g.1(x0)))) 305.07/136.69 305.07/136.69 The TRS R consists of the following rules: 305.07/136.69 305.07/136.69 down.0(g.1(fresh_constant.)) -> g_flat.0(down.1(fresh_constant.)) 305.07/136.69 h_flat.0(up.0(x_1)) -> up.0(h.0(x_1)) 305.07/136.69 down.0(g.0(g.0(x))) -> up.0(h.0(x)) 305.07/136.69 down.0(g.0(g.1(x))) -> up.0(h.1(x)) 305.07/136.69 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 305.07/136.69 down.0(g.0(f.0(y8))) -> g_flat.0(down.0(f.0(y8))) 305.07/136.69 down.0(g.0(f.1(y8))) -> g_flat.0(down.0(f.1(y8))) 305.07/136.69 down.0(g.0(h.0(y10))) -> g_flat.0(down.0(h.0(y10))) 305.07/136.69 down.0(g.0(h.1(y10))) -> g_flat.0(down.0(h.1(y10))) 305.07/136.69 down.0(g.0(c.)) -> g_flat.0(down.0(c.)) 305.07/136.69 down.0(h.1(fresh_constant.)) -> h_flat.0(down.1(fresh_constant.)) 305.07/136.69 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 305.07/136.69 down.0(h.0(h.0(x))) -> up.0(c.) 305.07/136.69 down.0(h.0(h.1(x))) -> up.0(c.) 305.07/136.69 down.0(h.0(a.)) -> h_flat.0(down.0(a.)) 305.07/136.69 down.0(h.0(f.0(y12))) -> h_flat.0(down.0(f.0(y12))) 305.07/136.69 down.0(h.0(f.1(y12))) -> h_flat.0(down.0(f.1(y12))) 305.07/136.69 down.0(h.0(g.0(y13))) -> h_flat.0(down.0(g.0(y13))) 305.07/136.69 down.0(h.0(g.1(y13))) -> h_flat.0(down.0(g.1(y13))) 305.07/136.69 down.0(h.0(c.)) -> h_flat.0(down.0(c.)) 305.07/136.69 down.0(f.1(fresh_constant.)) -> f_flat.0(down.1(fresh_constant.)) 305.07/136.69 down.0(f.0(f.0(x))) -> up.0(g.0(x)) 305.07/136.69 down.0(f.0(f.1(x))) -> up.0(g.1(x)) 305.07/136.69 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 305.07/136.69 down.0(f.0(g.0(y5))) -> f_flat.0(down.0(g.0(y5))) 305.07/136.69 down.0(f.0(g.1(y5))) -> f_flat.0(down.0(g.1(y5))) 305.07/136.69 down.0(f.0(h.0(y6))) -> f_flat.0(down.0(h.0(y6))) 305.07/136.69 down.0(f.0(h.1(y6))) -> f_flat.0(down.0(h.1(y6))) 305.07/136.69 down.0(f.0(c.)) -> f_flat.0(down.0(c.)) 305.07/136.69 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 305.07/136.69 down.0(a.) -> up.0(f.0(a.)) 305.07/136.69 305.07/136.69 The set Q consists of the following terms: 305.07/136.69 305.07/136.69 down.0(a.) 305.07/136.69 down.0(f.0(f.0(x0))) 305.07/136.69 down.0(f.0(f.1(x0))) 305.07/136.69 down.0(g.0(g.0(x0))) 305.07/136.69 down.0(g.0(g.1(x0))) 305.07/136.69 down.0(h.0(h.0(x0))) 305.07/136.69 down.0(h.0(h.1(x0))) 305.07/136.69 down.0(f.0(a.)) 305.07/136.69 down.0(f.0(g.0(x0))) 305.07/136.69 down.0(f.0(g.1(x0))) 305.07/136.69 down.0(f.0(h.0(x0))) 305.07/136.69 down.0(f.0(h.1(x0))) 305.07/136.69 down.0(f.0(c.)) 305.07/136.69 down.0(f.1(fresh_constant.)) 305.07/136.69 down.0(g.0(a.)) 305.07/136.69 down.0(g.0(f.0(x0))) 305.07/136.69 down.0(g.0(f.1(x0))) 305.07/136.69 down.0(g.0(h.0(x0))) 305.07/136.69 down.0(g.0(h.1(x0))) 305.07/136.69 down.0(g.0(c.)) 305.07/136.69 down.0(g.1(fresh_constant.)) 305.07/136.69 down.0(h.0(a.)) 305.07/136.69 down.0(h.0(f.0(x0))) 305.07/136.69 down.0(h.0(f.1(x0))) 305.07/136.69 down.0(h.0(g.0(x0))) 305.07/136.69 down.0(h.0(g.1(x0))) 305.07/136.69 down.0(h.0(c.)) 305.07/136.69 down.0(h.1(fresh_constant.)) 305.07/136.69 f_flat.0(up.0(x0)) 305.07/136.69 f_flat.0(up.1(x0)) 305.07/136.69 g_flat.0(up.0(x0)) 305.07/136.69 g_flat.0(up.1(x0)) 305.07/136.69 h_flat.0(up.0(x0)) 305.07/136.69 h_flat.0(up.1(x0)) 305.07/136.69 305.07/136.69 We have to consider all minimal (P,Q,R)-chains. 305.07/136.69 ---------------------------------------- 305.07/136.69 305.07/136.69 (70) MRRProof (EQUIVALENT) 305.07/136.69 By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. 305.07/136.69 305.07/136.69 305.07/136.69 Strictly oriented rules of the TRS R: 305.07/136.69 305.07/136.69 down.0(g.1(fresh_constant.)) -> g_flat.0(down.1(fresh_constant.)) 305.07/136.69 down.0(h.1(fresh_constant.)) -> h_flat.0(down.1(fresh_constant.)) 305.07/136.69 down.0(h.0(h.1(x))) -> up.0(c.) 305.07/136.69 down.0(f.1(fresh_constant.)) -> f_flat.0(down.1(fresh_constant.)) 305.07/136.69 305.07/136.69 Used ordering: Polynomial interpretation [POLO]: 305.07/136.69 305.07/136.69 POL(TOP.0(x_1)) = x_1 305.07/136.69 POL(a.) = 0 305.07/136.69 POL(c.) = 0 305.07/136.69 POL(down.0(x_1)) = x_1 305.07/136.69 POL(down.1(x_1)) = x_1 305.07/136.69 POL(f.0(x_1)) = x_1 305.07/136.69 POL(f.1(x_1)) = 1 + x_1 305.07/136.69 POL(f_flat.0(x_1)) = x_1 305.07/136.69 POL(fresh_constant.) = 0 305.07/136.69 POL(g.0(x_1)) = x_1 305.07/136.69 POL(g.1(x_1)) = 1 + x_1 305.07/136.69 POL(g_flat.0(x_1)) = x_1 305.07/136.69 POL(h.0(x_1)) = x_1 305.07/136.69 POL(h.1(x_1)) = 1 + x_1 305.07/136.69 POL(h_flat.0(x_1)) = x_1 305.07/136.69 POL(up.0(x_1)) = x_1 305.07/136.69 305.07/136.69 305.07/136.69 ---------------------------------------- 305.07/136.69 305.07/136.69 (71) 305.07/136.69 Obligation: 305.07/136.69 Q DP problem: 305.07/136.69 The TRS P consists of the following rules: 305.07/136.69 305.07/136.69 TOP.0(up.0(f.0(g.0(x0)))) -> TOP.0(f_flat.0(down.0(g.0(x0)))) 305.07/136.69 TOP.0(up.0(f.0(g.1(x0)))) -> TOP.0(f_flat.0(down.0(g.1(x0)))) 305.07/136.69 TOP.0(up.0(f.0(h.0(x0)))) -> TOP.0(f_flat.0(down.0(h.0(x0)))) 305.07/136.69 TOP.0(up.0(f.0(h.1(x0)))) -> TOP.0(f_flat.0(down.0(h.1(x0)))) 305.07/136.69 TOP.0(up.0(g.0(f.0(x0)))) -> TOP.0(g_flat.0(down.0(f.0(x0)))) 305.07/136.69 TOP.0(up.0(g.0(f.1(x0)))) -> TOP.0(g_flat.0(down.0(f.1(x0)))) 305.07/136.69 TOP.0(up.0(g.0(h.0(x0)))) -> TOP.0(g_flat.0(down.0(h.0(x0)))) 305.07/136.69 TOP.0(up.0(g.0(h.1(x0)))) -> TOP.0(g_flat.0(down.0(h.1(x0)))) 305.07/136.69 TOP.0(up.0(h.0(f.0(x0)))) -> TOP.0(h_flat.0(down.0(f.0(x0)))) 305.07/136.69 TOP.0(up.0(h.0(f.1(x0)))) -> TOP.0(h_flat.0(down.0(f.1(x0)))) 305.07/136.69 TOP.0(up.0(h.0(g.0(x0)))) -> TOP.0(h_flat.0(down.0(g.0(x0)))) 305.07/136.69 TOP.0(up.0(h.0(g.1(x0)))) -> TOP.0(h_flat.0(down.0(g.1(x0)))) 305.07/136.69 305.07/136.69 The TRS R consists of the following rules: 305.07/136.69 305.07/136.69 h_flat.0(up.0(x_1)) -> up.0(h.0(x_1)) 305.07/136.69 down.0(g.0(g.0(x))) -> up.0(h.0(x)) 305.07/136.69 down.0(g.0(g.1(x))) -> up.0(h.1(x)) 305.07/136.69 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 305.07/136.69 down.0(g.0(f.0(y8))) -> g_flat.0(down.0(f.0(y8))) 305.07/136.69 down.0(g.0(f.1(y8))) -> g_flat.0(down.0(f.1(y8))) 305.07/136.69 down.0(g.0(h.0(y10))) -> g_flat.0(down.0(h.0(y10))) 305.07/136.69 down.0(g.0(h.1(y10))) -> g_flat.0(down.0(h.1(y10))) 305.07/136.69 down.0(g.0(c.)) -> g_flat.0(down.0(c.)) 305.07/136.69 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 305.07/136.69 down.0(h.0(h.0(x))) -> up.0(c.) 305.07/136.69 down.0(h.0(a.)) -> h_flat.0(down.0(a.)) 305.07/136.69 down.0(h.0(f.0(y12))) -> h_flat.0(down.0(f.0(y12))) 305.07/136.69 down.0(h.0(f.1(y12))) -> h_flat.0(down.0(f.1(y12))) 305.07/136.69 down.0(h.0(g.0(y13))) -> h_flat.0(down.0(g.0(y13))) 305.07/136.69 down.0(h.0(g.1(y13))) -> h_flat.0(down.0(g.1(y13))) 305.07/136.69 down.0(h.0(c.)) -> h_flat.0(down.0(c.)) 305.07/136.69 down.0(f.0(f.0(x))) -> up.0(g.0(x)) 305.07/136.69 down.0(f.0(f.1(x))) -> up.0(g.1(x)) 305.07/136.69 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 305.07/136.69 down.0(f.0(g.0(y5))) -> f_flat.0(down.0(g.0(y5))) 305.07/136.69 down.0(f.0(g.1(y5))) -> f_flat.0(down.0(g.1(y5))) 305.07/136.69 down.0(f.0(h.0(y6))) -> f_flat.0(down.0(h.0(y6))) 305.07/136.69 down.0(f.0(h.1(y6))) -> f_flat.0(down.0(h.1(y6))) 305.07/136.69 down.0(f.0(c.)) -> f_flat.0(down.0(c.)) 305.07/136.69 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 305.07/136.69 down.0(a.) -> up.0(f.0(a.)) 305.07/136.69 305.07/136.69 The set Q consists of the following terms: 305.07/136.69 305.07/136.69 down.0(a.) 305.07/136.69 down.0(f.0(f.0(x0))) 305.07/136.69 down.0(f.0(f.1(x0))) 305.07/136.69 down.0(g.0(g.0(x0))) 305.07/136.69 down.0(g.0(g.1(x0))) 305.07/136.69 down.0(h.0(h.0(x0))) 305.07/136.69 down.0(h.0(h.1(x0))) 305.07/136.69 down.0(f.0(a.)) 305.07/136.69 down.0(f.0(g.0(x0))) 305.07/136.69 down.0(f.0(g.1(x0))) 305.07/136.69 down.0(f.0(h.0(x0))) 305.07/136.69 down.0(f.0(h.1(x0))) 305.07/136.69 down.0(f.0(c.)) 305.07/136.69 down.0(f.1(fresh_constant.)) 305.07/136.69 down.0(g.0(a.)) 305.07/136.69 down.0(g.0(f.0(x0))) 305.07/136.69 down.0(g.0(f.1(x0))) 305.07/136.69 down.0(g.0(h.0(x0))) 305.07/136.69 down.0(g.0(h.1(x0))) 305.07/136.69 down.0(g.0(c.)) 305.07/136.69 down.0(g.1(fresh_constant.)) 305.07/136.69 down.0(h.0(a.)) 305.07/136.69 down.0(h.0(f.0(x0))) 305.07/136.69 down.0(h.0(f.1(x0))) 305.07/136.69 down.0(h.0(g.0(x0))) 305.07/136.69 down.0(h.0(g.1(x0))) 305.07/136.69 down.0(h.0(c.)) 305.07/136.69 down.0(h.1(fresh_constant.)) 305.07/136.69 f_flat.0(up.0(x0)) 305.07/136.69 f_flat.0(up.1(x0)) 305.07/136.69 g_flat.0(up.0(x0)) 305.07/136.69 g_flat.0(up.1(x0)) 305.07/136.69 h_flat.0(up.0(x0)) 305.07/136.69 h_flat.0(up.1(x0)) 305.07/136.69 305.07/136.69 We have to consider all minimal (P,Q,R)-chains. 305.07/136.69 ---------------------------------------- 305.07/136.69 305.07/136.69 (72) DependencyGraphProof (EQUIVALENT) 305.07/136.69 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 6 less nodes. 305.07/136.69 ---------------------------------------- 305.07/136.69 305.07/136.69 (73) 305.07/136.69 Obligation: 305.07/136.69 Q DP problem: 305.07/136.69 The TRS P consists of the following rules: 305.07/136.69 305.07/136.69 TOP.0(up.0(f.0(g.0(x0)))) -> TOP.0(f_flat.0(down.0(g.0(x0)))) 305.07/136.69 TOP.0(up.0(f.0(h.0(x0)))) -> TOP.0(f_flat.0(down.0(h.0(x0)))) 305.07/136.69 TOP.0(up.0(g.0(f.0(x0)))) -> TOP.0(g_flat.0(down.0(f.0(x0)))) 305.07/136.69 TOP.0(up.0(g.0(h.0(x0)))) -> TOP.0(g_flat.0(down.0(h.0(x0)))) 305.07/136.69 TOP.0(up.0(h.0(f.0(x0)))) -> TOP.0(h_flat.0(down.0(f.0(x0)))) 305.07/136.69 TOP.0(up.0(h.0(g.0(x0)))) -> TOP.0(h_flat.0(down.0(g.0(x0)))) 305.07/136.69 305.07/136.69 The TRS R consists of the following rules: 305.07/136.69 305.07/136.69 h_flat.0(up.0(x_1)) -> up.0(h.0(x_1)) 305.07/136.69 down.0(g.0(g.0(x))) -> up.0(h.0(x)) 305.07/136.69 down.0(g.0(g.1(x))) -> up.0(h.1(x)) 305.07/136.69 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 305.07/136.69 down.0(g.0(f.0(y8))) -> g_flat.0(down.0(f.0(y8))) 305.07/136.69 down.0(g.0(f.1(y8))) -> g_flat.0(down.0(f.1(y8))) 305.07/136.69 down.0(g.0(h.0(y10))) -> g_flat.0(down.0(h.0(y10))) 305.07/136.69 down.0(g.0(h.1(y10))) -> g_flat.0(down.0(h.1(y10))) 305.07/136.69 down.0(g.0(c.)) -> g_flat.0(down.0(c.)) 305.07/136.69 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 305.07/136.69 down.0(h.0(h.0(x))) -> up.0(c.) 305.07/136.69 down.0(h.0(a.)) -> h_flat.0(down.0(a.)) 305.07/136.69 down.0(h.0(f.0(y12))) -> h_flat.0(down.0(f.0(y12))) 305.07/136.69 down.0(h.0(f.1(y12))) -> h_flat.0(down.0(f.1(y12))) 305.07/136.69 down.0(h.0(g.0(y13))) -> h_flat.0(down.0(g.0(y13))) 305.07/136.69 down.0(h.0(g.1(y13))) -> h_flat.0(down.0(g.1(y13))) 305.07/136.69 down.0(h.0(c.)) -> h_flat.0(down.0(c.)) 305.07/136.69 down.0(f.0(f.0(x))) -> up.0(g.0(x)) 305.07/136.69 down.0(f.0(f.1(x))) -> up.0(g.1(x)) 305.07/136.69 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 305.07/136.69 down.0(f.0(g.0(y5))) -> f_flat.0(down.0(g.0(y5))) 305.07/136.69 down.0(f.0(g.1(y5))) -> f_flat.0(down.0(g.1(y5))) 305.07/136.69 down.0(f.0(h.0(y6))) -> f_flat.0(down.0(h.0(y6))) 305.07/136.69 down.0(f.0(h.1(y6))) -> f_flat.0(down.0(h.1(y6))) 305.07/136.69 down.0(f.0(c.)) -> f_flat.0(down.0(c.)) 305.07/136.69 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 305.07/136.69 down.0(a.) -> up.0(f.0(a.)) 305.07/136.69 305.07/136.69 The set Q consists of the following terms: 305.07/136.69 305.07/136.69 down.0(a.) 305.07/136.69 down.0(f.0(f.0(x0))) 305.07/136.69 down.0(f.0(f.1(x0))) 305.07/136.69 down.0(g.0(g.0(x0))) 305.07/136.69 down.0(g.0(g.1(x0))) 305.07/136.69 down.0(h.0(h.0(x0))) 305.07/136.69 down.0(h.0(h.1(x0))) 305.07/136.69 down.0(f.0(a.)) 305.07/136.69 down.0(f.0(g.0(x0))) 305.07/136.69 down.0(f.0(g.1(x0))) 305.07/136.69 down.0(f.0(h.0(x0))) 305.07/136.69 down.0(f.0(h.1(x0))) 305.07/136.69 down.0(f.0(c.)) 305.07/136.69 down.0(f.1(fresh_constant.)) 305.07/136.69 down.0(g.0(a.)) 305.07/136.69 down.0(g.0(f.0(x0))) 305.07/136.69 down.0(g.0(f.1(x0))) 305.07/136.69 down.0(g.0(h.0(x0))) 305.07/136.69 down.0(g.0(h.1(x0))) 305.07/136.69 down.0(g.0(c.)) 305.07/136.69 down.0(g.1(fresh_constant.)) 305.07/136.69 down.0(h.0(a.)) 305.07/136.69 down.0(h.0(f.0(x0))) 305.07/136.69 down.0(h.0(f.1(x0))) 305.07/136.69 down.0(h.0(g.0(x0))) 305.07/136.69 down.0(h.0(g.1(x0))) 305.07/136.69 down.0(h.0(c.)) 305.07/136.69 down.0(h.1(fresh_constant.)) 305.07/136.69 f_flat.0(up.0(x0)) 305.07/136.69 f_flat.0(up.1(x0)) 305.07/136.69 g_flat.0(up.0(x0)) 305.07/136.69 g_flat.0(up.1(x0)) 305.07/136.69 h_flat.0(up.0(x0)) 305.07/136.69 h_flat.0(up.1(x0)) 305.07/136.69 305.07/136.69 We have to consider all minimal (P,Q,R)-chains. 305.07/136.69 ---------------------------------------- 305.07/136.69 305.07/136.69 (74) MRRProof (EQUIVALENT) 305.07/136.69 By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. 305.07/136.69 305.07/136.69 305.07/136.69 Strictly oriented rules of the TRS R: 305.07/136.69 305.07/136.69 down.0(g.0(g.1(x))) -> up.0(h.1(x)) 305.07/136.69 305.07/136.69 Used ordering: Polynomial interpretation [POLO]: 305.07/136.69 305.07/136.69 POL(TOP.0(x_1)) = x_1 305.07/136.69 POL(a.) = 0 305.07/136.69 POL(c.) = 0 305.07/136.69 POL(down.0(x_1)) = x_1 305.07/136.69 POL(f.0(x_1)) = x_1 305.07/136.69 POL(f.1(x_1)) = 1 + x_1 305.07/136.69 POL(f_flat.0(x_1)) = x_1 305.07/136.69 POL(g.0(x_1)) = x_1 305.07/136.69 POL(g.1(x_1)) = 1 + x_1 305.07/136.69 POL(g_flat.0(x_1)) = x_1 305.07/136.69 POL(h.0(x_1)) = x_1 305.07/136.69 POL(h.1(x_1)) = x_1 305.07/136.69 POL(h_flat.0(x_1)) = x_1 305.07/136.69 POL(up.0(x_1)) = x_1 305.07/136.69 305.07/136.69 305.07/136.69 ---------------------------------------- 305.07/136.69 305.07/136.69 (75) 305.07/136.69 Obligation: 305.07/136.69 Q DP problem: 305.07/136.69 The TRS P consists of the following rules: 305.07/136.69 305.07/136.69 TOP.0(up.0(f.0(g.0(x0)))) -> TOP.0(f_flat.0(down.0(g.0(x0)))) 305.07/136.69 TOP.0(up.0(f.0(h.0(x0)))) -> TOP.0(f_flat.0(down.0(h.0(x0)))) 305.07/136.69 TOP.0(up.0(g.0(f.0(x0)))) -> TOP.0(g_flat.0(down.0(f.0(x0)))) 305.07/136.69 TOP.0(up.0(g.0(h.0(x0)))) -> TOP.0(g_flat.0(down.0(h.0(x0)))) 305.07/136.69 TOP.0(up.0(h.0(f.0(x0)))) -> TOP.0(h_flat.0(down.0(f.0(x0)))) 305.07/136.69 TOP.0(up.0(h.0(g.0(x0)))) -> TOP.0(h_flat.0(down.0(g.0(x0)))) 305.07/136.69 305.07/136.69 The TRS R consists of the following rules: 305.07/136.69 305.07/136.69 h_flat.0(up.0(x_1)) -> up.0(h.0(x_1)) 305.07/136.69 down.0(g.0(g.0(x))) -> up.0(h.0(x)) 305.07/136.69 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 305.07/136.69 down.0(g.0(f.0(y8))) -> g_flat.0(down.0(f.0(y8))) 305.07/136.69 down.0(g.0(f.1(y8))) -> g_flat.0(down.0(f.1(y8))) 305.07/136.69 down.0(g.0(h.0(y10))) -> g_flat.0(down.0(h.0(y10))) 305.07/136.69 down.0(g.0(h.1(y10))) -> g_flat.0(down.0(h.1(y10))) 305.07/136.69 down.0(g.0(c.)) -> g_flat.0(down.0(c.)) 305.07/136.69 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 305.07/136.69 down.0(h.0(h.0(x))) -> up.0(c.) 305.07/136.69 down.0(h.0(a.)) -> h_flat.0(down.0(a.)) 305.07/136.69 down.0(h.0(f.0(y12))) -> h_flat.0(down.0(f.0(y12))) 305.07/136.69 down.0(h.0(f.1(y12))) -> h_flat.0(down.0(f.1(y12))) 305.07/136.69 down.0(h.0(g.0(y13))) -> h_flat.0(down.0(g.0(y13))) 305.07/136.69 down.0(h.0(g.1(y13))) -> h_flat.0(down.0(g.1(y13))) 305.07/136.69 down.0(h.0(c.)) -> h_flat.0(down.0(c.)) 305.07/136.69 down.0(f.0(f.0(x))) -> up.0(g.0(x)) 305.07/136.69 down.0(f.0(f.1(x))) -> up.0(g.1(x)) 305.07/136.69 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 305.07/136.69 down.0(f.0(g.0(y5))) -> f_flat.0(down.0(g.0(y5))) 305.07/136.69 down.0(f.0(g.1(y5))) -> f_flat.0(down.0(g.1(y5))) 305.07/136.69 down.0(f.0(h.0(y6))) -> f_flat.0(down.0(h.0(y6))) 305.07/136.69 down.0(f.0(h.1(y6))) -> f_flat.0(down.0(h.1(y6))) 305.07/136.69 down.0(f.0(c.)) -> f_flat.0(down.0(c.)) 305.07/136.69 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 305.07/136.69 down.0(a.) -> up.0(f.0(a.)) 305.07/136.69 305.07/136.69 The set Q consists of the following terms: 305.07/136.69 305.07/136.69 down.0(a.) 305.07/136.69 down.0(f.0(f.0(x0))) 305.07/136.69 down.0(f.0(f.1(x0))) 305.07/136.69 down.0(g.0(g.0(x0))) 305.07/136.69 down.0(g.0(g.1(x0))) 305.07/136.69 down.0(h.0(h.0(x0))) 305.07/136.69 down.0(h.0(h.1(x0))) 305.07/136.69 down.0(f.0(a.)) 305.07/136.69 down.0(f.0(g.0(x0))) 305.07/136.69 down.0(f.0(g.1(x0))) 305.07/136.69 down.0(f.0(h.0(x0))) 305.07/136.69 down.0(f.0(h.1(x0))) 305.07/136.69 down.0(f.0(c.)) 305.07/136.69 down.0(f.1(fresh_constant.)) 305.07/136.69 down.0(g.0(a.)) 305.07/136.69 down.0(g.0(f.0(x0))) 305.07/136.69 down.0(g.0(f.1(x0))) 305.07/136.69 down.0(g.0(h.0(x0))) 305.07/136.69 down.0(g.0(h.1(x0))) 305.07/136.69 down.0(g.0(c.)) 305.07/136.69 down.0(g.1(fresh_constant.)) 305.07/136.69 down.0(h.0(a.)) 305.07/136.69 down.0(h.0(f.0(x0))) 305.07/136.69 down.0(h.0(f.1(x0))) 305.07/136.69 down.0(h.0(g.0(x0))) 305.07/136.69 down.0(h.0(g.1(x0))) 305.07/136.69 down.0(h.0(c.)) 305.07/136.69 down.0(h.1(fresh_constant.)) 305.20/136.69 f_flat.0(up.0(x0)) 305.20/136.69 f_flat.0(up.1(x0)) 305.20/136.69 g_flat.0(up.0(x0)) 305.20/136.69 g_flat.0(up.1(x0)) 305.20/136.69 h_flat.0(up.0(x0)) 305.20/136.69 h_flat.0(up.1(x0)) 305.20/136.69 305.20/136.69 We have to consider all minimal (P,Q,R)-chains. 305.20/136.69 ---------------------------------------- 305.20/136.69 305.20/136.69 (76) MRRProof (EQUIVALENT) 305.20/136.69 By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. 305.20/136.69 305.20/136.69 305.20/136.69 Strictly oriented rules of the TRS R: 305.20/136.69 305.20/136.69 down.0(f.0(f.1(x))) -> up.0(g.1(x)) 305.20/136.69 305.20/136.69 Used ordering: Polynomial interpretation [POLO]: 305.20/136.69 305.20/136.69 POL(TOP.0(x_1)) = x_1 305.20/136.69 POL(a.) = 0 305.20/136.69 POL(c.) = 0 305.20/136.69 POL(down.0(x_1)) = 1 + x_1 305.20/136.69 POL(f.0(x_1)) = x_1 305.20/136.69 POL(f.1(x_1)) = 1 + x_1 305.20/136.69 POL(f_flat.0(x_1)) = x_1 305.20/136.69 POL(g.0(x_1)) = x_1 305.20/136.69 POL(g.1(x_1)) = x_1 305.20/136.69 POL(g_flat.0(x_1)) = x_1 305.20/136.69 POL(h.0(x_1)) = x_1 305.20/136.69 POL(h.1(x_1)) = x_1 305.20/136.69 POL(h_flat.0(x_1)) = x_1 305.20/136.69 POL(up.0(x_1)) = 1 + x_1 305.20/136.69 305.20/136.69 305.20/136.69 ---------------------------------------- 305.20/136.69 305.20/136.69 (77) 305.20/136.69 Obligation: 305.20/136.69 Q DP problem: 305.20/136.69 The TRS P consists of the following rules: 305.20/136.69 305.20/136.69 TOP.0(up.0(f.0(g.0(x0)))) -> TOP.0(f_flat.0(down.0(g.0(x0)))) 305.20/136.69 TOP.0(up.0(f.0(h.0(x0)))) -> TOP.0(f_flat.0(down.0(h.0(x0)))) 305.20/136.69 TOP.0(up.0(g.0(f.0(x0)))) -> TOP.0(g_flat.0(down.0(f.0(x0)))) 305.20/136.69 TOP.0(up.0(g.0(h.0(x0)))) -> TOP.0(g_flat.0(down.0(h.0(x0)))) 305.20/136.69 TOP.0(up.0(h.0(f.0(x0)))) -> TOP.0(h_flat.0(down.0(f.0(x0)))) 305.20/136.69 TOP.0(up.0(h.0(g.0(x0)))) -> TOP.0(h_flat.0(down.0(g.0(x0)))) 305.20/136.69 305.20/136.69 The TRS R consists of the following rules: 305.20/136.69 305.20/136.69 h_flat.0(up.0(x_1)) -> up.0(h.0(x_1)) 305.20/136.69 down.0(g.0(g.0(x))) -> up.0(h.0(x)) 305.20/136.69 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 305.20/136.69 down.0(g.0(f.0(y8))) -> g_flat.0(down.0(f.0(y8))) 305.20/136.69 down.0(g.0(f.1(y8))) -> g_flat.0(down.0(f.1(y8))) 305.20/136.69 down.0(g.0(h.0(y10))) -> g_flat.0(down.0(h.0(y10))) 305.20/136.69 down.0(g.0(h.1(y10))) -> g_flat.0(down.0(h.1(y10))) 305.20/136.69 down.0(g.0(c.)) -> g_flat.0(down.0(c.)) 305.20/136.69 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 305.20/136.69 down.0(h.0(h.0(x))) -> up.0(c.) 305.20/136.69 down.0(h.0(a.)) -> h_flat.0(down.0(a.)) 305.20/136.69 down.0(h.0(f.0(y12))) -> h_flat.0(down.0(f.0(y12))) 305.20/136.69 down.0(h.0(f.1(y12))) -> h_flat.0(down.0(f.1(y12))) 305.20/136.69 down.0(h.0(g.0(y13))) -> h_flat.0(down.0(g.0(y13))) 305.20/136.69 down.0(h.0(g.1(y13))) -> h_flat.0(down.0(g.1(y13))) 305.20/136.69 down.0(h.0(c.)) -> h_flat.0(down.0(c.)) 305.20/136.69 down.0(f.0(f.0(x))) -> up.0(g.0(x)) 305.20/136.69 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 305.20/136.69 down.0(f.0(g.0(y5))) -> f_flat.0(down.0(g.0(y5))) 305.20/136.69 down.0(f.0(g.1(y5))) -> f_flat.0(down.0(g.1(y5))) 305.20/136.69 down.0(f.0(h.0(y6))) -> f_flat.0(down.0(h.0(y6))) 305.20/136.69 down.0(f.0(h.1(y6))) -> f_flat.0(down.0(h.1(y6))) 305.20/136.69 down.0(f.0(c.)) -> f_flat.0(down.0(c.)) 305.20/136.69 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 305.20/136.69 down.0(a.) -> up.0(f.0(a.)) 305.20/136.69 305.20/136.69 The set Q consists of the following terms: 305.20/136.69 305.20/136.69 down.0(a.) 305.20/136.69 down.0(f.0(f.0(x0))) 305.20/136.69 down.0(f.0(f.1(x0))) 305.20/136.69 down.0(g.0(g.0(x0))) 305.20/136.69 down.0(g.0(g.1(x0))) 305.20/136.69 down.0(h.0(h.0(x0))) 305.20/136.69 down.0(h.0(h.1(x0))) 305.20/136.69 down.0(f.0(a.)) 305.20/136.69 down.0(f.0(g.0(x0))) 305.20/136.69 down.0(f.0(g.1(x0))) 305.20/136.69 down.0(f.0(h.0(x0))) 305.20/136.69 down.0(f.0(h.1(x0))) 305.20/136.69 down.0(f.0(c.)) 305.20/136.69 down.0(f.1(fresh_constant.)) 305.20/136.69 down.0(g.0(a.)) 305.20/136.69 down.0(g.0(f.0(x0))) 305.20/136.69 down.0(g.0(f.1(x0))) 305.20/136.69 down.0(g.0(h.0(x0))) 305.20/136.69 down.0(g.0(h.1(x0))) 305.20/136.69 down.0(g.0(c.)) 305.20/136.69 down.0(g.1(fresh_constant.)) 305.20/136.69 down.0(h.0(a.)) 305.20/136.69 down.0(h.0(f.0(x0))) 305.20/136.69 down.0(h.0(f.1(x0))) 305.20/136.69 down.0(h.0(g.0(x0))) 305.20/136.69 down.0(h.0(g.1(x0))) 305.20/136.69 down.0(h.0(c.)) 305.20/136.69 down.0(h.1(fresh_constant.)) 305.20/136.69 f_flat.0(up.0(x0)) 305.20/136.69 f_flat.0(up.1(x0)) 305.20/136.69 g_flat.0(up.0(x0)) 305.20/136.69 g_flat.0(up.1(x0)) 305.20/136.69 h_flat.0(up.0(x0)) 305.20/136.69 h_flat.0(up.1(x0)) 305.20/136.69 305.20/136.69 We have to consider all minimal (P,Q,R)-chains. 305.20/136.69 ---------------------------------------- 305.20/136.69 305.20/136.69 (78) PisEmptyProof (SOUND) 305.20/136.69 The TRS P is empty. Hence, there is no (P,Q,R) chain. 305.20/136.69 ---------------------------------------- 305.20/136.69 305.20/136.69 (79) 305.20/136.69 TRUE 305.20/136.69 305.20/136.69 ---------------------------------------- 305.20/136.69 305.20/136.69 (80) 305.20/136.69 Obligation: 305.20/136.69 Q DP problem: 305.20/136.69 The TRS P consists of the following rules: 305.20/136.69 305.20/136.69 TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) 305.20/136.69 TOP(up(f(h(x0)))) -> TOP(f_flat(down(h(x0)))) 305.20/136.69 TOP(up(g(f(x0)))) -> TOP(g_flat(down(f(x0)))) 305.20/136.69 TOP(up(g(h(x0)))) -> TOP(g_flat(down(h(x0)))) 305.20/136.69 TOP(up(h(f(x0)))) -> TOP(h_flat(down(f(x0)))) 305.20/136.69 TOP(up(h(g(x0)))) -> TOP(h_flat(down(g(x0)))) 305.20/136.69 305.20/136.69 The TRS R consists of the following rules: 305.20/136.69 305.20/136.69 h_flat(up(x_1)) -> up(h(x_1)) 305.20/136.69 down(g(g(x))) -> up(h(x)) 305.20/136.69 down(g(a)) -> g_flat(down(a)) 305.20/136.69 down(g(f(y8))) -> g_flat(down(f(y8))) 305.20/136.69 down(g(h(y10))) -> g_flat(down(h(y10))) 305.20/136.69 down(g(c)) -> g_flat(down(c)) 305.20/136.69 g_flat(up(x_1)) -> up(g(x_1)) 305.20/136.69 down(h(h(x))) -> up(c) 305.20/136.69 down(h(a)) -> h_flat(down(a)) 305.20/136.69 down(h(f(y12))) -> h_flat(down(f(y12))) 305.20/136.69 down(h(g(y13))) -> h_flat(down(g(y13))) 305.20/136.69 down(h(c)) -> h_flat(down(c)) 305.20/136.69 down(f(f(x))) -> up(g(x)) 305.20/136.69 down(f(a)) -> f_flat(down(a)) 305.20/136.69 down(f(g(y5))) -> f_flat(down(g(y5))) 305.20/136.69 down(f(h(y6))) -> f_flat(down(h(y6))) 305.20/136.69 down(f(c)) -> f_flat(down(c)) 305.20/136.69 f_flat(up(x_1)) -> up(f(x_1)) 305.20/136.69 down(a) -> up(f(a)) 305.20/136.69 305.20/136.69 The set Q consists of the following terms: 305.20/136.69 305.20/136.69 down(a) 305.20/136.69 down(f(f(x0))) 305.20/136.69 down(g(g(x0))) 305.20/136.69 down(h(h(x0))) 305.20/136.69 down(f(a)) 305.20/136.69 down(f(g(x0))) 305.20/136.69 down(f(h(x0))) 305.20/136.69 down(f(c)) 305.20/136.69 down(f(fresh_constant)) 305.20/136.69 down(g(a)) 305.20/136.69 down(g(f(x0))) 305.20/136.69 down(g(h(x0))) 305.20/136.69 down(g(c)) 305.20/136.69 down(g(fresh_constant)) 305.20/136.69 down(h(a)) 305.20/136.69 down(h(f(x0))) 305.20/136.69 down(h(g(x0))) 305.20/136.69 down(h(c)) 305.20/136.69 down(h(fresh_constant)) 305.20/136.69 f_flat(up(x0)) 305.20/136.69 g_flat(up(x0)) 305.20/136.69 h_flat(up(x0)) 305.20/136.69 305.20/136.69 We have to consider all minimal (P,Q,R)-chains. 305.20/136.69 ---------------------------------------- 305.20/136.69 305.20/136.69 (81) QReductionProof (EQUIVALENT) 305.20/136.69 We deleted the following terms from Q as they contain symbols which do neither occur in P nor in R.[THIEMANN]. 305.20/136.69 305.20/136.69 down(f(fresh_constant)) 305.20/136.69 down(g(fresh_constant)) 305.20/136.69 down(h(fresh_constant)) 305.20/136.69 305.20/136.69 305.20/136.69 ---------------------------------------- 305.20/136.69 305.20/136.69 (82) 305.20/136.69 Obligation: 305.20/136.69 Q DP problem: 305.20/136.69 The TRS P consists of the following rules: 305.20/136.69 305.20/136.69 TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) 305.20/136.69 TOP(up(f(h(x0)))) -> TOP(f_flat(down(h(x0)))) 305.20/136.69 TOP(up(g(f(x0)))) -> TOP(g_flat(down(f(x0)))) 305.20/136.69 TOP(up(g(h(x0)))) -> TOP(g_flat(down(h(x0)))) 305.20/136.69 TOP(up(h(f(x0)))) -> TOP(h_flat(down(f(x0)))) 305.20/136.69 TOP(up(h(g(x0)))) -> TOP(h_flat(down(g(x0)))) 305.20/136.69 305.20/136.69 The TRS R consists of the following rules: 305.20/136.69 305.20/136.69 h_flat(up(x_1)) -> up(h(x_1)) 305.20/136.69 down(g(g(x))) -> up(h(x)) 305.20/136.69 down(g(a)) -> g_flat(down(a)) 305.20/136.69 down(g(f(y8))) -> g_flat(down(f(y8))) 305.20/136.69 down(g(h(y10))) -> g_flat(down(h(y10))) 305.20/136.69 down(g(c)) -> g_flat(down(c)) 305.20/136.69 g_flat(up(x_1)) -> up(g(x_1)) 305.20/136.69 down(h(h(x))) -> up(c) 305.20/136.69 down(h(a)) -> h_flat(down(a)) 305.20/136.69 down(h(f(y12))) -> h_flat(down(f(y12))) 305.20/136.69 down(h(g(y13))) -> h_flat(down(g(y13))) 305.20/136.69 down(h(c)) -> h_flat(down(c)) 305.20/136.69 down(f(f(x))) -> up(g(x)) 305.20/136.69 down(f(a)) -> f_flat(down(a)) 305.20/136.69 down(f(g(y5))) -> f_flat(down(g(y5))) 305.20/136.69 down(f(h(y6))) -> f_flat(down(h(y6))) 305.20/136.69 down(f(c)) -> f_flat(down(c)) 305.20/136.69 f_flat(up(x_1)) -> up(f(x_1)) 305.20/136.69 down(a) -> up(f(a)) 305.20/136.69 305.20/136.69 The set Q consists of the following terms: 305.20/136.69 305.20/136.69 down(a) 305.20/136.69 down(f(f(x0))) 305.20/136.69 down(g(g(x0))) 305.20/136.69 down(h(h(x0))) 305.20/136.69 down(f(a)) 305.20/136.69 down(f(g(x0))) 305.20/136.69 down(f(h(x0))) 305.20/136.69 down(f(c)) 305.20/136.69 down(g(a)) 305.20/136.69 down(g(f(x0))) 305.20/136.69 down(g(h(x0))) 305.20/136.69 down(g(c)) 305.20/136.69 down(h(a)) 305.20/136.69 down(h(f(x0))) 305.20/136.69 down(h(g(x0))) 305.20/136.69 down(h(c)) 305.20/136.69 f_flat(up(x0)) 305.20/136.69 g_flat(up(x0)) 305.20/136.69 h_flat(up(x0)) 305.20/136.69 305.20/136.69 We have to consider all (P,Q,R)-chains. 305.20/136.69 ---------------------------------------- 305.20/136.69 305.20/136.69 (83) MNOCProof (EQUIVALENT) 305.20/136.69 We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. 305.20/136.69 ---------------------------------------- 305.20/136.69 305.20/136.69 (84) 305.20/136.69 Obligation: 305.20/136.69 Q DP problem: 305.20/136.69 The TRS P consists of the following rules: 305.20/136.69 305.20/136.69 TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) 305.20/136.69 TOP(up(f(h(x0)))) -> TOP(f_flat(down(h(x0)))) 305.20/136.69 TOP(up(g(f(x0)))) -> TOP(g_flat(down(f(x0)))) 305.20/136.69 TOP(up(g(h(x0)))) -> TOP(g_flat(down(h(x0)))) 305.20/136.69 TOP(up(h(f(x0)))) -> TOP(h_flat(down(f(x0)))) 305.20/136.69 TOP(up(h(g(x0)))) -> TOP(h_flat(down(g(x0)))) 305.20/136.69 305.20/136.69 The TRS R consists of the following rules: 305.20/136.69 305.20/136.69 h_flat(up(x_1)) -> up(h(x_1)) 305.20/136.69 down(g(g(x))) -> up(h(x)) 305.20/136.69 down(g(a)) -> g_flat(down(a)) 305.20/136.69 down(g(f(y8))) -> g_flat(down(f(y8))) 305.20/136.69 down(g(h(y10))) -> g_flat(down(h(y10))) 305.20/136.69 down(g(c)) -> g_flat(down(c)) 305.20/136.69 g_flat(up(x_1)) -> up(g(x_1)) 305.20/136.69 down(h(h(x))) -> up(c) 305.20/136.69 down(h(a)) -> h_flat(down(a)) 305.20/136.69 down(h(f(y12))) -> h_flat(down(f(y12))) 305.20/136.69 down(h(g(y13))) -> h_flat(down(g(y13))) 305.20/136.69 down(h(c)) -> h_flat(down(c)) 305.20/136.69 down(f(f(x))) -> up(g(x)) 305.20/136.69 down(f(a)) -> f_flat(down(a)) 305.20/136.69 down(f(g(y5))) -> f_flat(down(g(y5))) 305.20/136.69 down(f(h(y6))) -> f_flat(down(h(y6))) 305.20/136.69 down(f(c)) -> f_flat(down(c)) 305.20/136.69 f_flat(up(x_1)) -> up(f(x_1)) 305.20/136.69 down(a) -> up(f(a)) 305.20/136.69 305.20/136.69 Q is empty. 305.20/136.69 We have to consider all (P,Q,R)-chains. 305.20/136.69 ---------------------------------------- 305.20/136.69 305.20/136.69 (85) SplitQDPProof (EQUIVALENT) 305.20/136.69 We show in the first subproof that some pairs and rules can be removed, afterwards, we continue with the remaining DP-Problem 305.20/136.69 305.20/136.69 ---------------------------------------- 305.20/136.69 305.20/136.69 (86) 305.20/136.69 Complex Obligation (AND) 305.20/136.69 305.20/136.69 ---------------------------------------- 305.20/136.69 305.20/136.69 (87) 305.20/136.69 Obligation: 305.20/136.69 Q DP problem: 305.20/136.69 The TRS P consists of the following rules: 305.20/136.69 305.20/136.69 TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) 305.20/136.69 TOP(up(f(h(x0)))) -> TOP(f_flat(down(h(x0)))) 305.20/136.69 TOP(up(g(f(x0)))) -> TOP(g_flat(down(f(x0)))) 305.20/136.69 TOP(up(g(h(x0)))) -> TOP(g_flat(down(h(x0)))) 305.20/136.69 TOP(up(h(f(x0)))) -> TOP(h_flat(down(f(x0)))) 305.20/136.69 TOP(up(h(g(x0)))) -> TOP(h_flat(down(g(x0)))) 305.20/136.69 305.20/136.69 The TRS R consists of the following rules: 305.20/136.69 305.20/136.69 h_flat(up(x_1)) -> up(h(x_1)) 305.20/136.69 down(g(g(x))) -> up(h(x)) 305.20/136.69 down(g(a)) -> g_flat(down(a)) 305.20/136.69 down(g(f(y8))) -> g_flat(down(f(y8))) 305.20/136.69 down(g(h(y10))) -> g_flat(down(h(y10))) 305.20/136.69 down(g(c)) -> g_flat(down(c)) 305.20/136.69 g_flat(up(x_1)) -> up(g(x_1)) 305.20/136.69 down(h(h(x))) -> up(c) 305.20/136.69 down(h(a)) -> h_flat(down(a)) 305.20/136.69 down(h(f(y12))) -> h_flat(down(f(y12))) 305.20/136.69 down(h(g(y13))) -> h_flat(down(g(y13))) 305.20/136.69 down(h(c)) -> h_flat(down(c)) 305.20/136.69 down(f(f(x))) -> up(g(x)) 305.20/136.69 down(f(a)) -> f_flat(down(a)) 305.20/136.69 down(f(g(y5))) -> f_flat(down(g(y5))) 305.20/136.69 down(f(h(y6))) -> f_flat(down(h(y6))) 305.20/136.69 down(f(c)) -> f_flat(down(c)) 305.20/136.69 f_flat(up(x_1)) -> up(f(x_1)) 305.20/136.69 down(a) -> up(f(a)) 305.20/136.69 305.20/136.69 The set Q consists of the following terms: 305.20/136.69 305.20/136.69 down(a) 305.20/136.69 down(f(f(x0))) 305.20/136.69 down(g(g(x0))) 305.20/136.69 down(h(h(x0))) 305.20/136.69 down(f(a)) 305.20/136.69 down(f(g(x0))) 305.20/136.69 down(f(h(x0))) 305.20/136.69 down(f(c)) 305.20/136.69 down(f(fresh_constant)) 305.20/136.69 down(g(a)) 305.20/136.69 down(g(f(x0))) 305.20/136.69 down(g(h(x0))) 305.20/136.69 down(g(c)) 305.20/136.69 down(g(fresh_constant)) 305.20/136.69 down(h(a)) 305.20/136.69 down(h(f(x0))) 305.20/136.69 down(h(g(x0))) 305.20/136.69 down(h(c)) 305.20/136.69 down(h(fresh_constant)) 305.20/136.69 f_flat(up(x0)) 305.20/136.69 g_flat(up(x0)) 305.20/136.69 h_flat(up(x0)) 305.20/136.69 305.20/136.69 We have to consider all minimal (P,Q,R)-chains. 305.20/136.69 ---------------------------------------- 305.20/136.69 305.20/136.69 (88) SemLabProof (SOUND) 305.20/136.69 We found the following model for the rules of the TRSs R and P. 305.20/136.69 Interpretation over the domain with elements from 0 to 1. 305.20/136.69 h_flat: 0 305.20/136.69 a: 0 305.20/136.69 c: 1 305.20/136.69 down: 0 305.20/136.69 f: 0 305.20/136.69 fresh_constant: 0 305.20/136.69 up: 0 305.20/136.69 h: 0 305.20/136.69 f_flat: 0 305.20/136.69 TOP: 0 305.20/136.69 g_flat: 0 305.20/136.69 g: 0 305.20/136.69 By semantic labelling [SEMLAB] we obtain the following labelled QDP problem. 305.20/136.69 ---------------------------------------- 305.20/136.69 305.20/136.69 (89) 305.20/136.69 Obligation: 305.20/136.69 Q DP problem: 305.20/136.69 The TRS P consists of the following rules: 305.20/136.69 305.20/136.69 TOP.0(up.0(f.0(g.0(x0)))) -> TOP.0(f_flat.0(down.0(g.0(x0)))) 305.20/136.69 TOP.0(up.0(f.0(g.1(x0)))) -> TOP.0(f_flat.0(down.0(g.1(x0)))) 305.20/136.69 TOP.0(up.0(f.0(h.0(x0)))) -> TOP.0(f_flat.0(down.0(h.0(x0)))) 305.20/136.69 TOP.0(up.0(f.0(h.1(x0)))) -> TOP.0(f_flat.0(down.0(h.1(x0)))) 305.20/136.69 TOP.0(up.0(g.0(f.0(x0)))) -> TOP.0(g_flat.0(down.0(f.0(x0)))) 305.20/136.69 TOP.0(up.0(g.0(f.1(x0)))) -> TOP.0(g_flat.0(down.0(f.1(x0)))) 305.20/136.69 TOP.0(up.0(g.0(h.0(x0)))) -> TOP.0(g_flat.0(down.0(h.0(x0)))) 305.20/136.69 TOP.0(up.0(g.0(h.1(x0)))) -> TOP.0(g_flat.0(down.0(h.1(x0)))) 305.20/136.69 TOP.0(up.0(h.0(f.0(x0)))) -> TOP.0(h_flat.0(down.0(f.0(x0)))) 305.20/136.69 TOP.0(up.0(h.0(f.1(x0)))) -> TOP.0(h_flat.0(down.0(f.1(x0)))) 305.20/136.69 TOP.0(up.0(h.0(g.0(x0)))) -> TOP.0(h_flat.0(down.0(g.0(x0)))) 305.20/136.69 TOP.0(up.0(h.0(g.1(x0)))) -> TOP.0(h_flat.0(down.0(g.1(x0)))) 305.20/136.69 305.20/136.69 The TRS R consists of the following rules: 305.20/136.69 305.20/136.69 h_flat.0(up.0(x_1)) -> up.0(h.0(x_1)) 305.20/136.69 h_flat.0(up.1(x_1)) -> up.0(h.1(x_1)) 305.20/136.69 down.0(g.0(g.0(x))) -> up.0(h.0(x)) 305.20/136.69 down.0(g.0(g.1(x))) -> up.0(h.1(x)) 305.20/136.69 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 305.20/136.69 down.0(g.0(f.0(y8))) -> g_flat.0(down.0(f.0(y8))) 305.20/136.69 down.0(g.0(f.1(y8))) -> g_flat.0(down.0(f.1(y8))) 305.20/136.69 down.0(g.0(h.0(y10))) -> g_flat.0(down.0(h.0(y10))) 305.20/136.69 down.0(g.0(h.1(y10))) -> g_flat.0(down.0(h.1(y10))) 305.20/136.69 down.0(g.1(c.)) -> g_flat.0(down.1(c.)) 305.20/136.69 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 305.20/136.69 g_flat.0(up.1(x_1)) -> up.0(g.1(x_1)) 305.20/136.69 down.0(h.0(h.0(x))) -> up.1(c.) 305.20/136.69 down.0(h.0(h.1(x))) -> up.1(c.) 305.20/136.69 down.0(h.0(a.)) -> h_flat.0(down.0(a.)) 305.20/136.69 down.0(h.0(f.0(y12))) -> h_flat.0(down.0(f.0(y12))) 305.20/136.69 down.0(h.0(f.1(y12))) -> h_flat.0(down.0(f.1(y12))) 305.20/136.69 down.0(h.0(g.0(y13))) -> h_flat.0(down.0(g.0(y13))) 305.20/136.69 down.0(h.0(g.1(y13))) -> h_flat.0(down.0(g.1(y13))) 305.20/136.69 down.0(h.1(c.)) -> h_flat.0(down.1(c.)) 305.20/136.69 down.0(f.0(f.0(x))) -> up.0(g.0(x)) 305.20/136.69 down.0(f.0(f.1(x))) -> up.0(g.1(x)) 305.20/136.69 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 305.20/136.69 down.0(f.0(g.0(y5))) -> f_flat.0(down.0(g.0(y5))) 305.20/136.69 down.0(f.0(g.1(y5))) -> f_flat.0(down.0(g.1(y5))) 305.20/136.69 down.0(f.0(h.0(y6))) -> f_flat.0(down.0(h.0(y6))) 305.20/136.69 down.0(f.0(h.1(y6))) -> f_flat.0(down.0(h.1(y6))) 305.20/136.69 down.0(f.1(c.)) -> f_flat.0(down.1(c.)) 305.20/136.69 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 305.20/136.69 f_flat.0(up.1(x_1)) -> up.0(f.1(x_1)) 305.20/136.69 down.0(a.) -> up.0(f.0(a.)) 305.20/136.69 305.20/136.69 The set Q consists of the following terms: 305.20/136.69 305.20/136.69 down.0(a.) 305.20/136.69 down.0(f.0(f.0(x0))) 305.20/136.69 down.0(f.0(f.1(x0))) 305.20/136.69 down.0(g.0(g.0(x0))) 305.20/136.69 down.0(g.0(g.1(x0))) 305.20/136.69 down.0(h.0(h.0(x0))) 305.20/136.69 down.0(h.0(h.1(x0))) 305.20/136.69 down.0(f.0(a.)) 305.20/136.69 down.0(f.0(g.0(x0))) 305.20/136.69 down.0(f.0(g.1(x0))) 305.20/136.69 down.0(f.0(h.0(x0))) 305.20/136.69 down.0(f.0(h.1(x0))) 305.20/136.69 down.0(f.1(c.)) 305.20/136.69 down.0(f.0(fresh_constant.)) 305.20/136.69 down.0(g.0(a.)) 305.20/136.69 down.0(g.0(f.0(x0))) 305.20/136.69 down.0(g.0(f.1(x0))) 305.20/136.69 down.0(g.0(h.0(x0))) 305.20/136.69 down.0(g.0(h.1(x0))) 305.20/136.69 down.0(g.1(c.)) 305.20/136.69 down.0(g.0(fresh_constant.)) 305.20/136.69 down.0(h.0(a.)) 305.20/136.69 down.0(h.0(f.0(x0))) 305.20/136.69 down.0(h.0(f.1(x0))) 305.20/136.69 down.0(h.0(g.0(x0))) 305.20/136.69 down.0(h.0(g.1(x0))) 305.20/136.69 down.0(h.1(c.)) 305.20/136.69 down.0(h.0(fresh_constant.)) 305.20/136.69 f_flat.0(up.0(x0)) 305.20/136.69 f_flat.0(up.1(x0)) 305.20/136.69 g_flat.0(up.0(x0)) 305.20/136.69 g_flat.0(up.1(x0)) 305.20/136.69 h_flat.0(up.0(x0)) 305.20/136.69 h_flat.0(up.1(x0)) 305.20/136.69 305.20/136.69 We have to consider all minimal (P,Q,R)-chains. 305.20/136.69 ---------------------------------------- 305.20/136.69 305.20/136.69 (90) MRRProof (EQUIVALENT) 305.20/136.69 By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. 305.20/136.69 305.20/136.69 305.20/136.69 Strictly oriented rules of the TRS R: 305.20/136.69 305.20/136.69 down.0(g.1(c.)) -> g_flat.0(down.1(c.)) 305.20/136.69 down.0(h.1(c.)) -> h_flat.0(down.1(c.)) 305.20/136.69 down.0(f.1(c.)) -> f_flat.0(down.1(c.)) 305.20/136.69 305.20/136.69 Used ordering: Polynomial interpretation [POLO]: 305.20/136.69 305.20/136.69 POL(TOP.0(x_1)) = x_1 305.20/136.69 POL(a.) = 0 305.20/136.69 POL(c.) = 0 305.20/136.69 POL(down.0(x_1)) = 1 + x_1 305.20/136.69 POL(down.1(x_1)) = x_1 305.20/136.69 POL(f.0(x_1)) = x_1 305.20/136.69 POL(f.1(x_1)) = x_1 305.20/136.69 POL(f_flat.0(x_1)) = x_1 305.20/136.69 POL(g.0(x_1)) = x_1 305.20/136.69 POL(g.1(x_1)) = x_1 305.20/136.69 POL(g_flat.0(x_1)) = x_1 305.20/136.69 POL(h.0(x_1)) = x_1 305.20/136.69 POL(h.1(x_1)) = x_1 305.20/136.69 POL(h_flat.0(x_1)) = x_1 305.20/136.69 POL(up.0(x_1)) = 1 + x_1 305.20/136.69 POL(up.1(x_1)) = 1 + x_1 305.20/136.69 305.20/136.69 305.20/136.69 ---------------------------------------- 305.20/136.69 305.20/136.69 (91) 305.20/136.69 Obligation: 305.20/136.69 Q DP problem: 305.20/136.69 The TRS P consists of the following rules: 305.20/136.69 305.20/136.69 TOP.0(up.0(f.0(g.0(x0)))) -> TOP.0(f_flat.0(down.0(g.0(x0)))) 305.20/136.69 TOP.0(up.0(f.0(g.1(x0)))) -> TOP.0(f_flat.0(down.0(g.1(x0)))) 305.20/136.69 TOP.0(up.0(f.0(h.0(x0)))) -> TOP.0(f_flat.0(down.0(h.0(x0)))) 305.20/136.69 TOP.0(up.0(f.0(h.1(x0)))) -> TOP.0(f_flat.0(down.0(h.1(x0)))) 305.20/136.69 TOP.0(up.0(g.0(f.0(x0)))) -> TOP.0(g_flat.0(down.0(f.0(x0)))) 305.20/136.69 TOP.0(up.0(g.0(f.1(x0)))) -> TOP.0(g_flat.0(down.0(f.1(x0)))) 305.20/136.69 TOP.0(up.0(g.0(h.0(x0)))) -> TOP.0(g_flat.0(down.0(h.0(x0)))) 305.20/136.69 TOP.0(up.0(g.0(h.1(x0)))) -> TOP.0(g_flat.0(down.0(h.1(x0)))) 305.20/136.69 TOP.0(up.0(h.0(f.0(x0)))) -> TOP.0(h_flat.0(down.0(f.0(x0)))) 305.20/136.69 TOP.0(up.0(h.0(f.1(x0)))) -> TOP.0(h_flat.0(down.0(f.1(x0)))) 305.20/136.69 TOP.0(up.0(h.0(g.0(x0)))) -> TOP.0(h_flat.0(down.0(g.0(x0)))) 305.20/136.69 TOP.0(up.0(h.0(g.1(x0)))) -> TOP.0(h_flat.0(down.0(g.1(x0)))) 305.20/136.69 305.20/136.69 The TRS R consists of the following rules: 305.20/136.69 305.20/136.69 h_flat.0(up.0(x_1)) -> up.0(h.0(x_1)) 305.20/136.69 h_flat.0(up.1(x_1)) -> up.0(h.1(x_1)) 305.20/136.69 down.0(g.0(g.0(x))) -> up.0(h.0(x)) 305.20/136.69 down.0(g.0(g.1(x))) -> up.0(h.1(x)) 305.20/136.69 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 305.20/136.69 down.0(g.0(f.0(y8))) -> g_flat.0(down.0(f.0(y8))) 305.20/136.69 down.0(g.0(f.1(y8))) -> g_flat.0(down.0(f.1(y8))) 305.20/136.69 down.0(g.0(h.0(y10))) -> g_flat.0(down.0(h.0(y10))) 305.20/136.69 down.0(g.0(h.1(y10))) -> g_flat.0(down.0(h.1(y10))) 305.20/136.69 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 305.20/136.69 g_flat.0(up.1(x_1)) -> up.0(g.1(x_1)) 305.20/136.69 down.0(h.0(h.0(x))) -> up.1(c.) 305.20/136.69 down.0(h.0(h.1(x))) -> up.1(c.) 305.20/136.69 down.0(h.0(a.)) -> h_flat.0(down.0(a.)) 305.20/136.69 down.0(h.0(f.0(y12))) -> h_flat.0(down.0(f.0(y12))) 305.20/136.69 down.0(h.0(f.1(y12))) -> h_flat.0(down.0(f.1(y12))) 305.20/136.69 down.0(h.0(g.0(y13))) -> h_flat.0(down.0(g.0(y13))) 305.20/136.69 down.0(h.0(g.1(y13))) -> h_flat.0(down.0(g.1(y13))) 305.20/136.69 down.0(f.0(f.0(x))) -> up.0(g.0(x)) 305.20/136.69 down.0(f.0(f.1(x))) -> up.0(g.1(x)) 305.20/136.69 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 305.20/136.69 down.0(f.0(g.0(y5))) -> f_flat.0(down.0(g.0(y5))) 305.20/136.69 down.0(f.0(g.1(y5))) -> f_flat.0(down.0(g.1(y5))) 305.20/136.69 down.0(f.0(h.0(y6))) -> f_flat.0(down.0(h.0(y6))) 305.20/136.69 down.0(f.0(h.1(y6))) -> f_flat.0(down.0(h.1(y6))) 305.20/136.69 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 305.20/136.69 f_flat.0(up.1(x_1)) -> up.0(f.1(x_1)) 305.20/136.69 down.0(a.) -> up.0(f.0(a.)) 305.20/136.69 305.20/136.69 The set Q consists of the following terms: 305.20/136.69 305.20/136.69 down.0(a.) 305.20/136.69 down.0(f.0(f.0(x0))) 305.20/136.69 down.0(f.0(f.1(x0))) 305.20/136.69 down.0(g.0(g.0(x0))) 305.20/136.69 down.0(g.0(g.1(x0))) 305.20/136.69 down.0(h.0(h.0(x0))) 305.20/136.69 down.0(h.0(h.1(x0))) 305.20/136.69 down.0(f.0(a.)) 305.20/136.69 down.0(f.0(g.0(x0))) 305.20/136.69 down.0(f.0(g.1(x0))) 305.20/136.69 down.0(f.0(h.0(x0))) 305.20/136.69 down.0(f.0(h.1(x0))) 305.20/136.69 down.0(f.1(c.)) 305.20/136.69 down.0(f.0(fresh_constant.)) 305.20/136.69 down.0(g.0(a.)) 305.20/136.69 down.0(g.0(f.0(x0))) 305.20/136.69 down.0(g.0(f.1(x0))) 305.20/136.69 down.0(g.0(h.0(x0))) 305.20/136.69 down.0(g.0(h.1(x0))) 305.20/136.69 down.0(g.1(c.)) 305.20/136.69 down.0(g.0(fresh_constant.)) 305.20/136.69 down.0(h.0(a.)) 305.20/136.69 down.0(h.0(f.0(x0))) 305.20/136.69 down.0(h.0(f.1(x0))) 305.20/136.69 down.0(h.0(g.0(x0))) 305.20/136.69 down.0(h.0(g.1(x0))) 305.20/136.69 down.0(h.1(c.)) 305.20/136.69 down.0(h.0(fresh_constant.)) 305.20/136.69 f_flat.0(up.0(x0)) 305.20/136.69 f_flat.0(up.1(x0)) 305.20/136.69 g_flat.0(up.0(x0)) 305.20/136.69 g_flat.0(up.1(x0)) 305.20/136.69 h_flat.0(up.0(x0)) 305.20/136.69 h_flat.0(up.1(x0)) 305.20/136.69 305.20/136.69 We have to consider all minimal (P,Q,R)-chains. 305.20/136.69 ---------------------------------------- 305.20/136.69 305.20/136.69 (92) DependencyGraphProof (EQUIVALENT) 305.20/136.69 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 6 less nodes. 305.20/136.69 ---------------------------------------- 305.20/136.69 305.20/136.69 (93) 305.20/136.69 Obligation: 305.20/136.69 Q DP problem: 305.20/136.69 The TRS P consists of the following rules: 305.20/136.69 305.20/136.69 TOP.0(up.0(f.0(g.0(x0)))) -> TOP.0(f_flat.0(down.0(g.0(x0)))) 305.20/136.69 TOP.0(up.0(f.0(h.0(x0)))) -> TOP.0(f_flat.0(down.0(h.0(x0)))) 305.20/136.69 TOP.0(up.0(g.0(f.0(x0)))) -> TOP.0(g_flat.0(down.0(f.0(x0)))) 305.20/136.69 TOP.0(up.0(g.0(h.0(x0)))) -> TOP.0(g_flat.0(down.0(h.0(x0)))) 305.20/136.69 TOP.0(up.0(h.0(f.0(x0)))) -> TOP.0(h_flat.0(down.0(f.0(x0)))) 305.20/136.70 TOP.0(up.0(h.0(g.0(x0)))) -> TOP.0(h_flat.0(down.0(g.0(x0)))) 305.20/136.70 305.20/136.70 The TRS R consists of the following rules: 305.20/136.70 305.20/136.70 h_flat.0(up.0(x_1)) -> up.0(h.0(x_1)) 305.20/136.70 h_flat.0(up.1(x_1)) -> up.0(h.1(x_1)) 305.20/136.70 down.0(g.0(g.0(x))) -> up.0(h.0(x)) 305.20/136.70 down.0(g.0(g.1(x))) -> up.0(h.1(x)) 305.20/136.70 down.0(g.0(a.)) -> g_flat.0(down.0(a.)) 305.20/136.70 down.0(g.0(f.0(y8))) -> g_flat.0(down.0(f.0(y8))) 305.20/136.70 down.0(g.0(f.1(y8))) -> g_flat.0(down.0(f.1(y8))) 305.20/136.70 down.0(g.0(h.0(y10))) -> g_flat.0(down.0(h.0(y10))) 305.20/136.70 down.0(g.0(h.1(y10))) -> g_flat.0(down.0(h.1(y10))) 305.20/136.70 g_flat.0(up.0(x_1)) -> up.0(g.0(x_1)) 305.20/136.70 g_flat.0(up.1(x_1)) -> up.0(g.1(x_1)) 305.20/136.70 down.0(h.0(h.0(x))) -> up.1(c.) 305.20/136.70 down.0(h.0(h.1(x))) -> up.1(c.) 305.20/136.70 down.0(h.0(a.)) -> h_flat.0(down.0(a.)) 305.20/136.70 down.0(h.0(f.0(y12))) -> h_flat.0(down.0(f.0(y12))) 305.20/136.70 down.0(h.0(f.1(y12))) -> h_flat.0(down.0(f.1(y12))) 305.20/136.70 down.0(h.0(g.0(y13))) -> h_flat.0(down.0(g.0(y13))) 305.20/136.70 down.0(h.0(g.1(y13))) -> h_flat.0(down.0(g.1(y13))) 305.20/136.70 down.0(f.0(f.0(x))) -> up.0(g.0(x)) 305.20/136.70 down.0(f.0(f.1(x))) -> up.0(g.1(x)) 305.20/136.70 down.0(f.0(a.)) -> f_flat.0(down.0(a.)) 305.20/136.70 down.0(f.0(g.0(y5))) -> f_flat.0(down.0(g.0(y5))) 305.20/136.70 down.0(f.0(g.1(y5))) -> f_flat.0(down.0(g.1(y5))) 305.20/136.70 down.0(f.0(h.0(y6))) -> f_flat.0(down.0(h.0(y6))) 305.20/136.70 down.0(f.0(h.1(y6))) -> f_flat.0(down.0(h.1(y6))) 305.20/136.70 f_flat.0(up.0(x_1)) -> up.0(f.0(x_1)) 305.20/136.70 f_flat.0(up.1(x_1)) -> up.0(f.1(x_1)) 305.20/136.70 down.0(a.) -> up.0(f.0(a.)) 305.20/136.70 305.20/136.70 The set Q consists of the following terms: 305.20/136.70 305.20/136.70 down.0(a.) 305.20/136.70 down.0(f.0(f.0(x0))) 305.20/136.70 down.0(f.0(f.1(x0))) 305.20/136.70 down.0(g.0(g.0(x0))) 305.20/136.70 down.0(g.0(g.1(x0))) 305.20/136.70 down.0(h.0(h.0(x0))) 305.20/136.70 down.0(h.0(h.1(x0))) 305.20/136.70 down.0(f.0(a.)) 305.20/136.70 down.0(f.0(g.0(x0))) 305.20/136.70 down.0(f.0(g.1(x0))) 305.20/136.70 down.0(f.0(h.0(x0))) 305.20/136.70 down.0(f.0(h.1(x0))) 305.20/136.70 down.0(f.1(c.)) 305.20/136.70 down.0(f.0(fresh_constant.)) 305.20/136.70 down.0(g.0(a.)) 305.20/136.70 down.0(g.0(f.0(x0))) 305.20/136.70 down.0(g.0(f.1(x0))) 305.20/136.70 down.0(g.0(h.0(x0))) 305.20/136.70 down.0(g.0(h.1(x0))) 305.20/136.70 down.0(g.1(c.)) 305.20/136.70 down.0(g.0(fresh_constant.)) 305.20/136.70 down.0(h.0(a.)) 305.20/136.70 down.0(h.0(f.0(x0))) 305.20/136.70 down.0(h.0(f.1(x0))) 305.20/136.70 down.0(h.0(g.0(x0))) 305.20/136.70 down.0(h.0(g.1(x0))) 305.20/136.70 down.0(h.1(c.)) 305.20/136.70 down.0(h.0(fresh_constant.)) 305.20/136.70 f_flat.0(up.0(x0)) 305.20/136.70 f_flat.0(up.1(x0)) 305.20/136.70 g_flat.0(up.0(x0)) 305.20/136.70 g_flat.0(up.1(x0)) 305.20/136.70 h_flat.0(up.0(x0)) 305.20/136.70 h_flat.0(up.1(x0)) 305.20/136.70 305.20/136.70 We have to consider all minimal (P,Q,R)-chains. 305.20/136.70 ---------------------------------------- 305.20/136.70 305.20/136.70 (94) PisEmptyProof (SOUND) 305.20/136.70 The TRS P is empty. Hence, there is no (P,Q,R) chain. 305.20/136.70 ---------------------------------------- 305.20/136.70 305.20/136.70 (95) 305.20/136.70 TRUE 305.20/136.70 305.20/136.70 ---------------------------------------- 305.20/136.70 305.20/136.70 (96) 305.20/136.70 Obligation: 305.20/136.70 Q DP problem: 305.20/136.70 The TRS P consists of the following rules: 305.20/136.70 305.20/136.70 TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) 305.20/136.70 TOP(up(f(h(x0)))) -> TOP(f_flat(down(h(x0)))) 305.20/136.70 TOP(up(g(f(x0)))) -> TOP(g_flat(down(f(x0)))) 305.20/136.70 TOP(up(g(h(x0)))) -> TOP(g_flat(down(h(x0)))) 305.20/136.70 TOP(up(h(f(x0)))) -> TOP(h_flat(down(f(x0)))) 305.20/136.70 TOP(up(h(g(x0)))) -> TOP(h_flat(down(g(x0)))) 305.20/136.70 305.20/136.70 The TRS R consists of the following rules: 305.20/136.70 305.20/136.70 h_flat(up(x_1)) -> up(h(x_1)) 305.20/136.70 down(g(g(x))) -> up(h(x)) 305.20/136.70 down(g(a)) -> g_flat(down(a)) 305.20/136.70 down(g(f(y8))) -> g_flat(down(f(y8))) 305.20/136.70 down(g(h(y10))) -> g_flat(down(h(y10))) 305.20/136.70 g_flat(up(x_1)) -> up(g(x_1)) 305.20/136.70 down(h(h(x))) -> up(c) 305.20/136.70 down(h(a)) -> h_flat(down(a)) 305.20/136.70 down(h(f(y12))) -> h_flat(down(f(y12))) 305.20/136.70 down(h(g(y13))) -> h_flat(down(g(y13))) 305.20/136.70 down(f(f(x))) -> up(g(x)) 305.20/136.70 down(f(a)) -> f_flat(down(a)) 305.20/136.70 down(f(g(y5))) -> f_flat(down(g(y5))) 305.20/136.70 down(f(h(y6))) -> f_flat(down(h(y6))) 305.20/136.70 f_flat(up(x_1)) -> up(f(x_1)) 305.20/136.70 down(a) -> up(f(a)) 305.20/136.70 305.20/136.70 The set Q consists of the following terms: 305.20/136.70 305.20/136.70 down(a) 305.20/136.70 down(f(f(x0))) 305.20/136.70 down(g(g(x0))) 305.20/136.70 down(h(h(x0))) 305.20/136.70 down(f(a)) 305.20/136.70 down(f(g(x0))) 305.20/136.70 down(f(h(x0))) 305.20/136.70 down(f(c)) 305.20/136.70 down(f(fresh_constant)) 305.20/136.70 down(g(a)) 305.20/136.70 down(g(f(x0))) 305.20/136.70 down(g(h(x0))) 305.20/136.70 down(g(c)) 305.20/136.70 down(g(fresh_constant)) 305.20/136.70 down(h(a)) 305.20/136.70 down(h(f(x0))) 305.20/136.70 down(h(g(x0))) 305.20/136.70 down(h(c)) 305.20/136.70 down(h(fresh_constant)) 305.20/136.70 f_flat(up(x0)) 305.20/136.70 g_flat(up(x0)) 305.20/136.70 h_flat(up(x0)) 305.20/136.70 305.20/136.70 We have to consider all minimal (P,Q,R)-chains. 305.20/136.70 ---------------------------------------- 305.20/136.70 305.20/136.70 (97) QReductionProof (EQUIVALENT) 305.20/136.70 We deleted the following terms from Q as they contain symbols which do neither occur in P nor in R.[THIEMANN]. 305.20/136.70 305.20/136.70 down(f(fresh_constant)) 305.20/136.70 down(g(fresh_constant)) 305.20/136.70 down(h(fresh_constant)) 305.20/136.70 305.20/136.70 305.20/136.70 ---------------------------------------- 305.20/136.70 305.20/136.70 (98) 305.20/136.70 Obligation: 305.20/136.70 Q DP problem: 305.20/136.70 The TRS P consists of the following rules: 305.20/136.70 305.20/136.70 TOP(up(f(g(x0)))) -> TOP(f_flat(down(g(x0)))) 305.20/136.70 TOP(up(f(h(x0)))) -> TOP(f_flat(down(h(x0)))) 305.20/136.70 TOP(up(g(f(x0)))) -> TOP(g_flat(down(f(x0)))) 305.20/136.70 TOP(up(g(h(x0)))) -> TOP(g_flat(down(h(x0)))) 305.20/136.70 TOP(up(h(f(x0)))) -> TOP(h_flat(down(f(x0)))) 305.20/136.70 TOP(up(h(g(x0)))) -> TOP(h_flat(down(g(x0)))) 305.20/136.70 305.20/136.70 The TRS R consists of the following rules: 305.20/136.70 305.20/136.70 h_flat(up(x_1)) -> up(h(x_1)) 305.20/136.70 down(g(g(x))) -> up(h(x)) 305.20/136.70 down(g(a)) -> g_flat(down(a)) 305.20/136.70 down(g(f(y8))) -> g_flat(down(f(y8))) 305.20/136.70 down(g(h(y10))) -> g_flat(down(h(y10))) 305.20/136.70 g_flat(up(x_1)) -> up(g(x_1)) 305.20/136.70 down(h(h(x))) -> up(c) 305.20/136.70 down(h(a)) -> h_flat(down(a)) 305.20/136.70 down(h(f(y12))) -> h_flat(down(f(y12))) 305.20/136.70 down(h(g(y13))) -> h_flat(down(g(y13))) 305.20/136.70 down(f(f(x))) -> up(g(x)) 305.20/136.70 down(f(a)) -> f_flat(down(a)) 305.20/136.70 down(f(g(y5))) -> f_flat(down(g(y5))) 305.20/136.70 down(f(h(y6))) -> f_flat(down(h(y6))) 305.20/136.70 f_flat(up(x_1)) -> up(f(x_1)) 305.20/136.70 down(a) -> up(f(a)) 305.20/136.70 305.20/136.70 The set Q consists of the following terms: 305.20/136.70 305.20/136.70 down(a) 305.20/136.70 down(f(f(x0))) 305.20/136.70 down(g(g(x0))) 305.20/136.70 down(h(h(x0))) 305.20/136.70 down(f(a)) 305.20/136.70 down(f(g(x0))) 305.20/136.70 down(f(h(x0))) 305.20/136.70 down(f(c)) 305.20/136.70 down(g(a)) 305.20/136.70 down(g(f(x0))) 305.20/136.70 down(g(h(x0))) 305.20/136.70 down(g(c)) 305.20/136.70 down(h(a)) 305.20/136.70 down(h(f(x0))) 305.20/136.70 down(h(g(x0))) 305.20/136.70 down(h(c)) 305.20/136.70 f_flat(up(x0)) 305.20/136.70 g_flat(up(x0)) 305.20/136.70 h_flat(up(x0)) 305.20/136.70 305.20/136.70 We have to consider all (P,Q,R)-chains. 305.20/136.70 ---------------------------------------- 305.20/136.70 305.20/136.70 (99) Thiemann-SpecialC-Transformation (EQUIVALENT) 305.20/136.70 We applied the Thiemann-SpecialC transformation to transform the outermost TRS to an innermost TRS. 305.20/136.70 ---------------------------------------- 305.20/136.70 305.20/136.70 (100) 305.20/136.70 Obligation: 305.20/136.70 Q restricted rewrite system: 305.20/136.70 The TRS R consists of the following rules: 305.20/136.70 305.20/136.70 top(go_up(x)) -> top(reduce(x)) 305.20/136.70 reduce(f(x_1)) -> check_f(redex_f(x_1)) 305.20/136.70 reduce(g(x_1)) -> check_g(redex_g(x_1)) 305.20/136.70 reduce(h(x_1)) -> check_h(redex_h(x_1)) 305.20/136.70 reduce(a) -> go_up(f(a)) 305.20/136.70 redex_f(f(x)) -> result_f(g(x)) 305.20/136.70 redex_g(g(x)) -> result_g(h(x)) 305.20/136.70 redex_h(h(x)) -> result_h(c) 305.20/136.70 check_f(result_f(x)) -> go_up(x) 305.20/136.70 check_g(result_g(x)) -> go_up(x) 305.20/136.70 check_h(result_h(x)) -> go_up(x) 305.20/136.70 check_f(redex_f(x_1)) -> in_f_1(reduce(x_1)) 305.20/136.70 check_g(redex_g(x_1)) -> in_g_1(reduce(x_1)) 305.20/136.70 check_h(redex_h(x_1)) -> in_h_1(reduce(x_1)) 305.20/136.70 in_f_1(go_up(x_1)) -> go_up(f(x_1)) 305.20/136.70 in_g_1(go_up(x_1)) -> go_up(g(x_1)) 305.20/136.70 in_h_1(go_up(x_1)) -> go_up(h(x_1)) 305.20/136.70 305.20/136.70 The set Q consists of the following terms: 305.20/136.70 305.20/136.70 top(go_up(x0)) 305.20/136.70 reduce(f(x0)) 305.20/136.70 reduce(g(x0)) 305.20/136.70 reduce(h(x0)) 305.20/136.70 reduce(a) 305.20/136.70 redex_f(f(x0)) 305.20/136.70 redex_g(g(x0)) 305.20/136.70 redex_h(h(x0)) 305.20/136.70 check_f(result_f(x0)) 305.20/136.70 check_g(result_g(x0)) 305.20/136.70 check_h(result_h(x0)) 305.20/136.70 check_f(redex_f(x0)) 305.20/136.70 check_g(redex_g(x0)) 305.20/136.70 check_h(redex_h(x0)) 305.20/136.70 in_f_1(go_up(x0)) 305.20/136.70 in_g_1(go_up(x0)) 305.20/136.70 in_h_1(go_up(x0)) 305.20/136.70 305.20/136.70 305.20/136.70 ---------------------------------------- 305.20/136.70 305.20/136.70 (101) DependencyPairsProof (EQUIVALENT) 305.20/136.70 Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. 305.20/136.70 ---------------------------------------- 305.20/136.70 305.20/136.70 (102) 305.20/136.70 Obligation: 305.20/136.70 Q DP problem: 305.20/136.70 The TRS P consists of the following rules: 305.20/136.70 305.20/136.70 TOP(go_up(x)) -> TOP(reduce(x)) 305.20/136.70 TOP(go_up(x)) -> REDUCE(x) 305.20/136.70 REDUCE(f(x_1)) -> CHECK_F(redex_f(x_1)) 305.20/136.70 REDUCE(f(x_1)) -> REDEX_F(x_1) 305.20/136.70 REDUCE(g(x_1)) -> CHECK_G(redex_g(x_1)) 305.20/136.70 REDUCE(g(x_1)) -> REDEX_G(x_1) 305.20/136.70 REDUCE(h(x_1)) -> CHECK_H(redex_h(x_1)) 305.20/136.70 REDUCE(h(x_1)) -> REDEX_H(x_1) 305.20/136.70 CHECK_F(redex_f(x_1)) -> IN_F_1(reduce(x_1)) 305.20/136.70 CHECK_F(redex_f(x_1)) -> REDUCE(x_1) 305.20/136.70 CHECK_G(redex_g(x_1)) -> IN_G_1(reduce(x_1)) 305.20/136.70 CHECK_G(redex_g(x_1)) -> REDUCE(x_1) 305.20/136.70 CHECK_H(redex_h(x_1)) -> IN_H_1(reduce(x_1)) 305.20/136.70 CHECK_H(redex_h(x_1)) -> REDUCE(x_1) 305.20/136.70 305.20/136.70 The TRS R consists of the following rules: 305.20/136.70 305.20/136.70 top(go_up(x)) -> top(reduce(x)) 305.20/136.70 reduce(f(x_1)) -> check_f(redex_f(x_1)) 305.20/136.70 reduce(g(x_1)) -> check_g(redex_g(x_1)) 305.20/136.70 reduce(h(x_1)) -> check_h(redex_h(x_1)) 305.20/136.70 reduce(a) -> go_up(f(a)) 305.20/136.70 redex_f(f(x)) -> result_f(g(x)) 305.20/136.70 redex_g(g(x)) -> result_g(h(x)) 305.20/136.70 redex_h(h(x)) -> result_h(c) 305.20/136.70 check_f(result_f(x)) -> go_up(x) 305.20/136.70 check_g(result_g(x)) -> go_up(x) 305.20/136.70 check_h(result_h(x)) -> go_up(x) 305.20/136.70 check_f(redex_f(x_1)) -> in_f_1(reduce(x_1)) 305.20/136.70 check_g(redex_g(x_1)) -> in_g_1(reduce(x_1)) 305.20/136.70 check_h(redex_h(x_1)) -> in_h_1(reduce(x_1)) 305.20/136.70 in_f_1(go_up(x_1)) -> go_up(f(x_1)) 305.20/136.70 in_g_1(go_up(x_1)) -> go_up(g(x_1)) 305.20/136.70 in_h_1(go_up(x_1)) -> go_up(h(x_1)) 305.20/136.70 305.20/136.70 The set Q consists of the following terms: 305.20/136.70 305.20/136.70 top(go_up(x0)) 305.20/136.70 reduce(f(x0)) 305.20/136.70 reduce(g(x0)) 305.20/136.70 reduce(h(x0)) 305.20/136.70 reduce(a) 305.20/136.70 redex_f(f(x0)) 305.20/136.70 redex_g(g(x0)) 305.20/136.70 redex_h(h(x0)) 305.20/136.70 check_f(result_f(x0)) 305.20/136.70 check_g(result_g(x0)) 305.20/136.70 check_h(result_h(x0)) 305.20/136.70 check_f(redex_f(x0)) 305.20/136.70 check_g(redex_g(x0)) 305.20/136.70 check_h(redex_h(x0)) 305.20/136.70 in_f_1(go_up(x0)) 305.20/136.70 in_g_1(go_up(x0)) 305.20/136.70 in_h_1(go_up(x0)) 305.20/136.70 305.20/136.70 We have to consider all minimal (P,Q,R)-chains. 305.20/136.70 ---------------------------------------- 305.20/136.70 305.20/136.70 (103) DependencyGraphProof (EQUIVALENT) 305.20/136.70 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 7 less nodes. 305.20/136.70 ---------------------------------------- 305.20/136.70 305.20/136.70 (104) 305.20/136.70 Complex Obligation (AND) 305.20/136.70 305.20/136.70 ---------------------------------------- 305.20/136.70 305.20/136.70 (105) 305.20/136.70 Obligation: 305.20/136.70 Q DP problem: 305.20/136.70 The TRS P consists of the following rules: 305.20/136.70 305.20/136.70 CHECK_F(redex_f(x_1)) -> REDUCE(x_1) 305.20/136.70 REDUCE(g(x_1)) -> CHECK_G(redex_g(x_1)) 305.20/136.70 CHECK_G(redex_g(x_1)) -> REDUCE(x_1) 305.20/136.70 REDUCE(f(x_1)) -> CHECK_F(redex_f(x_1)) 305.20/136.70 REDUCE(h(x_1)) -> CHECK_H(redex_h(x_1)) 305.20/136.70 CHECK_H(redex_h(x_1)) -> REDUCE(x_1) 305.20/136.70 305.20/136.70 The TRS R consists of the following rules: 305.20/136.70 305.20/136.70 top(go_up(x)) -> top(reduce(x)) 305.20/136.70 reduce(f(x_1)) -> check_f(redex_f(x_1)) 305.20/136.70 reduce(g(x_1)) -> check_g(redex_g(x_1)) 305.20/136.70 reduce(h(x_1)) -> check_h(redex_h(x_1)) 305.20/136.70 reduce(a) -> go_up(f(a)) 305.20/136.70 redex_f(f(x)) -> result_f(g(x)) 305.20/136.70 redex_g(g(x)) -> result_g(h(x)) 305.20/136.70 redex_h(h(x)) -> result_h(c) 305.20/136.70 check_f(result_f(x)) -> go_up(x) 305.20/136.70 check_g(result_g(x)) -> go_up(x) 305.20/136.70 check_h(result_h(x)) -> go_up(x) 305.20/136.70 check_f(redex_f(x_1)) -> in_f_1(reduce(x_1)) 305.20/136.70 check_g(redex_g(x_1)) -> in_g_1(reduce(x_1)) 305.20/136.70 check_h(redex_h(x_1)) -> in_h_1(reduce(x_1)) 305.20/136.70 in_f_1(go_up(x_1)) -> go_up(f(x_1)) 305.20/136.70 in_g_1(go_up(x_1)) -> go_up(g(x_1)) 305.20/136.70 in_h_1(go_up(x_1)) -> go_up(h(x_1)) 305.20/136.70 305.20/136.70 The set Q consists of the following terms: 305.20/136.70 305.20/136.70 top(go_up(x0)) 305.20/136.70 reduce(f(x0)) 305.20/136.70 reduce(g(x0)) 305.20/136.70 reduce(h(x0)) 305.20/136.70 reduce(a) 305.20/136.70 redex_f(f(x0)) 305.20/136.70 redex_g(g(x0)) 305.20/136.70 redex_h(h(x0)) 305.20/136.70 check_f(result_f(x0)) 305.20/136.70 check_g(result_g(x0)) 305.20/136.70 check_h(result_h(x0)) 305.20/136.70 check_f(redex_f(x0)) 305.20/136.70 check_g(redex_g(x0)) 305.20/136.70 check_h(redex_h(x0)) 305.20/136.70 in_f_1(go_up(x0)) 305.20/136.70 in_g_1(go_up(x0)) 305.20/136.70 in_h_1(go_up(x0)) 305.20/136.70 305.20/136.70 We have to consider all minimal (P,Q,R)-chains. 305.20/136.70 ---------------------------------------- 305.20/136.70 305.20/136.70 (106) UsableRulesProof (EQUIVALENT) 305.20/136.70 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 305.20/136.70 ---------------------------------------- 305.20/136.70 305.20/136.70 (107) 305.20/136.70 Obligation: 305.20/136.70 Q DP problem: 305.20/136.70 The TRS P consists of the following rules: 305.20/136.70 305.20/136.70 CHECK_F(redex_f(x_1)) -> REDUCE(x_1) 305.20/136.70 REDUCE(g(x_1)) -> CHECK_G(redex_g(x_1)) 305.20/136.70 CHECK_G(redex_g(x_1)) -> REDUCE(x_1) 305.20/136.70 REDUCE(f(x_1)) -> CHECK_F(redex_f(x_1)) 305.20/136.70 REDUCE(h(x_1)) -> CHECK_H(redex_h(x_1)) 305.20/136.70 CHECK_H(redex_h(x_1)) -> REDUCE(x_1) 305.20/136.70 305.20/136.70 The TRS R consists of the following rules: 305.20/136.70 305.20/136.70 redex_h(h(x)) -> result_h(c) 305.20/136.70 redex_f(f(x)) -> result_f(g(x)) 305.20/136.70 redex_g(g(x)) -> result_g(h(x)) 305.20/136.70 305.20/136.70 The set Q consists of the following terms: 305.20/136.70 305.20/136.70 top(go_up(x0)) 305.20/136.70 reduce(f(x0)) 305.20/136.70 reduce(g(x0)) 305.20/136.70 reduce(h(x0)) 305.20/136.70 reduce(a) 305.20/136.70 redex_f(f(x0)) 305.20/136.70 redex_g(g(x0)) 305.20/136.70 redex_h(h(x0)) 305.20/136.70 check_f(result_f(x0)) 305.20/136.70 check_g(result_g(x0)) 305.20/136.70 check_h(result_h(x0)) 305.20/136.70 check_f(redex_f(x0)) 305.20/136.70 check_g(redex_g(x0)) 305.20/136.70 check_h(redex_h(x0)) 305.20/136.70 in_f_1(go_up(x0)) 305.20/136.70 in_g_1(go_up(x0)) 305.20/136.70 in_h_1(go_up(x0)) 305.20/136.70 305.20/136.70 We have to consider all minimal (P,Q,R)-chains. 305.20/136.70 ---------------------------------------- 305.20/136.70 305.20/136.70 (108) QReductionProof (EQUIVALENT) 305.20/136.70 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 305.20/136.70 305.20/136.70 top(go_up(x0)) 305.20/136.70 reduce(f(x0)) 305.20/136.70 reduce(g(x0)) 305.20/136.70 reduce(h(x0)) 305.20/136.70 reduce(a) 305.20/136.70 check_f(result_f(x0)) 305.20/136.70 check_g(result_g(x0)) 305.20/136.70 check_h(result_h(x0)) 305.20/136.70 check_f(redex_f(x0)) 305.20/136.70 check_g(redex_g(x0)) 305.20/136.70 check_h(redex_h(x0)) 305.20/136.70 in_f_1(go_up(x0)) 305.20/136.70 in_g_1(go_up(x0)) 305.20/136.70 in_h_1(go_up(x0)) 305.20/136.70 305.20/136.70 305.20/136.70 ---------------------------------------- 305.20/136.70 305.20/136.70 (109) 305.20/136.70 Obligation: 305.20/136.70 Q DP problem: 305.20/136.70 The TRS P consists of the following rules: 305.20/136.70 305.20/136.70 CHECK_F(redex_f(x_1)) -> REDUCE(x_1) 305.20/136.70 REDUCE(g(x_1)) -> CHECK_G(redex_g(x_1)) 305.20/136.70 CHECK_G(redex_g(x_1)) -> REDUCE(x_1) 305.20/136.70 REDUCE(f(x_1)) -> CHECK_F(redex_f(x_1)) 305.20/136.70 REDUCE(h(x_1)) -> CHECK_H(redex_h(x_1)) 305.20/136.70 CHECK_H(redex_h(x_1)) -> REDUCE(x_1) 305.20/136.70 305.20/136.70 The TRS R consists of the following rules: 305.20/136.70 305.20/136.70 redex_h(h(x)) -> result_h(c) 305.20/136.70 redex_f(f(x)) -> result_f(g(x)) 305.20/136.70 redex_g(g(x)) -> result_g(h(x)) 305.20/136.70 305.20/136.70 The set Q consists of the following terms: 305.20/136.70 305.20/136.70 redex_f(f(x0)) 305.20/136.70 redex_g(g(x0)) 305.20/136.70 redex_h(h(x0)) 305.20/136.70 305.20/136.70 We have to consider all minimal (P,Q,R)-chains. 305.20/136.70 ---------------------------------------- 305.20/136.70 305.20/136.70 (110) UsableRulesReductionPairsProof (EQUIVALENT) 305.20/136.70 By using the usable rules with reduction pair processor [LPAR04] with a polynomial ordering [POLO], all dependency pairs and the corresponding usable rules [FROCOS05] can be oriented non-strictly. All non-usable rules are removed, and those dependency pairs and usable rules that have been oriented strictly or contain non-usable symbols in their left-hand side are removed as well. 305.20/136.70 305.20/136.70 The following dependency pairs can be deleted: 305.20/136.70 305.20/136.70 REDUCE(f(x_1)) -> CHECK_F(redex_f(x_1)) 305.20/136.70 The following rules are removed from R: 305.20/136.70 305.20/136.70 redex_f(f(x)) -> result_f(g(x)) 305.20/136.70 Used ordering: POLO with Polynomial interpretation [POLO]: 305.20/136.70 305.20/136.70 POL(CHECK_F(x_1)) = x_1 305.20/136.70 POL(CHECK_G(x_1)) = x_1 305.20/136.70 POL(CHECK_H(x_1)) = x_1 305.20/136.70 POL(REDUCE(x_1)) = 2*x_1 305.20/136.70 POL(c) = 0 305.20/136.70 POL(f(x_1)) = 2*x_1 305.20/136.70 POL(g(x_1)) = 2*x_1 305.20/136.70 POL(h(x_1)) = 2*x_1 305.20/136.70 POL(redex_f(x_1)) = 2*x_1 305.20/136.70 POL(redex_g(x_1)) = 2*x_1 305.20/136.70 POL(redex_h(x_1)) = 2*x_1 305.20/136.70 POL(result_f(x_1)) = x_1 305.20/136.70 POL(result_g(x_1)) = x_1 305.20/136.70 POL(result_h(x_1)) = x_1 305.20/136.70 305.20/136.70 305.20/136.70 ---------------------------------------- 305.20/136.70 305.20/136.70 (111) 305.20/136.70 Obligation: 305.20/136.70 Q DP problem: 305.20/136.70 The TRS P consists of the following rules: 305.20/136.70 305.20/136.70 CHECK_F(redex_f(x_1)) -> REDUCE(x_1) 305.20/136.70 REDUCE(g(x_1)) -> CHECK_G(redex_g(x_1)) 305.20/136.70 CHECK_G(redex_g(x_1)) -> REDUCE(x_1) 305.20/136.70 REDUCE(h(x_1)) -> CHECK_H(redex_h(x_1)) 305.20/136.70 CHECK_H(redex_h(x_1)) -> REDUCE(x_1) 305.20/136.70 305.20/136.70 The TRS R consists of the following rules: 305.20/136.70 305.20/136.70 redex_h(h(x)) -> result_h(c) 305.20/136.70 redex_g(g(x)) -> result_g(h(x)) 305.20/136.70 305.20/136.70 The set Q consists of the following terms: 305.20/136.70 305.20/136.70 redex_f(f(x0)) 305.20/136.70 redex_g(g(x0)) 305.20/136.70 redex_h(h(x0)) 305.20/136.70 305.20/136.70 We have to consider all minimal (P,Q,R)-chains. 305.20/136.70 ---------------------------------------- 305.20/136.70 305.20/136.70 (112) DependencyGraphProof (EQUIVALENT) 305.20/136.70 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 305.20/136.70 ---------------------------------------- 305.20/136.70 305.20/136.70 (113) 305.20/136.70 Obligation: 305.20/136.70 Q DP problem: 305.20/136.70 The TRS P consists of the following rules: 305.20/136.70 305.20/136.70 CHECK_G(redex_g(x_1)) -> REDUCE(x_1) 305.20/136.70 REDUCE(h(x_1)) -> CHECK_H(redex_h(x_1)) 305.20/136.70 CHECK_H(redex_h(x_1)) -> REDUCE(x_1) 305.20/136.70 REDUCE(g(x_1)) -> CHECK_G(redex_g(x_1)) 305.20/136.70 305.20/136.70 The TRS R consists of the following rules: 305.20/136.70 305.20/136.70 redex_h(h(x)) -> result_h(c) 305.20/136.70 redex_g(g(x)) -> result_g(h(x)) 305.20/136.70 305.20/136.70 The set Q consists of the following terms: 305.20/136.70 305.20/136.70 redex_f(f(x0)) 305.20/136.70 redex_g(g(x0)) 305.20/136.70 redex_h(h(x0)) 305.20/136.70 305.20/136.70 We have to consider all minimal (P,Q,R)-chains. 305.20/136.70 ---------------------------------------- 305.20/136.70 305.20/136.70 (114) QReductionProof (EQUIVALENT) 305.20/136.70 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 305.20/136.70 305.20/136.70 redex_f(f(x0)) 305.20/136.70 305.20/136.70 305.20/136.70 ---------------------------------------- 305.20/136.70 305.20/136.70 (115) 305.20/136.70 Obligation: 305.20/136.70 Q DP problem: 305.20/136.70 The TRS P consists of the following rules: 305.20/136.70 305.20/136.70 CHECK_G(redex_g(x_1)) -> REDUCE(x_1) 305.20/136.70 REDUCE(h(x_1)) -> CHECK_H(redex_h(x_1)) 305.20/136.70 CHECK_H(redex_h(x_1)) -> REDUCE(x_1) 305.20/136.70 REDUCE(g(x_1)) -> CHECK_G(redex_g(x_1)) 305.20/136.70 305.20/136.70 The TRS R consists of the following rules: 305.20/136.70 305.20/136.70 redex_h(h(x)) -> result_h(c) 305.20/136.70 redex_g(g(x)) -> result_g(h(x)) 305.20/136.70 305.20/136.70 The set Q consists of the following terms: 305.20/136.70 305.20/136.70 redex_g(g(x0)) 305.20/136.70 redex_h(h(x0)) 305.20/136.70 305.20/136.70 We have to consider all minimal (P,Q,R)-chains. 305.20/136.70 ---------------------------------------- 305.20/136.70 305.20/136.70 (116) UsableRulesReductionPairsProof (EQUIVALENT) 305.20/136.70 By using the usable rules with reduction pair processor [LPAR04] with a polynomial ordering [POLO], all dependency pairs and the corresponding usable rules [FROCOS05] can be oriented non-strictly. All non-usable rules are removed, and those dependency pairs and usable rules that have been oriented strictly or contain non-usable symbols in their left-hand side are removed as well. 305.20/136.70 305.20/136.70 The following dependency pairs can be deleted: 305.20/136.70 305.20/136.70 REDUCE(g(x_1)) -> CHECK_G(redex_g(x_1)) 305.20/136.70 The following rules are removed from R: 305.20/136.70 305.20/136.70 redex_g(g(x)) -> result_g(h(x)) 305.20/136.70 Used ordering: POLO with Polynomial interpretation [POLO]: 305.20/136.70 305.20/136.70 POL(CHECK_G(x_1)) = x_1 305.20/136.70 POL(CHECK_H(x_1)) = x_1 305.20/136.70 POL(REDUCE(x_1)) = 2*x_1 305.20/136.70 POL(c) = 0 305.20/136.70 POL(g(x_1)) = 2*x_1 305.20/136.70 POL(h(x_1)) = 2*x_1 305.20/136.70 POL(redex_g(x_1)) = 2*x_1 305.20/136.70 POL(redex_h(x_1)) = 2*x_1 305.20/136.70 POL(result_g(x_1)) = x_1 305.20/136.70 POL(result_h(x_1)) = x_1 305.20/136.70 305.20/136.70 305.20/136.70 ---------------------------------------- 305.20/136.70 305.20/136.70 (117) 305.20/136.70 Obligation: 305.20/136.70 Q DP problem: 305.20/136.70 The TRS P consists of the following rules: 305.20/136.70 305.20/136.70 CHECK_G(redex_g(x_1)) -> REDUCE(x_1) 305.20/136.70 REDUCE(h(x_1)) -> CHECK_H(redex_h(x_1)) 305.20/136.70 CHECK_H(redex_h(x_1)) -> REDUCE(x_1) 305.20/136.70 305.20/136.70 The TRS R consists of the following rules: 305.20/136.70 305.20/136.70 redex_h(h(x)) -> result_h(c) 305.20/136.70 305.20/136.70 The set Q consists of the following terms: 305.20/136.70 305.20/136.70 redex_g(g(x0)) 305.20/136.70 redex_h(h(x0)) 305.20/136.70 305.20/136.70 We have to consider all minimal (P,Q,R)-chains. 305.20/136.70 ---------------------------------------- 305.20/136.70 305.20/136.70 (118) DependencyGraphProof (EQUIVALENT) 305.20/136.70 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 3 less nodes. 305.20/136.70 ---------------------------------------- 305.20/136.70 305.20/136.70 (119) 305.20/136.70 TRUE 305.20/136.70 305.20/136.70 ---------------------------------------- 305.20/136.70 305.20/136.70 (120) 305.20/136.70 Obligation: 305.20/136.70 Q DP problem: 305.20/136.70 The TRS P consists of the following rules: 305.20/136.70 305.20/136.70 TOP(go_up(x)) -> TOP(reduce(x)) 305.20/136.70 305.20/136.70 The TRS R consists of the following rules: 305.20/136.70 305.20/136.70 top(go_up(x)) -> top(reduce(x)) 305.20/136.70 reduce(f(x_1)) -> check_f(redex_f(x_1)) 305.20/136.70 reduce(g(x_1)) -> check_g(redex_g(x_1)) 305.20/136.70 reduce(h(x_1)) -> check_h(redex_h(x_1)) 305.20/136.70 reduce(a) -> go_up(f(a)) 305.20/136.70 redex_f(f(x)) -> result_f(g(x)) 305.20/136.70 redex_g(g(x)) -> result_g(h(x)) 305.20/136.70 redex_h(h(x)) -> result_h(c) 305.20/136.70 check_f(result_f(x)) -> go_up(x) 305.20/136.70 check_g(result_g(x)) -> go_up(x) 305.20/136.70 check_h(result_h(x)) -> go_up(x) 305.20/136.70 check_f(redex_f(x_1)) -> in_f_1(reduce(x_1)) 305.20/136.70 check_g(redex_g(x_1)) -> in_g_1(reduce(x_1)) 305.20/136.70 check_h(redex_h(x_1)) -> in_h_1(reduce(x_1)) 305.20/136.70 in_f_1(go_up(x_1)) -> go_up(f(x_1)) 305.20/136.70 in_g_1(go_up(x_1)) -> go_up(g(x_1)) 305.20/136.70 in_h_1(go_up(x_1)) -> go_up(h(x_1)) 305.20/136.70 305.20/136.70 The set Q consists of the following terms: 305.20/136.70 305.20/136.70 top(go_up(x0)) 305.20/136.70 reduce(f(x0)) 305.20/136.70 reduce(g(x0)) 305.20/136.70 reduce(h(x0)) 305.20/136.70 reduce(a) 305.20/136.70 redex_f(f(x0)) 305.20/136.70 redex_g(g(x0)) 305.20/136.70 redex_h(h(x0)) 305.20/136.70 check_f(result_f(x0)) 305.20/136.70 check_g(result_g(x0)) 305.20/136.70 check_h(result_h(x0)) 305.20/136.70 check_f(redex_f(x0)) 305.20/136.70 check_g(redex_g(x0)) 305.20/136.70 check_h(redex_h(x0)) 305.20/136.70 in_f_1(go_up(x0)) 305.20/136.70 in_g_1(go_up(x0)) 305.20/136.70 in_h_1(go_up(x0)) 305.20/136.70 305.20/136.70 We have to consider all minimal (P,Q,R)-chains. 305.20/136.70 ---------------------------------------- 305.20/136.70 305.20/136.70 (121) UsableRulesProof (EQUIVALENT) 305.20/136.70 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 305.20/136.70 ---------------------------------------- 305.20/136.70 305.20/136.70 (122) 305.20/136.70 Obligation: 305.20/136.70 Q DP problem: 305.20/136.70 The TRS P consists of the following rules: 305.20/136.70 305.20/136.70 TOP(go_up(x)) -> TOP(reduce(x)) 305.20/136.70 305.20/136.70 The TRS R consists of the following rules: 305.20/136.70 305.20/136.70 reduce(f(x_1)) -> check_f(redex_f(x_1)) 305.20/136.70 reduce(g(x_1)) -> check_g(redex_g(x_1)) 305.20/136.70 reduce(h(x_1)) -> check_h(redex_h(x_1)) 305.20/136.70 reduce(a) -> go_up(f(a)) 305.20/136.70 redex_h(h(x)) -> result_h(c) 305.20/136.70 check_h(result_h(x)) -> go_up(x) 305.20/136.70 check_h(redex_h(x_1)) -> in_h_1(reduce(x_1)) 305.20/136.70 in_h_1(go_up(x_1)) -> go_up(h(x_1)) 305.20/136.70 redex_g(g(x)) -> result_g(h(x)) 305.20/136.70 check_g(result_g(x)) -> go_up(x) 305.20/136.70 check_g(redex_g(x_1)) -> in_g_1(reduce(x_1)) 305.20/136.70 in_g_1(go_up(x_1)) -> go_up(g(x_1)) 305.20/136.70 redex_f(f(x)) -> result_f(g(x)) 305.20/136.70 check_f(result_f(x)) -> go_up(x) 305.20/136.70 check_f(redex_f(x_1)) -> in_f_1(reduce(x_1)) 305.20/136.70 in_f_1(go_up(x_1)) -> go_up(f(x_1)) 305.20/136.70 305.20/136.70 The set Q consists of the following terms: 305.20/136.70 305.20/136.70 top(go_up(x0)) 305.20/136.70 reduce(f(x0)) 305.20/136.70 reduce(g(x0)) 305.20/136.70 reduce(h(x0)) 305.20/136.70 reduce(a) 305.20/136.70 redex_f(f(x0)) 305.20/136.70 redex_g(g(x0)) 305.20/136.70 redex_h(h(x0)) 305.20/136.70 check_f(result_f(x0)) 305.20/136.70 check_g(result_g(x0)) 305.20/136.70 check_h(result_h(x0)) 305.20/136.70 check_f(redex_f(x0)) 305.20/136.70 check_g(redex_g(x0)) 305.20/136.70 check_h(redex_h(x0)) 305.20/136.70 in_f_1(go_up(x0)) 305.20/136.70 in_g_1(go_up(x0)) 305.20/136.70 in_h_1(go_up(x0)) 305.20/136.70 305.20/136.70 We have to consider all minimal (P,Q,R)-chains. 305.20/136.70 ---------------------------------------- 305.20/136.70 305.20/136.70 (123) QReductionProof (EQUIVALENT) 305.20/136.70 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 305.20/136.70 305.20/136.70 top(go_up(x0)) 305.20/136.70 305.20/136.70 305.20/136.70 ---------------------------------------- 305.20/136.70 305.20/136.70 (124) 305.20/136.70 Obligation: 305.20/136.70 Q DP problem: 305.20/136.70 The TRS P consists of the following rules: 305.20/136.70 305.20/136.70 TOP(go_up(x)) -> TOP(reduce(x)) 305.20/136.70 305.20/136.70 The TRS R consists of the following rules: 305.20/136.70 305.20/136.70 reduce(f(x_1)) -> check_f(redex_f(x_1)) 305.20/136.70 reduce(g(x_1)) -> check_g(redex_g(x_1)) 305.20/136.70 reduce(h(x_1)) -> check_h(redex_h(x_1)) 305.20/136.70 reduce(a) -> go_up(f(a)) 305.20/136.70 redex_h(h(x)) -> result_h(c) 305.20/136.70 check_h(result_h(x)) -> go_up(x) 305.20/136.70 check_h(redex_h(x_1)) -> in_h_1(reduce(x_1)) 305.20/136.70 in_h_1(go_up(x_1)) -> go_up(h(x_1)) 305.20/136.70 redex_g(g(x)) -> result_g(h(x)) 305.20/136.70 check_g(result_g(x)) -> go_up(x) 305.20/136.70 check_g(redex_g(x_1)) -> in_g_1(reduce(x_1)) 305.20/136.70 in_g_1(go_up(x_1)) -> go_up(g(x_1)) 305.20/136.70 redex_f(f(x)) -> result_f(g(x)) 305.20/136.70 check_f(result_f(x)) -> go_up(x) 305.20/136.70 check_f(redex_f(x_1)) -> in_f_1(reduce(x_1)) 305.20/136.70 in_f_1(go_up(x_1)) -> go_up(f(x_1)) 305.20/136.70 305.20/136.70 The set Q consists of the following terms: 305.20/136.70 305.20/136.70 reduce(f(x0)) 305.20/136.70 reduce(g(x0)) 305.20/136.70 reduce(h(x0)) 305.20/136.70 reduce(a) 305.20/136.70 redex_f(f(x0)) 305.20/136.70 redex_g(g(x0)) 305.20/136.70 redex_h(h(x0)) 305.20/136.70 check_f(result_f(x0)) 305.20/136.70 check_g(result_g(x0)) 305.20/136.70 check_h(result_h(x0)) 305.20/136.70 check_f(redex_f(x0)) 305.20/136.70 check_g(redex_g(x0)) 305.20/136.70 check_h(redex_h(x0)) 305.20/136.70 in_f_1(go_up(x0)) 305.20/136.70 in_g_1(go_up(x0)) 305.20/136.70 in_h_1(go_up(x0)) 305.20/136.70 305.20/136.70 We have to consider all minimal (P,Q,R)-chains. 305.20/136.70 ---------------------------------------- 305.20/136.70 305.20/136.70 (125) TransformationProof (EQUIVALENT) 305.20/136.70 By narrowing [LPAR04] the rule TOP(go_up(x)) -> TOP(reduce(x)) at position [0] we obtained the following new rules [LPAR04]: 305.20/136.70 305.20/136.70 (TOP(go_up(f(x0))) -> TOP(check_f(redex_f(x0))),TOP(go_up(f(x0))) -> TOP(check_f(redex_f(x0)))) 305.20/136.70 (TOP(go_up(g(x0))) -> TOP(check_g(redex_g(x0))),TOP(go_up(g(x0))) -> TOP(check_g(redex_g(x0)))) 305.20/136.70 (TOP(go_up(h(x0))) -> TOP(check_h(redex_h(x0))),TOP(go_up(h(x0))) -> TOP(check_h(redex_h(x0)))) 305.20/136.70 (TOP(go_up(a)) -> TOP(go_up(f(a))),TOP(go_up(a)) -> TOP(go_up(f(a)))) 305.20/136.70 305.20/136.70 305.20/136.70 ---------------------------------------- 305.20/136.70 305.20/136.70 (126) 305.20/136.70 Obligation: 305.20/136.70 Q DP problem: 305.20/136.70 The TRS P consists of the following rules: 305.20/136.70 305.20/136.70 TOP(go_up(f(x0))) -> TOP(check_f(redex_f(x0))) 305.20/136.70 TOP(go_up(g(x0))) -> TOP(check_g(redex_g(x0))) 305.20/136.70 TOP(go_up(h(x0))) -> TOP(check_h(redex_h(x0))) 305.20/136.70 TOP(go_up(a)) -> TOP(go_up(f(a))) 305.20/136.70 305.20/136.70 The TRS R consists of the following rules: 305.20/136.70 305.20/136.70 reduce(f(x_1)) -> check_f(redex_f(x_1)) 305.20/136.70 reduce(g(x_1)) -> check_g(redex_g(x_1)) 305.20/136.70 reduce(h(x_1)) -> check_h(redex_h(x_1)) 305.20/136.70 reduce(a) -> go_up(f(a)) 305.20/136.70 redex_h(h(x)) -> result_h(c) 305.20/136.70 check_h(result_h(x)) -> go_up(x) 305.20/136.70 check_h(redex_h(x_1)) -> in_h_1(reduce(x_1)) 305.20/136.70 in_h_1(go_up(x_1)) -> go_up(h(x_1)) 305.20/136.70 redex_g(g(x)) -> result_g(h(x)) 305.20/136.70 check_g(result_g(x)) -> go_up(x) 305.20/136.70 check_g(redex_g(x_1)) -> in_g_1(reduce(x_1)) 305.20/136.70 in_g_1(go_up(x_1)) -> go_up(g(x_1)) 305.20/136.70 redex_f(f(x)) -> result_f(g(x)) 305.20/136.70 check_f(result_f(x)) -> go_up(x) 305.20/136.70 check_f(redex_f(x_1)) -> in_f_1(reduce(x_1)) 305.20/136.70 in_f_1(go_up(x_1)) -> go_up(f(x_1)) 305.20/136.70 305.20/136.70 The set Q consists of the following terms: 305.20/136.70 305.20/136.70 reduce(f(x0)) 305.20/136.70 reduce(g(x0)) 305.20/136.70 reduce(h(x0)) 305.20/136.70 reduce(a) 305.20/136.70 redex_f(f(x0)) 305.20/136.70 redex_g(g(x0)) 305.20/136.70 redex_h(h(x0)) 305.20/136.70 check_f(result_f(x0)) 305.20/136.70 check_g(result_g(x0)) 305.20/136.70 check_h(result_h(x0)) 305.20/136.70 check_f(redex_f(x0)) 305.20/136.70 check_g(redex_g(x0)) 305.20/136.70 check_h(redex_h(x0)) 305.20/136.70 in_f_1(go_up(x0)) 305.20/136.70 in_g_1(go_up(x0)) 305.20/136.70 in_h_1(go_up(x0)) 305.20/136.70 305.20/136.70 We have to consider all minimal (P,Q,R)-chains. 305.20/136.70 ---------------------------------------- 305.20/136.70 305.20/136.70 (127) QDPOrderProof (EQUIVALENT) 305.20/136.70 We use the reduction pair processor [LPAR04,JAR06]. 305.20/136.70 305.20/136.70 305.20/136.70 The following pairs can be oriented strictly and are deleted. 305.20/136.70 305.20/136.70 TOP(go_up(a)) -> TOP(go_up(f(a))) 305.20/136.70 The remaining pairs can at least be oriented weakly. 305.20/136.70 Used ordering: Polynomial interpretation [POLO]: 305.20/136.70 305.20/136.70 POL(TOP(x_1)) = x_1 305.20/136.70 POL(a) = 1 305.20/136.70 POL(c) = 0 305.20/136.70 POL(check_f(x_1)) = x_1 305.20/136.70 POL(check_g(x_1)) = x_1 305.20/136.70 POL(check_h(x_1)) = x_1 305.20/136.70 POL(f(x_1)) = 0 305.20/136.70 POL(g(x_1)) = 0 305.20/136.70 POL(go_up(x_1)) = x_1 305.20/136.70 POL(h(x_1)) = 0 305.20/136.70 POL(in_f_1(x_1)) = 0 305.20/136.70 POL(in_g_1(x_1)) = 0 305.20/136.70 POL(in_h_1(x_1)) = 0 305.20/136.70 POL(redex_f(x_1)) = 0 305.20/136.70 POL(redex_g(x_1)) = 0 305.20/136.70 POL(redex_h(x_1)) = 0 305.20/136.70 POL(reduce(x_1)) = 0 305.20/136.70 POL(result_f(x_1)) = x_1 305.20/136.70 POL(result_g(x_1)) = x_1 305.20/136.70 POL(result_h(x_1)) = x_1 305.20/136.70 305.20/136.70 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 305.20/136.70 305.20/136.70 redex_f(f(x)) -> result_f(g(x)) 305.20/136.70 check_f(result_f(x)) -> go_up(x) 305.20/136.70 check_f(redex_f(x_1)) -> in_f_1(reduce(x_1)) 305.20/136.70 redex_g(g(x)) -> result_g(h(x)) 305.20/136.70 check_g(result_g(x)) -> go_up(x) 305.20/136.70 check_g(redex_g(x_1)) -> in_g_1(reduce(x_1)) 305.20/136.70 redex_h(h(x)) -> result_h(c) 305.20/136.70 check_h(result_h(x)) -> go_up(x) 305.20/136.70 check_h(redex_h(x_1)) -> in_h_1(reduce(x_1)) 305.20/136.70 in_f_1(go_up(x_1)) -> go_up(f(x_1)) 305.20/136.70 reduce(g(x_1)) -> check_g(redex_g(x_1)) 305.20/136.70 in_g_1(go_up(x_1)) -> go_up(g(x_1)) 305.20/136.70 reduce(f(x_1)) -> check_f(redex_f(x_1)) 305.20/136.70 reduce(h(x_1)) -> check_h(redex_h(x_1)) 305.20/136.70 in_h_1(go_up(x_1)) -> go_up(h(x_1)) 305.20/136.70 305.20/136.70 305.20/136.70 ---------------------------------------- 305.20/136.70 305.20/136.70 (128) 305.20/136.70 Obligation: 305.20/136.70 Q DP problem: 305.20/136.70 The TRS P consists of the following rules: 305.20/136.70 305.20/136.70 TOP(go_up(f(x0))) -> TOP(check_f(redex_f(x0))) 305.20/136.70 TOP(go_up(g(x0))) -> TOP(check_g(redex_g(x0))) 305.20/136.70 TOP(go_up(h(x0))) -> TOP(check_h(redex_h(x0))) 305.20/136.70 305.20/136.70 The TRS R consists of the following rules: 305.20/136.70 305.20/136.70 reduce(f(x_1)) -> check_f(redex_f(x_1)) 305.20/136.70 reduce(g(x_1)) -> check_g(redex_g(x_1)) 305.20/136.70 reduce(h(x_1)) -> check_h(redex_h(x_1)) 305.20/136.70 reduce(a) -> go_up(f(a)) 305.20/136.70 redex_h(h(x)) -> result_h(c) 305.20/136.70 check_h(result_h(x)) -> go_up(x) 305.20/136.70 check_h(redex_h(x_1)) -> in_h_1(reduce(x_1)) 305.20/136.70 in_h_1(go_up(x_1)) -> go_up(h(x_1)) 305.20/136.70 redex_g(g(x)) -> result_g(h(x)) 305.20/136.70 check_g(result_g(x)) -> go_up(x) 305.20/136.70 check_g(redex_g(x_1)) -> in_g_1(reduce(x_1)) 305.20/136.70 in_g_1(go_up(x_1)) -> go_up(g(x_1)) 305.20/136.70 redex_f(f(x)) -> result_f(g(x)) 305.20/136.70 check_f(result_f(x)) -> go_up(x) 305.20/136.70 check_f(redex_f(x_1)) -> in_f_1(reduce(x_1)) 305.20/136.70 in_f_1(go_up(x_1)) -> go_up(f(x_1)) 305.20/136.70 305.20/136.70 The set Q consists of the following terms: 305.20/136.70 305.20/136.70 reduce(f(x0)) 305.20/136.70 reduce(g(x0)) 305.20/136.70 reduce(h(x0)) 305.20/136.70 reduce(a) 305.20/136.70 redex_f(f(x0)) 305.20/136.70 redex_g(g(x0)) 305.20/136.70 redex_h(h(x0)) 305.20/136.70 check_f(result_f(x0)) 305.20/136.70 check_g(result_g(x0)) 305.20/136.70 check_h(result_h(x0)) 305.20/136.70 check_f(redex_f(x0)) 305.20/136.70 check_g(redex_g(x0)) 305.20/136.70 check_h(redex_h(x0)) 305.20/136.70 in_f_1(go_up(x0)) 305.20/136.70 in_g_1(go_up(x0)) 305.20/136.70 in_h_1(go_up(x0)) 305.20/136.70 305.20/136.70 We have to consider all minimal (P,Q,R)-chains. 305.20/136.70 ---------------------------------------- 305.20/136.70 305.20/136.70 (129) UsableRulesProof (EQUIVALENT) 305.20/136.70 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 305.20/136.70 ---------------------------------------- 305.20/136.70 305.20/136.70 (130) 305.20/136.70 Obligation: 305.20/136.70 Q DP problem: 305.20/136.70 The TRS P consists of the following rules: 305.20/136.70 305.20/136.70 TOP(go_up(x)) -> TOP(reduce(x)) 305.20/136.70 305.20/136.70 The TRS R consists of the following rules: 305.20/136.70 305.20/136.70 reduce(f(x_1)) -> check_f(redex_f(x_1)) 305.20/136.70 reduce(g(x_1)) -> check_g(redex_g(x_1)) 305.20/136.70 reduce(h(x_1)) -> check_h(redex_h(x_1)) 305.20/136.70 reduce(a) -> go_up(f(a)) 305.20/136.70 redex_h(h(x)) -> result_h(c) 305.20/136.70 check_h(result_h(x)) -> go_up(x) 305.20/136.70 check_h(redex_h(x_1)) -> in_h_1(reduce(x_1)) 305.20/136.70 in_h_1(go_up(x_1)) -> go_up(h(x_1)) 305.20/136.70 redex_g(g(x)) -> result_g(h(x)) 305.20/136.70 check_g(result_g(x)) -> go_up(x) 305.20/136.70 check_g(redex_g(x_1)) -> in_g_1(reduce(x_1)) 305.20/136.70 in_g_1(go_up(x_1)) -> go_up(g(x_1)) 305.20/136.70 redex_f(f(x)) -> result_f(g(x)) 305.20/136.70 check_f(result_f(x)) -> go_up(x) 305.20/136.70 check_f(redex_f(x_1)) -> in_f_1(reduce(x_1)) 305.20/136.70 in_f_1(go_up(x_1)) -> go_up(f(x_1)) 305.20/136.70 305.20/136.70 The set Q consists of the following terms: 305.20/136.70 305.20/136.70 top(go_up(x0)) 305.20/136.70 reduce(f(x0)) 305.20/136.70 reduce(g(x0)) 305.20/136.70 reduce(h(x0)) 305.20/136.70 reduce(a) 305.20/136.70 redex_f(f(x0)) 305.20/136.70 redex_g(g(x0)) 305.20/136.70 redex_h(h(x0)) 305.20/136.70 check_f(result_f(x0)) 305.20/136.70 check_g(result_g(x0)) 305.20/136.70 check_h(result_h(x0)) 305.20/136.70 check_f(redex_f(x0)) 305.20/136.70 check_g(redex_g(x0)) 305.20/136.70 check_h(redex_h(x0)) 305.20/136.70 in_f_1(go_up(x0)) 305.20/136.70 in_g_1(go_up(x0)) 305.20/136.70 in_h_1(go_up(x0)) 305.20/136.70 305.20/136.70 We have to consider all minimal (P,Q,R)-chains. 305.20/136.70 ---------------------------------------- 305.20/136.70 305.20/136.70 (131) QReductionProof (EQUIVALENT) 305.20/136.70 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 305.20/136.70 305.20/136.70 top(go_up(x0)) 305.20/136.70 305.20/136.70 305.20/136.70 ---------------------------------------- 305.20/136.70 305.20/136.70 (132) 305.20/136.70 Obligation: 305.20/136.70 Q DP problem: 305.20/136.70 The TRS P consists of the following rules: 305.20/136.70 305.20/136.70 TOP(go_up(x)) -> TOP(reduce(x)) 305.20/136.70 305.20/136.70 The TRS R consists of the following rules: 305.20/136.70 305.20/136.70 reduce(f(x_1)) -> check_f(redex_f(x_1)) 305.20/136.70 reduce(g(x_1)) -> check_g(redex_g(x_1)) 305.20/136.70 reduce(h(x_1)) -> check_h(redex_h(x_1)) 305.20/136.70 reduce(a) -> go_up(f(a)) 305.20/136.70 redex_h(h(x)) -> result_h(c) 305.20/136.70 check_h(result_h(x)) -> go_up(x) 305.20/136.70 check_h(redex_h(x_1)) -> in_h_1(reduce(x_1)) 305.20/136.70 in_h_1(go_up(x_1)) -> go_up(h(x_1)) 305.20/136.70 redex_g(g(x)) -> result_g(h(x)) 305.20/136.70 check_g(result_g(x)) -> go_up(x) 305.20/136.70 check_g(redex_g(x_1)) -> in_g_1(reduce(x_1)) 305.20/136.70 in_g_1(go_up(x_1)) -> go_up(g(x_1)) 305.20/136.70 redex_f(f(x)) -> result_f(g(x)) 305.20/136.70 check_f(result_f(x)) -> go_up(x) 305.20/136.70 check_f(redex_f(x_1)) -> in_f_1(reduce(x_1)) 305.20/136.70 in_f_1(go_up(x_1)) -> go_up(f(x_1)) 305.20/136.70 305.20/136.70 The set Q consists of the following terms: 305.20/136.70 305.20/136.70 reduce(f(x0)) 305.20/136.70 reduce(g(x0)) 305.20/136.70 reduce(h(x0)) 305.20/136.70 reduce(a) 305.20/136.70 redex_f(f(x0)) 305.20/136.70 redex_g(g(x0)) 305.20/136.70 redex_h(h(x0)) 305.20/136.70 check_f(result_f(x0)) 305.20/136.70 check_g(result_g(x0)) 305.20/136.70 check_h(result_h(x0)) 305.20/136.70 check_f(redex_f(x0)) 305.20/136.70 check_g(redex_g(x0)) 305.20/136.70 check_h(redex_h(x0)) 305.20/136.70 in_f_1(go_up(x0)) 305.20/136.70 in_g_1(go_up(x0)) 305.20/136.70 in_h_1(go_up(x0)) 305.20/136.70 305.20/136.70 We have to consider all minimal (P,Q,R)-chains. 305.20/136.77 EOF