7.90/2.87 YES 7.90/2.88 proof of /export/starexec/sandbox/benchmark/theBenchmark.xml 7.90/2.88 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 7.90/2.88 7.90/2.88 7.90/2.88 Termination of the given RelTRS could be proven: 7.90/2.88 7.90/2.88 (0) RelTRS 7.90/2.88 (1) RelTRSRRRProof [EQUIVALENT, 32 ms] 7.90/2.88 (2) RelTRS 7.90/2.88 (3) RelTRSRRRProof [EQUIVALENT, 0 ms] 7.90/2.88 (4) RelTRS 7.90/2.88 (5) RelTRSRRRProof [EQUIVALENT, 52 ms] 7.90/2.88 (6) RelTRS 7.90/2.88 (7) RelTRSRRRProof [EQUIVALENT, 21 ms] 7.90/2.88 (8) RelTRS 7.90/2.88 (9) RelTRSRRRProof [EQUIVALENT, 24 ms] 7.90/2.88 (10) RelTRS 7.90/2.88 (11) RelTRSRRRProof [EQUIVALENT, 12 ms] 7.90/2.88 (12) RelTRS 7.90/2.88 (13) RIsEmptyProof [EQUIVALENT, 2 ms] 7.90/2.88 (14) YES 7.90/2.88 7.90/2.88 7.90/2.88 ---------------------------------------- 7.90/2.88 7.90/2.88 (0) 7.90/2.88 Obligation: 7.90/2.88 Relative term rewrite system: 7.90/2.88 The relative TRS consists of the following R rules: 7.90/2.88 7.90/2.88 app(nil, k) -> k 7.90/2.88 app(l, nil) -> l 7.90/2.88 app(cons(x, l), k) -> cons(x, app(l, k)) 7.90/2.88 sum(cons(x, nil)) -> cons(x, nil) 7.90/2.88 sum(cons(x, cons(y, l))) -> sum(cons(plus(x, y), l)) 7.90/2.88 sum(app(l, cons(x, cons(y, k)))) -> sum(app(l, sum(cons(x, cons(y, k))))) 7.90/2.88 plus(0, y) -> y 7.90/2.88 plus(s(x), y) -> s(plus(x, y)) 7.90/2.88 7.90/2.88 The relative TRS consists of the following S rules: 7.90/2.88 7.90/2.88 cons(x, cons(y, l)) -> cons(y, cons(x, l)) 7.90/2.88 7.90/2.88 7.90/2.88 ---------------------------------------- 7.90/2.88 7.90/2.88 (1) RelTRSRRRProof (EQUIVALENT) 7.90/2.88 We used the following monotonic ordering for rule removal: 7.90/2.88 Polynomial interpretation [POLO]: 7.90/2.88 7.90/2.88 POL(0) = 0 7.90/2.88 POL(app(x_1, x_2)) = x_1 + x_2 7.90/2.88 POL(cons(x_1, x_2)) = 1 + x_1 + x_2 7.90/2.88 POL(nil) = 1 7.90/2.88 POL(plus(x_1, x_2)) = 1 + x_1 + x_2 7.90/2.88 POL(s(x_1)) = x_1 7.90/2.88 POL(sum(x_1)) = x_1 7.90/2.88 With this ordering the following rules can be removed [MATRO] because they are oriented strictly: 7.90/2.88 Rules from R: 7.90/2.88 7.90/2.88 app(nil, k) -> k 7.90/2.88 app(l, nil) -> l 7.90/2.88 plus(0, y) -> y 7.90/2.88 Rules from S: 7.90/2.88 none 7.90/2.88 7.90/2.88 7.90/2.88 7.90/2.88 7.90/2.88 ---------------------------------------- 7.90/2.88 7.90/2.88 (2) 7.90/2.88 Obligation: 7.90/2.88 Relative term rewrite system: 7.90/2.88 The relative TRS consists of the following R rules: 7.90/2.88 7.90/2.88 app(cons(x, l), k) -> cons(x, app(l, k)) 7.90/2.88 sum(cons(x, nil)) -> cons(x, nil) 7.90/2.88 sum(cons(x, cons(y, l))) -> sum(cons(plus(x, y), l)) 7.90/2.88 sum(app(l, cons(x, cons(y, k)))) -> sum(app(l, sum(cons(x, cons(y, k))))) 7.90/2.88 plus(s(x), y) -> s(plus(x, y)) 7.90/2.88 7.90/2.88 The relative TRS consists of the following S rules: 7.90/2.88 7.90/2.88 cons(x, cons(y, l)) -> cons(y, cons(x, l)) 7.90/2.88 7.90/2.88 7.90/2.88 ---------------------------------------- 7.90/2.88 7.90/2.88 (3) RelTRSRRRProof (EQUIVALENT) 7.90/2.88 We used the following monotonic ordering for rule removal: 7.90/2.88 Polynomial interpretation [POLO]: 7.90/2.88 7.90/2.88 POL(app(x_1, x_2)) = x_1 + x_2 7.90/2.88 POL(cons(x_1, x_2)) = 1 + x_1 + x_2 7.90/2.88 POL(nil) = 0 7.90/2.88 POL(plus(x_1, x_2)) = x_1 + x_2 7.90/2.88 POL(s(x_1)) = x_1 7.90/2.88 POL(sum(x_1)) = x_1 7.90/2.88 With this ordering the following rules can be removed [MATRO] because they are oriented strictly: 7.90/2.88 Rules from R: 7.90/2.88 7.90/2.88 sum(cons(x, cons(y, l))) -> sum(cons(plus(x, y), l)) 7.90/2.88 Rules from S: 7.90/2.88 none 7.90/2.88 7.90/2.88 7.90/2.88 7.90/2.88 7.90/2.88 ---------------------------------------- 7.90/2.88 7.90/2.88 (4) 7.90/2.88 Obligation: 7.90/2.88 Relative term rewrite system: 7.90/2.88 The relative TRS consists of the following R rules: 7.90/2.88 7.90/2.88 app(cons(x, l), k) -> cons(x, app(l, k)) 7.90/2.88 sum(cons(x, nil)) -> cons(x, nil) 7.90/2.88 sum(app(l, cons(x, cons(y, k)))) -> sum(app(l, sum(cons(x, cons(y, k))))) 7.90/2.88 plus(s(x), y) -> s(plus(x, y)) 7.90/2.88 7.90/2.88 The relative TRS consists of the following S rules: 7.90/2.88 7.90/2.88 cons(x, cons(y, l)) -> cons(y, cons(x, l)) 7.90/2.88 7.90/2.88 7.90/2.88 ---------------------------------------- 7.90/2.88 7.90/2.88 (5) RelTRSRRRProof (EQUIVALENT) 7.90/2.88 We used the following monotonic ordering for rule removal: 7.90/2.88 Matrix interpretation [MATRO] to (N^2, +, *, >=, >) : 7.90/2.88 7.90/2.88 <<< 7.90/2.88 POL(app(x_1, x_2)) = [[0], [0]] + [[1, 1], [0, 0]] * x_1 + [[1, 1], [0, 0]] * x_2 7.90/2.88 >>> 7.90/2.88 7.90/2.88 <<< 7.90/2.88 POL(cons(x_1, x_2)) = [[0], [0]] + [[1, 0], [0, 0]] * x_1 + [[1, 0], [0, 1]] * x_2 7.90/2.88 >>> 7.90/2.88 7.90/2.88 <<< 7.90/2.88 POL(sum(x_1)) = [[0], [0]] + [[1, 0], [0, 0]] * x_1 7.90/2.88 >>> 7.90/2.88 7.90/2.88 <<< 7.90/2.88 POL(nil) = [[0], [0]] 7.90/2.88 >>> 7.90/2.88 7.90/2.88 <<< 7.90/2.88 POL(plus(x_1, x_2)) = [[1], [1]] + [[1, 1], [1, 0]] * x_1 + [[1, 1], [1, 1]] * x_2 7.90/2.88 >>> 7.90/2.88 7.90/2.88 <<< 7.90/2.88 POL(s(x_1)) = [[1], [1]] + [[1, 0], [0, 1]] * x_1 7.90/2.88 >>> 7.90/2.88 7.90/2.88 With this ordering the following rules can be removed [MATRO] because they are oriented strictly: 7.90/2.88 Rules from R: 7.90/2.88 7.90/2.88 plus(s(x), y) -> s(plus(x, y)) 7.90/2.88 Rules from S: 7.90/2.88 none 7.90/2.88 7.90/2.88 7.90/2.88 7.90/2.88 7.90/2.88 ---------------------------------------- 7.90/2.88 7.90/2.88 (6) 7.90/2.88 Obligation: 7.90/2.88 Relative term rewrite system: 7.90/2.88 The relative TRS consists of the following R rules: 7.90/2.88 7.90/2.88 app(cons(x, l), k) -> cons(x, app(l, k)) 7.90/2.88 sum(cons(x, nil)) -> cons(x, nil) 7.90/2.88 sum(app(l, cons(x, cons(y, k)))) -> sum(app(l, sum(cons(x, cons(y, k))))) 7.90/2.88 7.90/2.88 The relative TRS consists of the following S rules: 7.90/2.88 7.90/2.88 cons(x, cons(y, l)) -> cons(y, cons(x, l)) 7.90/2.88 7.90/2.88 7.90/2.88 ---------------------------------------- 7.90/2.88 7.90/2.88 (7) RelTRSRRRProof (EQUIVALENT) 7.90/2.88 We used the following monotonic ordering for rule removal: 7.90/2.88 Matrix interpretation [MATRO] to (N^2, +, *, >=, >) : 7.90/2.88 7.90/2.88 <<< 7.90/2.88 POL(app(x_1, x_2)) = [[0], [0]] + [[1, 1], [0, 1]] * x_1 + [[1, 0], [0, 0]] * x_2 7.90/2.88 >>> 7.90/2.88 7.90/2.88 <<< 7.90/2.88 POL(cons(x_1, x_2)) = [[0], [1]] + [[1, 0], [0, 0]] * x_1 + [[1, 0], [0, 1]] * x_2 7.90/2.88 >>> 7.90/2.88 7.90/2.88 <<< 7.90/2.88 POL(sum(x_1)) = [[0], [1]] + [[1, 0], [0, 0]] * x_1 7.90/2.88 >>> 7.90/2.88 7.90/2.88 <<< 7.90/2.88 POL(nil) = [[0], [0]] 7.90/2.88 >>> 7.90/2.88 7.90/2.88 With this ordering the following rules can be removed [MATRO] because they are oriented strictly: 7.90/2.88 Rules from R: 7.90/2.88 7.90/2.88 app(cons(x, l), k) -> cons(x, app(l, k)) 7.90/2.88 Rules from S: 7.90/2.88 none 7.90/2.88 7.90/2.88 7.90/2.88 7.90/2.88 7.90/2.88 ---------------------------------------- 7.90/2.88 7.90/2.88 (8) 7.90/2.88 Obligation: 7.90/2.88 Relative term rewrite system: 7.90/2.88 The relative TRS consists of the following R rules: 7.90/2.88 7.90/2.88 sum(cons(x, nil)) -> cons(x, nil) 7.90/2.88 sum(app(l, cons(x, cons(y, k)))) -> sum(app(l, sum(cons(x, cons(y, k))))) 7.90/2.88 7.90/2.88 The relative TRS consists of the following S rules: 7.90/2.88 7.90/2.88 cons(x, cons(y, l)) -> cons(y, cons(x, l)) 7.90/2.88 7.90/2.88 7.90/2.88 ---------------------------------------- 7.90/2.88 7.90/2.88 (9) RelTRSRRRProof (EQUIVALENT) 7.90/2.88 We used the following monotonic ordering for rule removal: 7.90/2.88 Matrix interpretation [MATRO] to (N^2, +, *, >=, >) : 7.90/2.88 7.90/2.88 <<< 7.90/2.88 POL(sum(x_1)) = [[1], [1]] + [[1, 0], [0, 0]] * x_1 7.90/2.88 >>> 7.90/2.88 7.90/2.88 <<< 7.90/2.88 POL(cons(x_1, x_2)) = [[0], [1]] + [[1, 0], [0, 0]] * x_1 + [[1, 0], [0, 1]] * x_2 7.90/2.88 >>> 7.90/2.88 7.90/2.88 <<< 7.90/2.88 POL(nil) = [[0], [0]] 7.90/2.88 >>> 7.90/2.88 7.90/2.88 <<< 7.90/2.88 POL(app(x_1, x_2)) = [[0], [0]] + [[1, 0], [0, 0]] * x_1 + [[1, 1], [0, 0]] * x_2 7.90/2.88 >>> 7.90/2.88 7.90/2.88 With this ordering the following rules can be removed [MATRO] because they are oriented strictly: 7.90/2.88 Rules from R: 7.90/2.88 7.90/2.88 sum(cons(x, nil)) -> cons(x, nil) 7.90/2.88 Rules from S: 7.90/2.88 none 7.90/2.88 7.90/2.88 7.90/2.88 7.90/2.88 7.90/2.88 ---------------------------------------- 7.90/2.88 7.90/2.88 (10) 7.90/2.88 Obligation: 7.90/2.88 Relative term rewrite system: 7.90/2.88 The relative TRS consists of the following R rules: 7.90/2.88 7.90/2.88 sum(app(l, cons(x, cons(y, k)))) -> sum(app(l, sum(cons(x, cons(y, k))))) 7.90/2.88 7.90/2.88 The relative TRS consists of the following S rules: 7.90/2.88 7.90/2.88 cons(x, cons(y, l)) -> cons(y, cons(x, l)) 7.90/2.88 7.90/2.88 7.90/2.88 ---------------------------------------- 7.90/2.88 7.90/2.88 (11) RelTRSRRRProof (EQUIVALENT) 7.90/2.88 We used the following monotonic ordering for rule removal: 7.90/2.88 Matrix interpretation [MATRO] to (N^2, +, *, >=, >) : 7.90/2.88 7.90/2.88 <<< 7.90/2.88 POL(sum(x_1)) = [[0], [0]] + [[1, 0], [0, 0]] * x_1 7.90/2.88 >>> 7.90/2.88 7.90/2.88 <<< 7.90/2.88 POL(app(x_1, x_2)) = [[0], [0]] + [[1, 0], [0, 0]] * x_1 + [[1, 1], [0, 0]] * x_2 7.90/2.88 >>> 7.90/2.88 7.90/2.88 <<< 7.90/2.88 POL(cons(x_1, x_2)) = [[0], [1]] + [[1, 0], [0, 0]] * x_1 + [[1, 0], [0, 0]] * x_2 7.90/2.88 >>> 7.90/2.88 7.90/2.88 With this ordering the following rules can be removed [MATRO] because they are oriented strictly: 7.90/2.88 Rules from R: 7.90/2.88 7.90/2.88 sum(app(l, cons(x, cons(y, k)))) -> sum(app(l, sum(cons(x, cons(y, k))))) 7.90/2.88 Rules from S: 7.90/2.88 none 7.90/2.88 7.90/2.88 7.90/2.88 7.90/2.88 7.90/2.88 ---------------------------------------- 7.90/2.88 7.90/2.88 (12) 7.90/2.88 Obligation: 7.90/2.88 Relative term rewrite system: 7.90/2.88 R is empty. 7.90/2.88 The relative TRS consists of the following S rules: 7.90/2.88 7.90/2.88 cons(x, cons(y, l)) -> cons(y, cons(x, l)) 7.90/2.88 7.90/2.88 7.90/2.88 ---------------------------------------- 7.90/2.88 7.90/2.88 (13) RIsEmptyProof (EQUIVALENT) 7.90/2.88 The TRS R is empty. Hence, termination is trivially proven. 7.90/2.88 ---------------------------------------- 7.90/2.88 7.90/2.88 (14) 7.90/2.88 YES 8.33/3.04 EOF