0 QTRS
↳1 QTRSRRRProof (⇔)
↳2 QTRS
↳3 QTRSRRRProof (⇔)
↳4 QTRS
↳5 DependencyPairsProof (⇔)
↳6 QDP
↳7 MRRProof (⇔)
↳8 QDP
↳9 QDPSizeChangeProof (⇔)
↳10 TRUE
:(x, x) → e
:(x, e) → x
i(:(x, y)) → :(y, x)
:(:(x, y), z) → :(x, :(z, i(y)))
:(e, x) → i(x)
i(i(x)) → x
i(e) → e
:(x, :(y, i(x))) → i(y)
:(x, :(y, :(i(x), z))) → :(i(z), y)
:(i(x), :(y, x)) → i(y)
:(i(x), :(y, :(x, z))) → :(i(z), y)
With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly:
POL(:(x1, x2)) = 1 + x1 + x2
POL(e) = 1
POL(i(x1)) = x1
:(x, e) → x
:(e, x) → i(x)
:(x, :(y, i(x))) → i(y)
:(x, :(y, :(i(x), z))) → :(i(z), y)
:(i(x), :(y, x)) → i(y)
:(i(x), :(y, :(x, z))) → :(i(z), y)
:(x, x) → e
i(:(x, y)) → :(y, x)
:(:(x, y), z) → :(x, :(z, i(y)))
i(i(x)) → x
i(e) → e
With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly:
POL(:(x1, x2)) = 2 + x1 + x2
POL(e) = 0
POL(i(x1)) = x1
:(x, x) → e
i(:(x, y)) → :(y, x)
:(:(x, y), z) → :(x, :(z, i(y)))
i(i(x)) → x
i(e) → e
I(:(x, y)) → :1(y, x)
:1(:(x, y), z) → :1(x, :(z, i(y)))
:1(:(x, y), z) → :1(z, i(y))
:1(:(x, y), z) → I(y)
i(:(x, y)) → :(y, x)
:(:(x, y), z) → :(x, :(z, i(y)))
i(i(x)) → x
i(e) → e
I(:(x, y)) → :1(y, x)
:1(:(x, y), z) → :1(z, i(y))
:1(:(x, y), z) → I(y)
POL(:(x1, x2)) = 1 + x1 + x2
POL(:1(x1, x2)) = x1 + x2
POL(I(x1)) = x1
POL(e) = 0
POL(i(x1)) = x1
:1(:(x, y), z) → :1(x, :(z, i(y)))
i(:(x, y)) → :(y, x)
:(:(x, y), z) → :(x, :(z, i(y)))
i(i(x)) → x
i(e) → e
From the DPs we obtained the following set of size-change graphs: