circ2(cons2(a, s), t) -> cons2(msubst2(a, t), circ2(s, t))
circ2(cons2(lift, s), cons2(a, t)) -> cons2(a, circ2(s, t))
circ2(cons2(lift, s), cons2(lift, t)) -> cons2(lift, circ2(s, t))
circ2(circ2(s, t), u) -> circ2(s, circ2(t, u))
circ2(s, id) -> s
circ2(id, s) -> s
circ2(cons2(lift, s), circ2(cons2(lift, t), u)) -> circ2(cons2(lift, circ2(s, t)), u)
subst2(a, id) -> a
msubst2(a, id) -> a
msubst2(msubst2(a, s), t) -> msubst2(a, circ2(s, t))
↳ QTRS
↳ DependencyPairsProof
circ2(cons2(a, s), t) -> cons2(msubst2(a, t), circ2(s, t))
circ2(cons2(lift, s), cons2(a, t)) -> cons2(a, circ2(s, t))
circ2(cons2(lift, s), cons2(lift, t)) -> cons2(lift, circ2(s, t))
circ2(circ2(s, t), u) -> circ2(s, circ2(t, u))
circ2(s, id) -> s
circ2(id, s) -> s
circ2(cons2(lift, s), circ2(cons2(lift, t), u)) -> circ2(cons2(lift, circ2(s, t)), u)
subst2(a, id) -> a
msubst2(a, id) -> a
msubst2(msubst2(a, s), t) -> msubst2(a, circ2(s, t))
CIRC2(circ2(s, t), u) -> CIRC2(s, circ2(t, u))
CIRC2(cons2(a, s), t) -> MSUBST2(a, t)
MSUBST2(msubst2(a, s), t) -> MSUBST2(a, circ2(s, t))
CIRC2(circ2(s, t), u) -> CIRC2(t, u)
CIRC2(cons2(lift, s), cons2(a, t)) -> CIRC2(s, t)
CIRC2(cons2(lift, s), circ2(cons2(lift, t), u)) -> CIRC2(s, t)
CIRC2(cons2(a, s), t) -> CIRC2(s, t)
CIRC2(cons2(lift, s), circ2(cons2(lift, t), u)) -> CIRC2(cons2(lift, circ2(s, t)), u)
MSUBST2(msubst2(a, s), t) -> CIRC2(s, t)
CIRC2(cons2(lift, s), cons2(lift, t)) -> CIRC2(s, t)
circ2(cons2(a, s), t) -> cons2(msubst2(a, t), circ2(s, t))
circ2(cons2(lift, s), cons2(a, t)) -> cons2(a, circ2(s, t))
circ2(cons2(lift, s), cons2(lift, t)) -> cons2(lift, circ2(s, t))
circ2(circ2(s, t), u) -> circ2(s, circ2(t, u))
circ2(s, id) -> s
circ2(id, s) -> s
circ2(cons2(lift, s), circ2(cons2(lift, t), u)) -> circ2(cons2(lift, circ2(s, t)), u)
subst2(a, id) -> a
msubst2(a, id) -> a
msubst2(msubst2(a, s), t) -> msubst2(a, circ2(s, t))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ QDPOrderProof
CIRC2(circ2(s, t), u) -> CIRC2(s, circ2(t, u))
CIRC2(cons2(a, s), t) -> MSUBST2(a, t)
MSUBST2(msubst2(a, s), t) -> MSUBST2(a, circ2(s, t))
CIRC2(circ2(s, t), u) -> CIRC2(t, u)
CIRC2(cons2(lift, s), cons2(a, t)) -> CIRC2(s, t)
CIRC2(cons2(lift, s), circ2(cons2(lift, t), u)) -> CIRC2(s, t)
CIRC2(cons2(a, s), t) -> CIRC2(s, t)
CIRC2(cons2(lift, s), circ2(cons2(lift, t), u)) -> CIRC2(cons2(lift, circ2(s, t)), u)
MSUBST2(msubst2(a, s), t) -> CIRC2(s, t)
CIRC2(cons2(lift, s), cons2(lift, t)) -> CIRC2(s, t)
circ2(cons2(a, s), t) -> cons2(msubst2(a, t), circ2(s, t))
circ2(cons2(lift, s), cons2(a, t)) -> cons2(a, circ2(s, t))
circ2(cons2(lift, s), cons2(lift, t)) -> cons2(lift, circ2(s, t))
circ2(circ2(s, t), u) -> circ2(s, circ2(t, u))
circ2(s, id) -> s
circ2(id, s) -> s
circ2(cons2(lift, s), circ2(cons2(lift, t), u)) -> circ2(cons2(lift, circ2(s, t)), u)
subst2(a, id) -> a
msubst2(a, id) -> a
msubst2(msubst2(a, s), t) -> msubst2(a, circ2(s, t))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
CIRC2(cons2(a, s), t) -> MSUBST2(a, t)
CIRC2(cons2(lift, s), cons2(a, t)) -> CIRC2(s, t)
CIRC2(cons2(lift, s), circ2(cons2(lift, t), u)) -> CIRC2(s, t)
CIRC2(cons2(a, s), t) -> CIRC2(s, t)
CIRC2(cons2(lift, s), circ2(cons2(lift, t), u)) -> CIRC2(cons2(lift, circ2(s, t)), u)
CIRC2(cons2(lift, s), cons2(lift, t)) -> CIRC2(s, t)
Used ordering: Polynomial interpretation [21]:
CIRC2(circ2(s, t), u) -> CIRC2(s, circ2(t, u))
MSUBST2(msubst2(a, s), t) -> MSUBST2(a, circ2(s, t))
CIRC2(circ2(s, t), u) -> CIRC2(t, u)
MSUBST2(msubst2(a, s), t) -> CIRC2(s, t)
POL(CIRC2(x1, x2)) = x1 + x1·x2
POL(MSUBST2(x1, x2)) = x1 + x1·x2
POL(circ2(x1, x2)) = x1 + x1·x2 + x2
POL(cons2(x1, x2)) = 1 + x1 + x2
POL(id) = 0
POL(lift) = 0
POL(msubst2(x1, x2)) = x1 + x1·x2 + x2
circ2(circ2(s, t), u) -> circ2(s, circ2(t, u))
circ2(cons2(a, s), t) -> cons2(msubst2(a, t), circ2(s, t))
circ2(cons2(lift, s), cons2(lift, t)) -> cons2(lift, circ2(s, t))
circ2(cons2(lift, s), circ2(cons2(lift, t), u)) -> circ2(cons2(lift, circ2(s, t)), u)
msubst2(msubst2(a, s), t) -> msubst2(a, circ2(s, t))
circ2(cons2(lift, s), cons2(a, t)) -> cons2(a, circ2(s, t))
msubst2(a, id) -> a
circ2(id, s) -> s
circ2(s, id) -> s
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
CIRC2(circ2(s, t), u) -> CIRC2(s, circ2(t, u))
MSUBST2(msubst2(a, s), t) -> MSUBST2(a, circ2(s, t))
CIRC2(circ2(s, t), u) -> CIRC2(t, u)
MSUBST2(msubst2(a, s), t) -> CIRC2(s, t)
circ2(cons2(a, s), t) -> cons2(msubst2(a, t), circ2(s, t))
circ2(cons2(lift, s), cons2(a, t)) -> cons2(a, circ2(s, t))
circ2(cons2(lift, s), cons2(lift, t)) -> cons2(lift, circ2(s, t))
circ2(circ2(s, t), u) -> circ2(s, circ2(t, u))
circ2(s, id) -> s
circ2(id, s) -> s
circ2(cons2(lift, s), circ2(cons2(lift, t), u)) -> circ2(cons2(lift, circ2(s, t)), u)
subst2(a, id) -> a
msubst2(a, id) -> a
msubst2(msubst2(a, s), t) -> msubst2(a, circ2(s, t))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
CIRC2(circ2(s, t), u) -> CIRC2(s, circ2(t, u))
CIRC2(circ2(s, t), u) -> CIRC2(t, u)
circ2(cons2(a, s), t) -> cons2(msubst2(a, t), circ2(s, t))
circ2(cons2(lift, s), cons2(a, t)) -> cons2(a, circ2(s, t))
circ2(cons2(lift, s), cons2(lift, t)) -> cons2(lift, circ2(s, t))
circ2(circ2(s, t), u) -> circ2(s, circ2(t, u))
circ2(s, id) -> s
circ2(id, s) -> s
circ2(cons2(lift, s), circ2(cons2(lift, t), u)) -> circ2(cons2(lift, circ2(s, t)), u)
subst2(a, id) -> a
msubst2(a, id) -> a
msubst2(msubst2(a, s), t) -> msubst2(a, circ2(s, t))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
CIRC2(circ2(s, t), u) -> CIRC2(s, circ2(t, u))
CIRC2(circ2(s, t), u) -> CIRC2(t, u)
POL(CIRC2(x1, x2)) = x1
POL(circ2(x1, x2)) = 1 + x1 + x2
POL(cons2(x1, x2)) = 0
POL(id) = 0
POL(lift) = 0
POL(msubst2(x1, x2)) = 0
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
circ2(cons2(a, s), t) -> cons2(msubst2(a, t), circ2(s, t))
circ2(cons2(lift, s), cons2(a, t)) -> cons2(a, circ2(s, t))
circ2(cons2(lift, s), cons2(lift, t)) -> cons2(lift, circ2(s, t))
circ2(circ2(s, t), u) -> circ2(s, circ2(t, u))
circ2(s, id) -> s
circ2(id, s) -> s
circ2(cons2(lift, s), circ2(cons2(lift, t), u)) -> circ2(cons2(lift, circ2(s, t)), u)
subst2(a, id) -> a
msubst2(a, id) -> a
msubst2(msubst2(a, s), t) -> msubst2(a, circ2(s, t))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
MSUBST2(msubst2(a, s), t) -> MSUBST2(a, circ2(s, t))
circ2(cons2(a, s), t) -> cons2(msubst2(a, t), circ2(s, t))
circ2(cons2(lift, s), cons2(a, t)) -> cons2(a, circ2(s, t))
circ2(cons2(lift, s), cons2(lift, t)) -> cons2(lift, circ2(s, t))
circ2(circ2(s, t), u) -> circ2(s, circ2(t, u))
circ2(s, id) -> s
circ2(id, s) -> s
circ2(cons2(lift, s), circ2(cons2(lift, t), u)) -> circ2(cons2(lift, circ2(s, t)), u)
subst2(a, id) -> a
msubst2(a, id) -> a
msubst2(msubst2(a, s), t) -> msubst2(a, circ2(s, t))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
MSUBST2(msubst2(a, s), t) -> MSUBST2(a, circ2(s, t))
POL(MSUBST2(x1, x2)) = x1
POL(circ2(x1, x2)) = 0
POL(cons2(x1, x2)) = 0
POL(id) = 0
POL(lift) = 0
POL(msubst2(x1, x2)) = 1 + x1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
circ2(cons2(a, s), t) -> cons2(msubst2(a, t), circ2(s, t))
circ2(cons2(lift, s), cons2(a, t)) -> cons2(a, circ2(s, t))
circ2(cons2(lift, s), cons2(lift, t)) -> cons2(lift, circ2(s, t))
circ2(circ2(s, t), u) -> circ2(s, circ2(t, u))
circ2(s, id) -> s
circ2(id, s) -> s
circ2(cons2(lift, s), circ2(cons2(lift, t), u)) -> circ2(cons2(lift, circ2(s, t)), u)
subst2(a, id) -> a
msubst2(a, id) -> a
msubst2(msubst2(a, s), t) -> msubst2(a, circ2(s, t))