/export/starexec/sandbox/solver/bin/starexec_run_standard /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox/benchmark/theBenchmark.xml # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty Termination w.r.t. Q of the given QTRS could be proven: (0) QTRS (1) DependencyPairsProof [EQUIVALENT, 0 ms] (2) QDP (3) DependencyGraphProof [EQUIVALENT, 0 ms] (4) AND (5) QDP (6) UsableRulesProof [EQUIVALENT, 0 ms] (7) QDP (8) MRRProof [EQUIVALENT, 0 ms] (9) QDP (10) PisEmptyProof [EQUIVALENT, 0 ms] (11) YES (12) QDP (13) UsableRulesProof [EQUIVALENT, 0 ms] (14) QDP (15) MNOCProof [EQUIVALENT, 0 ms] (16) QDP (17) MRRProof [EQUIVALENT, 0 ms] (18) QDP (19) DependencyGraphProof [EQUIVALENT, 0 ms] (20) TRUE (21) QDP (22) UsableRulesProof [EQUIVALENT, 0 ms] (23) QDP (24) TransformationProof [EQUIVALENT, 0 ms] (25) QDP (26) DependencyGraphProof [EQUIVALENT, 0 ms] (27) TRUE ---------------------------------------- (0) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: active(f(x)) -> mark(f(f(x))) chk(no(f(x))) -> f(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x))) mat(f(x), f(y)) -> f(mat(x, y)) chk(no(c)) -> active(c) mat(f(x), c) -> no(c) f(active(x)) -> active(f(x)) f(no(x)) -> no(f(x)) f(mark(x)) -> mark(f(x)) tp(mark(x)) -> tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x))) Q is empty. ---------------------------------------- (1) DependencyPairsProof (EQUIVALENT) Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. ---------------------------------------- (2) Obligation: Q DP problem: The TRS P consists of the following rules: ACTIVE(f(x)) -> F(f(x)) CHK(no(f(x))) -> F(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x))) CHK(no(f(x))) -> CHK(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)) CHK(no(f(x))) -> MAT(f(f(f(f(f(f(f(f(f(f(X)))))))))), x) CHK(no(f(x))) -> F(f(f(f(f(f(f(f(f(f(X)))))))))) CHK(no(f(x))) -> F(f(f(f(f(f(f(f(f(X))))))))) CHK(no(f(x))) -> F(f(f(f(f(f(f(f(X)))))))) CHK(no(f(x))) -> F(f(f(f(f(f(f(X))))))) CHK(no(f(x))) -> F(f(f(f(f(f(X)))))) CHK(no(f(x))) -> F(f(f(f(f(X))))) CHK(no(f(x))) -> F(f(f(f(X)))) CHK(no(f(x))) -> F(f(f(X))) CHK(no(f(x))) -> F(f(X)) CHK(no(f(x))) -> F(X) MAT(f(x), f(y)) -> F(mat(x, y)) MAT(f(x), f(y)) -> MAT(x, y) CHK(no(c)) -> ACTIVE(c) F(active(x)) -> ACTIVE(f(x)) F(active(x)) -> F(x) F(no(x)) -> F(x) F(mark(x)) -> F(x) TP(mark(x)) -> TP(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x))) TP(mark(x)) -> CHK(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)) TP(mark(x)) -> MAT(f(f(f(f(f(f(f(f(f(f(X)))))))))), x) TP(mark(x)) -> F(f(f(f(f(f(f(f(f(f(X)))))))))) TP(mark(x)) -> F(f(f(f(f(f(f(f(f(X))))))))) TP(mark(x)) -> F(f(f(f(f(f(f(f(X)))))))) TP(mark(x)) -> F(f(f(f(f(f(f(X))))))) TP(mark(x)) -> F(f(f(f(f(f(X)))))) TP(mark(x)) -> F(f(f(f(f(X))))) TP(mark(x)) -> F(f(f(f(X)))) TP(mark(x)) -> F(f(f(X))) TP(mark(x)) -> F(f(X)) TP(mark(x)) -> F(X) The TRS R consists of the following rules: active(f(x)) -> mark(f(f(x))) chk(no(f(x))) -> f(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x))) mat(f(x), f(y)) -> f(mat(x, y)) chk(no(c)) -> active(c) mat(f(x), c) -> no(c) f(active(x)) -> active(f(x)) f(no(x)) -> no(f(x)) f(mark(x)) -> mark(f(x)) tp(mark(x)) -> tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x))) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (3) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 27 less nodes. ---------------------------------------- (4) Complex Obligation (AND) ---------------------------------------- (5) Obligation: Q DP problem: The TRS P consists of the following rules: F(active(x)) -> ACTIVE(f(x)) ACTIVE(f(x)) -> F(f(x)) F(active(x)) -> F(x) F(no(x)) -> F(x) F(mark(x)) -> F(x) The TRS R consists of the following rules: active(f(x)) -> mark(f(f(x))) chk(no(f(x))) -> f(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x))) mat(f(x), f(y)) -> f(mat(x, y)) chk(no(c)) -> active(c) mat(f(x), c) -> no(c) f(active(x)) -> active(f(x)) f(no(x)) -> no(f(x)) f(mark(x)) -> mark(f(x)) tp(mark(x)) -> tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x))) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (6) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (7) Obligation: Q DP problem: The TRS P consists of the following rules: F(active(x)) -> ACTIVE(f(x)) ACTIVE(f(x)) -> F(f(x)) F(active(x)) -> F(x) F(no(x)) -> F(x) F(mark(x)) -> F(x) The TRS R consists of the following rules: f(active(x)) -> active(f(x)) f(no(x)) -> no(f(x)) f(mark(x)) -> mark(f(x)) active(f(x)) -> mark(f(f(x))) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (8) MRRProof (EQUIVALENT) 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. Strictly oriented dependency pairs: F(active(x)) -> ACTIVE(f(x)) ACTIVE(f(x)) -> F(f(x)) F(active(x)) -> F(x) F(no(x)) -> F(x) F(mark(x)) -> F(x) Strictly oriented rules of the TRS R: f(active(x)) -> active(f(x)) f(no(x)) -> no(f(x)) f(mark(x)) -> mark(f(x)) active(f(x)) -> mark(f(f(x))) Used ordering: Polynomial interpretation [POLO]: POL(ACTIVE(x_1)) = 2 + 2*x_1 POL(F(x_1)) = 1 + 2*x_1 POL(active(x_1)) = 2 + 2*x_1 POL(f(x_1)) = 2*x_1 POL(mark(x_1)) = 1 + x_1 POL(no(x_1)) = 1 + 2*x_1 ---------------------------------------- (9) Obligation: Q DP problem: P is empty. R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (10) PisEmptyProof (EQUIVALENT) The TRS P is empty. Hence, there is no (P,Q,R) chain. ---------------------------------------- (11) YES ---------------------------------------- (12) Obligation: Q DP problem: The TRS P consists of the following rules: CHK(no(f(x))) -> CHK(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)) The TRS R consists of the following rules: active(f(x)) -> mark(f(f(x))) chk(no(f(x))) -> f(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x))) mat(f(x), f(y)) -> f(mat(x, y)) chk(no(c)) -> active(c) mat(f(x), c) -> no(c) f(active(x)) -> active(f(x)) f(no(x)) -> no(f(x)) f(mark(x)) -> mark(f(x)) tp(mark(x)) -> tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x))) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (13) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (14) Obligation: Q DP problem: The TRS P consists of the following rules: CHK(no(f(x))) -> CHK(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)) The TRS R consists of the following rules: mat(f(x), f(y)) -> f(mat(x, y)) mat(f(x), c) -> no(c) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (15) MNOCProof (EQUIVALENT) We use the modular non-overlap check [LPAR04] to enlarge Q to all left-hand sides of R. ---------------------------------------- (16) Obligation: Q DP problem: The TRS P consists of the following rules: CHK(no(f(x))) -> CHK(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)) The TRS R consists of the following rules: mat(f(x), f(y)) -> f(mat(x, y)) mat(f(x), c) -> no(c) The set Q consists of the following terms: mat(f(x0), f(y)) mat(f(x0), c) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (17) MRRProof (EQUIVALENT) 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. Strictly oriented rules of the TRS R: mat(f(x), c) -> no(c) Used ordering: Polynomial interpretation [POLO]: POL(CHK(x_1)) = 2*x_1 POL(X) = 0 POL(c) = 1 POL(f(x_1)) = 2*x_1 POL(mat(x_1, x_2)) = x_1 + 2*x_2 POL(no(x_1)) = x_1 POL(y) = 0 ---------------------------------------- (18) Obligation: Q DP problem: The TRS P consists of the following rules: CHK(no(f(x))) -> CHK(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)) The TRS R consists of the following rules: mat(f(x), f(y)) -> f(mat(x, y)) The set Q consists of the following terms: mat(f(x0), f(y)) mat(f(x0), c) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (19) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. ---------------------------------------- (20) TRUE ---------------------------------------- (21) Obligation: Q DP problem: The TRS P consists of the following rules: TP(mark(x)) -> TP(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x))) The TRS R consists of the following rules: active(f(x)) -> mark(f(f(x))) chk(no(f(x))) -> f(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x))) mat(f(x), f(y)) -> f(mat(x, y)) chk(no(c)) -> active(c) mat(f(x), c) -> no(c) f(active(x)) -> active(f(x)) f(no(x)) -> no(f(x)) f(mark(x)) -> mark(f(x)) tp(mark(x)) -> tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x))) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (22) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (23) Obligation: Q DP problem: The TRS P consists of the following rules: TP(mark(x)) -> TP(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x))) The TRS R consists of the following rules: mat(f(x), f(y)) -> f(mat(x, y)) mat(f(x), c) -> no(c) chk(no(f(x))) -> f(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x))) chk(no(c)) -> active(c) f(active(x)) -> active(f(x)) f(no(x)) -> no(f(x)) f(mark(x)) -> mark(f(x)) active(f(x)) -> mark(f(f(x))) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (24) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule TP(mark(x)) -> TP(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x))) at position [0] we obtained the following new rules [LPAR04]: (TP(mark(f(y))) -> TP(chk(f(mat(f(f(f(f(f(f(f(f(f(X))))))))), y)))),TP(mark(f(y))) -> TP(chk(f(mat(f(f(f(f(f(f(f(f(f(X))))))))), y))))) (TP(mark(c)) -> TP(chk(no(c))),TP(mark(c)) -> TP(chk(no(c)))) ---------------------------------------- (25) Obligation: Q DP problem: The TRS P consists of the following rules: TP(mark(f(y))) -> TP(chk(f(mat(f(f(f(f(f(f(f(f(f(X))))))))), y)))) TP(mark(c)) -> TP(chk(no(c))) The TRS R consists of the following rules: mat(f(x), f(y)) -> f(mat(x, y)) mat(f(x), c) -> no(c) chk(no(f(x))) -> f(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x))) chk(no(c)) -> active(c) f(active(x)) -> active(f(x)) f(no(x)) -> no(f(x)) f(mark(x)) -> mark(f(x)) active(f(x)) -> mark(f(f(x))) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (26) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 2 less nodes. ---------------------------------------- (27) TRUE