bei jeder Benutzung jeder Klausel müssen deren Variablen umbenannt werden (= durch „frische`` Namen ersetzt).
Globalen Zähler hinzufügen = Zustands-Monaden-Transformator anwenden.
single :: [Clause] -> Atom -> [Substitution]
single cs a = do 
    c <- cs
import Control.Monad.State
single :: [Clause] -> Atom
    -> StateT Int [] Substitution
single cs a = do 
    c <- lift cs