code: def _check_construction_table(construction_table):
          
          c_table = construction_table
          for row, i in enumerate(c_table.index):
              give_message = ("Not a valid construction table. "
                              "The index {i} uses an invalid reference").format
              if row == 0:
                  pass
              elif row == 1:
                  if c_table.loc[i, 'b'] not in c_table.index[:row]:
                      raise UndefinedCoordinateSystem(give_message(i=i))
              elif row == 2:
                  reference = c_table.loc[i, ['b', 'a']]
                  if not reference.isin(c_table.index[:row]).all():
                      raise UndefinedCoordinateSystem(give_message(i=i))
              else:
                  reference = c_table.loc[i, ['b', 'a', 'd']]
                  if not reference.isin(c_table.index[:row]).all():
                      raise UndefinedCoordinateSystem(give_message(i=i))
docs: Checks if a construction table uses valid references.
          Raises an exception (UndefinedCoordinateSystem) otherwise.