TRS:
 {    a__minus(0(), Y) -> 0(),
  a__minus(s(X), s(Y)) -> a__minus(X, Y),
        a__geq(X, 0()) -> true(),
     a__geq(0(), s(Y)) -> false(),
    a__geq(s(X), s(Y)) -> a__geq(X, Y),
     a__div(0(), s(Y)) -> 0(),
    a__div(s(X), s(Y)) -> a__if(a__geq(X, Y), s(div(minus(X, Y), s(Y))), 0()),
   a__if(true(), X, Y) -> mark(X),
  a__if(false(), X, Y) -> mark(Y),
   mark(minus(X1, X2)) -> a__minus(X1, X2),
     mark(geq(X1, X2)) -> a__geq(X1, X2),
     mark(div(X1, X2)) -> a__div(mark(X1), X2),
  mark(if(X1, X2, X3)) -> a__if(mark(X1), X2, X3),
             mark(0()) -> 0(),
            mark(s(X)) -> s(mark(X)),
          mark(true()) -> true(),
         mark(false()) -> false(),
      a__minus(X1, X2) -> minus(X1, X2),
        a__geq(X1, X2) -> geq(X1, X2),
        a__div(X1, X2) -> div(X1, X2),
     a__if(X1, X2, X3) -> if(X1, X2, X3)}
 Fail