2.92/1.42 YES 2.92/1.43 proof of /export/starexec/sandbox/benchmark/theBenchmark.xml 2.92/1.43 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 2.92/1.43 2.92/1.43 2.92/1.43 Termination of the given CSR could be proven: 2.92/1.43 2.92/1.43 (0) CSR 2.92/1.43 (1) CSRInnermostProof [EQUIVALENT, 0 ms] 2.92/1.43 (2) CSR 2.92/1.43 (3) CSDependencyPairsProof [EQUIVALENT, 0 ms] 2.92/1.43 (4) QCSDP 2.92/1.43 (5) QCSDependencyGraphProof [EQUIVALENT, 0 ms] 2.92/1.43 (6) AND 2.92/1.43 (7) QCSDP 2.92/1.43 (8) QCSDPSubtermProof [EQUIVALENT, 10 ms] 2.92/1.43 (9) QCSDP 2.92/1.43 (10) PIsEmptyProof [EQUIVALENT, 0 ms] 2.92/1.43 (11) YES 2.92/1.43 (12) QCSDP 2.92/1.43 (13) QCSDPSubtermProof [EQUIVALENT, 0 ms] 2.92/1.43 (14) QCSDP 2.92/1.43 (15) PIsEmptyProof [EQUIVALENT, 0 ms] 2.92/1.43 (16) YES 2.92/1.43 2.92/1.43 2.92/1.43 ---------------------------------------- 2.92/1.43 2.92/1.43 (0) 2.92/1.43 Obligation: 2.92/1.43 Context-sensitive rewrite system: 2.92/1.43 The TRS R consists of the following rules: 2.92/1.43 2.92/1.43 from(X) -> cons(X, from(s(X))) 2.92/1.43 head(cons(X, XS)) -> X 2.92/1.43 2nd(cons(X, XS)) -> head(XS) 2.92/1.43 take(0, XS) -> nil 2.92/1.43 take(s(N), cons(X, XS)) -> cons(X, take(N, XS)) 2.92/1.43 sel(0, cons(X, XS)) -> X 2.92/1.43 sel(s(N), cons(X, XS)) -> sel(N, XS) 2.92/1.43 2.92/1.43 The replacement map contains the following entries: 2.92/1.43 2.92/1.43 from: {1} 2.92/1.43 cons: {1} 2.92/1.43 s: {1} 2.92/1.43 head: {1} 2.92/1.43 2nd: {1} 2.92/1.43 take: {1, 2} 2.92/1.43 0: empty set 2.92/1.43 nil: empty set 2.92/1.43 sel: {1, 2} 2.92/1.43 2.92/1.43 ---------------------------------------- 2.92/1.43 2.92/1.43 (1) CSRInnermostProof (EQUIVALENT) 2.92/1.43 The CSR is orthogonal. By [CS_Inn] we can switch to innermost. 2.92/1.43 ---------------------------------------- 2.92/1.43 2.92/1.43 (2) 2.92/1.43 Obligation: 2.92/1.43 Context-sensitive rewrite system: 2.92/1.43 The TRS R consists of the following rules: 2.92/1.43 2.92/1.43 from(X) -> cons(X, from(s(X))) 2.92/1.43 head(cons(X, XS)) -> X 2.92/1.43 2nd(cons(X, XS)) -> head(XS) 2.92/1.43 take(0, XS) -> nil 2.92/1.43 take(s(N), cons(X, XS)) -> cons(X, take(N, XS)) 2.92/1.43 sel(0, cons(X, XS)) -> X 2.92/1.43 sel(s(N), cons(X, XS)) -> sel(N, XS) 2.92/1.43 2.92/1.43 The replacement map contains the following entries: 2.92/1.43 2.92/1.43 from: {1} 2.92/1.43 cons: {1} 2.92/1.43 s: {1} 2.92/1.43 head: {1} 2.92/1.43 2nd: {1} 2.92/1.43 take: {1, 2} 2.92/1.43 0: empty set 2.92/1.43 nil: empty set 2.92/1.43 sel: {1, 2} 2.92/1.43 2.92/1.43 2.92/1.43 Innermost Strategy. 2.92/1.43 2.92/1.43 ---------------------------------------- 2.92/1.43 2.92/1.43 (3) CSDependencyPairsProof (EQUIVALENT) 2.92/1.43 Using Improved CS-DPs [LPAR08] we result in the following initial Q-CSDP problem. 2.92/1.43 ---------------------------------------- 2.92/1.43 2.92/1.43 (4) 2.92/1.43 Obligation: 2.92/1.43 Q-restricted context-sensitive dependency pair problem: 2.92/1.43 The symbols in {from_1, s_1, head_1, 2nd_1, take_2, sel_2, HEAD_1, 2ND_1, SEL_2, FROM_1, TAKE_2} are replacing on all positions. 2.92/1.43 For all symbols f in {cons_2} we have mu(f) = {1}. 2.92/1.43 The symbols in {U_1} are not replacing on any position. 2.92/1.43 2.92/1.43 The ordinary context-sensitive dependency pairs DP_o are: 2.92/1.43 2ND(cons(X, XS)) -> HEAD(XS) 2.92/1.43 SEL(s(N), cons(X, XS)) -> SEL(N, XS) 2.92/1.43 2.92/1.43 The collapsing dependency pairs are DP_c: 2.92/1.43 2ND(cons(X, XS)) -> XS 2.92/1.43 SEL(s(N), cons(X, XS)) -> XS 2.92/1.43 2.92/1.43 2.92/1.43 The hidden terms of R are: 2.92/1.43 2.92/1.43 from(s(x0)) 2.92/1.43 take(x0, x1) 2.92/1.43 2.92/1.43 Every hiding context is built from: 2.92/1.43 aprove.DPFramework.CSDPProblem.QCSDPProblem$1@77f7c96a 2.92/1.43 aprove.DPFramework.CSDPProblem.QCSDPProblem$1@6168d179 2.92/1.43 aprove.DPFramework.CSDPProblem.QCSDPProblem$1@7bb02f40 2.92/1.43 2.92/1.43 Hence, the new unhiding pairs DP_u are : 2.92/1.43 2ND(cons(X, XS)) -> U(XS) 2.92/1.43 SEL(s(N), cons(X, XS)) -> U(XS) 2.92/1.43 U(s(x_0)) -> U(x_0) 2.92/1.43 U(from(x_0)) -> U(x_0) 2.92/1.43 U(take(x_0, x_1)) -> U(x_0) 2.92/1.43 U(take(x_0, x_1)) -> U(x_1) 2.92/1.43 U(from(s(x0))) -> FROM(s(x0)) 2.92/1.43 U(take(x0, x1)) -> TAKE(x0, x1) 2.92/1.43 2.92/1.43 The TRS R consists of the following rules: 2.92/1.43 2.92/1.43 from(X) -> cons(X, from(s(X))) 2.92/1.43 head(cons(X, XS)) -> X 2.92/1.43 2nd(cons(X, XS)) -> head(XS) 2.92/1.43 take(0, XS) -> nil 2.92/1.43 take(s(N), cons(X, XS)) -> cons(X, take(N, XS)) 2.92/1.43 sel(0, cons(X, XS)) -> X 2.92/1.43 sel(s(N), cons(X, XS)) -> sel(N, XS) 2.92/1.43 2.92/1.43 The set Q consists of the following terms: 2.92/1.43 2.92/1.43 from(x0) 2.92/1.43 head(cons(x0, x1)) 2.92/1.43 2nd(cons(x0, x1)) 2.92/1.43 take(0, x0) 2.92/1.43 take(s(x0), cons(x1, x2)) 2.92/1.43 sel(0, cons(x0, x1)) 2.92/1.43 sel(s(x0), cons(x1, x2)) 2.92/1.43 2.92/1.43 2.92/1.43 ---------------------------------------- 2.92/1.43 2.92/1.43 (5) QCSDependencyGraphProof (EQUIVALENT) 2.92/1.43 The approximation of the Context-Sensitive Dependency Graph [LPAR08] contains 2 SCCs with 4 less nodes. 2.92/1.43 2.92/1.43 ---------------------------------------- 2.92/1.43 2.92/1.43 (6) 2.92/1.43 Complex Obligation (AND) 2.92/1.43 2.92/1.43 ---------------------------------------- 2.92/1.43 2.92/1.43 (7) 2.92/1.43 Obligation: 2.92/1.43 Q-restricted context-sensitive dependency pair problem: 2.92/1.43 The symbols in {from_1, s_1, head_1, 2nd_1, take_2, sel_2} are replacing on all positions. 2.92/1.43 For all symbols f in {cons_2} we have mu(f) = {1}. 2.92/1.43 The symbols in {U_1} are not replacing on any position. 2.92/1.43 2.92/1.43 The TRS P consists of the following rules: 2.92/1.43 2.92/1.43 U(s(x_0)) -> U(x_0) 2.92/1.43 U(from(x_0)) -> U(x_0) 2.92/1.43 U(take(x_0, x_1)) -> U(x_0) 2.92/1.43 U(take(x_0, x_1)) -> U(x_1) 2.92/1.43 2.92/1.43 The TRS R consists of the following rules: 2.92/1.43 2.92/1.43 from(X) -> cons(X, from(s(X))) 2.92/1.43 head(cons(X, XS)) -> X 2.92/1.43 2nd(cons(X, XS)) -> head(XS) 2.92/1.43 take(0, XS) -> nil 2.92/1.43 take(s(N), cons(X, XS)) -> cons(X, take(N, XS)) 2.92/1.43 sel(0, cons(X, XS)) -> X 2.92/1.43 sel(s(N), cons(X, XS)) -> sel(N, XS) 2.92/1.43 2.92/1.43 The set Q consists of the following terms: 2.92/1.43 2.92/1.43 from(x0) 2.92/1.43 head(cons(x0, x1)) 2.92/1.43 2nd(cons(x0, x1)) 2.92/1.43 take(0, x0) 2.92/1.43 take(s(x0), cons(x1, x2)) 2.92/1.43 sel(0, cons(x0, x1)) 2.92/1.43 sel(s(x0), cons(x1, x2)) 2.92/1.43 2.92/1.43 2.92/1.43 ---------------------------------------- 2.92/1.43 2.92/1.43 (8) QCSDPSubtermProof (EQUIVALENT) 2.92/1.43 We use the subterm processor [DA_EMMES]. 2.92/1.43 2.92/1.43 2.92/1.43 The following pairs can be oriented strictly and are deleted. 2.92/1.43 2.92/1.43 U(s(x_0)) -> U(x_0) 2.92/1.43 U(from(x_0)) -> U(x_0) 2.92/1.43 U(take(x_0, x_1)) -> U(x_0) 2.92/1.43 U(take(x_0, x_1)) -> U(x_1) 2.92/1.43 The remaining pairs can at least be oriented weakly. 2.92/1.43 none 2.92/1.43 Used ordering: Combined order from the following AFS and order. 2.92/1.43 U(x1) = x1 2.92/1.43 2.92/1.43 2.92/1.43 Subterm Order 2.92/1.43 2.92/1.43 ---------------------------------------- 2.92/1.43 2.92/1.43 (9) 2.92/1.43 Obligation: 2.92/1.43 Q-restricted context-sensitive dependency pair problem: 2.92/1.43 The symbols in {from_1, s_1, head_1, 2nd_1, take_2, sel_2} are replacing on all positions. 2.92/1.43 For all symbols f in {cons_2} we have mu(f) = {1}. 2.92/1.43 2.92/1.43 The TRS P consists of the following rules: 2.92/1.43 none 2.92/1.43 2.92/1.43 The TRS R consists of the following rules: 2.92/1.43 2.92/1.43 from(X) -> cons(X, from(s(X))) 2.92/1.43 head(cons(X, XS)) -> X 2.92/1.43 2nd(cons(X, XS)) -> head(XS) 2.92/1.43 take(0, XS) -> nil 2.92/1.43 take(s(N), cons(X, XS)) -> cons(X, take(N, XS)) 2.92/1.43 sel(0, cons(X, XS)) -> X 2.92/1.43 sel(s(N), cons(X, XS)) -> sel(N, XS) 2.92/1.43 2.92/1.43 The set Q consists of the following terms: 2.92/1.43 2.92/1.43 from(x0) 2.92/1.43 head(cons(x0, x1)) 2.92/1.43 2nd(cons(x0, x1)) 2.92/1.43 take(0, x0) 2.92/1.43 take(s(x0), cons(x1, x2)) 2.92/1.43 sel(0, cons(x0, x1)) 2.92/1.43 sel(s(x0), cons(x1, x2)) 2.92/1.43 2.92/1.43 2.92/1.43 ---------------------------------------- 2.92/1.43 2.92/1.43 (10) PIsEmptyProof (EQUIVALENT) 2.92/1.43 The TRS P is empty. Hence, there is no (P,Q,R,mu)-chain. 2.92/1.43 ---------------------------------------- 2.92/1.43 2.92/1.43 (11) 2.92/1.43 YES 2.92/1.43 2.92/1.43 ---------------------------------------- 2.92/1.43 2.92/1.43 (12) 2.92/1.43 Obligation: 2.92/1.43 Q-restricted context-sensitive dependency pair problem: 2.92/1.43 The symbols in {from_1, s_1, head_1, 2nd_1, take_2, sel_2, SEL_2} are replacing on all positions. 2.92/1.43 For all symbols f in {cons_2} we have mu(f) = {1}. 2.92/1.43 2.92/1.43 The TRS P consists of the following rules: 2.92/1.43 2.92/1.43 SEL(s(N), cons(X, XS)) -> SEL(N, XS) 2.92/1.43 2.92/1.43 The TRS R consists of the following rules: 2.92/1.43 2.92/1.43 from(X) -> cons(X, from(s(X))) 2.92/1.43 head(cons(X, XS)) -> X 2.92/1.43 2nd(cons(X, XS)) -> head(XS) 2.92/1.43 take(0, XS) -> nil 2.92/1.43 take(s(N), cons(X, XS)) -> cons(X, take(N, XS)) 2.92/1.43 sel(0, cons(X, XS)) -> X 2.92/1.43 sel(s(N), cons(X, XS)) -> sel(N, XS) 2.92/1.43 2.92/1.43 The set Q consists of the following terms: 2.92/1.43 2.92/1.43 from(x0) 2.92/1.43 head(cons(x0, x1)) 2.92/1.43 2nd(cons(x0, x1)) 2.92/1.43 take(0, x0) 2.92/1.43 take(s(x0), cons(x1, x2)) 2.92/1.43 sel(0, cons(x0, x1)) 2.92/1.43 sel(s(x0), cons(x1, x2)) 2.92/1.43 2.92/1.43 2.92/1.43 ---------------------------------------- 2.92/1.43 2.92/1.43 (13) QCSDPSubtermProof (EQUIVALENT) 2.92/1.43 We use the subterm processor [DA_EMMES]. 2.92/1.43 2.92/1.43 2.92/1.43 The following pairs can be oriented strictly and are deleted. 2.92/1.43 2.92/1.43 SEL(s(N), cons(X, XS)) -> SEL(N, XS) 2.92/1.43 The remaining pairs can at least be oriented weakly. 2.92/1.43 none 2.92/1.43 Used ordering: Combined order from the following AFS and order. 2.92/1.43 SEL(x1, x2) = x1 2.92/1.43 2.92/1.43 2.92/1.43 Subterm Order 2.92/1.43 2.92/1.43 ---------------------------------------- 2.92/1.43 2.92/1.43 (14) 2.92/1.43 Obligation: 2.92/1.43 Q-restricted context-sensitive dependency pair problem: 2.92/1.43 The symbols in {from_1, s_1, head_1, 2nd_1, take_2, sel_2} are replacing on all positions. 2.92/1.43 For all symbols f in {cons_2} we have mu(f) = {1}. 2.92/1.43 2.92/1.43 The TRS P consists of the following rules: 2.92/1.43 none 2.92/1.43 2.92/1.43 The TRS R consists of the following rules: 2.92/1.43 2.92/1.43 from(X) -> cons(X, from(s(X))) 2.92/1.43 head(cons(X, XS)) -> X 2.92/1.43 2nd(cons(X, XS)) -> head(XS) 2.92/1.43 take(0, XS) -> nil 2.92/1.43 take(s(N), cons(X, XS)) -> cons(X, take(N, XS)) 2.92/1.43 sel(0, cons(X, XS)) -> X 2.92/1.43 sel(s(N), cons(X, XS)) -> sel(N, XS) 2.92/1.43 2.92/1.43 The set Q consists of the following terms: 2.92/1.43 2.92/1.43 from(x0) 2.92/1.43 head(cons(x0, x1)) 2.92/1.43 2nd(cons(x0, x1)) 2.92/1.43 take(0, x0) 2.92/1.43 take(s(x0), cons(x1, x2)) 2.92/1.43 sel(0, cons(x0, x1)) 2.92/1.43 sel(s(x0), cons(x1, x2)) 2.92/1.43 2.92/1.43 2.92/1.43 ---------------------------------------- 2.92/1.43 2.92/1.43 (15) PIsEmptyProof (EQUIVALENT) 2.92/1.43 The TRS P is empty. Hence, there is no (P,Q,R,mu)-chain. 2.92/1.43 ---------------------------------------- 2.92/1.43 2.92/1.43 (16) 2.92/1.43 YES 3.16/1.45 EOF