3.52/1.71 YES 3.52/1.72 proof of /export/starexec/sandbox/benchmark/theBenchmark.xml 3.52/1.72 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 3.52/1.72 3.52/1.72 3.52/1.72 Termination w.r.t. Q of the given QTRS could be proven: 3.52/1.72 3.52/1.72 (0) QTRS 3.52/1.72 (1) QTRSRRRProof [EQUIVALENT, 53 ms] 3.52/1.72 (2) QTRS 3.52/1.72 (3) RisEmptyProof [EQUIVALENT, 0 ms] 3.52/1.72 (4) YES 3.52/1.72 3.52/1.72 3.52/1.72 ---------------------------------------- 3.52/1.72 3.52/1.72 (0) 3.52/1.72 Obligation: 3.52/1.72 Q restricted rewrite system: 3.52/1.72 The TRS R consists of the following rules: 3.52/1.72 3.52/1.72 terms(N) -> cons(recip(sqr(N))) 3.52/1.72 sqr(0) -> 0 3.52/1.72 sqr(s(X)) -> s(add(sqr(X), dbl(X))) 3.52/1.72 dbl(0) -> 0 3.52/1.72 dbl(s(X)) -> s(s(dbl(X))) 3.52/1.72 add(0, X) -> X 3.52/1.72 add(s(X), Y) -> s(add(X, Y)) 3.52/1.72 first(0, X) -> nil 3.52/1.72 first(s(X), cons(Y)) -> cons(Y) 3.52/1.72 half(0) -> 0 3.52/1.72 half(s(0)) -> 0 3.52/1.72 half(s(s(X))) -> s(half(X)) 3.52/1.72 half(dbl(X)) -> X 3.52/1.72 3.52/1.72 The set Q consists of the following terms: 3.52/1.72 3.52/1.72 terms(x0) 3.52/1.72 sqr(0) 3.52/1.72 sqr(s(x0)) 3.52/1.72 dbl(0) 3.52/1.72 dbl(s(x0)) 3.52/1.72 add(0, x0) 3.52/1.72 add(s(x0), x1) 3.52/1.72 first(0, x0) 3.52/1.72 first(s(x0), cons(x1)) 3.52/1.72 half(0) 3.52/1.72 half(s(0)) 3.52/1.72 half(s(s(x0))) 3.52/1.72 half(dbl(x0)) 3.52/1.72 3.52/1.72 3.52/1.72 ---------------------------------------- 3.52/1.72 3.52/1.72 (1) QTRSRRRProof (EQUIVALENT) 3.52/1.72 Used ordering: 3.52/1.72 Quasi precedence: 3.52/1.72 terms_1 > cons_1 > s_1 3.52/1.72 terms_1 > recip_1 > s_1 3.52/1.72 terms_1 > [sqr_1, dbl_1] > [0, nil, half_1] > s_1 3.52/1.72 terms_1 > [sqr_1, dbl_1] > add_2 > s_1 3.52/1.72 first_2 > s_1 3.52/1.72 3.52/1.72 3.52/1.72 Status: 3.52/1.72 terms_1: multiset status 3.52/1.72 cons_1: multiset status 3.52/1.72 recip_1: multiset status 3.52/1.72 sqr_1: multiset status 3.52/1.72 0: multiset status 3.52/1.72 s_1: multiset status 3.52/1.72 add_2: [1,2] 3.52/1.72 dbl_1: multiset status 3.52/1.72 first_2: multiset status 3.52/1.72 nil: multiset status 3.52/1.72 half_1: multiset status 3.52/1.72 3.52/1.72 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 3.52/1.72 3.52/1.72 terms(N) -> cons(recip(sqr(N))) 3.52/1.72 sqr(0) -> 0 3.52/1.72 sqr(s(X)) -> s(add(sqr(X), dbl(X))) 3.52/1.72 dbl(0) -> 0 3.52/1.72 dbl(s(X)) -> s(s(dbl(X))) 3.52/1.72 add(0, X) -> X 3.52/1.72 add(s(X), Y) -> s(add(X, Y)) 3.52/1.72 first(0, X) -> nil 3.52/1.72 first(s(X), cons(Y)) -> cons(Y) 3.52/1.72 half(0) -> 0 3.52/1.72 half(s(0)) -> 0 3.52/1.72 half(s(s(X))) -> s(half(X)) 3.52/1.72 half(dbl(X)) -> X 3.52/1.72 3.52/1.72 3.52/1.72 3.52/1.72 3.52/1.72 ---------------------------------------- 3.52/1.72 3.52/1.72 (2) 3.52/1.72 Obligation: 3.52/1.72 Q restricted rewrite system: 3.52/1.72 R is empty. 3.52/1.72 The set Q consists of the following terms: 3.52/1.72 3.52/1.72 terms(x0) 3.52/1.72 sqr(0) 3.52/1.72 sqr(s(x0)) 3.52/1.72 dbl(0) 3.52/1.72 dbl(s(x0)) 3.52/1.72 add(0, x0) 3.52/1.72 add(s(x0), x1) 3.52/1.72 first(0, x0) 3.52/1.72 first(s(x0), cons(x1)) 3.52/1.72 half(0) 3.52/1.72 half(s(0)) 3.52/1.72 half(s(s(x0))) 3.52/1.72 half(dbl(x0)) 3.52/1.72 3.52/1.72 3.52/1.72 ---------------------------------------- 3.52/1.72 3.52/1.72 (3) RisEmptyProof (EQUIVALENT) 3.52/1.72 The TRS R is empty. Hence, termination is trivially proven. 3.52/1.72 ---------------------------------------- 3.52/1.72 3.52/1.72 (4) 3.52/1.72 YES 3.52/1.73 EOF