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