6.15/2.29 NO 6.28/2.30 proof of /export/starexec/sandbox2/benchmark/theBenchmark.xml 6.28/2.30 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 6.28/2.30 6.28/2.30 6.28/2.30 Outermost Termination of the given OTRS could be disproven: 6.28/2.30 6.28/2.30 (0) OTRS 6.28/2.30 (1) Thiemann-SpecialC-Transformation [EQUIVALENT, 0 ms] 6.28/2.30 (2) QTRS 6.28/2.30 (3) DependencyPairsProof [EQUIVALENT, 0 ms] 6.28/2.30 (4) QDP 6.28/2.30 (5) DependencyGraphProof [EQUIVALENT, 0 ms] 6.28/2.30 (6) AND 6.28/2.30 (7) QDP 6.28/2.30 (8) UsableRulesProof [EQUIVALENT, 0 ms] 6.28/2.30 (9) QDP 6.28/2.30 (10) QReductionProof [EQUIVALENT, 0 ms] 6.28/2.30 (11) QDP 6.28/2.30 (12) UsableRulesReductionPairsProof [EQUIVALENT, 9 ms] 6.28/2.30 (13) QDP 6.28/2.30 (14) DependencyGraphProof [EQUIVALENT, 0 ms] 6.28/2.30 (15) TRUE 6.28/2.30 (16) QDP 6.28/2.30 (17) UsableRulesProof [EQUIVALENT, 0 ms] 6.28/2.30 (18) QDP 6.28/2.30 (19) QReductionProof [EQUIVALENT, 0 ms] 6.28/2.30 (20) QDP 6.28/2.30 (21) TransformationProof [EQUIVALENT, 0 ms] 6.28/2.30 (22) QDP 6.28/2.30 (23) UsableRulesProof [EQUIVALENT, 0 ms] 6.28/2.30 (24) QDP 6.28/2.30 (25) NonTerminationLoopProof [COMPLETE, 0 ms] 6.28/2.30 (26) NO 6.28/2.30 6.28/2.30 6.28/2.30 ---------------------------------------- 6.28/2.30 6.28/2.30 (0) 6.28/2.30 Obligation: 6.28/2.30 Term rewrite system R: 6.28/2.30 The TRS R consists of the following rules: 6.28/2.30 6.28/2.30 b -> f(f(b)) 6.28/2.30 f(b) -> b 6.28/2.30 f(f(f(x))) -> b 6.28/2.30 6.28/2.30 6.28/2.30 6.28/2.30 Outermost Strategy. 6.28/2.30 6.28/2.30 ---------------------------------------- 6.28/2.30 6.28/2.30 (1) Thiemann-SpecialC-Transformation (EQUIVALENT) 6.28/2.30 We applied the Thiemann-SpecialC transformation to transform the outermost TRS to an innermost TRS. 6.28/2.30 ---------------------------------------- 6.28/2.30 6.28/2.30 (2) 6.28/2.30 Obligation: 6.28/2.30 Q restricted rewrite system: 6.28/2.30 The TRS R consists of the following rules: 6.28/2.30 6.28/2.30 top(go_up(x)) -> top(reduce(x)) 6.28/2.30 reduce(f(x_1)) -> check_f(redex_f(x_1)) 6.28/2.30 reduce(b) -> go_up(f(f(b))) 6.28/2.30 redex_f(b) -> result_f(b) 6.28/2.30 redex_f(f(f(x))) -> result_f(b) 6.28/2.30 check_f(result_f(x)) -> go_up(x) 6.28/2.30 check_f(redex_f(x_1)) -> in_f_1(reduce(x_1)) 6.28/2.30 in_f_1(go_up(x_1)) -> go_up(f(x_1)) 6.28/2.30 6.28/2.30 The set Q consists of the following terms: 6.28/2.30 6.28/2.30 top(go_up(x0)) 6.28/2.30 reduce(f(x0)) 6.28/2.30 reduce(b) 6.28/2.30 redex_f(b) 6.28/2.30 redex_f(f(f(x0))) 6.28/2.30 check_f(result_f(x0)) 6.28/2.30 check_f(redex_f(x0)) 6.28/2.30 in_f_1(go_up(x0)) 6.28/2.30 6.28/2.30 6.28/2.30 ---------------------------------------- 6.28/2.30 6.28/2.30 (3) DependencyPairsProof (EQUIVALENT) 6.28/2.30 Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. 6.28/2.30 ---------------------------------------- 6.28/2.30 6.28/2.30 (4) 6.28/2.30 Obligation: 6.28/2.30 Q DP problem: 6.28/2.30 The TRS P consists of the following rules: 6.28/2.30 6.28/2.30 TOP(go_up(x)) -> TOP(reduce(x)) 6.28/2.30 TOP(go_up(x)) -> REDUCE(x) 6.28/2.30 REDUCE(f(x_1)) -> CHECK_F(redex_f(x_1)) 6.28/2.30 REDUCE(f(x_1)) -> REDEX_F(x_1) 6.28/2.30 CHECK_F(redex_f(x_1)) -> IN_F_1(reduce(x_1)) 6.28/2.30 CHECK_F(redex_f(x_1)) -> REDUCE(x_1) 6.28/2.30 6.28/2.30 The TRS R consists of the following rules: 6.28/2.30 6.28/2.30 top(go_up(x)) -> top(reduce(x)) 6.28/2.30 reduce(f(x_1)) -> check_f(redex_f(x_1)) 6.28/2.30 reduce(b) -> go_up(f(f(b))) 6.28/2.30 redex_f(b) -> result_f(b) 6.28/2.30 redex_f(f(f(x))) -> result_f(b) 6.28/2.30 check_f(result_f(x)) -> go_up(x) 6.28/2.30 check_f(redex_f(x_1)) -> in_f_1(reduce(x_1)) 6.28/2.30 in_f_1(go_up(x_1)) -> go_up(f(x_1)) 6.28/2.30 6.28/2.30 The set Q consists of the following terms: 6.28/2.30 6.28/2.30 top(go_up(x0)) 6.28/2.30 reduce(f(x0)) 6.28/2.30 reduce(b) 6.28/2.30 redex_f(b) 6.28/2.30 redex_f(f(f(x0))) 6.28/2.30 check_f(result_f(x0)) 6.28/2.30 check_f(redex_f(x0)) 6.28/2.30 in_f_1(go_up(x0)) 6.28/2.30 6.28/2.30 We have to consider all minimal (P,Q,R)-chains. 6.28/2.30 ---------------------------------------- 6.28/2.30 6.28/2.30 (5) DependencyGraphProof (EQUIVALENT) 6.28/2.30 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 3 less nodes. 6.28/2.30 ---------------------------------------- 6.28/2.30 6.28/2.30 (6) 6.28/2.30 Complex Obligation (AND) 6.28/2.30 6.28/2.30 ---------------------------------------- 6.28/2.30 6.28/2.30 (7) 6.28/2.30 Obligation: 6.28/2.30 Q DP problem: 6.28/2.30 The TRS P consists of the following rules: 6.28/2.30 6.28/2.30 CHECK_F(redex_f(x_1)) -> REDUCE(x_1) 6.28/2.30 REDUCE(f(x_1)) -> CHECK_F(redex_f(x_1)) 6.28/2.30 6.28/2.30 The TRS R consists of the following rules: 6.28/2.30 6.28/2.30 top(go_up(x)) -> top(reduce(x)) 6.28/2.30 reduce(f(x_1)) -> check_f(redex_f(x_1)) 6.28/2.30 reduce(b) -> go_up(f(f(b))) 6.28/2.30 redex_f(b) -> result_f(b) 6.28/2.30 redex_f(f(f(x))) -> result_f(b) 6.28/2.30 check_f(result_f(x)) -> go_up(x) 6.28/2.30 check_f(redex_f(x_1)) -> in_f_1(reduce(x_1)) 6.28/2.30 in_f_1(go_up(x_1)) -> go_up(f(x_1)) 6.28/2.30 6.28/2.30 The set Q consists of the following terms: 6.28/2.30 6.28/2.30 top(go_up(x0)) 6.28/2.30 reduce(f(x0)) 6.28/2.30 reduce(b) 6.28/2.30 redex_f(b) 6.28/2.30 redex_f(f(f(x0))) 6.28/2.30 check_f(result_f(x0)) 6.28/2.30 check_f(redex_f(x0)) 6.28/2.30 in_f_1(go_up(x0)) 6.28/2.30 6.28/2.30 We have to consider all minimal (P,Q,R)-chains. 6.28/2.30 ---------------------------------------- 6.28/2.30 6.28/2.30 (8) UsableRulesProof (EQUIVALENT) 6.28/2.30 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. 6.28/2.30 ---------------------------------------- 6.28/2.30 6.28/2.30 (9) 6.28/2.30 Obligation: 6.28/2.30 Q DP problem: 6.28/2.30 The TRS P consists of the following rules: 6.28/2.30 6.28/2.30 CHECK_F(redex_f(x_1)) -> REDUCE(x_1) 6.28/2.30 REDUCE(f(x_1)) -> CHECK_F(redex_f(x_1)) 6.28/2.30 6.28/2.30 The TRS R consists of the following rules: 6.28/2.30 6.28/2.30 redex_f(b) -> result_f(b) 6.28/2.30 redex_f(f(f(x))) -> result_f(b) 6.28/2.30 6.28/2.30 The set Q consists of the following terms: 6.28/2.30 6.28/2.30 top(go_up(x0)) 6.28/2.30 reduce(f(x0)) 6.28/2.30 reduce(b) 6.28/2.30 redex_f(b) 6.28/2.30 redex_f(f(f(x0))) 6.28/2.30 check_f(result_f(x0)) 6.28/2.30 check_f(redex_f(x0)) 6.28/2.30 in_f_1(go_up(x0)) 6.28/2.30 6.28/2.30 We have to consider all minimal (P,Q,R)-chains. 6.28/2.30 ---------------------------------------- 6.28/2.30 6.28/2.30 (10) QReductionProof (EQUIVALENT) 6.28/2.30 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 6.28/2.30 6.28/2.30 top(go_up(x0)) 6.28/2.30 reduce(f(x0)) 6.28/2.30 reduce(b) 6.28/2.30 check_f(result_f(x0)) 6.28/2.30 check_f(redex_f(x0)) 6.28/2.30 in_f_1(go_up(x0)) 6.28/2.30 6.28/2.30 6.28/2.30 ---------------------------------------- 6.28/2.30 6.28/2.30 (11) 6.28/2.30 Obligation: 6.28/2.30 Q DP problem: 6.28/2.30 The TRS P consists of the following rules: 6.28/2.30 6.28/2.30 CHECK_F(redex_f(x_1)) -> REDUCE(x_1) 6.28/2.30 REDUCE(f(x_1)) -> CHECK_F(redex_f(x_1)) 6.28/2.30 6.28/2.30 The TRS R consists of the following rules: 6.28/2.30 6.28/2.30 redex_f(b) -> result_f(b) 6.28/2.30 redex_f(f(f(x))) -> result_f(b) 6.28/2.30 6.28/2.30 The set Q consists of the following terms: 6.28/2.30 6.28/2.30 redex_f(b) 6.28/2.30 redex_f(f(f(x0))) 6.28/2.30 6.28/2.30 We have to consider all minimal (P,Q,R)-chains. 6.28/2.30 ---------------------------------------- 6.28/2.30 6.28/2.30 (12) UsableRulesReductionPairsProof (EQUIVALENT) 6.28/2.30 By using the usable rules with reduction pair processor [LPAR04] with a polynomial ordering [POLO], all dependency pairs and the corresponding usable rules [FROCOS05] can be oriented non-strictly. All non-usable rules are removed, and those dependency pairs and usable rules that have been oriented strictly or contain non-usable symbols in their left-hand side are removed as well. 6.28/2.30 6.28/2.30 The following dependency pairs can be deleted: 6.28/2.30 6.28/2.30 REDUCE(f(x_1)) -> CHECK_F(redex_f(x_1)) 6.28/2.30 The following rules are removed from R: 6.28/2.30 6.28/2.30 redex_f(f(f(x))) -> result_f(b) 6.28/2.30 Used ordering: POLO with Polynomial interpretation [POLO]: 6.28/2.30 6.28/2.30 POL(CHECK_F(x_1)) = x_1 6.28/2.30 POL(REDUCE(x_1)) = 2*x_1 6.28/2.30 POL(b) = 0 6.28/2.30 POL(f(x_1)) = 2*x_1 6.28/2.30 POL(redex_f(x_1)) = 2*x_1 6.28/2.30 POL(result_f(x_1)) = 2*x_1 6.28/2.30 6.28/2.30 6.28/2.30 ---------------------------------------- 6.28/2.30 6.28/2.30 (13) 6.28/2.30 Obligation: 6.28/2.30 Q DP problem: 6.28/2.30 The TRS P consists of the following rules: 6.28/2.30 6.28/2.30 CHECK_F(redex_f(x_1)) -> REDUCE(x_1) 6.28/2.30 6.28/2.30 The TRS R consists of the following rules: 6.28/2.30 6.28/2.30 redex_f(b) -> result_f(b) 6.28/2.30 6.28/2.30 The set Q consists of the following terms: 6.28/2.30 6.28/2.30 redex_f(b) 6.28/2.30 redex_f(f(f(x0))) 6.28/2.30 6.28/2.30 We have to consider all minimal (P,Q,R)-chains. 6.28/2.30 ---------------------------------------- 6.28/2.30 6.28/2.30 (14) DependencyGraphProof (EQUIVALENT) 6.28/2.30 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. 6.28/2.30 ---------------------------------------- 6.28/2.30 6.28/2.30 (15) 6.28/2.30 TRUE 6.28/2.30 6.28/2.30 ---------------------------------------- 6.28/2.30 6.28/2.30 (16) 6.28/2.30 Obligation: 6.28/2.30 Q DP problem: 6.28/2.30 The TRS P consists of the following rules: 6.28/2.30 6.28/2.30 TOP(go_up(x)) -> TOP(reduce(x)) 6.28/2.30 6.28/2.30 The TRS R consists of the following rules: 6.28/2.30 6.28/2.30 top(go_up(x)) -> top(reduce(x)) 6.28/2.30 reduce(f(x_1)) -> check_f(redex_f(x_1)) 6.28/2.30 reduce(b) -> go_up(f(f(b))) 6.28/2.30 redex_f(b) -> result_f(b) 6.28/2.30 redex_f(f(f(x))) -> result_f(b) 6.28/2.30 check_f(result_f(x)) -> go_up(x) 6.28/2.30 check_f(redex_f(x_1)) -> in_f_1(reduce(x_1)) 6.28/2.30 in_f_1(go_up(x_1)) -> go_up(f(x_1)) 6.28/2.30 6.28/2.30 The set Q consists of the following terms: 6.28/2.30 6.28/2.30 top(go_up(x0)) 6.28/2.30 reduce(f(x0)) 6.28/2.30 reduce(b) 6.28/2.30 redex_f(b) 6.28/2.30 redex_f(f(f(x0))) 6.28/2.30 check_f(result_f(x0)) 6.28/2.30 check_f(redex_f(x0)) 6.28/2.30 in_f_1(go_up(x0)) 6.28/2.30 6.28/2.30 We have to consider all minimal (P,Q,R)-chains. 6.28/2.30 ---------------------------------------- 6.28/2.30 6.28/2.30 (17) UsableRulesProof (EQUIVALENT) 6.28/2.30 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. 6.28/2.30 ---------------------------------------- 6.28/2.30 6.28/2.30 (18) 6.28/2.30 Obligation: 6.28/2.30 Q DP problem: 6.28/2.30 The TRS P consists of the following rules: 6.28/2.30 6.28/2.30 TOP(go_up(x)) -> TOP(reduce(x)) 6.28/2.30 6.28/2.30 The TRS R consists of the following rules: 6.28/2.30 6.28/2.30 reduce(f(x_1)) -> check_f(redex_f(x_1)) 6.28/2.30 reduce(b) -> go_up(f(f(b))) 6.28/2.30 redex_f(b) -> result_f(b) 6.28/2.30 redex_f(f(f(x))) -> result_f(b) 6.28/2.30 check_f(result_f(x)) -> go_up(x) 6.28/2.30 check_f(redex_f(x_1)) -> in_f_1(reduce(x_1)) 6.28/2.30 in_f_1(go_up(x_1)) -> go_up(f(x_1)) 6.28/2.30 6.28/2.30 The set Q consists of the following terms: 6.28/2.30 6.28/2.30 top(go_up(x0)) 6.28/2.30 reduce(f(x0)) 6.28/2.30 reduce(b) 6.28/2.30 redex_f(b) 6.28/2.30 redex_f(f(f(x0))) 6.28/2.30 check_f(result_f(x0)) 6.28/2.30 check_f(redex_f(x0)) 6.28/2.30 in_f_1(go_up(x0)) 6.28/2.30 6.28/2.30 We have to consider all minimal (P,Q,R)-chains. 6.28/2.30 ---------------------------------------- 6.28/2.30 6.28/2.30 (19) QReductionProof (EQUIVALENT) 6.28/2.30 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 6.28/2.30 6.28/2.30 top(go_up(x0)) 6.28/2.30 6.28/2.30 6.28/2.30 ---------------------------------------- 6.28/2.30 6.28/2.30 (20) 6.28/2.30 Obligation: 6.28/2.30 Q DP problem: 6.28/2.30 The TRS P consists of the following rules: 6.28/2.31 6.28/2.31 TOP(go_up(x)) -> TOP(reduce(x)) 6.28/2.31 6.28/2.31 The TRS R consists of the following rules: 6.28/2.31 6.28/2.31 reduce(f(x_1)) -> check_f(redex_f(x_1)) 6.28/2.31 reduce(b) -> go_up(f(f(b))) 6.28/2.31 redex_f(b) -> result_f(b) 6.28/2.31 redex_f(f(f(x))) -> result_f(b) 6.28/2.31 check_f(result_f(x)) -> go_up(x) 6.28/2.31 check_f(redex_f(x_1)) -> in_f_1(reduce(x_1)) 6.28/2.31 in_f_1(go_up(x_1)) -> go_up(f(x_1)) 6.28/2.31 6.28/2.31 The set Q consists of the following terms: 6.28/2.31 6.28/2.31 reduce(f(x0)) 6.28/2.31 reduce(b) 6.28/2.31 redex_f(b) 6.28/2.31 redex_f(f(f(x0))) 6.28/2.31 check_f(result_f(x0)) 6.28/2.31 check_f(redex_f(x0)) 6.28/2.31 in_f_1(go_up(x0)) 6.28/2.31 6.28/2.31 We have to consider all minimal (P,Q,R)-chains. 6.28/2.31 ---------------------------------------- 6.28/2.31 6.28/2.31 (21) TransformationProof (EQUIVALENT) 6.28/2.31 By narrowing [LPAR04] the rule TOP(go_up(x)) -> TOP(reduce(x)) at position [0] we obtained the following new rules [LPAR04]: 6.28/2.31 6.28/2.31 (TOP(go_up(f(x0))) -> TOP(check_f(redex_f(x0))),TOP(go_up(f(x0))) -> TOP(check_f(redex_f(x0)))) 6.28/2.31 (TOP(go_up(b)) -> TOP(go_up(f(f(b)))),TOP(go_up(b)) -> TOP(go_up(f(f(b))))) 6.28/2.31 6.28/2.31 6.28/2.31 ---------------------------------------- 6.28/2.31 6.28/2.31 (22) 6.28/2.31 Obligation: 6.28/2.31 Q DP problem: 6.28/2.31 The TRS P consists of the following rules: 6.28/2.31 6.28/2.31 TOP(go_up(f(x0))) -> TOP(check_f(redex_f(x0))) 6.28/2.31 TOP(go_up(b)) -> TOP(go_up(f(f(b)))) 6.28/2.31 6.28/2.31 The TRS R consists of the following rules: 6.28/2.31 6.28/2.31 reduce(f(x_1)) -> check_f(redex_f(x_1)) 6.28/2.31 reduce(b) -> go_up(f(f(b))) 6.28/2.31 redex_f(b) -> result_f(b) 6.28/2.31 redex_f(f(f(x))) -> result_f(b) 6.28/2.31 check_f(result_f(x)) -> go_up(x) 6.28/2.31 check_f(redex_f(x_1)) -> in_f_1(reduce(x_1)) 6.28/2.31 in_f_1(go_up(x_1)) -> go_up(f(x_1)) 6.28/2.31 6.28/2.31 The set Q consists of the following terms: 6.28/2.31 6.28/2.31 reduce(f(x0)) 6.28/2.31 reduce(b) 6.28/2.31 redex_f(b) 6.28/2.31 redex_f(f(f(x0))) 6.28/2.31 check_f(result_f(x0)) 6.28/2.31 check_f(redex_f(x0)) 6.28/2.31 in_f_1(go_up(x0)) 6.28/2.31 6.28/2.31 We have to consider all minimal (P,Q,R)-chains. 6.28/2.31 ---------------------------------------- 6.28/2.31 6.28/2.31 (23) UsableRulesProof (EQUIVALENT) 6.28/2.31 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. 6.28/2.31 ---------------------------------------- 6.28/2.31 6.28/2.31 (24) 6.28/2.31 Obligation: 6.28/2.31 Q DP problem: 6.28/2.31 The TRS P consists of the following rules: 6.28/2.31 6.28/2.31 TOP(go_up(f(x0))) -> TOP(check_f(redex_f(x0))) 6.28/2.31 TOP(go_up(b)) -> TOP(go_up(f(f(b)))) 6.28/2.31 6.28/2.31 The TRS R consists of the following rules: 6.28/2.31 6.28/2.31 redex_f(b) -> result_f(b) 6.28/2.31 redex_f(f(f(x))) -> result_f(b) 6.28/2.31 check_f(result_f(x)) -> go_up(x) 6.28/2.31 check_f(redex_f(x_1)) -> in_f_1(reduce(x_1)) 6.28/2.31 reduce(f(x_1)) -> check_f(redex_f(x_1)) 6.28/2.31 in_f_1(go_up(x_1)) -> go_up(f(x_1)) 6.28/2.31 6.28/2.31 The set Q consists of the following terms: 6.28/2.31 6.28/2.31 reduce(f(x0)) 6.28/2.31 reduce(b) 6.28/2.31 redex_f(b) 6.28/2.31 redex_f(f(f(x0))) 6.28/2.31 check_f(result_f(x0)) 6.28/2.31 check_f(redex_f(x0)) 6.28/2.31 in_f_1(go_up(x0)) 6.28/2.31 6.28/2.31 We have to consider all minimal (P,Q,R)-chains. 6.28/2.31 ---------------------------------------- 6.28/2.31 6.28/2.31 (25) NonTerminationLoopProof (COMPLETE) 6.28/2.31 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 6.28/2.31 Found a loop by narrowing to the right: 6.28/2.31 6.28/2.31 s = TOP(go_up(f(f(b)))) evaluates to t =TOP(go_up(f(f(b)))) 6.28/2.31 6.28/2.31 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 6.28/2.31 * Matcher: [ ] 6.28/2.31 * Semiunifier: [ ] 6.28/2.31 6.28/2.31 -------------------------------------------------------------------------------- 6.28/2.31 Rewriting sequence 6.28/2.31 6.28/2.31 TOP(go_up(f(f(b)))) -> TOP(check_f(redex_f(f(b)))) 6.28/2.31 with rule TOP(go_up(f(x0))) -> TOP(check_f(redex_f(x0))) and matcher [x0 / f(b)]. 6.28/2.31 6.28/2.31 TOP(check_f(redex_f(f(b)))) -> TOP(in_f_1(reduce(f(b)))) 6.28/2.31 with rule check_f(redex_f(x_1)) -> in_f_1(reduce(x_1)) at position [0] and matcher [x_1 / f(b)] 6.28/2.31 6.28/2.31 TOP(in_f_1(reduce(f(b)))) -> TOP(in_f_1(check_f(redex_f(b)))) 6.28/2.31 with rule reduce(f(x_1')) -> check_f(redex_f(x_1')) at position [0,0] and matcher [x_1' / b] 6.28/2.31 6.28/2.31 TOP(in_f_1(check_f(redex_f(b)))) -> TOP(in_f_1(check_f(result_f(b)))) 6.28/2.31 with rule redex_f(b) -> result_f(b) at position [0,0,0] and matcher [ ] 6.28/2.31 6.28/2.31 TOP(in_f_1(check_f(result_f(b)))) -> TOP(in_f_1(go_up(b))) 6.28/2.31 with rule check_f(result_f(x)) -> go_up(x) at position [0,0] and matcher [x / b] 6.28/2.31 6.28/2.31 TOP(in_f_1(go_up(b))) -> TOP(go_up(f(b))) 6.28/2.31 with rule in_f_1(go_up(x_1)) -> go_up(f(x_1)) at position [0] and matcher [x_1 / b] 6.28/2.31 6.28/2.31 TOP(go_up(f(b))) -> TOP(check_f(redex_f(b))) 6.28/2.31 with rule TOP(go_up(f(x0))) -> TOP(check_f(redex_f(x0))) at position [] and matcher [x0 / b] 6.28/2.31 6.28/2.31 TOP(check_f(redex_f(b))) -> TOP(check_f(result_f(b))) 6.28/2.31 with rule redex_f(b) -> result_f(b) at position [0,0] and matcher [ ] 6.28/2.31 6.28/2.31 TOP(check_f(result_f(b))) -> TOP(go_up(b)) 6.28/2.31 with rule check_f(result_f(x)) -> go_up(x) at position [0] and matcher [x / b] 6.28/2.31 6.28/2.31 TOP(go_up(b)) -> TOP(go_up(f(f(b)))) 6.28/2.31 with rule TOP(go_up(b)) -> TOP(go_up(f(f(b)))) at position [] and matcher [ ] 6.28/2.31 6.28/2.31 Now applying the matcher to the start term leads to a term which is equal to the last term in the rewriting sequence 6.28/2.31 6.28/2.31 6.28/2.31 All these steps are and every following step will be a correct step w.r.t to Q. 6.28/2.31 6.28/2.31 6.28/2.31 6.28/2.31 6.28/2.31 ---------------------------------------- 6.28/2.31 6.28/2.31 (26) 6.28/2.31 NO 6.36/2.38 EOF