9.21/3.15 YES 9.21/3.16 proof of /export/starexec/sandbox/benchmark/theBenchmark.xml 9.21/3.16 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 9.21/3.16 9.21/3.16 9.21/3.16 Termination of the given RelTRS could be proven: 9.21/3.16 9.21/3.16 (0) RelTRS 9.21/3.16 (1) RelTRS Reverse [EQUIVALENT, 0 ms] 9.21/3.16 (2) RelTRS 9.21/3.16 (3) RelTRSRRRProof [EQUIVALENT, 34 ms] 9.21/3.16 (4) RelTRS 9.21/3.16 (5) RelTRSRRRProof [EQUIVALENT, 0 ms] 9.21/3.16 (6) RelTRS 9.21/3.16 (7) RelTRSRRRProof [EQUIVALENT, 42 ms] 9.21/3.16 (8) RelTRS 9.21/3.16 (9) RelTRSRRRProof [EQUIVALENT, 54 ms] 9.21/3.16 (10) RelTRS 9.21/3.16 (11) RIsEmptyProof [EQUIVALENT, 0 ms] 9.21/3.16 (12) YES 9.21/3.16 9.21/3.16 9.21/3.16 ---------------------------------------- 9.21/3.16 9.21/3.16 (0) 9.21/3.16 Obligation: 9.21/3.16 Relative term rewrite system: 9.21/3.16 The relative TRS consists of the following R rules: 9.21/3.16 9.21/3.16 p(s(x1)) -> s(x1) 9.21/3.16 n(s(x1)) -> s(x1) 9.21/3.16 o(s(x1)) -> s(x1) 9.21/3.16 o(n(x1)) -> n(o(x1)) 9.21/3.16 o(m(x1)) -> n(o(x1)) 9.21/3.16 n(o(p(x1))) -> o(n(x1)) 9.21/3.16 9.21/3.16 The relative TRS consists of the following S rules: 9.21/3.16 9.21/3.16 t(x1) -> t(c(n(x1))) 9.21/3.16 p(n(x1)) -> m(p(x1)) 9.21/3.16 p(m(x1)) -> m(p(x1)) 9.21/3.16 n(p(x1)) -> p(n(x1)) 9.21/3.16 c(p(x1)) -> p(c(x1)) 9.21/3.16 c(m(x1)) -> m(c(x1)) 9.21/3.16 c(n(x1)) -> n(c(x1)) 9.21/3.16 c(o(x1)) -> o(c(x1)) 9.21/3.16 c(o(x1)) -> o(x1) 9.21/3.16 9.21/3.16 9.21/3.16 ---------------------------------------- 9.21/3.16 9.21/3.16 (1) RelTRS Reverse (EQUIVALENT) 9.21/3.16 We have reversed the following relative TRS [REVERSE]: 9.21/3.16 The set of rules R is 9.21/3.16 p(s(x1)) -> s(x1) 9.21/3.16 n(s(x1)) -> s(x1) 9.21/3.16 o(s(x1)) -> s(x1) 9.21/3.16 o(n(x1)) -> n(o(x1)) 9.21/3.16 o(m(x1)) -> n(o(x1)) 9.21/3.16 n(o(p(x1))) -> o(n(x1)) 9.21/3.16 9.21/3.16 The set of rules S is 9.21/3.16 t(x1) -> t(c(n(x1))) 9.21/3.16 p(n(x1)) -> m(p(x1)) 9.21/3.16 p(m(x1)) -> m(p(x1)) 9.21/3.16 n(p(x1)) -> p(n(x1)) 9.21/3.16 c(p(x1)) -> p(c(x1)) 9.21/3.16 c(m(x1)) -> m(c(x1)) 9.21/3.16 c(n(x1)) -> n(c(x1)) 9.21/3.16 c(o(x1)) -> o(c(x1)) 9.21/3.16 c(o(x1)) -> o(x1) 9.21/3.16 9.21/3.16 We have obtained the following relative TRS: 9.21/3.16 The set of rules R is 9.21/3.16 s(p(x1)) -> s(x1) 9.21/3.16 s(n(x1)) -> s(x1) 9.21/3.16 s(o(x1)) -> s(x1) 9.21/3.16 n(o(x1)) -> o(n(x1)) 9.21/3.16 m(o(x1)) -> o(n(x1)) 9.21/3.16 p(o(n(x1))) -> n(o(x1)) 9.21/3.16 9.21/3.16 The set of rules S is 9.21/3.16 t(x1) -> n(c(t(x1))) 9.21/3.16 n(p(x1)) -> p(m(x1)) 9.21/3.16 m(p(x1)) -> p(m(x1)) 9.21/3.16 p(n(x1)) -> n(p(x1)) 9.21/3.16 p(c(x1)) -> c(p(x1)) 9.21/3.16 m(c(x1)) -> c(m(x1)) 9.21/3.16 n(c(x1)) -> c(n(x1)) 9.21/3.16 o(c(x1)) -> c(o(x1)) 9.21/3.16 o(c(x1)) -> o(x1) 9.21/3.16 9.21/3.16 9.21/3.16 ---------------------------------------- 9.21/3.16 9.21/3.16 (2) 9.21/3.16 Obligation: 9.21/3.16 Relative term rewrite system: 9.21/3.16 The relative TRS consists of the following R rules: 9.21/3.16 9.21/3.16 s(p(x1)) -> s(x1) 9.21/3.16 s(n(x1)) -> s(x1) 9.21/3.16 s(o(x1)) -> s(x1) 9.21/3.16 n(o(x1)) -> o(n(x1)) 9.21/3.16 m(o(x1)) -> o(n(x1)) 9.21/3.16 p(o(n(x1))) -> n(o(x1)) 9.21/3.16 9.21/3.16 The relative TRS consists of the following S rules: 9.21/3.16 9.21/3.16 t(x1) -> n(c(t(x1))) 9.21/3.16 n(p(x1)) -> p(m(x1)) 9.21/3.16 m(p(x1)) -> p(m(x1)) 9.21/3.16 p(n(x1)) -> n(p(x1)) 9.21/3.16 p(c(x1)) -> c(p(x1)) 9.21/3.16 m(c(x1)) -> c(m(x1)) 9.21/3.16 n(c(x1)) -> c(n(x1)) 9.21/3.16 o(c(x1)) -> c(o(x1)) 9.21/3.16 o(c(x1)) -> o(x1) 9.21/3.16 9.21/3.16 9.21/3.16 ---------------------------------------- 9.21/3.16 9.21/3.16 (3) RelTRSRRRProof (EQUIVALENT) 9.21/3.16 We used the following monotonic ordering for rule removal: 9.21/3.16 Polynomial interpretation [POLO]: 9.21/3.16 9.21/3.16 POL(c(x_1)) = x_1 9.21/3.16 POL(m(x_1)) = x_1 9.21/3.16 POL(n(x_1)) = x_1 9.21/3.16 POL(o(x_1)) = x_1 9.21/3.16 POL(p(x_1)) = 1 + x_1 9.21/3.16 POL(s(x_1)) = x_1 9.21/3.16 POL(t(x_1)) = x_1 9.21/3.16 With this ordering the following rules can be removed [MATRO] because they are oriented strictly: 9.21/3.16 Rules from R: 9.21/3.16 9.21/3.16 s(p(x1)) -> s(x1) 9.21/3.16 p(o(n(x1))) -> n(o(x1)) 9.21/3.16 Rules from S: 9.21/3.16 none 9.21/3.16 9.21/3.16 9.21/3.16 9.21/3.16 9.21/3.16 ---------------------------------------- 9.21/3.16 9.21/3.16 (4) 9.21/3.16 Obligation: 9.21/3.16 Relative term rewrite system: 9.21/3.16 The relative TRS consists of the following R rules: 9.21/3.16 9.21/3.16 s(n(x1)) -> s(x1) 9.21/3.16 s(o(x1)) -> s(x1) 9.21/3.16 n(o(x1)) -> o(n(x1)) 9.21/3.16 m(o(x1)) -> o(n(x1)) 9.21/3.16 9.21/3.16 The relative TRS consists of the following S rules: 9.21/3.16 9.21/3.16 t(x1) -> n(c(t(x1))) 9.21/3.16 n(p(x1)) -> p(m(x1)) 9.21/3.16 m(p(x1)) -> p(m(x1)) 9.21/3.16 p(n(x1)) -> n(p(x1)) 9.21/3.16 p(c(x1)) -> c(p(x1)) 9.21/3.16 m(c(x1)) -> c(m(x1)) 9.21/3.16 n(c(x1)) -> c(n(x1)) 9.21/3.16 o(c(x1)) -> c(o(x1)) 9.21/3.16 o(c(x1)) -> o(x1) 9.21/3.16 9.21/3.16 9.21/3.16 ---------------------------------------- 9.21/3.16 9.21/3.16 (5) RelTRSRRRProof (EQUIVALENT) 9.21/3.16 We used the following monotonic ordering for rule removal: 9.21/3.16 Polynomial interpretation [POLO]: 9.21/3.16 9.21/3.16 POL(c(x_1)) = x_1 9.21/3.16 POL(m(x_1)) = x_1 9.21/3.16 POL(n(x_1)) = x_1 9.21/3.16 POL(o(x_1)) = 1 + x_1 9.21/3.16 POL(p(x_1)) = x_1 9.21/3.16 POL(s(x_1)) = x_1 9.21/3.16 POL(t(x_1)) = x_1 9.21/3.16 With this ordering the following rules can be removed [MATRO] because they are oriented strictly: 9.21/3.16 Rules from R: 9.21/3.16 9.21/3.16 s(o(x1)) -> s(x1) 9.21/3.16 Rules from S: 9.21/3.16 none 9.21/3.16 9.21/3.16 9.21/3.16 9.21/3.16 9.21/3.16 ---------------------------------------- 9.21/3.16 9.21/3.16 (6) 9.21/3.16 Obligation: 9.21/3.16 Relative term rewrite system: 9.21/3.16 The relative TRS consists of the following R rules: 9.21/3.16 9.21/3.16 s(n(x1)) -> s(x1) 9.21/3.16 n(o(x1)) -> o(n(x1)) 9.21/3.16 m(o(x1)) -> o(n(x1)) 9.21/3.16 9.21/3.16 The relative TRS consists of the following S rules: 9.21/3.16 9.21/3.16 t(x1) -> n(c(t(x1))) 9.21/3.16 n(p(x1)) -> p(m(x1)) 9.21/3.16 m(p(x1)) -> p(m(x1)) 9.21/3.16 p(n(x1)) -> n(p(x1)) 9.21/3.16 p(c(x1)) -> c(p(x1)) 9.21/3.16 m(c(x1)) -> c(m(x1)) 9.21/3.16 n(c(x1)) -> c(n(x1)) 9.21/3.16 o(c(x1)) -> c(o(x1)) 9.21/3.16 o(c(x1)) -> o(x1) 9.21/3.16 9.21/3.16 9.21/3.16 ---------------------------------------- 9.21/3.16 9.21/3.16 (7) RelTRSRRRProof (EQUIVALENT) 9.21/3.16 We used the following monotonic ordering for rule removal: 9.21/3.16 Matrix interpretation [MATRO] to (N^2, +, *, >=, >) : 9.21/3.16 9.21/3.16 <<< 9.21/3.16 POL(s(x_1)) = [[0], [2]] + [[1, 2], [0, 0]] * x_1 9.21/3.16 >>> 9.21/3.16 9.21/3.16 <<< 9.21/3.16 POL(n(x_1)) = [[0], [2]] + [[1, 0], [0, 2]] * x_1 9.21/3.16 >>> 9.21/3.16 9.21/3.16 <<< 9.21/3.16 POL(o(x_1)) = [[0], [0]] + [[1, 0], [0, 0]] * x_1 9.21/3.16 >>> 9.21/3.16 9.21/3.16 <<< 9.21/3.16 POL(m(x_1)) = [[0], [0]] + [[1, 0], [0, 1]] * x_1 9.21/3.16 >>> 9.21/3.16 9.21/3.16 <<< 9.21/3.16 POL(t(x_1)) = [[0], [2]] + [[1, 0], [0, 0]] * x_1 9.21/3.16 >>> 9.21/3.16 9.21/3.16 <<< 9.21/3.16 POL(c(x_1)) = [[0], [0]] + [[1, 0], [0, 0]] * x_1 9.33/3.16 >>> 9.33/3.16 9.33/3.16 <<< 9.33/3.16 POL(p(x_1)) = [[0], [1]] + [[1, 0], [0, 2]] * x_1 9.33/3.16 >>> 9.33/3.16 9.33/3.16 With this ordering the following rules can be removed [MATRO] because they are oriented strictly: 9.33/3.16 Rules from R: 9.33/3.16 9.33/3.16 s(n(x1)) -> s(x1) 9.33/3.16 Rules from S: 9.33/3.16 none 9.33/3.16 9.33/3.16 9.33/3.16 9.33/3.16 9.33/3.16 ---------------------------------------- 9.33/3.16 9.33/3.16 (8) 9.33/3.16 Obligation: 9.33/3.16 Relative term rewrite system: 9.33/3.16 The relative TRS consists of the following R rules: 9.33/3.16 9.33/3.16 n(o(x1)) -> o(n(x1)) 9.33/3.16 m(o(x1)) -> o(n(x1)) 9.33/3.16 9.33/3.16 The relative TRS consists of the following S rules: 9.33/3.16 9.33/3.16 t(x1) -> n(c(t(x1))) 9.33/3.16 n(p(x1)) -> p(m(x1)) 9.33/3.16 m(p(x1)) -> p(m(x1)) 9.33/3.16 p(n(x1)) -> n(p(x1)) 9.33/3.16 p(c(x1)) -> c(p(x1)) 9.33/3.16 m(c(x1)) -> c(m(x1)) 9.33/3.16 n(c(x1)) -> c(n(x1)) 9.33/3.16 o(c(x1)) -> c(o(x1)) 9.33/3.16 o(c(x1)) -> o(x1) 9.33/3.16 9.33/3.16 9.33/3.16 ---------------------------------------- 9.33/3.16 9.33/3.16 (9) RelTRSRRRProof (EQUIVALENT) 9.33/3.16 We used the following monotonic ordering for rule removal: 9.33/3.16 Matrix interpretation [MATRO] to (N^2, +, *, >=, >) : 9.33/3.16 9.33/3.16 <<< 9.33/3.16 POL(n(x_1)) = [[0], [0]] + [[1, 2], [0, 1]] * x_1 9.33/3.16 >>> 9.33/3.16 9.33/3.16 <<< 9.33/3.16 POL(o(x_1)) = [[0], [1]] + [[1, 0], [0, 2]] * x_1 9.33/3.16 >>> 9.33/3.16 9.33/3.16 <<< 9.33/3.16 POL(m(x_1)) = [[0], [0]] + [[1, 1], [0, 1]] * x_1 9.33/3.16 >>> 9.33/3.16 9.33/3.16 <<< 9.33/3.16 POL(t(x_1)) = [[0], [0]] + [[1, 0], [0, 0]] * x_1 9.33/3.16 >>> 9.33/3.16 9.33/3.16 <<< 9.33/3.16 POL(c(x_1)) = [[0], [0]] + [[1, 0], [0, 1]] * x_1 9.33/3.16 >>> 9.33/3.16 9.33/3.16 <<< 9.33/3.16 POL(p(x_1)) = [[0], [0]] + [[1, 0], [0, 1]] * x_1 9.33/3.16 >>> 9.33/3.16 9.33/3.16 With this ordering the following rules can be removed [MATRO] because they are oriented strictly: 9.33/3.16 Rules from R: 9.33/3.16 9.33/3.16 n(o(x1)) -> o(n(x1)) 9.33/3.16 m(o(x1)) -> o(n(x1)) 9.33/3.16 Rules from S: 9.33/3.16 none 9.33/3.16 9.33/3.16 9.33/3.16 9.33/3.16 9.33/3.16 ---------------------------------------- 9.33/3.16 9.33/3.16 (10) 9.33/3.16 Obligation: 9.33/3.16 Relative term rewrite system: 9.33/3.16 R is empty. 9.33/3.16 The relative TRS consists of the following S rules: 9.33/3.16 9.33/3.16 t(x1) -> n(c(t(x1))) 9.33/3.16 n(p(x1)) -> p(m(x1)) 9.33/3.16 m(p(x1)) -> p(m(x1)) 9.33/3.16 p(n(x1)) -> n(p(x1)) 9.33/3.16 p(c(x1)) -> c(p(x1)) 9.33/3.16 m(c(x1)) -> c(m(x1)) 9.33/3.16 n(c(x1)) -> c(n(x1)) 9.33/3.16 o(c(x1)) -> c(o(x1)) 9.33/3.16 o(c(x1)) -> o(x1) 9.33/3.16 9.33/3.16 9.33/3.16 ---------------------------------------- 9.33/3.16 9.33/3.16 (11) RIsEmptyProof (EQUIVALENT) 9.33/3.16 The TRS R is empty. Hence, termination is trivially proven. 9.33/3.16 ---------------------------------------- 9.33/3.16 9.33/3.16 (12) 9.33/3.16 YES 9.33/3.21 EOF