def report_dfa(q_0, dfa, g):
	"""
	Give a complete description of the DFA as a string
	"""
	output = ""
	output += "----------- DFA ----------- " + "Goal: " + g + " ----------- \n"
	transitions = [(i,dfa[(i,sigma)],sigma) for i,sigma in dfa]
	transitions.sort()
	for i,j,sigma in transitions:
		output += (f"delta({i},{sigma}) = {j}\n")
	output += f"q_0 = {q_0}\n"
	return output