(0) Obligation:
Relative term rewrite system:
The relative TRS consists of the following R rules:
not(true) → false
not(false) → true
evenodd(x, 0) → not(evenodd(x, s(0)))
evenodd(0, s(0)) → false
evenodd(s(x), s(0)) → evenodd(x, 0)
The relative TRS consists of the following S rules:
rand(x) → rand(s(x))
rand(x) → x
(1) RelTRSRRRProof (EQUIVALENT transformation)
We used the following monotonic ordering for rule removal:
Polynomial interpretation [POLO]:
POL(0) = 1
POL(evenodd(x1, x2)) = 1 + x1 + x2
POL(false) = 0
POL(not(x1)) = x1
POL(rand(x1)) = 1 + x1
POL(s(x1)) = x1
POL(true) = 0
With this ordering the following rules can be removed [MATRO] because they are oriented strictly:
Rules from R:
evenodd(0, s(0)) → false
Rules from S:
rand(x) → x
(2) Obligation:
Relative term rewrite system:
The relative TRS consists of the following R rules:
not(true) → false
not(false) → true
evenodd(x, 0) → not(evenodd(x, s(0)))
evenodd(s(x), s(0)) → evenodd(x, 0)
The relative TRS consists of the following S rules:
rand(x) → rand(s(x))
(3) RelTRSRRRProof (EQUIVALENT transformation)
We used the following monotonic ordering for rule removal:
Matrix interpretation [MATRO] to (N^2, +, *, >=, >) :
POL(evenodd(x1, x2)) = | | + | | · | x1 | + | | · | x2 |
With this ordering the following rules can be removed [MATRO] because they are oriented strictly:
Rules from R:
not(false) → true
Rules from S:
none
(4) Obligation:
Relative term rewrite system:
The relative TRS consists of the following R rules:
not(true) → false
evenodd(x, 0) → not(evenodd(x, s(0)))
evenodd(s(x), s(0)) → evenodd(x, 0)
The relative TRS consists of the following S rules:
rand(x) → rand(s(x))
(5) RelTRSRRRProof (EQUIVALENT transformation)
We used the following monotonic ordering for rule removal:
Polynomial interpretation [POLO]:
POL(0) = 0
POL(evenodd(x1, x2)) = x1 + x2
POL(false) = 0
POL(not(x1)) = x1
POL(rand(x1)) = x1
POL(s(x1)) = x1
POL(true) = 1
With this ordering the following rules can be removed [MATRO] because they are oriented strictly:
Rules from R:
not(true) → false
Rules from S:
none
(6) Obligation:
Relative term rewrite system:
The relative TRS consists of the following R rules:
evenodd(x, 0) → not(evenodd(x, s(0)))
evenodd(s(x), s(0)) → evenodd(x, 0)
The relative TRS consists of the following S rules:
rand(x) → rand(s(x))
(7) RelTRSRRRProof (EQUIVALENT transformation)
We used the following monotonic ordering for rule removal:
Matrix interpretation [MATRO] to (N^2, +, *, >=, >) :
POL(evenodd(x1, x2)) = | | + | | · | x1 | + | | · | x2 |
With this ordering the following rules can be removed [MATRO] because they are oriented strictly:
Rules from R:
evenodd(s(x), s(0)) → evenodd(x, 0)
Rules from S:
none
(8) Obligation:
Relative term rewrite system:
The relative TRS consists of the following R rules:
evenodd(x, 0) → not(evenodd(x, s(0)))
The relative TRS consists of the following S rules:
rand(x) → rand(s(x))
(9) RelTRSRRRProof (EQUIVALENT transformation)
We used the following monotonic ordering for rule removal:
Matrix interpretation [MATRO] to (N^2, +, *, >=, >) :
POL(evenodd(x1, x2)) = | | + | | · | x1 | + | | · | x2 |
With this ordering the following rules can be removed [MATRO] because they are oriented strictly:
Rules from R:
evenodd(x, 0) → not(evenodd(x, s(0)))
Rules from S:
none
(10) Obligation:
Relative term rewrite system:
R is empty.
The relative TRS consists of the following S rules:
rand(x) → rand(s(x))
(11) RIsEmptyProof (EQUIVALENT transformation)
The TRS R is empty. Hence, termination is trivially proven.
(12) YES