let update_fresh_terms fresh_terms =
List.map2
(fun g_var c_var ->
if (List.exists (fun x -> Base x = g_var) fresh_terms) then
(match g_var with
Base(Var(i)) -> Prime(Var(i))
| _ -> Base(Var(0)))
else
(match c_var with
Prime(_) -> g_var
| _ -> c_var))