input: Write a function to print the top 5 most frequent words in a given sentence. The function should split the sentence into words, count the frequency of each word using the `collections.Counter` class, and then print the top 5 most frequent words in descending order of their frequency.
  assert top_5_frequent_words("Python is an interpreted, high-level, general-purpose programming language.")==[('Python', 1), ('is', 1), ('an', 1), ('interpreted,', 1), ('high-level,', 1)]
  assert top_5_frequent_words("The quick brown fox jumps over the lazy dog.")==[('The', 2), ('quick', 1), ('brown', 1), ('fox', 1), ('jumps', 1)]
  assert top_5_frequent_words("")==[]
  assert top_5_frequent_words("a a a b b c")==[('a', 3), ('b', 2), ('c', 1), ('', 0), ('', 0)]
  assert top_5_frequent_words("word1 word2 word3 word4 word5 word6 word7 word8 word9 word10 word11 word12 word13 word14 word15 word16 word17 word18 word19 word20")==[('word1', 1), ('word2', 1), ('word3', 1), ('word4', 1), ('word5', 1)]
output: 
  from collections import Counter
  
  def top_5_frequent_words(sentence):
      words = sentence.split()
      word_counts = Counter(words)
      return word_counts.most_common(5)
  