/export/starexec/sandbox/solver/bin/starexec_run_standard /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox/benchmark/theBenchmark.xml # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty Termination w.r.t. Q of the given QTRS could be proven: (0) QTRS (1) QTRSRRRProof [EQUIVALENT, 250 ms] (2) QTRS (3) QTRSRRRProof [EQUIVALENT, 0 ms] (4) QTRS (5) RisEmptyProof [EQUIVALENT, 3 ms] (6) YES ---------------------------------------- (0) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: a__U11(tt, M, N) -> a__U12(tt, M, N) a__U12(tt, M, N) -> s(a__plus(mark(N), mark(M))) a__U21(tt, M, N) -> a__U22(tt, M, N) a__U22(tt, M, N) -> a__plus(a__x(mark(N), mark(M)), mark(N)) a__plus(N, 0) -> mark(N) a__plus(N, s(M)) -> a__U11(tt, M, N) a__x(N, 0) -> 0 a__x(N, s(M)) -> a__U21(tt, M, N) mark(U11(X1, X2, X3)) -> a__U11(mark(X1), X2, X3) mark(U12(X1, X2, X3)) -> a__U12(mark(X1), X2, X3) mark(plus(X1, X2)) -> a__plus(mark(X1), mark(X2)) mark(U21(X1, X2, X3)) -> a__U21(mark(X1), X2, X3) mark(U22(X1, X2, X3)) -> a__U22(mark(X1), X2, X3) mark(x(X1, X2)) -> a__x(mark(X1), mark(X2)) mark(tt) -> tt mark(s(X)) -> s(mark(X)) mark(0) -> 0 a__U11(X1, X2, X3) -> U11(X1, X2, X3) a__U12(X1, X2, X3) -> U12(X1, X2, X3) a__plus(X1, X2) -> plus(X1, X2) a__U21(X1, X2, X3) -> U21(X1, X2, X3) a__U22(X1, X2, X3) -> U22(X1, X2, X3) a__x(X1, X2) -> x(X1, X2) Q is empty. ---------------------------------------- (1) QTRSRRRProof (EQUIVALENT) Used ordering: a__U11/3(YES,YES,YES) tt/0) a__U12/3(YES,YES,YES) s/1(YES) a__plus/2(YES,YES) mark/1)YES( a__U21/3(YES,YES,YES) a__U22/3(YES,YES,YES) a__x/2(YES,YES) 0/0) U11/3(YES,YES,YES) U12/3(YES,YES,YES) plus/2(YES,YES) U21/3(YES,YES,YES) U22/3(YES,YES,YES) x/2(YES,YES) Quasi precedence: [a__U21_3, a__U22_3, a__x_2, U21_3, U22_3, x_2] > [a__U11_3, a__U12_3, a__plus_2, U11_3, U12_3, plus_2] > [tt, s_1] 0 > [tt, s_1] Status: a__U11_3: multiset status tt: multiset status a__U12_3: multiset status s_1: multiset status a__plus_2: multiset status a__U21_3: [3,2,1] a__U22_3: [3,2,1] a__x_2: [1,2] 0: multiset status U11_3: multiset status U12_3: multiset status plus_2: multiset status U21_3: [3,2,1] U22_3: [3,2,1] x_2: [1,2] With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: a__U12(tt, M, N) -> s(a__plus(mark(N), mark(M))) a__U22(tt, M, N) -> a__plus(a__x(mark(N), mark(M)), mark(N)) a__plus(N, 0) -> mark(N) a__plus(N, s(M)) -> a__U11(tt, M, N) a__x(N, 0) -> 0 a__x(N, s(M)) -> a__U21(tt, M, N) ---------------------------------------- (2) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: a__U11(tt, M, N) -> a__U12(tt, M, N) a__U21(tt, M, N) -> a__U22(tt, M, N) mark(U11(X1, X2, X3)) -> a__U11(mark(X1), X2, X3) mark(U12(X1, X2, X3)) -> a__U12(mark(X1), X2, X3) mark(plus(X1, X2)) -> a__plus(mark(X1), mark(X2)) mark(U21(X1, X2, X3)) -> a__U21(mark(X1), X2, X3) mark(U22(X1, X2, X3)) -> a__U22(mark(X1), X2, X3) mark(x(X1, X2)) -> a__x(mark(X1), mark(X2)) mark(tt) -> tt mark(s(X)) -> s(mark(X)) mark(0) -> 0 a__U11(X1, X2, X3) -> U11(X1, X2, X3) a__U12(X1, X2, X3) -> U12(X1, X2, X3) a__plus(X1, X2) -> plus(X1, X2) a__U21(X1, X2, X3) -> U21(X1, X2, X3) a__U22(X1, X2, X3) -> U22(X1, X2, X3) a__x(X1, X2) -> x(X1, X2) Q is empty. ---------------------------------------- (3) QTRSRRRProof (EQUIVALENT) Used ordering: Knuth-Bendix order [KBO] with precedence:mark_1 > 0 > a__U22_3 > U22_3 > a__U11_3 > a__U12_3 > U12_3 > a__x_2 > s_1 > x_2 > a__plus_2 > plus_2 > a__U21_3 > U21_3 > tt > U11_3 and weight map: tt=1 0=1 mark_1=0 s_1=1 a__U11_3=0 a__U12_3=0 a__U21_3=1 a__U22_3=0 U11_3=0 U12_3=0 plus_2=0 a__plus_2=0 U21_3=1 U22_3=0 x_2=0 a__x_2=0 The variable weight is 1With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: a__U11(tt, M, N) -> a__U12(tt, M, N) a__U21(tt, M, N) -> a__U22(tt, M, N) mark(U11(X1, X2, X3)) -> a__U11(mark(X1), X2, X3) mark(U12(X1, X2, X3)) -> a__U12(mark(X1), X2, X3) mark(plus(X1, X2)) -> a__plus(mark(X1), mark(X2)) mark(U21(X1, X2, X3)) -> a__U21(mark(X1), X2, X3) mark(U22(X1, X2, X3)) -> a__U22(mark(X1), X2, X3) mark(x(X1, X2)) -> a__x(mark(X1), mark(X2)) mark(tt) -> tt mark(s(X)) -> s(mark(X)) mark(0) -> 0 a__U11(X1, X2, X3) -> U11(X1, X2, X3) a__U12(X1, X2, X3) -> U12(X1, X2, X3) a__plus(X1, X2) -> plus(X1, X2) a__U21(X1, X2, X3) -> U21(X1, X2, X3) a__U22(X1, X2, X3) -> U22(X1, X2, X3) a__x(X1, X2) -> x(X1, X2) ---------------------------------------- (4) Obligation: Q restricted rewrite system: R is empty. Q is empty. ---------------------------------------- (5) RisEmptyProof (EQUIVALENT) The TRS R is empty. Hence, termination is trivially proven. ---------------------------------------- (6) YES