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