Term Rewriting System R:
[x, y, z]
xor(x, F) -> x
xor(x, neg(x)) -> F
xor(x, x) -> F
and(x, T) -> x
and(x, F) -> F
and(x, x) -> x
and(xor(x, y), z) -> xor(and(x, z), and(y, z))
impl(x, y) -> xor(and(x, y), xor(x, T))
or(x, y) -> xor(and(x, y), xor(x, y))
equiv(x, y) -> xor(x, xor(y, T))
neg(x) -> xor(x, T)

Termination of R to be shown.

`   R`
`     ↳Dependency Pair Analysis`

R contains the following Dependency Pairs:

AND(xor(x, y), z) -> XOR(and(x, z), and(y, z))
AND(xor(x, y), z) -> AND(x, z)
AND(xor(x, y), z) -> AND(y, z)
IMPL(x, y) -> XOR(and(x, y), xor(x, T))
IMPL(x, y) -> AND(x, y)
IMPL(x, y) -> XOR(x, T)
OR(x, y) -> XOR(and(x, y), xor(x, y))
OR(x, y) -> AND(x, y)
OR(x, y) -> XOR(x, y)
EQUIV(x, y) -> XOR(x, xor(y, T))
EQUIV(x, y) -> XOR(y, T)
NEG(x) -> XOR(x, T)

Furthermore, R contains one SCC.

`   R`
`     ↳DPs`
`       →DP Problem 1`
`         ↳Argument Filtering and Ordering`

Dependency Pairs:

AND(xor(x, y), z) -> AND(y, z)
AND(xor(x, y), z) -> AND(x, z)

Rules:

xor(x, F) -> x
xor(x, neg(x)) -> F
xor(x, x) -> F
and(x, T) -> x
and(x, F) -> F
and(x, x) -> x
and(xor(x, y), z) -> xor(and(x, z), and(y, z))
impl(x, y) -> xor(and(x, y), xor(x, T))
or(x, y) -> xor(and(x, y), xor(x, y))
equiv(x, y) -> xor(x, xor(y, T))
neg(x) -> xor(x, T)

The following dependency pairs can be strictly oriented:

AND(xor(x, y), z) -> AND(y, z)
AND(xor(x, y), z) -> AND(x, z)

The following rules can be oriented:

xor(x, F) -> x
xor(x, neg(x)) -> F
xor(x, x) -> F
and(x, T) -> x
and(x, F) -> F
and(x, x) -> x
and(xor(x, y), z) -> xor(and(x, z), and(y, z))
impl(x, y) -> xor(and(x, y), xor(x, T))
or(x, y) -> xor(and(x, y), xor(x, y))
equiv(x, y) -> xor(x, xor(y, T))
neg(x) -> xor(x, T)

Used ordering: Lexicographic Path Order with Non-Strict Precedence with Quasi Precedence:
or > and > {F, xor}
equiv > {impl, neg, T} > and > {F, xor}

resulting in one new DP problem.
Used Argument Filtering System:
AND(x1, x2) -> AND(x1, x2)
xor(x1, x2) -> xor(x1, x2)
neg(x1) -> neg(x1)
and(x1, x2) -> and(x1, x2)
impl(x1, x2) -> impl(x1, x2)
or(x1, x2) -> or(x1, x2)
equiv(x1, x2) -> equiv(x1, x2)

`   R`
`     ↳DPs`
`       →DP Problem 1`
`         ↳AFS`
`           →DP Problem 2`
`             ↳Dependency Graph`

Dependency Pair:

Rules:

xor(x, F) -> x
xor(x, neg(x)) -> F
xor(x, x) -> F
and(x, T) -> x
and(x, F) -> F
and(x, x) -> x
and(xor(x, y), z) -> xor(and(x, z), and(y, z))
impl(x, y) -> xor(and(x, y), xor(x, T))
or(x, y) -> xor(and(x, y), xor(x, y))
equiv(x, y) -> xor(x, xor(y, T))
neg(x) -> xor(x, T)

Using the Dependency Graph resulted in no new DP problems.

Termination of R successfully shown.
Duration:
0:00 minutes