Platform claims not to support CPU time, falling back to wall time. Cannot find out cpu time on external processes, falling back to wall time! proof of /home/fs5/ayamada/tpdb/relative/Relative_05/rtL-me3.trs # AProVE Commit ID: 2b684c7cda508b1711f707cb42f127e64fe1df88 ffrohn 20140415 dirty Termination of the given RelTRS could be proven: (0) RelTRS (1) RelTRS S Cleaner [EQUIVALENT, 0 ms] (2) RelTRS (3) RelTRSRRRProof [EQUIVALENT, 338 ms] (4) RelTRS (5) RelTRSRRRProof [EQUIVALENT, 315 ms] (6) RelTRS (7) RelTRSRRRProof [EQUIVALENT, 462 ms] (8) RelTRS (9) RIsEmptyProof [EQUIVALENT, 0 ms] (10) YES ---------------------------------------- (0) Obligation: Relative term rewrite system: The relative TRS consists of the following R rules: topB(i, N1(x), y) -> topA(1, T1(x), y) topA(i, x, N2(y)) -> topB(0, x, T2(y)) topB(i, S1(x), y) -> topA(i, N1(x), y) topA(i, x, S2(y)) -> topB(i, x, N2(y)) topA(i, N1(x), T2(y)) -> topB(i, N1(x), S2(y)) topA(1, T1(x), T2(y)) -> topB(1, T1(x), S2(y)) The relative TRS consists of the following S rules: topA(i, N1(x), y) -> topA(1, T1(x), y) topB(i, x, N2(y)) -> topB(0, x, T2(y)) topA(i, S1(x), y) -> topA(i, N1(x), y) topB(i, x, S2(y)) -> topB(i, x, N2(y)) topB(i, N1(x), T2(y)) -> topB(i, N1(x), S2(y)) topB(1, T1(x), T2(y)) -> topB(1, T1(x), S2(y)) topA(i, N1(x), y) -> topA(i, N1(C(x)), y) topB(i, x, N2(y)) -> topB(i, x, N2(C(y))) topA(i, T1(x), y) -> topA(i, T1(x), y) topB(i, x, T2(y)) -> topB(i, x, T2(y)) topB(i, x, S2(y)) -> topB(i, x, S2(D(y))) ---------------------------------------- (1) RelTRS S Cleaner (EQUIVALENT) We have deleted all rules from S that have the shape t -> t: topA(i, T1(x), y) -> topA(i, T1(x), y) topB(i, x, T2(y)) -> topB(i, x, T2(y)) ---------------------------------------- (2) Obligation: Relative term rewrite system: The relative TRS consists of the following R rules: topB(i, N1(x), y) -> topA(1, T1(x), y) topA(i, x, N2(y)) -> topB(0, x, T2(y)) topB(i, S1(x), y) -> topA(i, N1(x), y) topA(i, x, S2(y)) -> topB(i, x, N2(y)) topA(i, N1(x), T2(y)) -> topB(i, N1(x), S2(y)) topA(1, T1(x), T2(y)) -> topB(1, T1(x), S2(y)) The relative TRS consists of the following S rules: topA(i, N1(x), y) -> topA(1, T1(x), y) topB(i, x, N2(y)) -> topB(0, x, T2(y)) topA(i, S1(x), y) -> topA(i, N1(x), y) topB(i, x, S2(y)) -> topB(i, x, N2(y)) topB(i, N1(x), T2(y)) -> topB(i, N1(x), S2(y)) topB(1, T1(x), T2(y)) -> topB(1, T1(x), S2(y)) topA(i, N1(x), y) -> topA(i, N1(C(x)), y) topB(i, x, N2(y)) -> topB(i, x, N2(C(y))) topB(i, x, S2(y)) -> topB(i, x, S2(D(y))) ---------------------------------------- (3) RelTRSRRRProof (EQUIVALENT) We used the following monotonic ordering for rule removal: Polynomial interpretation [POLO]: POL(0) = 0 POL(1) = 0 POL(C(x_1)) = x_1 POL(D(x_1)) = x_1 POL(N1(x_1)) = 1 + x_1 POL(N2(x_1)) = x_1 POL(S1(x_1)) = 1 + x_1 POL(S2(x_1)) = x_1 POL(T1(x_1)) = x_1 POL(T2(x_1)) = x_1 POL(topA(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(topB(x_1, x_2, x_3)) = x_1 + x_2 + x_3 With this ordering the following rules can be removed [MATRO] because they are oriented strictly: Rules from R: topB(i, N1(x), y) -> topA(1, T1(x), y) Rules from S: topA(i, N1(x), y) -> topA(1, T1(x), y) ---------------------------------------- (4) Obligation: Relative term rewrite system: The relative TRS consists of the following R rules: topA(i, x, N2(y)) -> topB(0, x, T2(y)) topB(i, S1(x), y) -> topA(i, N1(x), y) topA(i, x, S2(y)) -> topB(i, x, N2(y)) topA(i, N1(x), T2(y)) -> topB(i, N1(x), S2(y)) topA(1, T1(x), T2(y)) -> topB(1, T1(x), S2(y)) The relative TRS consists of the following S rules: topB(i, x, N2(y)) -> topB(0, x, T2(y)) topA(i, S1(x), y) -> topA(i, N1(x), y) topB(i, x, S2(y)) -> topB(i, x, N2(y)) topB(i, N1(x), T2(y)) -> topB(i, N1(x), S2(y)) topB(1, T1(x), T2(y)) -> topB(1, T1(x), S2(y)) topA(i, N1(x), y) -> topA(i, N1(C(x)), y) topB(i, x, N2(y)) -> topB(i, x, N2(C(y))) topB(i, x, S2(y)) -> topB(i, x, S2(D(y))) ---------------------------------------- (5) RelTRSRRRProof (EQUIVALENT) We used the following monotonic ordering for rule removal: Matrix interpretation [MATRO] to (N^2, +, *, >=, >) : <<< POL(topA(x_1, x_2, x_3)) = [[0], [0]] + [[1, 1], [1, 1]] * x_1 + [[1, 1], [0, 0]] * x_2 + [[1, 0], [0, 0]] * x_3 >>> <<< POL(N2(x_1)) = [[0], [0]] + [[1, 0], [0, 0]] * x_1 >>> <<< POL(topB(x_1, x_2, x_3)) = [[0], [0]] + [[1, 1], [1, 1]] * x_1 + [[1, 0], [0, 0]] * x_2 + [[1, 0], [0, 0]] * x_3 >>> <<< POL(0) = [[0], [0]] >>> <<< POL(T2(x_1)) = [[0], [0]] + [[1, 0], [0, 0]] * x_1 >>> <<< POL(S1(x_1)) = [[1], [1]] + [[1, 1], [1, 1]] * x_1 >>> <<< POL(N1(x_1)) = [[0], [0]] + [[1, 0], [0, 0]] * x_1 >>> <<< POL(S2(x_1)) = [[0], [0]] + [[1, 0], [0, 0]] * x_1 >>> <<< POL(1) = [[0], [0]] >>> <<< POL(T1(x_1)) = [[0], [0]] + [[1, 1], [1, 1]] * x_1 >>> <<< POL(C(x_1)) = [[0], [0]] + [[1, 0], [0, 1]] * x_1 >>> <<< POL(D(x_1)) = [[0], [1]] + [[1, 0], [1, 1]] * x_1 >>> With this ordering the following rules can be removed [MATRO] because they are oriented strictly: Rules from R: topB(i, S1(x), y) -> topA(i, N1(x), y) Rules from S: topA(i, S1(x), y) -> topA(i, N1(x), y) ---------------------------------------- (6) Obligation: Relative term rewrite system: The relative TRS consists of the following R rules: topA(i, x, N2(y)) -> topB(0, x, T2(y)) topA(i, x, S2(y)) -> topB(i, x, N2(y)) topA(i, N1(x), T2(y)) -> topB(i, N1(x), S2(y)) topA(1, T1(x), T2(y)) -> topB(1, T1(x), S2(y)) The relative TRS consists of the following S rules: topB(i, x, N2(y)) -> topB(0, x, T2(y)) topB(i, x, S2(y)) -> topB(i, x, N2(y)) topB(i, N1(x), T2(y)) -> topB(i, N1(x), S2(y)) topB(1, T1(x), T2(y)) -> topB(1, T1(x), S2(y)) topA(i, N1(x), y) -> topA(i, N1(C(x)), y) topB(i, x, N2(y)) -> topB(i, x, N2(C(y))) topB(i, x, S2(y)) -> topB(i, x, S2(D(y))) ---------------------------------------- (7) RelTRSRRRProof (EQUIVALENT) We used the following monotonic ordering for rule removal: Polynomial interpretation [POLO]: POL(0) = 0 POL(1) = 0 POL(C(x_1)) = x_1 POL(D(x_1)) = x_1 POL(N1(x_1)) = x_1 POL(N2(x_1)) = x_1 POL(S2(x_1)) = x_1 POL(T1(x_1)) = x_1 POL(T2(x_1)) = x_1 POL(topA(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 POL(topB(x_1, x_2, x_3)) = x_1 + x_2 + x_3 With this ordering the following rules can be removed [MATRO] because they are oriented strictly: Rules from R: topA(i, x, N2(y)) -> topB(0, x, T2(y)) topA(i, x, S2(y)) -> topB(i, x, N2(y)) topA(i, N1(x), T2(y)) -> topB(i, N1(x), S2(y)) topA(1, T1(x), T2(y)) -> topB(1, T1(x), S2(y)) Rules from S: none ---------------------------------------- (8) Obligation: Relative term rewrite system: R is empty. The relative TRS consists of the following S rules: topB(i, x, N2(y)) -> topB(0, x, T2(y)) topB(i, x, S2(y)) -> topB(i, x, N2(y)) topB(i, N1(x), T2(y)) -> topB(i, N1(x), S2(y)) topB(1, T1(x), T2(y)) -> topB(1, T1(x), S2(y)) topA(i, N1(x), y) -> topA(i, N1(C(x)), y) topB(i, x, N2(y)) -> topB(i, x, N2(C(y))) topB(i, x, S2(y)) -> topB(i, x, S2(D(y))) ---------------------------------------- (9) RIsEmptyProof (EQUIVALENT) The TRS R is empty. Hence, termination is trivially proven. ---------------------------------------- (10) YES