shift of finite type