----------------------------------------------------------------

applyOneSubs :: (Term,Term) -> Term -> Term
applyOneSubs (term, v1@(Variable _)) v2@(Variable _)
           | v1 `occursAt` v2       = term
           | otherwise              = v2
applyOneSubs :: (Term,Term) -> Term -> Term
applyOneSubs (term, v1@(Variable _)) v2@(Variable _)
           | v1 `occursAt` v2       = term
           | otherwise              = v2
applyOneSubs (term, v1@(Variable _)) v2@(Variable _)
           | v1 `occursAt` v2       = term
           | otherwise              = v2