Source: https://courses.cs.washington.edu/courses/cse370/10wi/pdfs/lectures/04-CanonicalForms.pdf