We consider the TRS containing the following rules:
| join(x,meet(x,y)) | → | x | (1) |
| meet(x,joint(y,z)) | → | join(meet(x,y),meet(x,z)) | (2) |
| meet(x,x) | → | x | (3) |
| join(x,x) | → | x | (4) |
| meet(meet(x,y),z) | → | meet(x,meet(y,z)) | (5) |
| meet(x,y) | → | meet(y,x) | (6) |
| join(join(x,y),z) | → | join(x,join(y,z)) | (7) |
| join(x,y) | → | join(y,x) | (8) |
The underlying signature is as follows:
{join/2, meet/2, joint/2}To prove that the TRS is (non-)confluent, we show (non-)confluence of the following modified system:
| join(x,meet(x,y)) | → | x | (1) |
| meet(x,joint(y,z)) | → | join(meet(x,y),meet(x,z)) | (2) |
| meet(x,x) | → | x | (3) |
| join(x,x) | → | x | (4) |
| meet(meet(x,y),z) | → | meet(x,meet(y,z)) | (5) |
| meet(x,y) | → | meet(y,x) | (6) |
| join(join(x,y),z) | → | join(x,join(y,z)) | (7) |
| join(x,y) | → | join(y,x) | (8) |
| meet(y,x) | → | meet(y,x) | (9) |
| join(meet(x,y),x) | → | x | (10) |
| join(y,x) | → | join(y,x) | (11) |
| join(y,meet(x,y)) | → | y | (12) |
| join(meet(y,x282),y) | → | y | (13) |
| meet(meet(x,x),x) | → | x | (14) |
| meet(x,meet(x,x)) | → | x | (15) |
| meet(join(x,x),x) | → | x | (16) |
| meet(x,join(x,x)) | → | x | (17) |
| join(meet(x,x),x) | → | x | (18) |
| join(x,meet(x,x)) | → | x | (19) |
| join(join(x,x),x) | → | x | (20) |
| join(x,join(x,x)) | → | x | (21) |
| meet(x,y) | → | meet(x,y) | (22) |
| join(x,y) | → | join(x,y) | (23) |
All redundant rules that were added or removed can be simulated in 3 steps .
| t0 | = | join(joint(f25,f26),meet(f3,joint(f25,f26))) |
| → | join(joint(f25,f26),join(meet(f3,f25),meet(f3,f26))) | |
| = | t1 |
| t0 | = | join(joint(f25,f26),meet(f3,joint(f25,f26))) |
| → | joint(f25,f26) | |
| = | t1 |
Automaton 1
final states:
{992}
transitions:
| f26 | → | 2946 |
| f25 | → | 2945 |
| f3 | → | 2944 |
| joint(2945,2946) | → | 1002 |
| join(995,1002) | → | 23191 |
| join(995,998) | → | 999 |
| join(998,1002) | → | 24833 |
| join(24833,995) | → | 992 |
| join(23191,998) | → | 992 |
| join(1002,999) | → | 992 |
| join(1002,995) | → | 23191 |
| join(999,1002) | → | 992 |
| join(998,23191) | → | 992 |
| join(998,995) | → | 999 |
| join(1002,998) | → | 24833 |
| join(995,24833) | → | 992 |
| meet(2946,2944) | → | 995 |
| meet(2944,2946) | → | 995 |
| meet(2945,2944) | → | 998 |
| meet(2944,2945) | → | 998 |
| 2946 | » | 2946 |
| 2945 | » | 2945 |
| 2944 | » | 2944 |
| 1002 | » | 1002 |
| 995 | » | 995 |
| 23191 | » | 23191 |
| 998 | » | 998 |
| 999 | » | 999 |
| 24833 | » | 24833 |
| 992 | » | 992 |
Automaton 2
final states:
{1003}
transitions:
| f26 | → | 1004 |
| f25 | → | 1005 |
| joint(1005,1004) | → | 1003 |
| 1004 | » | 1004 |
| 1005 | » | 1005 |
| 1003 | » | 1003 |