4.80/3.26 YES 4.99/3.27 proof of /export/starexec/sandbox/benchmark/theBenchmark.xml 4.99/3.27 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 4.99/3.27 4.99/3.27 4.99/3.27 Termination w.r.t. Q of the given QTRS could be proven: 4.99/3.27 4.99/3.27 (0) QTRS 4.99/3.27 (1) QTRSToCSRProof [SOUND, 0 ms] 4.99/3.27 (2) CSR 4.99/3.27 (3) CSRRRRProof [EQUIVALENT, 49 ms] 4.99/3.27 (4) CSR 4.99/3.27 (5) CSDependencyPairsProof [EQUIVALENT, 0 ms] 4.99/3.27 (6) QCSDP 4.99/3.27 (7) QCSDPInstantiationProcessor [EQUIVALENT, 0 ms] 4.99/3.27 (8) QCSDP 4.99/3.27 (9) QCSUsableRulesProof [EQUIVALENT, 0 ms] 4.99/3.27 (10) QCSDP 4.99/3.27 (11) QCSDPInstantiationProcessor [EQUIVALENT, 0 ms] 4.99/3.27 (12) QCSDP 4.99/3.27 (13) QCSDependencyGraphProof [EQUIVALENT, 0 ms] 4.99/3.27 (14) TRUE 4.99/3.27 4.99/3.27 4.99/3.27 ---------------------------------------- 4.99/3.27 4.99/3.27 (0) 4.99/3.27 Obligation: 4.99/3.27 Q restricted rewrite system: 4.99/3.27 The TRS R consists of the following rules: 4.99/3.27 4.99/3.27 active(h(X)) -> mark(g(X, X)) 4.99/3.27 active(g(a, X)) -> mark(f(b, X)) 4.99/3.27 active(f(X, X)) -> mark(h(a)) 4.99/3.27 active(a) -> mark(b) 4.99/3.27 active(h(X)) -> h(active(X)) 4.99/3.27 active(g(X1, X2)) -> g(active(X1), X2) 4.99/3.27 active(f(X1, X2)) -> f(active(X1), X2) 4.99/3.27 h(mark(X)) -> mark(h(X)) 4.99/3.27 g(mark(X1), X2) -> mark(g(X1, X2)) 4.99/3.27 f(mark(X1), X2) -> mark(f(X1, X2)) 4.99/3.27 proper(h(X)) -> h(proper(X)) 4.99/3.27 proper(g(X1, X2)) -> g(proper(X1), proper(X2)) 4.99/3.27 proper(a) -> ok(a) 4.99/3.27 proper(f(X1, X2)) -> f(proper(X1), proper(X2)) 4.99/3.27 proper(b) -> ok(b) 4.99/3.27 h(ok(X)) -> ok(h(X)) 4.99/3.27 g(ok(X1), ok(X2)) -> ok(g(X1, X2)) 4.99/3.27 f(ok(X1), ok(X2)) -> ok(f(X1, X2)) 4.99/3.27 top(mark(X)) -> top(proper(X)) 4.99/3.27 top(ok(X)) -> top(active(X)) 4.99/3.27 4.99/3.27 The set Q consists of the following terms: 4.99/3.27 4.99/3.27 active(h(x0)) 4.99/3.27 active(a) 4.99/3.27 active(g(x0, x1)) 4.99/3.27 active(f(x0, x1)) 4.99/3.27 h(mark(x0)) 4.99/3.27 g(mark(x0), x1) 4.99/3.27 f(mark(x0), x1) 4.99/3.27 proper(h(x0)) 4.99/3.27 proper(g(x0, x1)) 4.99/3.27 proper(a) 4.99/3.27 proper(f(x0, x1)) 4.99/3.27 proper(b) 4.99/3.27 h(ok(x0)) 4.99/3.27 g(ok(x0), ok(x1)) 4.99/3.27 f(ok(x0), ok(x1)) 4.99/3.27 top(mark(x0)) 4.99/3.27 top(ok(x0)) 4.99/3.27 4.99/3.27 4.99/3.27 ---------------------------------------- 4.99/3.27 4.99/3.27 (1) QTRSToCSRProof (SOUND) 4.99/3.27 The following Q TRS is given: Q restricted rewrite system: 4.99/3.27 The TRS R consists of the following rules: 4.99/3.27 4.99/3.27 active(h(X)) -> mark(g(X, X)) 4.99/3.27 active(g(a, X)) -> mark(f(b, X)) 4.99/3.27 active(f(X, X)) -> mark(h(a)) 4.99/3.27 active(a) -> mark(b) 4.99/3.27 active(h(X)) -> h(active(X)) 4.99/3.27 active(g(X1, X2)) -> g(active(X1), X2) 4.99/3.27 active(f(X1, X2)) -> f(active(X1), X2) 4.99/3.27 h(mark(X)) -> mark(h(X)) 4.99/3.27 g(mark(X1), X2) -> mark(g(X1, X2)) 4.99/3.27 f(mark(X1), X2) -> mark(f(X1, X2)) 4.99/3.27 proper(h(X)) -> h(proper(X)) 4.99/3.27 proper(g(X1, X2)) -> g(proper(X1), proper(X2)) 4.99/3.27 proper(a) -> ok(a) 4.99/3.27 proper(f(X1, X2)) -> f(proper(X1), proper(X2)) 4.99/3.27 proper(b) -> ok(b) 4.99/3.27 h(ok(X)) -> ok(h(X)) 4.99/3.27 g(ok(X1), ok(X2)) -> ok(g(X1, X2)) 4.99/3.27 f(ok(X1), ok(X2)) -> ok(f(X1, X2)) 4.99/3.27 top(mark(X)) -> top(proper(X)) 4.99/3.27 top(ok(X)) -> top(active(X)) 4.99/3.27 4.99/3.27 The set Q consists of the following terms: 4.99/3.27 4.99/3.27 active(h(x0)) 4.99/3.27 active(a) 4.99/3.27 active(g(x0, x1)) 4.99/3.27 active(f(x0, x1)) 4.99/3.27 h(mark(x0)) 4.99/3.27 g(mark(x0), x1) 4.99/3.27 f(mark(x0), x1) 4.99/3.27 proper(h(x0)) 4.99/3.27 proper(g(x0, x1)) 4.99/3.27 proper(a) 4.99/3.27 proper(f(x0, x1)) 4.99/3.27 proper(b) 4.99/3.27 h(ok(x0)) 4.99/3.27 g(ok(x0), ok(x1)) 4.99/3.27 f(ok(x0), ok(x1)) 4.99/3.27 top(mark(x0)) 4.99/3.27 top(ok(x0)) 4.99/3.27 4.99/3.27 Special symbols used for the transformation (see [GM04]): 4.99/3.27 top: top_1, active: active_1, mark: mark_1, ok: ok_1, proper: proper_1 4.99/3.27 The replacement map contains the following entries: 4.99/3.27 4.99/3.27 h: {1} 4.99/3.27 g: {1} 4.99/3.27 a: empty set 4.99/3.27 f: {1} 4.99/3.27 b: empty set 4.99/3.27 The QTRS contained just a subset of rules created by the complete Giesl-Middeldorp transformation. Therefore, the inverse transformation is sound, but not necessarily complete. 4.99/3.27 ---------------------------------------- 4.99/3.27 4.99/3.27 (2) 4.99/3.27 Obligation: 4.99/3.27 Context-sensitive rewrite system: 4.99/3.27 The TRS R consists of the following rules: 4.99/3.27 4.99/3.27 h(X) -> g(X, X) 4.99/3.27 g(a, X) -> f(b, X) 4.99/3.27 f(X, X) -> h(a) 4.99/3.27 a -> b 4.99/3.27 4.99/3.27 The replacement map contains the following entries: 4.99/3.27 4.99/3.27 h: {1} 4.99/3.27 g: {1} 4.99/3.27 a: empty set 4.99/3.27 f: {1} 4.99/3.27 b: empty set 4.99/3.27 4.99/3.27 ---------------------------------------- 4.99/3.27 4.99/3.27 (3) CSRRRRProof (EQUIVALENT) 4.99/3.27 The following CSR is given: Context-sensitive rewrite system: 4.99/3.27 The TRS R consists of the following rules: 4.99/3.27 4.99/3.27 h(X) -> g(X, X) 4.99/3.27 g(a, X) -> f(b, X) 4.99/3.27 f(X, X) -> h(a) 4.99/3.27 a -> b 4.99/3.27 4.99/3.27 The replacement map contains the following entries: 4.99/3.27 4.99/3.27 h: {1} 4.99/3.27 g: {1} 4.99/3.27 a: empty set 4.99/3.27 f: {1} 4.99/3.27 b: empty set 4.99/3.27 Used ordering: 4.99/3.27 Polynomial interpretation [POLO]: 4.99/3.27 4.99/3.27 POL(a) = 1 4.99/3.27 POL(b) = 0 4.99/3.27 POL(f(x_1, x_2)) = 2 + 2*x_1 4.99/3.27 POL(g(x_1, x_2)) = 2*x_1 4.99/3.27 POL(h(x_1)) = 2*x_1 4.99/3.27 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 4.99/3.27 4.99/3.27 a -> b 4.99/3.27 4.99/3.27 4.99/3.27 4.99/3.27 4.99/3.27 ---------------------------------------- 4.99/3.27 4.99/3.27 (4) 4.99/3.27 Obligation: 4.99/3.27 Context-sensitive rewrite system: 4.99/3.27 The TRS R consists of the following rules: 4.99/3.27 4.99/3.27 h(X) -> g(X, X) 4.99/3.27 g(a, X) -> f(b, X) 4.99/3.27 f(X, X) -> h(a) 4.99/3.27 4.99/3.27 The replacement map contains the following entries: 4.99/3.27 4.99/3.27 h: {1} 4.99/3.27 g: {1} 4.99/3.27 a: empty set 4.99/3.27 f: {1} 4.99/3.27 b: empty set 4.99/3.27 4.99/3.27 ---------------------------------------- 4.99/3.27 4.99/3.27 (5) CSDependencyPairsProof (EQUIVALENT) 4.99/3.27 Using Improved CS-DPs [LPAR08] we result in the following initial Q-CSDP problem. 4.99/3.27 ---------------------------------------- 4.99/3.27 4.99/3.27 (6) 4.99/3.27 Obligation: 4.99/3.27 Q-restricted context-sensitive dependency pair problem: 4.99/3.27 The symbols in {h_1, H_1} are replacing on all positions. 4.99/3.27 For all symbols f in {g_2, f_2, G_2, F_2} we have mu(f) = {1}. 4.99/3.27 4.99/3.27 The ordinary context-sensitive dependency pairs DP_o are: 4.99/3.27 H(X) -> G(X, X) 4.99/3.27 G(a, X) -> F(b, X) 4.99/3.27 F(X, X) -> H(a) 4.99/3.27 4.99/3.27 The TRS R consists of the following rules: 4.99/3.27 4.99/3.27 h(X) -> g(X, X) 4.99/3.27 g(a, X) -> f(b, X) 4.99/3.27 f(X, X) -> h(a) 4.99/3.27 4.99/3.27 Q is empty. 4.99/3.27 4.99/3.27 ---------------------------------------- 4.99/3.27 4.99/3.27 (7) QCSDPInstantiationProcessor (EQUIVALENT) 4.99/3.27 Using the Context-Sensitive Instantiation[LPAR08,DA_EMMES] Processor 4.99/3.27 4.99/3.27 the pair H(X) -> G(X, X) 4.99/3.27 4.99/3.27 was transformed to the following new pairs: 4.99/3.27 H(a) -> G(a, a) 4.99/3.27 4.99/3.27 4.99/3.27 4.99/3.27 ---------------------------------------- 4.99/3.27 4.99/3.27 (8) 4.99/3.27 Obligation: 4.99/3.27 Q-restricted context-sensitive dependency pair problem: 4.99/3.27 The symbols in {h_1, H_1} are replacing on all positions. 4.99/3.27 For all symbols f in {g_2, f_2, F_2, G_2} we have mu(f) = {1}. 4.99/3.27 4.99/3.27 The TRS P consists of the following rules: 4.99/3.27 4.99/3.27 G(a, X) -> F(b, X) 4.99/3.27 F(X, X) -> H(a) 4.99/3.27 H(a) -> G(a, a) 4.99/3.27 4.99/3.27 The TRS R consists of the following rules: 4.99/3.27 4.99/3.27 h(X) -> g(X, X) 4.99/3.27 g(a, X) -> f(b, X) 4.99/3.27 f(X, X) -> h(a) 4.99/3.27 4.99/3.27 Q is empty. 4.99/3.27 4.99/3.27 ---------------------------------------- 4.99/3.27 4.99/3.27 (9) QCSUsableRulesProof (EQUIVALENT) 4.99/3.27 The following rules are not useable [DA_EMMES] and can be deleted: 4.99/3.27 4.99/3.27 h(x0) -> g(x0, x0) 4.99/3.27 g(a, x0) -> f(b, x0) 4.99/3.27 f(x0, x0) -> h(a) 4.99/3.27 4.99/3.27 ---------------------------------------- 4.99/3.27 4.99/3.27 (10) 4.99/3.27 Obligation: 4.99/3.27 Q-restricted context-sensitive dependency pair problem: 4.99/3.27 The symbols in {H_1} are replacing on all positions. 4.99/3.27 For all symbols f in {F_2, G_2} we have mu(f) = {1}. 4.99/3.27 4.99/3.27 The TRS P consists of the following rules: 4.99/3.27 4.99/3.27 G(a, X) -> F(b, X) 4.99/3.27 F(X, X) -> H(a) 4.99/3.27 H(a) -> G(a, a) 4.99/3.27 4.99/3.27 R is empty. 4.99/3.27 Q is empty. 4.99/3.27 4.99/3.27 ---------------------------------------- 4.99/3.27 4.99/3.27 (11) QCSDPInstantiationProcessor (EQUIVALENT) 4.99/3.27 Using the Context-Sensitive Instantiation[LPAR08,DA_EMMES] Processor 4.99/3.27 4.99/3.27 the pair G(a, X) -> F(b, X) 4.99/3.27 4.99/3.27 was transformed to the following new pairs: 4.99/3.27 G(a, a) -> F(b, a) 4.99/3.27 4.99/3.27 4.99/3.27 4.99/3.27 ---------------------------------------- 4.99/3.27 4.99/3.27 (12) 4.99/3.27 Obligation: 4.99/3.27 Q-restricted context-sensitive dependency pair problem: 4.99/3.27 The symbols in {H_1} are replacing on all positions. 4.99/3.27 For all symbols f in {F_2, G_2} we have mu(f) = {1}. 4.99/3.27 4.99/3.27 The TRS P consists of the following rules: 4.99/3.27 4.99/3.27 F(X, X) -> H(a) 4.99/3.27 H(a) -> G(a, a) 4.99/3.27 G(a, a) -> F(b, a) 4.99/3.27 4.99/3.27 R is empty. 4.99/3.27 Q is empty. 4.99/3.27 4.99/3.27 ---------------------------------------- 4.99/3.27 4.99/3.27 (13) QCSDependencyGraphProof (EQUIVALENT) 4.99/3.27 The approximation of the Context-Sensitive Dependency Graph [LPAR08] contains 0 SCCs with 3 less nodes. 4.99/3.27 The rules G(a, a) -> F(b, a) and F(x0, x0) -> H(a) form no chain, because ECap^mu(F(b, a)) = F(b, a) does not unify with F(x0, x0). 4.99/3.27 ---------------------------------------- 4.99/3.27 4.99/3.27 (14) 4.99/3.27 TRUE 4.99/3.30 EOF