MAYBE MAYBE TRS: { p(s(N)) -> N, +(N, 0()) -> N, +(s(N), s(M)) -> s(s(+(N, M))), *(N, 0()) -> 0(), *(s(N), s(M)) -> s(+(N, +(M, *(N, M)))), gt(NzN, 0()) -> u_4(is_NzNat(NzN)), gt(s(N), s(M)) -> gt(N, M), gt(0(), M) -> False(), u_4(True()) -> True(), is_NzNat(s(N)) -> True(), is_NzNat(0()) -> False(), lt(N, M) -> gt(M, N), d(s(N), s(M)) -> d(N, M), d(0(), N) -> N, u_11(True(), N, NzM) -> u_1(gt(N, NzM), N, NzM), quot(N, NzM) -> u_11(is_NzNat(NzM), N, NzM), quot(N, NzM) -> u_21(is_NzNat(NzM), NzM, N), quot(NzM, NzM) -> u_01(is_NzNat(NzM)), u_1(True(), N, NzM) -> s(quot(d(N, NzM), NzM)), u_01(True()) -> s(0()), u_21(True(), NzM, N) -> u_2(gt(NzM, N)), u_2(True()) -> 0(), gcd(NzN, NzM) -> u_31(is_NzNat(NzN), is_NzNat(NzM), NzN, NzM), gcd(NzM, NzM) -> u_02(is_NzNat(NzM), NzM), gcd(0(), N) -> 0(), u_02(True(), NzM) -> NzM, u_31(True(), True(), NzN, NzM) -> u_3(gt(NzN, NzM), NzN, NzM), u_3(True(), NzN, NzM) -> gcd(d(NzN, NzM), NzM) } DUP: We consider a duplicating system. Trs: { p(s(N)) -> N, +(N, 0()) -> N, +(s(N), s(M)) -> s(s(+(N, M))), *(N, 0()) -> 0(), *(s(N), s(M)) -> s(+(N, +(M, *(N, M)))), gt(NzN, 0()) -> u_4(is_NzNat(NzN)), gt(s(N), s(M)) -> gt(N, M), gt(0(), M) -> False(), u_4(True()) -> True(), is_NzNat(s(N)) -> True(), is_NzNat(0()) -> False(), lt(N, M) -> gt(M, N), d(s(N), s(M)) -> d(N, M), d(0(), N) -> N, u_11(True(), N, NzM) -> u_1(gt(N, NzM), N, NzM), quot(N, NzM) -> u_11(is_NzNat(NzM), N, NzM), quot(N, NzM) -> u_21(is_NzNat(NzM), NzM, N), quot(NzM, NzM) -> u_01(is_NzNat(NzM)), u_1(True(), N, NzM) -> s(quot(d(N, NzM), NzM)), u_01(True()) -> s(0()), u_21(True(), NzM, N) -> u_2(gt(NzM, N)), u_2(True()) -> 0(), gcd(NzN, NzM) -> u_31(is_NzNat(NzN), is_NzNat(NzM), NzN, NzM), gcd(NzM, NzM) -> u_02(is_NzNat(NzM), NzM), gcd(0(), N) -> 0(), u_02(True(), NzM) -> NzM, u_31(True(), True(), NzN, NzM) -> u_3(gt(NzN, NzM), NzN, NzM), u_3(True(), NzN, NzM) -> gcd(d(NzN, NzM), NzM) } Fail