3.51/1.77 YES 3.51/1.78 proof of /export/starexec/sandbox/benchmark/theBenchmark.xml 3.51/1.78 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 3.51/1.78 3.51/1.78 3.51/1.78 Termination w.r.t. Q of the given QTRS could be proven: 3.51/1.78 3.51/1.78 (0) QTRS 3.51/1.78 (1) QTRSRRRProof [EQUIVALENT, 24 ms] 3.51/1.78 (2) QTRS 3.51/1.78 (3) RisEmptyProof [EQUIVALENT, 0 ms] 3.51/1.78 (4) YES 3.51/1.78 3.51/1.78 3.51/1.78 ---------------------------------------- 3.51/1.78 3.51/1.78 (0) 3.51/1.78 Obligation: 3.51/1.78 Q restricted rewrite system: 3.51/1.78 The TRS R consists of the following rules: 3.51/1.78 3.51/1.78 append(@l1, @l2) -> append#1(@l1, @l2) 3.51/1.78 append#1(::(@x, @xs), @l2) -> ::(@x, append(@xs, @l2)) 3.51/1.78 append#1(nil, @l2) -> @l2 3.51/1.78 appendAll(@l) -> appendAll#1(@l) 3.51/1.78 appendAll#1(::(@l1, @ls)) -> append(@l1, appendAll(@ls)) 3.51/1.78 appendAll#1(nil) -> nil 3.51/1.78 appendAll2(@l) -> appendAll2#1(@l) 3.51/1.78 appendAll2#1(::(@l1, @ls)) -> append(appendAll(@l1), appendAll2(@ls)) 3.51/1.78 appendAll2#1(nil) -> nil 3.51/1.78 appendAll3(@l) -> appendAll3#1(@l) 3.51/1.78 appendAll3#1(::(@l1, @ls)) -> append(appendAll2(@l1), appendAll3(@ls)) 3.51/1.78 appendAll3#1(nil) -> nil 3.51/1.78 3.51/1.78 The set Q consists of the following terms: 3.51/1.78 3.51/1.78 append(x0, x1) 3.51/1.78 append#1(::(x0, x1), x2) 3.51/1.78 append#1(nil, x0) 3.51/1.78 appendAll(x0) 3.51/1.78 appendAll#1(::(x0, x1)) 3.51/1.78 appendAll#1(nil) 3.51/1.78 appendAll2(x0) 3.51/1.78 appendAll2#1(::(x0, x1)) 3.51/1.78 appendAll2#1(nil) 3.51/1.78 appendAll3(x0) 3.51/1.78 appendAll3#1(::(x0, x1)) 3.51/1.78 appendAll3#1(nil) 3.51/1.78 3.51/1.78 3.51/1.78 ---------------------------------------- 3.51/1.78 3.51/1.78 (1) QTRSRRRProof (EQUIVALENT) 3.51/1.78 Used ordering: 3.51/1.78 Knuth-Bendix order [KBO] with precedence:appendAll3#1_1 > appendAll3_1 > appendAll2#1_1 > append_2 > append#1_2 > appendAll2_1 > ::_2 > appendAll_1 > appendAll#1_1 > nil 3.51/1.78 3.51/1.78 and weight map: 3.51/1.78 3.51/1.78 nil=1 3.51/1.78 appendAll_1=2 3.51/1.78 appendAll#1_1=2 3.51/1.78 appendAll2_1=2 3.51/1.78 appendAll2#1_1=1 3.51/1.78 appendAll3_1=1 3.51/1.78 appendAll3#1_1=0 3.51/1.78 append_2=0 3.51/1.78 append#1_2=0 3.51/1.78 ::_2=3 3.51/1.78 3.51/1.78 The variable weight is 1With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 3.51/1.78 3.51/1.78 append(@l1, @l2) -> append#1(@l1, @l2) 3.51/1.78 append#1(::(@x, @xs), @l2) -> ::(@x, append(@xs, @l2)) 3.51/1.78 append#1(nil, @l2) -> @l2 3.51/1.78 appendAll(@l) -> appendAll#1(@l) 3.51/1.78 appendAll#1(::(@l1, @ls)) -> append(@l1, appendAll(@ls)) 3.51/1.78 appendAll#1(nil) -> nil 3.51/1.78 appendAll2(@l) -> appendAll2#1(@l) 3.51/1.78 appendAll2#1(::(@l1, @ls)) -> append(appendAll(@l1), appendAll2(@ls)) 3.51/1.78 appendAll2#1(nil) -> nil 3.51/1.78 appendAll3(@l) -> appendAll3#1(@l) 3.51/1.78 appendAll3#1(::(@l1, @ls)) -> append(appendAll2(@l1), appendAll3(@ls)) 3.51/1.78 appendAll3#1(nil) -> nil 3.51/1.78 3.51/1.78 3.51/1.78 3.51/1.78 3.51/1.78 ---------------------------------------- 3.51/1.78 3.51/1.78 (2) 3.51/1.78 Obligation: 3.51/1.78 Q restricted rewrite system: 3.51/1.78 R is empty. 3.51/1.78 The set Q consists of the following terms: 3.51/1.78 3.51/1.78 append(x0, x1) 3.51/1.78 append#1(::(x0, x1), x2) 3.51/1.78 append#1(nil, x0) 3.51/1.78 appendAll(x0) 3.51/1.78 appendAll#1(::(x0, x1)) 3.51/1.78 appendAll#1(nil) 3.51/1.78 appendAll2(x0) 3.51/1.78 appendAll2#1(::(x0, x1)) 3.51/1.78 appendAll2#1(nil) 3.51/1.78 appendAll3(x0) 3.51/1.78 appendAll3#1(::(x0, x1)) 3.51/1.78 appendAll3#1(nil) 3.51/1.78 3.51/1.78 3.51/1.78 ---------------------------------------- 3.51/1.78 3.51/1.78 (3) RisEmptyProof (EQUIVALENT) 3.51/1.78 The TRS R is empty. Hence, termination is trivially proven. 3.51/1.78 ---------------------------------------- 3.51/1.78 3.51/1.78 (4) 3.51/1.78 YES 3.51/1.81 EOF