5.96/2.35 YES 5.96/2.36 proof of /export/starexec/sandbox/benchmark/theBenchmark.xml 5.96/2.36 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 5.96/2.36 5.96/2.36 5.96/2.36 Termination of the given RelTRS could be proven: 5.96/2.36 5.96/2.36 (0) RelTRS 5.96/2.36 (1) RelTRSRRRProof [EQUIVALENT, 72 ms] 5.96/2.36 (2) RelTRS 5.96/2.36 (3) RelTRSRRRProof [EQUIVALENT, 10 ms] 5.96/2.36 (4) RelTRS 5.96/2.36 (5) RelTRSRRRProof [EQUIVALENT, 7 ms] 5.96/2.36 (6) RelTRS 5.96/2.36 (7) RIsEmptyProof [EQUIVALENT, 4 ms] 5.96/2.36 (8) YES 5.96/2.36 5.96/2.36 5.96/2.36 ---------------------------------------- 5.96/2.36 5.96/2.36 (0) 5.96/2.36 Obligation: 5.96/2.36 Relative term rewrite system: 5.96/2.36 The relative TRS consists of the following R rules: 5.96/2.36 5.96/2.36 l(m(x)) -> m(l(x)) 5.96/2.36 m(r(x)) -> r(m(x)) 5.96/2.36 f(m(x), y) -> f(x, m(y)) 5.96/2.36 5.96/2.36 The relative TRS consists of the following S rules: 5.96/2.36 5.96/2.36 b -> l(b) 5.96/2.36 f(x, y) -> f(x, r(y)) 5.96/2.36 5.96/2.36 5.96/2.36 ---------------------------------------- 5.96/2.36 5.96/2.36 (1) RelTRSRRRProof (EQUIVALENT) 5.96/2.36 We used the following monotonic ordering for rule removal: 5.96/2.36 Matrix interpretation [MATRO] to (N^2, +, *, >=, >) : 5.96/2.36 5.96/2.36 <<< 5.96/2.36 POL(l(x_1)) = [[0], [0]] + [[1, 1], [1, 1]] * x_1 5.96/2.36 >>> 5.96/2.36 5.96/2.36 <<< 5.96/2.36 POL(m(x_1)) = [[0], [1]] + [[1, 0], [0, 1]] * x_1 5.96/2.36 >>> 5.96/2.36 5.96/2.36 <<< 5.96/2.36 POL(r(x_1)) = [[0], [0]] + [[1, 0], [0, 1]] * x_1 5.96/2.36 >>> 5.96/2.36 5.96/2.36 <<< 5.96/2.36 POL(f(x_1, x_2)) = [[1], [1]] + [[1, 1], [1, 1]] * x_1 + [[1, 1], [1, 1]] * x_2 5.96/2.36 >>> 5.96/2.36 5.96/2.36 <<< 5.96/2.36 POL(b) = [[0], [0]] 5.96/2.36 >>> 5.96/2.36 5.96/2.36 With this ordering the following rules can be removed [MATRO] because they are oriented strictly: 5.96/2.36 Rules from R: 5.96/2.36 5.96/2.36 l(m(x)) -> m(l(x)) 5.96/2.36 Rules from S: 5.96/2.36 none 5.96/2.36 5.96/2.36 5.96/2.36 5.96/2.36 5.96/2.36 ---------------------------------------- 5.96/2.36 5.96/2.36 (2) 5.96/2.36 Obligation: 5.96/2.36 Relative term rewrite system: 5.96/2.36 The relative TRS consists of the following R rules: 5.96/2.36 5.96/2.36 m(r(x)) -> r(m(x)) 5.96/2.36 f(m(x), y) -> f(x, m(y)) 5.96/2.36 5.96/2.36 The relative TRS consists of the following S rules: 5.96/2.36 5.96/2.36 b -> l(b) 5.96/2.36 f(x, y) -> f(x, r(y)) 5.96/2.36 5.96/2.36 5.96/2.36 ---------------------------------------- 5.96/2.36 5.96/2.36 (3) RelTRSRRRProof (EQUIVALENT) 5.96/2.36 We used the following monotonic ordering for rule removal: 5.96/2.36 m/1(YES) 5.96/2.36 r/1)YES( 5.96/2.36 f/2(YES,YES) 5.96/2.36 b/0) 5.96/2.36 l/1)YES( 5.96/2.36 5.96/2.36 Quasi precedence: 5.96/2.36 f_2 > m_1 5.96/2.36 b > m_1 5.96/2.36 5.96/2.36 5.96/2.36 Status: 5.96/2.36 m_1: [1] 5.96/2.36 f_2: [1,2] 5.96/2.36 b: multiset status 5.96/2.36 5.96/2.36 With this ordering the following rules can be removed [MATRO] because they are oriented strictly: 5.96/2.36 Rules from R: 5.96/2.36 5.96/2.36 f(m(x), y) -> f(x, m(y)) 5.96/2.36 Rules from S: 5.96/2.36 none 5.96/2.36 5.96/2.36 5.96/2.36 5.96/2.36 5.96/2.36 ---------------------------------------- 5.96/2.36 5.96/2.36 (4) 5.96/2.36 Obligation: 5.96/2.36 Relative term rewrite system: 5.96/2.36 The relative TRS consists of the following R rules: 5.96/2.36 5.96/2.36 m(r(x)) -> r(m(x)) 5.96/2.36 5.96/2.36 The relative TRS consists of the following S rules: 5.96/2.36 5.96/2.36 b -> l(b) 5.96/2.36 f(x, y) -> f(x, r(y)) 5.96/2.36 5.96/2.36 5.96/2.36 ---------------------------------------- 5.96/2.36 5.96/2.36 (5) RelTRSRRRProof (EQUIVALENT) 5.96/2.36 We used the following monotonic ordering for rule removal: 5.96/2.36 Matrix interpretation [MATRO] to (N^2, +, *, >=, >) : 5.96/2.36 5.96/2.36 <<< 5.96/2.36 POL(m(x_1)) = [[1], [0]] + [[1, 1], [1, 1]] * x_1 5.96/2.36 >>> 5.96/2.36 5.96/2.36 <<< 5.96/2.36 POL(r(x_1)) = [[0], [1]] + [[1, 0], [0, 1]] * x_1 5.96/2.36 >>> 5.96/2.36 5.96/2.36 <<< 5.96/2.36 POL(b) = [[1], [1]] 5.96/2.36 >>> 5.96/2.36 5.96/2.36 <<< 5.96/2.36 POL(l(x_1)) = [[0], [0]] + [[1, 0], [1, 0]] * x_1 5.96/2.36 >>> 5.96/2.36 5.96/2.36 <<< 5.96/2.36 POL(f(x_1, x_2)) = [[1], [1]] + [[1, 0], [0, 0]] * x_1 + [[1, 0], [1, 0]] * x_2 5.96/2.36 >>> 5.96/2.36 5.96/2.36 With this ordering the following rules can be removed [MATRO] because they are oriented strictly: 5.96/2.36 Rules from R: 5.96/2.36 5.96/2.36 m(r(x)) -> r(m(x)) 5.96/2.36 Rules from S: 5.96/2.36 none 5.96/2.36 5.96/2.36 5.96/2.36 5.96/2.36 5.96/2.36 ---------------------------------------- 5.96/2.36 5.96/2.36 (6) 5.96/2.36 Obligation: 5.96/2.36 Relative term rewrite system: 5.96/2.36 R is empty. 5.96/2.36 The relative TRS consists of the following S rules: 5.96/2.36 5.96/2.36 b -> l(b) 5.96/2.36 f(x, y) -> f(x, r(y)) 5.96/2.36 5.96/2.36 5.96/2.36 ---------------------------------------- 5.96/2.36 5.96/2.36 (7) RIsEmptyProof (EQUIVALENT) 5.96/2.36 The TRS R is empty. Hence, termination is trivially proven. 5.96/2.36 ---------------------------------------- 5.96/2.36 5.96/2.36 (8) 5.96/2.36 YES 6.26/2.41 EOF