# Bubblesort (VAR x y) (RULES eval_1(x, y) -> eval_2(x, 0) :|: x > 0 eval_2(x, y) -> eval_2(x, y + 1) :|: x > 0 && y >= 0 && x > y eval_2(x, y) -> eval_1(x - 1, y) :|: x > 0 && y >= 0 && y >= x )