7.96/2.86 YES 7.96/2.87 proof of /export/starexec/sandbox2/benchmark/theBenchmark.xml 7.96/2.87 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 7.96/2.87 7.96/2.87 7.96/2.87 Termination of the given RelTRS could be proven: 7.96/2.87 7.96/2.87 (0) RelTRS 7.96/2.87 (1) RelTRSRRRProof [EQUIVALENT, 61 ms] 7.96/2.87 (2) RelTRS 7.96/2.87 (3) RelTRSRRRProof [EQUIVALENT, 20 ms] 7.96/2.87 (4) RelTRS 7.96/2.87 (5) RelTRSRRRProof [EQUIVALENT, 19 ms] 7.96/2.87 (6) RelTRS 7.96/2.87 (7) RelTRSRRRProof [EQUIVALENT, 12 ms] 7.96/2.87 (8) RelTRS 7.96/2.87 (9) RIsEmptyProof [EQUIVALENT, 0 ms] 7.96/2.87 (10) YES 7.96/2.87 7.96/2.87 7.96/2.87 ---------------------------------------- 7.96/2.87 7.96/2.87 (0) 7.96/2.87 Obligation: 7.96/2.87 Relative term rewrite system: 7.96/2.87 The relative TRS consists of the following R rules: 7.96/2.87 7.96/2.87 f(g(x)) -> g(f(f(x))) 7.96/2.87 f(h(x)) -> h(g(x)) 7.96/2.87 f'(s(x), y, y) -> f'(y, x, s(x)) 7.96/2.87 7.96/2.87 The relative TRS consists of the following S rules: 7.96/2.87 7.96/2.87 rand(x) -> x 7.96/2.87 rand(x) -> rand(s(x)) 7.96/2.87 7.96/2.87 7.96/2.87 ---------------------------------------- 7.96/2.87 7.96/2.87 (1) RelTRSRRRProof (EQUIVALENT) 7.96/2.87 We used the following monotonic ordering for rule removal: 7.96/2.87 Matrix interpretation [MATRO] to (N^2, +, *, >=, >) : 7.96/2.87 7.96/2.87 <<< 7.96/2.87 POL(f(x_1)) = [[0], [2]] + [[1, 0], [0, 0]] * x_1 7.96/2.87 >>> 7.96/2.87 7.96/2.87 <<< 7.96/2.87 POL(g(x_1)) = [[0], [0]] + [[1, 0], [0, 0]] * x_1 7.96/2.87 >>> 7.96/2.87 7.96/2.87 <<< 7.96/2.87 POL(h(x_1)) = [[0], [0]] + [[2, 0], [0, 0]] * x_1 7.96/2.87 >>> 7.96/2.87 7.96/2.87 <<< 7.96/2.87 POL(f'(x_1, x_2, x_3)) = [[0], [0]] + [[3, 0], [0, 0]] * x_1 + [[2, 0], [0, 0]] * x_2 + [[1, 0], [0, 0]] * x_3 7.96/2.87 >>> 7.96/2.87 7.96/2.87 <<< 7.96/2.87 POL(s(x_1)) = [[0], [0]] + [[1, 0], [0, 0]] * x_1 7.96/2.87 >>> 7.96/2.87 7.96/2.87 <<< 7.96/2.87 POL(rand(x_1)) = [[3], [3]] + [[1, 0], [0, 1]] * x_1 7.96/2.87 >>> 7.96/2.87 7.96/2.87 With this ordering the following rules can be removed [MATRO] because they are oriented strictly: 7.96/2.87 Rules from R: 7.96/2.87 none 7.96/2.87 Rules from S: 7.96/2.87 7.96/2.87 rand(x) -> x 7.96/2.87 7.96/2.87 7.96/2.87 7.96/2.87 7.96/2.87 ---------------------------------------- 7.96/2.87 7.96/2.87 (2) 7.96/2.87 Obligation: 7.96/2.87 Relative term rewrite system: 7.96/2.87 The relative TRS consists of the following R rules: 7.96/2.87 7.96/2.87 f(g(x)) -> g(f(f(x))) 7.96/2.87 f(h(x)) -> h(g(x)) 7.96/2.87 f'(s(x), y, y) -> f'(y, x, s(x)) 7.96/2.87 7.96/2.87 The relative TRS consists of the following S rules: 7.96/2.87 7.96/2.87 rand(x) -> rand(s(x)) 7.96/2.87 7.96/2.87 7.96/2.87 ---------------------------------------- 7.96/2.87 7.96/2.87 (3) RelTRSRRRProof (EQUIVALENT) 7.96/2.87 We used the following monotonic ordering for rule removal: 7.96/2.87 Matrix interpretation [MATRO] to (N^2, +, *, >=, >) : 7.96/2.87 7.96/2.87 <<< 7.96/2.87 POL(f(x_1)) = [[0], [0]] + [[1, 0], [0, 0]] * x_1 7.96/2.87 >>> 7.96/2.87 7.96/2.87 <<< 7.96/2.87 POL(g(x_1)) = [[0], [0]] + [[1, 0], [0, 0]] * x_1 7.96/2.87 >>> 7.96/2.87 7.96/2.87 <<< 7.96/2.87 POL(h(x_1)) = [[0], [0]] + [[1, 0], [0, 0]] * x_1 7.96/2.87 >>> 7.96/2.87 7.96/2.87 <<< 7.96/2.87 POL(f'(x_1, x_2, x_3)) = [[1], [1]] + [[1, 1], [1, 0]] * x_1 + [[1, 1], [0, 0]] * x_2 + [[1, 0], [1, 0]] * x_3 7.96/2.87 >>> 7.96/2.87 7.96/2.87 <<< 7.96/2.87 POL(s(x_1)) = [[0], [1]] + [[1, 0], [1, 1]] * x_1 7.96/2.87 >>> 7.96/2.87 7.96/2.87 <<< 7.96/2.87 POL(rand(x_1)) = [[1], [1]] + [[1, 0], [1, 0]] * x_1 7.96/2.87 >>> 7.96/2.87 7.96/2.87 With this ordering the following rules can be removed [MATRO] because they are oriented strictly: 7.96/2.87 Rules from R: 7.96/2.87 7.96/2.87 f'(s(x), y, y) -> f'(y, x, s(x)) 7.96/2.87 Rules from S: 7.96/2.87 none 7.96/2.87 7.96/2.87 7.96/2.87 7.96/2.87 7.96/2.87 ---------------------------------------- 7.96/2.87 7.96/2.87 (4) 7.96/2.87 Obligation: 7.96/2.87 Relative term rewrite system: 7.96/2.87 The relative TRS consists of the following R rules: 7.96/2.87 7.96/2.87 f(g(x)) -> g(f(f(x))) 7.96/2.87 f(h(x)) -> h(g(x)) 7.96/2.87 7.96/2.87 The relative TRS consists of the following S rules: 7.96/2.87 7.96/2.87 rand(x) -> rand(s(x)) 7.96/2.87 7.96/2.87 7.96/2.87 ---------------------------------------- 7.96/2.87 7.96/2.87 (5) RelTRSRRRProof (EQUIVALENT) 7.96/2.87 We used the following monotonic ordering for rule removal: 7.96/2.87 Matrix interpretation [MATRO] to (N^2, +, *, >=, >) : 7.96/2.87 7.96/2.87 <<< 7.96/2.87 POL(f(x_1)) = [[0], [0]] + [[1, 1], [0, 1]] * x_1 7.96/2.87 >>> 7.96/2.87 7.96/2.87 <<< 7.96/2.87 POL(g(x_1)) = [[0], [0]] + [[1, 0], [0, 2]] * x_1 7.96/2.87 >>> 7.96/2.87 7.96/2.87 <<< 7.96/2.87 POL(h(x_1)) = [[0], [1]] + [[1, 0], [0, 0]] * x_1 7.96/2.87 >>> 7.96/2.87 7.96/2.87 <<< 7.96/2.87 POL(rand(x_1)) = [[3], [3]] + [[3, 3], [3, 3]] * x_1 7.96/2.87 >>> 7.96/2.87 7.96/2.87 <<< 7.96/2.87 POL(s(x_1)) = [[0], [0]] + [[1, 1], [0, 0]] * x_1 7.96/2.87 >>> 7.96/2.87 7.96/2.87 With this ordering the following rules can be removed [MATRO] because they are oriented strictly: 7.96/2.87 Rules from R: 7.96/2.87 7.96/2.87 f(h(x)) -> h(g(x)) 7.96/2.87 Rules from S: 7.96/2.87 none 7.96/2.87 7.96/2.87 7.96/2.87 7.96/2.87 7.96/2.87 ---------------------------------------- 7.96/2.87 7.96/2.87 (6) 7.96/2.87 Obligation: 7.96/2.87 Relative term rewrite system: 7.96/2.87 The relative TRS consists of the following R rules: 7.96/2.87 7.96/2.87 f(g(x)) -> g(f(f(x))) 7.96/2.87 7.96/2.87 The relative TRS consists of the following S rules: 7.96/2.87 7.96/2.87 rand(x) -> rand(s(x)) 7.96/2.87 7.96/2.87 7.96/2.87 ---------------------------------------- 7.96/2.87 7.96/2.87 (7) RelTRSRRRProof (EQUIVALENT) 7.96/2.87 We used the following monotonic ordering for rule removal: 7.96/2.87 Matrix interpretation [MATRO] to (N^2, +, *, >=, >) : 7.96/2.87 7.96/2.87 <<< 7.96/2.87 POL(f(x_1)) = [[0], [0]] + [[1, 1], [0, 1]] * x_1 7.96/2.87 >>> 7.96/2.87 7.96/2.87 <<< 7.96/2.87 POL(g(x_1)) = [[0], [1]] + [[1, 0], [0, 2]] * x_1 7.96/2.87 >>> 7.96/2.87 7.96/2.87 <<< 7.96/2.87 POL(rand(x_1)) = [[3], [3]] + [[3, 3], [3, 3]] * x_1 7.96/2.87 >>> 7.96/2.87 7.96/2.87 <<< 7.96/2.87 POL(s(x_1)) = [[0], [0]] + [[1, 1], [0, 0]] * x_1 7.96/2.87 >>> 7.96/2.87 7.96/2.87 With this ordering the following rules can be removed [MATRO] because they are oriented strictly: 7.96/2.87 Rules from R: 7.96/2.87 7.96/2.87 f(g(x)) -> g(f(f(x))) 7.96/2.87 Rules from S: 7.96/2.87 none 7.96/2.87 7.96/2.87 7.96/2.87 7.96/2.87 7.96/2.87 ---------------------------------------- 7.96/2.87 7.96/2.87 (8) 7.96/2.87 Obligation: 7.96/2.87 Relative term rewrite system: 7.96/2.87 R is empty. 7.96/2.87 The relative TRS consists of the following S rules: 7.96/2.87 7.96/2.87 rand(x) -> rand(s(x)) 7.96/2.87 7.96/2.87 7.96/2.87 ---------------------------------------- 7.96/2.87 7.96/2.87 (9) RIsEmptyProof (EQUIVALENT) 7.96/2.87 The TRS R is empty. Hence, termination is trivially proven. 7.96/2.87 ---------------------------------------- 7.96/2.87 7.96/2.87 (10) 7.96/2.87 YES 8.19/3.00 EOF