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 = [qsort^#(.(_0,_1)) -> qsort^#(lowers(_0,_1)), qsort^#(.(_0,_1)) -> qsort^#(greaters(_0,_1))] TRS = {qsort(nil) -> nil, qsort(.(_0,_1)) -> ++(qsort(lowers(_0,_1)),.(_0,qsort(greaters(_0,_1)))), lowers(_0,nil) -> nil, lowers(_0,.(_1,_2)) -> if(<=(_1,_0),.(_1,lowers(_0,_2)),lowers(_0,_2)), greaters(_0,nil) -> nil, greaters(_0,.(_1,_2)) -> if(<=(_1,_0),greaters(_0,_2),.(_1,greaters(_0,_2)))} ## Trying with homeomorphic embeddings... Failed! ## Trying with polynomial interpretations... Too many coefficients (32)! Aborting! ## Trying with lexicographic path orders... The constraints are satisfied by the lexicographic path order using the precedence: qsort > [++], lowers > [nil, if, <=], greaters > [nil, if, <=], . > [qsort, ++, lowers, greaters, nil, if, <=] and the argument filtering: {qsort:[0], ++:[0, 1], if:[0], .:[0], <=:[1], greaters:[0], lowers:[0], qsort^#:[0]} This DP problem is finite. ## DP problem: Dependency pairs = [greaters^#(_0,.(_1,_2)) -> greaters^#(_0,_2), greaters^#(_0,.(_1,_2)) -> greaters^#(_0,_2)] TRS = {qsort(nil) -> nil, qsort(.(_0,_1)) -> ++(qsort(lowers(_0,_1)),.(_0,qsort(greaters(_0,_1)))), lowers(_0,nil) -> nil, lowers(_0,.(_1,_2)) -> if(<=(_1,_0),.(_1,lowers(_0,_2)),lowers(_0,_2)), greaters(_0,nil) -> nil, greaters(_0,.(_1,_2)) -> if(<=(_1,_0),greaters(_0,_2),.(_1,greaters(_0,_2)))} ## Trying with homeomorphic embeddings... Success! This DP problem is finite. ## DP problem: Dependency pairs = [lowers^#(_0,.(_1,_2)) -> lowers^#(_0,_2), lowers^#(_0,.(_1,_2)) -> lowers^#(_0,_2)] TRS = {qsort(nil) -> nil, qsort(.(_0,_1)) -> ++(qsort(lowers(_0,_1)),.(_0,qsort(greaters(_0,_1)))), lowers(_0,nil) -> nil, lowers(_0,.(_1,_2)) -> if(<=(_1,_0),.(_1,lowers(_0,_2)),lowers(_0,_2)), greaters(_0,nil) -> nil, greaters(_0,.(_1,_2)) -> if(<=(_1,_0),greaters(_0,_2),.(_1,greaters(_0,_2)))} ## Trying with homeomorphic embeddings... Success! 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 = 2