MAYBE
Trs:
 {           min(0(), y) -> 0(),
         min(s(x), s(y)) -> s(min(x, y)),
             min(x, 0()) -> 0(),
             max(0(), y) -> y,
         max(s(x), s(y)) -> s(max(x, y)),
             max(x, 0()) -> x,
       minus(s(x), s(y)) -> s(minus(x, y)),
           minus(x, 0()) -> x,
         gcd(s(x), s(y)) -> gcd(minus(max(x, y), min(x, transform(y))), s(min(x, y))),
  cons(cons(x, z), s(y)) -> transform(x),
  cons(x, cons(y, s(z))) -> cons(y, x),
              cons(x, y) -> y,
         transform(s(x)) -> s(s(transform(x))),
   transform(cons(x, y)) -> cons(cons(x, x), x),
   transform(cons(x, y)) -> y,
            transform(x) -> s(s(x))}
 Comment:
  We consider a duplicating trs.
  FAIL:
   Open