Source: http://ac.informatik.uni-freiburg.de/teaching/ws20_21/tcs_bridging/slides/02-RegularLanguages.pdf