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