4.49/1.94 YES 4.49/1.95 proof of /export/starexec/sandbox/benchmark/theBenchmark.xml 4.49/1.95 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 4.49/1.95 4.49/1.95 4.49/1.95 Termination of the given RelTRS could be proven: 4.49/1.95 4.49/1.95 (0) RelTRS 4.49/1.95 (1) RelTRSRRRProof [EQUIVALENT, 137 ms] 4.49/1.95 (2) RelTRS 4.49/1.95 (3) RelTRSRRRProof [EQUIVALENT, 24 ms] 4.49/1.95 (4) RelTRS 4.49/1.95 (5) RIsEmptyProof [EQUIVALENT, 0 ms] 4.49/1.95 (6) YES 4.49/1.95 4.49/1.95 4.49/1.95 ---------------------------------------- 4.49/1.95 4.49/1.95 (0) 4.49/1.95 Obligation: 4.49/1.95 Relative term rewrite system: 4.49/1.95 The relative TRS consists of the following R rules: 4.49/1.95 4.49/1.95 top(left(car(x, y), car(old, z))) -> top(right(y, car(old, z))) 4.49/1.95 top(left(car(x, car(old, y)), z)) -> top(right(car(old, y), z)) 4.49/1.95 top(right(x, car(y, car(old, z)))) -> top(left(x, car(old, z))) 4.49/1.95 top(right(car(old, x), car(y, z))) -> top(left(car(old, x), z)) 4.49/1.95 top(left(bot, car(old, x))) -> top(right(bot, car(old, x))) 4.49/1.95 top(right(car(old, x), bot)) -> top(left(car(old, x), bot)) 4.49/1.95 4.49/1.95 The relative TRS consists of the following S rules: 4.49/1.95 4.49/1.95 top(left(car(x, y), z)) -> top(left(y, z)) 4.49/1.95 top(right(x, car(y, z))) -> top(right(x, z)) 4.49/1.95 bot -> car(new, bot) 4.49/1.95 4.49/1.95 4.49/1.95 ---------------------------------------- 4.49/1.95 4.49/1.95 (1) RelTRSRRRProof (EQUIVALENT) 4.49/1.95 We used the following monotonic ordering for rule removal: 4.49/1.95 Matrix interpretation [MATRO] to (N^2, +, *, >=, >) : 4.49/1.95 4.49/1.95 <<< 4.49/1.95 POL(top(x_1)) = [[0], [1]] + [[1, 1], [1, 0]] * x_1 4.49/1.95 >>> 4.49/1.95 4.49/1.95 <<< 4.49/1.95 POL(left(x_1, x_2)) = [[0], [0]] + [[1, 0], [0, 0]] * x_1 + [[1, 1], [0, 1]] * x_2 4.49/1.95 >>> 4.49/1.95 4.49/1.95 <<< 4.49/1.95 POL(car(x_1, x_2)) = [[0], [0]] + [[1, 0], [1, 1]] * x_1 + [[1, 1], [1, 1]] * x_2 4.49/1.95 >>> 4.49/1.95 4.49/1.95 <<< 4.49/1.95 POL(old) = [[0], [1]] 4.49/1.95 >>> 4.49/1.95 4.49/1.95 <<< 4.49/1.95 POL(right(x_1, x_2)) = [[0], [0]] + [[1, 0], [0, 0]] * x_1 + [[1, 1], [0, 0]] * x_2 4.49/1.95 >>> 4.49/1.95 4.49/1.95 <<< 4.49/1.95 POL(bot) = [[0], [0]] 4.49/1.95 >>> 4.49/1.95 4.49/1.95 <<< 4.49/1.95 POL(new) = [[0], [0]] 4.49/1.95 >>> 4.49/1.95 4.49/1.95 With this ordering the following rules can be removed [MATRO] because they are oriented strictly: 4.49/1.95 Rules from R: 4.49/1.95 4.49/1.95 top(left(car(x, y), car(old, z))) -> top(right(y, car(old, z))) 4.49/1.95 top(left(car(x, car(old, y)), z)) -> top(right(car(old, y), z)) 4.49/1.95 top(left(bot, car(old, x))) -> top(right(bot, car(old, x))) 4.49/1.95 Rules from S: 4.49/1.95 none 4.49/1.95 4.49/1.95 4.49/1.95 4.49/1.95 4.49/1.95 ---------------------------------------- 4.49/1.95 4.49/1.95 (2) 4.49/1.95 Obligation: 4.49/1.95 Relative term rewrite system: 4.49/1.95 The relative TRS consists of the following R rules: 4.49/1.95 4.49/1.95 top(right(x, car(y, car(old, z)))) -> top(left(x, car(old, z))) 4.49/1.95 top(right(car(old, x), car(y, z))) -> top(left(car(old, x), z)) 4.49/1.95 top(right(car(old, x), bot)) -> top(left(car(old, x), bot)) 4.49/1.95 4.49/1.95 The relative TRS consists of the following S rules: 4.49/1.95 4.49/1.95 top(left(car(x, y), z)) -> top(left(y, z)) 4.49/1.95 top(right(x, car(y, z))) -> top(right(x, z)) 4.49/1.95 bot -> car(new, bot) 4.49/1.95 4.49/1.95 4.49/1.95 ---------------------------------------- 4.49/1.95 4.49/1.95 (3) RelTRSRRRProof (EQUIVALENT) 4.49/1.95 We used the following monotonic ordering for rule removal: 4.49/1.95 Matrix interpretation [MATRO] to (N^2, +, *, >=, >) : 4.49/1.95 4.49/1.95 <<< 4.49/1.95 POL(top(x_1)) = [[0], [0]] + [[1, 1], [1, 1]] * x_1 4.49/1.95 >>> 4.49/1.95 4.49/1.95 <<< 4.49/1.95 POL(right(x_1, x_2)) = [[1], [1]] + [[1, 1], [1, 1]] * x_1 + [[1, 1], [1, 1]] * x_2 4.49/1.95 >>> 4.49/1.95 4.49/1.95 <<< 4.49/1.95 POL(car(x_1, x_2)) = [[0], [0]] + [[1, 0], [1, 1]] * x_1 + [[1, 1], [1, 1]] * x_2 4.49/1.95 >>> 4.49/1.95 4.49/1.95 <<< 4.49/1.95 POL(old) = [[1], [1]] 4.49/1.95 >>> 4.49/1.95 4.49/1.95 <<< 4.49/1.95 POL(left(x_1, x_2)) = [[0], [0]] + [[1, 1], [1, 0]] * x_1 + [[1, 0], [1, 1]] * x_2 4.49/1.95 >>> 4.49/1.95 4.49/1.95 <<< 4.49/1.95 POL(bot) = [[0], [0]] 4.49/1.95 >>> 4.49/1.95 4.49/1.95 <<< 4.49/1.95 POL(new) = [[0], [0]] 4.49/1.95 >>> 4.49/1.95 4.49/1.95 With this ordering the following rules can be removed [MATRO] because they are oriented strictly: 4.49/1.95 Rules from R: 4.49/1.95 4.49/1.95 top(right(x, car(y, car(old, z)))) -> top(left(x, car(old, z))) 4.49/1.95 top(right(car(old, x), car(y, z))) -> top(left(car(old, x), z)) 4.49/1.95 top(right(car(old, x), bot)) -> top(left(car(old, x), bot)) 4.49/1.95 Rules from S: 4.49/1.95 none 4.49/1.95 4.49/1.95 4.49/1.95 4.49/1.95 4.49/1.95 ---------------------------------------- 4.49/1.95 4.49/1.95 (4) 4.49/1.95 Obligation: 4.49/1.95 Relative term rewrite system: 4.49/1.95 R is empty. 4.49/1.95 The relative TRS consists of the following S rules: 4.49/1.95 4.49/1.95 top(left(car(x, y), z)) -> top(left(y, z)) 4.49/1.95 top(right(x, car(y, z))) -> top(right(x, z)) 4.49/1.95 bot -> car(new, bot) 4.49/1.95 4.49/1.95 4.49/1.95 ---------------------------------------- 4.49/1.95 4.49/1.95 (5) RIsEmptyProof (EQUIVALENT) 4.49/1.95 The TRS R is empty. Hence, termination is trivially proven. 4.49/1.95 ---------------------------------------- 4.49/1.95 4.49/1.95 (6) 4.49/1.95 YES 4.88/2.02 EOF