Source: https://lipn.univ-paris13.fr/~duchamp/Enseignement/L3_Info/Supports/Cours/THL_2.pdf