public static boolean isVariable(final String str, final Set<Collection<String>> dictionaries)
    {
        if (BooleanOperator.isOperator(str) || Brackets.isOpenBracket(str) || Brackets.isCloseBracket(str) || str.length() != 1
                || !Character.isLetter(str.charAt(0)))
        {
            return false;
        }
        
        for (final Collection<String> dict : dictionaries)
        {
            if (dict.contains(str))
            {
                return false;
            }
        }
        
        return true;
    }