3.29/1.67 YES 3.29/1.68 proof of /export/starexec/sandbox2/benchmark/theBenchmark.xml 3.29/1.68 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 3.29/1.68 3.29/1.68 3.29/1.68 Termination w.r.t. Q of the given QTRS could be proven: 3.29/1.68 3.29/1.68 (0) QTRS 3.29/1.68 (1) QTRSRRRProof [EQUIVALENT, 32 ms] 3.29/1.68 (2) QTRS 3.29/1.68 (3) RisEmptyProof [EQUIVALENT, 0 ms] 3.29/1.68 (4) YES 3.29/1.68 3.29/1.68 3.29/1.68 ---------------------------------------- 3.29/1.68 3.29/1.68 (0) 3.29/1.68 Obligation: 3.29/1.68 Q restricted rewrite system: 3.29/1.68 The TRS R consists of the following rules: 3.29/1.68 3.29/1.68 a__and(tt, X) -> mark(X) 3.29/1.68 a__plus(N, 0) -> mark(N) 3.29/1.68 a__plus(N, s(M)) -> s(a__plus(mark(N), mark(M))) 3.29/1.68 mark(and(X1, X2)) -> a__and(mark(X1), X2) 3.29/1.68 mark(plus(X1, X2)) -> a__plus(mark(X1), mark(X2)) 3.29/1.68 mark(tt) -> tt 3.29/1.68 mark(0) -> 0 3.29/1.68 mark(s(X)) -> s(mark(X)) 3.29/1.68 a__and(X1, X2) -> and(X1, X2) 3.29/1.68 a__plus(X1, X2) -> plus(X1, X2) 3.29/1.68 3.29/1.68 The set Q consists of the following terms: 3.29/1.68 3.29/1.68 mark(and(x0, x1)) 3.29/1.68 mark(plus(x0, x1)) 3.29/1.68 mark(tt) 3.29/1.68 mark(0) 3.29/1.68 mark(s(x0)) 3.29/1.68 a__and(x0, x1) 3.29/1.68 a__plus(x0, x1) 3.29/1.68 3.29/1.68 3.29/1.68 ---------------------------------------- 3.29/1.68 3.29/1.68 (1) QTRSRRRProof (EQUIVALENT) 3.29/1.68 Used ordering: 3.29/1.68 Knuth-Bendix order [KBO] with precedence:mark_1 > a__and_2 > and_2 > a__plus_2 > plus_2 > s_1 > 0 > tt 3.29/1.68 3.29/1.68 and weight map: 3.29/1.68 3.29/1.68 tt=1 3.29/1.68 0=1 3.29/1.68 mark_1=0 3.29/1.68 s_1=1 3.29/1.68 a__and_2=0 3.29/1.68 a__plus_2=0 3.29/1.68 and_2=0 3.29/1.68 plus_2=0 3.29/1.68 3.29/1.68 The variable weight is 1With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 3.29/1.68 3.29/1.68 a__and(tt, X) -> mark(X) 3.29/1.68 a__plus(N, 0) -> mark(N) 3.29/1.68 a__plus(N, s(M)) -> s(a__plus(mark(N), mark(M))) 3.29/1.68 mark(and(X1, X2)) -> a__and(mark(X1), X2) 3.29/1.68 mark(plus(X1, X2)) -> a__plus(mark(X1), mark(X2)) 3.29/1.68 mark(tt) -> tt 3.29/1.68 mark(0) -> 0 3.29/1.68 mark(s(X)) -> s(mark(X)) 3.29/1.68 a__and(X1, X2) -> and(X1, X2) 3.29/1.68 a__plus(X1, X2) -> plus(X1, X2) 3.29/1.68 3.29/1.68 3.29/1.68 3.29/1.68 3.29/1.68 ---------------------------------------- 3.29/1.68 3.29/1.68 (2) 3.29/1.68 Obligation: 3.29/1.68 Q restricted rewrite system: 3.29/1.68 R is empty. 3.29/1.68 The set Q consists of the following terms: 3.29/1.68 3.29/1.68 mark(and(x0, x1)) 3.29/1.68 mark(plus(x0, x1)) 3.29/1.68 mark(tt) 3.29/1.68 mark(0) 3.29/1.68 mark(s(x0)) 3.29/1.68 a__and(x0, x1) 3.29/1.68 a__plus(x0, x1) 3.29/1.68 3.29/1.68 3.29/1.68 ---------------------------------------- 3.29/1.68 3.29/1.68 (3) RisEmptyProof (EQUIVALENT) 3.29/1.68 The TRS R is empty. Hence, termination is trivially proven. 3.29/1.68 ---------------------------------------- 3.29/1.68 3.29/1.68 (4) 3.29/1.68 YES 3.49/1.71 EOF