https://123dok.com/document/y9rwx2ly-testing-algebraic-structures-using-a-computer-program.html