16.90/5.07 YES 16.90/5.08 proof of /export/starexec/sandbox/benchmark/theBenchmark.xml 16.90/5.08 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 16.90/5.08 16.90/5.08 16.90/5.08 Termination of the given CSR could be proven: 16.90/5.08 16.90/5.08 (0) CSR 16.90/5.08 (1) CSRInnermostProof [EQUIVALENT, 0 ms] 16.90/5.08 (2) CSR 16.90/5.08 (3) CSDependencyPairsProof [EQUIVALENT, 8 ms] 16.90/5.08 (4) QCSDP 16.90/5.08 (5) QCSDependencyGraphProof [EQUIVALENT, 0 ms] 16.90/5.08 (6) AND 16.90/5.08 (7) QCSDP 16.90/5.08 (8) QCSDPReductionPairProof [EQUIVALENT, 46 ms] 16.90/5.08 (9) QCSDP 16.90/5.08 (10) QCSDPInstantiationProcessor [EQUIVALENT, 0 ms] 16.90/5.08 (11) QCSDP 16.90/5.08 (12) QCSDPReductionPairProof [EQUIVALENT, 24 ms] 16.90/5.08 (13) QCSDP 16.90/5.08 (14) QCSDependencyGraphProof [EQUIVALENT, 0 ms] 16.90/5.08 (15) AND 16.90/5.08 (16) QCSDP 16.90/5.08 (17) QCSDPReductionPairProof [EQUIVALENT, 177 ms] 16.90/5.08 (18) QCSDP 16.90/5.08 (19) QCSDependencyGraphProof [EQUIVALENT, 0 ms] 16.90/5.08 (20) TRUE 16.90/5.08 (21) QCSDP 16.90/5.08 (22) QCSDPSubtermProof [EQUIVALENT, 0 ms] 16.90/5.08 (23) QCSDP 16.90/5.08 (24) PIsEmptyProof [EQUIVALENT, 0 ms] 16.90/5.08 (25) YES 16.90/5.08 (26) QCSDP 16.90/5.08 (27) QCSDPReductionPairProof [EQUIVALENT, 12 ms] 16.90/5.08 (28) QCSDP 16.90/5.08 (29) PIsEmptyProof [EQUIVALENT, 0 ms] 16.90/5.08 (30) YES 16.90/5.08 (31) QCSDP 16.90/5.08 (32) QCSDPSubtermProof [EQUIVALENT, 0 ms] 16.90/5.08 (33) QCSDP 16.90/5.08 (34) PIsEmptyProof [EQUIVALENT, 0 ms] 16.90/5.08 (35) YES 16.90/5.08 16.90/5.08 16.90/5.08 ---------------------------------------- 16.90/5.08 16.90/5.08 (0) 16.90/5.08 Obligation: 16.90/5.08 Context-sensitive rewrite system: 16.90/5.08 The TRS R consists of the following rules: 16.90/5.08 16.90/5.08 gt(0, Y) -> false 16.90/5.08 gt(s(X), 0) -> true 16.90/5.08 gt(s(X), s(Y)) -> gt(X, Y) 16.90/5.08 p(0) -> 0 16.90/5.08 p(s(X)) -> X 16.90/5.08 if(true, X, Y) -> X 16.90/5.08 if(false, X, Y) -> Y 16.90/5.08 minus(X, Y) -> if(gt(Y, 0), minus(p(X), p(Y)), X) 16.90/5.08 div(0, s(Y)) -> 0 16.90/5.08 div(s(X), s(Y)) -> s(div(minus(X, Y), s(Y))) 16.90/5.08 16.90/5.08 The replacement map contains the following entries: 16.90/5.08 16.90/5.08 gt: {1, 2} 16.90/5.08 0: empty set 16.90/5.08 false: empty set 16.90/5.08 s: {1} 16.90/5.08 true: empty set 16.90/5.08 p: {1} 16.90/5.08 if: {1} 16.90/5.08 minus: {1, 2} 16.90/5.08 div: {1, 2} 16.90/5.08 16.90/5.08 ---------------------------------------- 16.90/5.08 16.90/5.08 (1) CSRInnermostProof (EQUIVALENT) 16.90/5.08 The CSR is orthogonal. By [CS_Inn] we can switch to innermost. 16.90/5.09 ---------------------------------------- 16.90/5.09 16.90/5.09 (2) 16.90/5.09 Obligation: 16.90/5.09 Context-sensitive rewrite system: 16.90/5.09 The TRS R consists of the following rules: 16.90/5.09 16.90/5.09 gt(0, Y) -> false 16.90/5.09 gt(s(X), 0) -> true 16.90/5.09 gt(s(X), s(Y)) -> gt(X, Y) 16.90/5.09 p(0) -> 0 16.90/5.09 p(s(X)) -> X 16.90/5.09 if(true, X, Y) -> X 16.90/5.09 if(false, X, Y) -> Y 16.90/5.09 minus(X, Y) -> if(gt(Y, 0), minus(p(X), p(Y)), X) 16.90/5.09 div(0, s(Y)) -> 0 16.90/5.09 div(s(X), s(Y)) -> s(div(minus(X, Y), s(Y))) 16.90/5.09 16.90/5.09 The replacement map contains the following entries: 16.90/5.09 16.90/5.09 gt: {1, 2} 16.90/5.09 0: empty set 16.90/5.09 false: empty set 16.90/5.09 s: {1} 16.90/5.09 true: empty set 16.90/5.09 p: {1} 16.90/5.09 if: {1} 16.90/5.09 minus: {1, 2} 16.90/5.09 div: {1, 2} 16.90/5.09 16.90/5.09 16.90/5.09 Innermost Strategy. 16.90/5.09 16.90/5.09 ---------------------------------------- 16.90/5.09 16.90/5.09 (3) CSDependencyPairsProof (EQUIVALENT) 16.90/5.09 Using Improved CS-DPs [LPAR08] we result in the following initial Q-CSDP problem. 16.90/5.09 ---------------------------------------- 16.90/5.09 16.90/5.09 (4) 16.90/5.09 Obligation: 16.90/5.09 Q-restricted context-sensitive dependency pair problem: 16.90/5.09 The symbols in {gt_2, s_1, p_1, minus_2, div_2, GT_2, MINUS_2, DIV_2, P_1} are replacing on all positions. 16.90/5.09 For all symbols f in {if_3, IF_3} we have mu(f) = {1}. 16.90/5.09 The symbols in {U_1} are not replacing on any position. 16.90/5.09 16.90/5.09 The ordinary context-sensitive dependency pairs DP_o are: 16.90/5.09 GT(s(X), s(Y)) -> GT(X, Y) 16.90/5.09 MINUS(X, Y) -> IF(gt(Y, 0), minus(p(X), p(Y)), X) 16.90/5.09 MINUS(X, Y) -> GT(Y, 0) 16.90/5.09 DIV(s(X), s(Y)) -> DIV(minus(X, Y), s(Y)) 16.90/5.09 DIV(s(X), s(Y)) -> MINUS(X, Y) 16.90/5.09 16.90/5.09 The collapsing dependency pairs are DP_c: 16.90/5.09 IF(true, X, Y) -> X 16.90/5.09 IF(false, X, Y) -> Y 16.90/5.09 16.90/5.09 16.90/5.09 The hidden terms of R are: 16.90/5.09 16.90/5.09 minus(p(x0), p(x1)) 16.90/5.09 p(x0) 16.90/5.09 16.90/5.09 Every hiding context is built from: 16.90/5.09 aprove.DPFramework.CSDPProblem.QCSDPProblem$1@d6cb8a 16.90/5.09 aprove.DPFramework.CSDPProblem.QCSDPProblem$1@79b8745f 16.90/5.09 16.90/5.09 Hence, the new unhiding pairs DP_u are : 16.90/5.09 IF(true, X, Y) -> U(X) 16.90/5.09 IF(false, X, Y) -> U(Y) 16.90/5.09 U(p(x_0)) -> U(x_0) 16.90/5.09 U(minus(x_0, x_1)) -> U(x_0) 16.90/5.09 U(minus(x_0, x_1)) -> U(x_1) 16.90/5.09 U(minus(p(x0), p(x1))) -> MINUS(p(x0), p(x1)) 16.90/5.09 U(p(x0)) -> P(x0) 16.90/5.09 16.90/5.09 The TRS R consists of the following rules: 16.90/5.09 16.90/5.09 gt(0, Y) -> false 16.90/5.09 gt(s(X), 0) -> true 16.90/5.09 gt(s(X), s(Y)) -> gt(X, Y) 16.90/5.09 p(0) -> 0 16.90/5.09 p(s(X)) -> X 16.90/5.09 if(true, X, Y) -> X 16.90/5.09 if(false, X, Y) -> Y 16.90/5.09 minus(X, Y) -> if(gt(Y, 0), minus(p(X), p(Y)), X) 16.90/5.09 div(0, s(Y)) -> 0 16.90/5.09 div(s(X), s(Y)) -> s(div(minus(X, Y), s(Y))) 16.90/5.09 16.90/5.09 The set Q consists of the following terms: 16.90/5.09 16.90/5.09 gt(0, x0) 16.90/5.09 gt(s(x0), 0) 16.90/5.09 gt(s(x0), s(x1)) 16.90/5.09 p(0) 16.90/5.09 p(s(x0)) 16.90/5.09 if(true, x0, x1) 16.90/5.09 if(false, x0, x1) 16.90/5.09 minus(x0, x1) 16.90/5.09 div(0, s(x0)) 16.90/5.09 div(s(x0), s(x1)) 16.90/5.09 16.90/5.09 16.90/5.09 ---------------------------------------- 16.90/5.09 16.90/5.09 (5) QCSDependencyGraphProof (EQUIVALENT) 16.90/5.09 The approximation of the Context-Sensitive Dependency Graph [LPAR08] contains 3 SCCs with 3 less nodes. 16.90/5.09 The rules MINUS(z0, z1) -> GT(z1, 0) and GT(s(x0), s(x1)) -> GT(x0, x1) form no chain, because ECap^mu(GT(z1, 0)) = GT(z1, 0) does not unify with GT(s(x0), s(x1)). 16.90/5.09 ---------------------------------------- 16.90/5.09 16.90/5.09 (6) 16.90/5.09 Complex Obligation (AND) 16.90/5.09 16.90/5.09 ---------------------------------------- 16.90/5.09 16.90/5.09 (7) 16.90/5.09 Obligation: 16.90/5.09 Q-restricted context-sensitive dependency pair problem: 16.90/5.09 The symbols in {gt_2, s_1, p_1, minus_2, div_2, MINUS_2} are replacing on all positions. 16.90/5.09 For all symbols f in {if_3, IF_3} we have mu(f) = {1}. 16.90/5.09 The symbols in {U_1} are not replacing on any position. 16.90/5.09 16.90/5.09 The TRS P consists of the following rules: 16.90/5.09 16.90/5.09 IF(true, X, Y) -> U(X) 16.90/5.09 U(p(x_0)) -> U(x_0) 16.90/5.09 U(minus(x_0, x_1)) -> U(x_0) 16.90/5.09 U(minus(x_0, x_1)) -> U(x_1) 16.90/5.09 U(minus(p(x0), p(x1))) -> MINUS(p(x0), p(x1)) 16.90/5.09 MINUS(X, Y) -> IF(gt(Y, 0), minus(p(X), p(Y)), X) 16.90/5.09 IF(false, X, Y) -> U(Y) 16.90/5.09 16.90/5.09 The TRS R consists of the following rules: 16.90/5.09 16.90/5.09 gt(0, Y) -> false 16.90/5.09 gt(s(X), 0) -> true 16.90/5.09 gt(s(X), s(Y)) -> gt(X, Y) 16.90/5.09 p(0) -> 0 16.90/5.09 p(s(X)) -> X 16.90/5.09 if(true, X, Y) -> X 16.90/5.09 if(false, X, Y) -> Y 16.90/5.09 minus(X, Y) -> if(gt(Y, 0), minus(p(X), p(Y)), X) 16.90/5.09 div(0, s(Y)) -> 0 16.90/5.09 div(s(X), s(Y)) -> s(div(minus(X, Y), s(Y))) 16.90/5.09 16.90/5.09 The set Q consists of the following terms: 16.90/5.09 16.90/5.09 gt(0, x0) 16.90/5.09 gt(s(x0), 0) 16.90/5.09 gt(s(x0), s(x1)) 16.90/5.09 p(0) 16.90/5.09 p(s(x0)) 16.90/5.09 if(true, x0, x1) 16.90/5.09 if(false, x0, x1) 16.90/5.09 minus(x0, x1) 16.90/5.09 div(0, s(x0)) 16.90/5.09 div(s(x0), s(x1)) 16.90/5.09 16.90/5.09 16.90/5.09 ---------------------------------------- 16.90/5.09 16.90/5.09 (8) QCSDPReductionPairProof (EQUIVALENT) 16.95/5.09 Using the order 16.95/5.09 16.95/5.09 Polynomial interpretation with max and min functions [POLO,MAXPOLO]: 16.95/5.09 16.95/5.09 POL(0) = 0 16.95/5.09 POL(IF(x_1, x_2, x_3)) = max(x_2, x_3) 16.95/5.09 POL(MINUS(x_1, x_2)) = 1 + x_1 + x_2 16.95/5.09 POL(U(x_1)) = x_1 16.95/5.09 POL(false) = 0 16.95/5.09 POL(gt(x_1, x_2)) = 0 16.95/5.09 POL(if(x_1, x_2, x_3)) = max(x_2, x_3) 16.95/5.09 POL(minus(x_1, x_2)) = 1 + x_1 + x_2 16.95/5.09 POL(p(x_1)) = x_1 16.95/5.09 POL(s(x_1)) = 1 + x_1 16.95/5.09 POL(true) = 0 16.95/5.09 16.95/5.09 16.95/5.09 the following usable rules 16.95/5.09 16.95/5.09 16.95/5.09 p(0) -> 0 16.95/5.09 p(s(X)) -> X 16.95/5.09 minus(X, Y) -> if(gt(Y, 0), minus(p(X), p(Y)), X) 16.95/5.09 if(true, X, Y) -> X 16.95/5.09 if(false, X, Y) -> Y 16.95/5.09 gt(0, Y) -> false 16.95/5.09 gt(s(X), 0) -> true 16.95/5.09 gt(s(X), s(Y)) -> gt(X, Y) 16.95/5.09 16.95/5.09 16.95/5.09 could all be oriented weakly. 16.95/5.09 16.95/5.09 Furthermore, the pairs 16.95/5.09 16.95/5.09 16.95/5.09 U(minus(x_0, x_1)) -> U(x_0) 16.95/5.09 U(minus(x_0, x_1)) -> U(x_1) 16.95/5.09 16.95/5.09 16.95/5.09 could be oriented strictly and thus removed by the CS-Reduction Pair Processor [LPAR08,DA_EMMES]. 16.95/5.09 16.95/5.09 16.95/5.09 ---------------------------------------- 16.95/5.09 16.95/5.09 (9) 16.95/5.09 Obligation: 16.95/5.09 Q-restricted context-sensitive dependency pair problem: 16.95/5.09 The symbols in {gt_2, s_1, p_1, minus_2, div_2, MINUS_2} are replacing on all positions. 16.95/5.09 For all symbols f in {if_3, IF_3} we have mu(f) = {1}. 16.95/5.09 The symbols in {U_1} are not replacing on any position. 16.95/5.09 16.95/5.09 The TRS P consists of the following rules: 16.95/5.09 16.95/5.09 IF(true, X, Y) -> U(X) 16.95/5.09 U(p(x_0)) -> U(x_0) 16.95/5.09 U(minus(p(x0), p(x1))) -> MINUS(p(x0), p(x1)) 16.95/5.09 MINUS(X, Y) -> IF(gt(Y, 0), minus(p(X), p(Y)), X) 16.95/5.09 IF(false, X, Y) -> U(Y) 16.95/5.09 16.95/5.09 The TRS R consists of the following rules: 16.95/5.09 16.95/5.09 gt(0, Y) -> false 16.95/5.09 gt(s(X), 0) -> true 16.95/5.09 gt(s(X), s(Y)) -> gt(X, Y) 16.95/5.09 p(0) -> 0 16.95/5.09 p(s(X)) -> X 16.95/5.09 if(true, X, Y) -> X 16.95/5.09 if(false, X, Y) -> Y 16.95/5.09 minus(X, Y) -> if(gt(Y, 0), minus(p(X), p(Y)), X) 16.95/5.09 div(0, s(Y)) -> 0 16.95/5.09 div(s(X), s(Y)) -> s(div(minus(X, Y), s(Y))) 16.95/5.09 16.95/5.09 The set Q consists of the following terms: 16.95/5.09 16.95/5.09 gt(0, x0) 16.95/5.09 gt(s(x0), 0) 16.95/5.09 gt(s(x0), s(x1)) 16.95/5.09 p(0) 16.95/5.09 p(s(x0)) 16.95/5.09 if(true, x0, x1) 16.95/5.09 if(false, x0, x1) 16.95/5.09 minus(x0, x1) 16.95/5.09 div(0, s(x0)) 16.95/5.09 div(s(x0), s(x1)) 16.95/5.09 16.95/5.09 16.95/5.09 ---------------------------------------- 16.95/5.09 16.95/5.09 (10) QCSDPInstantiationProcessor (EQUIVALENT) 16.95/5.09 Using the Context-Sensitive Instantiation[LPAR08,DA_EMMES] Processor 16.95/5.09 16.95/5.09 the pair IF(true, X, Y) -> U(X) 16.95/5.09 16.95/5.09 was transformed to the following new pairs: 16.95/5.09 IF(true, minus(p(z0), p(z1)), z0) -> U(minus(p(z0), p(z1))) 16.95/5.09 16.95/5.09 16.95/5.09 16.95/5.09 ---------------------------------------- 16.95/5.09 16.95/5.09 (11) 16.95/5.09 Obligation: 16.95/5.09 Q-restricted context-sensitive dependency pair problem: 16.95/5.09 The symbols in {gt_2, s_1, p_1, minus_2, div_2, MINUS_2} are replacing on all positions. 16.95/5.09 For all symbols f in {if_3, IF_3} we have mu(f) = {1}. 16.95/5.09 The symbols in {U_1} are not replacing on any position. 16.95/5.09 16.95/5.09 The TRS P consists of the following rules: 16.95/5.09 16.95/5.09 U(p(x_0)) -> U(x_0) 16.95/5.09 U(minus(p(x0), p(x1))) -> MINUS(p(x0), p(x1)) 16.95/5.09 MINUS(X, Y) -> IF(gt(Y, 0), minus(p(X), p(Y)), X) 16.95/5.09 IF(false, X, Y) -> U(Y) 16.95/5.09 IF(true, minus(p(z0), p(z1)), z0) -> U(minus(p(z0), p(z1))) 16.95/5.09 16.95/5.09 The TRS R consists of the following rules: 16.95/5.09 16.95/5.09 gt(0, Y) -> false 16.95/5.09 gt(s(X), 0) -> true 16.95/5.09 gt(s(X), s(Y)) -> gt(X, Y) 16.95/5.09 p(0) -> 0 16.95/5.09 p(s(X)) -> X 16.95/5.09 if(true, X, Y) -> X 16.95/5.09 if(false, X, Y) -> Y 16.95/5.09 minus(X, Y) -> if(gt(Y, 0), minus(p(X), p(Y)), X) 16.95/5.09 div(0, s(Y)) -> 0 16.95/5.09 div(s(X), s(Y)) -> s(div(minus(X, Y), s(Y))) 16.95/5.09 16.95/5.09 The set Q consists of the following terms: 16.95/5.09 16.95/5.09 gt(0, x0) 16.95/5.09 gt(s(x0), 0) 16.95/5.09 gt(s(x0), s(x1)) 16.95/5.09 p(0) 16.95/5.09 p(s(x0)) 16.95/5.09 if(true, x0, x1) 16.95/5.09 if(false, x0, x1) 16.95/5.09 minus(x0, x1) 16.95/5.09 div(0, s(x0)) 16.95/5.09 div(s(x0), s(x1)) 16.95/5.09 16.95/5.09 16.95/5.09 ---------------------------------------- 16.95/5.09 16.95/5.09 (12) QCSDPReductionPairProof (EQUIVALENT) 16.95/5.09 Using the order 16.95/5.09 16.95/5.09 Polynomial interpretation with max and min functions [POLO,MAXPOLO]: 16.95/5.09 16.95/5.09 POL(0) = 0 16.95/5.09 POL(IF(x_1, x_2, x_3)) = 1 + x_3 16.95/5.09 POL(MINUS(x_1, x_2)) = 1 + x_1 16.95/5.09 POL(U(x_1)) = x_1 16.95/5.09 POL(false) = 0 16.95/5.09 POL(gt(x_1, x_2)) = 0 16.95/5.09 POL(if(x_1, x_2, x_3)) = x_1 + max(x_2, x_3) 16.95/5.09 POL(minus(x_1, x_2)) = 1 + x_1 16.95/5.09 POL(p(x_1)) = x_1 16.95/5.09 POL(s(x_1)) = 1 + x_1 16.95/5.09 POL(true) = 0 16.95/5.09 16.95/5.09 16.95/5.09 the following usable rules 16.95/5.09 16.95/5.09 16.95/5.09 p(0) -> 0 16.95/5.09 p(s(X)) -> X 16.95/5.09 minus(X, Y) -> if(gt(Y, 0), minus(p(X), p(Y)), X) 16.95/5.09 if(true, X, Y) -> X 16.95/5.09 if(false, X, Y) -> Y 16.95/5.09 gt(0, Y) -> false 16.95/5.09 gt(s(X), 0) -> true 16.95/5.09 gt(s(X), s(Y)) -> gt(X, Y) 16.95/5.09 16.95/5.09 16.95/5.09 could all be oriented weakly. 16.95/5.09 16.95/5.09 Furthermore, the pairs 16.95/5.09 16.95/5.09 16.95/5.09 IF(false, X, Y) -> U(Y) 16.95/5.09 16.95/5.09 16.95/5.09 could be oriented strictly and thus removed by the CS-Reduction Pair Processor [LPAR08,DA_EMMES]. 16.95/5.09 16.95/5.09 16.95/5.09 ---------------------------------------- 16.95/5.09 16.95/5.09 (13) 16.95/5.09 Obligation: 16.95/5.09 Q-restricted context-sensitive dependency pair problem: 16.95/5.09 The symbols in {gt_2, s_1, p_1, minus_2, div_2, MINUS_2} are replacing on all positions. 16.95/5.09 For all symbols f in {if_3, IF_3} we have mu(f) = {1}. 16.95/5.09 The symbols in {U_1} are not replacing on any position. 16.95/5.09 16.95/5.09 The TRS P consists of the following rules: 16.95/5.09 16.95/5.09 U(p(x_0)) -> U(x_0) 16.95/5.09 U(minus(p(x0), p(x1))) -> MINUS(p(x0), p(x1)) 16.95/5.09 MINUS(X, Y) -> IF(gt(Y, 0), minus(p(X), p(Y)), X) 16.95/5.09 IF(true, minus(p(z0), p(z1)), z0) -> U(minus(p(z0), p(z1))) 16.95/5.09 16.95/5.09 The TRS R consists of the following rules: 16.95/5.09 16.95/5.09 gt(0, Y) -> false 16.95/5.09 gt(s(X), 0) -> true 16.95/5.09 gt(s(X), s(Y)) -> gt(X, Y) 16.95/5.09 p(0) -> 0 16.95/5.09 p(s(X)) -> X 16.95/5.09 if(true, X, Y) -> X 16.95/5.09 if(false, X, Y) -> Y 16.95/5.09 minus(X, Y) -> if(gt(Y, 0), minus(p(X), p(Y)), X) 16.95/5.09 div(0, s(Y)) -> 0 16.95/5.09 div(s(X), s(Y)) -> s(div(minus(X, Y), s(Y))) 16.95/5.09 16.95/5.09 The set Q consists of the following terms: 16.95/5.09 16.95/5.09 gt(0, x0) 16.95/5.09 gt(s(x0), 0) 16.95/5.09 gt(s(x0), s(x1)) 16.95/5.09 p(0) 16.95/5.09 p(s(x0)) 16.95/5.09 if(true, x0, x1) 16.95/5.09 if(false, x0, x1) 16.95/5.09 minus(x0, x1) 16.95/5.09 div(0, s(x0)) 16.95/5.09 div(s(x0), s(x1)) 16.95/5.09 16.95/5.09 16.95/5.09 ---------------------------------------- 16.95/5.09 16.95/5.09 (14) QCSDependencyGraphProof (EQUIVALENT) 16.95/5.09 The approximation of the Context-Sensitive Dependency Graph [LPAR08] contains 2 SCCs. 16.95/5.09 16.95/5.09 ---------------------------------------- 16.95/5.09 16.95/5.09 (15) 16.95/5.09 Complex Obligation (AND) 16.95/5.09 16.95/5.09 ---------------------------------------- 16.95/5.09 16.95/5.09 (16) 16.95/5.09 Obligation: 16.95/5.09 Q-restricted context-sensitive dependency pair problem: 16.95/5.09 The symbols in {gt_2, s_1, p_1, minus_2, div_2, MINUS_2} are replacing on all positions. 16.95/5.09 For all symbols f in {if_3, IF_3} we have mu(f) = {1}. 16.95/5.09 The symbols in {U_1} are not replacing on any position. 16.95/5.09 16.95/5.09 The TRS P consists of the following rules: 16.95/5.09 16.95/5.09 MINUS(X, Y) -> IF(gt(Y, 0), minus(p(X), p(Y)), X) 16.95/5.09 IF(true, minus(p(z0), p(z1)), z0) -> U(minus(p(z0), p(z1))) 16.95/5.09 U(minus(p(x0), p(x1))) -> MINUS(p(x0), p(x1)) 16.95/5.09 16.95/5.09 The TRS R consists of the following rules: 16.95/5.09 16.95/5.09 gt(0, Y) -> false 16.95/5.09 gt(s(X), 0) -> true 16.95/5.09 gt(s(X), s(Y)) -> gt(X, Y) 16.95/5.09 p(0) -> 0 16.95/5.09 p(s(X)) -> X 16.95/5.09 if(true, X, Y) -> X 16.95/5.09 if(false, X, Y) -> Y 16.95/5.09 minus(X, Y) -> if(gt(Y, 0), minus(p(X), p(Y)), X) 16.95/5.09 div(0, s(Y)) -> 0 16.95/5.09 div(s(X), s(Y)) -> s(div(minus(X, Y), s(Y))) 16.95/5.09 16.95/5.09 The set Q consists of the following terms: 16.95/5.09 16.95/5.09 gt(0, x0) 16.95/5.09 gt(s(x0), 0) 16.95/5.09 gt(s(x0), s(x1)) 16.95/5.09 p(0) 16.95/5.09 p(s(x0)) 16.95/5.09 if(true, x0, x1) 16.95/5.09 if(false, x0, x1) 16.95/5.09 minus(x0, x1) 16.95/5.09 div(0, s(x0)) 16.95/5.09 div(s(x0), s(x1)) 16.95/5.09 16.95/5.09 16.95/5.09 ---------------------------------------- 16.95/5.09 16.95/5.09 (17) QCSDPReductionPairProof (EQUIVALENT) 16.95/5.09 Using the order 16.95/5.09 16.95/5.09 Polynomial interpretation [POLO,RATPOLO]: 16.95/5.09 16.95/5.09 POL(0) = 0 16.95/5.09 POL(IF(x_1, x_2, x_3)) = [1/2]x_1 + x_2 16.95/5.09 POL(MINUS(x_1, x_2)) = [2]x_1 + [1/4]x_2 16.95/5.09 POL(U(x_1)) = x_1 16.95/5.09 POL(false) = 0 16.95/5.09 POL(gt(x_1, x_2)) = [1/4]x_1 16.95/5.09 POL(if(x_1, x_2, x_3)) = [2]x_2 + x_3 16.95/5.09 POL(minus(x_1, x_2)) = [2]x_1 + [1/4]x_2 16.95/5.09 POL(p(x_1)) = [1/4]x_1 16.95/5.09 POL(s(x_1)) = [1] + [4]x_1 16.95/5.09 POL(true) = [1/4] 16.95/5.09 16.95/5.09 16.95/5.09 the following usable rules 16.95/5.09 16.95/5.09 16.95/5.09 gt(0, Y) -> false 16.95/5.09 gt(s(X), 0) -> true 16.95/5.09 gt(s(X), s(Y)) -> gt(X, Y) 16.95/5.09 minus(X, Y) -> if(gt(Y, 0), minus(p(X), p(Y)), X) 16.95/5.09 if(true, X, Y) -> X 16.95/5.09 if(false, X, Y) -> Y 16.95/5.09 p(0) -> 0 16.95/5.09 p(s(X)) -> X 16.95/5.09 16.95/5.09 16.95/5.09 could all be oriented weakly. 16.95/5.09 16.95/5.09 Furthermore, the pairs 16.95/5.09 16.95/5.09 16.95/5.09 IF(true, minus(p(z0), p(z1)), z0) -> U(minus(p(z0), p(z1))) 16.95/5.09 16.95/5.09 16.95/5.09 could be oriented strictly and thus removed by the CS-Reduction Pair Processor [LPAR08,DA_EMMES]. 16.95/5.09 16.95/5.09 16.95/5.09 ---------------------------------------- 16.95/5.09 16.95/5.09 (18) 16.95/5.09 Obligation: 16.95/5.09 Q-restricted context-sensitive dependency pair problem: 16.95/5.09 The symbols in {gt_2, s_1, p_1, minus_2, div_2, MINUS_2} are replacing on all positions. 16.95/5.09 For all symbols f in {if_3, IF_3} we have mu(f) = {1}. 16.95/5.09 The symbols in {U_1} are not replacing on any position. 16.95/5.09 16.95/5.09 The TRS P consists of the following rules: 16.95/5.09 16.95/5.09 MINUS(X, Y) -> IF(gt(Y, 0), minus(p(X), p(Y)), X) 16.95/5.09 U(minus(p(x0), p(x1))) -> MINUS(p(x0), p(x1)) 16.95/5.09 16.95/5.09 The TRS R consists of the following rules: 16.95/5.09 16.95/5.09 gt(0, Y) -> false 16.95/5.09 gt(s(X), 0) -> true 16.95/5.09 gt(s(X), s(Y)) -> gt(X, Y) 16.95/5.09 p(0) -> 0 16.95/5.09 p(s(X)) -> X 16.95/5.09 if(true, X, Y) -> X 16.95/5.09 if(false, X, Y) -> Y 16.95/5.09 minus(X, Y) -> if(gt(Y, 0), minus(p(X), p(Y)), X) 16.95/5.09 div(0, s(Y)) -> 0 16.95/5.09 div(s(X), s(Y)) -> s(div(minus(X, Y), s(Y))) 16.95/5.09 16.95/5.09 The set Q consists of the following terms: 16.95/5.09 16.95/5.09 gt(0, x0) 16.95/5.09 gt(s(x0), 0) 16.95/5.09 gt(s(x0), s(x1)) 16.95/5.09 p(0) 16.95/5.09 p(s(x0)) 16.95/5.09 if(true, x0, x1) 16.95/5.09 if(false, x0, x1) 16.95/5.09 minus(x0, x1) 16.95/5.09 div(0, s(x0)) 16.95/5.09 div(s(x0), s(x1)) 16.95/5.09 16.95/5.09 16.95/5.09 ---------------------------------------- 16.95/5.09 16.95/5.09 (19) QCSDependencyGraphProof (EQUIVALENT) 16.95/5.09 The approximation of the Context-Sensitive Dependency Graph [LPAR08] contains 0 SCCs with 2 less nodes. 16.95/5.09 16.95/5.09 ---------------------------------------- 16.95/5.09 16.95/5.09 (20) 16.95/5.09 TRUE 16.95/5.09 16.95/5.09 ---------------------------------------- 16.95/5.09 16.95/5.09 (21) 16.95/5.09 Obligation: 16.95/5.09 Q-restricted context-sensitive dependency pair problem: 16.95/5.09 The symbols in {gt_2, s_1, p_1, minus_2, div_2} are replacing on all positions. 16.95/5.09 For all symbols f in {if_3} we have mu(f) = {1}. 16.95/5.09 The symbols in {U_1} are not replacing on any position. 16.95/5.09 16.95/5.09 The TRS P consists of the following rules: 16.95/5.09 16.95/5.09 U(p(x_0)) -> U(x_0) 16.95/5.09 16.95/5.09 The TRS R consists of the following rules: 16.95/5.09 16.95/5.09 gt(0, Y) -> false 16.95/5.09 gt(s(X), 0) -> true 16.95/5.09 gt(s(X), s(Y)) -> gt(X, Y) 16.95/5.09 p(0) -> 0 16.95/5.09 p(s(X)) -> X 16.95/5.09 if(true, X, Y) -> X 16.95/5.09 if(false, X, Y) -> Y 16.95/5.09 minus(X, Y) -> if(gt(Y, 0), minus(p(X), p(Y)), X) 16.95/5.09 div(0, s(Y)) -> 0 16.95/5.09 div(s(X), s(Y)) -> s(div(minus(X, Y), s(Y))) 16.95/5.09 16.95/5.09 The set Q consists of the following terms: 16.95/5.09 16.95/5.09 gt(0, x0) 16.95/5.09 gt(s(x0), 0) 16.95/5.09 gt(s(x0), s(x1)) 16.95/5.09 p(0) 16.95/5.09 p(s(x0)) 16.95/5.09 if(true, x0, x1) 16.95/5.09 if(false, x0, x1) 16.95/5.09 minus(x0, x1) 16.95/5.09 div(0, s(x0)) 16.95/5.09 div(s(x0), s(x1)) 16.95/5.09 16.95/5.09 16.95/5.09 ---------------------------------------- 16.95/5.09 16.95/5.09 (22) QCSDPSubtermProof (EQUIVALENT) 16.95/5.09 We use the subterm processor [DA_EMMES]. 16.95/5.09 16.95/5.09 16.95/5.09 The following pairs can be oriented strictly and are deleted. 16.95/5.09 16.95/5.09 U(p(x_0)) -> U(x_0) 16.95/5.09 The remaining pairs can at least be oriented weakly. 16.95/5.09 none 16.95/5.09 Used ordering: Combined order from the following AFS and order. 16.95/5.09 U(x1) = x1 16.95/5.09 16.95/5.09 16.95/5.09 Subterm Order 16.95/5.09 16.95/5.09 ---------------------------------------- 16.95/5.09 16.95/5.09 (23) 16.95/5.09 Obligation: 16.95/5.09 Q-restricted context-sensitive dependency pair problem: 16.95/5.09 The symbols in {gt_2, s_1, p_1, minus_2, div_2} are replacing on all positions. 16.95/5.09 For all symbols f in {if_3} we have mu(f) = {1}. 16.95/5.09 16.95/5.09 The TRS P consists of the following rules: 16.95/5.09 none 16.95/5.09 16.95/5.09 The TRS R consists of the following rules: 16.95/5.09 16.95/5.09 gt(0, Y) -> false 16.95/5.09 gt(s(X), 0) -> true 16.95/5.09 gt(s(X), s(Y)) -> gt(X, Y) 16.95/5.09 p(0) -> 0 16.95/5.09 p(s(X)) -> X 16.95/5.09 if(true, X, Y) -> X 16.95/5.09 if(false, X, Y) -> Y 16.95/5.09 minus(X, Y) -> if(gt(Y, 0), minus(p(X), p(Y)), X) 16.95/5.09 div(0, s(Y)) -> 0 16.95/5.09 div(s(X), s(Y)) -> s(div(minus(X, Y), s(Y))) 16.95/5.09 16.95/5.09 The set Q consists of the following terms: 16.95/5.09 16.95/5.09 gt(0, x0) 16.95/5.09 gt(s(x0), 0) 16.95/5.09 gt(s(x0), s(x1)) 16.95/5.09 p(0) 16.95/5.09 p(s(x0)) 16.95/5.09 if(true, x0, x1) 16.95/5.09 if(false, x0, x1) 16.95/5.09 minus(x0, x1) 16.95/5.09 div(0, s(x0)) 16.95/5.09 div(s(x0), s(x1)) 16.95/5.09 16.95/5.09 16.95/5.09 ---------------------------------------- 16.95/5.09 16.95/5.09 (24) PIsEmptyProof (EQUIVALENT) 16.95/5.09 The TRS P is empty. Hence, there is no (P,Q,R,mu)-chain. 16.95/5.09 ---------------------------------------- 16.95/5.09 16.95/5.09 (25) 16.95/5.09 YES 16.95/5.09 16.95/5.09 ---------------------------------------- 16.95/5.09 16.95/5.09 (26) 16.95/5.09 Obligation: 16.95/5.09 Q-restricted context-sensitive dependency pair problem: 16.95/5.09 The symbols in {gt_2, s_1, p_1, minus_2, div_2, DIV_2} are replacing on all positions. 16.95/5.09 For all symbols f in {if_3} we have mu(f) = {1}. 16.95/5.09 16.95/5.09 The TRS P consists of the following rules: 16.95/5.09 16.95/5.09 DIV(s(X), s(Y)) -> DIV(minus(X, Y), s(Y)) 16.95/5.09 16.95/5.09 The TRS R consists of the following rules: 16.95/5.09 16.95/5.09 gt(0, Y) -> false 16.95/5.09 gt(s(X), 0) -> true 16.95/5.09 gt(s(X), s(Y)) -> gt(X, Y) 16.95/5.09 p(0) -> 0 16.95/5.09 p(s(X)) -> X 16.95/5.09 if(true, X, Y) -> X 16.95/5.09 if(false, X, Y) -> Y 16.95/5.09 minus(X, Y) -> if(gt(Y, 0), minus(p(X), p(Y)), X) 16.95/5.09 div(0, s(Y)) -> 0 16.95/5.09 div(s(X), s(Y)) -> s(div(minus(X, Y), s(Y))) 16.95/5.09 16.95/5.09 The set Q consists of the following terms: 16.95/5.09 16.95/5.09 gt(0, x0) 16.95/5.09 gt(s(x0), 0) 16.95/5.09 gt(s(x0), s(x1)) 16.95/5.09 p(0) 16.95/5.09 p(s(x0)) 16.95/5.09 if(true, x0, x1) 16.95/5.09 if(false, x0, x1) 16.95/5.09 minus(x0, x1) 16.95/5.09 div(0, s(x0)) 16.95/5.09 div(s(x0), s(x1)) 16.95/5.09 16.95/5.09 16.95/5.09 ---------------------------------------- 16.95/5.09 16.95/5.09 (27) QCSDPReductionPairProof (EQUIVALENT) 16.95/5.09 Using the order 16.95/5.09 16.95/5.09 Polynomial interpretation with max and min functions [POLO,MAXPOLO]: 16.95/5.09 16.95/5.09 POL(0) = 1 16.95/5.09 POL(DIV(x_1, x_2)) = x_1 16.95/5.09 POL(false) = 0 16.95/5.09 POL(gt(x_1, x_2)) = 0 16.95/5.09 POL(if(x_1, x_2, x_3)) = x_1 + max(x_2, x_3) 16.95/5.09 POL(minus(x_1, x_2)) = x_1 16.95/5.09 POL(p(x_1)) = x_1 16.95/5.09 POL(s(x_1)) = 1 + x_1 16.95/5.09 POL(true) = 0 16.95/5.09 16.95/5.09 16.95/5.09 the following usable rules 16.95/5.09 16.95/5.09 16.95/5.09 minus(X, Y) -> if(gt(Y, 0), minus(p(X), p(Y)), X) 16.95/5.09 if(true, X, Y) -> X 16.95/5.09 if(false, X, Y) -> Y 16.95/5.09 gt(0, Y) -> false 16.95/5.09 gt(s(X), 0) -> true 16.95/5.09 gt(s(X), s(Y)) -> gt(X, Y) 16.95/5.09 p(0) -> 0 16.95/5.09 p(s(X)) -> X 16.95/5.09 16.95/5.09 16.95/5.09 could all be oriented weakly. 16.95/5.09 16.95/5.09 Furthermore, the pairs 16.95/5.09 16.95/5.09 16.95/5.09 DIV(s(X), s(Y)) -> DIV(minus(X, Y), s(Y)) 16.95/5.09 16.95/5.09 16.95/5.09 could be oriented strictly and thus removed by the CS-Reduction Pair Processor [LPAR08,DA_EMMES]. 16.95/5.09 16.95/5.09 16.95/5.09 ---------------------------------------- 16.95/5.09 16.95/5.09 (28) 16.95/5.09 Obligation: 16.95/5.09 Q-restricted context-sensitive dependency pair problem: 16.95/5.09 The symbols in {gt_2, s_1, p_1, minus_2, div_2} are replacing on all positions. 16.95/5.09 For all symbols f in {if_3} we have mu(f) = {1}. 16.95/5.09 16.95/5.09 The TRS P consists of the following rules: 16.95/5.09 none 16.95/5.09 16.95/5.09 The TRS R consists of the following rules: 16.95/5.09 16.95/5.09 gt(0, Y) -> false 16.95/5.09 gt(s(X), 0) -> true 16.95/5.09 gt(s(X), s(Y)) -> gt(X, Y) 16.95/5.09 p(0) -> 0 16.95/5.09 p(s(X)) -> X 16.95/5.09 if(true, X, Y) -> X 16.95/5.09 if(false, X, Y) -> Y 16.95/5.09 minus(X, Y) -> if(gt(Y, 0), minus(p(X), p(Y)), X) 16.95/5.09 div(0, s(Y)) -> 0 16.95/5.09 div(s(X), s(Y)) -> s(div(minus(X, Y), s(Y))) 16.95/5.09 16.95/5.09 The set Q consists of the following terms: 16.95/5.09 16.95/5.09 gt(0, x0) 16.95/5.09 gt(s(x0), 0) 16.95/5.09 gt(s(x0), s(x1)) 16.95/5.09 p(0) 16.95/5.09 p(s(x0)) 16.95/5.09 if(true, x0, x1) 16.95/5.09 if(false, x0, x1) 16.95/5.09 minus(x0, x1) 16.95/5.09 div(0, s(x0)) 16.95/5.09 div(s(x0), s(x1)) 16.95/5.09 16.95/5.09 16.95/5.09 ---------------------------------------- 16.95/5.09 16.95/5.09 (29) PIsEmptyProof (EQUIVALENT) 16.95/5.09 The TRS P is empty. Hence, there is no (P,Q,R,mu)-chain. 16.95/5.09 ---------------------------------------- 16.95/5.09 16.95/5.09 (30) 16.95/5.09 YES 16.95/5.09 16.95/5.09 ---------------------------------------- 16.95/5.09 16.95/5.09 (31) 16.95/5.09 Obligation: 16.95/5.09 Q-restricted context-sensitive dependency pair problem: 16.95/5.09 The symbols in {gt_2, s_1, p_1, minus_2, div_2, GT_2} are replacing on all positions. 16.95/5.09 For all symbols f in {if_3} we have mu(f) = {1}. 16.95/5.09 16.95/5.09 The TRS P consists of the following rules: 16.95/5.09 16.95/5.09 GT(s(X), s(Y)) -> GT(X, Y) 16.95/5.09 16.95/5.09 The TRS R consists of the following rules: 16.95/5.09 16.95/5.09 gt(0, Y) -> false 16.95/5.09 gt(s(X), 0) -> true 16.95/5.09 gt(s(X), s(Y)) -> gt(X, Y) 16.95/5.09 p(0) -> 0 16.95/5.09 p(s(X)) -> X 16.95/5.09 if(true, X, Y) -> X 16.95/5.09 if(false, X, Y) -> Y 16.95/5.09 minus(X, Y) -> if(gt(Y, 0), minus(p(X), p(Y)), X) 16.95/5.09 div(0, s(Y)) -> 0 16.95/5.09 div(s(X), s(Y)) -> s(div(minus(X, Y), s(Y))) 16.95/5.09 16.95/5.09 The set Q consists of the following terms: 16.95/5.09 16.95/5.09 gt(0, x0) 16.95/5.09 gt(s(x0), 0) 16.95/5.09 gt(s(x0), s(x1)) 16.95/5.09 p(0) 16.95/5.09 p(s(x0)) 16.95/5.09 if(true, x0, x1) 16.95/5.09 if(false, x0, x1) 16.95/5.09 minus(x0, x1) 16.95/5.09 div(0, s(x0)) 16.95/5.09 div(s(x0), s(x1)) 16.95/5.09 16.95/5.09 16.95/5.09 ---------------------------------------- 16.95/5.09 16.95/5.09 (32) QCSDPSubtermProof (EQUIVALENT) 16.95/5.09 We use the subterm processor [DA_EMMES]. 16.95/5.09 16.95/5.09 16.95/5.09 The following pairs can be oriented strictly and are deleted. 16.95/5.09 16.95/5.09 GT(s(X), s(Y)) -> GT(X, Y) 16.95/5.09 The remaining pairs can at least be oriented weakly. 16.95/5.09 none 16.95/5.09 Used ordering: Combined order from the following AFS and order. 16.95/5.09 GT(x1, x2) = x1 16.95/5.09 16.95/5.09 16.95/5.09 Subterm Order 16.95/5.09 16.95/5.09 ---------------------------------------- 16.95/5.09 16.95/5.09 (33) 16.95/5.09 Obligation: 16.95/5.09 Q-restricted context-sensitive dependency pair problem: 16.95/5.09 The symbols in {gt_2, s_1, p_1, minus_2, div_2} are replacing on all positions. 16.95/5.09 For all symbols f in {if_3} we have mu(f) = {1}. 16.95/5.09 16.95/5.09 The TRS P consists of the following rules: 16.95/5.09 none 16.95/5.09 16.95/5.09 The TRS R consists of the following rules: 16.95/5.09 16.95/5.09 gt(0, Y) -> false 16.95/5.09 gt(s(X), 0) -> true 16.95/5.09 gt(s(X), s(Y)) -> gt(X, Y) 16.95/5.09 p(0) -> 0 16.95/5.09 p(s(X)) -> X 16.95/5.09 if(true, X, Y) -> X 16.95/5.09 if(false, X, Y) -> Y 16.95/5.09 minus(X, Y) -> if(gt(Y, 0), minus(p(X), p(Y)), X) 16.95/5.09 div(0, s(Y)) -> 0 16.95/5.09 div(s(X), s(Y)) -> s(div(minus(X, Y), s(Y))) 16.95/5.09 16.95/5.09 The set Q consists of the following terms: 16.95/5.09 16.95/5.09 gt(0, x0) 16.95/5.09 gt(s(x0), 0) 16.95/5.09 gt(s(x0), s(x1)) 16.95/5.09 p(0) 16.95/5.09 p(s(x0)) 16.95/5.09 if(true, x0, x1) 16.95/5.09 if(false, x0, x1) 16.95/5.09 minus(x0, x1) 16.95/5.09 div(0, s(x0)) 16.95/5.09 div(s(x0), s(x1)) 16.95/5.09 16.95/5.09 16.95/5.09 ---------------------------------------- 16.95/5.09 16.95/5.09 (34) PIsEmptyProof (EQUIVALENT) 16.95/5.09 The TRS P is empty. Hence, there is no (P,Q,R,mu)-chain. 16.95/5.09 ---------------------------------------- 16.95/5.09 16.95/5.09 (35) 16.95/5.09 YES 17.01/5.15 EOF