def filter_equivalent_reductions(reductions):
	"""
	Args:
		reductions: List of reductions, where each reduction is 
			a list of words. Assumes that each reduction is of the same length.
	Returns: 
		A filtered copy of reductions that does not contain two reductions 
		with the same last word.
	"""
	# Remove identical words
	reductions_equivalence_classes = {}
	non_equivalent_reductions = set()
	for i, reduction in enumerate(reductions):
		new_value = reductions_equivalence_classes.get(reduction[-1], [])
		new_value.append(i)
		reductions_equivalence_classes[reduction[-1]] = new_value
		non_equivalent_reductions.add(reduction[-1])

	unique_reductions = []
	for word in non_equivalent_reductions:
		reduction_index = reductions_equivalence_classes[word][-1]
		unique_reductions.append(reductions[reduction_index])

	return unique_reductions