p1(s1(N)) -> N
+2(N, 0) -> N
+2(s1(N), s1(M)) -> s1(s1(+2(N, M)))
*2(N, 0) -> 0
*2(s1(N), s1(M)) -> s1(+2(N, +2(M, *2(N, M))))
gt2(0, M) -> False
gt2(NzN, 0) -> u_41(is_NzNat1(NzN))
u_41(True) -> True
is_NzNat1(0) -> False
is_NzNat1(s1(N)) -> True
gt2(s1(N), s1(M)) -> gt2(N, M)
lt2(N, M) -> gt2(M, N)
d2(0, N) -> N
d2(s1(N), s1(M)) -> d2(N, M)
quot2(N, NzM) -> u_113(is_NzNat1(NzM), N, NzM)
u_113(True, N, NzM) -> u_13(gt2(N, NzM), N, NzM)
u_13(True, N, NzM) -> s1(quot2(d2(N, NzM), NzM))
quot2(NzM, NzM) -> u_011(is_NzNat1(NzM))
u_011(True) -> s1(0)
quot2(N, NzM) -> u_213(is_NzNat1(NzM), NzM, N)
u_213(True, NzM, N) -> u_21(gt2(NzM, N))
u_21(True) -> 0
gcd2(0, N) -> 0
gcd2(NzM, NzM) -> u_022(is_NzNat1(NzM), NzM)
u_022(True, NzM) -> NzM
gcd2(NzN, NzM) -> u_314(is_NzNat1(NzN), is_NzNat1(NzM), NzN, NzM)
u_314(True, True, NzN, NzM) -> u_33(gt2(NzN, NzM), NzN, NzM)
u_33(True, NzN, NzM) -> gcd2(d2(NzN, NzM), NzM)
↳ QTRS
↳ DependencyPairsProof
p1(s1(N)) -> N
+2(N, 0) -> N
+2(s1(N), s1(M)) -> s1(s1(+2(N, M)))
*2(N, 0) -> 0
*2(s1(N), s1(M)) -> s1(+2(N, +2(M, *2(N, M))))
gt2(0, M) -> False
gt2(NzN, 0) -> u_41(is_NzNat1(NzN))
u_41(True) -> True
is_NzNat1(0) -> False
is_NzNat1(s1(N)) -> True
gt2(s1(N), s1(M)) -> gt2(N, M)
lt2(N, M) -> gt2(M, N)
d2(0, N) -> N
d2(s1(N), s1(M)) -> d2(N, M)
quot2(N, NzM) -> u_113(is_NzNat1(NzM), N, NzM)
u_113(True, N, NzM) -> u_13(gt2(N, NzM), N, NzM)
u_13(True, N, NzM) -> s1(quot2(d2(N, NzM), NzM))
quot2(NzM, NzM) -> u_011(is_NzNat1(NzM))
u_011(True) -> s1(0)
quot2(N, NzM) -> u_213(is_NzNat1(NzM), NzM, N)
u_213(True, NzM, N) -> u_21(gt2(NzM, N))
u_21(True) -> 0
gcd2(0, N) -> 0
gcd2(NzM, NzM) -> u_022(is_NzNat1(NzM), NzM)
u_022(True, NzM) -> NzM
gcd2(NzN, NzM) -> u_314(is_NzNat1(NzN), is_NzNat1(NzM), NzN, NzM)
u_314(True, True, NzN, NzM) -> u_33(gt2(NzN, NzM), NzN, NzM)
u_33(True, NzN, NzM) -> gcd2(d2(NzN, NzM), NzM)
GT2(NzN, 0) -> U_41(is_NzNat1(NzN))
U_33(True, NzN, NzM) -> GCD2(d2(NzN, NzM), NzM)
U_13(True, N, NzM) -> D2(N, NzM)
U_113(True, N, NzM) -> U_13(gt2(N, NzM), N, NzM)
U_213(True, NzM, N) -> GT2(NzM, N)
D2(s1(N), s1(M)) -> D2(N, M)
*12(s1(N), s1(M)) -> +12(N, +2(M, *2(N, M)))
+12(s1(N), s1(M)) -> +12(N, M)
U_213(True, NzM, N) -> U_21(gt2(NzM, N))
GCD2(NzN, NzM) -> IS_NZNAT1(NzM)
LT2(N, M) -> GT2(M, N)
GCD2(NzN, NzM) -> IS_NZNAT1(NzN)
QUOT2(N, NzM) -> U_213(is_NzNat1(NzM), NzM, N)
GCD2(NzM, NzM) -> IS_NZNAT1(NzM)
U_314(True, True, NzN, NzM) -> U_33(gt2(NzN, NzM), NzN, NzM)
GT2(s1(N), s1(M)) -> GT2(N, M)
*12(s1(N), s1(M)) -> *12(N, M)
QUOT2(N, NzM) -> U_113(is_NzNat1(NzM), N, NzM)
GCD2(NzN, NzM) -> U_314(is_NzNat1(NzN), is_NzNat1(NzM), NzN, NzM)
QUOT2(NzM, NzM) -> U_011(is_NzNat1(NzM))
GCD2(NzM, NzM) -> U_022(is_NzNat1(NzM), NzM)
GT2(NzN, 0) -> IS_NZNAT1(NzN)
*12(s1(N), s1(M)) -> +12(M, *2(N, M))
QUOT2(NzM, NzM) -> IS_NZNAT1(NzM)
U_33(True, NzN, NzM) -> D2(NzN, NzM)
U_113(True, N, NzM) -> GT2(N, NzM)
QUOT2(N, NzM) -> IS_NZNAT1(NzM)
U_314(True, True, NzN, NzM) -> GT2(NzN, NzM)
U_13(True, N, NzM) -> QUOT2(d2(N, NzM), NzM)
p1(s1(N)) -> N
+2(N, 0) -> N
+2(s1(N), s1(M)) -> s1(s1(+2(N, M)))
*2(N, 0) -> 0
*2(s1(N), s1(M)) -> s1(+2(N, +2(M, *2(N, M))))
gt2(0, M) -> False
gt2(NzN, 0) -> u_41(is_NzNat1(NzN))
u_41(True) -> True
is_NzNat1(0) -> False
is_NzNat1(s1(N)) -> True
gt2(s1(N), s1(M)) -> gt2(N, M)
lt2(N, M) -> gt2(M, N)
d2(0, N) -> N
d2(s1(N), s1(M)) -> d2(N, M)
quot2(N, NzM) -> u_113(is_NzNat1(NzM), N, NzM)
u_113(True, N, NzM) -> u_13(gt2(N, NzM), N, NzM)
u_13(True, N, NzM) -> s1(quot2(d2(N, NzM), NzM))
quot2(NzM, NzM) -> u_011(is_NzNat1(NzM))
u_011(True) -> s1(0)
quot2(N, NzM) -> u_213(is_NzNat1(NzM), NzM, N)
u_213(True, NzM, N) -> u_21(gt2(NzM, N))
u_21(True) -> 0
gcd2(0, N) -> 0
gcd2(NzM, NzM) -> u_022(is_NzNat1(NzM), NzM)
u_022(True, NzM) -> NzM
gcd2(NzN, NzM) -> u_314(is_NzNat1(NzN), is_NzNat1(NzM), NzN, NzM)
u_314(True, True, NzN, NzM) -> u_33(gt2(NzN, NzM), NzN, NzM)
u_33(True, NzN, NzM) -> gcd2(d2(NzN, NzM), NzM)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
GT2(NzN, 0) -> U_41(is_NzNat1(NzN))
U_33(True, NzN, NzM) -> GCD2(d2(NzN, NzM), NzM)
U_13(True, N, NzM) -> D2(N, NzM)
U_113(True, N, NzM) -> U_13(gt2(N, NzM), N, NzM)
U_213(True, NzM, N) -> GT2(NzM, N)
D2(s1(N), s1(M)) -> D2(N, M)
*12(s1(N), s1(M)) -> +12(N, +2(M, *2(N, M)))
+12(s1(N), s1(M)) -> +12(N, M)
U_213(True, NzM, N) -> U_21(gt2(NzM, N))
GCD2(NzN, NzM) -> IS_NZNAT1(NzM)
LT2(N, M) -> GT2(M, N)
GCD2(NzN, NzM) -> IS_NZNAT1(NzN)
QUOT2(N, NzM) -> U_213(is_NzNat1(NzM), NzM, N)
GCD2(NzM, NzM) -> IS_NZNAT1(NzM)
U_314(True, True, NzN, NzM) -> U_33(gt2(NzN, NzM), NzN, NzM)
GT2(s1(N), s1(M)) -> GT2(N, M)
*12(s1(N), s1(M)) -> *12(N, M)
QUOT2(N, NzM) -> U_113(is_NzNat1(NzM), N, NzM)
GCD2(NzN, NzM) -> U_314(is_NzNat1(NzN), is_NzNat1(NzM), NzN, NzM)
QUOT2(NzM, NzM) -> U_011(is_NzNat1(NzM))
GCD2(NzM, NzM) -> U_022(is_NzNat1(NzM), NzM)
GT2(NzN, 0) -> IS_NZNAT1(NzN)
*12(s1(N), s1(M)) -> +12(M, *2(N, M))
QUOT2(NzM, NzM) -> IS_NZNAT1(NzM)
U_33(True, NzN, NzM) -> D2(NzN, NzM)
U_113(True, N, NzM) -> GT2(N, NzM)
QUOT2(N, NzM) -> IS_NZNAT1(NzM)
U_314(True, True, NzN, NzM) -> GT2(NzN, NzM)
U_13(True, N, NzM) -> QUOT2(d2(N, NzM), NzM)
p1(s1(N)) -> N
+2(N, 0) -> N
+2(s1(N), s1(M)) -> s1(s1(+2(N, M)))
*2(N, 0) -> 0
*2(s1(N), s1(M)) -> s1(+2(N, +2(M, *2(N, M))))
gt2(0, M) -> False
gt2(NzN, 0) -> u_41(is_NzNat1(NzN))
u_41(True) -> True
is_NzNat1(0) -> False
is_NzNat1(s1(N)) -> True
gt2(s1(N), s1(M)) -> gt2(N, M)
lt2(N, M) -> gt2(M, N)
d2(0, N) -> N
d2(s1(N), s1(M)) -> d2(N, M)
quot2(N, NzM) -> u_113(is_NzNat1(NzM), N, NzM)
u_113(True, N, NzM) -> u_13(gt2(N, NzM), N, NzM)
u_13(True, N, NzM) -> s1(quot2(d2(N, NzM), NzM))
quot2(NzM, NzM) -> u_011(is_NzNat1(NzM))
u_011(True) -> s1(0)
quot2(N, NzM) -> u_213(is_NzNat1(NzM), NzM, N)
u_213(True, NzM, N) -> u_21(gt2(NzM, N))
u_21(True) -> 0
gcd2(0, N) -> 0
gcd2(NzM, NzM) -> u_022(is_NzNat1(NzM), NzM)
u_022(True, NzM) -> NzM
gcd2(NzN, NzM) -> u_314(is_NzNat1(NzN), is_NzNat1(NzM), NzN, NzM)
u_314(True, True, NzN, NzM) -> u_33(gt2(NzN, NzM), NzN, NzM)
u_33(True, NzN, NzM) -> gcd2(d2(NzN, NzM), NzM)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
D2(s1(N), s1(M)) -> D2(N, M)
p1(s1(N)) -> N
+2(N, 0) -> N
+2(s1(N), s1(M)) -> s1(s1(+2(N, M)))
*2(N, 0) -> 0
*2(s1(N), s1(M)) -> s1(+2(N, +2(M, *2(N, M))))
gt2(0, M) -> False
gt2(NzN, 0) -> u_41(is_NzNat1(NzN))
u_41(True) -> True
is_NzNat1(0) -> False
is_NzNat1(s1(N)) -> True
gt2(s1(N), s1(M)) -> gt2(N, M)
lt2(N, M) -> gt2(M, N)
d2(0, N) -> N
d2(s1(N), s1(M)) -> d2(N, M)
quot2(N, NzM) -> u_113(is_NzNat1(NzM), N, NzM)
u_113(True, N, NzM) -> u_13(gt2(N, NzM), N, NzM)
u_13(True, N, NzM) -> s1(quot2(d2(N, NzM), NzM))
quot2(NzM, NzM) -> u_011(is_NzNat1(NzM))
u_011(True) -> s1(0)
quot2(N, NzM) -> u_213(is_NzNat1(NzM), NzM, N)
u_213(True, NzM, N) -> u_21(gt2(NzM, N))
u_21(True) -> 0
gcd2(0, N) -> 0
gcd2(NzM, NzM) -> u_022(is_NzNat1(NzM), NzM)
u_022(True, NzM) -> NzM
gcd2(NzN, NzM) -> u_314(is_NzNat1(NzN), is_NzNat1(NzM), NzN, NzM)
u_314(True, True, NzN, NzM) -> u_33(gt2(NzN, NzM), NzN, NzM)
u_33(True, NzN, NzM) -> gcd2(d2(NzN, NzM), NzM)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
D2(s1(N), s1(M)) -> D2(N, M)
POL(D2(x1, x2)) = x2
POL(s1(x1)) = 1 + x1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
p1(s1(N)) -> N
+2(N, 0) -> N
+2(s1(N), s1(M)) -> s1(s1(+2(N, M)))
*2(N, 0) -> 0
*2(s1(N), s1(M)) -> s1(+2(N, +2(M, *2(N, M))))
gt2(0, M) -> False
gt2(NzN, 0) -> u_41(is_NzNat1(NzN))
u_41(True) -> True
is_NzNat1(0) -> False
is_NzNat1(s1(N)) -> True
gt2(s1(N), s1(M)) -> gt2(N, M)
lt2(N, M) -> gt2(M, N)
d2(0, N) -> N
d2(s1(N), s1(M)) -> d2(N, M)
quot2(N, NzM) -> u_113(is_NzNat1(NzM), N, NzM)
u_113(True, N, NzM) -> u_13(gt2(N, NzM), N, NzM)
u_13(True, N, NzM) -> s1(quot2(d2(N, NzM), NzM))
quot2(NzM, NzM) -> u_011(is_NzNat1(NzM))
u_011(True) -> s1(0)
quot2(N, NzM) -> u_213(is_NzNat1(NzM), NzM, N)
u_213(True, NzM, N) -> u_21(gt2(NzM, N))
u_21(True) -> 0
gcd2(0, N) -> 0
gcd2(NzM, NzM) -> u_022(is_NzNat1(NzM), NzM)
u_022(True, NzM) -> NzM
gcd2(NzN, NzM) -> u_314(is_NzNat1(NzN), is_NzNat1(NzM), NzN, NzM)
u_314(True, True, NzN, NzM) -> u_33(gt2(NzN, NzM), NzN, NzM)
u_33(True, NzN, NzM) -> gcd2(d2(NzN, NzM), NzM)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
GT2(s1(N), s1(M)) -> GT2(N, M)
p1(s1(N)) -> N
+2(N, 0) -> N
+2(s1(N), s1(M)) -> s1(s1(+2(N, M)))
*2(N, 0) -> 0
*2(s1(N), s1(M)) -> s1(+2(N, +2(M, *2(N, M))))
gt2(0, M) -> False
gt2(NzN, 0) -> u_41(is_NzNat1(NzN))
u_41(True) -> True
is_NzNat1(0) -> False
is_NzNat1(s1(N)) -> True
gt2(s1(N), s1(M)) -> gt2(N, M)
lt2(N, M) -> gt2(M, N)
d2(0, N) -> N
d2(s1(N), s1(M)) -> d2(N, M)
quot2(N, NzM) -> u_113(is_NzNat1(NzM), N, NzM)
u_113(True, N, NzM) -> u_13(gt2(N, NzM), N, NzM)
u_13(True, N, NzM) -> s1(quot2(d2(N, NzM), NzM))
quot2(NzM, NzM) -> u_011(is_NzNat1(NzM))
u_011(True) -> s1(0)
quot2(N, NzM) -> u_213(is_NzNat1(NzM), NzM, N)
u_213(True, NzM, N) -> u_21(gt2(NzM, N))
u_21(True) -> 0
gcd2(0, N) -> 0
gcd2(NzM, NzM) -> u_022(is_NzNat1(NzM), NzM)
u_022(True, NzM) -> NzM
gcd2(NzN, NzM) -> u_314(is_NzNat1(NzN), is_NzNat1(NzM), NzN, NzM)
u_314(True, True, NzN, NzM) -> u_33(gt2(NzN, NzM), NzN, NzM)
u_33(True, NzN, NzM) -> gcd2(d2(NzN, NzM), NzM)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
GT2(s1(N), s1(M)) -> GT2(N, M)
POL(GT2(x1, x2)) = x2
POL(s1(x1)) = 1 + x1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
p1(s1(N)) -> N
+2(N, 0) -> N
+2(s1(N), s1(M)) -> s1(s1(+2(N, M)))
*2(N, 0) -> 0
*2(s1(N), s1(M)) -> s1(+2(N, +2(M, *2(N, M))))
gt2(0, M) -> False
gt2(NzN, 0) -> u_41(is_NzNat1(NzN))
u_41(True) -> True
is_NzNat1(0) -> False
is_NzNat1(s1(N)) -> True
gt2(s1(N), s1(M)) -> gt2(N, M)
lt2(N, M) -> gt2(M, N)
d2(0, N) -> N
d2(s1(N), s1(M)) -> d2(N, M)
quot2(N, NzM) -> u_113(is_NzNat1(NzM), N, NzM)
u_113(True, N, NzM) -> u_13(gt2(N, NzM), N, NzM)
u_13(True, N, NzM) -> s1(quot2(d2(N, NzM), NzM))
quot2(NzM, NzM) -> u_011(is_NzNat1(NzM))
u_011(True) -> s1(0)
quot2(N, NzM) -> u_213(is_NzNat1(NzM), NzM, N)
u_213(True, NzM, N) -> u_21(gt2(NzM, N))
u_21(True) -> 0
gcd2(0, N) -> 0
gcd2(NzM, NzM) -> u_022(is_NzNat1(NzM), NzM)
u_022(True, NzM) -> NzM
gcd2(NzN, NzM) -> u_314(is_NzNat1(NzN), is_NzNat1(NzM), NzN, NzM)
u_314(True, True, NzN, NzM) -> u_33(gt2(NzN, NzM), NzN, NzM)
u_33(True, NzN, NzM) -> gcd2(d2(NzN, NzM), NzM)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
U_33(True, NzN, NzM) -> GCD2(d2(NzN, NzM), NzM)
U_314(True, True, NzN, NzM) -> U_33(gt2(NzN, NzM), NzN, NzM)
GCD2(NzN, NzM) -> U_314(is_NzNat1(NzN), is_NzNat1(NzM), NzN, NzM)
p1(s1(N)) -> N
+2(N, 0) -> N
+2(s1(N), s1(M)) -> s1(s1(+2(N, M)))
*2(N, 0) -> 0
*2(s1(N), s1(M)) -> s1(+2(N, +2(M, *2(N, M))))
gt2(0, M) -> False
gt2(NzN, 0) -> u_41(is_NzNat1(NzN))
u_41(True) -> True
is_NzNat1(0) -> False
is_NzNat1(s1(N)) -> True
gt2(s1(N), s1(M)) -> gt2(N, M)
lt2(N, M) -> gt2(M, N)
d2(0, N) -> N
d2(s1(N), s1(M)) -> d2(N, M)
quot2(N, NzM) -> u_113(is_NzNat1(NzM), N, NzM)
u_113(True, N, NzM) -> u_13(gt2(N, NzM), N, NzM)
u_13(True, N, NzM) -> s1(quot2(d2(N, NzM), NzM))
quot2(NzM, NzM) -> u_011(is_NzNat1(NzM))
u_011(True) -> s1(0)
quot2(N, NzM) -> u_213(is_NzNat1(NzM), NzM, N)
u_213(True, NzM, N) -> u_21(gt2(NzM, N))
u_21(True) -> 0
gcd2(0, N) -> 0
gcd2(NzM, NzM) -> u_022(is_NzNat1(NzM), NzM)
u_022(True, NzM) -> NzM
gcd2(NzN, NzM) -> u_314(is_NzNat1(NzN), is_NzNat1(NzM), NzN, NzM)
u_314(True, True, NzN, NzM) -> u_33(gt2(NzN, NzM), NzN, NzM)
u_33(True, NzN, NzM) -> gcd2(d2(NzN, NzM), NzM)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
U_113(True, N, NzM) -> U_13(gt2(N, NzM), N, NzM)
QUOT2(N, NzM) -> U_113(is_NzNat1(NzM), N, NzM)
U_13(True, N, NzM) -> QUOT2(d2(N, NzM), NzM)
p1(s1(N)) -> N
+2(N, 0) -> N
+2(s1(N), s1(M)) -> s1(s1(+2(N, M)))
*2(N, 0) -> 0
*2(s1(N), s1(M)) -> s1(+2(N, +2(M, *2(N, M))))
gt2(0, M) -> False
gt2(NzN, 0) -> u_41(is_NzNat1(NzN))
u_41(True) -> True
is_NzNat1(0) -> False
is_NzNat1(s1(N)) -> True
gt2(s1(N), s1(M)) -> gt2(N, M)
lt2(N, M) -> gt2(M, N)
d2(0, N) -> N
d2(s1(N), s1(M)) -> d2(N, M)
quot2(N, NzM) -> u_113(is_NzNat1(NzM), N, NzM)
u_113(True, N, NzM) -> u_13(gt2(N, NzM), N, NzM)
u_13(True, N, NzM) -> s1(quot2(d2(N, NzM), NzM))
quot2(NzM, NzM) -> u_011(is_NzNat1(NzM))
u_011(True) -> s1(0)
quot2(N, NzM) -> u_213(is_NzNat1(NzM), NzM, N)
u_213(True, NzM, N) -> u_21(gt2(NzM, N))
u_21(True) -> 0
gcd2(0, N) -> 0
gcd2(NzM, NzM) -> u_022(is_NzNat1(NzM), NzM)
u_022(True, NzM) -> NzM
gcd2(NzN, NzM) -> u_314(is_NzNat1(NzN), is_NzNat1(NzM), NzN, NzM)
u_314(True, True, NzN, NzM) -> u_33(gt2(NzN, NzM), NzN, NzM)
u_33(True, NzN, NzM) -> gcd2(d2(NzN, NzM), NzM)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
+12(s1(N), s1(M)) -> +12(N, M)
p1(s1(N)) -> N
+2(N, 0) -> N
+2(s1(N), s1(M)) -> s1(s1(+2(N, M)))
*2(N, 0) -> 0
*2(s1(N), s1(M)) -> s1(+2(N, +2(M, *2(N, M))))
gt2(0, M) -> False
gt2(NzN, 0) -> u_41(is_NzNat1(NzN))
u_41(True) -> True
is_NzNat1(0) -> False
is_NzNat1(s1(N)) -> True
gt2(s1(N), s1(M)) -> gt2(N, M)
lt2(N, M) -> gt2(M, N)
d2(0, N) -> N
d2(s1(N), s1(M)) -> d2(N, M)
quot2(N, NzM) -> u_113(is_NzNat1(NzM), N, NzM)
u_113(True, N, NzM) -> u_13(gt2(N, NzM), N, NzM)
u_13(True, N, NzM) -> s1(quot2(d2(N, NzM), NzM))
quot2(NzM, NzM) -> u_011(is_NzNat1(NzM))
u_011(True) -> s1(0)
quot2(N, NzM) -> u_213(is_NzNat1(NzM), NzM, N)
u_213(True, NzM, N) -> u_21(gt2(NzM, N))
u_21(True) -> 0
gcd2(0, N) -> 0
gcd2(NzM, NzM) -> u_022(is_NzNat1(NzM), NzM)
u_022(True, NzM) -> NzM
gcd2(NzN, NzM) -> u_314(is_NzNat1(NzN), is_NzNat1(NzM), NzN, NzM)
u_314(True, True, NzN, NzM) -> u_33(gt2(NzN, NzM), NzN, NzM)
u_33(True, NzN, NzM) -> gcd2(d2(NzN, NzM), NzM)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
+12(s1(N), s1(M)) -> +12(N, M)
POL(+12(x1, x2)) = x2
POL(s1(x1)) = 1 + x1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
p1(s1(N)) -> N
+2(N, 0) -> N
+2(s1(N), s1(M)) -> s1(s1(+2(N, M)))
*2(N, 0) -> 0
*2(s1(N), s1(M)) -> s1(+2(N, +2(M, *2(N, M))))
gt2(0, M) -> False
gt2(NzN, 0) -> u_41(is_NzNat1(NzN))
u_41(True) -> True
is_NzNat1(0) -> False
is_NzNat1(s1(N)) -> True
gt2(s1(N), s1(M)) -> gt2(N, M)
lt2(N, M) -> gt2(M, N)
d2(0, N) -> N
d2(s1(N), s1(M)) -> d2(N, M)
quot2(N, NzM) -> u_113(is_NzNat1(NzM), N, NzM)
u_113(True, N, NzM) -> u_13(gt2(N, NzM), N, NzM)
u_13(True, N, NzM) -> s1(quot2(d2(N, NzM), NzM))
quot2(NzM, NzM) -> u_011(is_NzNat1(NzM))
u_011(True) -> s1(0)
quot2(N, NzM) -> u_213(is_NzNat1(NzM), NzM, N)
u_213(True, NzM, N) -> u_21(gt2(NzM, N))
u_21(True) -> 0
gcd2(0, N) -> 0
gcd2(NzM, NzM) -> u_022(is_NzNat1(NzM), NzM)
u_022(True, NzM) -> NzM
gcd2(NzN, NzM) -> u_314(is_NzNat1(NzN), is_NzNat1(NzM), NzN, NzM)
u_314(True, True, NzN, NzM) -> u_33(gt2(NzN, NzM), NzN, NzM)
u_33(True, NzN, NzM) -> gcd2(d2(NzN, NzM), NzM)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
*12(s1(N), s1(M)) -> *12(N, M)
p1(s1(N)) -> N
+2(N, 0) -> N
+2(s1(N), s1(M)) -> s1(s1(+2(N, M)))
*2(N, 0) -> 0
*2(s1(N), s1(M)) -> s1(+2(N, +2(M, *2(N, M))))
gt2(0, M) -> False
gt2(NzN, 0) -> u_41(is_NzNat1(NzN))
u_41(True) -> True
is_NzNat1(0) -> False
is_NzNat1(s1(N)) -> True
gt2(s1(N), s1(M)) -> gt2(N, M)
lt2(N, M) -> gt2(M, N)
d2(0, N) -> N
d2(s1(N), s1(M)) -> d2(N, M)
quot2(N, NzM) -> u_113(is_NzNat1(NzM), N, NzM)
u_113(True, N, NzM) -> u_13(gt2(N, NzM), N, NzM)
u_13(True, N, NzM) -> s1(quot2(d2(N, NzM), NzM))
quot2(NzM, NzM) -> u_011(is_NzNat1(NzM))
u_011(True) -> s1(0)
quot2(N, NzM) -> u_213(is_NzNat1(NzM), NzM, N)
u_213(True, NzM, N) -> u_21(gt2(NzM, N))
u_21(True) -> 0
gcd2(0, N) -> 0
gcd2(NzM, NzM) -> u_022(is_NzNat1(NzM), NzM)
u_022(True, NzM) -> NzM
gcd2(NzN, NzM) -> u_314(is_NzNat1(NzN), is_NzNat1(NzM), NzN, NzM)
u_314(True, True, NzN, NzM) -> u_33(gt2(NzN, NzM), NzN, NzM)
u_33(True, NzN, NzM) -> gcd2(d2(NzN, NzM), NzM)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
*12(s1(N), s1(M)) -> *12(N, M)
POL(*12(x1, x2)) = x2
POL(s1(x1)) = 1 + x1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
p1(s1(N)) -> N
+2(N, 0) -> N
+2(s1(N), s1(M)) -> s1(s1(+2(N, M)))
*2(N, 0) -> 0
*2(s1(N), s1(M)) -> s1(+2(N, +2(M, *2(N, M))))
gt2(0, M) -> False
gt2(NzN, 0) -> u_41(is_NzNat1(NzN))
u_41(True) -> True
is_NzNat1(0) -> False
is_NzNat1(s1(N)) -> True
gt2(s1(N), s1(M)) -> gt2(N, M)
lt2(N, M) -> gt2(M, N)
d2(0, N) -> N
d2(s1(N), s1(M)) -> d2(N, M)
quot2(N, NzM) -> u_113(is_NzNat1(NzM), N, NzM)
u_113(True, N, NzM) -> u_13(gt2(N, NzM), N, NzM)
u_13(True, N, NzM) -> s1(quot2(d2(N, NzM), NzM))
quot2(NzM, NzM) -> u_011(is_NzNat1(NzM))
u_011(True) -> s1(0)
quot2(N, NzM) -> u_213(is_NzNat1(NzM), NzM, N)
u_213(True, NzM, N) -> u_21(gt2(NzM, N))
u_21(True) -> 0
gcd2(0, N) -> 0
gcd2(NzM, NzM) -> u_022(is_NzNat1(NzM), NzM)
u_022(True, NzM) -> NzM
gcd2(NzN, NzM) -> u_314(is_NzNat1(NzN), is_NzNat1(NzM), NzN, NzM)
u_314(True, True, NzN, NzM) -> u_33(gt2(NzN, NzM), NzN, NzM)
u_33(True, NzN, NzM) -> gcd2(d2(NzN, NzM), NzM)