fact: Fixpoint clean_sol (existential_vars : list variable) (sigma : substitution) {struct sigma} : substitution := match sigma with | nil => nil | (x,x_val) :: tl_sigma => if mem_bool X.eq_bool x existential_vars then clean_sol existential_vars tl_sigma else (x, x_val) :: (clean_sol existential_vars tl_sigma) end.
imports: Coq(Arith List Wellfounded Wf_nat) CoLoR(more_list list_permut list_sort term_spec term_o equational_theory ac matching dickson matching_well_formed matching_well_founded matching_sound matching_complete dickson)