MAYBE Termination Proof using AProVETerm Rewriting System R:
[N, M, V1, V2, M1, N1, M2, N2, Y, X2, X1, X, V, z, y, x]
3 -> s--Nat(s--Nat(s--Nat(0)))
4 -> s--Nat(3)
5 -> s--Nat(4)
8 -> -+--Nat-Nat(3, 5)
initial -> ---Basin-BasinSet(basin-Nat-Nat(3, 0), ---Basin-Basin(basin-Nat-Nat(5, 0), basin-Nat-Nat(8, 0)))
-+--Nat-Nat(0, N) -> N
-+--Nat-Nat(s--Nat(N), M) -> s--Nat(-+--Nat-Nat(N, M))
-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -+--Nat-Nat(V1, V2)
-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -+--Nat-os-osb-Nat-os-csb(V1, V2)
-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -+--os-osb-Nat-os-csb-Nat(V1, V2)
---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)) -> U11-Thruth-Nat-Nat-Nat-Nat(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(-<=--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2)
---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)) -> U21-Thruth-Nat-Nat-Nat-Nat(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(->--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2)
---BasinSet-BasinSet(V1, V2) -> ---Basin-Basin(V1, V2)
---BasinSet-BasinSet(V1, V2) -> ---Basin-BasinSet(V1, V2)
---BasinSet-BasinSet(V1, V2) -> ---BasinSet-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-BasinSet(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-os-osb-BasinSet-os-csb(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-BasinSet(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-os-osb-BasinSet-os-csb(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---os-osb-BasinSet-os-csb-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---os-osb-BasinSet-os-csb-BasinSet(V1, V2)
-<=--Nat-Nat(0, N) -> true
-<=--Nat-Nat(N, N) -> true
-<=--Nat-Nat(s--Nat(N), 0) -> false
-<=--Nat-Nat(s--Nat(N), s--Nat(M)) -> -<=--Nat-Nat(N, M)
-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -<=--Nat-Nat(V1, V2)
-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -<=--Nat-os-osb-Nat-os-csb(V1, V2)
-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -<=--os-osb-Nat-os-csb-Nat(V1, V2)
->--Nat-Nat(N, M) -> not-Bool(-<=--Nat-Nat(N, M))
->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> ->--Nat-Nat(V1, V2)
->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> ->--Nat-os-osb-Nat-os-csb(V1, V2)
->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> ->--os-osb-Nat-os-csb-Nat(V1, V2)
U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(-<=--Nat-Nat(Y, X2))
U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(Y, X2))
U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(Y, X2))
U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U11-Thruth-Nat-Nat-Nat-Nat(tt, M1, M2, N1, N2) -> ---Basin-Basin(basin-Nat-Nat(M1, 0), basin-Nat-Nat(M2, -+--Nat-Nat(N1, N2)))
U111-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(->--Nat-Nat(X1, Y))
U121-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(->--Nat-Nat(Y, X2))
U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(->--Nat-Nat(X1, Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(X1, Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(X1, Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(->--Nat-Nat(Y, X2))
U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(Y, X2))
U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(Y, X2))
U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---Basin-Basin(X1, Y))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---Basin-BasinSet(X1, Y))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---BasinSet-Basin(X1, Y))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---BasinSet-BasinSet(X1, Y))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-Basin(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-Basin(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-BasinSet(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-BasinSet(Y, X2))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---Basin-Basin(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---Basin-BasinSet(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---BasinSet-Basin(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---BasinSet-BasinSet(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-Basin(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-BasinSet(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, Y))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-Basin(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-Basin(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-BasinSet(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-BasinSet(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-Basin(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-BasinSet(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(Y, X2))
U191-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Basin(basin-Nat-Nat(X1, Y))
U201-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Basin(basin-Nat-Nat(Y, X2))
U21-Thruth-Nat-Nat-Nat-Nat(tt, M1, M2, N1, N2) -> ---Basin-Basin(basin-Nat-Nat(M1, sd-Nat-Nat(-+--Nat-Nat(N1, N2), M2)), basin-Nat-Nat(M2, M2))
U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Basin(basin-Nat-Nat(X1, Y))
U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(X1, Y))
U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(X1, Y))
U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Basin(basin-Nat-Nat(Y, X2))
U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(Y, X2))
U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(Y, X2))
U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U231-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-Basin(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Basin-Basin(Y))
U231-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-BasinSet(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Basin-BasinSet(Y))
U231-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Basin-os-osb-BasinSet-os-csb(Y))
U241-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-Basin(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'BasinSet-Basin(Y))
U241-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-BasinSet(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'BasinSet-BasinSet(Y))
U241-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'BasinSet-os-osb-BasinSet-os-csb(Y))
U251-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Bool-Bool(Y))
U251-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Bool-os-osb-Bool-os-csb(Y))
U261-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Nat-Nat(Y))
U261-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-os-osb-Nat-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Nat-os-osb-Nat-os-csb(Y))
U271-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(Y)) -> osb---csb-Bool(not-Bool(Y))
U281-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(Y)) -> osb---csb-Bool(not-Bool(Y))
U281-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(Y)) -> osb---csb-os-osb-Bool-os-csb(not-os-osb-Bool-os-csb(Y))
U291-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(Y)) -> osb---csb-Nat(s--Nat(Y))
U301-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(Y)) -> osb---csb-Nat(s--Nat(Y))
U301-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-os-osb-Nat-os-csb(Y)) -> osb---csb-os-osb-Nat-os-csb(s--os-osb-Nat-os-csb(Y))
U31-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(-+--Nat-Nat(X1, Y))
U311-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(sd-Nat-Nat(X1, Y))
U321-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(sd-Nat-Nat(Y, X2))
U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(sd-Nat-Nat(X1, Y))
U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(X1, Y))
U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(X1, Y))
U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(sd-Nat-Nat(Y, X2))
U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(Y, X2))
U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(Y, X2))
U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U41-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(-+--Nat-Nat(Y, X2))
U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(-+--Nat-Nat(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(-+--Nat-Nat(Y, X2))
U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(Y, X2))
U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(Y, X2))
U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U71-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(-<=--Nat-Nat(X1, Y))
U81-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(-<=--Nat-Nat(Y, X2))
U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(-<=--Nat-Nat(X1, Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(X1, Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(X1, Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
basin-Nat-Nat(M1, N1) -> basin-Nat-Nat(M1, 0)
basin-Nat-Nat(M1, N1) -> basin-Nat-Nat(M1, M1)
basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> basin-Nat-Nat(V1, V2)
basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> basin-Nat-os-osb-Nat-os-csb(V1, V2)
basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> basin-os-osb-Nat-os-csb-Nat(V1, V2)
equal-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-Basin(X), osb---csb-Basin(X)) -> tt
equal-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-BasinSet(X), osb---csb-BasinSet(X)) -> tt
equal-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-os-osb-BasinSet-os-csb(X), osb---csb-os-osb-BasinSet-os-csb(X)) -> tt
equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(X), osb---csb-Bool(X)) -> tt
equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(X), osb---csb-os-osb-Bool-os-csb(X)) -> tt
equal-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(X), osb---csb-Nat(X)) -> tt
equal-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-os-osb-Nat-os-csb(X), osb---csb-os-osb-Nat-os-csb(X)) -> tt
equal-os-osb-os-osb-Thruth-os-csb-os-csb-os-osb-os-osb-Thruth-os-csb-os-csb(osb---csb-Thruth(X), osb---csb-Thruth(X)) -> tt
equal-os-osb-os-osb-Thruth-os-csb-os-csb-os-osb-os-osb-Thruth-os-csb-os-csb(osb---csb-os-osb-Thruth-os-csb(X), osb---csb-os-osb-Thruth-os-csb(X)) -> tt
is'Basin-Basin(V) -> tt
is'Basin-os-osb-BasinSet-os-csb(V1) -> is'Basin-Basin(V1)
is'Basin-os-osb-BasinSet-os-csb(V1) -> is'Basin-BasinSet(V1)
is'BasinSet-Basin(V) -> tt
is'BasinSet-BasinSet(V) -> tt
is'BasinSet-os-osb-BasinSet-os-csb(V1) -> is'BasinSet-Basin(V1)
is'BasinSet-os-osb-BasinSet-os-csb(V1) -> is'BasinSet-BasinSet(V1)
is'Bool-Bool(V) -> tt
is'Bool-os-osb-Bool-os-csb(V1) -> is'Bool-Bool(V1)
is'Nat-Nat(V) -> tt
is'Nat-os-osb-Nat-os-csb(V1) -> is'Nat-Nat(V1)
not-Bool(false) -> true
not-Bool(true) -> false
not-os-osb-Bool-os-csb(V1) -> not-Bool(V1)
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U191-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U201-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-BasinSet(initial) -> osb---csb-BasinSet(---Basin-BasinSet(basin-Nat-Nat(3, 0), ---Basin-Basin(basin-Nat-Nat(5, 0), basin-Nat-Nat(8, 0))))
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-Bool(-<=--Nat-Nat(0, N)) -> osb---csb-Bool(true)
ocb---ccb-Bool(-<=--Nat-Nat(N, N)) -> osb---csb-Bool(true)
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U71-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U81-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(-<=--Nat-Nat(s--Nat(N), 0)) -> osb---csb-Bool(false)
ocb---ccb-Bool(-<=--Nat-Nat(s--Nat(N), s--Nat(M))) -> osb---csb-Bool(-<=--Nat-Nat(N, M))
ocb---ccb-Bool(->--Nat-Nat(N, M)) -> osb---csb-Bool(not-Bool(-<=--Nat-Nat(N, M)))
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U111-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U121-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(not-Bool(X1)) -> U271-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-Bool(X1))
ocb---ccb-Bool(not-Bool(X1)) -> U281-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-Bool(X1))
ocb---ccb-Bool(not-Bool(false)) -> osb---csb-Bool(true)
ocb---ccb-Bool(not-Bool(true)) -> osb---csb-Bool(false)
ocb---ccb-Nat(3) -> osb---csb-Nat(s--Nat(s--Nat(s--Nat(0))))
ocb---ccb-Nat(4) -> osb---csb-Nat(s--Nat(3))
ocb---ccb-Nat(5) -> osb---csb-Nat(s--Nat(4))
ocb---ccb-Nat(8) -> osb---csb-Nat(-+--Nat-Nat(3, 5))
ocb---ccb-Nat(-+--Nat-Nat(0, N)) -> osb---csb-Nat(N)
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U31-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U41-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(-+--Nat-Nat(s--Nat(N), M)) -> osb---csb-Nat(s--Nat(-+--Nat-Nat(N, M)))
ocb---ccb-Nat(s--Nat(X1)) -> U291-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-Nat(X1))
ocb---ccb-Nat(s--Nat(X1)) -> U301-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-Nat(X1))
ocb---ccb-Nat(sd-Nat-Nat(0, N)) -> osb---csb-Nat(N)
ocb---ccb-Nat(sd-Nat-Nat(N, 0)) -> osb---csb-Nat(N)
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U311-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U321-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(s--Nat(N), s--Nat(M))) -> osb---csb-Nat(sd-Nat-Nat(N, M))
ocb---ccb-os-osb-BasinSet-os-csb(V1) -> ocb---ccb-Basin(V1)
ocb---ccb-os-osb-BasinSet-os-csb(V1) -> ocb---ccb-BasinSet(V1)
ocb---ccb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-Basin(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-Basin(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(V1) -> ocb---ccb-Bool(V1)
ocb---ccb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(not-os-osb-Bool-os-csb(X1)) -> U281-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-os-osb-Bool-os-csb(X1))
ocb---ccb-os-osb-Nat-os-csb(V1) -> ocb---ccb-Nat(V1)
ocb---ccb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(s--os-osb-Nat-os-csb(X1)) -> U301-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1))
ocb---ccb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Thruth-os-csb(V1) -> ocb---ccb-Thruth(V1)
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-Basin(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-Basin(X1)) -> U231-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-Basin(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-BasinSet(X1)) -> U231-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-BasinSet(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-os-osb-BasinSet-os-csb(X1)) -> U231-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-Basin(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-Basin(X1)) -> U241-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-Basin(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-BasinSet(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-BasinSet(X1)) -> U241-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-BasinSet(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-os-osb-BasinSet-os-csb(X1)) -> U241-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Bool-Bool(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'Bool-Bool(X1)) -> U251-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-Bool(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Bool-os-osb-Bool-os-csb(X1)) -> U251-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-os-osb-Bool-os-csb(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Nat-Nat(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'Nat-Nat(X1)) -> U261-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-Nat(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Nat-os-osb-Nat-os-csb(X1)) -> U261-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1))
osb---csb-os-osb-BasinSet-os-csb(V1) -> osb---csb-Basin(V1)
osb---csb-os-osb-BasinSet-os-csb(V1) -> osb---csb-BasinSet(V1)
osb---csb-os-osb-Bool-os-csb(V1) -> osb---csb-Bool(V1)
osb---csb-os-osb-Nat-os-csb(V1) -> osb---csb-Nat(V1)
osb---csb-os-osb-Thruth-os-csb(V1) -> osb---csb-Thruth(V1)
s--os-osb-Nat-os-csb(V1) -> s--Nat(V1)
sd-Nat-Nat(0, N) -> N
sd-Nat-Nat(N, 0) -> N
sd-Nat-Nat(s--Nat(N), s--Nat(M)) -> sd-Nat-Nat(N, M)
sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> sd-Nat-Nat(V1, V2)
sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> sd-Nat-os-osb-Nat-os-csb(V1, V2)
sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> sd-os-osb-Nat-os-csb-Nat(V1, V2)
---Basin-Basin(x, ---Basin-Basin(y, z)) == ---Basin-Basin(---Basin-Basin(x, y), z)
---Basin-Basin(x, y) == ---Basin-Basin(y, x)
---BasinSet-BasinSet(x, ---BasinSet-BasinSet(y, z)) == ---BasinSet-BasinSet(---BasinSet-BasinSet(x, y), z)
---BasinSet-BasinSet(x, y) == ---BasinSet-BasinSet(y, x)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(x, y), z) == ---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(x, ---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(y, z))
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(x, y) == ---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(y, x)
---Basin-BasinSet(x, ---Basin-BasinSet(y, z)) == ---Basin-BasinSet(---Basin-BasinSet(x, y), z)
---Basin-BasinSet(x, y) == ---Basin-BasinSet(y, x)
---BasinSet-Basin(x, ---BasinSet-Basin(y, z)) == ---BasinSet-Basin(---BasinSet-Basin(x, y), z)
---BasinSet-Basin(x, y) == ---BasinSet-Basin(y, x)
---Basin-os-osb-BasinSet-os-csb(x, ---Basin-os-osb-BasinSet-os-csb(y, z)) == ---Basin-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(x, y), z)
---Basin-os-osb-BasinSet-os-csb(x, y) == ---Basin-os-osb-BasinSet-os-csb(y, x)
---BasinSet-os-osb-BasinSet-os-csb(x, ---BasinSet-os-osb-BasinSet-os-csb(y, z)) == ---BasinSet-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(x, y), z)
---BasinSet-os-osb-BasinSet-os-csb(x, y) == ---BasinSet-os-osb-BasinSet-os-csb(y, x)
---os-osb-BasinSet-os-csb-Basin(---os-osb-BasinSet-os-csb-Basin(x, y), z) == ---os-osb-BasinSet-os-csb-Basin(x, ---os-osb-BasinSet-os-csb-Basin(y, z))
---os-osb-BasinSet-os-csb-Basin(x, y) == ---os-osb-BasinSet-os-csb-Basin(y, x)
---os-osb-BasinSet-os-csb-BasinSet(x, ---os-osb-BasinSet-os-csb-BasinSet(y, z)) == ---os-osb-BasinSet-os-csb-BasinSet(---os-osb-BasinSet-os-csb-BasinSet(x, y), z)
---os-osb-BasinSet-os-csb-BasinSet(x, y) == ---os-osb-BasinSet-os-csb-BasinSet(y, x)

Termination of R to be shown.



   R
Dependency Pair Analysis



R contains the following Dependency Pairs:

OCB---CCB-NAT(4) -> 3'
OCB---CCB-NAT(8) -> -+--NAT-NAT(3, 5)
OCB---CCB-NAT(8) -> 3'
OCB---CCB-NAT(8) -> 5'
OCB---CCB-NAT(5) -> 4'
OCB---CCB-NAT(-+--Nat-Nat(s--Nat(N), M)) -> -+--NAT-NAT(N, M)
OCB---CCB-NAT(s--Nat(X1)) -> U291-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB(ocb---ccb-Nat(X1))
OCB---CCB-NAT(s--Nat(X1)) -> OCB---CCB-NAT(X1)
OCB---CCB-NAT(-+--Nat-Nat(X1, X2)) -> U41-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(ocb---ccb-Nat(X1), X2)
OCB---CCB-NAT(-+--Nat-Nat(X1, X2)) -> OCB---CCB-NAT(X1)
OCB---CCB-NAT(sd-Nat-Nat(s--Nat(N), s--Nat(M))) -> SD-NAT-NAT(N, M)
OCB---CCB-NAT(-+--Nat-Nat(X1, X2)) -> U31-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(ocb---ccb-Nat(X2), X1)
OCB---CCB-NAT(-+--Nat-Nat(X1, X2)) -> OCB---CCB-NAT(X2)
OCB---CCB-NAT(s--Nat(X1)) -> U301-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB(ocb---ccb-Nat(X1))
OCB---CCB-NAT(-+--Nat-Nat(X1, X2)) -> U61-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(ocb---ccb-Nat(X1), X2)
OCB---CCB-NAT(sd-Nat-Nat(X1, X2)) -> U321-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(ocb---ccb-Nat(X1), X2)
OCB---CCB-NAT(sd-Nat-Nat(X1, X2)) -> OCB---CCB-NAT(X1)
OCB---CCB-NAT(sd-Nat-Nat(X1, X2)) -> U311-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(ocb---ccb-Nat(X2), X1)
OCB---CCB-NAT(sd-Nat-Nat(X1, X2)) -> OCB---CCB-NAT(X2)
OCB---CCB-NAT(sd-Nat-Nat(X1, X2)) -> U341-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(ocb---ccb-Nat(X1), X2)
OCB---CCB-NAT(-+--Nat-Nat(X1, X2)) -> U51-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(ocb---ccb-Nat(X2), X1)
OCB---CCB-NAT(sd-Nat-Nat(X1, X2)) -> U331-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(ocb---ccb-Nat(X2), X1)
4' -> 3'
8' -> -+--NAT-NAT(3, 5)
8' -> 3'
8' -> 5'
-+--NAT-NAT(s--Nat(N), M) -> -+--NAT-NAT(N, M)
5' -> 4'
OCB---CCB-BASINSET(---Basin-BasinSet(X1, X2)) -> U171-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-BASIN(ocb---ccb-BasinSet(X2), X1)
OCB---CCB-BASINSET(---Basin-BasinSet(X1, X2)) -> OCB---CCB-BASINSET(X2)
OCB---CCB-BASINSET(---Basin-Basin(X1, X2)) -> U171-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-BASIN(ocb---ccb-Basin(X2), X1)
OCB---CCB-BASINSET(---Basin-Basin(X1, X2)) -> OCB---CCB-BASIN(X2)
OCB---CCB-BASINSET(---BasinSet-Basin(X1, X2)) -> U161-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-BASIN(ocb---ccb-BasinSet(X1), X2)
OCB---CCB-BASINSET(---BasinSet-Basin(X1, X2)) -> OCB---CCB-BASINSET(X1)
OCB---CCB-BASINSET(---BasinSet-BasinSet(X1, X2)) -> U171-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-BASINSET(ocb---ccb-BasinSet(X2), X1)
OCB---CCB-BASINSET(---BasinSet-BasinSet(X1, X2)) -> OCB---CCB-BASINSET(X2)
OCB---CCB-BASINSET(---BasinSet-Basin(X1, X2)) -> U151-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-BASINSET(ocb---ccb-Basin(X2), X1)
OCB---CCB-BASINSET(---BasinSet-Basin(X1, X2)) -> OCB---CCB-BASIN(X2)
OCB---CCB-BASINSET(---Basin-BasinSet(X1, X2)) -> U181-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-BASINSET(ocb---ccb-Basin(X1), X2)
OCB---CCB-BASINSET(---Basin-BasinSet(X1, X2)) -> OCB---CCB-BASIN(X1)
OCB---CCB-BASINSET(---Basin-Basin(X1, X2)) -> U151-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-BASIN(ocb---ccb-Basin(X2), X1)
OCB---CCB-BASINSET(initial) -> BASIN-NAT-NAT(3, 0)
OCB---CCB-BASINSET(initial) -> 3'
OCB---CCB-BASINSET(initial) -> ---Basin-Basin(basin-Nat-Nat(5, 0), basin-Nat-Nat(8, 0))
OCB---CCB-BASINSET(initial) -> BASIN-NAT-NAT(5, 0)
OCB---CCB-BASINSET(initial) -> 5'
OCB---CCB-BASINSET(initial) -> BASIN-NAT-NAT(8, 0)
OCB---CCB-BASINSET(initial) -> 8'
OCB---CCB-BASINSET(---BasinSet-BasinSet(X1, X2)) -> U181-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-BASINSET(ocb---ccb-BasinSet(X1), X2)
OCB---CCB-BASINSET(---BasinSet-BasinSet(X1, X2)) -> OCB---CCB-BASINSET(X1)
OCB---CCB-BASINSET(---Basin-BasinSet(X1, X2)) -> U151-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-BASIN(ocb---ccb-BasinSet(X2), X1)
OCB---CCB-BASINSET(---Basin-Basin(X1, X2)) -> U181-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-BASIN(ocb---ccb-Basin(X1), X2)
OCB---CCB-BASINSET(---Basin-Basin(X1, X2)) -> OCB---CCB-BASIN(X1)
OCB---CCB-BASINSET(---BasinSet-Basin(X1, X2)) -> U171-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-BASINSET(ocb---ccb-Basin(X2), X1)
OCB---CCB-BASINSET(---BasinSet-Basin(X1, X2)) -> U181-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-BASIN(ocb---ccb-BasinSet(X1), X2)
OCB---CCB-BASINSET(---Basin-BasinSet(X1, X2)) -> U161-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-BASINSET(ocb---ccb-Basin(X1), X2)
OCB---CCB-BASINSET(---BasinSet-BasinSet(X1, X2)) -> U151-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-BASINSET(ocb---ccb-BasinSet(X2), X1)
OCB---CCB-BASINSET(---Basin-Basin(X1, X2)) -> U161-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-BASIN(ocb---ccb-Basin(X1), X2)
OCB---CCB-BASINSET(---BasinSet-BasinSet(X1, X2)) -> U161-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-BASINSET(ocb---ccb-BasinSet(X1), X2)
U171-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-BASIN(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> OSB---CSB-OS-OSB-BASINSET-OS-CSB(---Basin-os-osb-BasinSet-os-csb(X1, Y))
U171-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-BASIN(osb---csb-Basin(Y), X1) -> ---Basin-Basin(X1, Y)
U281-OS-OSB-OS-OSB-BOOL-OS-CSB-OS-CSB(osb---csb-Bool(Y)) -> NOT-BOOL(Y)
U281-OS-OSB-OS-OSB-BOOL-OS-CSB-OS-CSB(osb---csb-os-osb-Bool-os-csb(Y)) -> OSB---CSB-OS-OSB-BOOL-OS-CSB(not-os-osb-Bool-os-csb(Y))
U281-OS-OSB-OS-OSB-BOOL-OS-CSB-OS-CSB(osb---csb-os-osb-Bool-os-csb(Y)) -> NOT-OS-OSB-BOOL-OS-CSB(Y)
OCB---CCB-OS-OSB-THRUTH-OS-CSB(is'BasinSet-os-osb-BasinSet-os-csb(X1)) -> U241-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB(ocb---ccb-os-osb-BasinSet-os-csb(X1))
OCB---CCB-OS-OSB-THRUTH-OS-CSB(is'BasinSet-os-osb-BasinSet-os-csb(X1)) -> OCB---CCB-OS-OSB-BASINSET-OS-CSB(X1)
OCB---CCB-OS-OSB-THRUTH-OS-CSB(is'Basin-os-osb-BasinSet-os-csb(X1)) -> U231-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB(ocb---ccb-os-osb-BasinSet-os-csb(X1))
OCB---CCB-OS-OSB-THRUTH-OS-CSB(is'Basin-os-osb-BasinSet-os-csb(X1)) -> OCB---CCB-OS-OSB-BASINSET-OS-CSB(X1)
OCB---CCB-OS-OSB-THRUTH-OS-CSB(is'Basin-BasinSet(X1)) -> U231-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB(ocb---ccb-BasinSet(X1))
OCB---CCB-OS-OSB-THRUTH-OS-CSB(is'Basin-BasinSet(X1)) -> OCB---CCB-BASINSET(X1)
OCB---CCB-OS-OSB-THRUTH-OS-CSB(is'Bool-os-osb-Bool-os-csb(X1)) -> U251-OS-OSB-OS-OSB-BOOL-OS-CSB-OS-CSB(ocb---ccb-os-osb-Bool-os-csb(X1))
OCB---CCB-OS-OSB-THRUTH-OS-CSB(is'Bool-os-osb-Bool-os-csb(X1)) -> OCB---CCB-OS-OSB-BOOL-OS-CSB(X1)
OCB---CCB-OS-OSB-THRUTH-OS-CSB(is'Bool-Bool(X1)) -> U251-OS-OSB-OS-OSB-BOOL-OS-CSB-OS-CSB(ocb---ccb-Bool(X1))
OCB---CCB-OS-OSB-THRUTH-OS-CSB(is'Bool-Bool(X1)) -> OCB---CCB-BOOL(X1)
OCB---CCB-OS-OSB-THRUTH-OS-CSB(is'Basin-Basin(X1)) -> U231-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB(ocb---ccb-Basin(X1))
OCB---CCB-OS-OSB-THRUTH-OS-CSB(is'Basin-Basin(X1)) -> OCB---CCB-BASIN(X1)
OCB---CCB-OS-OSB-THRUTH-OS-CSB(is'BasinSet-BasinSet(X1)) -> U241-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB(ocb---ccb-BasinSet(X1))
OCB---CCB-OS-OSB-THRUTH-OS-CSB(is'BasinSet-BasinSet(X1)) -> OCB---CCB-BASINSET(X1)
OCB---CCB-OS-OSB-THRUTH-OS-CSB(is'BasinSet-Basin(X1)) -> U241-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB(ocb---ccb-Basin(X1))
OCB---CCB-OS-OSB-THRUTH-OS-CSB(is'BasinSet-Basin(X1)) -> OCB---CCB-BASIN(X1)
OCB---CCB-OS-OSB-THRUTH-OS-CSB(is'Nat-Nat(X1)) -> U261-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB(ocb---ccb-Nat(X1))
OCB---CCB-OS-OSB-THRUTH-OS-CSB(is'Nat-Nat(X1)) -> OCB---CCB-NAT(X1)
OCB---CCB-OS-OSB-THRUTH-OS-CSB(is'Nat-os-osb-Nat-os-csb(X1)) -> U261-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB(ocb---ccb-os-osb-Nat-os-csb(X1))
OCB---CCB-OS-OSB-THRUTH-OS-CSB(is'Nat-os-osb-Nat-os-csb(X1)) -> OCB---CCB-OS-OSB-NAT-OS-CSB(X1)
IS'BASINSET-OS-OSB-BASINSET-OS-CSB(V1) -> IS'BASINSET-BASINSET(V1)
IS'BASINSET-OS-OSB-BASINSET-OS-CSB(V1) -> IS'BASINSET-BASIN(V1)
U241-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB(osb---csb-BasinSet(Y)) -> OSB---CSB-OS-OSB-THRUTH-OS-CSB(is'BasinSet-BasinSet(Y))
U241-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB(osb---csb-BasinSet(Y)) -> IS'BASINSET-BASINSET(Y)
U241-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB(osb---csb-os-osb-BasinSet-os-csb(Y)) -> OSB---CSB-OS-OSB-THRUTH-OS-CSB(is'BasinSet-os-osb-BasinSet-os-csb(Y))
U241-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB(osb---csb-os-osb-BasinSet-os-csb(Y)) -> IS'BASINSET-OS-OSB-BASINSET-OS-CSB(Y)
U241-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB(osb---csb-Basin(Y)) -> OSB---CSB-OS-OSB-THRUTH-OS-CSB(is'BasinSet-Basin(Y))
U241-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB(osb---csb-Basin(Y)) -> IS'BASINSET-BASIN(Y)
OCB---CCB-OS-OSB-BASINSET-OS-CSB(---Basin-os-osb-BasinSet-os-csb(X1, X2)) -> U181-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-OS-OSB-BASINSET-OS-CSB(ocb---ccb-Basin(X1), X2)
OCB---CCB-OS-OSB-BASINSET-OS-CSB(---Basin-os-osb-BasinSet-os-csb(X1, X2)) -> OCB---CCB-BASIN(X1)
OCB---CCB-OS-OSB-BASINSET-OS-CSB(---os-osb-BasinSet-os-csb-BasinSet(X1, X2)) -> U181-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-BASINSET(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
OCB---CCB-OS-OSB-BASINSET-OS-CSB(---os-osb-BasinSet-os-csb-BasinSet(X1, X2)) -> OCB---CCB-OS-OSB-BASINSET-OS-CSB(X1)
OCB---CCB-OS-OSB-BASINSET-OS-CSB(V1) -> OCB---CCB-BASINSET(V1)
OCB---CCB-OS-OSB-BASINSET-OS-CSB(---BasinSet-os-osb-BasinSet-os-csb(X1, X2)) -> U181-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-OS-OSB-BASINSET-OS-CSB(ocb---ccb-BasinSet(X1), X2)
OCB---CCB-OS-OSB-BASINSET-OS-CSB(---BasinSet-os-osb-BasinSet-os-csb(X1, X2)) -> OCB---CCB-BASINSET(X1)
OCB---CCB-OS-OSB-BASINSET-OS-CSB(basin-Nat-os-osb-Nat-os-csb(X1, X2)) -> U211-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
OCB---CCB-OS-OSB-BASINSET-OS-CSB(basin-Nat-os-osb-Nat-os-csb(X1, X2)) -> OCB---CCB-OS-OSB-NAT-OS-CSB(X2)
OCB---CCB-OS-OSB-BASINSET-OS-CSB(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U211-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
OCB---CCB-OS-OSB-BASINSET-OS-CSB(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> OCB---CCB-OS-OSB-NAT-OS-CSB(X2)
OCB---CCB-OS-OSB-BASINSET-OS-CSB(basin-os-osb-Nat-os-csb-Nat(X1, X2)) -> U221-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
OCB---CCB-OS-OSB-BASINSET-OS-CSB(basin-os-osb-Nat-os-csb-Nat(X1, X2)) -> OCB---CCB-OS-OSB-NAT-OS-CSB(X1)
OCB---CCB-OS-OSB-BASINSET-OS-CSB(---os-osb-BasinSet-os-csb-Basin(X1, X2)) -> U181-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-BASIN(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
OCB---CCB-OS-OSB-BASINSET-OS-CSB(---os-osb-BasinSet-os-csb-Basin(X1, X2)) -> OCB---CCB-OS-OSB-BASINSET-OS-CSB(X1)
OCB---CCB-OS-OSB-BASINSET-OS-CSB(---os-osb-BasinSet-os-csb-BasinSet(X1, X2)) -> U171-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-OS-OSB-BASINSET-OS-CSB(ocb---ccb-BasinSet(X2), X1)
OCB---CCB-OS-OSB-BASINSET-OS-CSB(---os-osb-BasinSet-os-csb-BasinSet(X1, X2)) -> OCB---CCB-BASINSET(X2)
OCB---CCB-OS-OSB-BASINSET-OS-CSB(basin-os-osb-Nat-os-csb-Nat(X1, X2)) -> U211-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(ocb---ccb-Nat(X2), X1)
OCB---CCB-OS-OSB-BASINSET-OS-CSB(basin-os-osb-Nat-os-csb-Nat(X1, X2)) -> OCB---CCB-NAT(X2)
OCB---CCB-OS-OSB-BASINSET-OS-CSB(---Basin-os-osb-BasinSet-os-csb(X1, X2)) -> U171-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-BASIN(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
OCB---CCB-OS-OSB-BASINSET-OS-CSB(---Basin-os-osb-BasinSet-os-csb(X1, X2)) -> OCB---CCB-OS-OSB-BASINSET-OS-CSB(X2)
OCB---CCB-OS-OSB-BASINSET-OS-CSB(---BasinSet-os-osb-BasinSet-os-csb(X1, X2)) -> U171-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-BASINSET(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
OCB---CCB-OS-OSB-BASINSET-OS-CSB(---BasinSet-os-osb-BasinSet-os-csb(X1, X2)) -> OCB---CCB-OS-OSB-BASINSET-OS-CSB(X2)
OCB---CCB-OS-OSB-BASINSET-OS-CSB(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, X2)) -> U171-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-OS-OSB-BASINSET-OS-CSB(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
OCB---CCB-OS-OSB-BASINSET-OS-CSB(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, X2)) -> OCB---CCB-OS-OSB-BASINSET-OS-CSB(X2)
OCB---CCB-OS-OSB-BASINSET-OS-CSB(V1) -> OCB---CCB-BASIN(V1)
OCB---CCB-OS-OSB-BASINSET-OS-CSB(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, X2)) -> U181-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-OS-OSB-BASINSET-OS-CSB(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
OCB---CCB-OS-OSB-BASINSET-OS-CSB(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, X2)) -> OCB---CCB-OS-OSB-BASINSET-OS-CSB(X1)
OCB---CCB-OS-OSB-BASINSET-OS-CSB(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U221-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
OCB---CCB-OS-OSB-BASINSET-OS-CSB(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> OCB---CCB-OS-OSB-NAT-OS-CSB(X1)
OCB---CCB-OS-OSB-BASINSET-OS-CSB(basin-Nat-os-osb-Nat-os-csb(X1, X2)) -> U221-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(ocb---ccb-Nat(X1), X2)
OCB---CCB-OS-OSB-BASINSET-OS-CSB(basin-Nat-os-osb-Nat-os-csb(X1, X2)) -> OCB---CCB-NAT(X1)
OCB---CCB-OS-OSB-BASINSET-OS-CSB(---os-osb-BasinSet-os-csb-Basin(X1, X2)) -> U171-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-OS-OSB-BASINSET-OS-CSB(ocb---ccb-Basin(X2), X1)
OCB---CCB-OS-OSB-BASINSET-OS-CSB(---os-osb-BasinSet-os-csb-Basin(X1, X2)) -> OCB---CCB-BASIN(X2)
BASIN-NAT-NAT(M1, N1) -> BASIN-NAT-NAT(M1, 0)
BASIN-NAT-NAT(M1, N1) -> BASIN-NAT-NAT(M1, M1)
U91-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(osb---csb-Nat(Y), X1) -> -<=--NAT-NAT(X1, Y)
U91-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(osb---csb-os-osb-Nat-os-csb(Y), X1) -> OSB---CSB-OS-OSB-BOOL-OS-CSB(-<=--Nat-os-osb-Nat-os-csb(X1, Y))
-<=--NAT-NAT(s--Nat(N), s--Nat(M)) -> -<=--NAT-NAT(N, M)
U171-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-BASINSET(osb---csb-BasinSet(Y), X1) -> ---BasinSet-BasinSet(X1, Y)
U171-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-BASINSET(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> OSB---CSB-OS-OSB-BASINSET-OS-CSB(---BasinSet-os-osb-BasinSet-os-csb(X1, Y))
---BasinSet-BasinSet(V1, V2) -> ---Basin-Basin(V1, V2)
---BasinSet-BasinSet(---BasinSet-BasinSet(V1, V2), ext) -> ---BasinSet-BasinSet(---Basin-BasinSet(V1, V2), ext)
---BasinSet-BasinSet(---BasinSet-BasinSet(V1, V2), ext) -> ---BasinSet-BasinSet(---BasinSet-Basin(V1, V2), ext)
---BasinSet-BasinSet(---BasinSet-BasinSet(V1, V2), ext) -> ---BasinSet-BasinSet(---Basin-Basin(V1, V2), ext)
---BasinSet-BasinSet(---BasinSet-BasinSet(V1, V2), ext) -> ---Basin-Basin(V1, V2)
U181-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-OS-OSB-BASINSET-OS-CSB(osb---csb-BasinSet(Y), X2) -> OSB---CSB-OS-OSB-BASINSET-OS-CSB(---BasinSet-os-osb-BasinSet-os-csb(Y, X2))
U181-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-OS-OSB-BASINSET-OS-CSB(V1, V2) -> U181-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-BASIN(V1, V2)
U181-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-OS-OSB-BASINSET-OS-CSB(V1, V2) -> U181-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-BASINSET(V1, V2)
U181-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-OS-OSB-BASINSET-OS-CSB(osb---csb-Basin(Y), X2) -> OSB---CSB-OS-OSB-BASINSET-OS-CSB(---Basin-os-osb-BasinSet-os-csb(Y, X2))
U181-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-OS-OSB-BASINSET-OS-CSB(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> OSB---CSB-OS-OSB-BASINSET-OS-CSB(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(Y, X2))
U181-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-OS-OSB-BASINSET-OS-CSB(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> ---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(Y, X2)
OCB---CCB-BASIN(basin-Nat-Nat(X1, X2)) -> U201-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(ocb---ccb-Nat(X1), X2)
OCB---CCB-BASIN(basin-Nat-Nat(X1, X2)) -> OCB---CCB-NAT(X1)
OCB---CCB-BASIN(basin-Nat-Nat(X1, X2)) -> U211-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(ocb---ccb-Nat(X2), X1)
OCB---CCB-BASIN(basin-Nat-Nat(X1, X2)) -> OCB---CCB-NAT(X2)
OCB---CCB-BASIN(basin-Nat-Nat(X1, X2)) -> U221-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(ocb---ccb-Nat(X1), X2)
OCB---CCB-BASIN(basin-Nat-Nat(X1, X2)) -> U191-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(ocb---ccb-Nat(X2), X1)
BASIN-OS-OSB-NAT-OS-CSB-OS-OSB-NAT-OS-CSB(V1, V2) -> BASIN-NAT-NAT(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-BasinSet(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2), ext) -> ---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(V1, V2), ext)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2), ext) -> ---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---Basin-BasinSet(V1, V2), ext)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2), ext) -> ---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(V1, V2), ext)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2), ext) -> ---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(V1, V2), ext)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2), ext) -> ---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(V1, V2), ext)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2), ext) -> ---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---Basin-Basin(V1, V2), ext)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2), ext) -> ---Basin-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2), ext) -> ---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---BasinSet-Basin(V1, V2), ext)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2), ext) -> ---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---BasinSet-BasinSet(V1, V2), ext)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2), ext) -> ---BasinSet-BasinSet(V1, V2)
OCB---CCB-OS-OSB-BOOL-OS-CSB(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U101-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
OCB---CCB-OS-OSB-BOOL-OS-CSB(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> OCB---CCB-OS-OSB-NAT-OS-CSB(X1)
OCB---CCB-OS-OSB-BOOL-OS-CSB(-<=--os-osb-Nat-os-csb-Nat(X1, X2)) -> U91-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(ocb---ccb-Nat(X2), X1)
OCB---CCB-OS-OSB-BOOL-OS-CSB(-<=--os-osb-Nat-os-csb-Nat(X1, X2)) -> OCB---CCB-NAT(X2)
OCB---CCB-OS-OSB-BOOL-OS-CSB(not-os-osb-Bool-os-csb(X1)) -> U281-OS-OSB-OS-OSB-BOOL-OS-CSB-OS-CSB(ocb---ccb-os-osb-Bool-os-csb(X1))
OCB---CCB-OS-OSB-BOOL-OS-CSB(not-os-osb-Bool-os-csb(X1)) -> OCB---CCB-OS-OSB-BOOL-OS-CSB(X1)
OCB---CCB-OS-OSB-BOOL-OS-CSB(->--os-osb-Nat-os-csb-Nat(X1, X2)) -> U141-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
OCB---CCB-OS-OSB-BOOL-OS-CSB(->--os-osb-Nat-os-csb-Nat(X1, X2)) -> OCB---CCB-OS-OSB-NAT-OS-CSB(X1)
OCB---CCB-OS-OSB-BOOL-OS-CSB(-<=--os-osb-Nat-os-csb-Nat(X1, X2)) -> U101-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
OCB---CCB-OS-OSB-BOOL-OS-CSB(-<=--os-osb-Nat-os-csb-Nat(X1, X2)) -> OCB---CCB-OS-OSB-NAT-OS-CSB(X1)
OCB---CCB-OS-OSB-BOOL-OS-CSB(->--Nat-os-osb-Nat-os-csb(X1, X2)) -> U131-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
OCB---CCB-OS-OSB-BOOL-OS-CSB(->--Nat-os-osb-Nat-os-csb(X1, X2)) -> OCB---CCB-OS-OSB-NAT-OS-CSB(X2)
OCB---CCB-OS-OSB-BOOL-OS-CSB(->--os-osb-Nat-os-csb-Nat(X1, X2)) -> U131-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(ocb---ccb-Nat(X2), X1)
OCB---CCB-OS-OSB-BOOL-OS-CSB(->--os-osb-Nat-os-csb-Nat(X1, X2)) -> OCB---CCB-NAT(X2)
OCB---CCB-OS-OSB-BOOL-OS-CSB(-<=--Nat-os-osb-Nat-os-csb(X1, X2)) -> U91-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
OCB---CCB-OS-OSB-BOOL-OS-CSB(-<=--Nat-os-osb-Nat-os-csb(X1, X2)) -> OCB---CCB-OS-OSB-NAT-OS-CSB(X2)
OCB---CCB-OS-OSB-BOOL-OS-CSB(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U131-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
OCB---CCB-OS-OSB-BOOL-OS-CSB(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> OCB---CCB-OS-OSB-NAT-OS-CSB(X2)
OCB---CCB-OS-OSB-BOOL-OS-CSB(->--Nat-os-osb-Nat-os-csb(X1, X2)) -> U141-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(ocb---ccb-Nat(X1), X2)
OCB---CCB-OS-OSB-BOOL-OS-CSB(->--Nat-os-osb-Nat-os-csb(X1, X2)) -> OCB---CCB-NAT(X1)
OCB---CCB-OS-OSB-BOOL-OS-CSB(-<=--Nat-os-osb-Nat-os-csb(X1, X2)) -> U101-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(ocb---ccb-Nat(X1), X2)
OCB---CCB-OS-OSB-BOOL-OS-CSB(-<=--Nat-os-osb-Nat-os-csb(X1, X2)) -> OCB---CCB-NAT(X1)
OCB---CCB-OS-OSB-BOOL-OS-CSB(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U141-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
OCB---CCB-OS-OSB-BOOL-OS-CSB(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> OCB---CCB-OS-OSB-NAT-OS-CSB(X1)
OCB---CCB-OS-OSB-BOOL-OS-CSB(V1) -> OCB---CCB-BOOL(V1)
OCB---CCB-OS-OSB-BOOL-OS-CSB(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U91-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
OCB---CCB-OS-OSB-BOOL-OS-CSB(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> OCB---CCB-OS-OSB-NAT-OS-CSB(X2)
-<=--OS-OSB-NAT-OS-CSB-OS-OSB-NAT-OS-CSB(V1, V2) -> -<=--NAT-NAT(V1, V2)
U101-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(osb---csb-os-osb-Nat-os-csb(Y), X2) -> OSB---CSB-OS-OSB-BOOL-OS-CSB(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U101-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(osb---csb-os-osb-Nat-os-csb(Y), X2) -> -<=--OS-OSB-NAT-OS-CSB-OS-OSB-NAT-OS-CSB(Y, X2)
U101-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(osb---csb-Nat(Y), X2) -> OSB---CSB-OS-OSB-BOOL-OS-CSB(-<=--Nat-os-osb-Nat-os-csb(Y, X2))
U101-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(V1, V2) -> U101-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(V1, V2)
OCB---CCB-OS-OSB-NAT-OS-CSB(sd-os-osb-Nat-os-csb-Nat(X1, X2)) -> U331-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(ocb---ccb-Nat(X2), X1)
OCB---CCB-OS-OSB-NAT-OS-CSB(sd-os-osb-Nat-os-csb-Nat(X1, X2)) -> OCB---CCB-NAT(X2)
OCB---CCB-OS-OSB-NAT-OS-CSB(-+--Nat-os-osb-Nat-os-csb(X1, X2)) -> U51-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
OCB---CCB-OS-OSB-NAT-OS-CSB(-+--Nat-os-osb-Nat-os-csb(X1, X2)) -> OCB---CCB-OS-OSB-NAT-OS-CSB(X2)
OCB---CCB-OS-OSB-NAT-OS-CSB(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U51-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
OCB---CCB-OS-OSB-NAT-OS-CSB(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> OCB---CCB-OS-OSB-NAT-OS-CSB(X2)
OCB---CCB-OS-OSB-NAT-OS-CSB(-+--os-osb-Nat-os-csb-Nat(X1, X2)) -> U51-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(ocb---ccb-Nat(X2), X1)
OCB---CCB-OS-OSB-NAT-OS-CSB(-+--os-osb-Nat-os-csb-Nat(X1, X2)) -> OCB---CCB-NAT(X2)
OCB---CCB-OS-OSB-NAT-OS-CSB(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U331-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
OCB---CCB-OS-OSB-NAT-OS-CSB(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> OCB---CCB-OS-OSB-NAT-OS-CSB(X2)
OCB---CCB-OS-OSB-NAT-OS-CSB(-+--Nat-os-osb-Nat-os-csb(X1, X2)) -> U61-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(ocb---ccb-Nat(X1), X2)
OCB---CCB-OS-OSB-NAT-OS-CSB(-+--Nat-os-osb-Nat-os-csb(X1, X2)) -> OCB---CCB-NAT(X1)
OCB---CCB-OS-OSB-NAT-OS-CSB(V1) -> OCB---CCB-NAT(V1)
OCB---CCB-OS-OSB-NAT-OS-CSB(sd-Nat-os-osb-Nat-os-csb(X1, X2)) -> U341-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(ocb---ccb-Nat(X1), X2)
OCB---CCB-OS-OSB-NAT-OS-CSB(sd-Nat-os-osb-Nat-os-csb(X1, X2)) -> OCB---CCB-NAT(X1)
OCB---CCB-OS-OSB-NAT-OS-CSB(-+--os-osb-Nat-os-csb-Nat(X1, X2)) -> U61-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
OCB---CCB-OS-OSB-NAT-OS-CSB(-+--os-osb-Nat-os-csb-Nat(X1, X2)) -> OCB---CCB-OS-OSB-NAT-OS-CSB(X1)
OCB---CCB-OS-OSB-NAT-OS-CSB(s--os-osb-Nat-os-csb(X1)) -> U301-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB(ocb---ccb-os-osb-Nat-os-csb(X1))
OCB---CCB-OS-OSB-NAT-OS-CSB(s--os-osb-Nat-os-csb(X1)) -> OCB---CCB-OS-OSB-NAT-OS-CSB(X1)
OCB---CCB-OS-OSB-NAT-OS-CSB(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U61-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
OCB---CCB-OS-OSB-NAT-OS-CSB(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> OCB---CCB-OS-OSB-NAT-OS-CSB(X1)
OCB---CCB-OS-OSB-NAT-OS-CSB(sd-os-osb-Nat-os-csb-Nat(X1, X2)) -> U341-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
OCB---CCB-OS-OSB-NAT-OS-CSB(sd-os-osb-Nat-os-csb-Nat(X1, X2)) -> OCB---CCB-OS-OSB-NAT-OS-CSB(X1)
OCB---CCB-OS-OSB-NAT-OS-CSB(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U341-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
OCB---CCB-OS-OSB-NAT-OS-CSB(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> OCB---CCB-OS-OSB-NAT-OS-CSB(X1)
OCB---CCB-OS-OSB-NAT-OS-CSB(sd-Nat-os-osb-Nat-os-csb(X1, X2)) -> U331-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
OCB---CCB-OS-OSB-NAT-OS-CSB(sd-Nat-os-osb-Nat-os-csb(X1, X2)) -> OCB---CCB-OS-OSB-NAT-OS-CSB(X2)
U341-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(V1, V2) -> U341-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(V1, V2)
U341-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(osb---csb-Nat(Y), X2) -> OSB---CSB-OS-OSB-NAT-OS-CSB(sd-Nat-os-osb-Nat-os-csb(Y, X2))
U341-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(osb---csb-os-osb-Nat-os-csb(Y), X2) -> OSB---CSB-OS-OSB-NAT-OS-CSB(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U341-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(osb---csb-os-osb-Nat-os-csb(Y), X2) -> SD-OS-OSB-NAT-OS-CSB-OS-OSB-NAT-OS-CSB(Y, X2)
U341-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(osb---csb-os-osb-Nat-os-csb(Y), X2) -> OSB---CSB-OS-OSB-NAT-OS-CSB(sd-os-osb-Nat-os-csb-Nat(Y, X2))
U341-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(osb---csb-Nat(Y), X2) -> SD-NAT-NAT(Y, X2)
U211-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(osb---csb-os-osb-Nat-os-csb(Y), X1) -> OSB---CSB-OS-OSB-BASINSET-OS-CSB(basin-Nat-os-osb-Nat-os-csb(X1, Y))
U211-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(osb---csb-Nat(Y), X1) -> BASIN-NAT-NAT(X1, Y)
U181-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-BASINSET(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> OSB---CSB-OS-OSB-BASINSET-OS-CSB(---os-osb-BasinSet-os-csb-BasinSet(Y, X2))
U181-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-BASINSET(osb---csb-BasinSet(Y), X2) -> ---BasinSet-BasinSet(Y, X2)
U181-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-BASIN(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> OSB---CSB-OS-OSB-BASINSET-OS-CSB(---os-osb-BasinSet-os-csb-Basin(Y, X2))
U181-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-BASIN(osb---csb-Basin(Y), X2) -> ---Basin-Basin(Y, X2)
U121-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(osb---csb-Nat(Y), X2) -> ->--NAT-NAT(Y, X2)
->--NAT-NAT(N, M) -> NOT-BOOL(-<=--Nat-Nat(N, M))
->--NAT-NAT(N, M) -> -<=--NAT-NAT(N, M)
---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)) -> U11-THRUTH-NAT-NAT-NAT-NAT(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(-<=--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2)
---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)) -> EQUAL-OS-OSB-OS-OSB-BOOL-OS-CSB-OS-CSB-OS-OSB-OS-OSB-BOOL-OS-CSB-OS-CSB(osb---csb-Bool(-<=--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true))
---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)) -> -<=--NAT-NAT(-+--Nat-Nat(N1, N2), M2)
---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)) -> -+--NAT-NAT(N1, N2)
---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)) -> U21-THRUTH-NAT-NAT-NAT-NAT(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(->--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2)
---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)) -> EQUAL-OS-OSB-OS-OSB-BOOL-OS-CSB-OS-CSB-OS-OSB-OS-OSB-BOOL-OS-CSB-OS-CSB(osb---csb-Bool(->--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true))
---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)) -> ->--NAT-NAT(-+--Nat-Nat(N1, N2), M2)
---Basin-Basin(---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)), ext) -> ---Basin-Basin(U11-Thruth-Nat-Nat-Nat-Nat(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(-<=--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2), ext)
---Basin-Basin(---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)), ext) -> U11-THRUTH-NAT-NAT-NAT-NAT(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(-<=--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2)
---Basin-Basin(---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)), ext) -> EQUAL-OS-OSB-OS-OSB-BOOL-OS-CSB-OS-CSB-OS-OSB-OS-OSB-BOOL-OS-CSB-OS-CSB(osb---csb-Bool(-<=--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true))
---Basin-Basin(---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)), ext) -> -<=--NAT-NAT(-+--Nat-Nat(N1, N2), M2)
---Basin-Basin(---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)), ext) -> -+--NAT-NAT(N1, N2)
---Basin-Basin(---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)), ext) -> ---Basin-Basin(U21-Thruth-Nat-Nat-Nat-Nat(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(->--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2), ext)
---Basin-Basin(---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)), ext) -> U21-THRUTH-NAT-NAT-NAT-NAT(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(->--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2)
---Basin-Basin(---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)), ext) -> EQUAL-OS-OSB-OS-OSB-BOOL-OS-CSB-OS-CSB-OS-OSB-OS-OSB-BOOL-OS-CSB-OS-CSB(osb---csb-Bool(->--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true))
---Basin-Basin(---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)), ext) -> ->--NAT-NAT(-+--Nat-Nat(N1, N2), M2)
U101-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(osb---csb-Nat(Y), X2) -> -<=--NAT-NAT(Y, X2)
U101-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(osb---csb-os-osb-Nat-os-csb(Y), X2) -> OSB---CSB-OS-OSB-BOOL-OS-CSB(-<=--os-osb-Nat-os-csb-Nat(Y, X2))
-+--OS-OSB-NAT-OS-CSB-OS-OSB-NAT-OS-CSB(V1, V2) -> -+--NAT-NAT(V1, V2)
SD-OS-OSB-NAT-OS-CSB-OS-OSB-NAT-OS-CSB(V1, V2) -> SD-NAT-NAT(V1, V2)
U91-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(osb---csb-os-osb-Nat-os-csb(Y), X1) -> OSB---CSB-OS-OSB-BOOL-OS-CSB(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U91-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(osb---csb-os-osb-Nat-os-csb(Y), X1) -> -<=--OS-OSB-NAT-OS-CSB-OS-OSB-NAT-OS-CSB(X1, Y)
U91-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(osb---csb-Nat(Y), X1) -> OSB---CSB-OS-OSB-BOOL-OS-CSB(-<=--os-osb-Nat-os-csb-Nat(X1, Y))
U91-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(V1, V2) -> U91-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(V1, V2)
U331-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(osb---csb-Nat(Y), X1) -> OSB---CSB-OS-OSB-NAT-OS-CSB(sd-os-osb-Nat-os-csb-Nat(X1, Y))
U331-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(V1, V2) -> U331-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(V1, V2)
U331-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(osb---csb-os-osb-Nat-os-csb(Y), X1) -> OSB---CSB-OS-OSB-NAT-OS-CSB(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U331-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(osb---csb-os-osb-Nat-os-csb(Y), X1) -> SD-OS-OSB-NAT-OS-CSB-OS-OSB-NAT-OS-CSB(X1, Y)
OCB---CCB-BOOL(->--Nat-Nat(X1, X2)) -> U111-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(ocb---ccb-Nat(X2), X1)
OCB---CCB-BOOL(->--Nat-Nat(X1, X2)) -> OCB---CCB-NAT(X2)
OCB---CCB-BOOL(->--Nat-Nat(X1, X2)) -> U141-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(ocb---ccb-Nat(X1), X2)
OCB---CCB-BOOL(->--Nat-Nat(X1, X2)) -> OCB---CCB-NAT(X1)
OCB---CCB-BOOL(->--Nat-Nat(N, M)) -> NOT-BOOL(-<=--Nat-Nat(N, M))
OCB---CCB-BOOL(->--Nat-Nat(N, M)) -> -<=--NAT-NAT(N, M)
OCB---CCB-BOOL(-<=--Nat-Nat(X1, X2)) -> U81-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(ocb---ccb-Nat(X1), X2)
OCB---CCB-BOOL(-<=--Nat-Nat(X1, X2)) -> OCB---CCB-NAT(X1)
OCB---CCB-BOOL(-<=--Nat-Nat(s--Nat(N), s--Nat(M))) -> -<=--NAT-NAT(N, M)
OCB---CCB-BOOL(->--Nat-Nat(X1, X2)) -> U121-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(ocb---ccb-Nat(X1), X2)
OCB---CCB-BOOL(-<=--Nat-Nat(X1, X2)) -> U71-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(ocb---ccb-Nat(X2), X1)
OCB---CCB-BOOL(-<=--Nat-Nat(X1, X2)) -> OCB---CCB-NAT(X2)
OCB---CCB-BOOL(-<=--Nat-Nat(X1, X2)) -> U91-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(ocb---ccb-Nat(X2), X1)
OCB---CCB-BOOL(-<=--Nat-Nat(X1, X2)) -> U101-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(ocb---ccb-Nat(X1), X2)
OCB---CCB-BOOL(not-Bool(X1)) -> U281-OS-OSB-OS-OSB-BOOL-OS-CSB-OS-CSB(ocb---ccb-Bool(X1))
OCB---CCB-BOOL(not-Bool(X1)) -> OCB---CCB-BOOL(X1)
OCB---CCB-BOOL(not-Bool(X1)) -> U271-OS-OSB-OS-OSB-BOOL-OS-CSB-OS-CSB(ocb---ccb-Bool(X1))
OCB---CCB-BOOL(->--Nat-Nat(X1, X2)) -> U131-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(ocb---ccb-Nat(X2), X1)
U111-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(osb---csb-Nat(Y), X1) -> ->--NAT-NAT(X1, Y)
SD-NAT-NAT(s--Nat(N), s--Nat(M)) -> SD-NAT-NAT(N, M)
U141-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(osb---csb-os-osb-Nat-os-csb(Y), X2) -> OSB---CSB-OS-OSB-BOOL-OS-CSB(->--os-osb-Nat-os-csb-Nat(Y, X2))
U141-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(osb---csb-Nat(Y), X2) -> ->--NAT-NAT(Y, X2)
INITIAL -> BASIN-NAT-NAT(3, 0)
INITIAL -> 3'
INITIAL -> ---Basin-Basin(basin-Nat-Nat(5, 0), basin-Nat-Nat(8, 0))
INITIAL -> BASIN-NAT-NAT(5, 0)
INITIAL -> 5'
INITIAL -> BASIN-NAT-NAT(8, 0)
INITIAL -> 8'
NOT-OS-OSB-BOOL-OS-CSB(V1) -> NOT-BOOL(V1)
U161-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-BASIN(osb---csb-Basin(Y), X2) -> ---Basin-Basin(Y, X2)
U51-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(osb---csb-os-osb-Nat-os-csb(Y), X1) -> OSB---CSB-OS-OSB-NAT-OS-CSB(-+--Nat-os-osb-Nat-os-csb(X1, Y))
U51-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(osb---csb-Nat(Y), X1) -> -+--NAT-NAT(X1, Y)
U81-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(osb---csb-Nat(Y), X2) -> -<=--NAT-NAT(Y, X2)
U161-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-BASINSET(osb---csb-BasinSet(Y), X2) -> ---BasinSet-BasinSet(Y, X2)
U161-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-BASINSET(V1, V2) -> U161-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-BASIN(V1, V2)
U141-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(V1, V2) -> U141-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(V1, V2)
U141-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(osb---csb-os-osb-Nat-os-csb(Y), X2) -> OSB---CSB-OS-OSB-BOOL-OS-CSB(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U141-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(osb---csb-os-osb-Nat-os-csb(Y), X2) -> ->--OS-OSB-NAT-OS-CSB-OS-OSB-NAT-OS-CSB(Y, X2)
U141-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(osb---csb-Nat(Y), X2) -> OSB---CSB-OS-OSB-BOOL-OS-CSB(->--Nat-os-osb-Nat-os-csb(Y, X2))
U151-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-BASINSET(V1, V2) -> U151-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-BASIN(V1, V2)
U151-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-BASINSET(osb---csb-BasinSet(Y), X1) -> ---BasinSet-BasinSet(X1, Y)
U331-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(osb---csb-Nat(Y), X1) -> SD-NAT-NAT(X1, Y)
U331-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(osb---csb-os-osb-Nat-os-csb(Y), X1) -> OSB---CSB-OS-OSB-NAT-OS-CSB(sd-Nat-os-osb-Nat-os-csb(X1, Y))
U151-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-BASIN(osb---csb-Basin(Y), X1) -> ---Basin-Basin(X1, Y)
U261-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB(osb---csb-os-osb-Nat-os-csb(Y)) -> OSB---CSB-OS-OSB-THRUTH-OS-CSB(is'Nat-os-osb-Nat-os-csb(Y))
U261-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB(osb---csb-os-osb-Nat-os-csb(Y)) -> IS'NAT-OS-OSB-NAT-OS-CSB(Y)
U261-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB(osb---csb-Nat(Y)) -> OSB---CSB-OS-OSB-THRUTH-OS-CSB(is'Nat-Nat(Y))
U261-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB(osb---csb-Nat(Y)) -> IS'NAT-NAT(Y)
IS'NAT-OS-OSB-NAT-OS-CSB(V1) -> IS'NAT-NAT(V1)
U211-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(osb---csb-Nat(Y), X1) -> OSB---CSB-OS-OSB-BASINSET-OS-CSB(basin-os-osb-Nat-os-csb-Nat(X1, Y))
U211-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(osb---csb-os-osb-Nat-os-csb(Y), X1) -> OSB---CSB-OS-OSB-BASINSET-OS-CSB(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U211-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(osb---csb-os-osb-Nat-os-csb(Y), X1) -> BASIN-OS-OSB-NAT-OS-CSB-OS-OSB-NAT-OS-CSB(X1, Y)
U211-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(V1, V2) -> U211-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(V1, V2)
IS'BASIN-OS-OSB-BASINSET-OS-CSB(V1) -> IS'BASIN-BASIN(V1)
U221-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(osb---csb-os-osb-Nat-os-csb(Y), X2) -> OSB---CSB-OS-OSB-BASINSET-OS-CSB(basin-os-osb-Nat-os-csb-Nat(Y, X2))
U221-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(osb---csb-Nat(Y), X2) -> BASIN-NAT-NAT(Y, X2)
U11-THRUTH-NAT-NAT-NAT-NAT(tt, M1, M2, N1, N2) -> ---Basin-Basin(basin-Nat-Nat(M1, 0), basin-Nat-Nat(M2, -+--Nat-Nat(N1, N2)))
U11-THRUTH-NAT-NAT-NAT-NAT(tt, M1, M2, N1, N2) -> BASIN-NAT-NAT(M1, 0)
U11-THRUTH-NAT-NAT-NAT-NAT(tt, M1, M2, N1, N2) -> BASIN-NAT-NAT(M2, -+--Nat-Nat(N1, N2))
U11-THRUTH-NAT-NAT-NAT-NAT(tt, M1, M2, N1, N2) -> -+--NAT-NAT(N1, N2)
U321-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(osb---csb-Nat(Y), X2) -> SD-NAT-NAT(Y, X2)
U231-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB(osb---csb-Basin(Y)) -> OSB---CSB-OS-OSB-THRUTH-OS-CSB(is'Basin-Basin(Y))
U231-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB(osb---csb-Basin(Y)) -> IS'BASIN-BASIN(Y)
U231-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB(osb---csb-BasinSet(Y)) -> OSB---CSB-OS-OSB-THRUTH-OS-CSB(is'Basin-BasinSet(Y))
U231-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB(osb---csb-os-osb-BasinSet-os-csb(Y)) -> OSB---CSB-OS-OSB-THRUTH-OS-CSB(is'Basin-os-osb-BasinSet-os-csb(Y))
U231-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB(osb---csb-os-osb-BasinSet-os-csb(Y)) -> IS'BASIN-OS-OSB-BASINSET-OS-CSB(Y)
U61-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(osb---csb-os-osb-Nat-os-csb(Y), X2) -> OSB---CSB-OS-OSB-NAT-OS-CSB(-+--os-osb-Nat-os-csb-Nat(Y, X2))
U61-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(osb---csb-Nat(Y), X2) -> -+--NAT-NAT(Y, X2)
IS'BOOL-OS-OSB-BOOL-OS-CSB(V1) -> IS'BOOL-BOOL(V1)
U251-OS-OSB-OS-OSB-BOOL-OS-CSB-OS-CSB(osb---csb-os-osb-Bool-os-csb(Y)) -> OSB---CSB-OS-OSB-THRUTH-OS-CSB(is'Bool-os-osb-Bool-os-csb(Y))
U251-OS-OSB-OS-OSB-BOOL-OS-CSB-OS-CSB(osb---csb-os-osb-Bool-os-csb(Y)) -> IS'BOOL-OS-OSB-BOOL-OS-CSB(Y)
U251-OS-OSB-OS-OSB-BOOL-OS-CSB-OS-CSB(osb---csb-Bool(Y)) -> OSB---CSB-OS-OSB-THRUTH-OS-CSB(is'Bool-Bool(Y))
U251-OS-OSB-OS-OSB-BOOL-OS-CSB-OS-CSB(osb---csb-Bool(Y)) -> IS'BOOL-BOOL(Y)
U131-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(V1, V2) -> U131-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(V1, V2)
U131-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(osb---csb-os-osb-Nat-os-csb(Y), X1) -> OSB---CSB-OS-OSB-BOOL-OS-CSB(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U131-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(osb---csb-os-osb-Nat-os-csb(Y), X1) -> ->--OS-OSB-NAT-OS-CSB-OS-OSB-NAT-OS-CSB(X1, Y)
U131-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(osb---csb-Nat(Y), X1) -> OSB---CSB-OS-OSB-BOOL-OS-CSB(->--os-osb-Nat-os-csb-Nat(X1, Y))
U131-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(osb---csb-os-osb-Nat-os-csb(Y), X1) -> OSB---CSB-OS-OSB-BOOL-OS-CSB(->--Nat-os-osb-Nat-os-csb(X1, Y))
U131-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(osb---csb-Nat(Y), X1) -> ->--NAT-NAT(X1, Y)
U51-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(osb---csb-os-osb-Nat-os-csb(Y), X1) -> OSB---CSB-OS-OSB-NAT-OS-CSB(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U51-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(osb---csb-os-osb-Nat-os-csb(Y), X1) -> -+--OS-OSB-NAT-OS-CSB-OS-OSB-NAT-OS-CSB(X1, Y)
U51-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(osb---csb-Nat(Y), X1) -> OSB---CSB-OS-OSB-NAT-OS-CSB(-+--os-osb-Nat-os-csb-Nat(X1, Y))
U51-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(V1, V2) -> U51-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(V1, V2)
U171-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-OS-OSB-BASINSET-OS-CSB(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> OSB---CSB-OS-OSB-BASINSET-OS-CSB(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, Y))
U171-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-OS-OSB-BASINSET-OS-CSB(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> ---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, Y)
U171-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-OS-OSB-BASINSET-OS-CSB(osb---csb-Basin(Y), X1) -> OSB---CSB-OS-OSB-BASINSET-OS-CSB(---os-osb-BasinSet-os-csb-Basin(X1, Y))
U171-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-OS-OSB-BASINSET-OS-CSB(V1, V2) -> U171-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-BASIN(V1, V2)
U171-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-OS-OSB-BASINSET-OS-CSB(V1, V2) -> U171-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-BASINSET(V1, V2)
U171-OS-OSB-OS-OSB-BASINSET-OS-CSB-OS-CSB-OS-OSB-BASINSET-OS-CSB(osb---csb-BasinSet(Y), X1) -> OSB---CSB-OS-OSB-BASINSET-OS-CSB(---os-osb-BasinSet-os-csb-BasinSet(X1, Y))
U301-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB(osb---csb-os-osb-Nat-os-csb(Y)) -> OSB---CSB-OS-OSB-NAT-OS-CSB(s--os-osb-Nat-os-csb(Y))
U301-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB(osb---csb-os-osb-Nat-os-csb(Y)) -> S--OS-OSB-NAT-OS-CSB(Y)
->--OS-OSB-NAT-OS-CSB-OS-OSB-NAT-OS-CSB(V1, V2) -> ->--NAT-NAT(V1, V2)
U41-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(osb---csb-Nat(Y), X2) -> -+--NAT-NAT(Y, X2)
U201-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(osb---csb-Nat(Y), X2) -> BASIN-NAT-NAT(Y, X2)
U31-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(osb---csb-Nat(Y), X1) -> -+--NAT-NAT(X1, Y)
U61-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(osb---csb-Nat(Y), X2) -> OSB---CSB-OS-OSB-NAT-OS-CSB(-+--Nat-os-osb-Nat-os-csb(Y, X2))
U61-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(V1, V2) -> U61-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(V1, V2)
U61-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(osb---csb-os-osb-Nat-os-csb(Y), X2) -> OSB---CSB-OS-OSB-NAT-OS-CSB(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U61-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(osb---csb-os-osb-Nat-os-csb(Y), X2) -> -+--OS-OSB-NAT-OS-CSB-OS-OSB-NAT-OS-CSB(Y, X2)
U21-THRUTH-NAT-NAT-NAT-NAT(tt, M1, M2, N1, N2) -> ---Basin-Basin(basin-Nat-Nat(M1, sd-Nat-Nat(-+--Nat-Nat(N1, N2), M2)), basin-Nat-Nat(M2, M2))
U21-THRUTH-NAT-NAT-NAT-NAT(tt, M1, M2, N1, N2) -> BASIN-NAT-NAT(M1, sd-Nat-Nat(-+--Nat-Nat(N1, N2), M2))
U21-THRUTH-NAT-NAT-NAT-NAT(tt, M1, M2, N1, N2) -> SD-NAT-NAT(-+--Nat-Nat(N1, N2), M2)
U21-THRUTH-NAT-NAT-NAT-NAT(tt, M1, M2, N1, N2) -> -+--NAT-NAT(N1, N2)
U21-THRUTH-NAT-NAT-NAT-NAT(tt, M1, M2, N1, N2) -> BASIN-NAT-NAT(M2, M2)
U221-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(V1, V2) -> U221-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(V1, V2)
U221-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(osb---csb-Nat(Y), X2) -> OSB---CSB-OS-OSB-BASINSET-OS-CSB(basin-Nat-os-osb-Nat-os-csb(Y, X2))
U221-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(osb---csb-os-osb-Nat-os-csb(Y), X2) -> OSB---CSB-OS-OSB-BASINSET-OS-CSB(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U221-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-OS-OSB-NAT-OS-CSB(osb---csb-os-osb-Nat-os-csb(Y), X2) -> BASIN-OS-OSB-NAT-OS-CSB-OS-OSB-NAT-OS-CSB(Y, X2)
U71-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(osb---csb-Nat(Y), X1) -> -<=--NAT-NAT(X1, Y)
U311-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(osb---csb-Nat(Y), X1) -> SD-NAT-NAT(X1, Y)
U271-OS-OSB-OS-OSB-BOOL-OS-CSB-OS-CSB(osb---csb-Bool(Y)) -> NOT-BOOL(Y)
U191-OS-OSB-OS-OSB-NAT-OS-CSB-OS-CSB-NAT(osb---csb-Nat(Y), X1) -> BASIN-NAT-NAT(X1, Y)

Furthermore, R contains 13 SCCs.


   R
DPs
       →DP Problem 1
Polynomial Ordering
       →DP Problem 2
Polo
       →DP Problem 3
Polo
       →DP Problem 4
Polo
       →DP Problem 5
Remaining
       →DP Problem 6
Polo
       →DP Problem 7
Polo
       →DP Problem 8
Polo
       →DP Problem 9
Polo
       →DP Problem 10
Polo
       →DP Problem 11
Polo
       →DP Problem 12
Polo
       →DP Problem 13
Polo


Dependency Pair:

-+--NAT-NAT(s--Nat(N), M) -> -+--NAT-NAT(N, M)


Rules:


ocb---ccb-Nat(4) -> osb---csb-Nat(s--Nat(3))
ocb---ccb-Nat(8) -> osb---csb-Nat(-+--Nat-Nat(3, 5))
ocb---ccb-Nat(-+--Nat-Nat(0, N)) -> osb---csb-Nat(N)
ocb---ccb-Nat(5) -> osb---csb-Nat(s--Nat(4))
ocb---ccb-Nat(-+--Nat-Nat(s--Nat(N), M)) -> osb---csb-Nat(s--Nat(-+--Nat-Nat(N, M)))
ocb---ccb-Nat(sd-Nat-Nat(N, 0)) -> osb---csb-Nat(N)
ocb---ccb-Nat(s--Nat(X1)) -> U291-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-Nat(X1))
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U41-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(s--Nat(N), s--Nat(M))) -> osb---csb-Nat(sd-Nat-Nat(N, M))
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U31-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Nat(s--Nat(X1)) -> U301-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-Nat(X1))
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U321-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U311-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(0, N)) -> osb---csb-Nat(N)
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Nat(3) -> osb---csb-Nat(s--Nat(s--Nat(s--Nat(0))))
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
4 -> s--Nat(3)
3 -> s--Nat(s--Nat(s--Nat(0)))
8 -> -+--Nat-Nat(3, 5)
-+--Nat-Nat(s--Nat(N), M) -> s--Nat(-+--Nat-Nat(N, M))
-+--Nat-Nat(0, N) -> N
5 -> s--Nat(4)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(initial) -> osb---csb-BasinSet(---Basin-BasinSet(basin-Nat-Nat(3, 0), ---Basin-Basin(basin-Nat-Nat(5, 0), basin-Nat-Nat(8, 0))))
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X1), X2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---Basin-BasinSet(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---Basin-Basin(X1, Y))
U281-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(Y)) -> osb---csb-Bool(not-Bool(Y))
U281-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(Y)) -> osb---csb-os-osb-Bool-os-csb(not-os-osb-Bool-os-csb(Y))
not-Bool(true) -> false
not-Bool(false) -> true
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-os-osb-BasinSet-os-csb(X1)) -> U241-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-Basin(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-BasinSet(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'Nat-Nat(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-os-osb-BasinSet-os-csb(X1)) -> U231-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-BasinSet(X1)) -> U231-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-BasinSet(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Bool-os-osb-Bool-os-csb(X1)) -> U251-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-os-osb-Bool-os-csb(X1))
ocb---ccb-os-osb-Thruth-os-csb(V1) -> ocb---ccb-Thruth(V1)
ocb---ccb-os-osb-Thruth-os-csb(is'Bool-Bool(X1)) -> U251-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-Bool(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-Basin(X1)) -> U231-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-Basin(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-BasinSet(X1)) -> U241-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-BasinSet(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Bool-Bool(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-Basin(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-Basin(X1)) -> U241-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-Basin(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Nat-Nat(X1)) -> U261-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-Nat(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Nat-os-osb-Nat-os-csb(X1)) -> U261-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1))
is'BasinSet-os-osb-BasinSet-os-csb(V1) -> is'BasinSet-BasinSet(V1)
is'BasinSet-os-osb-BasinSet-os-csb(V1) -> is'BasinSet-Basin(V1)
U241-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-BasinSet(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'BasinSet-BasinSet(Y))
U241-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'BasinSet-os-osb-BasinSet-os-csb(Y))
U241-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-Basin(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'BasinSet-Basin(Y))
ocb---ccb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-Basin(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(V1) -> ocb---ccb-BasinSet(V1)
ocb---ccb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(V1) -> ocb---ccb-Basin(V1)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-Basin(X2), X1)
is'BasinSet-Basin(V) -> tt
basin-Nat-Nat(M1, N1) -> basin-Nat-Nat(M1, 0)
basin-Nat-Nat(M1, N1) -> basin-Nat-Nat(M1, M1)
U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(-<=--Nat-Nat(X1, Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(X1, Y))
-<=--Nat-Nat(s--Nat(N), s--Nat(M)) -> -<=--Nat-Nat(N, M)
-<=--Nat-Nat(0, N) -> true
-<=--Nat-Nat(N, N) -> true
-<=--Nat-Nat(s--Nat(N), 0) -> false
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---BasinSet-BasinSet(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---BasinSet-Basin(X1, Y))
---BasinSet-BasinSet(V1, V2) -> ---Basin-BasinSet(V1, V2)
---BasinSet-BasinSet(V1, V2) -> ---BasinSet-Basin(V1, V2)
---BasinSet-BasinSet(V1, V2) -> ---Basin-Basin(V1, V2)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-BasinSet(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-Basin(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(Y, X2))
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U201-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U191-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> basin-Nat-os-osb-Nat-os-csb(V1, V2)
basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> basin-Nat-Nat(V1, V2)
basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> basin-os-osb-Nat-os-csb-Nat(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-os-osb-BasinSet-os-csb(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-BasinSet(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-os-osb-BasinSet-os-csb(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---os-osb-BasinSet-os-csb-BasinSet(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---os-osb-BasinSet-os-csb-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-BasinSet(V1, V2)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(not-os-osb-Bool-os-csb(X1)) -> U281-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-os-osb-Bool-os-csb(X1))
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(V1) -> ocb---ccb-Bool(V1)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -<=--Nat-os-osb-Nat-os-csb(V1, V2)
-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -<=--os-osb-Nat-os-csb-Nat(V1, V2)
-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -<=--Nat-Nat(V1, V2)
U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(Y, X2))
U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(V1) -> ocb---ccb-Nat(V1)
ocb---ccb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(s--os-osb-Nat-os-csb(X1)) -> U301-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1))
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(Y, X2))
U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(Y, X2))
U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(sd-Nat-Nat(Y, X2))
U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(X1, Y))
U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Basin(basin-Nat-Nat(X1, Y))
osb---csb-os-osb-Nat-os-csb(V1) -> osb---csb-Nat(V1)
osb---csb-os-osb-BasinSet-os-csb(V1) -> osb---csb-BasinSet(V1)
osb---csb-os-osb-BasinSet-os-csb(V1) -> osb---csb-Basin(V1)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-BasinSet(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-BasinSet(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-Basin(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-Basin(Y, X2))
is'BasinSet-BasinSet(V) -> tt
U121-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(->--Nat-Nat(Y, X2))
->--Nat-Nat(N, M) -> not-Bool(-<=--Nat-Nat(N, M))
---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)) -> U11-Thruth-Nat-Nat-Nat-Nat(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(-<=--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2)
---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)) -> U21-Thruth-Nat-Nat-Nat-Nat(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(->--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2)
U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(-<=--Nat-Nat(Y, X2))
U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(Y, X2))
-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -+--os-osb-Nat-os-csb-Nat(V1, V2)
-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -+--Nat-os-osb-Nat-os-csb(V1, V2)
-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -+--Nat-Nat(V1, V2)
sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> sd-Nat-os-osb-Nat-os-csb(V1, V2)
sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> sd-Nat-Nat(V1, V2)
sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> sd-os-osb-Nat-os-csb-Nat(V1, V2)
U291-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(Y)) -> osb---csb-Nat(s--Nat(Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(X1, Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
osb---csb-os-osb-Thruth-os-csb(V1) -> osb---csb-Thruth(V1)
U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(X1, Y))
U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U111-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(->--Nat-Nat(N, M)) -> osb---csb-Bool(not-Bool(-<=--Nat-Nat(N, M)))
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U81-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(-<=--Nat-Nat(s--Nat(N), 0)) -> osb---csb-Bool(false)
ocb---ccb-Bool(not-Bool(true)) -> osb---csb-Bool(false)
ocb---ccb-Bool(-<=--Nat-Nat(s--Nat(N), s--Nat(M))) -> osb---csb-Bool(-<=--Nat-Nat(N, M))
ocb---ccb-Bool(-<=--Nat-Nat(N, N)) -> osb---csb-Bool(true)
ocb---ccb-Bool(not-Bool(false)) -> osb---csb-Bool(true)
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U121-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U71-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(not-Bool(X1)) -> U281-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-Bool(X1))
ocb---ccb-Bool(not-Bool(X1)) -> U271-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-Bool(X1))
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(-<=--Nat-Nat(0, N)) -> osb---csb-Bool(true)
U111-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(->--Nat-Nat(X1, Y))
sd-Nat-Nat(s--Nat(N), s--Nat(M)) -> sd-Nat-Nat(N, M)
sd-Nat-Nat(0, N) -> N
sd-Nat-Nat(N, 0) -> N
U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(Y, X2))
U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(->--Nat-Nat(Y, X2))
initial -> ---Basin-BasinSet(basin-Nat-Nat(3, 0), ---Basin-Basin(basin-Nat-Nat(5, 0), basin-Nat-Nat(8, 0)))
not-os-osb-Bool-os-csb(V1) -> not-Bool(V1)
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-Basin(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-Basin(Y, X2))
U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(-+--Nat-Nat(X1, Y))
U81-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(-<=--Nat-Nat(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-BasinSet(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-BasinSet(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(Y, X2))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---BasinSet-Basin(X1, Y))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---BasinSet-BasinSet(X1, Y))
U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(sd-Nat-Nat(X1, Y))
U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(X1, Y))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---Basin-BasinSet(X1, Y))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---Basin-Basin(X1, Y))
U261-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-os-osb-Nat-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Nat-os-osb-Nat-os-csb(Y))
U261-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Nat-Nat(Y))
is'Nat-os-osb-Nat-os-csb(V1) -> is'Nat-Nat(V1)
U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(X1, Y))
U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
is'Basin-os-osb-BasinSet-os-csb(V1) -> is'Basin-BasinSet(V1)
is'Basin-os-osb-BasinSet-os-csb(V1) -> is'Basin-Basin(V1)
U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(Y, X2))
U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Basin(basin-Nat-Nat(Y, X2))
equal-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(X), osb---csb-Nat(X)) -> tt
equal-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-os-osb-Nat-os-csb(X), osb---csb-os-osb-Nat-os-csb(X)) -> tt
U11-Thruth-Nat-Nat-Nat-Nat(tt, M1, M2, N1, N2) -> ---Basin-Basin(basin-Nat-Nat(M1, 0), basin-Nat-Nat(M2, -+--Nat-Nat(N1, N2)))
equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(X), osb---csb-Bool(X)) -> tt
equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(X), osb---csb-os-osb-Bool-os-csb(X)) -> tt
osb---csb-os-osb-Bool-os-csb(V1) -> osb---csb-Bool(V1)
is'Nat-Nat(V) -> tt
s--os-osb-Nat-os-csb(V1) -> s--Nat(V1)
equal-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-BasinSet(X), osb---csb-BasinSet(X)) -> tt
equal-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-os-osb-BasinSet-os-csb(X), osb---csb-os-osb-BasinSet-os-csb(X)) -> tt
equal-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-Basin(X), osb---csb-Basin(X)) -> tt
U321-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(sd-Nat-Nat(Y, X2))
U231-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-Basin(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Basin-Basin(Y))
U231-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-BasinSet(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Basin-BasinSet(Y))
U231-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Basin-os-osb-BasinSet-os-csb(Y))
is'Basin-Basin(V) -> tt
U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(Y, X2))
U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(-+--Nat-Nat(Y, X2))
is'Bool-os-osb-Bool-os-csb(V1) -> is'Bool-Bool(V1)
U251-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Bool-os-osb-Bool-os-csb(Y))
U251-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Bool-Bool(Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(X1, Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(X1, Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(->--Nat-Nat(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-Basin(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-BasinSet(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(X1, Y))
U301-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(Y)) -> osb---csb-Nat(s--Nat(Y))
U301-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-os-osb-Nat-os-csb(Y)) -> osb---csb-os-osb-Nat-os-csb(s--os-osb-Nat-os-csb(Y))
->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> ->--Nat-os-osb-Nat-os-csb(V1, V2)
->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> ->--Nat-Nat(V1, V2)
->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> ->--os-osb-Nat-os-csb-Nat(V1, V2)
U41-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(-+--Nat-Nat(Y, X2))
U201-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Basin(basin-Nat-Nat(Y, X2))
equal-os-osb-os-osb-Thruth-os-csb-os-csb-os-osb-os-osb-Thruth-os-csb-os-csb(osb---csb-os-osb-Thruth-os-csb(X), osb---csb-os-osb-Thruth-os-csb(X)) -> tt
equal-os-osb-os-osb-Thruth-os-csb-os-csb-os-osb-os-osb-Thruth-os-csb-os-csb(osb---csb-Thruth(X), osb---csb-Thruth(X)) -> tt
U31-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(-+--Nat-Nat(X1, Y))
U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(Y, X2))
U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U21-Thruth-Nat-Nat-Nat-Nat(tt, M1, M2, N1, N2) -> ---Basin-Basin(basin-Nat-Nat(M1, sd-Nat-Nat(-+--Nat-Nat(N1, N2), M2)), basin-Nat-Nat(M2, M2))
U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(Y, X2))
U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U71-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(-<=--Nat-Nat(X1, Y))
U311-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(sd-Nat-Nat(X1, Y))
is'Bool-Bool(V) -> tt
U271-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(Y)) -> osb---csb-Bool(not-Bool(Y))
U191-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Basin(basin-Nat-Nat(X1, Y))





The following dependency pair can be strictly oriented:

-+--NAT-NAT(s--Nat(N), M) -> -+--NAT-NAT(N, M)


There are no usable rules w.r.t. to the implicit AFS that need to be oriented.

Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(-+--NAT-NAT(x1, x2))=  1 + x1 + x2  
  POL(s--Nat(x1))=  1 + x1  

resulting in one new DP problem.



   R
DPs
       →DP Problem 1
Polo
           →DP Problem 14
Dependency Graph
       →DP Problem 2
Polo
       →DP Problem 3
Polo
       →DP Problem 4
Polo
       →DP Problem 5
Remaining
       →DP Problem 6
Polo
       →DP Problem 7
Polo
       →DP Problem 8
Polo
       →DP Problem 9
Polo
       →DP Problem 10
Polo
       →DP Problem 11
Polo
       →DP Problem 12
Polo
       →DP Problem 13
Polo


Dependency Pair:


Rules:


ocb---ccb-Nat(4) -> osb---csb-Nat(s--Nat(3))
ocb---ccb-Nat(8) -> osb---csb-Nat(-+--Nat-Nat(3, 5))
ocb---ccb-Nat(-+--Nat-Nat(0, N)) -> osb---csb-Nat(N)
ocb---ccb-Nat(5) -> osb---csb-Nat(s--Nat(4))
ocb---ccb-Nat(-+--Nat-Nat(s--Nat(N), M)) -> osb---csb-Nat(s--Nat(-+--Nat-Nat(N, M)))
ocb---ccb-Nat(sd-Nat-Nat(N, 0)) -> osb---csb-Nat(N)
ocb---ccb-Nat(s--Nat(X1)) -> U291-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-Nat(X1))
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U41-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(s--Nat(N), s--Nat(M))) -> osb---csb-Nat(sd-Nat-Nat(N, M))
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U31-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Nat(s--Nat(X1)) -> U301-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-Nat(X1))
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U321-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U311-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(0, N)) -> osb---csb-Nat(N)
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Nat(3) -> osb---csb-Nat(s--Nat(s--Nat(s--Nat(0))))
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
4 -> s--Nat(3)
3 -> s--Nat(s--Nat(s--Nat(0)))
8 -> -+--Nat-Nat(3, 5)
-+--Nat-Nat(s--Nat(N), M) -> s--Nat(-+--Nat-Nat(N, M))
-+--Nat-Nat(0, N) -> N
5 -> s--Nat(4)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(initial) -> osb---csb-BasinSet(---Basin-BasinSet(basin-Nat-Nat(3, 0), ---Basin-Basin(basin-Nat-Nat(5, 0), basin-Nat-Nat(8, 0))))
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X1), X2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---Basin-BasinSet(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---Basin-Basin(X1, Y))
U281-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(Y)) -> osb---csb-Bool(not-Bool(Y))
U281-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(Y)) -> osb---csb-os-osb-Bool-os-csb(not-os-osb-Bool-os-csb(Y))
not-Bool(true) -> false
not-Bool(false) -> true
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-os-osb-BasinSet-os-csb(X1)) -> U241-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-Basin(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-BasinSet(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'Nat-Nat(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-os-osb-BasinSet-os-csb(X1)) -> U231-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-BasinSet(X1)) -> U231-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-BasinSet(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Bool-os-osb-Bool-os-csb(X1)) -> U251-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-os-osb-Bool-os-csb(X1))
ocb---ccb-os-osb-Thruth-os-csb(V1) -> ocb---ccb-Thruth(V1)
ocb---ccb-os-osb-Thruth-os-csb(is'Bool-Bool(X1)) -> U251-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-Bool(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-Basin(X1)) -> U231-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-Basin(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-BasinSet(X1)) -> U241-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-BasinSet(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Bool-Bool(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-Basin(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-Basin(X1)) -> U241-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-Basin(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Nat-Nat(X1)) -> U261-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-Nat(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Nat-os-osb-Nat-os-csb(X1)) -> U261-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1))
is'BasinSet-os-osb-BasinSet-os-csb(V1) -> is'BasinSet-BasinSet(V1)
is'BasinSet-os-osb-BasinSet-os-csb(V1) -> is'BasinSet-Basin(V1)
U241-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-BasinSet(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'BasinSet-BasinSet(Y))
U241-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'BasinSet-os-osb-BasinSet-os-csb(Y))
U241-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-Basin(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'BasinSet-Basin(Y))
ocb---ccb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-Basin(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(V1) -> ocb---ccb-BasinSet(V1)
ocb---ccb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(V1) -> ocb---ccb-Basin(V1)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-Basin(X2), X1)
is'BasinSet-Basin(V) -> tt
basin-Nat-Nat(M1, N1) -> basin-Nat-Nat(M1, 0)
basin-Nat-Nat(M1, N1) -> basin-Nat-Nat(M1, M1)
U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(-<=--Nat-Nat(X1, Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(X1, Y))
-<=--Nat-Nat(s--Nat(N), s--Nat(M)) -> -<=--Nat-Nat(N, M)
-<=--Nat-Nat(0, N) -> true
-<=--Nat-Nat(N, N) -> true
-<=--Nat-Nat(s--Nat(N), 0) -> false
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---BasinSet-BasinSet(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---BasinSet-Basin(X1, Y))
---BasinSet-BasinSet(V1, V2) -> ---Basin-BasinSet(V1, V2)
---BasinSet-BasinSet(V1, V2) -> ---BasinSet-Basin(V1, V2)
---BasinSet-BasinSet(V1, V2) -> ---Basin-Basin(V1, V2)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-BasinSet(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-Basin(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(Y, X2))
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U201-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U191-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> basin-Nat-os-osb-Nat-os-csb(V1, V2)
basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> basin-Nat-Nat(V1, V2)
basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> basin-os-osb-Nat-os-csb-Nat(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-os-osb-BasinSet-os-csb(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-BasinSet(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-os-osb-BasinSet-os-csb(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---os-osb-BasinSet-os-csb-BasinSet(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---os-osb-BasinSet-os-csb-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-BasinSet(V1, V2)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(not-os-osb-Bool-os-csb(X1)) -> U281-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-os-osb-Bool-os-csb(X1))
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(V1) -> ocb---ccb-Bool(V1)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -<=--Nat-os-osb-Nat-os-csb(V1, V2)
-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -<=--os-osb-Nat-os-csb-Nat(V1, V2)
-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -<=--Nat-Nat(V1, V2)
U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(Y, X2))
U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(V1) -> ocb---ccb-Nat(V1)
ocb---ccb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(s--os-osb-Nat-os-csb(X1)) -> U301-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1))
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(Y, X2))
U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(Y, X2))
U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(sd-Nat-Nat(Y, X2))
U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(X1, Y))
U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Basin(basin-Nat-Nat(X1, Y))
osb---csb-os-osb-Nat-os-csb(V1) -> osb---csb-Nat(V1)
osb---csb-os-osb-BasinSet-os-csb(V1) -> osb---csb-BasinSet(V1)
osb---csb-os-osb-BasinSet-os-csb(V1) -> osb---csb-Basin(V1)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-BasinSet(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-BasinSet(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-Basin(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-Basin(Y, X2))
is'BasinSet-BasinSet(V) -> tt
U121-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(->--Nat-Nat(Y, X2))
->--Nat-Nat(N, M) -> not-Bool(-<=--Nat-Nat(N, M))
---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)) -> U11-Thruth-Nat-Nat-Nat-Nat(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(-<=--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2)
---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)) -> U21-Thruth-Nat-Nat-Nat-Nat(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(->--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2)
U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(-<=--Nat-Nat(Y, X2))
U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(Y, X2))
-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -+--os-osb-Nat-os-csb-Nat(V1, V2)
-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -+--Nat-os-osb-Nat-os-csb(V1, V2)
-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -+--Nat-Nat(V1, V2)
sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> sd-Nat-os-osb-Nat-os-csb(V1, V2)
sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> sd-Nat-Nat(V1, V2)
sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> sd-os-osb-Nat-os-csb-Nat(V1, V2)
U291-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(Y)) -> osb---csb-Nat(s--Nat(Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(X1, Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
osb---csb-os-osb-Thruth-os-csb(V1) -> osb---csb-Thruth(V1)
U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(X1, Y))
U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U111-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(->--Nat-Nat(N, M)) -> osb---csb-Bool(not-Bool(-<=--Nat-Nat(N, M)))
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U81-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(-<=--Nat-Nat(s--Nat(N), 0)) -> osb---csb-Bool(false)
ocb---ccb-Bool(not-Bool(true)) -> osb---csb-Bool(false)
ocb---ccb-Bool(-<=--Nat-Nat(s--Nat(N), s--Nat(M))) -> osb---csb-Bool(-<=--Nat-Nat(N, M))
ocb---ccb-Bool(-<=--Nat-Nat(N, N)) -> osb---csb-Bool(true)
ocb---ccb-Bool(not-Bool(false)) -> osb---csb-Bool(true)
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U121-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U71-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(not-Bool(X1)) -> U281-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-Bool(X1))
ocb---ccb-Bool(not-Bool(X1)) -> U271-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-Bool(X1))
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(-<=--Nat-Nat(0, N)) -> osb---csb-Bool(true)
U111-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(->--Nat-Nat(X1, Y))
sd-Nat-Nat(s--Nat(N), s--Nat(M)) -> sd-Nat-Nat(N, M)
sd-Nat-Nat(0, N) -> N
sd-Nat-Nat(N, 0) -> N
U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(Y, X2))
U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(->--Nat-Nat(Y, X2))
initial -> ---Basin-BasinSet(basin-Nat-Nat(3, 0), ---Basin-Basin(basin-Nat-Nat(5, 0), basin-Nat-Nat(8, 0)))
not-os-osb-Bool-os-csb(V1) -> not-Bool(V1)
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-Basin(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-Basin(Y, X2))
U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(-+--Nat-Nat(X1, Y))
U81-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(-<=--Nat-Nat(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-BasinSet(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-BasinSet(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(Y, X2))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---BasinSet-Basin(X1, Y))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---BasinSet-BasinSet(X1, Y))
U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(sd-Nat-Nat(X1, Y))
U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(X1, Y))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---Basin-BasinSet(X1, Y))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---Basin-Basin(X1, Y))
U261-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-os-osb-Nat-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Nat-os-osb-Nat-os-csb(Y))
U261-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Nat-Nat(Y))
is'Nat-os-osb-Nat-os-csb(V1) -> is'Nat-Nat(V1)
U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(X1, Y))
U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
is'Basin-os-osb-BasinSet-os-csb(V1) -> is'Basin-BasinSet(V1)
is'Basin-os-osb-BasinSet-os-csb(V1) -> is'Basin-Basin(V1)
U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(Y, X2))
U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Basin(basin-Nat-Nat(Y, X2))
equal-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(X), osb---csb-Nat(X)) -> tt
equal-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-os-osb-Nat-os-csb(X), osb---csb-os-osb-Nat-os-csb(X)) -> tt
U11-Thruth-Nat-Nat-Nat-Nat(tt, M1, M2, N1, N2) -> ---Basin-Basin(basin-Nat-Nat(M1, 0), basin-Nat-Nat(M2, -+--Nat-Nat(N1, N2)))
equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(X), osb---csb-Bool(X)) -> tt
equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(X), osb---csb-os-osb-Bool-os-csb(X)) -> tt
osb---csb-os-osb-Bool-os-csb(V1) -> osb---csb-Bool(V1)
is'Nat-Nat(V) -> tt
s--os-osb-Nat-os-csb(V1) -> s--Nat(V1)
equal-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-BasinSet(X), osb---csb-BasinSet(X)) -> tt
equal-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-os-osb-BasinSet-os-csb(X), osb---csb-os-osb-BasinSet-os-csb(X)) -> tt
equal-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-Basin(X), osb---csb-Basin(X)) -> tt
U321-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(sd-Nat-Nat(Y, X2))
U231-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-Basin(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Basin-Basin(Y))
U231-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-BasinSet(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Basin-BasinSet(Y))
U231-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Basin-os-osb-BasinSet-os-csb(Y))
is'Basin-Basin(V) -> tt
U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(Y, X2))
U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(-+--Nat-Nat(Y, X2))
is'Bool-os-osb-Bool-os-csb(V1) -> is'Bool-Bool(V1)
U251-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Bool-os-osb-Bool-os-csb(Y))
U251-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Bool-Bool(Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(X1, Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(X1, Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(->--Nat-Nat(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-Basin(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-BasinSet(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(X1, Y))
U301-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(Y)) -> osb---csb-Nat(s--Nat(Y))
U301-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-os-osb-Nat-os-csb(Y)) -> osb---csb-os-osb-Nat-os-csb(s--os-osb-Nat-os-csb(Y))
->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> ->--Nat-os-osb-Nat-os-csb(V1, V2)
->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> ->--Nat-Nat(V1, V2)
->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> ->--os-osb-Nat-os-csb-Nat(V1, V2)
U41-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(-+--Nat-Nat(Y, X2))
U201-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Basin(basin-Nat-Nat(Y, X2))
equal-os-osb-os-osb-Thruth-os-csb-os-csb-os-osb-os-osb-Thruth-os-csb-os-csb(osb---csb-os-osb-Thruth-os-csb(X), osb---csb-os-osb-Thruth-os-csb(X)) -> tt
equal-os-osb-os-osb-Thruth-os-csb-os-csb-os-osb-os-osb-Thruth-os-csb-os-csb(osb---csb-Thruth(X), osb---csb-Thruth(X)) -> tt
U31-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(-+--Nat-Nat(X1, Y))
U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(Y, X2))
U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U21-Thruth-Nat-Nat-Nat-Nat(tt, M1, M2, N1, N2) -> ---Basin-Basin(basin-Nat-Nat(M1, sd-Nat-Nat(-+--Nat-Nat(N1, N2), M2)), basin-Nat-Nat(M2, M2))
U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(Y, X2))
U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U71-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(-<=--Nat-Nat(X1, Y))
U311-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(sd-Nat-Nat(X1, Y))
is'Bool-Bool(V) -> tt
U271-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(Y)) -> osb---csb-Bool(not-Bool(Y))
U191-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Basin(basin-Nat-Nat(X1, Y))





Using the Dependency Graph resulted in no new DP problems.


   R
DPs
       →DP Problem 1
Polo
       →DP Problem 2
Polynomial Ordering
       →DP Problem 3
Polo
       →DP Problem 4
Polo
       →DP Problem 5
Remaining
       →DP Problem 6
Polo
       →DP Problem 7
Polo
       →DP Problem 8
Polo
       →DP Problem 9
Polo
       →DP Problem 10
Polo
       →DP Problem 11
Polo
       →DP Problem 12
Polo
       →DP Problem 13
Polo


Dependency Pair:

SD-NAT-NAT(s--Nat(N), s--Nat(M)) -> SD-NAT-NAT(N, M)


Rules:


ocb---ccb-Nat(4) -> osb---csb-Nat(s--Nat(3))
ocb---ccb-Nat(8) -> osb---csb-Nat(-+--Nat-Nat(3, 5))
ocb---ccb-Nat(-+--Nat-Nat(0, N)) -> osb---csb-Nat(N)
ocb---ccb-Nat(5) -> osb---csb-Nat(s--Nat(4))
ocb---ccb-Nat(-+--Nat-Nat(s--Nat(N), M)) -> osb---csb-Nat(s--Nat(-+--Nat-Nat(N, M)))
ocb---ccb-Nat(sd-Nat-Nat(N, 0)) -> osb---csb-Nat(N)
ocb---ccb-Nat(s--Nat(X1)) -> U291-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-Nat(X1))
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U41-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(s--Nat(N), s--Nat(M))) -> osb---csb-Nat(sd-Nat-Nat(N, M))
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U31-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Nat(s--Nat(X1)) -> U301-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-Nat(X1))
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U321-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U311-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(0, N)) -> osb---csb-Nat(N)
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Nat(3) -> osb---csb-Nat(s--Nat(s--Nat(s--Nat(0))))
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
4 -> s--Nat(3)
3 -> s--Nat(s--Nat(s--Nat(0)))
8 -> -+--Nat-Nat(3, 5)
-+--Nat-Nat(s--Nat(N), M) -> s--Nat(-+--Nat-Nat(N, M))
-+--Nat-Nat(0, N) -> N
5 -> s--Nat(4)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(initial) -> osb---csb-BasinSet(---Basin-BasinSet(basin-Nat-Nat(3, 0), ---Basin-Basin(basin-Nat-Nat(5, 0), basin-Nat-Nat(8, 0))))
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X1), X2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---Basin-BasinSet(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---Basin-Basin(X1, Y))
U281-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(Y)) -> osb---csb-Bool(not-Bool(Y))
U281-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(Y)) -> osb---csb-os-osb-Bool-os-csb(not-os-osb-Bool-os-csb(Y))
not-Bool(true) -> false
not-Bool(false) -> true
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-os-osb-BasinSet-os-csb(X1)) -> U241-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-Basin(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-BasinSet(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'Nat-Nat(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-os-osb-BasinSet-os-csb(X1)) -> U231-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-BasinSet(X1)) -> U231-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-BasinSet(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Bool-os-osb-Bool-os-csb(X1)) -> U251-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-os-osb-Bool-os-csb(X1))
ocb---ccb-os-osb-Thruth-os-csb(V1) -> ocb---ccb-Thruth(V1)
ocb---ccb-os-osb-Thruth-os-csb(is'Bool-Bool(X1)) -> U251-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-Bool(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-Basin(X1)) -> U231-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-Basin(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-BasinSet(X1)) -> U241-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-BasinSet(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Bool-Bool(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-Basin(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-Basin(X1)) -> U241-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-Basin(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Nat-Nat(X1)) -> U261-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-Nat(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Nat-os-osb-Nat-os-csb(X1)) -> U261-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1))
is'BasinSet-os-osb-BasinSet-os-csb(V1) -> is'BasinSet-BasinSet(V1)
is'BasinSet-os-osb-BasinSet-os-csb(V1) -> is'BasinSet-Basin(V1)
U241-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-BasinSet(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'BasinSet-BasinSet(Y))
U241-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'BasinSet-os-osb-BasinSet-os-csb(Y))
U241-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-Basin(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'BasinSet-Basin(Y))
ocb---ccb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-Basin(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(V1) -> ocb---ccb-BasinSet(V1)
ocb---ccb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(V1) -> ocb---ccb-Basin(V1)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-Basin(X2), X1)
is'BasinSet-Basin(V) -> tt
basin-Nat-Nat(M1, N1) -> basin-Nat-Nat(M1, 0)
basin-Nat-Nat(M1, N1) -> basin-Nat-Nat(M1, M1)
U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(-<=--Nat-Nat(X1, Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(X1, Y))
-<=--Nat-Nat(s--Nat(N), s--Nat(M)) -> -<=--Nat-Nat(N, M)
-<=--Nat-Nat(0, N) -> true
-<=--Nat-Nat(N, N) -> true
-<=--Nat-Nat(s--Nat(N), 0) -> false
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---BasinSet-BasinSet(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---BasinSet-Basin(X1, Y))
---BasinSet-BasinSet(V1, V2) -> ---Basin-BasinSet(V1, V2)
---BasinSet-BasinSet(V1, V2) -> ---BasinSet-Basin(V1, V2)
---BasinSet-BasinSet(V1, V2) -> ---Basin-Basin(V1, V2)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-BasinSet(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-Basin(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(Y, X2))
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U201-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U191-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> basin-Nat-os-osb-Nat-os-csb(V1, V2)
basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> basin-Nat-Nat(V1, V2)
basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> basin-os-osb-Nat-os-csb-Nat(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-os-osb-BasinSet-os-csb(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-BasinSet(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-os-osb-BasinSet-os-csb(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---os-osb-BasinSet-os-csb-BasinSet(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---os-osb-BasinSet-os-csb-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-BasinSet(V1, V2)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(not-os-osb-Bool-os-csb(X1)) -> U281-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-os-osb-Bool-os-csb(X1))
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(V1) -> ocb---ccb-Bool(V1)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -<=--Nat-os-osb-Nat-os-csb(V1, V2)
-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -<=--os-osb-Nat-os-csb-Nat(V1, V2)
-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -<=--Nat-Nat(V1, V2)
U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(Y, X2))
U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(V1) -> ocb---ccb-Nat(V1)
ocb---ccb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(s--os-osb-Nat-os-csb(X1)) -> U301-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1))
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(Y, X2))
U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(Y, X2))
U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(sd-Nat-Nat(Y, X2))
U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(X1, Y))
U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Basin(basin-Nat-Nat(X1, Y))
osb---csb-os-osb-Nat-os-csb(V1) -> osb---csb-Nat(V1)
osb---csb-os-osb-BasinSet-os-csb(V1) -> osb---csb-BasinSet(V1)
osb---csb-os-osb-BasinSet-os-csb(V1) -> osb---csb-Basin(V1)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-BasinSet(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-BasinSet(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-Basin(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-Basin(Y, X2))
is'BasinSet-BasinSet(V) -> tt
U121-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(->--Nat-Nat(Y, X2))
->--Nat-Nat(N, M) -> not-Bool(-<=--Nat-Nat(N, M))
---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)) -> U11-Thruth-Nat-Nat-Nat-Nat(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(-<=--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2)
---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)) -> U21-Thruth-Nat-Nat-Nat-Nat(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(->--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2)
U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(-<=--Nat-Nat(Y, X2))
U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(Y, X2))
-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -+--os-osb-Nat-os-csb-Nat(V1, V2)
-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -+--Nat-os-osb-Nat-os-csb(V1, V2)
-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -+--Nat-Nat(V1, V2)
sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> sd-Nat-os-osb-Nat-os-csb(V1, V2)
sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> sd-Nat-Nat(V1, V2)
sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> sd-os-osb-Nat-os-csb-Nat(V1, V2)
U291-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(Y)) -> osb---csb-Nat(s--Nat(Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(X1, Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
osb---csb-os-osb-Thruth-os-csb(V1) -> osb---csb-Thruth(V1)
U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(X1, Y))
U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U111-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(->--Nat-Nat(N, M)) -> osb---csb-Bool(not-Bool(-<=--Nat-Nat(N, M)))
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U81-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(-<=--Nat-Nat(s--Nat(N), 0)) -> osb---csb-Bool(false)
ocb---ccb-Bool(not-Bool(true)) -> osb---csb-Bool(false)
ocb---ccb-Bool(-<=--Nat-Nat(s--Nat(N), s--Nat(M))) -> osb---csb-Bool(-<=--Nat-Nat(N, M))
ocb---ccb-Bool(-<=--Nat-Nat(N, N)) -> osb---csb-Bool(true)
ocb---ccb-Bool(not-Bool(false)) -> osb---csb-Bool(true)
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U121-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U71-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(not-Bool(X1)) -> U281-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-Bool(X1))
ocb---ccb-Bool(not-Bool(X1)) -> U271-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-Bool(X1))
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(-<=--Nat-Nat(0, N)) -> osb---csb-Bool(true)
U111-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(->--Nat-Nat(X1, Y))
sd-Nat-Nat(s--Nat(N), s--Nat(M)) -> sd-Nat-Nat(N, M)
sd-Nat-Nat(0, N) -> N
sd-Nat-Nat(N, 0) -> N
U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(Y, X2))
U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(->--Nat-Nat(Y, X2))
initial -> ---Basin-BasinSet(basin-Nat-Nat(3, 0), ---Basin-Basin(basin-Nat-Nat(5, 0), basin-Nat-Nat(8, 0)))
not-os-osb-Bool-os-csb(V1) -> not-Bool(V1)
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-Basin(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-Basin(Y, X2))
U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(-+--Nat-Nat(X1, Y))
U81-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(-<=--Nat-Nat(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-BasinSet(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-BasinSet(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(Y, X2))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---BasinSet-Basin(X1, Y))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---BasinSet-BasinSet(X1, Y))
U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(sd-Nat-Nat(X1, Y))
U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(X1, Y))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---Basin-BasinSet(X1, Y))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---Basin-Basin(X1, Y))
U261-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-os-osb-Nat-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Nat-os-osb-Nat-os-csb(Y))
U261-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Nat-Nat(Y))
is'Nat-os-osb-Nat-os-csb(V1) -> is'Nat-Nat(V1)
U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(X1, Y))
U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
is'Basin-os-osb-BasinSet-os-csb(V1) -> is'Basin-BasinSet(V1)
is'Basin-os-osb-BasinSet-os-csb(V1) -> is'Basin-Basin(V1)
U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(Y, X2))
U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Basin(basin-Nat-Nat(Y, X2))
equal-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(X), osb---csb-Nat(X)) -> tt
equal-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-os-osb-Nat-os-csb(X), osb---csb-os-osb-Nat-os-csb(X)) -> tt
U11-Thruth-Nat-Nat-Nat-Nat(tt, M1, M2, N1, N2) -> ---Basin-Basin(basin-Nat-Nat(M1, 0), basin-Nat-Nat(M2, -+--Nat-Nat(N1, N2)))
equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(X), osb---csb-Bool(X)) -> tt
equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(X), osb---csb-os-osb-Bool-os-csb(X)) -> tt
osb---csb-os-osb-Bool-os-csb(V1) -> osb---csb-Bool(V1)
is'Nat-Nat(V) -> tt
s--os-osb-Nat-os-csb(V1) -> s--Nat(V1)
equal-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-BasinSet(X), osb---csb-BasinSet(X)) -> tt
equal-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-os-osb-BasinSet-os-csb(X), osb---csb-os-osb-BasinSet-os-csb(X)) -> tt
equal-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-Basin(X), osb---csb-Basin(X)) -> tt
U321-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(sd-Nat-Nat(Y, X2))
U231-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-Basin(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Basin-Basin(Y))
U231-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-BasinSet(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Basin-BasinSet(Y))
U231-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Basin-os-osb-BasinSet-os-csb(Y))
is'Basin-Basin(V) -> tt
U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(Y, X2))
U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(-+--Nat-Nat(Y, X2))
is'Bool-os-osb-Bool-os-csb(V1) -> is'Bool-Bool(V1)
U251-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Bool-os-osb-Bool-os-csb(Y))
U251-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Bool-Bool(Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(X1, Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(X1, Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(->--Nat-Nat(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-Basin(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-BasinSet(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(X1, Y))
U301-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(Y)) -> osb---csb-Nat(s--Nat(Y))
U301-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-os-osb-Nat-os-csb(Y)) -> osb---csb-os-osb-Nat-os-csb(s--os-osb-Nat-os-csb(Y))
->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> ->--Nat-os-osb-Nat-os-csb(V1, V2)
->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> ->--Nat-Nat(V1, V2)
->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> ->--os-osb-Nat-os-csb-Nat(V1, V2)
U41-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(-+--Nat-Nat(Y, X2))
U201-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Basin(basin-Nat-Nat(Y, X2))
equal-os-osb-os-osb-Thruth-os-csb-os-csb-os-osb-os-osb-Thruth-os-csb-os-csb(osb---csb-os-osb-Thruth-os-csb(X), osb---csb-os-osb-Thruth-os-csb(X)) -> tt
equal-os-osb-os-osb-Thruth-os-csb-os-csb-os-osb-os-osb-Thruth-os-csb-os-csb(osb---csb-Thruth(X), osb---csb-Thruth(X)) -> tt
U31-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(-+--Nat-Nat(X1, Y))
U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(Y, X2))
U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U21-Thruth-Nat-Nat-Nat-Nat(tt, M1, M2, N1, N2) -> ---Basin-Basin(basin-Nat-Nat(M1, sd-Nat-Nat(-+--Nat-Nat(N1, N2), M2)), basin-Nat-Nat(M2, M2))
U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(Y, X2))
U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U71-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(-<=--Nat-Nat(X1, Y))
U311-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(sd-Nat-Nat(X1, Y))
is'Bool-Bool(V) -> tt
U271-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(Y)) -> osb---csb-Bool(not-Bool(Y))
U191-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Basin(basin-Nat-Nat(X1, Y))





The following dependency pair can be strictly oriented:

SD-NAT-NAT(s--Nat(N), s--Nat(M)) -> SD-NAT-NAT(N, M)


There are no usable rules w.r.t. to the implicit AFS that need to be oriented.

Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(SD-NAT-NAT(x1, x2))=  1 + x1  
  POL(s--Nat(x1))=  1 + x1  

resulting in one new DP problem.



   R
DPs
       →DP Problem 1
Polo
       →DP Problem 2
Polo
       →DP Problem 3
Polynomial Ordering
       →DP Problem 4
Polo
       →DP Problem 5
Remaining
       →DP Problem 6
Polo
       →DP Problem 7
Polo
       →DP Problem 8
Polo
       →DP Problem 9
Polo
       →DP Problem 10
Polo
       →DP Problem 11
Polo
       →DP Problem 12
Polo
       →DP Problem 13
Polo


Dependency Pairs:

OCB---CCB-NAT(sd-Nat-Nat(X1, X2)) -> OCB---CCB-NAT(X2)
OCB---CCB-NAT(sd-Nat-Nat(X1, X2)) -> OCB---CCB-NAT(X1)
OCB---CCB-NAT(-+--Nat-Nat(X1, X2)) -> OCB---CCB-NAT(X2)
OCB---CCB-NAT(-+--Nat-Nat(X1, X2)) -> OCB---CCB-NAT(X1)
OCB---CCB-NAT(s--Nat(X1)) -> OCB---CCB-NAT(X1)


Rules:


ocb---ccb-Nat(4) -> osb---csb-Nat(s--Nat(3))
ocb---ccb-Nat(8) -> osb---csb-Nat(-+--Nat-Nat(3, 5))
ocb---ccb-Nat(-+--Nat-Nat(0, N)) -> osb---csb-Nat(N)
ocb---ccb-Nat(5) -> osb---csb-Nat(s--Nat(4))
ocb---ccb-Nat(-+--Nat-Nat(s--Nat(N), M)) -> osb---csb-Nat(s--Nat(-+--Nat-Nat(N, M)))
ocb---ccb-Nat(sd-Nat-Nat(N, 0)) -> osb---csb-Nat(N)
ocb---ccb-Nat(s--Nat(X1)) -> U291-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-Nat(X1))
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U41-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(s--Nat(N), s--Nat(M))) -> osb---csb-Nat(sd-Nat-Nat(N, M))
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U31-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Nat(s--Nat(X1)) -> U301-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-Nat(X1))
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U321-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U311-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(0, N)) -> osb---csb-Nat(N)
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Nat(3) -> osb---csb-Nat(s--Nat(s--Nat(s--Nat(0))))
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
4 -> s--Nat(3)
3 -> s--Nat(s--Nat(s--Nat(0)))
8 -> -+--Nat-Nat(3, 5)
-+--Nat-Nat(s--Nat(N), M) -> s--Nat(-+--Nat-Nat(N, M))
-+--Nat-Nat(0, N) -> N
5 -> s--Nat(4)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(initial) -> osb---csb-BasinSet(---Basin-BasinSet(basin-Nat-Nat(3, 0), ---Basin-Basin(basin-Nat-Nat(5, 0), basin-Nat-Nat(8, 0))))
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X1), X2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---Basin-BasinSet(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---Basin-Basin(X1, Y))
U281-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(Y)) -> osb---csb-Bool(not-Bool(Y))
U281-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(Y)) -> osb---csb-os-osb-Bool-os-csb(not-os-osb-Bool-os-csb(Y))
not-Bool(true) -> false
not-Bool(false) -> true
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-os-osb-BasinSet-os-csb(X1)) -> U241-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-Basin(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-BasinSet(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'Nat-Nat(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-os-osb-BasinSet-os-csb(X1)) -> U231-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-BasinSet(X1)) -> U231-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-BasinSet(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Bool-os-osb-Bool-os-csb(X1)) -> U251-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-os-osb-Bool-os-csb(X1))
ocb---ccb-os-osb-Thruth-os-csb(V1) -> ocb---ccb-Thruth(V1)
ocb---ccb-os-osb-Thruth-os-csb(is'Bool-Bool(X1)) -> U251-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-Bool(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-Basin(X1)) -> U231-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-Basin(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-BasinSet(X1)) -> U241-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-BasinSet(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Bool-Bool(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-Basin(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-Basin(X1)) -> U241-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-Basin(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Nat-Nat(X1)) -> U261-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-Nat(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Nat-os-osb-Nat-os-csb(X1)) -> U261-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1))
is'BasinSet-os-osb-BasinSet-os-csb(V1) -> is'BasinSet-BasinSet(V1)
is'BasinSet-os-osb-BasinSet-os-csb(V1) -> is'BasinSet-Basin(V1)
U241-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-BasinSet(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'BasinSet-BasinSet(Y))
U241-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'BasinSet-os-osb-BasinSet-os-csb(Y))
U241-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-Basin(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'BasinSet-Basin(Y))
ocb---ccb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-Basin(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(V1) -> ocb---ccb-BasinSet(V1)
ocb---ccb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(V1) -> ocb---ccb-Basin(V1)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-Basin(X2), X1)
is'BasinSet-Basin(V) -> tt
basin-Nat-Nat(M1, N1) -> basin-Nat-Nat(M1, 0)
basin-Nat-Nat(M1, N1) -> basin-Nat-Nat(M1, M1)
U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(-<=--Nat-Nat(X1, Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(X1, Y))
-<=--Nat-Nat(s--Nat(N), s--Nat(M)) -> -<=--Nat-Nat(N, M)
-<=--Nat-Nat(0, N) -> true
-<=--Nat-Nat(N, N) -> true
-<=--Nat-Nat(s--Nat(N), 0) -> false
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---BasinSet-BasinSet(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---BasinSet-Basin(X1, Y))
---BasinSet-BasinSet(V1, V2) -> ---Basin-BasinSet(V1, V2)
---BasinSet-BasinSet(V1, V2) -> ---BasinSet-Basin(V1, V2)
---BasinSet-BasinSet(V1, V2) -> ---Basin-Basin(V1, V2)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-BasinSet(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-Basin(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(Y, X2))
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U201-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U191-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> basin-Nat-os-osb-Nat-os-csb(V1, V2)
basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> basin-Nat-Nat(V1, V2)
basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> basin-os-osb-Nat-os-csb-Nat(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-os-osb-BasinSet-os-csb(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-BasinSet(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-os-osb-BasinSet-os-csb(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---os-osb-BasinSet-os-csb-BasinSet(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---os-osb-BasinSet-os-csb-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-BasinSet(V1, V2)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(not-os-osb-Bool-os-csb(X1)) -> U281-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-os-osb-Bool-os-csb(X1))
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(V1) -> ocb---ccb-Bool(V1)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -<=--Nat-os-osb-Nat-os-csb(V1, V2)
-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -<=--os-osb-Nat-os-csb-Nat(V1, V2)
-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -<=--Nat-Nat(V1, V2)
U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(Y, X2))
U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(V1) -> ocb---ccb-Nat(V1)
ocb---ccb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(s--os-osb-Nat-os-csb(X1)) -> U301-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1))
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(Y, X2))
U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(Y, X2))
U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(sd-Nat-Nat(Y, X2))
U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(X1, Y))
U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Basin(basin-Nat-Nat(X1, Y))
osb---csb-os-osb-Nat-os-csb(V1) -> osb---csb-Nat(V1)
osb---csb-os-osb-BasinSet-os-csb(V1) -> osb---csb-BasinSet(V1)
osb---csb-os-osb-BasinSet-os-csb(V1) -> osb---csb-Basin(V1)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-BasinSet(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-BasinSet(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-Basin(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-Basin(Y, X2))
is'BasinSet-BasinSet(V) -> tt
U121-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(->--Nat-Nat(Y, X2))
->--Nat-Nat(N, M) -> not-Bool(-<=--Nat-Nat(N, M))
---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)) -> U11-Thruth-Nat-Nat-Nat-Nat(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(-<=--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2)
---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)) -> U21-Thruth-Nat-Nat-Nat-Nat(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(->--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2)
U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(-<=--Nat-Nat(Y, X2))
U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(Y, X2))
-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -+--os-osb-Nat-os-csb-Nat(V1, V2)
-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -+--Nat-os-osb-Nat-os-csb(V1, V2)
-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -+--Nat-Nat(V1, V2)
sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> sd-Nat-os-osb-Nat-os-csb(V1, V2)
sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> sd-Nat-Nat(V1, V2)
sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> sd-os-osb-Nat-os-csb-Nat(V1, V2)
U291-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(Y)) -> osb---csb-Nat(s--Nat(Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(X1, Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
osb---csb-os-osb-Thruth-os-csb(V1) -> osb---csb-Thruth(V1)
U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(X1, Y))
U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U111-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(->--Nat-Nat(N, M)) -> osb---csb-Bool(not-Bool(-<=--Nat-Nat(N, M)))
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U81-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(-<=--Nat-Nat(s--Nat(N), 0)) -> osb---csb-Bool(false)
ocb---ccb-Bool(not-Bool(true)) -> osb---csb-Bool(false)
ocb---ccb-Bool(-<=--Nat-Nat(s--Nat(N), s--Nat(M))) -> osb---csb-Bool(-<=--Nat-Nat(N, M))
ocb---ccb-Bool(-<=--Nat-Nat(N, N)) -> osb---csb-Bool(true)
ocb---ccb-Bool(not-Bool(false)) -> osb---csb-Bool(true)
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U121-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U71-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(not-Bool(X1)) -> U281-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-Bool(X1))
ocb---ccb-Bool(not-Bool(X1)) -> U271-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-Bool(X1))
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(-<=--Nat-Nat(0, N)) -> osb---csb-Bool(true)
U111-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(->--Nat-Nat(X1, Y))
sd-Nat-Nat(s--Nat(N), s--Nat(M)) -> sd-Nat-Nat(N, M)
sd-Nat-Nat(0, N) -> N
sd-Nat-Nat(N, 0) -> N
U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(Y, X2))
U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(->--Nat-Nat(Y, X2))
initial -> ---Basin-BasinSet(basin-Nat-Nat(3, 0), ---Basin-Basin(basin-Nat-Nat(5, 0), basin-Nat-Nat(8, 0)))
not-os-osb-Bool-os-csb(V1) -> not-Bool(V1)
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-Basin(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-Basin(Y, X2))
U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(-+--Nat-Nat(X1, Y))
U81-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(-<=--Nat-Nat(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-BasinSet(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-BasinSet(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(Y, X2))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---BasinSet-Basin(X1, Y))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---BasinSet-BasinSet(X1, Y))
U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(sd-Nat-Nat(X1, Y))
U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(X1, Y))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---Basin-BasinSet(X1, Y))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---Basin-Basin(X1, Y))
U261-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-os-osb-Nat-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Nat-os-osb-Nat-os-csb(Y))
U261-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Nat-Nat(Y))
is'Nat-os-osb-Nat-os-csb(V1) -> is'Nat-Nat(V1)
U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(X1, Y))
U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
is'Basin-os-osb-BasinSet-os-csb(V1) -> is'Basin-BasinSet(V1)
is'Basin-os-osb-BasinSet-os-csb(V1) -> is'Basin-Basin(V1)
U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(Y, X2))
U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Basin(basin-Nat-Nat(Y, X2))
equal-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(X), osb---csb-Nat(X)) -> tt
equal-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-os-osb-Nat-os-csb(X), osb---csb-os-osb-Nat-os-csb(X)) -> tt
U11-Thruth-Nat-Nat-Nat-Nat(tt, M1, M2, N1, N2) -> ---Basin-Basin(basin-Nat-Nat(M1, 0), basin-Nat-Nat(M2, -+--Nat-Nat(N1, N2)))
equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(X), osb---csb-Bool(X)) -> tt
equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(X), osb---csb-os-osb-Bool-os-csb(X)) -> tt
osb---csb-os-osb-Bool-os-csb(V1) -> osb---csb-Bool(V1)
is'Nat-Nat(V) -> tt
s--os-osb-Nat-os-csb(V1) -> s--Nat(V1)
equal-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-BasinSet(X), osb---csb-BasinSet(X)) -> tt
equal-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-os-osb-BasinSet-os-csb(X), osb---csb-os-osb-BasinSet-os-csb(X)) -> tt
equal-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-Basin(X), osb---csb-Basin(X)) -> tt
U321-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(sd-Nat-Nat(Y, X2))
U231-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-Basin(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Basin-Basin(Y))
U231-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-BasinSet(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Basin-BasinSet(Y))
U231-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Basin-os-osb-BasinSet-os-csb(Y))
is'Basin-Basin(V) -> tt
U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(Y, X2))
U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(-+--Nat-Nat(Y, X2))
is'Bool-os-osb-Bool-os-csb(V1) -> is'Bool-Bool(V1)
U251-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Bool-os-osb-Bool-os-csb(Y))
U251-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Bool-Bool(Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(X1, Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(X1, Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(->--Nat-Nat(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-Basin(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-BasinSet(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(X1, Y))
U301-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(Y)) -> osb---csb-Nat(s--Nat(Y))
U301-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-os-osb-Nat-os-csb(Y)) -> osb---csb-os-osb-Nat-os-csb(s--os-osb-Nat-os-csb(Y))
->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> ->--Nat-os-osb-Nat-os-csb(V1, V2)
->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> ->--Nat-Nat(V1, V2)
->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> ->--os-osb-Nat-os-csb-Nat(V1, V2)
U41-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(-+--Nat-Nat(Y, X2))
U201-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Basin(basin-Nat-Nat(Y, X2))
equal-os-osb-os-osb-Thruth-os-csb-os-csb-os-osb-os-osb-Thruth-os-csb-os-csb(osb---csb-os-osb-Thruth-os-csb(X), osb---csb-os-osb-Thruth-os-csb(X)) -> tt
equal-os-osb-os-osb-Thruth-os-csb-os-csb-os-osb-os-osb-Thruth-os-csb-os-csb(osb---csb-Thruth(X), osb---csb-Thruth(X)) -> tt
U31-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(-+--Nat-Nat(X1, Y))
U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(Y, X2))
U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U21-Thruth-Nat-Nat-Nat-Nat(tt, M1, M2, N1, N2) -> ---Basin-Basin(basin-Nat-Nat(M1, sd-Nat-Nat(-+--Nat-Nat(N1, N2), M2)), basin-Nat-Nat(M2, M2))
U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(Y, X2))
U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U71-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(-<=--Nat-Nat(X1, Y))
U311-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(sd-Nat-Nat(X1, Y))
is'Bool-Bool(V) -> tt
U271-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(Y)) -> osb---csb-Bool(not-Bool(Y))
U191-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Basin(basin-Nat-Nat(X1, Y))





The following dependency pairs can be strictly oriented:

OCB---CCB-NAT(sd-Nat-Nat(X1, X2)) -> OCB---CCB-NAT(X2)
OCB---CCB-NAT(sd-Nat-Nat(X1, X2)) -> OCB---CCB-NAT(X1)


There are no usable rules w.r.t. to the implicit AFS that need to be oriented.

Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(sd-Nat-Nat(x1, x2))=  1 + x1 + x2  
  POL(-+--Nat-Nat(x1, x2))=  x1 + x2  
  POL(OCB---CCB-NAT(x1))=  1 + x1  
  POL(s--Nat(x1))=  x1  

resulting in one new DP problem.



   R
DPs
       →DP Problem 1
Polo
       →DP Problem 2
Polo
       →DP Problem 3
Polo
           →DP Problem 16
Polynomial Ordering
       →DP Problem 4
Polo
       →DP Problem 5
Remaining
       →DP Problem 6
Polo
       →DP Problem 7
Polo
       →DP Problem 8
Polo
       →DP Problem 9
Polo
       →DP Problem 10
Polo
       →DP Problem 11
Polo
       →DP Problem 12
Polo
       →DP Problem 13
Polo


Dependency Pairs:

OCB---CCB-NAT(-+--Nat-Nat(X1, X2)) -> OCB---CCB-NAT(X2)
OCB---CCB-NAT(-+--Nat-Nat(X1, X2)) -> OCB---CCB-NAT(X1)
OCB---CCB-NAT(s--Nat(X1)) -> OCB---CCB-NAT(X1)


Rules:


ocb---ccb-Nat(4) -> osb---csb-Nat(s--Nat(3))
ocb---ccb-Nat(8) -> osb---csb-Nat(-+--Nat-Nat(3, 5))
ocb---ccb-Nat(-+--Nat-Nat(0, N)) -> osb---csb-Nat(N)
ocb---ccb-Nat(5) -> osb---csb-Nat(s--Nat(4))
ocb---ccb-Nat(-+--Nat-Nat(s--Nat(N), M)) -> osb---csb-Nat(s--Nat(-+--Nat-Nat(N, M)))
ocb---ccb-Nat(sd-Nat-Nat(N, 0)) -> osb---csb-Nat(N)
ocb---ccb-Nat(s--Nat(X1)) -> U291-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-Nat(X1))
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U41-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(s--Nat(N), s--Nat(M))) -> osb---csb-Nat(sd-Nat-Nat(N, M))
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U31-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Nat(s--Nat(X1)) -> U301-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-Nat(X1))
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U321-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U311-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(0, N)) -> osb---csb-Nat(N)
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Nat(3) -> osb---csb-Nat(s--Nat(s--Nat(s--Nat(0))))
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
4 -> s--Nat(3)
3 -> s--Nat(s--Nat(s--Nat(0)))
8 -> -+--Nat-Nat(3, 5)
-+--Nat-Nat(s--Nat(N), M) -> s--Nat(-+--Nat-Nat(N, M))
-+--Nat-Nat(0, N) -> N
5 -> s--Nat(4)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(initial) -> osb---csb-BasinSet(---Basin-BasinSet(basin-Nat-Nat(3, 0), ---Basin-Basin(basin-Nat-Nat(5, 0), basin-Nat-Nat(8, 0))))
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X1), X2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---Basin-BasinSet(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---Basin-Basin(X1, Y))
U281-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(Y)) -> osb---csb-Bool(not-Bool(Y))
U281-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(Y)) -> osb---csb-os-osb-Bool-os-csb(not-os-osb-Bool-os-csb(Y))
not-Bool(true) -> false
not-Bool(false) -> true
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-os-osb-BasinSet-os-csb(X1)) -> U241-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-Basin(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-BasinSet(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'Nat-Nat(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-os-osb-BasinSet-os-csb(X1)) -> U231-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-BasinSet(X1)) -> U231-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-BasinSet(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Bool-os-osb-Bool-os-csb(X1)) -> U251-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-os-osb-Bool-os-csb(X1))
ocb---ccb-os-osb-Thruth-os-csb(V1) -> ocb---ccb-Thruth(V1)
ocb---ccb-os-osb-Thruth-os-csb(is'Bool-Bool(X1)) -> U251-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-Bool(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-Basin(X1)) -> U231-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-Basin(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-BasinSet(X1)) -> U241-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-BasinSet(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Bool-Bool(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-Basin(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-Basin(X1)) -> U241-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-Basin(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Nat-Nat(X1)) -> U261-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-Nat(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Nat-os-osb-Nat-os-csb(X1)) -> U261-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1))
is'BasinSet-os-osb-BasinSet-os-csb(V1) -> is'BasinSet-BasinSet(V1)
is'BasinSet-os-osb-BasinSet-os-csb(V1) -> is'BasinSet-Basin(V1)
U241-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-BasinSet(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'BasinSet-BasinSet(Y))
U241-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'BasinSet-os-osb-BasinSet-os-csb(Y))
U241-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-Basin(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'BasinSet-Basin(Y))
ocb---ccb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-Basin(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(V1) -> ocb---ccb-BasinSet(V1)
ocb---ccb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(V1) -> ocb---ccb-Basin(V1)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-Basin(X2), X1)
is'BasinSet-Basin(V) -> tt
basin-Nat-Nat(M1, N1) -> basin-Nat-Nat(M1, 0)
basin-Nat-Nat(M1, N1) -> basin-Nat-Nat(M1, M1)
U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(-<=--Nat-Nat(X1, Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(X1, Y))
-<=--Nat-Nat(s--Nat(N), s--Nat(M)) -> -<=--Nat-Nat(N, M)
-<=--Nat-Nat(0, N) -> true
-<=--Nat-Nat(N, N) -> true
-<=--Nat-Nat(s--Nat(N), 0) -> false
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---BasinSet-BasinSet(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---BasinSet-Basin(X1, Y))
---BasinSet-BasinSet(V1, V2) -> ---Basin-BasinSet(V1, V2)
---BasinSet-BasinSet(V1, V2) -> ---BasinSet-Basin(V1, V2)
---BasinSet-BasinSet(V1, V2) -> ---Basin-Basin(V1, V2)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-BasinSet(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-Basin(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(Y, X2))
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U201-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U191-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> basin-Nat-os-osb-Nat-os-csb(V1, V2)
basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> basin-Nat-Nat(V1, V2)
basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> basin-os-osb-Nat-os-csb-Nat(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-os-osb-BasinSet-os-csb(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-BasinSet(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-os-osb-BasinSet-os-csb(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---os-osb-BasinSet-os-csb-BasinSet(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---os-osb-BasinSet-os-csb-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-BasinSet(V1, V2)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(not-os-osb-Bool-os-csb(X1)) -> U281-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-os-osb-Bool-os-csb(X1))
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(V1) -> ocb---ccb-Bool(V1)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -<=--Nat-os-osb-Nat-os-csb(V1, V2)
-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -<=--os-osb-Nat-os-csb-Nat(V1, V2)
-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -<=--Nat-Nat(V1, V2)
U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(Y, X2))
U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(V1) -> ocb---ccb-Nat(V1)
ocb---ccb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(s--os-osb-Nat-os-csb(X1)) -> U301-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1))
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(Y, X2))
U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(Y, X2))
U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(sd-Nat-Nat(Y, X2))
U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(X1, Y))
U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Basin(basin-Nat-Nat(X1, Y))
osb---csb-os-osb-Nat-os-csb(V1) -> osb---csb-Nat(V1)
osb---csb-os-osb-BasinSet-os-csb(V1) -> osb---csb-BasinSet(V1)
osb---csb-os-osb-BasinSet-os-csb(V1) -> osb---csb-Basin(V1)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-BasinSet(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-BasinSet(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-Basin(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-Basin(Y, X2))
is'BasinSet-BasinSet(V) -> tt
U121-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(->--Nat-Nat(Y, X2))
->--Nat-Nat(N, M) -> not-Bool(-<=--Nat-Nat(N, M))
---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)) -> U11-Thruth-Nat-Nat-Nat-Nat(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(-<=--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2)
---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)) -> U21-Thruth-Nat-Nat-Nat-Nat(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(->--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2)
U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(-<=--Nat-Nat(Y, X2))
U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(Y, X2))
-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -+--os-osb-Nat-os-csb-Nat(V1, V2)
-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -+--Nat-os-osb-Nat-os-csb(V1, V2)
-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -+--Nat-Nat(V1, V2)
sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> sd-Nat-os-osb-Nat-os-csb(V1, V2)
sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> sd-Nat-Nat(V1, V2)
sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> sd-os-osb-Nat-os-csb-Nat(V1, V2)
U291-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(Y)) -> osb---csb-Nat(s--Nat(Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(X1, Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
osb---csb-os-osb-Thruth-os-csb(V1) -> osb---csb-Thruth(V1)
U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(X1, Y))
U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U111-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(->--Nat-Nat(N, M)) -> osb---csb-Bool(not-Bool(-<=--Nat-Nat(N, M)))
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U81-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(-<=--Nat-Nat(s--Nat(N), 0)) -> osb---csb-Bool(false)
ocb---ccb-Bool(not-Bool(true)) -> osb---csb-Bool(false)
ocb---ccb-Bool(-<=--Nat-Nat(s--Nat(N), s--Nat(M))) -> osb---csb-Bool(-<=--Nat-Nat(N, M))
ocb---ccb-Bool(-<=--Nat-Nat(N, N)) -> osb---csb-Bool(true)
ocb---ccb-Bool(not-Bool(false)) -> osb---csb-Bool(true)
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U121-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U71-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(not-Bool(X1)) -> U281-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-Bool(X1))
ocb---ccb-Bool(not-Bool(X1)) -> U271-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-Bool(X1))
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(-<=--Nat-Nat(0, N)) -> osb---csb-Bool(true)
U111-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(->--Nat-Nat(X1, Y))
sd-Nat-Nat(s--Nat(N), s--Nat(M)) -> sd-Nat-Nat(N, M)
sd-Nat-Nat(0, N) -> N
sd-Nat-Nat(N, 0) -> N
U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(Y, X2))
U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(->--Nat-Nat(Y, X2))
initial -> ---Basin-BasinSet(basin-Nat-Nat(3, 0), ---Basin-Basin(basin-Nat-Nat(5, 0), basin-Nat-Nat(8, 0)))
not-os-osb-Bool-os-csb(V1) -> not-Bool(V1)
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-Basin(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-Basin(Y, X2))
U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(-+--Nat-Nat(X1, Y))
U81-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(-<=--Nat-Nat(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-BasinSet(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-BasinSet(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(Y, X2))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---BasinSet-Basin(X1, Y))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---BasinSet-BasinSet(X1, Y))
U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(sd-Nat-Nat(X1, Y))
U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(X1, Y))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---Basin-BasinSet(X1, Y))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---Basin-Basin(X1, Y))
U261-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-os-osb-Nat-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Nat-os-osb-Nat-os-csb(Y))
U261-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Nat-Nat(Y))
is'Nat-os-osb-Nat-os-csb(V1) -> is'Nat-Nat(V1)
U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(X1, Y))
U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
is'Basin-os-osb-BasinSet-os-csb(V1) -> is'Basin-BasinSet(V1)
is'Basin-os-osb-BasinSet-os-csb(V1) -> is'Basin-Basin(V1)
U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(Y, X2))
U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Basin(basin-Nat-Nat(Y, X2))
equal-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(X), osb---csb-Nat(X)) -> tt
equal-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-os-osb-Nat-os-csb(X), osb---csb-os-osb-Nat-os-csb(X)) -> tt
U11-Thruth-Nat-Nat-Nat-Nat(tt, M1, M2, N1, N2) -> ---Basin-Basin(basin-Nat-Nat(M1, 0), basin-Nat-Nat(M2, -+--Nat-Nat(N1, N2)))
equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(X), osb---csb-Bool(X)) -> tt
equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(X), osb---csb-os-osb-Bool-os-csb(X)) -> tt
osb---csb-os-osb-Bool-os-csb(V1) -> osb---csb-Bool(V1)
is'Nat-Nat(V) -> tt
s--os-osb-Nat-os-csb(V1) -> s--Nat(V1)
equal-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-BasinSet(X), osb---csb-BasinSet(X)) -> tt
equal-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-os-osb-BasinSet-os-csb(X), osb---csb-os-osb-BasinSet-os-csb(X)) -> tt
equal-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-Basin(X), osb---csb-Basin(X)) -> tt
U321-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(sd-Nat-Nat(Y, X2))
U231-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-Basin(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Basin-Basin(Y))
U231-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-BasinSet(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Basin-BasinSet(Y))
U231-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Basin-os-osb-BasinSet-os-csb(Y))
is'Basin-Basin(V) -> tt
U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(Y, X2))
U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(-+--Nat-Nat(Y, X2))
is'Bool-os-osb-Bool-os-csb(V1) -> is'Bool-Bool(V1)
U251-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Bool-os-osb-Bool-os-csb(Y))
U251-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Bool-Bool(Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(X1, Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(X1, Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(->--Nat-Nat(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-Basin(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-BasinSet(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(X1, Y))
U301-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(Y)) -> osb---csb-Nat(s--Nat(Y))
U301-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-os-osb-Nat-os-csb(Y)) -> osb---csb-os-osb-Nat-os-csb(s--os-osb-Nat-os-csb(Y))
->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> ->--Nat-os-osb-Nat-os-csb(V1, V2)
->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> ->--Nat-Nat(V1, V2)
->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> ->--os-osb-Nat-os-csb-Nat(V1, V2)
U41-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(-+--Nat-Nat(Y, X2))
U201-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Basin(basin-Nat-Nat(Y, X2))
equal-os-osb-os-osb-Thruth-os-csb-os-csb-os-osb-os-osb-Thruth-os-csb-os-csb(osb---csb-os-osb-Thruth-os-csb(X), osb---csb-os-osb-Thruth-os-csb(X)) -> tt
equal-os-osb-os-osb-Thruth-os-csb-os-csb-os-osb-os-osb-Thruth-os-csb-os-csb(osb---csb-Thruth(X), osb---csb-Thruth(X)) -> tt
U31-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(-+--Nat-Nat(X1, Y))
U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(Y, X2))
U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U21-Thruth-Nat-Nat-Nat-Nat(tt, M1, M2, N1, N2) -> ---Basin-Basin(basin-Nat-Nat(M1, sd-Nat-Nat(-+--Nat-Nat(N1, N2), M2)), basin-Nat-Nat(M2, M2))
U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(Y, X2))
U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U71-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(-<=--Nat-Nat(X1, Y))
U311-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(sd-Nat-Nat(X1, Y))
is'Bool-Bool(V) -> tt
U271-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(Y)) -> osb---csb-Bool(not-Bool(Y))
U191-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Basin(basin-Nat-Nat(X1, Y))





The following dependency pairs can be strictly oriented:

OCB---CCB-NAT(-+--Nat-Nat(X1, X2)) -> OCB---CCB-NAT(X2)
OCB---CCB-NAT(-+--Nat-Nat(X1, X2)) -> OCB---CCB-NAT(X1)


There are no usable rules w.r.t. to the implicit AFS that need to be oriented.

Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(-+--Nat-Nat(x1, x2))=  1 + x1 + x2  
  POL(OCB---CCB-NAT(x1))=  1 + x1  
  POL(s--Nat(x1))=  x1  

resulting in one new DP problem.



   R
DPs
       →DP Problem 1
Polo
       →DP Problem 2
Polo
       →DP Problem 3
Polo
       →DP Problem 4
Polo
       →DP Problem 5
Remaining Obligation(s)
       →DP Problem 6
Polo
       →DP Problem 7
Polo
       →DP Problem 8
Polo
       →DP Problem 9
Polo
       →DP Problem 10
Polo
       →DP Problem 11
Polo
           →DP Problem 23
Remaining Obligation(s)
       →DP Problem 12
Polo
       →DP Problem 13
Polo




The following remains to be proven:


   R
DPs
       →DP Problem 1
Polo
       →DP Problem 2
Polo
       →DP Problem 3
Polo
       →DP Problem 4
Polynomial Ordering
       →DP Problem 5
Remaining
       →DP Problem 6
Polo
       →DP Problem 7
Polo
       →DP Problem 8
Polo
       →DP Problem 9
Polo
       →DP Problem 10
Polo
       →DP Problem 11
Polo
       →DP Problem 12
Polo
       →DP Problem 13
Polo


Dependency Pair:

-<=--NAT-NAT(s--Nat(N), s--Nat(M)) -> -<=--NAT-NAT(N, M)


Rules:


ocb---ccb-Nat(4) -> osb---csb-Nat(s--Nat(3))
ocb---ccb-Nat(8) -> osb---csb-Nat(-+--Nat-Nat(3, 5))
ocb---ccb-Nat(-+--Nat-Nat(0, N)) -> osb---csb-Nat(N)
ocb---ccb-Nat(5) -> osb---csb-Nat(s--Nat(4))
ocb---ccb-Nat(-+--Nat-Nat(s--Nat(N), M)) -> osb---csb-Nat(s--Nat(-+--Nat-Nat(N, M)))
ocb---ccb-Nat(sd-Nat-Nat(N, 0)) -> osb---csb-Nat(N)
ocb---ccb-Nat(s--Nat(X1)) -> U291-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-Nat(X1))
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U41-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(s--Nat(N), s--Nat(M))) -> osb---csb-Nat(sd-Nat-Nat(N, M))
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U31-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Nat(s--Nat(X1)) -> U301-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-Nat(X1))
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U321-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U311-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(0, N)) -> osb---csb-Nat(N)
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Nat(3) -> osb---csb-Nat(s--Nat(s--Nat(s--Nat(0))))
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
4 -> s--Nat(3)
3 -> s--Nat(s--Nat(s--Nat(0)))
8 -> -+--Nat-Nat(3, 5)
-+--Nat-Nat(s--Nat(N), M) -> s--Nat(-+--Nat-Nat(N, M))
-+--Nat-Nat(0, N) -> N
5 -> s--Nat(4)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(initial) -> osb---csb-BasinSet(---Basin-BasinSet(basin-Nat-Nat(3, 0), ---Basin-Basin(basin-Nat-Nat(5, 0), basin-Nat-Nat(8, 0))))
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X1), X2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---Basin-BasinSet(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---Basin-Basin(X1, Y))
U281-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(Y)) -> osb---csb-Bool(not-Bool(Y))
U281-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(Y)) -> osb---csb-os-osb-Bool-os-csb(not-os-osb-Bool-os-csb(Y))
not-Bool(true) -> false
not-Bool(false) -> true
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-os-osb-BasinSet-os-csb(X1)) -> U241-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-Basin(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-BasinSet(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'Nat-Nat(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-os-osb-BasinSet-os-csb(X1)) -> U231-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-BasinSet(X1)) -> U231-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-BasinSet(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Bool-os-osb-Bool-os-csb(X1)) -> U251-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-os-osb-Bool-os-csb(X1))
ocb---ccb-os-osb-Thruth-os-csb(V1) -> ocb---ccb-Thruth(V1)
ocb---ccb-os-osb-Thruth-os-csb(is'Bool-Bool(X1)) -> U251-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-Bool(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-Basin(X1)) -> U231-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-Basin(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-BasinSet(X1)) -> U241-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-BasinSet(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Bool-Bool(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-Basin(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-Basin(X1)) -> U241-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-Basin(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Nat-Nat(X1)) -> U261-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-Nat(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Nat-os-osb-Nat-os-csb(X1)) -> U261-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1))
is'BasinSet-os-osb-BasinSet-os-csb(V1) -> is'BasinSet-BasinSet(V1)
is'BasinSet-os-osb-BasinSet-os-csb(V1) -> is'BasinSet-Basin(V1)
U241-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-BasinSet(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'BasinSet-BasinSet(Y))
U241-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'BasinSet-os-osb-BasinSet-os-csb(Y))
U241-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-Basin(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'BasinSet-Basin(Y))
ocb---ccb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-Basin(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(V1) -> ocb---ccb-BasinSet(V1)
ocb---ccb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(V1) -> ocb---ccb-Basin(V1)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-Basin(X2), X1)
is'BasinSet-Basin(V) -> tt
basin-Nat-Nat(M1, N1) -> basin-Nat-Nat(M1, 0)
basin-Nat-Nat(M1, N1) -> basin-Nat-Nat(M1, M1)
U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(-<=--Nat-Nat(X1, Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(X1, Y))
-<=--Nat-Nat(s--Nat(N), s--Nat(M)) -> -<=--Nat-Nat(N, M)
-<=--Nat-Nat(0, N) -> true
-<=--Nat-Nat(N, N) -> true
-<=--Nat-Nat(s--Nat(N), 0) -> false
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---BasinSet-BasinSet(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---BasinSet-Basin(X1, Y))
---BasinSet-BasinSet(V1, V2) -> ---Basin-BasinSet(V1, V2)
---BasinSet-BasinSet(V1, V2) -> ---BasinSet-Basin(V1, V2)
---BasinSet-BasinSet(V1, V2) -> ---Basin-Basin(V1, V2)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-BasinSet(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-Basin(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(Y, X2))
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U201-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U191-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> basin-Nat-os-osb-Nat-os-csb(V1, V2)
basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> basin-Nat-Nat(V1, V2)
basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> basin-os-osb-Nat-os-csb-Nat(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-os-osb-BasinSet-os-csb(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-BasinSet(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-os-osb-BasinSet-os-csb(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---os-osb-BasinSet-os-csb-BasinSet(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---os-osb-BasinSet-os-csb-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-BasinSet(V1, V2)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(not-os-osb-Bool-os-csb(X1)) -> U281-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-os-osb-Bool-os-csb(X1))
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(V1) -> ocb---ccb-Bool(V1)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -<=--Nat-os-osb-Nat-os-csb(V1, V2)
-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -<=--os-osb-Nat-os-csb-Nat(V1, V2)
-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -<=--Nat-Nat(V1, V2)
U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(Y, X2))
U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(V1) -> ocb---ccb-Nat(V1)
ocb---ccb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(s--os-osb-Nat-os-csb(X1)) -> U301-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1))
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(Y, X2))
U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(Y, X2))
U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(sd-Nat-Nat(Y, X2))
U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(X1, Y))
U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Basin(basin-Nat-Nat(X1, Y))
osb---csb-os-osb-Nat-os-csb(V1) -> osb---csb-Nat(V1)
osb---csb-os-osb-BasinSet-os-csb(V1) -> osb---csb-BasinSet(V1)
osb---csb-os-osb-BasinSet-os-csb(V1) -> osb---csb-Basin(V1)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-BasinSet(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-BasinSet(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-Basin(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-Basin(Y, X2))
is'BasinSet-BasinSet(V) -> tt
U121-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(->--Nat-Nat(Y, X2))
->--Nat-Nat(N, M) -> not-Bool(-<=--Nat-Nat(N, M))
---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)) -> U11-Thruth-Nat-Nat-Nat-Nat(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(-<=--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2)
---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)) -> U21-Thruth-Nat-Nat-Nat-Nat(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(->--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2)
U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(-<=--Nat-Nat(Y, X2))
U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(Y, X2))
-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -+--os-osb-Nat-os-csb-Nat(V1, V2)
-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -+--Nat-os-osb-Nat-os-csb(V1, V2)
-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -+--Nat-Nat(V1, V2)
sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> sd-Nat-os-osb-Nat-os-csb(V1, V2)
sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> sd-Nat-Nat(V1, V2)
sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> sd-os-osb-Nat-os-csb-Nat(V1, V2)
U291-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(Y)) -> osb---csb-Nat(s--Nat(Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(X1, Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
osb---csb-os-osb-Thruth-os-csb(V1) -> osb---csb-Thruth(V1)
U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(X1, Y))
U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U111-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(->--Nat-Nat(N, M)) -> osb---csb-Bool(not-Bool(-<=--Nat-Nat(N, M)))
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U81-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(-<=--Nat-Nat(s--Nat(N), 0)) -> osb---csb-Bool(false)
ocb---ccb-Bool(not-Bool(true)) -> osb---csb-Bool(false)
ocb---ccb-Bool(-<=--Nat-Nat(s--Nat(N), s--Nat(M))) -> osb---csb-Bool(-<=--Nat-Nat(N, M))
ocb---ccb-Bool(-<=--Nat-Nat(N, N)) -> osb---csb-Bool(true)
ocb---ccb-Bool(not-Bool(false)) -> osb---csb-Bool(true)
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U121-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U71-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(not-Bool(X1)) -> U281-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-Bool(X1))
ocb---ccb-Bool(not-Bool(X1)) -> U271-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-Bool(X1))
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(-<=--Nat-Nat(0, N)) -> osb---csb-Bool(true)
U111-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(->--Nat-Nat(X1, Y))
sd-Nat-Nat(s--Nat(N), s--Nat(M)) -> sd-Nat-Nat(N, M)
sd-Nat-Nat(0, N) -> N
sd-Nat-Nat(N, 0) -> N
U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(Y, X2))
U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(->--Nat-Nat(Y, X2))
initial -> ---Basin-BasinSet(basin-Nat-Nat(3, 0), ---Basin-Basin(basin-Nat-Nat(5, 0), basin-Nat-Nat(8, 0)))
not-os-osb-Bool-os-csb(V1) -> not-Bool(V1)
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-Basin(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-Basin(Y, X2))
U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(-+--Nat-Nat(X1, Y))
U81-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(-<=--Nat-Nat(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-BasinSet(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-BasinSet(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(Y, X2))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---BasinSet-Basin(X1, Y))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---BasinSet-BasinSet(X1, Y))
U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(sd-Nat-Nat(X1, Y))
U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(X1, Y))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---Basin-BasinSet(X1, Y))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---Basin-Basin(X1, Y))
U261-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-os-osb-Nat-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Nat-os-osb-Nat-os-csb(Y))
U261-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Nat-Nat(Y))
is'Nat-os-osb-Nat-os-csb(V1) -> is'Nat-Nat(V1)
U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(X1, Y))
U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
is'Basin-os-osb-BasinSet-os-csb(V1) -> is'Basin-BasinSet(V1)
is'Basin-os-osb-BasinSet-os-csb(V1) -> is'Basin-Basin(V1)
U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(Y, X2))
U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Basin(basin-Nat-Nat(Y, X2))
equal-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(X), osb---csb-Nat(X)) -> tt
equal-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-os-osb-Nat-os-csb(X), osb---csb-os-osb-Nat-os-csb(X)) -> tt
U11-Thruth-Nat-Nat-Nat-Nat(tt, M1, M2, N1, N2) -> ---Basin-Basin(basin-Nat-Nat(M1, 0), basin-Nat-Nat(M2, -+--Nat-Nat(N1, N2)))
equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(X), osb---csb-Bool(X)) -> tt
equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(X), osb---csb-os-osb-Bool-os-csb(X)) -> tt
osb---csb-os-osb-Bool-os-csb(V1) -> osb---csb-Bool(V1)
is'Nat-Nat(V) -> tt
s--os-osb-Nat-os-csb(V1) -> s--Nat(V1)
equal-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-BasinSet(X), osb---csb-BasinSet(X)) -> tt
equal-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-os-osb-BasinSet-os-csb(X), osb---csb-os-osb-BasinSet-os-csb(X)) -> tt
equal-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-Basin(X), osb---csb-Basin(X)) -> tt
U321-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(sd-Nat-Nat(Y, X2))
U231-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-Basin(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Basin-Basin(Y))
U231-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-BasinSet(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Basin-BasinSet(Y))
U231-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Basin-os-osb-BasinSet-os-csb(Y))
is'Basin-Basin(V) -> tt
U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(Y, X2))
U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(-+--Nat-Nat(Y, X2))
is'Bool-os-osb-Bool-os-csb(V1) -> is'Bool-Bool(V1)
U251-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Bool-os-osb-Bool-os-csb(Y))
U251-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Bool-Bool(Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(X1, Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(X1, Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(->--Nat-Nat(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-Basin(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-BasinSet(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(X1, Y))
U301-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(Y)) -> osb---csb-Nat(s--Nat(Y))
U301-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-os-osb-Nat-os-csb(Y)) -> osb---csb-os-osb-Nat-os-csb(s--os-osb-Nat-os-csb(Y))
->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> ->--Nat-os-osb-Nat-os-csb(V1, V2)
->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> ->--Nat-Nat(V1, V2)
->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> ->--os-osb-Nat-os-csb-Nat(V1, V2)
U41-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(-+--Nat-Nat(Y, X2))
U201-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Basin(basin-Nat-Nat(Y, X2))
equal-os-osb-os-osb-Thruth-os-csb-os-csb-os-osb-os-osb-Thruth-os-csb-os-csb(osb---csb-os-osb-Thruth-os-csb(X), osb---csb-os-osb-Thruth-os-csb(X)) -> tt
equal-os-osb-os-osb-Thruth-os-csb-os-csb-os-osb-os-osb-Thruth-os-csb-os-csb(osb---csb-Thruth(X), osb---csb-Thruth(X)) -> tt
U31-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(-+--Nat-Nat(X1, Y))
U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(Y, X2))
U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U21-Thruth-Nat-Nat-Nat-Nat(tt, M1, M2, N1, N2) -> ---Basin-Basin(basin-Nat-Nat(M1, sd-Nat-Nat(-+--Nat-Nat(N1, N2), M2)), basin-Nat-Nat(M2, M2))
U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(Y, X2))
U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U71-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(-<=--Nat-Nat(X1, Y))
U311-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(sd-Nat-Nat(X1, Y))
is'Bool-Bool(V) -> tt
U271-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(Y)) -> osb---csb-Bool(not-Bool(Y))
U191-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Basin(basin-Nat-Nat(X1, Y))





The following dependency pair can be strictly oriented:

-<=--NAT-NAT(s--Nat(N), s--Nat(M)) -> -<=--NAT-NAT(N, M)


There are no usable rules w.r.t. to the implicit AFS that need to be oriented.

Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(-<=--NAT-NAT(x1, x2))=  1 + x1  
  POL(s--Nat(x1))=  1 + x1  

resulting in one new DP problem.



   R
DPs
       →DP Problem 1
Polo
       →DP Problem 2
Polo
       →DP Problem 3
Polo
       →DP Problem 4
Polo
       →DP Problem 5
Remaining Obligation(s)
       →DP Problem 6
Polo
       →DP Problem 7
Polo
       →DP Problem 8
Polo
       →DP Problem 9
Polo
       →DP Problem 10
Polo
       →DP Problem 11
Polo
           →DP Problem 23
Remaining Obligation(s)
       →DP Problem 12
Polo
       →DP Problem 13
Polo




The following remains to be proven:


   R
DPs
       →DP Problem 1
Polo
       →DP Problem 2
Polo
       →DP Problem 3
Polo
       →DP Problem 4
Polo
       →DP Problem 5
Remaining
       →DP Problem 6
Polynomial Ordering
       →DP Problem 7
Polo
       →DP Problem 8
Polo
       →DP Problem 9
Polo
       →DP Problem 10
Polo
       →DP Problem 11
Polo
       →DP Problem 12
Polo
       →DP Problem 13
Polo


Dependency Pairs:

---Basin-Basin(---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)), ext) -> U21-THRUTH-NAT-NAT-NAT-NAT(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(->--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2)
---Basin-Basin(---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)), ext) -> ---Basin-Basin(U21-Thruth-Nat-Nat-Nat-Nat(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(->--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2), ext)
---Basin-Basin(---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)), ext) -> U11-THRUTH-NAT-NAT-NAT-NAT(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(-<=--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2)
---Basin-Basin(---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)), ext) -> ---Basin-Basin(U11-Thruth-Nat-Nat-Nat-Nat(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(-<=--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2), ext)
U21-THRUTH-NAT-NAT-NAT-NAT(tt, M1, M2, N1, N2) -> ---Basin-Basin(basin-Nat-Nat(M1, sd-Nat-Nat(-+--Nat-Nat(N1, N2), M2)), basin-Nat-Nat(M2, M2))
---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)) -> U21-THRUTH-NAT-NAT-NAT-NAT(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(->--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2)
U11-THRUTH-NAT-NAT-NAT-NAT(tt, M1, M2, N1, N2) -> ---Basin-Basin(basin-Nat-Nat(M1, 0), basin-Nat-Nat(M2, -+--Nat-Nat(N1, N2)))
---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)) -> U11-THRUTH-NAT-NAT-NAT-NAT(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(-<=--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2)


Rules:


ocb---ccb-Nat(4) -> osb---csb-Nat(s--Nat(3))
ocb---ccb-Nat(8) -> osb---csb-Nat(-+--Nat-Nat(3, 5))
ocb---ccb-Nat(-+--Nat-Nat(0, N)) -> osb---csb-Nat(N)
ocb---ccb-Nat(5) -> osb---csb-Nat(s--Nat(4))
ocb---ccb-Nat(-+--Nat-Nat(s--Nat(N), M)) -> osb---csb-Nat(s--Nat(-+--Nat-Nat(N, M)))
ocb---ccb-Nat(sd-Nat-Nat(N, 0)) -> osb---csb-Nat(N)
ocb---ccb-Nat(s--Nat(X1)) -> U291-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-Nat(X1))
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U41-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(s--Nat(N), s--Nat(M))) -> osb---csb-Nat(sd-Nat-Nat(N, M))
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U31-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Nat(s--Nat(X1)) -> U301-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-Nat(X1))
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U321-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U311-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(0, N)) -> osb---csb-Nat(N)
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Nat(3) -> osb---csb-Nat(s--Nat(s--Nat(s--Nat(0))))
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
4 -> s--Nat(3)
3 -> s--Nat(s--Nat(s--Nat(0)))
8 -> -+--Nat-Nat(3, 5)
-+--Nat-Nat(s--Nat(N), M) -> s--Nat(-+--Nat-Nat(N, M))
-+--Nat-Nat(0, N) -> N
5 -> s--Nat(4)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(initial) -> osb---csb-BasinSet(---Basin-BasinSet(basin-Nat-Nat(3, 0), ---Basin-Basin(basin-Nat-Nat(5, 0), basin-Nat-Nat(8, 0))))
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X1), X2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---Basin-BasinSet(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---Basin-Basin(X1, Y))
U281-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(Y)) -> osb---csb-Bool(not-Bool(Y))
U281-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(Y)) -> osb---csb-os-osb-Bool-os-csb(not-os-osb-Bool-os-csb(Y))
not-Bool(true) -> false
not-Bool(false) -> true
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-os-osb-BasinSet-os-csb(X1)) -> U241-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-Basin(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-BasinSet(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'Nat-Nat(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-os-osb-BasinSet-os-csb(X1)) -> U231-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-BasinSet(X1)) -> U231-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-BasinSet(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Bool-os-osb-Bool-os-csb(X1)) -> U251-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-os-osb-Bool-os-csb(X1))
ocb---ccb-os-osb-Thruth-os-csb(V1) -> ocb---ccb-Thruth(V1)
ocb---ccb-os-osb-Thruth-os-csb(is'Bool-Bool(X1)) -> U251-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-Bool(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-Basin(X1)) -> U231-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-Basin(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-BasinSet(X1)) -> U241-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-BasinSet(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Bool-Bool(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-Basin(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-Basin(X1)) -> U241-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-Basin(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Nat-Nat(X1)) -> U261-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-Nat(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Nat-os-osb-Nat-os-csb(X1)) -> U261-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1))
is'BasinSet-os-osb-BasinSet-os-csb(V1) -> is'BasinSet-BasinSet(V1)
is'BasinSet-os-osb-BasinSet-os-csb(V1) -> is'BasinSet-Basin(V1)
U241-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-BasinSet(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'BasinSet-BasinSet(Y))
U241-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'BasinSet-os-osb-BasinSet-os-csb(Y))
U241-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-Basin(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'BasinSet-Basin(Y))
ocb---ccb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-Basin(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(V1) -> ocb---ccb-BasinSet(V1)
ocb---ccb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(V1) -> ocb---ccb-Basin(V1)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-Basin(X2), X1)
is'BasinSet-Basin(V) -> tt
basin-Nat-Nat(M1, N1) -> basin-Nat-Nat(M1, 0)
basin-Nat-Nat(M1, N1) -> basin-Nat-Nat(M1, M1)
U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(-<=--Nat-Nat(X1, Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(X1, Y))
-<=--Nat-Nat(s--Nat(N), s--Nat(M)) -> -<=--Nat-Nat(N, M)
-<=--Nat-Nat(0, N) -> true
-<=--Nat-Nat(N, N) -> true
-<=--Nat-Nat(s--Nat(N), 0) -> false
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---BasinSet-BasinSet(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---BasinSet-Basin(X1, Y))
---BasinSet-BasinSet(V1, V2) -> ---Basin-BasinSet(V1, V2)
---BasinSet-BasinSet(V1, V2) -> ---BasinSet-Basin(V1, V2)
---BasinSet-BasinSet(V1, V2) -> ---Basin-Basin(V1, V2)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-BasinSet(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-Basin(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(Y, X2))
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U201-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U191-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> basin-Nat-os-osb-Nat-os-csb(V1, V2)
basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> basin-Nat-Nat(V1, V2)
basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> basin-os-osb-Nat-os-csb-Nat(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-os-osb-BasinSet-os-csb(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-BasinSet(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-os-osb-BasinSet-os-csb(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---os-osb-BasinSet-os-csb-BasinSet(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---os-osb-BasinSet-os-csb-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-BasinSet(V1, V2)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(not-os-osb-Bool-os-csb(X1)) -> U281-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-os-osb-Bool-os-csb(X1))
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(V1) -> ocb---ccb-Bool(V1)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -<=--Nat-os-osb-Nat-os-csb(V1, V2)
-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -<=--os-osb-Nat-os-csb-Nat(V1, V2)
-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -<=--Nat-Nat(V1, V2)
U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(Y, X2))
U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(V1) -> ocb---ccb-Nat(V1)
ocb---ccb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(s--os-osb-Nat-os-csb(X1)) -> U301-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1))
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(Y, X2))
U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(Y, X2))
U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(sd-Nat-Nat(Y, X2))
U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(X1, Y))
U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Basin(basin-Nat-Nat(X1, Y))
osb---csb-os-osb-Nat-os-csb(V1) -> osb---csb-Nat(V1)
osb---csb-os-osb-BasinSet-os-csb(V1) -> osb---csb-BasinSet(V1)
osb---csb-os-osb-BasinSet-os-csb(V1) -> osb---csb-Basin(V1)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-BasinSet(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-BasinSet(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-Basin(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-Basin(Y, X2))
is'BasinSet-BasinSet(V) -> tt
U121-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(->--Nat-Nat(Y, X2))
->--Nat-Nat(N, M) -> not-Bool(-<=--Nat-Nat(N, M))
---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)) -> U11-Thruth-Nat-Nat-Nat-Nat(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(-<=--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2)
---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)) -> U21-Thruth-Nat-Nat-Nat-Nat(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(->--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2)
U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(-<=--Nat-Nat(Y, X2))
U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(Y, X2))
-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -+--os-osb-Nat-os-csb-Nat(V1, V2)
-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -+--Nat-os-osb-Nat-os-csb(V1, V2)
-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -+--Nat-Nat(V1, V2)
sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> sd-Nat-os-osb-Nat-os-csb(V1, V2)
sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> sd-Nat-Nat(V1, V2)
sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> sd-os-osb-Nat-os-csb-Nat(V1, V2)
U291-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(Y)) -> osb---csb-Nat(s--Nat(Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(X1, Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
osb---csb-os-osb-Thruth-os-csb(V1) -> osb---csb-Thruth(V1)
U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(X1, Y))
U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U111-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(->--Nat-Nat(N, M)) -> osb---csb-Bool(not-Bool(-<=--Nat-Nat(N, M)))
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U81-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(-<=--Nat-Nat(s--Nat(N), 0)) -> osb---csb-Bool(false)
ocb---ccb-Bool(not-Bool(true)) -> osb---csb-Bool(false)
ocb---ccb-Bool(-<=--Nat-Nat(s--Nat(N), s--Nat(M))) -> osb---csb-Bool(-<=--Nat-Nat(N, M))
ocb---ccb-Bool(-<=--Nat-Nat(N, N)) -> osb---csb-Bool(true)
ocb---ccb-Bool(not-Bool(false)) -> osb---csb-Bool(true)
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U121-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U71-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(not-Bool(X1)) -> U281-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-Bool(X1))
ocb---ccb-Bool(not-Bool(X1)) -> U271-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-Bool(X1))
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(-<=--Nat-Nat(0, N)) -> osb---csb-Bool(true)
U111-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(->--Nat-Nat(X1, Y))
sd-Nat-Nat(s--Nat(N), s--Nat(M)) -> sd-Nat-Nat(N, M)
sd-Nat-Nat(0, N) -> N
sd-Nat-Nat(N, 0) -> N
U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(Y, X2))
U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(->--Nat-Nat(Y, X2))
initial -> ---Basin-BasinSet(basin-Nat-Nat(3, 0), ---Basin-Basin(basin-Nat-Nat(5, 0), basin-Nat-Nat(8, 0)))
not-os-osb-Bool-os-csb(V1) -> not-Bool(V1)
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-Basin(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-Basin(Y, X2))
U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(-+--Nat-Nat(X1, Y))
U81-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(-<=--Nat-Nat(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-BasinSet(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-BasinSet(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(Y, X2))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---BasinSet-Basin(X1, Y))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---BasinSet-BasinSet(X1, Y))
U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(sd-Nat-Nat(X1, Y))
U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(X1, Y))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---Basin-BasinSet(X1, Y))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---Basin-Basin(X1, Y))
U261-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-os-osb-Nat-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Nat-os-osb-Nat-os-csb(Y))
U261-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Nat-Nat(Y))
is'Nat-os-osb-Nat-os-csb(V1) -> is'Nat-Nat(V1)
U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(X1, Y))
U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
is'Basin-os-osb-BasinSet-os-csb(V1) -> is'Basin-BasinSet(V1)
is'Basin-os-osb-BasinSet-os-csb(V1) -> is'Basin-Basin(V1)
U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(Y, X2))
U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Basin(basin-Nat-Nat(Y, X2))
equal-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(X), osb---csb-Nat(X)) -> tt
equal-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-os-osb-Nat-os-csb(X), osb---csb-os-osb-Nat-os-csb(X)) -> tt
U11-Thruth-Nat-Nat-Nat-Nat(tt, M1, M2, N1, N2) -> ---Basin-Basin(basin-Nat-Nat(M1, 0), basin-Nat-Nat(M2, -+--Nat-Nat(N1, N2)))
equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(X), osb---csb-Bool(X)) -> tt
equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(X), osb---csb-os-osb-Bool-os-csb(X)) -> tt
osb---csb-os-osb-Bool-os-csb(V1) -> osb---csb-Bool(V1)
is'Nat-Nat(V) -> tt
s--os-osb-Nat-os-csb(V1) -> s--Nat(V1)
equal-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-BasinSet(X), osb---csb-BasinSet(X)) -> tt
equal-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-os-osb-BasinSet-os-csb(X), osb---csb-os-osb-BasinSet-os-csb(X)) -> tt
equal-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-Basin(X), osb---csb-Basin(X)) -> tt
U321-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(sd-Nat-Nat(Y, X2))
U231-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-Basin(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Basin-Basin(Y))
U231-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-BasinSet(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Basin-BasinSet(Y))
U231-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Basin-os-osb-BasinSet-os-csb(Y))
is'Basin-Basin(V) -> tt
U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(Y, X2))
U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(-+--Nat-Nat(Y, X2))
is'Bool-os-osb-Bool-os-csb(V1) -> is'Bool-Bool(V1)
U251-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Bool-os-osb-Bool-os-csb(Y))
U251-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Bool-Bool(Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(X1, Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(X1, Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(->--Nat-Nat(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-Basin(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-BasinSet(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(X1, Y))
U301-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(Y)) -> osb---csb-Nat(s--Nat(Y))
U301-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-os-osb-Nat-os-csb(Y)) -> osb---csb-os-osb-Nat-os-csb(s--os-osb-Nat-os-csb(Y))
->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> ->--Nat-os-osb-Nat-os-csb(V1, V2)
->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> ->--Nat-Nat(V1, V2)
->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> ->--os-osb-Nat-os-csb-Nat(V1, V2)
U41-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(-+--Nat-Nat(Y, X2))
U201-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Basin(basin-Nat-Nat(Y, X2))
equal-os-osb-os-osb-Thruth-os-csb-os-csb-os-osb-os-osb-Thruth-os-csb-os-csb(osb---csb-os-osb-Thruth-os-csb(X), osb---csb-os-osb-Thruth-os-csb(X)) -> tt
equal-os-osb-os-osb-Thruth-os-csb-os-csb-os-osb-os-osb-Thruth-os-csb-os-csb(osb---csb-Thruth(X), osb---csb-Thruth(X)) -> tt
U31-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(-+--Nat-Nat(X1, Y))
U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(Y, X2))
U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U21-Thruth-Nat-Nat-Nat-Nat(tt, M1, M2, N1, N2) -> ---Basin-Basin(basin-Nat-Nat(M1, sd-Nat-Nat(-+--Nat-Nat(N1, N2), M2)), basin-Nat-Nat(M2, M2))
U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(Y, X2))
U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U71-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(-<=--Nat-Nat(X1, Y))
U311-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(sd-Nat-Nat(X1, Y))
is'Bool-Bool(V) -> tt
U271-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(Y)) -> osb---csb-Bool(not-Bool(Y))
U191-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Basin(basin-Nat-Nat(X1, Y))





The following dependency pairs can be strictly oriented:

---Basin-Basin(---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)), ext) -> U21-THRUTH-NAT-NAT-NAT-NAT(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(->--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2)
---Basin-Basin(---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)), ext) -> U11-THRUTH-NAT-NAT-NAT-NAT(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(-<=--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2)


Additionally, the following usable rules w.r.t. the implicit AFS can be oriented:

U11-Thruth-Nat-Nat-Nat-Nat(tt, M1, M2, N1, N2) -> ---Basin-Basin(basin-Nat-Nat(M1, 0), basin-Nat-Nat(M2, -+--Nat-Nat(N1, N2)))
---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)) -> U11-Thruth-Nat-Nat-Nat-Nat(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(-<=--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2)
---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)) -> U21-Thruth-Nat-Nat-Nat-Nat(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(->--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2)
not-Bool(true) -> false
not-Bool(false) -> true
osb---csb-os-osb-Bool-os-csb(V1) -> osb---csb-Bool(V1)
sd-Nat-Nat(s--Nat(N), s--Nat(M)) -> sd-Nat-Nat(N, M)
sd-Nat-Nat(0, N) -> N
sd-Nat-Nat(N, 0) -> N
U21-Thruth-Nat-Nat-Nat-Nat(tt, M1, M2, N1, N2) -> ---Basin-Basin(basin-Nat-Nat(M1, sd-Nat-Nat(-+--Nat-Nat(N1, N2), M2)), basin-Nat-Nat(M2, M2))
basin-Nat-Nat(M1, N1) -> basin-Nat-Nat(M1, 0)
basin-Nat-Nat(M1, N1) -> basin-Nat-Nat(M1, M1)
->--Nat-Nat(N, M) -> not-Bool(-<=--Nat-Nat(N, M))
-+--Nat-Nat(s--Nat(N), M) -> s--Nat(-+--Nat-Nat(N, M))
-+--Nat-Nat(0, N) -> N
-<=--Nat-Nat(s--Nat(N), s--Nat(M)) -> -<=--Nat-Nat(N, M)
-<=--Nat-Nat(0, N) -> true
-<=--Nat-Nat(N, N) -> true
-<=--Nat-Nat(s--Nat(N), 0) -> false
equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(X), osb---csb-Bool(X)) -> tt
equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(X), osb---csb-os-osb-Bool-os-csb(X)) -> tt

Oriented Equations:

---Basin-Basin(x, ---Basin-Basin(y, z)) == ---Basin-Basin(---Basin-Basin(x, y), z)
---Basin-Basin(x, y) == ---Basin-Basin(y, x)


Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(osb---csb-os-osb-Bool-os-csb(x1))=  0  
  POL(sd-Nat-Nat(x1, x2))=  x1 + x2  
  POL(osb---csb-Bool(x1))=  0  
  POL(0)=  0  
  POL(true)=  0  
  POL(U21-Thruth-Nat-Nat-Nat-Nat(x1, x2, x3, x4, x5))=  1  
  POL(basin-Nat-Nat(x1, x2))=  0  
  POL(->--Nat-Nat(x1, x2))=  0  
  POL(-+--Nat-Nat(x1, x2))=  x2  
  POL(-<=--Nat-Nat(x1, x2))=  0  
  POL(not-Bool(x1))=  0  
  POL(---Basin-Basin(x1, x2))=  1 + x1 + x2  
  POL(U11-Thruth-Nat-Nat-Nat-Nat(x1, x2, x3, x4, x5))=  1  
  POL(U11-THRUTH-NAT-NAT-NAT-NAT(x1, x2, x3, x4, x5))=  1  
  POL(false)=  0  
  POL(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(x1, x2))=  0  
  POL(s--Nat(x1))=  x1  
  POL(U21-THRUTH-NAT-NAT-NAT-NAT(x1, x2, x3, x4, x5))=  1  
  POL(tt)=  0  

resulting in one new DP problem.



   R
DPs
       →DP Problem 1
Polo
       →DP Problem 2
Polo
       →DP Problem 3
Polo
       →DP Problem 4
Polo
       →DP Problem 5
Remaining Obligation(s)
       →DP Problem 6
Polo
       →DP Problem 7
Polo
       →DP Problem 8
Polo
       →DP Problem 9
Polo
       →DP Problem 10
Polo
       →DP Problem 11
Polo
           →DP Problem 23
Remaining Obligation(s)
       →DP Problem 12
Polo
       →DP Problem 13
Polo




The following remains to be proven:


   R
DPs
       →DP Problem 1
Polo
       →DP Problem 2
Polo
       →DP Problem 3
Polo
       →DP Problem 4
Polo
       →DP Problem 5
Remaining
       →DP Problem 6
Polo
       →DP Problem 7
Polynomial Ordering
       →DP Problem 8
Polo
       →DP Problem 9
Polo
       →DP Problem 10
Polo
       →DP Problem 11
Polo
       →DP Problem 12
Polo
       →DP Problem 13
Polo


Dependency Pairs:

---BasinSet-BasinSet(---BasinSet-BasinSet(V1, V2), ext) -> ---BasinSet-BasinSet(---Basin-Basin(V1, V2), ext)
---BasinSet-BasinSet(---BasinSet-BasinSet(V1, V2), ext) -> ---BasinSet-BasinSet(---BasinSet-Basin(V1, V2), ext)
---BasinSet-BasinSet(---BasinSet-BasinSet(V1, V2), ext) -> ---BasinSet-BasinSet(---Basin-BasinSet(V1, V2), ext)


Rules:


ocb---ccb-Nat(4) -> osb---csb-Nat(s--Nat(3))
ocb---ccb-Nat(8) -> osb---csb-Nat(-+--Nat-Nat(3, 5))
ocb---ccb-Nat(-+--Nat-Nat(0, N)) -> osb---csb-Nat(N)
ocb---ccb-Nat(5) -> osb---csb-Nat(s--Nat(4))
ocb---ccb-Nat(-+--Nat-Nat(s--Nat(N), M)) -> osb---csb-Nat(s--Nat(-+--Nat-Nat(N, M)))
ocb---ccb-Nat(sd-Nat-Nat(N, 0)) -> osb---csb-Nat(N)
ocb---ccb-Nat(s--Nat(X1)) -> U291-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-Nat(X1))
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U41-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(s--Nat(N), s--Nat(M))) -> osb---csb-Nat(sd-Nat-Nat(N, M))
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U31-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Nat(s--Nat(X1)) -> U301-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-Nat(X1))
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U321-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U311-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(0, N)) -> osb---csb-Nat(N)
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Nat(3) -> osb---csb-Nat(s--Nat(s--Nat(s--Nat(0))))
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
4 -> s--Nat(3)
3 -> s--Nat(s--Nat(s--Nat(0)))
8 -> -+--Nat-Nat(3, 5)
-+--Nat-Nat(s--Nat(N), M) -> s--Nat(-+--Nat-Nat(N, M))
-+--Nat-Nat(0, N) -> N
5 -> s--Nat(4)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(initial) -> osb---csb-BasinSet(---Basin-BasinSet(basin-Nat-Nat(3, 0), ---Basin-Basin(basin-Nat-Nat(5, 0), basin-Nat-Nat(8, 0))))
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X1), X2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---Basin-BasinSet(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---Basin-Basin(X1, Y))
U281-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(Y)) -> osb---csb-Bool(not-Bool(Y))
U281-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(Y)) -> osb---csb-os-osb-Bool-os-csb(not-os-osb-Bool-os-csb(Y))
not-Bool(true) -> false
not-Bool(false) -> true
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-os-osb-BasinSet-os-csb(X1)) -> U241-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-Basin(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-BasinSet(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'Nat-Nat(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-os-osb-BasinSet-os-csb(X1)) -> U231-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-BasinSet(X1)) -> U231-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-BasinSet(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Bool-os-osb-Bool-os-csb(X1)) -> U251-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-os-osb-Bool-os-csb(X1))
ocb---ccb-os-osb-Thruth-os-csb(V1) -> ocb---ccb-Thruth(V1)
ocb---ccb-os-osb-Thruth-os-csb(is'Bool-Bool(X1)) -> U251-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-Bool(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-Basin(X1)) -> U231-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-Basin(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-BasinSet(X1)) -> U241-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-BasinSet(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Bool-Bool(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-Basin(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-Basin(X1)) -> U241-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-Basin(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Nat-Nat(X1)) -> U261-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-Nat(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Nat-os-osb-Nat-os-csb(X1)) -> U261-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1))
is'BasinSet-os-osb-BasinSet-os-csb(V1) -> is'BasinSet-BasinSet(V1)
is'BasinSet-os-osb-BasinSet-os-csb(V1) -> is'BasinSet-Basin(V1)
U241-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-BasinSet(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'BasinSet-BasinSet(Y))
U241-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'BasinSet-os-osb-BasinSet-os-csb(Y))
U241-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-Basin(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'BasinSet-Basin(Y))
ocb---ccb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-Basin(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(V1) -> ocb---ccb-BasinSet(V1)
ocb---ccb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(V1) -> ocb---ccb-Basin(V1)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-Basin(X2), X1)
is'BasinSet-Basin(V) -> tt
basin-Nat-Nat(M1, N1) -> basin-Nat-Nat(M1, 0)
basin-Nat-Nat(M1, N1) -> basin-Nat-Nat(M1, M1)
U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(-<=--Nat-Nat(X1, Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(X1, Y))
-<=--Nat-Nat(s--Nat(N), s--Nat(M)) -> -<=--Nat-Nat(N, M)
-<=--Nat-Nat(0, N) -> true
-<=--Nat-Nat(N, N) -> true
-<=--Nat-Nat(s--Nat(N), 0) -> false
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---BasinSet-BasinSet(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---BasinSet-Basin(X1, Y))
---BasinSet-BasinSet(V1, V2) -> ---Basin-BasinSet(V1, V2)
---BasinSet-BasinSet(V1, V2) -> ---BasinSet-Basin(V1, V2)
---BasinSet-BasinSet(V1, V2) -> ---Basin-Basin(V1, V2)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-BasinSet(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-Basin(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(Y, X2))
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U201-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U191-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> basin-Nat-os-osb-Nat-os-csb(V1, V2)
basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> basin-Nat-Nat(V1, V2)
basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> basin-os-osb-Nat-os-csb-Nat(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-os-osb-BasinSet-os-csb(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-BasinSet(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-os-osb-BasinSet-os-csb(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---os-osb-BasinSet-os-csb-BasinSet(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---os-osb-BasinSet-os-csb-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-BasinSet(V1, V2)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(not-os-osb-Bool-os-csb(X1)) -> U281-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-os-osb-Bool-os-csb(X1))
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(V1) -> ocb---ccb-Bool(V1)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -<=--Nat-os-osb-Nat-os-csb(V1, V2)
-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -<=--os-osb-Nat-os-csb-Nat(V1, V2)
-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -<=--Nat-Nat(V1, V2)
U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(Y, X2))
U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(V1) -> ocb---ccb-Nat(V1)
ocb---ccb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(s--os-osb-Nat-os-csb(X1)) -> U301-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1))
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(Y, X2))
U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(Y, X2))
U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(sd-Nat-Nat(Y, X2))
U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(X1, Y))
U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Basin(basin-Nat-Nat(X1, Y))
osb---csb-os-osb-Nat-os-csb(V1) -> osb---csb-Nat(V1)
osb---csb-os-osb-BasinSet-os-csb(V1) -> osb---csb-BasinSet(V1)
osb---csb-os-osb-BasinSet-os-csb(V1) -> osb---csb-Basin(V1)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-BasinSet(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-BasinSet(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-Basin(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-Basin(Y, X2))
is'BasinSet-BasinSet(V) -> tt
U121-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(->--Nat-Nat(Y, X2))
->--Nat-Nat(N, M) -> not-Bool(-<=--Nat-Nat(N, M))
---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)) -> U11-Thruth-Nat-Nat-Nat-Nat(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(-<=--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2)
---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)) -> U21-Thruth-Nat-Nat-Nat-Nat(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(->--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2)
U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(-<=--Nat-Nat(Y, X2))
U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(Y, X2))
-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -+--os-osb-Nat-os-csb-Nat(V1, V2)
-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -+--Nat-os-osb-Nat-os-csb(V1, V2)
-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -+--Nat-Nat(V1, V2)
sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> sd-Nat-os-osb-Nat-os-csb(V1, V2)
sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> sd-Nat-Nat(V1, V2)
sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> sd-os-osb-Nat-os-csb-Nat(V1, V2)
U291-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(Y)) -> osb---csb-Nat(s--Nat(Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(X1, Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
osb---csb-os-osb-Thruth-os-csb(V1) -> osb---csb-Thruth(V1)
U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(X1, Y))
U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U111-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(->--Nat-Nat(N, M)) -> osb---csb-Bool(not-Bool(-<=--Nat-Nat(N, M)))
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U81-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(-<=--Nat-Nat(s--Nat(N), 0)) -> osb---csb-Bool(false)
ocb---ccb-Bool(not-Bool(true)) -> osb---csb-Bool(false)
ocb---ccb-Bool(-<=--Nat-Nat(s--Nat(N), s--Nat(M))) -> osb---csb-Bool(-<=--Nat-Nat(N, M))
ocb---ccb-Bool(-<=--Nat-Nat(N, N)) -> osb---csb-Bool(true)
ocb---ccb-Bool(not-Bool(false)) -> osb---csb-Bool(true)
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U121-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U71-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(not-Bool(X1)) -> U281-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-Bool(X1))
ocb---ccb-Bool(not-Bool(X1)) -> U271-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-Bool(X1))
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(-<=--Nat-Nat(0, N)) -> osb---csb-Bool(true)
U111-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(->--Nat-Nat(X1, Y))
sd-Nat-Nat(s--Nat(N), s--Nat(M)) -> sd-Nat-Nat(N, M)
sd-Nat-Nat(0, N) -> N
sd-Nat-Nat(N, 0) -> N
U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(Y, X2))
U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(->--Nat-Nat(Y, X2))
initial -> ---Basin-BasinSet(basin-Nat-Nat(3, 0), ---Basin-Basin(basin-Nat-Nat(5, 0), basin-Nat-Nat(8, 0)))
not-os-osb-Bool-os-csb(V1) -> not-Bool(V1)
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-Basin(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-Basin(Y, X2))
U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(-+--Nat-Nat(X1, Y))
U81-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(-<=--Nat-Nat(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-BasinSet(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-BasinSet(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(Y, X2))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---BasinSet-Basin(X1, Y))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---BasinSet-BasinSet(X1, Y))
U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(sd-Nat-Nat(X1, Y))
U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(X1, Y))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---Basin-BasinSet(X1, Y))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---Basin-Basin(X1, Y))
U261-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-os-osb-Nat-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Nat-os-osb-Nat-os-csb(Y))
U261-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Nat-Nat(Y))
is'Nat-os-osb-Nat-os-csb(V1) -> is'Nat-Nat(V1)
U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(X1, Y))
U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
is'Basin-os-osb-BasinSet-os-csb(V1) -> is'Basin-BasinSet(V1)
is'Basin-os-osb-BasinSet-os-csb(V1) -> is'Basin-Basin(V1)
U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(Y, X2))
U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Basin(basin-Nat-Nat(Y, X2))
equal-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(X), osb---csb-Nat(X)) -> tt
equal-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-os-osb-Nat-os-csb(X), osb---csb-os-osb-Nat-os-csb(X)) -> tt
U11-Thruth-Nat-Nat-Nat-Nat(tt, M1, M2, N1, N2) -> ---Basin-Basin(basin-Nat-Nat(M1, 0), basin-Nat-Nat(M2, -+--Nat-Nat(N1, N2)))
equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(X), osb---csb-Bool(X)) -> tt
equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(X), osb---csb-os-osb-Bool-os-csb(X)) -> tt
osb---csb-os-osb-Bool-os-csb(V1) -> osb---csb-Bool(V1)
is'Nat-Nat(V) -> tt
s--os-osb-Nat-os-csb(V1) -> s--Nat(V1)
equal-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-BasinSet(X), osb---csb-BasinSet(X)) -> tt
equal-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-os-osb-BasinSet-os-csb(X), osb---csb-os-osb-BasinSet-os-csb(X)) -> tt
equal-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-Basin(X), osb---csb-Basin(X)) -> tt
U321-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(sd-Nat-Nat(Y, X2))
U231-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-Basin(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Basin-Basin(Y))
U231-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-BasinSet(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Basin-BasinSet(Y))
U231-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Basin-os-osb-BasinSet-os-csb(Y))
is'Basin-Basin(V) -> tt
U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(Y, X2))
U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(-+--Nat-Nat(Y, X2))
is'Bool-os-osb-Bool-os-csb(V1) -> is'Bool-Bool(V1)
U251-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Bool-os-osb-Bool-os-csb(Y))
U251-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Bool-Bool(Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(X1, Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(X1, Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(->--Nat-Nat(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-Basin(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-BasinSet(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(X1, Y))
U301-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(Y)) -> osb---csb-Nat(s--Nat(Y))
U301-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-os-osb-Nat-os-csb(Y)) -> osb---csb-os-osb-Nat-os-csb(s--os-osb-Nat-os-csb(Y))
->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> ->--Nat-os-osb-Nat-os-csb(V1, V2)
->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> ->--Nat-Nat(V1, V2)
->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> ->--os-osb-Nat-os-csb-Nat(V1, V2)
U41-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(-+--Nat-Nat(Y, X2))
U201-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Basin(basin-Nat-Nat(Y, X2))
equal-os-osb-os-osb-Thruth-os-csb-os-csb-os-osb-os-osb-Thruth-os-csb-os-csb(osb---csb-os-osb-Thruth-os-csb(X), osb---csb-os-osb-Thruth-os-csb(X)) -> tt
equal-os-osb-os-osb-Thruth-os-csb-os-csb-os-osb-os-osb-Thruth-os-csb-os-csb(osb---csb-Thruth(X), osb---csb-Thruth(X)) -> tt
U31-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(-+--Nat-Nat(X1, Y))
U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(Y, X2))
U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U21-Thruth-Nat-Nat-Nat-Nat(tt, M1, M2, N1, N2) -> ---Basin-Basin(basin-Nat-Nat(M1, sd-Nat-Nat(-+--Nat-Nat(N1, N2), M2)), basin-Nat-Nat(M2, M2))
U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(Y, X2))
U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U71-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(-<=--Nat-Nat(X1, Y))
U311-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(sd-Nat-Nat(X1, Y))
is'Bool-Bool(V) -> tt
U271-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(Y)) -> osb---csb-Bool(not-Bool(Y))
U191-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Basin(basin-Nat-Nat(X1, Y))





The following dependency pairs can be strictly oriented:

---BasinSet-BasinSet(---BasinSet-BasinSet(V1, V2), ext) -> ---BasinSet-BasinSet(---Basin-Basin(V1, V2), ext)
---BasinSet-BasinSet(---BasinSet-BasinSet(V1, V2), ext) -> ---BasinSet-BasinSet(---BasinSet-Basin(V1, V2), ext)
---BasinSet-BasinSet(---BasinSet-BasinSet(V1, V2), ext) -> ---BasinSet-BasinSet(---Basin-BasinSet(V1, V2), ext)


Additionally, the following usable rules w.r.t. the implicit AFS can be oriented:

not-Bool(true) -> false
not-Bool(false) -> true
U11-Thruth-Nat-Nat-Nat-Nat(tt, M1, M2, N1, N2) -> ---Basin-Basin(basin-Nat-Nat(M1, 0), basin-Nat-Nat(M2, -+--Nat-Nat(N1, N2)))
---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)) -> U11-Thruth-Nat-Nat-Nat-Nat(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(-<=--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2)
---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)) -> U21-Thruth-Nat-Nat-Nat-Nat(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(->--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2)
osb---csb-os-osb-Bool-os-csb(V1) -> osb---csb-Bool(V1)
sd-Nat-Nat(s--Nat(N), s--Nat(M)) -> sd-Nat-Nat(N, M)
sd-Nat-Nat(0, N) -> N
sd-Nat-Nat(N, 0) -> N
U21-Thruth-Nat-Nat-Nat-Nat(tt, M1, M2, N1, N2) -> ---Basin-Basin(basin-Nat-Nat(M1, sd-Nat-Nat(-+--Nat-Nat(N1, N2), M2)), basin-Nat-Nat(M2, M2))
->--Nat-Nat(N, M) -> not-Bool(-<=--Nat-Nat(N, M))
basin-Nat-Nat(M1, N1) -> basin-Nat-Nat(M1, 0)
basin-Nat-Nat(M1, N1) -> basin-Nat-Nat(M1, M1)
---BasinSet-BasinSet(V1, V2) -> ---Basin-BasinSet(V1, V2)
---BasinSet-BasinSet(V1, V2) -> ---BasinSet-Basin(V1, V2)
---BasinSet-BasinSet(V1, V2) -> ---Basin-Basin(V1, V2)
-+--Nat-Nat(s--Nat(N), M) -> s--Nat(-+--Nat-Nat(N, M))
-+--Nat-Nat(0, N) -> N
-<=--Nat-Nat(s--Nat(N), s--Nat(M)) -> -<=--Nat-Nat(N, M)
-<=--Nat-Nat(0, N) -> true
-<=--Nat-Nat(N, N) -> true
-<=--Nat-Nat(s--Nat(N), 0) -> false
equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(X), osb---csb-Bool(X)) -> tt
equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(X), osb---csb-os-osb-Bool-os-csb(X)) -> tt

Oriented Equations:

---BasinSet-Basin(x, ---BasinSet-Basin(y, z)) == ---BasinSet-Basin(---BasinSet-Basin(x, y), z)
---BasinSet-Basin(x, y) == ---BasinSet-Basin(y, x)
---Basin-BasinSet(x, ---Basin-BasinSet(y, z)) == ---Basin-BasinSet(---Basin-BasinSet(x, y), z)
---Basin-BasinSet(x, y) == ---Basin-BasinSet(y, x)
---BasinSet-BasinSet(x, ---BasinSet-BasinSet(y, z)) == ---BasinSet-BasinSet(---BasinSet-BasinSet(x, y), z)
---BasinSet-BasinSet(x, y) == ---BasinSet-BasinSet(y, x)
---Basin-Basin(x, ---Basin-Basin(y, z)) == ---Basin-Basin(---Basin-Basin(x, y), z)
---Basin-Basin(x, y) == ---Basin-Basin(y, x)


Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(---BasinSet-Basin(x1, x2))=  0  
  POL(osb---csb-os-osb-Bool-os-csb(x1))=  0  
  POL(---Basin-BasinSet(x1, x2))=  0  
  POL(sd-Nat-Nat(x1, x2))=  x1 + x2  
  POL(osb---csb-Bool(x1))=  0  
  POL(0)=  0  
  POL(true)=  0  
  POL(U21-Thruth-Nat-Nat-Nat-Nat(x1, x2, x3, x4, x5))=  0  
  POL(basin-Nat-Nat(x1, x2))=  0  
  POL(->--Nat-Nat(x1, x2))=  0  
  POL(---BasinSet-BasinSet(x1, x2))=  1 + x1 + x2  
  POL(-+--Nat-Nat(x1, x2))=  x2  
  POL(-<=--Nat-Nat(x1, x2))=  0  
  POL(U11-Thruth-Nat-Nat-Nat-Nat(x1, x2, x3, x4, x5))=  0  
  POL(---Basin-Basin(x1, x2))=  0  
  POL(not-Bool(x1))=  0  
  POL(false)=  0  
  POL(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(x1, x2))=  0  
  POL(s--Nat(x1))=  x1  
  POL(tt)=  0  

resulting in one new DP problem.



   R
DPs
       →DP Problem 1
Polo
       →DP Problem 2
Polo
       →DP Problem 3
Polo
       →DP Problem 4
Polo
       →DP Problem 5
Remaining
       →DP Problem 6
Polo
       →DP Problem 7
Polo
       →DP Problem 8
Polynomial Ordering
       →DP Problem 9
Polo
       →DP Problem 10
Polo
       →DP Problem 11
Polo
       →DP Problem 12
Polo
       →DP Problem 13
Polo


Dependency Pairs:

OCB---CCB-BASINSET(---BasinSet-BasinSet(X1, X2)) -> OCB---CCB-BASINSET(X1)
OCB---CCB-BASINSET(---BasinSet-BasinSet(X1, X2)) -> OCB---CCB-BASINSET(X2)
OCB---CCB-BASINSET(---BasinSet-Basin(X1, X2)) -> OCB---CCB-BASINSET(X1)
OCB---CCB-BASINSET(---Basin-BasinSet(X1, X2)) -> OCB---CCB-BASINSET(X2)


Rules:


ocb---ccb-Nat(4) -> osb---csb-Nat(s--Nat(3))
ocb---ccb-Nat(8) -> osb---csb-Nat(-+--Nat-Nat(3, 5))
ocb---ccb-Nat(-+--Nat-Nat(0, N)) -> osb---csb-Nat(N)
ocb---ccb-Nat(5) -> osb---csb-Nat(s--Nat(4))
ocb---ccb-Nat(-+--Nat-Nat(s--Nat(N), M)) -> osb---csb-Nat(s--Nat(-+--Nat-Nat(N, M)))
ocb---ccb-Nat(sd-Nat-Nat(N, 0)) -> osb---csb-Nat(N)
ocb---ccb-Nat(s--Nat(X1)) -> U291-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-Nat(X1))
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U41-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(s--Nat(N), s--Nat(M))) -> osb---csb-Nat(sd-Nat-Nat(N, M))
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U31-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Nat(s--Nat(X1)) -> U301-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-Nat(X1))
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U321-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U311-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(0, N)) -> osb---csb-Nat(N)
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Nat(3) -> osb---csb-Nat(s--Nat(s--Nat(s--Nat(0))))
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
4 -> s--Nat(3)
3 -> s--Nat(s--Nat(s--Nat(0)))
8 -> -+--Nat-Nat(3, 5)
-+--Nat-Nat(s--Nat(N), M) -> s--Nat(-+--Nat-Nat(N, M))
-+--Nat-Nat(0, N) -> N
5 -> s--Nat(4)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(initial) -> osb---csb-BasinSet(---Basin-BasinSet(basin-Nat-Nat(3, 0), ---Basin-Basin(basin-Nat-Nat(5, 0), basin-Nat-Nat(8, 0))))
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X1), X2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---Basin-BasinSet(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---Basin-Basin(X1, Y))
U281-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(Y)) -> osb---csb-Bool(not-Bool(Y))
U281-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(Y)) -> osb---csb-os-osb-Bool-os-csb(not-os-osb-Bool-os-csb(Y))
not-Bool(true) -> false
not-Bool(false) -> true
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-os-osb-BasinSet-os-csb(X1)) -> U241-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-Basin(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-BasinSet(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'Nat-Nat(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-os-osb-BasinSet-os-csb(X1)) -> U231-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-BasinSet(X1)) -> U231-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-BasinSet(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Bool-os-osb-Bool-os-csb(X1)) -> U251-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-os-osb-Bool-os-csb(X1))
ocb---ccb-os-osb-Thruth-os-csb(V1) -> ocb---ccb-Thruth(V1)
ocb---ccb-os-osb-Thruth-os-csb(is'Bool-Bool(X1)) -> U251-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-Bool(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-Basin(X1)) -> U231-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-Basin(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-BasinSet(X1)) -> U241-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-BasinSet(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Bool-Bool(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-Basin(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-Basin(X1)) -> U241-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-Basin(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Nat-Nat(X1)) -> U261-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-Nat(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Nat-os-osb-Nat-os-csb(X1)) -> U261-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1))
is'BasinSet-os-osb-BasinSet-os-csb(V1) -> is'BasinSet-BasinSet(V1)
is'BasinSet-os-osb-BasinSet-os-csb(V1) -> is'BasinSet-Basin(V1)
U241-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-BasinSet(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'BasinSet-BasinSet(Y))
U241-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'BasinSet-os-osb-BasinSet-os-csb(Y))
U241-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-Basin(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'BasinSet-Basin(Y))
ocb---ccb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-Basin(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(V1) -> ocb---ccb-BasinSet(V1)
ocb---ccb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(V1) -> ocb---ccb-Basin(V1)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-Basin(X2), X1)
is'BasinSet-Basin(V) -> tt
basin-Nat-Nat(M1, N1) -> basin-Nat-Nat(M1, 0)
basin-Nat-Nat(M1, N1) -> basin-Nat-Nat(M1, M1)
U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(-<=--Nat-Nat(X1, Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(X1, Y))
-<=--Nat-Nat(s--Nat(N), s--Nat(M)) -> -<=--Nat-Nat(N, M)
-<=--Nat-Nat(0, N) -> true
-<=--Nat-Nat(N, N) -> true
-<=--Nat-Nat(s--Nat(N), 0) -> false
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---BasinSet-BasinSet(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---BasinSet-Basin(X1, Y))
---BasinSet-BasinSet(V1, V2) -> ---Basin-BasinSet(V1, V2)
---BasinSet-BasinSet(V1, V2) -> ---BasinSet-Basin(V1, V2)
---BasinSet-BasinSet(V1, V2) -> ---Basin-Basin(V1, V2)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-BasinSet(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-Basin(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(Y, X2))
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U201-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U191-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> basin-Nat-os-osb-Nat-os-csb(V1, V2)
basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> basin-Nat-Nat(V1, V2)
basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> basin-os-osb-Nat-os-csb-Nat(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-os-osb-BasinSet-os-csb(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-BasinSet(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-os-osb-BasinSet-os-csb(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---os-osb-BasinSet-os-csb-BasinSet(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---os-osb-BasinSet-os-csb-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-BasinSet(V1, V2)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(not-os-osb-Bool-os-csb(X1)) -> U281-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-os-osb-Bool-os-csb(X1))
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(V1) -> ocb---ccb-Bool(V1)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -<=--Nat-os-osb-Nat-os-csb(V1, V2)
-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -<=--os-osb-Nat-os-csb-Nat(V1, V2)
-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -<=--Nat-Nat(V1, V2)
U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(Y, X2))
U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(V1) -> ocb---ccb-Nat(V1)
ocb---ccb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(s--os-osb-Nat-os-csb(X1)) -> U301-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1))
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(Y, X2))
U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(Y, X2))
U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(sd-Nat-Nat(Y, X2))
U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(X1, Y))
U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Basin(basin-Nat-Nat(X1, Y))
osb---csb-os-osb-Nat-os-csb(V1) -> osb---csb-Nat(V1)
osb---csb-os-osb-BasinSet-os-csb(V1) -> osb---csb-BasinSet(V1)
osb---csb-os-osb-BasinSet-os-csb(V1) -> osb---csb-Basin(V1)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-BasinSet(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-BasinSet(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-Basin(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-Basin(Y, X2))
is'BasinSet-BasinSet(V) -> tt
U121-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(->--Nat-Nat(Y, X2))
->--Nat-Nat(N, M) -> not-Bool(-<=--Nat-Nat(N, M))
---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)) -> U11-Thruth-Nat-Nat-Nat-Nat(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(-<=--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2)
---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)) -> U21-Thruth-Nat-Nat-Nat-Nat(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(->--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2)
U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(-<=--Nat-Nat(Y, X2))
U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(Y, X2))
-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -+--os-osb-Nat-os-csb-Nat(V1, V2)
-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -+--Nat-os-osb-Nat-os-csb(V1, V2)
-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -+--Nat-Nat(V1, V2)
sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> sd-Nat-os-osb-Nat-os-csb(V1, V2)
sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> sd-Nat-Nat(V1, V2)
sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> sd-os-osb-Nat-os-csb-Nat(V1, V2)
U291-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(Y)) -> osb---csb-Nat(s--Nat(Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(X1, Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
osb---csb-os-osb-Thruth-os-csb(V1) -> osb---csb-Thruth(V1)
U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(X1, Y))
U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U111-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(->--Nat-Nat(N, M)) -> osb---csb-Bool(not-Bool(-<=--Nat-Nat(N, M)))
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U81-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(-<=--Nat-Nat(s--Nat(N), 0)) -> osb---csb-Bool(false)
ocb---ccb-Bool(not-Bool(true)) -> osb---csb-Bool(false)
ocb---ccb-Bool(-<=--Nat-Nat(s--Nat(N), s--Nat(M))) -> osb---csb-Bool(-<=--Nat-Nat(N, M))
ocb---ccb-Bool(-<=--Nat-Nat(N, N)) -> osb---csb-Bool(true)
ocb---ccb-Bool(not-Bool(false)) -> osb---csb-Bool(true)
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U121-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U71-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(not-Bool(X1)) -> U281-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-Bool(X1))
ocb---ccb-Bool(not-Bool(X1)) -> U271-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-Bool(X1))
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(-<=--Nat-Nat(0, N)) -> osb---csb-Bool(true)
U111-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(->--Nat-Nat(X1, Y))
sd-Nat-Nat(s--Nat(N), s--Nat(M)) -> sd-Nat-Nat(N, M)
sd-Nat-Nat(0, N) -> N
sd-Nat-Nat(N, 0) -> N
U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(Y, X2))
U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(->--Nat-Nat(Y, X2))
initial -> ---Basin-BasinSet(basin-Nat-Nat(3, 0), ---Basin-Basin(basin-Nat-Nat(5, 0), basin-Nat-Nat(8, 0)))
not-os-osb-Bool-os-csb(V1) -> not-Bool(V1)
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-Basin(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-Basin(Y, X2))
U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(-+--Nat-Nat(X1, Y))
U81-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(-<=--Nat-Nat(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-BasinSet(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-BasinSet(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(Y, X2))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---BasinSet-Basin(X1, Y))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---BasinSet-BasinSet(X1, Y))
U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(sd-Nat-Nat(X1, Y))
U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(X1, Y))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---Basin-BasinSet(X1, Y))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---Basin-Basin(X1, Y))
U261-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-os-osb-Nat-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Nat-os-osb-Nat-os-csb(Y))
U261-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Nat-Nat(Y))
is'Nat-os-osb-Nat-os-csb(V1) -> is'Nat-Nat(V1)
U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(X1, Y))
U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
is'Basin-os-osb-BasinSet-os-csb(V1) -> is'Basin-BasinSet(V1)
is'Basin-os-osb-BasinSet-os-csb(V1) -> is'Basin-Basin(V1)
U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(Y, X2))
U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Basin(basin-Nat-Nat(Y, X2))
equal-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(X), osb---csb-Nat(X)) -> tt
equal-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-os-osb-Nat-os-csb(X), osb---csb-os-osb-Nat-os-csb(X)) -> tt
U11-Thruth-Nat-Nat-Nat-Nat(tt, M1, M2, N1, N2) -> ---Basin-Basin(basin-Nat-Nat(M1, 0), basin-Nat-Nat(M2, -+--Nat-Nat(N1, N2)))
equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(X), osb---csb-Bool(X)) -> tt
equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(X), osb---csb-os-osb-Bool-os-csb(X)) -> tt
osb---csb-os-osb-Bool-os-csb(V1) -> osb---csb-Bool(V1)
is'Nat-Nat(V) -> tt
s--os-osb-Nat-os-csb(V1) -> s--Nat(V1)
equal-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-BasinSet(X), osb---csb-BasinSet(X)) -> tt
equal-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-os-osb-BasinSet-os-csb(X), osb---csb-os-osb-BasinSet-os-csb(X)) -> tt
equal-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-Basin(X), osb---csb-Basin(X)) -> tt
U321-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(sd-Nat-Nat(Y, X2))
U231-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-Basin(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Basin-Basin(Y))
U231-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-BasinSet(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Basin-BasinSet(Y))
U231-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Basin-os-osb-BasinSet-os-csb(Y))
is'Basin-Basin(V) -> tt
U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(Y, X2))
U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(-+--Nat-Nat(Y, X2))
is'Bool-os-osb-Bool-os-csb(V1) -> is'Bool-Bool(V1)
U251-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Bool-os-osb-Bool-os-csb(Y))
U251-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Bool-Bool(Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(X1, Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(X1, Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(->--Nat-Nat(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-Basin(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-BasinSet(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(X1, Y))
U301-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(Y)) -> osb---csb-Nat(s--Nat(Y))
U301-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-os-osb-Nat-os-csb(Y)) -> osb---csb-os-osb-Nat-os-csb(s--os-osb-Nat-os-csb(Y))
->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> ->--Nat-os-osb-Nat-os-csb(V1, V2)
->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> ->--Nat-Nat(V1, V2)
->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> ->--os-osb-Nat-os-csb-Nat(V1, V2)
U41-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(-+--Nat-Nat(Y, X2))
U201-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Basin(basin-Nat-Nat(Y, X2))
equal-os-osb-os-osb-Thruth-os-csb-os-csb-os-osb-os-osb-Thruth-os-csb-os-csb(osb---csb-os-osb-Thruth-os-csb(X), osb---csb-os-osb-Thruth-os-csb(X)) -> tt
equal-os-osb-os-osb-Thruth-os-csb-os-csb-os-osb-os-osb-Thruth-os-csb-os-csb(osb---csb-Thruth(X), osb---csb-Thruth(X)) -> tt
U31-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(-+--Nat-Nat(X1, Y))
U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(Y, X2))
U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U21-Thruth-Nat-Nat-Nat-Nat(tt, M1, M2, N1, N2) -> ---Basin-Basin(basin-Nat-Nat(M1, sd-Nat-Nat(-+--Nat-Nat(N1, N2), M2)), basin-Nat-Nat(M2, M2))
U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(Y, X2))
U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U71-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(-<=--Nat-Nat(X1, Y))
U311-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(sd-Nat-Nat(X1, Y))
is'Bool-Bool(V) -> tt
U271-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(Y)) -> osb---csb-Bool(not-Bool(Y))
U191-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Basin(basin-Nat-Nat(X1, Y))





The following dependency pair can be strictly oriented:

OCB---CCB-BASINSET(---Basin-BasinSet(X1, X2)) -> OCB---CCB-BASINSET(X2)


There are no usable rules w.r.t. to the implicit AFS that need to be oriented.

Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(---BasinSet-Basin(x1, x2))=  x1  
  POL(---Basin-BasinSet(x1, x2))=  1 + x2  
  POL(---BasinSet-BasinSet(x1, x2))=  x1 + x2  
  POL(OCB---CCB-BASINSET(x1))=  1 + x1  

resulting in one new DP problem.



   R
DPs
       →DP Problem 1
Polo
       →DP Problem 2
Polo
       →DP Problem 3
Polo
       →DP Problem 4
Polo
       →DP Problem 5
Remaining Obligation(s)
       →DP Problem 6
Polo
       →DP Problem 7
Polo
       →DP Problem 8
Polo
       →DP Problem 9
Polo
       →DP Problem 10
Polo
       →DP Problem 11
Polo
           →DP Problem 23
Remaining Obligation(s)
       →DP Problem 12
Polo
       →DP Problem 13
Polo




The following remains to be proven:


   R
DPs
       →DP Problem 1
Polo
       →DP Problem 2
Polo
       →DP Problem 3
Polo
       →DP Problem 4
Polo
       →DP Problem 5
Remaining
       →DP Problem 6
Polo
       →DP Problem 7
Polo
       →DP Problem 8
Polo
       →DP Problem 9
Polynomial Ordering
       →DP Problem 10
Polo
       →DP Problem 11
Polo
       →DP Problem 12
Polo
       →DP Problem 13
Polo


Dependency Pairs:

---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2), ext) -> ---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---BasinSet-BasinSet(V1, V2), ext)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2), ext) -> ---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---BasinSet-Basin(V1, V2), ext)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2), ext) -> ---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---Basin-Basin(V1, V2), ext)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2), ext) -> ---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(V1, V2), ext)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2), ext) -> ---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(V1, V2), ext)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2), ext) -> ---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(V1, V2), ext)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2), ext) -> ---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---Basin-BasinSet(V1, V2), ext)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2), ext) -> ---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(V1, V2), ext)


Rules:


ocb---ccb-Nat(4) -> osb---csb-Nat(s--Nat(3))
ocb---ccb-Nat(8) -> osb---csb-Nat(-+--Nat-Nat(3, 5))
ocb---ccb-Nat(-+--Nat-Nat(0, N)) -> osb---csb-Nat(N)
ocb---ccb-Nat(5) -> osb---csb-Nat(s--Nat(4))
ocb---ccb-Nat(-+--Nat-Nat(s--Nat(N), M)) -> osb---csb-Nat(s--Nat(-+--Nat-Nat(N, M)))
ocb---ccb-Nat(sd-Nat-Nat(N, 0)) -> osb---csb-Nat(N)
ocb---ccb-Nat(s--Nat(X1)) -> U291-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-Nat(X1))
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U41-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(s--Nat(N), s--Nat(M))) -> osb---csb-Nat(sd-Nat-Nat(N, M))
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U31-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Nat(s--Nat(X1)) -> U301-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-Nat(X1))
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U321-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U311-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(0, N)) -> osb---csb-Nat(N)
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Nat(3) -> osb---csb-Nat(s--Nat(s--Nat(s--Nat(0))))
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
4 -> s--Nat(3)
3 -> s--Nat(s--Nat(s--Nat(0)))
8 -> -+--Nat-Nat(3, 5)
-+--Nat-Nat(s--Nat(N), M) -> s--Nat(-+--Nat-Nat(N, M))
-+--Nat-Nat(0, N) -> N
5 -> s--Nat(4)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(initial) -> osb---csb-BasinSet(---Basin-BasinSet(basin-Nat-Nat(3, 0), ---Basin-Basin(basin-Nat-Nat(5, 0), basin-Nat-Nat(8, 0))))
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X1), X2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---Basin-BasinSet(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---Basin-Basin(X1, Y))
U281-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(Y)) -> osb---csb-Bool(not-Bool(Y))
U281-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(Y)) -> osb---csb-os-osb-Bool-os-csb(not-os-osb-Bool-os-csb(Y))
not-Bool(true) -> false
not-Bool(false) -> true
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-os-osb-BasinSet-os-csb(X1)) -> U241-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-Basin(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-BasinSet(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'Nat-Nat(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-os-osb-BasinSet-os-csb(X1)) -> U231-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-BasinSet(X1)) -> U231-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-BasinSet(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Bool-os-osb-Bool-os-csb(X1)) -> U251-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-os-osb-Bool-os-csb(X1))
ocb---ccb-os-osb-Thruth-os-csb(V1) -> ocb---ccb-Thruth(V1)
ocb---ccb-os-osb-Thruth-os-csb(is'Bool-Bool(X1)) -> U251-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-Bool(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-Basin(X1)) -> U231-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-Basin(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-BasinSet(X1)) -> U241-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-BasinSet(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Bool-Bool(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-Basin(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-Basin(X1)) -> U241-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-Basin(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Nat-Nat(X1)) -> U261-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-Nat(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Nat-os-osb-Nat-os-csb(X1)) -> U261-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1))
is'BasinSet-os-osb-BasinSet-os-csb(V1) -> is'BasinSet-BasinSet(V1)
is'BasinSet-os-osb-BasinSet-os-csb(V1) -> is'BasinSet-Basin(V1)
U241-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-BasinSet(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'BasinSet-BasinSet(Y))
U241-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'BasinSet-os-osb-BasinSet-os-csb(Y))
U241-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-Basin(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'BasinSet-Basin(Y))
ocb---ccb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-Basin(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(V1) -> ocb---ccb-BasinSet(V1)
ocb---ccb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(V1) -> ocb---ccb-Basin(V1)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-Basin(X2), X1)
is'BasinSet-Basin(V) -> tt
basin-Nat-Nat(M1, N1) -> basin-Nat-Nat(M1, 0)
basin-Nat-Nat(M1, N1) -> basin-Nat-Nat(M1, M1)
U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(-<=--Nat-Nat(X1, Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(X1, Y))
-<=--Nat-Nat(s--Nat(N), s--Nat(M)) -> -<=--Nat-Nat(N, M)
-<=--Nat-Nat(0, N) -> true
-<=--Nat-Nat(N, N) -> true
-<=--Nat-Nat(s--Nat(N), 0) -> false
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---BasinSet-BasinSet(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---BasinSet-Basin(X1, Y))
---BasinSet-BasinSet(V1, V2) -> ---Basin-BasinSet(V1, V2)
---BasinSet-BasinSet(V1, V2) -> ---BasinSet-Basin(V1, V2)
---BasinSet-BasinSet(V1, V2) -> ---Basin-Basin(V1, V2)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-BasinSet(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-Basin(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(Y, X2))
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U201-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U191-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> basin-Nat-os-osb-Nat-os-csb(V1, V2)
basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> basin-Nat-Nat(V1, V2)
basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> basin-os-osb-Nat-os-csb-Nat(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-os-osb-BasinSet-os-csb(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-BasinSet(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-os-osb-BasinSet-os-csb(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---os-osb-BasinSet-os-csb-BasinSet(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---os-osb-BasinSet-os-csb-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-BasinSet(V1, V2)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(not-os-osb-Bool-os-csb(X1)) -> U281-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-os-osb-Bool-os-csb(X1))
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(V1) -> ocb---ccb-Bool(V1)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -<=--Nat-os-osb-Nat-os-csb(V1, V2)
-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -<=--os-osb-Nat-os-csb-Nat(V1, V2)
-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -<=--Nat-Nat(V1, V2)
U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(Y, X2))
U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(V1) -> ocb---ccb-Nat(V1)
ocb---ccb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(s--os-osb-Nat-os-csb(X1)) -> U301-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1))
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(Y, X2))
U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(Y, X2))
U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(sd-Nat-Nat(Y, X2))
U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(X1, Y))
U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Basin(basin-Nat-Nat(X1, Y))
osb---csb-os-osb-Nat-os-csb(V1) -> osb---csb-Nat(V1)
osb---csb-os-osb-BasinSet-os-csb(V1) -> osb---csb-BasinSet(V1)
osb---csb-os-osb-BasinSet-os-csb(V1) -> osb---csb-Basin(V1)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-BasinSet(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-BasinSet(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-Basin(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-Basin(Y, X2))
is'BasinSet-BasinSet(V) -> tt
U121-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(->--Nat-Nat(Y, X2))
->--Nat-Nat(N, M) -> not-Bool(-<=--Nat-Nat(N, M))
---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)) -> U11-Thruth-Nat-Nat-Nat-Nat(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(-<=--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2)
---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)) -> U21-Thruth-Nat-Nat-Nat-Nat(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(->--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2)
U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(-<=--Nat-Nat(Y, X2))
U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(Y, X2))
-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -+--os-osb-Nat-os-csb-Nat(V1, V2)
-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -+--Nat-os-osb-Nat-os-csb(V1, V2)
-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -+--Nat-Nat(V1, V2)
sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> sd-Nat-os-osb-Nat-os-csb(V1, V2)
sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> sd-Nat-Nat(V1, V2)
sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> sd-os-osb-Nat-os-csb-Nat(V1, V2)
U291-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(Y)) -> osb---csb-Nat(s--Nat(Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(X1, Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
osb---csb-os-osb-Thruth-os-csb(V1) -> osb---csb-Thruth(V1)
U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(X1, Y))
U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U111-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(->--Nat-Nat(N, M)) -> osb---csb-Bool(not-Bool(-<=--Nat-Nat(N, M)))
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U81-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(-<=--Nat-Nat(s--Nat(N), 0)) -> osb---csb-Bool(false)
ocb---ccb-Bool(not-Bool(true)) -> osb---csb-Bool(false)
ocb---ccb-Bool(-<=--Nat-Nat(s--Nat(N), s--Nat(M))) -> osb---csb-Bool(-<=--Nat-Nat(N, M))
ocb---ccb-Bool(-<=--Nat-Nat(N, N)) -> osb---csb-Bool(true)
ocb---ccb-Bool(not-Bool(false)) -> osb---csb-Bool(true)
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U121-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U71-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(not-Bool(X1)) -> U281-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-Bool(X1))
ocb---ccb-Bool(not-Bool(X1)) -> U271-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-Bool(X1))
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(-<=--Nat-Nat(0, N)) -> osb---csb-Bool(true)
U111-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(->--Nat-Nat(X1, Y))
sd-Nat-Nat(s--Nat(N), s--Nat(M)) -> sd-Nat-Nat(N, M)
sd-Nat-Nat(0, N) -> N
sd-Nat-Nat(N, 0) -> N
U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(Y, X2))
U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(->--Nat-Nat(Y, X2))
initial -> ---Basin-BasinSet(basin-Nat-Nat(3, 0), ---Basin-Basin(basin-Nat-Nat(5, 0), basin-Nat-Nat(8, 0)))
not-os-osb-Bool-os-csb(V1) -> not-Bool(V1)
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-Basin(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-Basin(Y, X2))
U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(-+--Nat-Nat(X1, Y))
U81-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(-<=--Nat-Nat(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-BasinSet(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-BasinSet(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(Y, X2))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---BasinSet-Basin(X1, Y))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---BasinSet-BasinSet(X1, Y))
U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(sd-Nat-Nat(X1, Y))
U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(X1, Y))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---Basin-BasinSet(X1, Y))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---Basin-Basin(X1, Y))
U261-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-os-osb-Nat-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Nat-os-osb-Nat-os-csb(Y))
U261-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Nat-Nat(Y))
is'Nat-os-osb-Nat-os-csb(V1) -> is'Nat-Nat(V1)
U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(X1, Y))
U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
is'Basin-os-osb-BasinSet-os-csb(V1) -> is'Basin-BasinSet(V1)
is'Basin-os-osb-BasinSet-os-csb(V1) -> is'Basin-Basin(V1)
U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(Y, X2))
U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Basin(basin-Nat-Nat(Y, X2))
equal-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(X), osb---csb-Nat(X)) -> tt
equal-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-os-osb-Nat-os-csb(X), osb---csb-os-osb-Nat-os-csb(X)) -> tt
U11-Thruth-Nat-Nat-Nat-Nat(tt, M1, M2, N1, N2) -> ---Basin-Basin(basin-Nat-Nat(M1, 0), basin-Nat-Nat(M2, -+--Nat-Nat(N1, N2)))
equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(X), osb---csb-Bool(X)) -> tt
equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(X), osb---csb-os-osb-Bool-os-csb(X)) -> tt
osb---csb-os-osb-Bool-os-csb(V1) -> osb---csb-Bool(V1)
is'Nat-Nat(V) -> tt
s--os-osb-Nat-os-csb(V1) -> s--Nat(V1)
equal-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-BasinSet(X), osb---csb-BasinSet(X)) -> tt
equal-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-os-osb-BasinSet-os-csb(X), osb---csb-os-osb-BasinSet-os-csb(X)) -> tt
equal-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-Basin(X), osb---csb-Basin(X)) -> tt
U321-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(sd-Nat-Nat(Y, X2))
U231-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-Basin(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Basin-Basin(Y))
U231-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-BasinSet(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Basin-BasinSet(Y))
U231-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Basin-os-osb-BasinSet-os-csb(Y))
is'Basin-Basin(V) -> tt
U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(Y, X2))
U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(-+--Nat-Nat(Y, X2))
is'Bool-os-osb-Bool-os-csb(V1) -> is'Bool-Bool(V1)
U251-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Bool-os-osb-Bool-os-csb(Y))
U251-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Bool-Bool(Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(X1, Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(X1, Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(->--Nat-Nat(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-Basin(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-BasinSet(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(X1, Y))
U301-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(Y)) -> osb---csb-Nat(s--Nat(Y))
U301-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-os-osb-Nat-os-csb(Y)) -> osb---csb-os-osb-Nat-os-csb(s--os-osb-Nat-os-csb(Y))
->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> ->--Nat-os-osb-Nat-os-csb(V1, V2)
->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> ->--Nat-Nat(V1, V2)
->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> ->--os-osb-Nat-os-csb-Nat(V1, V2)
U41-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(-+--Nat-Nat(Y, X2))
U201-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Basin(basin-Nat-Nat(Y, X2))
equal-os-osb-os-osb-Thruth-os-csb-os-csb-os-osb-os-osb-Thruth-os-csb-os-csb(osb---csb-os-osb-Thruth-os-csb(X), osb---csb-os-osb-Thruth-os-csb(X)) -> tt
equal-os-osb-os-osb-Thruth-os-csb-os-csb-os-osb-os-osb-Thruth-os-csb-os-csb(osb---csb-Thruth(X), osb---csb-Thruth(X)) -> tt
U31-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(-+--Nat-Nat(X1, Y))
U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(Y, X2))
U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U21-Thruth-Nat-Nat-Nat-Nat(tt, M1, M2, N1, N2) -> ---Basin-Basin(basin-Nat-Nat(M1, sd-Nat-Nat(-+--Nat-Nat(N1, N2), M2)), basin-Nat-Nat(M2, M2))
U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(Y, X2))
U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U71-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(-<=--Nat-Nat(X1, Y))
U311-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(sd-Nat-Nat(X1, Y))
is'Bool-Bool(V) -> tt
U271-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(Y)) -> osb---csb-Bool(not-Bool(Y))
U191-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Basin(basin-Nat-Nat(X1, Y))





The following dependency pairs can be strictly oriented:

---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2), ext) -> ---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---BasinSet-BasinSet(V1, V2), ext)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2), ext) -> ---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---BasinSet-Basin(V1, V2), ext)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2), ext) -> ---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---Basin-Basin(V1, V2), ext)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2), ext) -> ---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(V1, V2), ext)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2), ext) -> ---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(V1, V2), ext)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2), ext) -> ---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(V1, V2), ext)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2), ext) -> ---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---Basin-BasinSet(V1, V2), ext)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2), ext) -> ---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(V1, V2), ext)


Additionally, the following usable rules w.r.t. the implicit AFS can be oriented:

osb---csb-os-osb-Bool-os-csb(V1) -> osb---csb-Bool(V1)
sd-Nat-Nat(s--Nat(N), s--Nat(M)) -> sd-Nat-Nat(N, M)
sd-Nat-Nat(0, N) -> N
sd-Nat-Nat(N, 0) -> N
U21-Thruth-Nat-Nat-Nat-Nat(tt, M1, M2, N1, N2) -> ---Basin-Basin(basin-Nat-Nat(M1, sd-Nat-Nat(-+--Nat-Nat(N1, N2), M2)), basin-Nat-Nat(M2, M2))
basin-Nat-Nat(M1, N1) -> basin-Nat-Nat(M1, 0)
basin-Nat-Nat(M1, N1) -> basin-Nat-Nat(M1, M1)
->--Nat-Nat(N, M) -> not-Bool(-<=--Nat-Nat(N, M))
---BasinSet-BasinSet(V1, V2) -> ---Basin-BasinSet(V1, V2)
---BasinSet-BasinSet(V1, V2) -> ---BasinSet-Basin(V1, V2)
---BasinSet-BasinSet(V1, V2) -> ---Basin-Basin(V1, V2)
-+--Nat-Nat(s--Nat(N), M) -> s--Nat(-+--Nat-Nat(N, M))
-+--Nat-Nat(0, N) -> N
-<=--Nat-Nat(s--Nat(N), s--Nat(M)) -> -<=--Nat-Nat(N, M)
-<=--Nat-Nat(0, N) -> true
-<=--Nat-Nat(N, N) -> true
-<=--Nat-Nat(s--Nat(N), 0) -> false
---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)) -> U11-Thruth-Nat-Nat-Nat-Nat(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(-<=--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2)
---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)) -> U21-Thruth-Nat-Nat-Nat-Nat(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(->--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2)
U11-Thruth-Nat-Nat-Nat-Nat(tt, M1, M2, N1, N2) -> ---Basin-Basin(basin-Nat-Nat(M1, 0), basin-Nat-Nat(M2, -+--Nat-Nat(N1, N2)))
not-Bool(true) -> false
not-Bool(false) -> true
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-os-osb-BasinSet-os-csb(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-BasinSet(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-os-osb-BasinSet-os-csb(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---os-osb-BasinSet-os-csb-BasinSet(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---os-osb-BasinSet-os-csb-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-BasinSet(V1, V2)
equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(X), osb---csb-Bool(X)) -> tt
equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(X), osb---csb-os-osb-Bool-os-csb(X)) -> tt

Oriented Equations:

---BasinSet-Basin(x, ---BasinSet-Basin(y, z)) == ---BasinSet-Basin(---BasinSet-Basin(x, y), z)
---BasinSet-Basin(x, y) == ---BasinSet-Basin(y, x)
---Basin-BasinSet(x, ---Basin-BasinSet(y, z)) == ---Basin-BasinSet(---Basin-BasinSet(x, y), z)
---Basin-BasinSet(x, y) == ---Basin-BasinSet(y, x)
---os-osb-BasinSet-os-csb-BasinSet(x, ---os-osb-BasinSet-os-csb-BasinSet(y, z)) == ---os-osb-BasinSet-os-csb-BasinSet(---os-osb-BasinSet-os-csb-BasinSet(x, y), z)
---os-osb-BasinSet-os-csb-BasinSet(x, y) == ---os-osb-BasinSet-os-csb-BasinSet(y, x)
---Basin-os-osb-BasinSet-os-csb(x, ---Basin-os-osb-BasinSet-os-csb(y, z)) == ---Basin-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(x, y), z)
---Basin-os-osb-BasinSet-os-csb(x, y) == ---Basin-os-osb-BasinSet-os-csb(y, x)
---BasinSet-BasinSet(x, ---BasinSet-BasinSet(y, z)) == ---BasinSet-BasinSet(---BasinSet-BasinSet(x, y), z)
---BasinSet-BasinSet(x, y) == ---BasinSet-BasinSet(y, x)
---BasinSet-os-osb-BasinSet-os-csb(x, ---BasinSet-os-osb-BasinSet-os-csb(y, z)) == ---BasinSet-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(x, y), z)
---BasinSet-os-osb-BasinSet-os-csb(x, y) == ---BasinSet-os-osb-BasinSet-os-csb(y, x)
---Basin-Basin(x, ---Basin-Basin(y, z)) == ---Basin-Basin(---Basin-Basin(x, y), z)
---Basin-Basin(x, y) == ---Basin-Basin(y, x)
---os-osb-BasinSet-os-csb-Basin(---os-osb-BasinSet-os-csb-Basin(x, y), z) == ---os-osb-BasinSet-os-csb-Basin(x, ---os-osb-BasinSet-os-csb-Basin(y, z))
---os-osb-BasinSet-os-csb-Basin(x, y) == ---os-osb-BasinSet-os-csb-Basin(y, x)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(x, y), z) == ---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(x, ---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(y, z))
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(x, y) == ---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(y, x)


Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(---Basin-os-osb-BasinSet-os-csb(x1, x2))=  0  
  POL(0)=  0  
  POL(true)=  0  
  POL(basin-Nat-Nat(x1, x2))=  0  
  POL(---BasinSet-BasinSet(x1, x2))=  0  
  POL(not-Bool(x1))=  0  
  POL(---Basin-Basin(x1, x2))=  0  
  POL(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(x1, x2))=  0  
  POL(s--Nat(x1))=  x1  
  POL(tt)=  0  
  POL(---BasinSet-Basin(x1, x2))=  0  
  POL(osb---csb-os-osb-Bool-os-csb(x1))=  0  
  POL(---Basin-BasinSet(x1, x2))=  0  
  POL(---os-osb-BasinSet-os-csb-BasinSet(x1, x2))=  0  
  POL(sd-Nat-Nat(x1, x2))=  x1 + x2  
  POL(osb---csb-Bool(x1))=  0  
  POL(U21-Thruth-Nat-Nat-Nat-Nat(x1, x2, x3, x4, x5))=  0  
  POL(->--Nat-Nat(x1, x2))=  0  
  POL(-+--Nat-Nat(x1, x2))=  x2  
  POL(-<=--Nat-Nat(x1, x2))=  0  
  POL(---BasinSet-os-osb-BasinSet-os-csb(x1, x2))=  0  
  POL(U11-Thruth-Nat-Nat-Nat-Nat(x1, x2, x3, x4, x5))=  0  
  POL(false)=  0  
  POL(---os-osb-BasinSet-os-csb-Basin(x1, x2))=  0  
  POL(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(x1, x2))=  1 + x1 + x2  

resulting in one new DP problem.



   R
DPs
       →DP Problem 1
Polo
       →DP Problem 2
Polo
       →DP Problem 3
Polo
       →DP Problem 4
Polo
       →DP Problem 5
Remaining
       →DP Problem 6
Polo
       →DP Problem 7
Polo
       →DP Problem 8
Polo
       →DP Problem 9
Polo
       →DP Problem 10
Polynomial Ordering
       →DP Problem 11
Polo
       →DP Problem 12
Polo
       →DP Problem 13
Polo


Dependency Pairs:

OCB---CCB-OS-OSB-NAT-OS-CSB(sd-Nat-os-osb-Nat-os-csb(X1, X2)) -> OCB---CCB-OS-OSB-NAT-OS-CSB(X2)
OCB---CCB-OS-OSB-NAT-OS-CSB(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> OCB---CCB-OS-OSB-NAT-OS-CSB(X1)
OCB---CCB-OS-OSB-NAT-OS-CSB(sd-os-osb-Nat-os-csb-Nat(X1, X2)) -> OCB---CCB-OS-OSB-NAT-OS-CSB(X1)
OCB---CCB-OS-OSB-NAT-OS-CSB(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> OCB---CCB-OS-OSB-NAT-OS-CSB(X1)
OCB---CCB-OS-OSB-NAT-OS-CSB(s--os-osb-Nat-os-csb(X1)) -> OCB---CCB-OS-OSB-NAT-OS-CSB(X1)
OCB---CCB-OS-OSB-NAT-OS-CSB(-+--os-osb-Nat-os-csb-Nat(X1, X2)) -> OCB---CCB-OS-OSB-NAT-OS-CSB(X1)
OCB---CCB-OS-OSB-NAT-OS-CSB(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> OCB---CCB-OS-OSB-NAT-OS-CSB(X2)
OCB---CCB-OS-OSB-NAT-OS-CSB(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> OCB---CCB-OS-OSB-NAT-OS-CSB(X2)
OCB---CCB-OS-OSB-NAT-OS-CSB(-+--Nat-os-osb-Nat-os-csb(X1, X2)) -> OCB---CCB-OS-OSB-NAT-OS-CSB(X2)


Rules:


ocb---ccb-Nat(4) -> osb---csb-Nat(s--Nat(3))
ocb---ccb-Nat(8) -> osb---csb-Nat(-+--Nat-Nat(3, 5))
ocb---ccb-Nat(-+--Nat-Nat(0, N)) -> osb---csb-Nat(N)
ocb---ccb-Nat(5) -> osb---csb-Nat(s--Nat(4))
ocb---ccb-Nat(-+--Nat-Nat(s--Nat(N), M)) -> osb---csb-Nat(s--Nat(-+--Nat-Nat(N, M)))
ocb---ccb-Nat(sd-Nat-Nat(N, 0)) -> osb---csb-Nat(N)
ocb---ccb-Nat(s--Nat(X1)) -> U291-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-Nat(X1))
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U41-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(s--Nat(N), s--Nat(M))) -> osb---csb-Nat(sd-Nat-Nat(N, M))
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U31-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Nat(s--Nat(X1)) -> U301-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-Nat(X1))
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U321-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U311-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(0, N)) -> osb---csb-Nat(N)
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Nat(3) -> osb---csb-Nat(s--Nat(s--Nat(s--Nat(0))))
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
4 -> s--Nat(3)
3 -> s--Nat(s--Nat(s--Nat(0)))
8 -> -+--Nat-Nat(3, 5)
-+--Nat-Nat(s--Nat(N), M) -> s--Nat(-+--Nat-Nat(N, M))
-+--Nat-Nat(0, N) -> N
5 -> s--Nat(4)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(initial) -> osb---csb-BasinSet(---Basin-BasinSet(basin-Nat-Nat(3, 0), ---Basin-Basin(basin-Nat-Nat(5, 0), basin-Nat-Nat(8, 0))))
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X1), X2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---Basin-BasinSet(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---Basin-Basin(X1, Y))
U281-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(Y)) -> osb---csb-Bool(not-Bool(Y))
U281-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(Y)) -> osb---csb-os-osb-Bool-os-csb(not-os-osb-Bool-os-csb(Y))
not-Bool(true) -> false
not-Bool(false) -> true
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-os-osb-BasinSet-os-csb(X1)) -> U241-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-Basin(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-BasinSet(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'Nat-Nat(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-os-osb-BasinSet-os-csb(X1)) -> U231-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-BasinSet(X1)) -> U231-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-BasinSet(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Bool-os-osb-Bool-os-csb(X1)) -> U251-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-os-osb-Bool-os-csb(X1))
ocb---ccb-os-osb-Thruth-os-csb(V1) -> ocb---ccb-Thruth(V1)
ocb---ccb-os-osb-Thruth-os-csb(is'Bool-Bool(X1)) -> U251-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-Bool(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-Basin(X1)) -> U231-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-Basin(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-BasinSet(X1)) -> U241-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-BasinSet(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Bool-Bool(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-Basin(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-Basin(X1)) -> U241-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-Basin(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Nat-Nat(X1)) -> U261-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-Nat(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Nat-os-osb-Nat-os-csb(X1)) -> U261-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1))
is'BasinSet-os-osb-BasinSet-os-csb(V1) -> is'BasinSet-BasinSet(V1)
is'BasinSet-os-osb-BasinSet-os-csb(V1) -> is'BasinSet-Basin(V1)
U241-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-BasinSet(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'BasinSet-BasinSet(Y))
U241-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'BasinSet-os-osb-BasinSet-os-csb(Y))
U241-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-Basin(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'BasinSet-Basin(Y))
ocb---ccb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-Basin(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(V1) -> ocb---ccb-BasinSet(V1)
ocb---ccb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(V1) -> ocb---ccb-Basin(V1)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-Basin(X2), X1)
is'BasinSet-Basin(V) -> tt
basin-Nat-Nat(M1, N1) -> basin-Nat-Nat(M1, 0)
basin-Nat-Nat(M1, N1) -> basin-Nat-Nat(M1, M1)
U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(-<=--Nat-Nat(X1, Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(X1, Y))
-<=--Nat-Nat(s--Nat(N), s--Nat(M)) -> -<=--Nat-Nat(N, M)
-<=--Nat-Nat(0, N) -> true
-<=--Nat-Nat(N, N) -> true
-<=--Nat-Nat(s--Nat(N), 0) -> false
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---BasinSet-BasinSet(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---BasinSet-Basin(X1, Y))
---BasinSet-BasinSet(V1, V2) -> ---Basin-BasinSet(V1, V2)
---BasinSet-BasinSet(V1, V2) -> ---BasinSet-Basin(V1, V2)
---BasinSet-BasinSet(V1, V2) -> ---Basin-Basin(V1, V2)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-BasinSet(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-Basin(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(Y, X2))
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U201-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U191-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> basin-Nat-os-osb-Nat-os-csb(V1, V2)
basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> basin-Nat-Nat(V1, V2)
basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> basin-os-osb-Nat-os-csb-Nat(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-os-osb-BasinSet-os-csb(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-BasinSet(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-os-osb-BasinSet-os-csb(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---os-osb-BasinSet-os-csb-BasinSet(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---os-osb-BasinSet-os-csb-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-BasinSet(V1, V2)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(not-os-osb-Bool-os-csb(X1)) -> U281-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-os-osb-Bool-os-csb(X1))
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(V1) -> ocb---ccb-Bool(V1)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -<=--Nat-os-osb-Nat-os-csb(V1, V2)
-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -<=--os-osb-Nat-os-csb-Nat(V1, V2)
-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -<=--Nat-Nat(V1, V2)
U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(Y, X2))
U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(V1) -> ocb---ccb-Nat(V1)
ocb---ccb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(s--os-osb-Nat-os-csb(X1)) -> U301-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1))
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(Y, X2))
U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(Y, X2))
U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(sd-Nat-Nat(Y, X2))
U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(X1, Y))
U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Basin(basin-Nat-Nat(X1, Y))
osb---csb-os-osb-Nat-os-csb(V1) -> osb---csb-Nat(V1)
osb---csb-os-osb-BasinSet-os-csb(V1) -> osb---csb-BasinSet(V1)
osb---csb-os-osb-BasinSet-os-csb(V1) -> osb---csb-Basin(V1)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-BasinSet(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-BasinSet(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-Basin(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-Basin(Y, X2))
is'BasinSet-BasinSet(V) -> tt
U121-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(->--Nat-Nat(Y, X2))
->--Nat-Nat(N, M) -> not-Bool(-<=--Nat-Nat(N, M))
---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)) -> U11-Thruth-Nat-Nat-Nat-Nat(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(-<=--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2)
---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)) -> U21-Thruth-Nat-Nat-Nat-Nat(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(->--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2)
U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(-<=--Nat-Nat(Y, X2))
U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(Y, X2))
-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -+--os-osb-Nat-os-csb-Nat(V1, V2)
-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -+--Nat-os-osb-Nat-os-csb(V1, V2)
-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -+--Nat-Nat(V1, V2)
sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> sd-Nat-os-osb-Nat-os-csb(V1, V2)
sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> sd-Nat-Nat(V1, V2)
sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> sd-os-osb-Nat-os-csb-Nat(V1, V2)
U291-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(Y)) -> osb---csb-Nat(s--Nat(Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(X1, Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
osb---csb-os-osb-Thruth-os-csb(V1) -> osb---csb-Thruth(V1)
U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(X1, Y))
U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U111-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(->--Nat-Nat(N, M)) -> osb---csb-Bool(not-Bool(-<=--Nat-Nat(N, M)))
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U81-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(-<=--Nat-Nat(s--Nat(N), 0)) -> osb---csb-Bool(false)
ocb---ccb-Bool(not-Bool(true)) -> osb---csb-Bool(false)
ocb---ccb-Bool(-<=--Nat-Nat(s--Nat(N), s--Nat(M))) -> osb---csb-Bool(-<=--Nat-Nat(N, M))
ocb---ccb-Bool(-<=--Nat-Nat(N, N)) -> osb---csb-Bool(true)
ocb---ccb-Bool(not-Bool(false)) -> osb---csb-Bool(true)
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U121-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U71-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(not-Bool(X1)) -> U281-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-Bool(X1))
ocb---ccb-Bool(not-Bool(X1)) -> U271-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-Bool(X1))
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(-<=--Nat-Nat(0, N)) -> osb---csb-Bool(true)
U111-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(->--Nat-Nat(X1, Y))
sd-Nat-Nat(s--Nat(N), s--Nat(M)) -> sd-Nat-Nat(N, M)
sd-Nat-Nat(0, N) -> N
sd-Nat-Nat(N, 0) -> N
U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(Y, X2))
U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(->--Nat-Nat(Y, X2))
initial -> ---Basin-BasinSet(basin-Nat-Nat(3, 0), ---Basin-Basin(basin-Nat-Nat(5, 0), basin-Nat-Nat(8, 0)))
not-os-osb-Bool-os-csb(V1) -> not-Bool(V1)
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-Basin(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-Basin(Y, X2))
U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(-+--Nat-Nat(X1, Y))
U81-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(-<=--Nat-Nat(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-BasinSet(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-BasinSet(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(Y, X2))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---BasinSet-Basin(X1, Y))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---BasinSet-BasinSet(X1, Y))
U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(sd-Nat-Nat(X1, Y))
U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(X1, Y))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---Basin-BasinSet(X1, Y))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---Basin-Basin(X1, Y))
U261-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-os-osb-Nat-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Nat-os-osb-Nat-os-csb(Y))
U261-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Nat-Nat(Y))
is'Nat-os-osb-Nat-os-csb(V1) -> is'Nat-Nat(V1)
U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(X1, Y))
U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
is'Basin-os-osb-BasinSet-os-csb(V1) -> is'Basin-BasinSet(V1)
is'Basin-os-osb-BasinSet-os-csb(V1) -> is'Basin-Basin(V1)
U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(Y, X2))
U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Basin(basin-Nat-Nat(Y, X2))
equal-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(X), osb---csb-Nat(X)) -> tt
equal-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-os-osb-Nat-os-csb(X), osb---csb-os-osb-Nat-os-csb(X)) -> tt
U11-Thruth-Nat-Nat-Nat-Nat(tt, M1, M2, N1, N2) -> ---Basin-Basin(basin-Nat-Nat(M1, 0), basin-Nat-Nat(M2, -+--Nat-Nat(N1, N2)))
equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(X), osb---csb-Bool(X)) -> tt
equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(X), osb---csb-os-osb-Bool-os-csb(X)) -> tt
osb---csb-os-osb-Bool-os-csb(V1) -> osb---csb-Bool(V1)
is'Nat-Nat(V) -> tt
s--os-osb-Nat-os-csb(V1) -> s--Nat(V1)
equal-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-BasinSet(X), osb---csb-BasinSet(X)) -> tt
equal-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-os-osb-BasinSet-os-csb(X), osb---csb-os-osb-BasinSet-os-csb(X)) -> tt
equal-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-Basin(X), osb---csb-Basin(X)) -> tt
U321-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(sd-Nat-Nat(Y, X2))
U231-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-Basin(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Basin-Basin(Y))
U231-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-BasinSet(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Basin-BasinSet(Y))
U231-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Basin-os-osb-BasinSet-os-csb(Y))
is'Basin-Basin(V) -> tt
U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(Y, X2))
U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(-+--Nat-Nat(Y, X2))
is'Bool-os-osb-Bool-os-csb(V1) -> is'Bool-Bool(V1)
U251-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Bool-os-osb-Bool-os-csb(Y))
U251-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Bool-Bool(Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(X1, Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(X1, Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(->--Nat-Nat(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-Basin(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-BasinSet(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(X1, Y))
U301-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(Y)) -> osb---csb-Nat(s--Nat(Y))
U301-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-os-osb-Nat-os-csb(Y)) -> osb---csb-os-osb-Nat-os-csb(s--os-osb-Nat-os-csb(Y))
->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> ->--Nat-os-osb-Nat-os-csb(V1, V2)
->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> ->--Nat-Nat(V1, V2)
->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> ->--os-osb-Nat-os-csb-Nat(V1, V2)
U41-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(-+--Nat-Nat(Y, X2))
U201-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Basin(basin-Nat-Nat(Y, X2))
equal-os-osb-os-osb-Thruth-os-csb-os-csb-os-osb-os-osb-Thruth-os-csb-os-csb(osb---csb-os-osb-Thruth-os-csb(X), osb---csb-os-osb-Thruth-os-csb(X)) -> tt
equal-os-osb-os-osb-Thruth-os-csb-os-csb-os-osb-os-osb-Thruth-os-csb-os-csb(osb---csb-Thruth(X), osb---csb-Thruth(X)) -> tt
U31-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(-+--Nat-Nat(X1, Y))
U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(Y, X2))
U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U21-Thruth-Nat-Nat-Nat-Nat(tt, M1, M2, N1, N2) -> ---Basin-Basin(basin-Nat-Nat(M1, sd-Nat-Nat(-+--Nat-Nat(N1, N2), M2)), basin-Nat-Nat(M2, M2))
U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(Y, X2))
U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U71-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(-<=--Nat-Nat(X1, Y))
U311-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(sd-Nat-Nat(X1, Y))
is'Bool-Bool(V) -> tt
U271-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(Y)) -> osb---csb-Bool(not-Bool(Y))
U191-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Basin(basin-Nat-Nat(X1, Y))





The following dependency pairs can be strictly oriented:

OCB---CCB-OS-OSB-NAT-OS-CSB(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> OCB---CCB-OS-OSB-NAT-OS-CSB(X1)
OCB---CCB-OS-OSB-NAT-OS-CSB(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> OCB---CCB-OS-OSB-NAT-OS-CSB(X2)


There are no usable rules w.r.t. to the implicit AFS that need to be oriented.

Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(x1, x2))=  x1 + x2  
  POL(-+--Nat-os-osb-Nat-os-csb(x1, x2))=  x2  
  POL(sd-os-osb-Nat-os-csb-Nat(x1, x2))=  x1  
  POL(sd-Nat-os-osb-Nat-os-csb(x1, x2))=  x2  
  POL(s--os-osb-Nat-os-csb(x1))=  x1  
  POL(-+--os-osb-Nat-os-csb-Nat(x1, x2))=  x1  
  POL(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(x1, x2))=  1 + x1 + x2  
  POL(OCB---CCB-OS-OSB-NAT-OS-CSB(x1))=  1 + x1  

resulting in one new DP problem.



   R
DPs
       →DP Problem 1
Polo
       →DP Problem 2
Polo
       →DP Problem 3
Polo
       →DP Problem 4
Polo
       →DP Problem 5
Remaining Obligation(s)
       →DP Problem 6
Polo
       →DP Problem 7
Polo
       →DP Problem 8
Polo
       →DP Problem 9
Polo
       →DP Problem 10
Polo
       →DP Problem 11
Polo
           →DP Problem 23
Remaining Obligation(s)
       →DP Problem 12
Polo
       →DP Problem 13
Polo




The following remains to be proven:


   R
DPs
       →DP Problem 1
Polo
       →DP Problem 2
Polo
       →DP Problem 3
Polo
       →DP Problem 4
Polo
       →DP Problem 5
Remaining
       →DP Problem 6
Polo
       →DP Problem 7
Polo
       →DP Problem 8
Polo
       →DP Problem 9
Polo
       →DP Problem 10
Polo
       →DP Problem 11
Polynomial Ordering
       →DP Problem 12
Polo
       →DP Problem 13
Polo


Dependency Pairs:

OCB---CCB-OS-OSB-BASINSET-OS-CSB(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, X2)) -> OCB---CCB-OS-OSB-BASINSET-OS-CSB(X1)
OCB---CCB-OS-OSB-BASINSET-OS-CSB(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, X2)) -> OCB---CCB-OS-OSB-BASINSET-OS-CSB(X2)
OCB---CCB-OS-OSB-BASINSET-OS-CSB(---BasinSet-os-osb-BasinSet-os-csb(X1, X2)) -> OCB---CCB-OS-OSB-BASINSET-OS-CSB(X2)
OCB---CCB-OS-OSB-BASINSET-OS-CSB(---Basin-os-osb-BasinSet-os-csb(X1, X2)) -> OCB---CCB-OS-OSB-BASINSET-OS-CSB(X2)
OCB---CCB-OS-OSB-BASINSET-OS-CSB(---os-osb-BasinSet-os-csb-Basin(X1, X2)) -> OCB---CCB-OS-OSB-BASINSET-OS-CSB(X1)
OCB---CCB-OS-OSB-BASINSET-OS-CSB(---os-osb-BasinSet-os-csb-BasinSet(X1, X2)) -> OCB---CCB-OS-OSB-BASINSET-OS-CSB(X1)


Rules:


ocb---ccb-Nat(4) -> osb---csb-Nat(s--Nat(3))
ocb---ccb-Nat(8) -> osb---csb-Nat(-+--Nat-Nat(3, 5))
ocb---ccb-Nat(-+--Nat-Nat(0, N)) -> osb---csb-Nat(N)
ocb---ccb-Nat(5) -> osb---csb-Nat(s--Nat(4))
ocb---ccb-Nat(-+--Nat-Nat(s--Nat(N), M)) -> osb---csb-Nat(s--Nat(-+--Nat-Nat(N, M)))
ocb---ccb-Nat(sd-Nat-Nat(N, 0)) -> osb---csb-Nat(N)
ocb---ccb-Nat(s--Nat(X1)) -> U291-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-Nat(X1))
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U41-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(s--Nat(N), s--Nat(M))) -> osb---csb-Nat(sd-Nat-Nat(N, M))
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U31-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Nat(s--Nat(X1)) -> U301-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-Nat(X1))
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U321-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U311-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(0, N)) -> osb---csb-Nat(N)
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Nat(3) -> osb---csb-Nat(s--Nat(s--Nat(s--Nat(0))))
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
4 -> s--Nat(3)
3 -> s--Nat(s--Nat(s--Nat(0)))
8 -> -+--Nat-Nat(3, 5)
-+--Nat-Nat(s--Nat(N), M) -> s--Nat(-+--Nat-Nat(N, M))
-+--Nat-Nat(0, N) -> N
5 -> s--Nat(4)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(initial) -> osb---csb-BasinSet(---Basin-BasinSet(basin-Nat-Nat(3, 0), ---Basin-Basin(basin-Nat-Nat(5, 0), basin-Nat-Nat(8, 0))))
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X1), X2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---Basin-BasinSet(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---Basin-Basin(X1, Y))
U281-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(Y)) -> osb---csb-Bool(not-Bool(Y))
U281-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(Y)) -> osb---csb-os-osb-Bool-os-csb(not-os-osb-Bool-os-csb(Y))
not-Bool(true) -> false
not-Bool(false) -> true
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-os-osb-BasinSet-os-csb(X1)) -> U241-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-Basin(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-BasinSet(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'Nat-Nat(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-os-osb-BasinSet-os-csb(X1)) -> U231-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-BasinSet(X1)) -> U231-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-BasinSet(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Bool-os-osb-Bool-os-csb(X1)) -> U251-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-os-osb-Bool-os-csb(X1))
ocb---ccb-os-osb-Thruth-os-csb(V1) -> ocb---ccb-Thruth(V1)
ocb---ccb-os-osb-Thruth-os-csb(is'Bool-Bool(X1)) -> U251-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-Bool(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-Basin(X1)) -> U231-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-Basin(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-BasinSet(X1)) -> U241-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-BasinSet(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Bool-Bool(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-Basin(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-Basin(X1)) -> U241-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-Basin(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Nat-Nat(X1)) -> U261-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-Nat(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Nat-os-osb-Nat-os-csb(X1)) -> U261-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1))
is'BasinSet-os-osb-BasinSet-os-csb(V1) -> is'BasinSet-BasinSet(V1)
is'BasinSet-os-osb-BasinSet-os-csb(V1) -> is'BasinSet-Basin(V1)
U241-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-BasinSet(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'BasinSet-BasinSet(Y))
U241-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'BasinSet-os-osb-BasinSet-os-csb(Y))
U241-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-Basin(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'BasinSet-Basin(Y))
ocb---ccb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-Basin(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(V1) -> ocb---ccb-BasinSet(V1)
ocb---ccb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(V1) -> ocb---ccb-Basin(V1)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-Basin(X2), X1)
is'BasinSet-Basin(V) -> tt
basin-Nat-Nat(M1, N1) -> basin-Nat-Nat(M1, 0)
basin-Nat-Nat(M1, N1) -> basin-Nat-Nat(M1, M1)
U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(-<=--Nat-Nat(X1, Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(X1, Y))
-<=--Nat-Nat(s--Nat(N), s--Nat(M)) -> -<=--Nat-Nat(N, M)
-<=--Nat-Nat(0, N) -> true
-<=--Nat-Nat(N, N) -> true
-<=--Nat-Nat(s--Nat(N), 0) -> false
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---BasinSet-BasinSet(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---BasinSet-Basin(X1, Y))
---BasinSet-BasinSet(V1, V2) -> ---Basin-BasinSet(V1, V2)
---BasinSet-BasinSet(V1, V2) -> ---BasinSet-Basin(V1, V2)
---BasinSet-BasinSet(V1, V2) -> ---Basin-Basin(V1, V2)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-BasinSet(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-Basin(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(Y, X2))
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U201-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U191-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> basin-Nat-os-osb-Nat-os-csb(V1, V2)
basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> basin-Nat-Nat(V1, V2)
basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> basin-os-osb-Nat-os-csb-Nat(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-os-osb-BasinSet-os-csb(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-BasinSet(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-os-osb-BasinSet-os-csb(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---os-osb-BasinSet-os-csb-BasinSet(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---os-osb-BasinSet-os-csb-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-BasinSet(V1, V2)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(not-os-osb-Bool-os-csb(X1)) -> U281-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-os-osb-Bool-os-csb(X1))
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(V1) -> ocb---ccb-Bool(V1)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -<=--Nat-os-osb-Nat-os-csb(V1, V2)
-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -<=--os-osb-Nat-os-csb-Nat(V1, V2)
-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -<=--Nat-Nat(V1, V2)
U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(Y, X2))
U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(V1) -> ocb---ccb-Nat(V1)
ocb---ccb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(s--os-osb-Nat-os-csb(X1)) -> U301-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1))
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(Y, X2))
U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(Y, X2))
U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(sd-Nat-Nat(Y, X2))
U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(X1, Y))
U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Basin(basin-Nat-Nat(X1, Y))
osb---csb-os-osb-Nat-os-csb(V1) -> osb---csb-Nat(V1)
osb---csb-os-osb-BasinSet-os-csb(V1) -> osb---csb-BasinSet(V1)
osb---csb-os-osb-BasinSet-os-csb(V1) -> osb---csb-Basin(V1)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-BasinSet(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-BasinSet(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-Basin(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-Basin(Y, X2))
is'BasinSet-BasinSet(V) -> tt
U121-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(->--Nat-Nat(Y, X2))
->--Nat-Nat(N, M) -> not-Bool(-<=--Nat-Nat(N, M))
---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)) -> U11-Thruth-Nat-Nat-Nat-Nat(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(-<=--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2)
---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)) -> U21-Thruth-Nat-Nat-Nat-Nat(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(->--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2)
U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(-<=--Nat-Nat(Y, X2))
U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(Y, X2))
-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -+--os-osb-Nat-os-csb-Nat(V1, V2)
-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -+--Nat-os-osb-Nat-os-csb(V1, V2)
-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -+--Nat-Nat(V1, V2)
sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> sd-Nat-os-osb-Nat-os-csb(V1, V2)
sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> sd-Nat-Nat(V1, V2)
sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> sd-os-osb-Nat-os-csb-Nat(V1, V2)
U291-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(Y)) -> osb---csb-Nat(s--Nat(Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(X1, Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
osb---csb-os-osb-Thruth-os-csb(V1) -> osb---csb-Thruth(V1)
U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(X1, Y))
U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U111-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(->--Nat-Nat(N, M)) -> osb---csb-Bool(not-Bool(-<=--Nat-Nat(N, M)))
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U81-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(-<=--Nat-Nat(s--Nat(N), 0)) -> osb---csb-Bool(false)
ocb---ccb-Bool(not-Bool(true)) -> osb---csb-Bool(false)
ocb---ccb-Bool(-<=--Nat-Nat(s--Nat(N), s--Nat(M))) -> osb---csb-Bool(-<=--Nat-Nat(N, M))
ocb---ccb-Bool(-<=--Nat-Nat(N, N)) -> osb---csb-Bool(true)
ocb---ccb-Bool(not-Bool(false)) -> osb---csb-Bool(true)
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U121-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U71-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(not-Bool(X1)) -> U281-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-Bool(X1))
ocb---ccb-Bool(not-Bool(X1)) -> U271-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-Bool(X1))
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(-<=--Nat-Nat(0, N)) -> osb---csb-Bool(true)
U111-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(->--Nat-Nat(X1, Y))
sd-Nat-Nat(s--Nat(N), s--Nat(M)) -> sd-Nat-Nat(N, M)
sd-Nat-Nat(0, N) -> N
sd-Nat-Nat(N, 0) -> N
U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(Y, X2))
U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(->--Nat-Nat(Y, X2))
initial -> ---Basin-BasinSet(basin-Nat-Nat(3, 0), ---Basin-Basin(basin-Nat-Nat(5, 0), basin-Nat-Nat(8, 0)))
not-os-osb-Bool-os-csb(V1) -> not-Bool(V1)
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-Basin(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-Basin(Y, X2))
U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(-+--Nat-Nat(X1, Y))
U81-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(-<=--Nat-Nat(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-BasinSet(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-BasinSet(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(Y, X2))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---BasinSet-Basin(X1, Y))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---BasinSet-BasinSet(X1, Y))
U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(sd-Nat-Nat(X1, Y))
U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(X1, Y))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---Basin-BasinSet(X1, Y))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---Basin-Basin(X1, Y))
U261-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-os-osb-Nat-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Nat-os-osb-Nat-os-csb(Y))
U261-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Nat-Nat(Y))
is'Nat-os-osb-Nat-os-csb(V1) -> is'Nat-Nat(V1)
U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(X1, Y))
U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
is'Basin-os-osb-BasinSet-os-csb(V1) -> is'Basin-BasinSet(V1)
is'Basin-os-osb-BasinSet-os-csb(V1) -> is'Basin-Basin(V1)
U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(Y, X2))
U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Basin(basin-Nat-Nat(Y, X2))
equal-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(X), osb---csb-Nat(X)) -> tt
equal-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-os-osb-Nat-os-csb(X), osb---csb-os-osb-Nat-os-csb(X)) -> tt
U11-Thruth-Nat-Nat-Nat-Nat(tt, M1, M2, N1, N2) -> ---Basin-Basin(basin-Nat-Nat(M1, 0), basin-Nat-Nat(M2, -+--Nat-Nat(N1, N2)))
equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(X), osb---csb-Bool(X)) -> tt
equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(X), osb---csb-os-osb-Bool-os-csb(X)) -> tt
osb---csb-os-osb-Bool-os-csb(V1) -> osb---csb-Bool(V1)
is'Nat-Nat(V) -> tt
s--os-osb-Nat-os-csb(V1) -> s--Nat(V1)
equal-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-BasinSet(X), osb---csb-BasinSet(X)) -> tt
equal-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-os-osb-BasinSet-os-csb(X), osb---csb-os-osb-BasinSet-os-csb(X)) -> tt
equal-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-Basin(X), osb---csb-Basin(X)) -> tt
U321-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(sd-Nat-Nat(Y, X2))
U231-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-Basin(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Basin-Basin(Y))
U231-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-BasinSet(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Basin-BasinSet(Y))
U231-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Basin-os-osb-BasinSet-os-csb(Y))
is'Basin-Basin(V) -> tt
U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(Y, X2))
U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(-+--Nat-Nat(Y, X2))
is'Bool-os-osb-Bool-os-csb(V1) -> is'Bool-Bool(V1)
U251-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Bool-os-osb-Bool-os-csb(Y))
U251-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Bool-Bool(Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(X1, Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(X1, Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(->--Nat-Nat(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-Basin(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-BasinSet(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(X1, Y))
U301-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(Y)) -> osb---csb-Nat(s--Nat(Y))
U301-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-os-osb-Nat-os-csb(Y)) -> osb---csb-os-osb-Nat-os-csb(s--os-osb-Nat-os-csb(Y))
->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> ->--Nat-os-osb-Nat-os-csb(V1, V2)
->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> ->--Nat-Nat(V1, V2)
->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> ->--os-osb-Nat-os-csb-Nat(V1, V2)
U41-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(-+--Nat-Nat(Y, X2))
U201-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Basin(basin-Nat-Nat(Y, X2))
equal-os-osb-os-osb-Thruth-os-csb-os-csb-os-osb-os-osb-Thruth-os-csb-os-csb(osb---csb-os-osb-Thruth-os-csb(X), osb---csb-os-osb-Thruth-os-csb(X)) -> tt
equal-os-osb-os-osb-Thruth-os-csb-os-csb-os-osb-os-osb-Thruth-os-csb-os-csb(osb---csb-Thruth(X), osb---csb-Thruth(X)) -> tt
U31-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(-+--Nat-Nat(X1, Y))
U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(Y, X2))
U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U21-Thruth-Nat-Nat-Nat-Nat(tt, M1, M2, N1, N2) -> ---Basin-Basin(basin-Nat-Nat(M1, sd-Nat-Nat(-+--Nat-Nat(N1, N2), M2)), basin-Nat-Nat(M2, M2))
U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(Y, X2))
U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U71-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(-<=--Nat-Nat(X1, Y))
U311-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(sd-Nat-Nat(X1, Y))
is'Bool-Bool(V) -> tt
U271-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(Y)) -> osb---csb-Bool(not-Bool(Y))
U191-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Basin(basin-Nat-Nat(X1, Y))





The following dependency pair can be strictly oriented:

OCB---CCB-OS-OSB-BASINSET-OS-CSB(---Basin-os-osb-BasinSet-os-csb(X1, X2)) -> OCB---CCB-OS-OSB-BASINSET-OS-CSB(X2)


There are no usable rules w.r.t. to the implicit AFS that need to be oriented.

Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(---Basin-os-osb-BasinSet-os-csb(x1, x2))=  1 + x2  
  POL(---os-osb-BasinSet-os-csb-Basin(x1, x2))=  x1  
  POL(---os-osb-BasinSet-os-csb-BasinSet(x1, x2))=  x1  
  POL(OCB---CCB-OS-OSB-BASINSET-OS-CSB(x1))=  1 + x1  
  POL(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(x1, x2))=  x1 + x2  
  POL(---BasinSet-os-osb-BasinSet-os-csb(x1, x2))=  x2  

resulting in one new DP problem.



   R
DPs
       →DP Problem 1
Polo
       →DP Problem 2
Polo
       →DP Problem 3
Polo
       →DP Problem 4
Polo
       →DP Problem 5
Remaining Obligation(s)
       →DP Problem 6
Polo
       →DP Problem 7
Polo
       →DP Problem 8
Polo
       →DP Problem 9
Polo
       →DP Problem 10
Polo
       →DP Problem 11
Polo
           →DP Problem 23
Remaining Obligation(s)
       →DP Problem 12
Polo
       →DP Problem 13
Polo




The following remains to be proven:


   R
DPs
       →DP Problem 1
Polo
       →DP Problem 2
Polo
       →DP Problem 3
Polo
       →DP Problem 4
Polo
       →DP Problem 5
Remaining
       →DP Problem 6
Polo
       →DP Problem 7
Polo
       →DP Problem 8
Polo
       →DP Problem 9
Polo
       →DP Problem 10
Polo
       →DP Problem 11
Polo
       →DP Problem 12
Polynomial Ordering
       →DP Problem 13
Polo


Dependency Pair:

OCB---CCB-BOOL(not-Bool(X1)) -> OCB---CCB-BOOL(X1)


Rules:


ocb---ccb-Nat(4) -> osb---csb-Nat(s--Nat(3))
ocb---ccb-Nat(8) -> osb---csb-Nat(-+--Nat-Nat(3, 5))
ocb---ccb-Nat(-+--Nat-Nat(0, N)) -> osb---csb-Nat(N)
ocb---ccb-Nat(5) -> osb---csb-Nat(s--Nat(4))
ocb---ccb-Nat(-+--Nat-Nat(s--Nat(N), M)) -> osb---csb-Nat(s--Nat(-+--Nat-Nat(N, M)))
ocb---ccb-Nat(sd-Nat-Nat(N, 0)) -> osb---csb-Nat(N)
ocb---ccb-Nat(s--Nat(X1)) -> U291-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-Nat(X1))
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U41-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(s--Nat(N), s--Nat(M))) -> osb---csb-Nat(sd-Nat-Nat(N, M))
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U31-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Nat(s--Nat(X1)) -> U301-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-Nat(X1))
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U321-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U311-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(0, N)) -> osb---csb-Nat(N)
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Nat(3) -> osb---csb-Nat(s--Nat(s--Nat(s--Nat(0))))
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
4 -> s--Nat(3)
3 -> s--Nat(s--Nat(s--Nat(0)))
8 -> -+--Nat-Nat(3, 5)
-+--Nat-Nat(s--Nat(N), M) -> s--Nat(-+--Nat-Nat(N, M))
-+--Nat-Nat(0, N) -> N
5 -> s--Nat(4)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(initial) -> osb---csb-BasinSet(---Basin-BasinSet(basin-Nat-Nat(3, 0), ---Basin-Basin(basin-Nat-Nat(5, 0), basin-Nat-Nat(8, 0))))
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X1), X2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---Basin-BasinSet(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---Basin-Basin(X1, Y))
U281-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(Y)) -> osb---csb-Bool(not-Bool(Y))
U281-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(Y)) -> osb---csb-os-osb-Bool-os-csb(not-os-osb-Bool-os-csb(Y))
not-Bool(true) -> false
not-Bool(false) -> true
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-os-osb-BasinSet-os-csb(X1)) -> U241-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-Basin(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-BasinSet(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'Nat-Nat(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-os-osb-BasinSet-os-csb(X1)) -> U231-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-BasinSet(X1)) -> U231-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-BasinSet(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Bool-os-osb-Bool-os-csb(X1)) -> U251-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-os-osb-Bool-os-csb(X1))
ocb---ccb-os-osb-Thruth-os-csb(V1) -> ocb---ccb-Thruth(V1)
ocb---ccb-os-osb-Thruth-os-csb(is'Bool-Bool(X1)) -> U251-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-Bool(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-Basin(X1)) -> U231-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-Basin(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-BasinSet(X1)) -> U241-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-BasinSet(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Bool-Bool(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-Basin(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-Basin(X1)) -> U241-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-Basin(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Nat-Nat(X1)) -> U261-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-Nat(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Nat-os-osb-Nat-os-csb(X1)) -> U261-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1))
is'BasinSet-os-osb-BasinSet-os-csb(V1) -> is'BasinSet-BasinSet(V1)
is'BasinSet-os-osb-BasinSet-os-csb(V1) -> is'BasinSet-Basin(V1)
U241-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-BasinSet(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'BasinSet-BasinSet(Y))
U241-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'BasinSet-os-osb-BasinSet-os-csb(Y))
U241-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-Basin(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'BasinSet-Basin(Y))
ocb---ccb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-Basin(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(V1) -> ocb---ccb-BasinSet(V1)
ocb---ccb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(V1) -> ocb---ccb-Basin(V1)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-Basin(X2), X1)
is'BasinSet-Basin(V) -> tt
basin-Nat-Nat(M1, N1) -> basin-Nat-Nat(M1, 0)
basin-Nat-Nat(M1, N1) -> basin-Nat-Nat(M1, M1)
U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(-<=--Nat-Nat(X1, Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(X1, Y))
-<=--Nat-Nat(s--Nat(N), s--Nat(M)) -> -<=--Nat-Nat(N, M)
-<=--Nat-Nat(0, N) -> true
-<=--Nat-Nat(N, N) -> true
-<=--Nat-Nat(s--Nat(N), 0) -> false
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---BasinSet-BasinSet(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---BasinSet-Basin(X1, Y))
---BasinSet-BasinSet(V1, V2) -> ---Basin-BasinSet(V1, V2)
---BasinSet-BasinSet(V1, V2) -> ---BasinSet-Basin(V1, V2)
---BasinSet-BasinSet(V1, V2) -> ---Basin-Basin(V1, V2)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-BasinSet(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-Basin(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(Y, X2))
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U201-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U191-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> basin-Nat-os-osb-Nat-os-csb(V1, V2)
basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> basin-Nat-Nat(V1, V2)
basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> basin-os-osb-Nat-os-csb-Nat(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-os-osb-BasinSet-os-csb(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-BasinSet(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-os-osb-BasinSet-os-csb(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---os-osb-BasinSet-os-csb-BasinSet(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---os-osb-BasinSet-os-csb-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-BasinSet(V1, V2)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(not-os-osb-Bool-os-csb(X1)) -> U281-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-os-osb-Bool-os-csb(X1))
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(V1) -> ocb---ccb-Bool(V1)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -<=--Nat-os-osb-Nat-os-csb(V1, V2)
-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -<=--os-osb-Nat-os-csb-Nat(V1, V2)
-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -<=--Nat-Nat(V1, V2)
U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(Y, X2))
U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(V1) -> ocb---ccb-Nat(V1)
ocb---ccb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(s--os-osb-Nat-os-csb(X1)) -> U301-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1))
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(Y, X2))
U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(Y, X2))
U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(sd-Nat-Nat(Y, X2))
U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(X1, Y))
U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Basin(basin-Nat-Nat(X1, Y))
osb---csb-os-osb-Nat-os-csb(V1) -> osb---csb-Nat(V1)
osb---csb-os-osb-BasinSet-os-csb(V1) -> osb---csb-BasinSet(V1)
osb---csb-os-osb-BasinSet-os-csb(V1) -> osb---csb-Basin(V1)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-BasinSet(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-BasinSet(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-Basin(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-Basin(Y, X2))
is'BasinSet-BasinSet(V) -> tt
U121-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(->--Nat-Nat(Y, X2))
->--Nat-Nat(N, M) -> not-Bool(-<=--Nat-Nat(N, M))
---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)) -> U11-Thruth-Nat-Nat-Nat-Nat(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(-<=--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2)
---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)) -> U21-Thruth-Nat-Nat-Nat-Nat(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(->--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2)
U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(-<=--Nat-Nat(Y, X2))
U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(Y, X2))
-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -+--os-osb-Nat-os-csb-Nat(V1, V2)
-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -+--Nat-os-osb-Nat-os-csb(V1, V2)
-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -+--Nat-Nat(V1, V2)
sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> sd-Nat-os-osb-Nat-os-csb(V1, V2)
sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> sd-Nat-Nat(V1, V2)
sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> sd-os-osb-Nat-os-csb-Nat(V1, V2)
U291-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(Y)) -> osb---csb-Nat(s--Nat(Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(X1, Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
osb---csb-os-osb-Thruth-os-csb(V1) -> osb---csb-Thruth(V1)
U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(X1, Y))
U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U111-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(->--Nat-Nat(N, M)) -> osb---csb-Bool(not-Bool(-<=--Nat-Nat(N, M)))
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U81-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(-<=--Nat-Nat(s--Nat(N), 0)) -> osb---csb-Bool(false)
ocb---ccb-Bool(not-Bool(true)) -> osb---csb-Bool(false)
ocb---ccb-Bool(-<=--Nat-Nat(s--Nat(N), s--Nat(M))) -> osb---csb-Bool(-<=--Nat-Nat(N, M))
ocb---ccb-Bool(-<=--Nat-Nat(N, N)) -> osb---csb-Bool(true)
ocb---ccb-Bool(not-Bool(false)) -> osb---csb-Bool(true)
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U121-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U71-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(not-Bool(X1)) -> U281-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-Bool(X1))
ocb---ccb-Bool(not-Bool(X1)) -> U271-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-Bool(X1))
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(-<=--Nat-Nat(0, N)) -> osb---csb-Bool(true)
U111-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(->--Nat-Nat(X1, Y))
sd-Nat-Nat(s--Nat(N), s--Nat(M)) -> sd-Nat-Nat(N, M)
sd-Nat-Nat(0, N) -> N
sd-Nat-Nat(N, 0) -> N
U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(Y, X2))
U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(->--Nat-Nat(Y, X2))
initial -> ---Basin-BasinSet(basin-Nat-Nat(3, 0), ---Basin-Basin(basin-Nat-Nat(5, 0), basin-Nat-Nat(8, 0)))
not-os-osb-Bool-os-csb(V1) -> not-Bool(V1)
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-Basin(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-Basin(Y, X2))
U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(-+--Nat-Nat(X1, Y))
U81-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(-<=--Nat-Nat(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-BasinSet(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-BasinSet(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(Y, X2))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---BasinSet-Basin(X1, Y))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---BasinSet-BasinSet(X1, Y))
U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(sd-Nat-Nat(X1, Y))
U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(X1, Y))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---Basin-BasinSet(X1, Y))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---Basin-Basin(X1, Y))
U261-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-os-osb-Nat-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Nat-os-osb-Nat-os-csb(Y))
U261-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Nat-Nat(Y))
is'Nat-os-osb-Nat-os-csb(V1) -> is'Nat-Nat(V1)
U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(X1, Y))
U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
is'Basin-os-osb-BasinSet-os-csb(V1) -> is'Basin-BasinSet(V1)
is'Basin-os-osb-BasinSet-os-csb(V1) -> is'Basin-Basin(V1)
U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(Y, X2))
U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Basin(basin-Nat-Nat(Y, X2))
equal-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(X), osb---csb-Nat(X)) -> tt
equal-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-os-osb-Nat-os-csb(X), osb---csb-os-osb-Nat-os-csb(X)) -> tt
U11-Thruth-Nat-Nat-Nat-Nat(tt, M1, M2, N1, N2) -> ---Basin-Basin(basin-Nat-Nat(M1, 0), basin-Nat-Nat(M2, -+--Nat-Nat(N1, N2)))
equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(X), osb---csb-Bool(X)) -> tt
equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(X), osb---csb-os-osb-Bool-os-csb(X)) -> tt
osb---csb-os-osb-Bool-os-csb(V1) -> osb---csb-Bool(V1)
is'Nat-Nat(V) -> tt
s--os-osb-Nat-os-csb(V1) -> s--Nat(V1)
equal-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-BasinSet(X), osb---csb-BasinSet(X)) -> tt
equal-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-os-osb-BasinSet-os-csb(X), osb---csb-os-osb-BasinSet-os-csb(X)) -> tt
equal-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-Basin(X), osb---csb-Basin(X)) -> tt
U321-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(sd-Nat-Nat(Y, X2))
U231-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-Basin(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Basin-Basin(Y))
U231-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-BasinSet(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Basin-BasinSet(Y))
U231-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Basin-os-osb-BasinSet-os-csb(Y))
is'Basin-Basin(V) -> tt
U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(Y, X2))
U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(-+--Nat-Nat(Y, X2))
is'Bool-os-osb-Bool-os-csb(V1) -> is'Bool-Bool(V1)
U251-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Bool-os-osb-Bool-os-csb(Y))
U251-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Bool-Bool(Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(X1, Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(X1, Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(->--Nat-Nat(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-Basin(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-BasinSet(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(X1, Y))
U301-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(Y)) -> osb---csb-Nat(s--Nat(Y))
U301-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-os-osb-Nat-os-csb(Y)) -> osb---csb-os-osb-Nat-os-csb(s--os-osb-Nat-os-csb(Y))
->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> ->--Nat-os-osb-Nat-os-csb(V1, V2)
->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> ->--Nat-Nat(V1, V2)
->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> ->--os-osb-Nat-os-csb-Nat(V1, V2)
U41-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(-+--Nat-Nat(Y, X2))
U201-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Basin(basin-Nat-Nat(Y, X2))
equal-os-osb-os-osb-Thruth-os-csb-os-csb-os-osb-os-osb-Thruth-os-csb-os-csb(osb---csb-os-osb-Thruth-os-csb(X), osb---csb-os-osb-Thruth-os-csb(X)) -> tt
equal-os-osb-os-osb-Thruth-os-csb-os-csb-os-osb-os-osb-Thruth-os-csb-os-csb(osb---csb-Thruth(X), osb---csb-Thruth(X)) -> tt
U31-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(-+--Nat-Nat(X1, Y))
U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(Y, X2))
U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U21-Thruth-Nat-Nat-Nat-Nat(tt, M1, M2, N1, N2) -> ---Basin-Basin(basin-Nat-Nat(M1, sd-Nat-Nat(-+--Nat-Nat(N1, N2), M2)), basin-Nat-Nat(M2, M2))
U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(Y, X2))
U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U71-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(-<=--Nat-Nat(X1, Y))
U311-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(sd-Nat-Nat(X1, Y))
is'Bool-Bool(V) -> tt
U271-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(Y)) -> osb---csb-Bool(not-Bool(Y))
U191-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Basin(basin-Nat-Nat(X1, Y))





The following dependency pair can be strictly oriented:

OCB---CCB-BOOL(not-Bool(X1)) -> OCB---CCB-BOOL(X1)


There are no usable rules w.r.t. to the implicit AFS that need to be oriented.

Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(not-Bool(x1))=  1 + x1  
  POL(OCB---CCB-BOOL(x1))=  1 + x1  

resulting in one new DP problem.



   R
DPs
       →DP Problem 1
Polo
       →DP Problem 2
Polo
       →DP Problem 3
Polo
       →DP Problem 4
Polo
       →DP Problem 5
Remaining
       →DP Problem 6
Polo
       →DP Problem 7
Polo
       →DP Problem 8
Polo
       →DP Problem 9
Polo
       →DP Problem 10
Polo
       →DP Problem 11
Polo
       →DP Problem 12
Polo
       →DP Problem 13
Polynomial Ordering


Dependency Pair:

OCB---CCB-OS-OSB-BOOL-OS-CSB(not-os-osb-Bool-os-csb(X1)) -> OCB---CCB-OS-OSB-BOOL-OS-CSB(X1)


Rules:


ocb---ccb-Nat(4) -> osb---csb-Nat(s--Nat(3))
ocb---ccb-Nat(8) -> osb---csb-Nat(-+--Nat-Nat(3, 5))
ocb---ccb-Nat(-+--Nat-Nat(0, N)) -> osb---csb-Nat(N)
ocb---ccb-Nat(5) -> osb---csb-Nat(s--Nat(4))
ocb---ccb-Nat(-+--Nat-Nat(s--Nat(N), M)) -> osb---csb-Nat(s--Nat(-+--Nat-Nat(N, M)))
ocb---ccb-Nat(sd-Nat-Nat(N, 0)) -> osb---csb-Nat(N)
ocb---ccb-Nat(s--Nat(X1)) -> U291-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-Nat(X1))
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U41-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(s--Nat(N), s--Nat(M))) -> osb---csb-Nat(sd-Nat-Nat(N, M))
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U31-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Nat(s--Nat(X1)) -> U301-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-Nat(X1))
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U321-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U311-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Nat(sd-Nat-Nat(0, N)) -> osb---csb-Nat(N)
ocb---ccb-Nat(-+--Nat-Nat(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Nat(3) -> osb---csb-Nat(s--Nat(s--Nat(s--Nat(0))))
ocb---ccb-Nat(sd-Nat-Nat(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
4 -> s--Nat(3)
3 -> s--Nat(s--Nat(s--Nat(0)))
8 -> -+--Nat-Nat(3, 5)
-+--Nat-Nat(s--Nat(N), M) -> s--Nat(-+--Nat-Nat(N, M))
-+--Nat-Nat(0, N) -> N
5 -> s--Nat(4)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(initial) -> osb---csb-BasinSet(---Basin-BasinSet(basin-Nat-Nat(3, 0), ---Basin-Basin(basin-Nat-Nat(5, 0), basin-Nat-Nat(8, 0))))
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X2), X1)
ocb---ccb-BasinSet(---BasinSet-Basin(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-BasinSet(---Basin-BasinSet(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-BasinSet(---Basin-Basin(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-Basin(X1), X2)
ocb---ccb-BasinSet(---BasinSet-BasinSet(X1, X2)) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-BasinSet(X1), X2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---Basin-BasinSet(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---Basin-Basin(X1, Y))
U281-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(Y)) -> osb---csb-Bool(not-Bool(Y))
U281-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(Y)) -> osb---csb-os-osb-Bool-os-csb(not-os-osb-Bool-os-csb(Y))
not-Bool(true) -> false
not-Bool(false) -> true
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-os-osb-BasinSet-os-csb(X1)) -> U241-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-Basin(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-BasinSet(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'Nat-Nat(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-os-osb-BasinSet-os-csb(X1)) -> U231-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-BasinSet(X1)) -> U231-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-BasinSet(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Bool-os-osb-Bool-os-csb(X1)) -> U251-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-os-osb-Bool-os-csb(X1))
ocb---ccb-os-osb-Thruth-os-csb(V1) -> ocb---ccb-Thruth(V1)
ocb---ccb-os-osb-Thruth-os-csb(is'Bool-Bool(X1)) -> U251-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-Bool(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-Basin(X1)) -> U231-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-Basin(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-BasinSet(X1)) -> U241-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-BasinSet(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Bool-Bool(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'Basin-Basin(V)) -> osb---csb-Thruth(tt)
ocb---ccb-os-osb-Thruth-os-csb(is'BasinSet-Basin(X1)) -> U241-os-osb-os-osb-BasinSet-os-csb-os-csb(ocb---ccb-Basin(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Nat-Nat(X1)) -> U261-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-Nat(X1))
ocb---ccb-os-osb-Thruth-os-csb(is'Nat-os-osb-Nat-os-csb(X1)) -> U261-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1))
is'BasinSet-os-osb-BasinSet-os-csb(V1) -> is'BasinSet-BasinSet(V1)
is'BasinSet-os-osb-BasinSet-os-csb(V1) -> is'BasinSet-Basin(V1)
U241-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-BasinSet(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'BasinSet-BasinSet(Y))
U241-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'BasinSet-os-osb-BasinSet-os-csb(Y))
U241-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-Basin(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'BasinSet-Basin(Y))
ocb---ccb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-Basin(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(V1) -> ocb---ccb-BasinSet(V1)
ocb---ccb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-BasinSet(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-BasinSet(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X2), X1)
ocb---ccb-os-osb-BasinSet-os-csb(V1) -> ocb---ccb-Basin(V1)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, X2)) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-os-osb-BasinSet-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(X1, X2)) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(ocb---ccb-Basin(X2), X1)
is'BasinSet-Basin(V) -> tt
basin-Nat-Nat(M1, N1) -> basin-Nat-Nat(M1, 0)
basin-Nat-Nat(M1, N1) -> basin-Nat-Nat(M1, M1)
U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(-<=--Nat-Nat(X1, Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(X1, Y))
-<=--Nat-Nat(s--Nat(N), s--Nat(M)) -> -<=--Nat-Nat(N, M)
-<=--Nat-Nat(0, N) -> true
-<=--Nat-Nat(N, N) -> true
-<=--Nat-Nat(s--Nat(N), 0) -> false
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---BasinSet-BasinSet(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---BasinSet-Basin(X1, Y))
---BasinSet-BasinSet(V1, V2) -> ---Basin-BasinSet(V1, V2)
---BasinSet-BasinSet(V1, V2) -> ---BasinSet-Basin(V1, V2)
---BasinSet-BasinSet(V1, V2) -> ---Basin-Basin(V1, V2)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-BasinSet(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---BasinSet-os-osb-BasinSet-os-csb(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-Basin(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---Basin-os-osb-BasinSet-os-csb(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(Y, X2))
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U201-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Basin(basin-Nat-Nat(X1, X2)) -> U191-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> basin-Nat-os-osb-Nat-os-csb(V1, V2)
basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> basin-Nat-Nat(V1, V2)
basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> basin-os-osb-Nat-os-csb-Nat(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-os-osb-BasinSet-os-csb(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-BasinSet(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-os-osb-BasinSet-os-csb(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---os-osb-BasinSet-os-csb-BasinSet(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---os-osb-BasinSet-os-csb-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---Basin-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-Basin(V1, V2)
---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> ---BasinSet-BasinSet(V1, V2)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(not-os-osb-Bool-os-csb(X1)) -> U281-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-os-osb-Bool-os-csb(X1))
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Bool-os-csb(V1) -> ocb---ccb-Bool(V1)
ocb---ccb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -<=--Nat-os-osb-Nat-os-csb(V1, V2)
-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -<=--os-osb-Nat-os-csb-Nat(V1, V2)
-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -<=--Nat-Nat(V1, V2)
U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Bool-os-csb(-<=--Nat-os-osb-Nat-os-csb(Y, X2))
U101-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(X1, X2)) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
ocb---ccb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(V1) -> ocb---ccb-Nat(V1)
ocb---ccb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-Nat(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(s--os-osb-Nat-os-csb(X1)) -> U301-os-osb-os-osb-Nat-os-csb-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1))
ocb---ccb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, X2)) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(ocb---ccb-os-osb-Nat-os-csb(X1), X2)
ocb---ccb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(X1, X2)) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-os-osb-Nat-os-csb(X2), X1)
U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(Y, X2))
U341-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(Y, X2))
U341-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(sd-Nat-Nat(Y, X2))
U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(X1, Y))
U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Basin(basin-Nat-Nat(X1, Y))
osb---csb-os-osb-Nat-os-csb(V1) -> osb---csb-Nat(V1)
osb---csb-os-osb-BasinSet-os-csb(V1) -> osb---csb-BasinSet(V1)
osb---csb-os-osb-BasinSet-os-csb(V1) -> osb---csb-Basin(V1)
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-BasinSet(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-BasinSet(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-Basin(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-os-osb-BasinSet-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(Y, X2))
U181-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-Basin(Y, X2))
is'BasinSet-BasinSet(V) -> tt
U121-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(->--Nat-Nat(Y, X2))
->--Nat-Nat(N, M) -> not-Bool(-<=--Nat-Nat(N, M))
---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)) -> U11-Thruth-Nat-Nat-Nat-Nat(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(-<=--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2)
---Basin-Basin(basin-Nat-Nat(M1, N1), basin-Nat-Nat(M2, N2)) -> U21-Thruth-Nat-Nat-Nat-Nat(equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(->--Nat-Nat(-+--Nat-Nat(N1, N2), M2)), osb---csb-Bool(true)), M1, M2, N1, N2)
U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(-<=--Nat-Nat(Y, X2))
U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(Y, X2))
-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -+--os-osb-Nat-os-csb-Nat(V1, V2)
-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -+--Nat-os-osb-Nat-os-csb(V1, V2)
-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> -+--Nat-Nat(V1, V2)
sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> sd-Nat-os-osb-Nat-os-csb(V1, V2)
sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> sd-Nat-Nat(V1, V2)
sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> sd-os-osb-Nat-os-csb-Nat(V1, V2)
U291-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(Y)) -> osb---csb-Nat(s--Nat(Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Bool-os-csb(-<=--os-osb-Nat-os-csb-Nat(X1, Y))
U91-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
osb---csb-os-osb-Thruth-os-csb(V1) -> osb---csb-Thruth(V1)
U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-Nat(X1, Y))
U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U331-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(sd-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U111-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(->--Nat-Nat(N, M)) -> osb---csb-Bool(not-Bool(-<=--Nat-Nat(N, M)))
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U81-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(-<=--Nat-Nat(s--Nat(N), 0)) -> osb---csb-Bool(false)
ocb---ccb-Bool(not-Bool(true)) -> osb---csb-Bool(false)
ocb---ccb-Bool(-<=--Nat-Nat(s--Nat(N), s--Nat(M))) -> osb---csb-Bool(-<=--Nat-Nat(N, M))
ocb---ccb-Bool(-<=--Nat-Nat(N, N)) -> osb---csb-Bool(true)
ocb---ccb-Bool(not-Bool(false)) -> osb---csb-Bool(true)
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U121-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U71-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U91-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(-<=--Nat-Nat(X1, X2)) -> U101-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X1), X2)
ocb---ccb-Bool(not-Bool(X1)) -> U281-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-Bool(X1))
ocb---ccb-Bool(not-Bool(X1)) -> U271-os-osb-os-osb-Bool-os-csb-os-csb(ocb---ccb-Bool(X1))
ocb---ccb-Bool(->--Nat-Nat(X1, X2)) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(ocb---ccb-Nat(X2), X1)
ocb---ccb-Bool(-<=--Nat-Nat(0, N)) -> osb---csb-Bool(true)
U111-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(->--Nat-Nat(X1, Y))
sd-Nat-Nat(s--Nat(N), s--Nat(M)) -> sd-Nat-Nat(N, M)
sd-Nat-Nat(0, N) -> N
sd-Nat-Nat(N, 0) -> N
U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(Y, X2))
U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(->--Nat-Nat(Y, X2))
initial -> ---Basin-BasinSet(basin-Nat-Nat(3, 0), ---Basin-Basin(basin-Nat-Nat(5, 0), basin-Nat-Nat(8, 0)))
not-os-osb-Bool-os-csb(V1) -> not-Bool(V1)
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-Basin(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-Basin(Y, X2))
U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(-+--Nat-Nat(X1, Y))
U81-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Bool(-<=--Nat-Nat(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X2) -> osb---csb-BasinSet(---Basin-BasinSet(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X2) -> osb---csb-BasinSet(---BasinSet-BasinSet(Y, X2))
U161-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2) -> U161-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U141-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U141-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(Y, X2))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2) -> U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---BasinSet-Basin(X1, Y))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---BasinSet-BasinSet(X1, Y))
U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(sd-Nat-Nat(X1, Y))
U331-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(sd-Nat-os-osb-Nat-os-csb(X1, Y))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-BasinSet(Y), X1) -> osb---csb-BasinSet(---Basin-BasinSet(X1, Y))
U151-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(osb---csb-Basin(Y), X1) -> osb---csb-BasinSet(---Basin-Basin(X1, Y))
U261-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-os-osb-Nat-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Nat-os-osb-Nat-os-csb(Y))
U261-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Nat-Nat(Y))
is'Nat-os-osb-Nat-os-csb(V1) -> is'Nat-Nat(V1)
U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(X1, Y))
U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U211-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U211-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
is'Basin-os-osb-BasinSet-os-csb(V1) -> is'Basin-BasinSet(V1)
is'Basin-os-osb-BasinSet-os-csb(V1) -> is'Basin-Basin(V1)
U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-Nat(Y, X2))
U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Basin(basin-Nat-Nat(Y, X2))
equal-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(X), osb---csb-Nat(X)) -> tt
equal-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-os-osb-Nat-os-csb(X), osb---csb-os-osb-Nat-os-csb(X)) -> tt
U11-Thruth-Nat-Nat-Nat-Nat(tt, M1, M2, N1, N2) -> ---Basin-Basin(basin-Nat-Nat(M1, 0), basin-Nat-Nat(M2, -+--Nat-Nat(N1, N2)))
equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(X), osb---csb-Bool(X)) -> tt
equal-os-osb-os-osb-Bool-os-csb-os-csb-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(X), osb---csb-os-osb-Bool-os-csb(X)) -> tt
osb---csb-os-osb-Bool-os-csb(V1) -> osb---csb-Bool(V1)
is'Nat-Nat(V) -> tt
s--os-osb-Nat-os-csb(V1) -> s--Nat(V1)
equal-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-BasinSet(X), osb---csb-BasinSet(X)) -> tt
equal-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-os-osb-BasinSet-os-csb(X), osb---csb-os-osb-BasinSet-os-csb(X)) -> tt
equal-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-Basin(X), osb---csb-Basin(X)) -> tt
U321-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(sd-Nat-Nat(Y, X2))
U231-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-Basin(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Basin-Basin(Y))
U231-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-BasinSet(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Basin-BasinSet(Y))
U231-os-osb-os-osb-BasinSet-os-csb-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Basin-os-osb-BasinSet-os-csb(Y))
is'Basin-Basin(V) -> tt
U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(Y, X2))
U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(-+--Nat-Nat(Y, X2))
is'Bool-os-osb-Bool-os-csb(V1) -> is'Bool-Bool(V1)
U251-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-os-osb-Bool-os-csb(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Bool-os-osb-Bool-os-csb(Y))
U251-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(Y)) -> osb---csb-os-osb-Thruth-os-csb(is'Bool-Bool(Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Bool-os-csb(->--os-osb-Nat-os-csb-Nat(X1, Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Bool-os-csb(->--Nat-os-osb-Nat-os-csb(X1, Y))
U131-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(->--Nat-Nat(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X1) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X1) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-Nat(X1, Y))
U51-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U51-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-os-osb-BasinSet-os-csb(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-os-osb-BasinSet-os-csb(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-Basin(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-Basin(X1, Y))
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-Basin(V1, V2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(V1, V2) -> U171-os-osb-os-osb-BasinSet-os-csb-os-csb-BasinSet(V1, V2)
U171-os-osb-os-osb-BasinSet-os-csb-os-csb-os-osb-BasinSet-os-csb(osb---csb-BasinSet(Y), X1) -> osb---csb-os-osb-BasinSet-os-csb(---os-osb-BasinSet-os-csb-BasinSet(X1, Y))
U301-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-Nat(Y)) -> osb---csb-Nat(s--Nat(Y))
U301-os-osb-os-osb-Nat-os-csb-os-csb(osb---csb-os-osb-Nat-os-csb(Y)) -> osb---csb-os-osb-Nat-os-csb(s--os-osb-Nat-os-csb(Y))
->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> ->--Nat-os-osb-Nat-os-csb(V1, V2)
->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> ->--Nat-Nat(V1, V2)
->--os-osb-Nat-os-csb-os-osb-Nat-os-csb(V1, V2) -> ->--os-osb-Nat-os-csb-Nat(V1, V2)
U41-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Nat(-+--Nat-Nat(Y, X2))
U201-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X2) -> osb---csb-Basin(basin-Nat-Nat(Y, X2))
equal-os-osb-os-osb-Thruth-os-csb-os-csb-os-osb-os-osb-Thruth-os-csb-os-csb(osb---csb-os-osb-Thruth-os-csb(X), osb---csb-os-osb-Thruth-os-csb(X)) -> tt
equal-os-osb-os-osb-Thruth-os-csb-os-csb-os-osb-os-osb-Thruth-os-csb-os-csb(osb---csb-Thruth(X), osb---csb-Thruth(X)) -> tt
U31-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(-+--Nat-Nat(X1, Y))
U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-Nat-os-csb(-+--Nat-os-osb-Nat-os-csb(Y, X2))
U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U61-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U61-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-Nat-os-csb(-+--os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U21-Thruth-Nat-Nat-Nat-Nat(tt, M1, M2, N1, N2) -> ---Basin-Basin(basin-Nat-Nat(M1, sd-Nat-Nat(-+--Nat-Nat(N1, N2), M2)), basin-Nat-Nat(M2, M2))
U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(V1, V2) -> U221-os-osb-os-osb-Nat-os-csb-os-csb-Nat(V1, V2)
U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-Nat(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(basin-Nat-os-osb-Nat-os-csb(Y, X2))
U221-os-osb-os-osb-Nat-os-csb-os-csb-os-osb-Nat-os-csb(osb---csb-os-osb-Nat-os-csb(Y), X2) -> osb---csb-os-osb-BasinSet-os-csb(basin-os-osb-Nat-os-csb-os-osb-Nat-os-csb(Y, X2))
U71-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Bool(-<=--Nat-Nat(X1, Y))
U311-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Nat(sd-Nat-Nat(X1, Y))
is'Bool-Bool(V) -> tt
U271-os-osb-os-osb-Bool-os-csb-os-csb(osb---csb-Bool(Y)) -> osb---csb-Bool(not-Bool(Y))
U191-os-osb-os-osb-Nat-os-csb-os-csb-Nat(osb---csb-Nat(Y), X1) -> osb---csb-Basin(basin-Nat-Nat(X1, Y))





The following dependency pair can be strictly oriented:

OCB---CCB-OS-OSB-BOOL-OS-CSB(not-os-osb-Bool-os-csb(X1)) -> OCB---CCB-OS-OSB-BOOL-OS-CSB(X1)


There are no usable rules w.r.t. to the implicit AFS that need to be oriented.

Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(OCB---CCB-OS-OSB-BOOL-OS-CSB(x1))=  1 + x1  
  POL(not-os-osb-Bool-os-csb(x1))=  1 + x1  

resulting in one new DP problem.


The Proof could not be continued due to a Timeout.
Termination of R could not be shown.
Duration:
10:00 minutes