<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def spans_columns(self, column_names):
 """ Checks if this index exactly spans the given column names in the correct order. :type column_names: list :rtype: bool """

        columns = self.get_columns()
        number_of_columns = len(columns)
        same_columns = True

        for i in range(number_of_columns):
            column = self._trim_quotes(columns[i].lower())
            if i >= len(column_names) or column != self._trim_quotes(
                column_names[i].lower()
            ):
                same_columns = False

        return same_columns