0 QTRS
↳1 Overlay + Local Confluence (⇔)
↳2 QTRS
↳3 DependencyPairsProof (⇔)
↳4 QDP
↳5 DependencyGraphProof (⇔)
↳6 QDP
↳7 QDPOrderProof (⇔)
↳8 QDP
↳9 QDPOrderProof (⇔)
↳10 QDP
↳11 PisEmptyProof (⇔)
↳12 TRUE
ack_in(0, n) → ack_out(s(n))
ack_in(s(m), 0) → u11(ack_in(m, s(0)))
u11(ack_out(n)) → ack_out(n)
ack_in(s(m), s(n)) → u21(ack_in(s(m), n), m)
u21(ack_out(n), m) → u22(ack_in(m, n))
u22(ack_out(n)) → ack_out(n)
ack_in(0, n) → ack_out(s(n))
ack_in(s(m), 0) → u11(ack_in(m, s(0)))
u11(ack_out(n)) → ack_out(n)
ack_in(s(m), s(n)) → u21(ack_in(s(m), n), m)
u21(ack_out(n), m) → u22(ack_in(m, n))
u22(ack_out(n)) → ack_out(n)
ack_in(0, x0)
ack_in(s(x0), 0)
u11(ack_out(x0))
ack_in(s(x0), s(x1))
u21(ack_out(x0), x1)
u22(ack_out(x0))
ACK_IN(s(m), 0) → U11(ack_in(m, s(0)))
ACK_IN(s(m), 0) → ACK_IN(m, s(0))
ACK_IN(s(m), s(n)) → U21(ack_in(s(m), n), m)
ACK_IN(s(m), s(n)) → ACK_IN(s(m), n)
U21(ack_out(n), m) → U22(ack_in(m, n))
U21(ack_out(n), m) → ACK_IN(m, n)
ack_in(0, n) → ack_out(s(n))
ack_in(s(m), 0) → u11(ack_in(m, s(0)))
u11(ack_out(n)) → ack_out(n)
ack_in(s(m), s(n)) → u21(ack_in(s(m), n), m)
u21(ack_out(n), m) → u22(ack_in(m, n))
u22(ack_out(n)) → ack_out(n)
ack_in(0, x0)
ack_in(s(x0), 0)
u11(ack_out(x0))
ack_in(s(x0), s(x1))
u21(ack_out(x0), x1)
u22(ack_out(x0))
ACK_IN(s(m), s(n)) → U21(ack_in(s(m), n), m)
U21(ack_out(n), m) → ACK_IN(m, n)
ACK_IN(s(m), 0) → ACK_IN(m, s(0))
ACK_IN(s(m), s(n)) → ACK_IN(s(m), n)
ack_in(0, n) → ack_out(s(n))
ack_in(s(m), 0) → u11(ack_in(m, s(0)))
u11(ack_out(n)) → ack_out(n)
ack_in(s(m), s(n)) → u21(ack_in(s(m), n), m)
u21(ack_out(n), m) → u22(ack_in(m, n))
u22(ack_out(n)) → ack_out(n)
ack_in(0, x0)
ack_in(s(x0), 0)
u11(ack_out(x0))
ack_in(s(x0), s(x1))
u21(ack_out(x0), x1)
u22(ack_out(x0))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ACK_IN(s(m), s(n)) → U21(ack_in(s(m), n), m)
U21(ack_out(n), m) → ACK_IN(m, n)
ACK_IN(s(m), 0) → ACK_IN(m, s(0))
s1 > [U212, ackin, ackout, 0, u11, u21, u22]
s1: [1]
U212: [1,2]
ackin: []
ackout: []
0: []
u11: []
u21: []
u22: []
ack_in(s(m), 0) → u11(ack_in(m, s(0)))
ack_in(s(m), s(n)) → u21(ack_in(s(m), n), m)
u11(ack_out(n)) → ack_out(n)
u21(ack_out(n), m) → u22(ack_in(m, n))
u22(ack_out(n)) → ack_out(n)
ACK_IN(s(m), s(n)) → ACK_IN(s(m), n)
ack_in(0, n) → ack_out(s(n))
ack_in(s(m), 0) → u11(ack_in(m, s(0)))
u11(ack_out(n)) → ack_out(n)
ack_in(s(m), s(n)) → u21(ack_in(s(m), n), m)
u21(ack_out(n), m) → u22(ack_in(m, n))
u22(ack_out(n)) → ack_out(n)
ack_in(0, x0)
ack_in(s(x0), 0)
u11(ack_out(x0))
ack_in(s(x0), s(x1))
u21(ack_out(x0), x1)
u22(ack_out(x0))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ACK_IN(s(m), s(n)) → ACK_IN(s(m), n)
trivial
s1: [1]
ack_in(0, n) → ack_out(s(n))
ack_in(s(m), 0) → u11(ack_in(m, s(0)))
u11(ack_out(n)) → ack_out(n)
ack_in(s(m), s(n)) → u21(ack_in(s(m), n), m)
u21(ack_out(n), m) → u22(ack_in(m, n))
u22(ack_out(n)) → ack_out(n)
ack_in(0, x0)
ack_in(s(x0), 0)
u11(ack_out(x0))
ack_in(s(x0), s(x1))
u21(ack_out(x0), x1)
u22(ack_out(x0))