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:
f3 | → | 2945 |
join(999,1002) | → | 992 |
join(1002,999) | → | 992 |
join(24971,995) | → | 992 |
join(1002,998) | → | 24971 |
join(23310,998) | → | 992 |
join(995,24971) | → | 992 |
join(995,998) | → | 999 |
join(998,23310) | → | 992 |
join(1002,995) | → | 23310 |
join(998,995) | → | 999 |
join(998,1002) | → | 24971 |
join(995,1002) | → | 23310 |
f26 | → | 2944 |
meet(2944,2945) | → | 995 |
meet(2946,2945) | → | 998 |
meet(2945,2944) | → | 995 |
meet(2945,2946) | → | 998 |
f25 | → | 2946 |
joint(2946,2944) | → | 1002 |
2946 | » | 2946 |
1002 | » | 1002 |
2944 | » | 2944 |
999 | » | 999 |
992 | » | 992 |
995 | » | 995 |
24971 | » | 24971 |
998 | » | 998 |
23310 | » | 23310 |
2945 | » | 2945 |
Automaton 2
final states:
{1003}
transitions:
f26 | → | 1004 |
f25 | → | 1005 |
joint(1005,1004) | → | 1003 |
1005 | » | 1005 |
1004 | » | 1004 |
1003 | » | 1003 |