/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: c69e44bd14796315568835c1ffa2502984884775 mhark 20210624 unpublished Termination of the given CSR could be proven: (0) CSR (1) CSDependencyPairsProof [EQUIVALENT, 17 ms] (2) QCSDP (3) QCSDependencyGraphProof [EQUIVALENT, 0 ms] (4) AND (5) QCSDP (6) QCSDPSubtermProof [EQUIVALENT, 0 ms] (7) QCSDP (8) PIsEmptyProof [EQUIVALENT, 0 ms] (9) YES (10) QCSDP (11) QCSDPReductionPairProof [EQUIVALENT, 20 ms] (12) QCSDP (13) PIsEmptyProof [EQUIVALENT, 0 ms] (14) YES (15) QCSDP (16) QCSDPSubtermProof [EQUIVALENT, 0 ms] (17) QCSDP (18) PIsEmptyProof [EQUIVALENT, 0 ms] (19) YES (20) QCSDP (21) QCSDPSubtermProof [EQUIVALENT, 0 ms] (22) QCSDP (23) PIsEmptyProof [EQUIVALENT, 0 ms] (24) YES ---------------------------------------- (0) Obligation: Context-sensitive rewrite system: The TRS R consists of the following rules: from(X) -> cons(X, from(s(X))) sel(0, cons(X, XS)) -> X sel(s(N), cons(X, XS)) -> sel(N, XS) minus(X, 0) -> 0 minus(s(X), s(Y)) -> minus(X, Y) quot(0, s(Y)) -> 0 quot(s(X), s(Y)) -> s(quot(minus(X, Y), s(Y))) zWquot(XS, nil) -> nil zWquot(nil, XS) -> nil zWquot(cons(X, XS), cons(Y, YS)) -> cons(quot(X, Y), zWquot(XS, YS)) The replacement map contains the following entries: from: {1} cons: {1} s: {1} sel: {1, 2} 0: empty set minus: {1, 2} quot: {1, 2} zWquot: {1, 2} nil: empty set ---------------------------------------- (1) CSDependencyPairsProof (EQUIVALENT) Using Improved CS-DPs [LPAR08] we result in the following initial Q-CSDP problem. ---------------------------------------- (2) Obligation: Q-restricted context-sensitive dependency pair problem: The symbols in {from_1, s_1, sel_2, minus_2, quot_2, zWquot_2, SEL_2, MINUS_2, QUOT_2, ZWQUOT_2, FROM_1} are replacing on all positions. For all symbols f in {cons_2} we have mu(f) = {1}. The symbols in {U_1} are not replacing on any position. The ordinary context-sensitive dependency pairs DP_o are: SEL(s(N), cons(X, XS)) -> SEL(N, XS) MINUS(s(X), s(Y)) -> MINUS(X, Y) QUOT(s(X), s(Y)) -> QUOT(minus(X, Y), s(Y)) QUOT(s(X), s(Y)) -> MINUS(X, Y) ZWQUOT(cons(X, XS), cons(Y, YS)) -> QUOT(X, Y) The collapsing dependency pairs are DP_c: SEL(s(N), cons(X, XS)) -> XS The hidden terms of R are: from(s(x0)) zWquot(x0, x1) Every hiding context is built from: aprove.DPFramework.CSDPProblem.QCSDPProblem$1@7a99a5cd aprove.DPFramework.CSDPProblem.QCSDPProblem$1@601699a1 aprove.DPFramework.CSDPProblem.QCSDPProblem$1@7768edf7 Hence, the new unhiding pairs DP_u are : SEL(s(N), cons(X, XS)) -> U(XS) U(s(x_0)) -> U(x_0) U(from(x_0)) -> U(x_0) U(zWquot(x_0, x_1)) -> U(x_0) U(zWquot(x_0, x_1)) -> U(x_1) U(from(s(x0))) -> FROM(s(x0)) U(zWquot(x0, x1)) -> ZWQUOT(x0, x1) The TRS R consists of the following rules: from(X) -> cons(X, from(s(X))) sel(0, cons(X, XS)) -> X sel(s(N), cons(X, XS)) -> sel(N, XS) minus(X, 0) -> 0 minus(s(X), s(Y)) -> minus(X, Y) quot(0, s(Y)) -> 0 quot(s(X), s(Y)) -> s(quot(minus(X, Y), s(Y))) zWquot(XS, nil) -> nil zWquot(nil, XS) -> nil zWquot(cons(X, XS), cons(Y, YS)) -> cons(quot(X, Y), zWquot(XS, YS)) Q is empty. ---------------------------------------- (3) QCSDependencyGraphProof (EQUIVALENT) The approximation of the Context-Sensitive Dependency Graph [LPAR08] contains 4 SCCs with 5 less nodes. ---------------------------------------- (4) Complex Obligation (AND) ---------------------------------------- (5) Obligation: Q-restricted context-sensitive dependency pair problem: The symbols in {from_1, s_1, sel_2, minus_2, quot_2, zWquot_2, MINUS_2} are replacing on all positions. For all symbols f in {cons_2} we have mu(f) = {1}. The TRS P consists of the following rules: MINUS(s(X), s(Y)) -> MINUS(X, Y) The TRS R consists of the following rules: from(X) -> cons(X, from(s(X))) sel(0, cons(X, XS)) -> X sel(s(N), cons(X, XS)) -> sel(N, XS) minus(X, 0) -> 0 minus(s(X), s(Y)) -> minus(X, Y) quot(0, s(Y)) -> 0 quot(s(X), s(Y)) -> s(quot(minus(X, Y), s(Y))) zWquot(XS, nil) -> nil zWquot(nil, XS) -> nil zWquot(cons(X, XS), cons(Y, YS)) -> cons(quot(X, Y), zWquot(XS, YS)) Q is empty. ---------------------------------------- (6) QCSDPSubtermProof (EQUIVALENT) We use the subterm processor [DA_EMMES]. The following pairs can be oriented strictly and are deleted. MINUS(s(X), s(Y)) -> MINUS(X, Y) The remaining pairs can at least be oriented weakly. none Used ordering: Combined order from the following AFS and order. MINUS(x1, x2) = x1 Subterm Order ---------------------------------------- (7) Obligation: Q-restricted context-sensitive dependency pair problem: The symbols in {from_1, s_1, sel_2, minus_2, quot_2, zWquot_2} are replacing on all positions. For all symbols f in {cons_2} we have mu(f) = {1}. The TRS P consists of the following rules: none The TRS R consists of the following rules: from(X) -> cons(X, from(s(X))) sel(0, cons(X, XS)) -> X sel(s(N), cons(X, XS)) -> sel(N, XS) minus(X, 0) -> 0 minus(s(X), s(Y)) -> minus(X, Y) quot(0, s(Y)) -> 0 quot(s(X), s(Y)) -> s(quot(minus(X, Y), s(Y))) zWquot(XS, nil) -> nil zWquot(nil, XS) -> nil zWquot(cons(X, XS), cons(Y, YS)) -> cons(quot(X, Y), zWquot(XS, YS)) Q is empty. ---------------------------------------- (8) PIsEmptyProof (EQUIVALENT) The TRS P is empty. Hence, there is no (P,Q,R,mu)-chain. ---------------------------------------- (9) YES ---------------------------------------- (10) Obligation: Q-restricted context-sensitive dependency pair problem: The symbols in {from_1, s_1, sel_2, minus_2, quot_2, zWquot_2, QUOT_2} are replacing on all positions. For all symbols f in {cons_2} we have mu(f) = {1}. The TRS P consists of the following rules: QUOT(s(X), s(Y)) -> QUOT(minus(X, Y), s(Y)) The TRS R consists of the following rules: from(X) -> cons(X, from(s(X))) sel(0, cons(X, XS)) -> X sel(s(N), cons(X, XS)) -> sel(N, XS) minus(X, 0) -> 0 minus(s(X), s(Y)) -> minus(X, Y) quot(0, s(Y)) -> 0 quot(s(X), s(Y)) -> s(quot(minus(X, Y), s(Y))) zWquot(XS, nil) -> nil zWquot(nil, XS) -> nil zWquot(cons(X, XS), cons(Y, YS)) -> cons(quot(X, Y), zWquot(XS, YS)) Q is empty. ---------------------------------------- (11) QCSDPReductionPairProof (EQUIVALENT) Using the order Polynomial interpretation with max and min functions [POLO,MAXPOLO]: POL(0) = 0 POL(QUOT(x_1, x_2)) = x_1 POL(cons(x_1, x_2)) = 1 + x_1 POL(from(x_1)) = 1 + x_1 POL(minus(x_1, x_2)) = 0 POL(nil) = 1 POL(quot(x_1, x_2)) = 1 + x_1 POL(s(x_1)) = 1 + x_1 POL(zWquot(x_1, x_2)) = 1 + x_1 the following usable rules minus(X, 0) -> 0 minus(s(X), s(Y)) -> minus(X, Y) quot(0, s(Y)) -> 0 quot(s(X), s(Y)) -> s(quot(minus(X, Y), s(Y))) from(X) -> cons(X, from(s(X))) zWquot(XS, nil) -> nil zWquot(nil, XS) -> nil zWquot(cons(X, XS), cons(Y, YS)) -> cons(quot(X, Y), zWquot(XS, YS)) could all be oriented weakly. Furthermore, the pairs QUOT(s(X), s(Y)) -> QUOT(minus(X, Y), s(Y)) could be oriented strictly and thus removed by the CS-Reduction Pair Processor [LPAR08,DA_EMMES]. ---------------------------------------- (12) Obligation: Q-restricted context-sensitive dependency pair problem: The symbols in {from_1, s_1, sel_2, minus_2, quot_2, zWquot_2} are replacing on all positions. For all symbols f in {cons_2} we have mu(f) = {1}. The TRS P consists of the following rules: none The TRS R consists of the following rules: from(X) -> cons(X, from(s(X))) sel(0, cons(X, XS)) -> X sel(s(N), cons(X, XS)) -> sel(N, XS) minus(X, 0) -> 0 minus(s(X), s(Y)) -> minus(X, Y) quot(0, s(Y)) -> 0 quot(s(X), s(Y)) -> s(quot(minus(X, Y), s(Y))) zWquot(XS, nil) -> nil zWquot(nil, XS) -> nil zWquot(cons(X, XS), cons(Y, YS)) -> cons(quot(X, Y), zWquot(XS, YS)) Q is empty. ---------------------------------------- (13) PIsEmptyProof (EQUIVALENT) The TRS P is empty. Hence, there is no (P,Q,R,mu)-chain. ---------------------------------------- (14) YES ---------------------------------------- (15) Obligation: Q-restricted context-sensitive dependency pair problem: The symbols in {from_1, s_1, sel_2, minus_2, quot_2, zWquot_2} are replacing on all positions. For all symbols f in {cons_2} we have mu(f) = {1}. The symbols in {U_1} are not replacing on any position. The TRS P consists of the following rules: U(s(x_0)) -> U(x_0) U(from(x_0)) -> U(x_0) U(zWquot(x_0, x_1)) -> U(x_0) U(zWquot(x_0, x_1)) -> U(x_1) The TRS R consists of the following rules: from(X) -> cons(X, from(s(X))) sel(0, cons(X, XS)) -> X sel(s(N), cons(X, XS)) -> sel(N, XS) minus(X, 0) -> 0 minus(s(X), s(Y)) -> minus(X, Y) quot(0, s(Y)) -> 0 quot(s(X), s(Y)) -> s(quot(minus(X, Y), s(Y))) zWquot(XS, nil) -> nil zWquot(nil, XS) -> nil zWquot(cons(X, XS), cons(Y, YS)) -> cons(quot(X, Y), zWquot(XS, YS)) Q is empty. ---------------------------------------- (16) QCSDPSubtermProof (EQUIVALENT) We use the subterm processor [DA_EMMES]. The following pairs can be oriented strictly and are deleted. U(s(x_0)) -> U(x_0) U(from(x_0)) -> U(x_0) U(zWquot(x_0, x_1)) -> U(x_0) U(zWquot(x_0, x_1)) -> U(x_1) The remaining pairs can at least be oriented weakly. none Used ordering: Combined order from the following AFS and order. U(x1) = x1 Subterm Order ---------------------------------------- (17) Obligation: Q-restricted context-sensitive dependency pair problem: The symbols in {from_1, s_1, sel_2, minus_2, quot_2, zWquot_2} are replacing on all positions. For all symbols f in {cons_2} we have mu(f) = {1}. The TRS P consists of the following rules: none The TRS R consists of the following rules: from(X) -> cons(X, from(s(X))) sel(0, cons(X, XS)) -> X sel(s(N), cons(X, XS)) -> sel(N, XS) minus(X, 0) -> 0 minus(s(X), s(Y)) -> minus(X, Y) quot(0, s(Y)) -> 0 quot(s(X), s(Y)) -> s(quot(minus(X, Y), s(Y))) zWquot(XS, nil) -> nil zWquot(nil, XS) -> nil zWquot(cons(X, XS), cons(Y, YS)) -> cons(quot(X, Y), zWquot(XS, YS)) Q is empty. ---------------------------------------- (18) PIsEmptyProof (EQUIVALENT) The TRS P is empty. Hence, there is no (P,Q,R,mu)-chain. ---------------------------------------- (19) YES ---------------------------------------- (20) Obligation: Q-restricted context-sensitive dependency pair problem: The symbols in {from_1, s_1, sel_2, minus_2, quot_2, zWquot_2, SEL_2} are replacing on all positions. For all symbols f in {cons_2} we have mu(f) = {1}. The TRS P consists of the following rules: SEL(s(N), cons(X, XS)) -> SEL(N, XS) The TRS R consists of the following rules: from(X) -> cons(X, from(s(X))) sel(0, cons(X, XS)) -> X sel(s(N), cons(X, XS)) -> sel(N, XS) minus(X, 0) -> 0 minus(s(X), s(Y)) -> minus(X, Y) quot(0, s(Y)) -> 0 quot(s(X), s(Y)) -> s(quot(minus(X, Y), s(Y))) zWquot(XS, nil) -> nil zWquot(nil, XS) -> nil zWquot(cons(X, XS), cons(Y, YS)) -> cons(quot(X, Y), zWquot(XS, YS)) Q is empty. ---------------------------------------- (21) QCSDPSubtermProof (EQUIVALENT) We use the subterm processor [DA_EMMES]. The following pairs can be oriented strictly and are deleted. SEL(s(N), cons(X, XS)) -> SEL(N, XS) The remaining pairs can at least be oriented weakly. none Used ordering: Combined order from the following AFS and order. SEL(x1, x2) = x1 Subterm Order ---------------------------------------- (22) Obligation: Q-restricted context-sensitive dependency pair problem: The symbols in {from_1, s_1, sel_2, minus_2, quot_2, zWquot_2} are replacing on all positions. For all symbols f in {cons_2} we have mu(f) = {1}. The TRS P consists of the following rules: none The TRS R consists of the following rules: from(X) -> cons(X, from(s(X))) sel(0, cons(X, XS)) -> X sel(s(N), cons(X, XS)) -> sel(N, XS) minus(X, 0) -> 0 minus(s(X), s(Y)) -> minus(X, Y) quot(0, s(Y)) -> 0 quot(s(X), s(Y)) -> s(quot(minus(X, Y), s(Y))) zWquot(XS, nil) -> nil zWquot(nil, XS) -> nil zWquot(cons(X, XS), cons(Y, YS)) -> cons(quot(X, Y), zWquot(XS, YS)) Q is empty. ---------------------------------------- (23) PIsEmptyProof (EQUIVALENT) The TRS P is empty. Hence, there is no (P,Q,R,mu)-chain. ---------------------------------------- (24) YES