6.96/2.62 YES 6.96/2.64 proof of /export/starexec/sandbox/benchmark/theBenchmark.xml 6.96/2.64 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 6.96/2.64 6.96/2.64 6.96/2.64 Termination of the given RelTRS could be proven: 6.96/2.64 6.96/2.64 (0) RelTRS 6.96/2.64 (1) RelTRS S Cleaner [EQUIVALENT, 0 ms] 6.96/2.64 (2) RelTRS 6.96/2.64 (3) RelTRS Reverse [EQUIVALENT, 0 ms] 6.96/2.64 (4) RelTRS 6.96/2.64 (5) RelTRSRRRProof [EQUIVALENT, 80 ms] 6.96/2.64 (6) RelTRS 6.96/2.64 (7) RelTRSRRRProof [EQUIVALENT, 5 ms] 6.96/2.64 (8) RelTRS 6.96/2.64 (9) RIsEmptyProof [EQUIVALENT, 0 ms] 6.96/2.64 (10) YES 6.96/2.64 6.96/2.64 6.96/2.64 ---------------------------------------- 6.96/2.64 6.96/2.64 (0) 6.96/2.64 Obligation: 6.96/2.64 Relative term rewrite system: 6.96/2.64 The relative TRS consists of the following R rules: 6.96/2.64 6.96/2.64 c(a(b(x1))) -> a(c(a(x1))) 6.96/2.64 c(c(c(x1))) -> b(b(b(x1))) 6.96/2.64 6.96/2.64 The relative TRS consists of the following S rules: 6.96/2.64 6.96/2.64 a(c(a(x1))) -> b(a(a(x1))) 6.96/2.64 a(a(a(x1))) -> a(a(a(x1))) 6.96/2.64 a(a(b(x1))) -> c(b(a(x1))) 6.96/2.64 b(a(c(x1))) -> c(b(c(x1))) 6.96/2.64 b(a(c(x1))) -> b(a(b(x1))) 6.96/2.64 6.96/2.64 6.96/2.64 ---------------------------------------- 6.96/2.64 6.96/2.64 (1) RelTRS S Cleaner (EQUIVALENT) 6.96/2.64 We have deleted all rules from S that have the shape t -> t: 6.96/2.64 6.96/2.64 a(a(a(x1))) -> a(a(a(x1))) 6.96/2.64 6.96/2.64 6.96/2.64 ---------------------------------------- 6.96/2.64 6.96/2.64 (2) 6.96/2.64 Obligation: 6.96/2.64 Relative term rewrite system: 6.96/2.64 The relative TRS consists of the following R rules: 6.96/2.64 6.96/2.64 c(a(b(x1))) -> a(c(a(x1))) 6.96/2.64 c(c(c(x1))) -> b(b(b(x1))) 6.96/2.64 6.96/2.64 The relative TRS consists of the following S rules: 6.96/2.64 6.96/2.64 a(c(a(x1))) -> b(a(a(x1))) 6.96/2.64 a(a(b(x1))) -> c(b(a(x1))) 6.96/2.64 b(a(c(x1))) -> c(b(c(x1))) 6.96/2.64 b(a(c(x1))) -> b(a(b(x1))) 6.96/2.64 6.96/2.64 6.96/2.64 ---------------------------------------- 6.96/2.64 6.96/2.64 (3) RelTRS Reverse (EQUIVALENT) 6.96/2.64 We have reversed the following relative TRS [REVERSE]: 6.96/2.64 The set of rules R is 6.96/2.64 c(a(b(x1))) -> a(c(a(x1))) 6.96/2.64 c(c(c(x1))) -> b(b(b(x1))) 6.96/2.64 6.96/2.64 The set of rules S is 6.96/2.64 a(c(a(x1))) -> b(a(a(x1))) 6.96/2.64 a(a(b(x1))) -> c(b(a(x1))) 6.96/2.64 b(a(c(x1))) -> c(b(c(x1))) 6.96/2.64 b(a(c(x1))) -> b(a(b(x1))) 6.96/2.64 6.96/2.64 We have obtained the following relative TRS: 6.96/2.64 The set of rules R is 6.96/2.64 b(a(c(x1))) -> a(c(a(x1))) 6.96/2.64 c(c(c(x1))) -> b(b(b(x1))) 6.96/2.64 6.96/2.64 The set of rules S is 6.96/2.64 a(c(a(x1))) -> a(a(b(x1))) 6.96/2.64 b(a(a(x1))) -> a(b(c(x1))) 6.96/2.64 c(a(b(x1))) -> c(b(c(x1))) 6.96/2.64 c(a(b(x1))) -> b(a(b(x1))) 6.96/2.64 6.96/2.64 6.96/2.64 ---------------------------------------- 6.96/2.64 6.96/2.64 (4) 6.96/2.64 Obligation: 6.96/2.64 Relative term rewrite system: 6.96/2.64 The relative TRS consists of the following R rules: 6.96/2.64 6.96/2.64 b(a(c(x1))) -> a(c(a(x1))) 6.96/2.64 c(c(c(x1))) -> b(b(b(x1))) 6.96/2.64 6.96/2.64 The relative TRS consists of the following S rules: 6.96/2.64 6.96/2.64 a(c(a(x1))) -> a(a(b(x1))) 6.96/2.64 b(a(a(x1))) -> a(b(c(x1))) 6.96/2.64 c(a(b(x1))) -> c(b(c(x1))) 6.96/2.64 c(a(b(x1))) -> b(a(b(x1))) 6.96/2.64 6.96/2.64 6.96/2.64 ---------------------------------------- 6.96/2.64 6.96/2.64 (5) RelTRSRRRProof (EQUIVALENT) 6.96/2.64 We used the following monotonic ordering for rule removal: 6.96/2.64 Matrix interpretation [MATRO] to (N^2, +, *, >=, >) : 6.96/2.64 6.96/2.64 <<< 6.96/2.64 POL(b(x_1)) = [[0], [0]] + [[2, 0], [0, 0]] * x_1 6.96/2.64 >>> 6.96/2.64 6.96/2.64 <<< 6.96/2.64 POL(a(x_1)) = [[0], [0]] + [[2, 1], [0, 0]] * x_1 6.96/2.64 >>> 6.96/2.64 6.96/2.64 <<< 6.96/2.64 POL(c(x_1)) = [[0], [1]] + [[2, 0], [0, 2]] * x_1 6.96/2.64 >>> 6.96/2.64 6.96/2.64 With this ordering the following rules can be removed [MATRO] because they are oriented strictly: 6.96/2.64 Rules from R: 6.96/2.64 6.96/2.64 b(a(c(x1))) -> a(c(a(x1))) 6.96/2.64 Rules from S: 6.96/2.64 6.96/2.64 a(c(a(x1))) -> a(a(b(x1))) 6.96/2.64 6.96/2.64 6.96/2.64 6.96/2.64 6.96/2.64 ---------------------------------------- 6.96/2.64 6.96/2.64 (6) 6.96/2.64 Obligation: 6.96/2.64 Relative term rewrite system: 6.96/2.64 The relative TRS consists of the following R rules: 6.96/2.64 6.96/2.64 c(c(c(x1))) -> b(b(b(x1))) 6.96/2.64 6.96/2.64 The relative TRS consists of the following S rules: 6.96/2.64 6.96/2.64 b(a(a(x1))) -> a(b(c(x1))) 6.96/2.64 c(a(b(x1))) -> c(b(c(x1))) 6.96/2.64 c(a(b(x1))) -> b(a(b(x1))) 6.96/2.64 6.96/2.64 6.96/2.64 ---------------------------------------- 6.96/2.64 6.96/2.64 (7) RelTRSRRRProof (EQUIVALENT) 6.96/2.64 We used the following monotonic ordering for rule removal: 6.96/2.64 Polynomial interpretation [POLO]: 6.96/2.64 6.96/2.64 POL(a(x_1)) = 1 + x_1 6.96/2.64 POL(b(x_1)) = x_1 6.96/2.64 POL(c(x_1)) = 1 + x_1 6.96/2.64 With this ordering the following rules can be removed [MATRO] because they are oriented strictly: 6.96/2.64 Rules from R: 6.96/2.64 6.96/2.64 c(c(c(x1))) -> b(b(b(x1))) 6.96/2.64 Rules from S: 6.96/2.64 6.96/2.64 c(a(b(x1))) -> b(a(b(x1))) 6.96/2.64 6.96/2.64 6.96/2.64 6.96/2.64 6.96/2.64 ---------------------------------------- 6.96/2.64 6.96/2.64 (8) 6.96/2.64 Obligation: 6.96/2.64 Relative term rewrite system: 6.96/2.64 R is empty. 6.96/2.64 The relative TRS consists of the following S rules: 6.96/2.64 6.96/2.64 b(a(a(x1))) -> a(b(c(x1))) 6.96/2.64 c(a(b(x1))) -> c(b(c(x1))) 6.96/2.64 6.96/2.64 6.96/2.64 ---------------------------------------- 6.96/2.64 6.96/2.64 (9) RIsEmptyProof (EQUIVALENT) 6.96/2.64 The TRS R is empty. Hence, termination is trivially proven. 6.96/2.64 ---------------------------------------- 6.96/2.64 6.96/2.64 (10) 6.96/2.64 YES 7.13/2.68 EOF