We consider the TRS containing the following rules:
| Ap(Ap(Ap(S,x),y),z) | → | Ap(Ap(x,z),Ap(y,z)) | (1) |
| Ap(Ap(K,x),y) | → | x | (2) |
| Ap(I,x) | → | x | (3) |
| B(true,x,y) | → | x | (4) |
| B(false,x,y) | → | y | (5) |
| B(z,x,x) | → | x | (6) |
The underlying signature is as follows:
{Ap/2, S/0, K/0, I/0, B/3, true/0, false/0}| Ap | : | 2 ⨯ 2 → 2 |
| S | : | 2 |
| K | : | 2 |
| I | : | 2 |
| B | : | 1 ⨯ 0 ⨯ 0 → 0 |
| true | : | 1 |
| false | : | 1 |
| B(true,x,y) | → | x | (4) |
| B(false,x,y) | → | y | (5) |
| B(z,x,x) | → | x | (6) |
| Ap(Ap(Ap(S,x),y),z) | → | Ap(Ap(x,z),Ap(y,z)) | (1) |
| Ap(Ap(K,x),y) | → | x | (2) |
| Ap(I,x) | → | x | (3) |
To prove that the TRS is (non-)confluent, we show (non-)confluence of the following modified system:
| B(z,x,x) | → | x | (6) |
| B(false,x,y) | → | y | (5) |
| B(true,x,y) | → | x | (4) |
All redundant rules that were added or removed can be simulated in 2 steps .
| [true] | = | 0 |
| [B(x1, x2, x3)] | = | 2 · x1 + 2 · x2 + 4 · x3 + 5 |
| [false] | = | 0 |
| B(z,x,x) | → | x | (6) |
| B(false,x,y) | → | y | (5) |
| B(true,x,y) | → | x | (4) |
There are no rules in the TRS. Hence, it is terminating.
To prove that the TRS is (non-)confluent, we show (non-)confluence of the following modified system:
| Ap(I,x) | → | x | (3) |
| Ap(Ap(K,x),y) | → | x | (2) |
| Ap(Ap(Ap(S,x),y),z) | → | Ap(Ap(x,z),Ap(y,z)) | (1) |
All redundant rules that were added or removed can be simulated in 2 steps .
Confluence is proven using the following terminating critical-pair-closing-system R:
There are no rules.
There are no rules in the TRS. Hence, it is terminating.