3.44/1.59 YES 3.44/1.60 proof of /export/starexec/sandbox/benchmark/theBenchmark.xml 3.44/1.60 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 3.44/1.60 3.44/1.60 3.44/1.60 Quasi decreasingness of the given CTRS could be proven: 3.44/1.60 3.44/1.60 (0) CTRS 3.44/1.60 (1) CTRSToQTRSProof [SOUND, 0 ms] 3.44/1.60 (2) QTRS 3.44/1.60 (3) QTRSRRRProof [EQUIVALENT, 23 ms] 3.44/1.60 (4) QTRS 3.44/1.60 (5) RisEmptyProof [EQUIVALENT, 0 ms] 3.44/1.60 (6) YES 3.44/1.60 3.44/1.60 3.44/1.60 ---------------------------------------- 3.44/1.60 3.44/1.60 (0) 3.44/1.60 Obligation: 3.44/1.60 Conditional term rewrite system: 3.44/1.60 The TRS R consists of the following rules: 3.44/1.60 3.44/1.60 isnoc(cons(y, nil)) -> tp2(nil, y) 3.44/1.60 3.44/1.60 The conditional TRS C consists of the following conditional rules: 3.44/1.60 3.44/1.60 isnoc(cons(x, ys)) -> tp2(cons(x, xs), y) <= isnoc(ys) -> tp2(xs, y) 3.44/1.60 3.44/1.60 3.44/1.60 ---------------------------------------- 3.44/1.60 3.44/1.60 (1) CTRSToQTRSProof (SOUND) 3.44/1.60 The conditional rules have been transormed into unconditional rules according to [CTRS,AAECCNOC]. 3.44/1.60 ---------------------------------------- 3.44/1.60 3.44/1.60 (2) 3.44/1.60 Obligation: 3.44/1.60 Q restricted rewrite system: 3.44/1.60 The TRS R consists of the following rules: 3.44/1.60 3.44/1.60 isnoc(cons(x, ys)) -> U1(isnoc(ys), x) 3.44/1.60 U1(tp2(xs, y), x) -> tp2(cons(x, xs), y) 3.44/1.60 isnoc(cons(y, nil)) -> tp2(nil, y) 3.44/1.60 3.44/1.60 Q is empty. 3.44/1.60 3.44/1.60 ---------------------------------------- 3.44/1.60 3.44/1.60 (3) QTRSRRRProof (EQUIVALENT) 3.44/1.60 Used ordering: 3.44/1.60 Knuth-Bendix order [KBO] with precedence:nil > isnoc_1 > U1_2 > tp2_2 > cons_2 3.44/1.60 3.44/1.60 and weight map: 3.44/1.60 3.44/1.60 nil=1 3.44/1.60 isnoc_1=2 3.44/1.60 cons_2=0 3.44/1.60 U1_2=0 3.44/1.60 tp2_2=2 3.44/1.60 3.44/1.60 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.44/1.60 3.44/1.60 isnoc(cons(x, ys)) -> U1(isnoc(ys), x) 3.44/1.60 U1(tp2(xs, y), x) -> tp2(cons(x, xs), y) 3.44/1.60 isnoc(cons(y, nil)) -> tp2(nil, y) 3.44/1.60 3.44/1.60 3.44/1.60 3.44/1.60 3.44/1.60 ---------------------------------------- 3.44/1.60 3.44/1.60 (4) 3.44/1.60 Obligation: 3.44/1.60 Q restricted rewrite system: 3.44/1.60 R is empty. 3.44/1.60 Q is empty. 3.44/1.60 3.44/1.60 ---------------------------------------- 3.44/1.60 3.44/1.60 (5) RisEmptyProof (EQUIVALENT) 3.44/1.60 The TRS R is empty. Hence, termination is trivially proven. 3.44/1.60 ---------------------------------------- 3.44/1.60 3.44/1.60 (6) 3.44/1.60 YES 3.61/1.63 EOF