input: Write a function to determine if a given string contains all the words in a provided list of words. The function should return True if all the words are found in the string, and False otherwise. If the list of words is empty, return True.
  assert contains_words('This is a test', ['test', 'this', 'is'])==True
  assert contains_words('This is another test', ['test', 'this', 'is'])==False
  assert contains_words('Python is great', ['Python', 'is'])==True
  assert contains_words('Hello world', ['world', 'Hello'])==True
  assert contains_words('Hello world', [])==True
output: def contains_words(s, words):
      if not words:
          return True
      s_words = s.lower().split()
      return all(word.lower() in s_words for word in words)