Source: https://math.univ-angers.fr/~ducrot/CSG/modelisation2008.pdf