Source: https://isabelle.in.tum.de/doc/tutorial.pdf