8.14/3.00 YES 8.37/3.10 proof of /export/starexec/sandbox2/benchmark/theBenchmark.xml 8.37/3.10 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 8.37/3.10 8.37/3.10 8.37/3.10 Termination of the given RelTRS could be proven: 8.37/3.10 8.37/3.10 (0) RelTRS 8.37/3.10 (1) RelTRS Reverse [EQUIVALENT, 0 ms] 8.37/3.10 (2) RelTRS 8.37/3.10 (3) FlatCCProof [EQUIVALENT, 0 ms] 8.37/3.10 (4) RelTRS 8.37/3.10 (5) RootLabelingProof [EQUIVALENT, 1 ms] 8.37/3.10 (6) RelTRS 8.37/3.10 (7) RelTRSRRRProof [EQUIVALENT, 20 ms] 8.37/3.10 (8) RelTRS 8.37/3.10 (9) RelTRSRRRProof [EQUIVALENT, 156 ms] 8.37/3.10 (10) RelTRS 8.37/3.10 (11) RelTRSRRRProof [EQUIVALENT, 80 ms] 8.37/3.10 (12) RelTRS 8.37/3.10 (13) RIsEmptyProof [EQUIVALENT, 1 ms] 8.37/3.10 (14) YES 8.37/3.10 8.37/3.10 8.37/3.10 ---------------------------------------- 8.37/3.10 8.37/3.10 (0) 8.37/3.10 Obligation: 8.37/3.10 Relative term rewrite system: 8.37/3.10 The relative TRS consists of the following R rules: 8.37/3.10 8.37/3.10 f(g(f(x))) -> f(g(g(g(f(x))))) 8.37/3.10 8.37/3.10 The relative TRS consists of the following S rules: 8.37/3.10 8.37/3.10 g(x) -> g(g(x)) 8.37/3.10 g(x) -> g(g(f(g(g(x))))) 8.37/3.10 f(x) -> g(g(f(g(g(x))))) 8.37/3.10 8.37/3.10 8.37/3.10 ---------------------------------------- 8.37/3.10 8.37/3.10 (1) RelTRS Reverse (EQUIVALENT) 8.37/3.10 We have reversed the following relative TRS [REVERSE]: 8.37/3.10 The set of rules R is 8.37/3.10 f(g(f(x))) -> f(g(g(g(f(x))))) 8.37/3.10 8.37/3.10 The set of rules S is 8.37/3.10 g(x) -> g(g(x)) 8.37/3.10 g(x) -> g(g(f(g(g(x))))) 8.37/3.10 f(x) -> g(g(f(g(g(x))))) 8.37/3.10 8.37/3.10 We have obtained the following relative TRS: 8.37/3.10 The set of rules R is 8.37/3.10 f(g(f(x))) -> f(g(g(g(f(x))))) 8.37/3.10 8.37/3.10 The set of rules S is 8.37/3.10 g(x) -> g(g(x)) 8.37/3.10 g(x) -> g(g(f(g(g(x))))) 8.37/3.10 f(x) -> g(g(f(g(g(x))))) 8.37/3.10 8.37/3.10 8.37/3.10 ---------------------------------------- 8.37/3.10 8.37/3.10 (2) 8.37/3.10 Obligation: 8.37/3.10 Relative term rewrite system: 8.37/3.10 The relative TRS consists of the following R rules: 8.37/3.10 8.37/3.10 f(g(f(x))) -> f(g(g(g(f(x))))) 8.37/3.10 8.37/3.10 The relative TRS consists of the following S rules: 8.37/3.10 8.37/3.10 g(x) -> g(g(x)) 8.37/3.10 g(x) -> g(g(f(g(g(x))))) 8.37/3.10 f(x) -> g(g(f(g(g(x))))) 8.37/3.10 8.37/3.10 8.37/3.10 ---------------------------------------- 8.37/3.10 8.37/3.10 (3) FlatCCProof (EQUIVALENT) 8.37/3.10 We used flat context closure [ROOTLAB] 8.37/3.10 8.37/3.10 ---------------------------------------- 8.37/3.10 8.37/3.10 (4) 8.37/3.10 Obligation: 8.37/3.10 Relative term rewrite system: 8.37/3.10 The relative TRS consists of the following R rules: 8.37/3.10 8.37/3.10 f(g(f(x))) -> f(g(g(g(f(x))))) 8.37/3.10 8.37/3.10 The relative TRS consists of the following S rules: 8.37/3.10 8.37/3.10 g(x) -> g(g(x)) 8.37/3.10 g(x) -> g(g(f(g(g(x))))) 8.37/3.10 f(f(x)) -> f(g(g(f(g(g(x)))))) 8.37/3.10 g(f(x)) -> g(g(g(f(g(g(x)))))) 8.37/3.10 8.37/3.10 8.37/3.10 ---------------------------------------- 8.37/3.10 8.37/3.10 (5) RootLabelingProof (EQUIVALENT) 8.37/3.10 We used plain root labeling [ROOTLAB] with the following heuristic: 8.37/3.10 LabelAll: All function symbols get labeled 8.37/3.10 8.37/3.10 8.37/3.10 ---------------------------------------- 8.37/3.10 8.37/3.10 (6) 8.37/3.10 Obligation: 8.37/3.10 Relative term rewrite system: 8.37/3.10 The relative TRS consists of the following R rules: 8.37/3.10 8.37/3.10 f_{g_1}(g_{f_1}(f_{f_1}(x))) -> f_{g_1}(g_{g_1}(g_{g_1}(g_{f_1}(f_{f_1}(x))))) 8.37/3.10 f_{g_1}(g_{f_1}(f_{g_1}(x))) -> f_{g_1}(g_{g_1}(g_{g_1}(g_{f_1}(f_{g_1}(x))))) 8.37/3.10 8.37/3.10 The relative TRS consists of the following S rules: 8.37/3.10 8.37/3.10 g_{f_1}(x) -> g_{g_1}(g_{f_1}(x)) 8.37/3.10 g_{g_1}(x) -> g_{g_1}(g_{g_1}(x)) 8.37/3.10 g_{f_1}(x) -> g_{g_1}(g_{f_1}(f_{g_1}(g_{g_1}(g_{f_1}(x))))) 8.37/3.10 g_{g_1}(x) -> g_{g_1}(g_{f_1}(f_{g_1}(g_{g_1}(g_{g_1}(x))))) 8.37/3.10 f_{f_1}(f_{f_1}(x)) -> f_{g_1}(g_{g_1}(g_{f_1}(f_{g_1}(g_{g_1}(g_{f_1}(x)))))) 8.37/3.10 f_{f_1}(f_{g_1}(x)) -> f_{g_1}(g_{g_1}(g_{f_1}(f_{g_1}(g_{g_1}(g_{g_1}(x)))))) 8.37/3.10 g_{f_1}(f_{f_1}(x)) -> g_{g_1}(g_{g_1}(g_{f_1}(f_{g_1}(g_{g_1}(g_{f_1}(x)))))) 8.37/3.10 g_{f_1}(f_{g_1}(x)) -> g_{g_1}(g_{g_1}(g_{f_1}(f_{g_1}(g_{g_1}(g_{g_1}(x)))))) 8.37/3.10 8.37/3.10 8.37/3.10 ---------------------------------------- 8.37/3.10 8.37/3.10 (7) RelTRSRRRProof (EQUIVALENT) 8.37/3.10 We used the following monotonic ordering for rule removal: 8.37/3.10 Polynomial interpretation [POLO]: 8.37/3.10 8.37/3.10 POL(f_{f_1}(x_1)) = 1 + x_1 8.37/3.10 POL(f_{g_1}(x_1)) = x_1 8.37/3.10 POL(g_{f_1}(x_1)) = x_1 8.37/3.10 POL(g_{g_1}(x_1)) = x_1 8.37/3.10 With this ordering the following rules can be removed [MATRO] because they are oriented strictly: 8.37/3.10 Rules from R: 8.37/3.10 none 8.37/3.10 Rules from S: 8.37/3.10 8.37/3.10 f_{f_1}(f_{f_1}(x)) -> f_{g_1}(g_{g_1}(g_{f_1}(f_{g_1}(g_{g_1}(g_{f_1}(x)))))) 8.37/3.10 f_{f_1}(f_{g_1}(x)) -> f_{g_1}(g_{g_1}(g_{f_1}(f_{g_1}(g_{g_1}(g_{g_1}(x)))))) 8.37/3.10 g_{f_1}(f_{f_1}(x)) -> g_{g_1}(g_{g_1}(g_{f_1}(f_{g_1}(g_{g_1}(g_{f_1}(x)))))) 8.37/3.10 8.37/3.10 8.37/3.10 8.37/3.10 8.37/3.10 ---------------------------------------- 8.37/3.10 8.37/3.10 (8) 8.37/3.10 Obligation: 8.37/3.10 Relative term rewrite system: 8.37/3.10 The relative TRS consists of the following R rules: 8.37/3.10 8.37/3.10 f_{g_1}(g_{f_1}(f_{f_1}(x))) -> f_{g_1}(g_{g_1}(g_{g_1}(g_{f_1}(f_{f_1}(x))))) 8.37/3.10 f_{g_1}(g_{f_1}(f_{g_1}(x))) -> f_{g_1}(g_{g_1}(g_{g_1}(g_{f_1}(f_{g_1}(x))))) 8.37/3.10 8.37/3.10 The relative TRS consists of the following S rules: 8.37/3.10 8.37/3.10 g_{f_1}(x) -> g_{g_1}(g_{f_1}(x)) 8.37/3.10 g_{g_1}(x) -> g_{g_1}(g_{g_1}(x)) 8.37/3.10 g_{f_1}(x) -> g_{g_1}(g_{f_1}(f_{g_1}(g_{g_1}(g_{f_1}(x))))) 8.37/3.10 g_{g_1}(x) -> g_{g_1}(g_{f_1}(f_{g_1}(g_{g_1}(g_{g_1}(x))))) 8.37/3.10 g_{f_1}(f_{g_1}(x)) -> g_{g_1}(g_{g_1}(g_{f_1}(f_{g_1}(g_{g_1}(g_{g_1}(x)))))) 8.37/3.10 8.37/3.10 8.37/3.10 ---------------------------------------- 8.37/3.10 8.37/3.10 (9) RelTRSRRRProof (EQUIVALENT) 8.37/3.10 We used the following monotonic ordering for rule removal: 8.37/3.10 Matrix interpretation [MATRO] to (N^2, +, *, >=, >) : 8.37/3.10 8.37/3.10 <<< 8.37/3.10 POL(f_{g_1}(x_1)) = [[0], [0]] + [[1, 1], [0, 0]] * x_1 8.37/3.10 >>> 8.37/3.10 8.37/3.10 <<< 8.37/3.10 POL(g_{f_1}(x_1)) = [[0], [0]] + [[1, 0], [1, 0]] * x_1 8.37/3.10 >>> 8.37/3.10 8.37/3.10 <<< 8.37/3.10 POL(f_{f_1}(x_1)) = [[2], [0]] + [[2, 0], [0, 0]] * x_1 8.37/3.10 >>> 8.37/3.10 8.37/3.10 <<< 8.37/3.10 POL(g_{g_1}(x_1)) = [[0], [0]] + [[1, 0], [0, 0]] * x_1 8.37/3.10 >>> 8.37/3.10 8.37/3.10 With this ordering the following rules can be removed [MATRO] because they are oriented strictly: 8.37/3.10 Rules from R: 8.37/3.10 8.37/3.10 f_{g_1}(g_{f_1}(f_{f_1}(x))) -> f_{g_1}(g_{g_1}(g_{g_1}(g_{f_1}(f_{f_1}(x))))) 8.37/3.10 Rules from S: 8.37/3.10 none 8.37/3.10 8.37/3.10 8.37/3.10 8.37/3.10 8.37/3.10 ---------------------------------------- 8.37/3.10 8.37/3.10 (10) 8.37/3.10 Obligation: 8.37/3.10 Relative term rewrite system: 8.37/3.10 The relative TRS consists of the following R rules: 8.37/3.10 8.37/3.10 f_{g_1}(g_{f_1}(f_{g_1}(x))) -> f_{g_1}(g_{g_1}(g_{g_1}(g_{f_1}(f_{g_1}(x))))) 8.37/3.10 8.37/3.10 The relative TRS consists of the following S rules: 8.37/3.10 8.37/3.10 g_{f_1}(x) -> g_{g_1}(g_{f_1}(x)) 8.37/3.10 g_{g_1}(x) -> g_{g_1}(g_{g_1}(x)) 8.37/3.10 g_{f_1}(x) -> g_{g_1}(g_{f_1}(f_{g_1}(g_{g_1}(g_{f_1}(x))))) 8.37/3.10 g_{g_1}(x) -> g_{g_1}(g_{f_1}(f_{g_1}(g_{g_1}(g_{g_1}(x))))) 8.37/3.10 g_{f_1}(f_{g_1}(x)) -> g_{g_1}(g_{g_1}(g_{f_1}(f_{g_1}(g_{g_1}(g_{g_1}(x)))))) 8.37/3.10 8.37/3.10 8.37/3.10 ---------------------------------------- 8.37/3.10 8.37/3.10 (11) RelTRSRRRProof (EQUIVALENT) 8.37/3.10 We used the following monotonic ordering for rule removal: 8.37/3.10 Matrix interpretation [MATRO] to (N^2, +, *, >=, >) : 8.37/3.10 8.37/3.10 <<< 8.37/3.10 POL(f_{g_1}(x_1)) = [[0], [1]] + [[1, 1], [0, 2]] * x_1 8.37/3.10 >>> 8.37/3.10 8.37/3.10 <<< 8.37/3.10 POL(g_{f_1}(x_1)) = [[0], [2]] + [[1, 0], [1, 2]] * x_1 8.37/3.10 >>> 8.37/3.10 8.37/3.10 <<< 8.37/3.10 POL(g_{g_1}(x_1)) = [[0], [0]] + [[1, 0], [0, 0]] * x_1 8.37/3.10 >>> 8.37/3.10 8.37/3.10 With this ordering the following rules can be removed [MATRO] because they are oriented strictly: 8.37/3.10 Rules from R: 8.37/3.10 8.37/3.10 f_{g_1}(g_{f_1}(f_{g_1}(x))) -> f_{g_1}(g_{g_1}(g_{g_1}(g_{f_1}(f_{g_1}(x))))) 8.37/3.10 Rules from S: 8.37/3.10 none 8.37/3.10 8.37/3.10 8.37/3.10 8.37/3.10 8.37/3.10 ---------------------------------------- 8.37/3.10 8.37/3.10 (12) 8.37/3.10 Obligation: 8.37/3.10 Relative term rewrite system: 8.37/3.10 R is empty. 8.37/3.10 The relative TRS consists of the following S rules: 8.37/3.10 8.37/3.10 g_{f_1}(x) -> g_{g_1}(g_{f_1}(x)) 8.37/3.10 g_{g_1}(x) -> g_{g_1}(g_{g_1}(x)) 8.37/3.10 g_{f_1}(x) -> g_{g_1}(g_{f_1}(f_{g_1}(g_{g_1}(g_{f_1}(x))))) 8.37/3.10 g_{g_1}(x) -> g_{g_1}(g_{f_1}(f_{g_1}(g_{g_1}(g_{g_1}(x))))) 8.37/3.10 g_{f_1}(f_{g_1}(x)) -> g_{g_1}(g_{g_1}(g_{f_1}(f_{g_1}(g_{g_1}(g_{g_1}(x)))))) 8.37/3.10 8.37/3.10 8.37/3.10 ---------------------------------------- 8.37/3.10 8.37/3.10 (13) RIsEmptyProof (EQUIVALENT) 8.37/3.10 The TRS R is empty. Hence, termination is trivially proven. 8.37/3.10 ---------------------------------------- 8.37/3.10 8.37/3.10 (14) 8.37/3.10 YES 8.60/3.17 EOF