semilocal ring