fact: Definition ac_elementary_solve_term_term_term pb f g lg list_of_terms l' list_of_equations : list matching_problem := map_without_repetition T.eq_bool (fun t => match t with | Term h _ => if F.Symb.eq_bool g h then match remove T.eq_bool t l' with | None => None | Some rmv => let t1' := build f list_of_terms in let t2' := build f rmv in Some (mk_pb (existential_vars pb) (cons ((Term g lg),t) (cons (t1',t2') list_of_equations)) (solved_part pb) (partly_solved_part pb)) end else None | Var _ => None end) l'.
imports: Coq(Arith List) CoLoR(more_list list_sort term_spec ac cf_eq_ac)