3.37/1.66 YES 3.37/1.67 proof of /export/starexec/sandbox/benchmark/theBenchmark.xml 3.37/1.67 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 3.37/1.67 3.37/1.67 3.37/1.67 Termination w.r.t. Q of the given QTRS could be proven: 3.37/1.67 3.37/1.67 (0) QTRS 3.37/1.67 (1) QTRSRRRProof [EQUIVALENT, 25 ms] 3.37/1.67 (2) QTRS 3.37/1.67 (3) RisEmptyProof [EQUIVALENT, 0 ms] 3.37/1.67 (4) YES 3.37/1.67 3.37/1.67 3.37/1.67 ---------------------------------------- 3.37/1.67 3.37/1.67 (0) 3.37/1.67 Obligation: 3.37/1.67 Q restricted rewrite system: 3.37/1.67 The TRS R consists of the following rules: 3.37/1.67 3.37/1.67 a__U11(tt, M, N) -> a__U12(tt, M, N) 3.37/1.67 a__U12(tt, M, N) -> s(a__plus(mark(N), mark(M))) 3.37/1.67 a__plus(N, 0) -> mark(N) 3.37/1.67 a__plus(N, s(M)) -> a__U11(tt, M, N) 3.37/1.67 mark(U11(X1, X2, X3)) -> a__U11(mark(X1), X2, X3) 3.37/1.67 mark(U12(X1, X2, X3)) -> a__U12(mark(X1), X2, X3) 3.37/1.67 mark(plus(X1, X2)) -> a__plus(mark(X1), mark(X2)) 3.37/1.67 mark(tt) -> tt 3.37/1.67 mark(s(X)) -> s(mark(X)) 3.37/1.67 mark(0) -> 0 3.37/1.67 a__U11(X1, X2, X3) -> U11(X1, X2, X3) 3.37/1.67 a__U12(X1, X2, X3) -> U12(X1, X2, X3) 3.37/1.67 a__plus(X1, X2) -> plus(X1, X2) 3.37/1.67 3.37/1.67 The set Q consists of the following terms: 3.37/1.67 3.37/1.67 mark(U11(x0, x1, x2)) 3.37/1.67 mark(U12(x0, x1, x2)) 3.37/1.67 mark(plus(x0, x1)) 3.37/1.67 mark(tt) 3.37/1.67 mark(s(x0)) 3.37/1.67 mark(0) 3.37/1.67 a__U11(x0, x1, x2) 3.37/1.67 a__U12(x0, x1, x2) 3.37/1.67 a__plus(x0, x1) 3.37/1.67 3.37/1.67 3.37/1.67 ---------------------------------------- 3.37/1.67 3.37/1.67 (1) QTRSRRRProof (EQUIVALENT) 3.37/1.67 Used ordering: 3.37/1.67 Knuth-Bendix order [KBO] with precedence:mark_1 > a__plus_2 > plus_2 > tt > a__U11_3 > a__U12_3 > U12_3 > U11_3 > s_1 > 0 3.37/1.67 3.37/1.67 and weight map: 3.37/1.67 3.37/1.67 tt=2 3.37/1.67 0=1 3.37/1.67 s_1=2 3.37/1.67 mark_1=0 3.37/1.67 a__U11_3=0 3.37/1.67 a__U12_3=0 3.37/1.67 a__plus_2=0 3.37/1.67 U11_3=0 3.37/1.67 U12_3=0 3.37/1.67 plus_2=0 3.37/1.67 3.37/1.67 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.37/1.67 3.37/1.67 a__U11(tt, M, N) -> a__U12(tt, M, N) 3.37/1.67 a__U12(tt, M, N) -> s(a__plus(mark(N), mark(M))) 3.37/1.67 a__plus(N, 0) -> mark(N) 3.37/1.67 a__plus(N, s(M)) -> a__U11(tt, M, N) 3.37/1.67 mark(U11(X1, X2, X3)) -> a__U11(mark(X1), X2, X3) 3.37/1.67 mark(U12(X1, X2, X3)) -> a__U12(mark(X1), X2, X3) 3.37/1.67 mark(plus(X1, X2)) -> a__plus(mark(X1), mark(X2)) 3.37/1.67 mark(tt) -> tt 3.37/1.67 mark(s(X)) -> s(mark(X)) 3.37/1.67 mark(0) -> 0 3.37/1.67 a__U11(X1, X2, X3) -> U11(X1, X2, X3) 3.37/1.67 a__U12(X1, X2, X3) -> U12(X1, X2, X3) 3.37/1.67 a__plus(X1, X2) -> plus(X1, X2) 3.37/1.67 3.37/1.67 3.37/1.67 3.37/1.67 3.37/1.67 ---------------------------------------- 3.37/1.67 3.37/1.67 (2) 3.37/1.67 Obligation: 3.37/1.67 Q restricted rewrite system: 3.37/1.67 R is empty. 3.37/1.67 The set Q consists of the following terms: 3.37/1.67 3.37/1.67 mark(U11(x0, x1, x2)) 3.37/1.67 mark(U12(x0, x1, x2)) 3.37/1.67 mark(plus(x0, x1)) 3.37/1.67 mark(tt) 3.37/1.67 mark(s(x0)) 3.37/1.67 mark(0) 3.37/1.67 a__U11(x0, x1, x2) 3.37/1.67 a__U12(x0, x1, x2) 3.37/1.67 a__plus(x0, x1) 3.37/1.67 3.37/1.67 3.37/1.67 ---------------------------------------- 3.37/1.67 3.37/1.67 (3) RisEmptyProof (EQUIVALENT) 3.37/1.67 The TRS R is empty. Hence, termination is trivially proven. 3.37/1.67 ---------------------------------------- 3.37/1.67 3.37/1.67 (4) 3.37/1.67 YES 3.56/1.71 EOF