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 Counter from the collections module, and then return the top 5 most frequent words.
  
  ### Function Header:
  def top_5_frequent_words(sentence):
  
  ### Assert Test Cases:
  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', 1), ('quick', 1), ('brown', 1), ('fox', 1), ('jumps', 1)]
  assert top_5_frequent_words("Hello world world world hello hello hello hello") == [('hello', 5), ('world', 3), ('world', 3), ('world', 3), ('hello', 5)]
  assert top_5_frequent_words("A red apple and a green apple are both apples.") == [('a', 3), ('apple', 3), ('and', 1), ('are', 1), ('both', 1)]
  assert top_5_frequent_words("") == []
output: def top_5_frequent_words(sentence):
      from collections import Counter
      words = sentence.split()
      word_counts = Counter(words)
      return word_counts.most_common(5)