YES Prover = TRS(tech=PATTERN_RULES, nb_unfoldings=unlimited, max_nb_unfolded_rules=200) ** BEGIN proof argument ** All the DP problems were proved finite. As all the involved DP processors are sound, the TRS under analysis terminates. ** END proof argument ** ** BEGIN proof description ** ## Searching for a generalized rewrite rule (a rule whose right-hand side contains a variable that does not occur in the left-hand side)... No generalized rewrite rule found! ## Applying the DP framework... ## Round 1: ## DP problem: Dependency pairs = [rev^#(++(_0,_1)) -> rev^#(_1), rev^#(++(_0,_1)) -> rev^#(_0)] TRS = {flatten(nil) -> nil, flatten(unit(_0)) -> flatten(_0), flatten(++(_0,_1)) -> ++(flatten(_0),flatten(_1)), flatten(++(unit(_0),_1)) -> ++(flatten(_0),flatten(_1)), flatten(flatten(_0)) -> flatten(_0), rev(nil) -> nil, rev(unit(_0)) -> unit(_0), rev(++(_0,_1)) -> ++(rev(_1),rev(_0)), rev(rev(_0)) -> _0, ++(_0,nil) -> _0, ++(nil,_0) -> _0, ++(++(_0,_1),_2) -> ++(_0,++(_1,_2))} ## Trying with homeomorphic embeddings... Success! This DP problem is finite. ## DP problem: Dependency pairs = [flatten^#(unit(_0)) -> flatten^#(_0), flatten^#(++(_0,_1)) -> flatten^#(_0), flatten^#(++(_0,_1)) -> flatten^#(_1), flatten^#(++(unit(_0),_1)) -> flatten^#(_0), flatten^#(++(unit(_0),_1)) -> flatten^#(_1), flatten^#(flatten(_0)) -> flatten^#(_0)] TRS = {flatten(nil) -> nil, flatten(unit(_0)) -> flatten(_0), flatten(++(_0,_1)) -> ++(flatten(_0),flatten(_1)), flatten(++(unit(_0),_1)) -> ++(flatten(_0),flatten(_1)), flatten(flatten(_0)) -> flatten(_0), rev(nil) -> nil, rev(unit(_0)) -> unit(_0), rev(++(_0,_1)) -> ++(rev(_1),rev(_0)), rev(rev(_0)) -> _0, ++(_0,nil) -> _0, ++(nil,_0) -> _0, ++(++(_0,_1),_2) -> ++(_0,++(_1,_2))} ## Trying with homeomorphic embeddings... Success! This DP problem is finite. ## DP problem: Dependency pairs = [++^#(++(_0,_1),_2) -> ++^#(_0,++(_1,_2)), ++^#(++(_0,_1),_2) -> ++^#(_1,_2)] TRS = {flatten(nil) -> nil, flatten(unit(_0)) -> flatten(_0), flatten(++(_0,_1)) -> ++(flatten(_0),flatten(_1)), flatten(++(unit(_0),_1)) -> ++(flatten(_0),flatten(_1)), flatten(flatten(_0)) -> flatten(_0), rev(nil) -> nil, rev(unit(_0)) -> unit(_0), rev(++(_0,_1)) -> ++(rev(_1),rev(_0)), rev(rev(_0)) -> _0, ++(_0,nil) -> _0, ++(nil,_0) -> _0, ++(++(_0,_1),_2) -> ++(_0,++(_1,_2))} ## Trying with homeomorphic embeddings... Failed! ## Trying with polynomial interpretations... The constraints are satisfied by the polynomials: {flatten(_0):[_0], unit(_0):[_0], ++(_0,_1):[_0 * _1], nil:[2], rev(_0):[_0], ++^#(_0,_1):[_0]} for all instantiations of the variables with values greater than or equal to mu = 2. This DP problem is finite. ** END proof description ** Proof stopped at iteration 0 Number of unfolded rules generated by this proof = 0 Number of unfolded rules generated by all the parallel proofs = 300