Source: https://www.irit.fr/~Iulian.Ober/str/STR-1.1.IntroSTR.pdf