Definition BDDmake :=
  if Neqb l r
  then (cfg, l)
  else
   match MapGet3 _ (fst (snd cfg)) l r x with
   | Some y => (cfg, y)
   | None => BDDalloc gc cfg x l r ul
   end.

Lemma BDDmake_bool_fun : bool_fun_eq (bool_fun_of_BDD (fst BDDmake) (snd BDDmake)) (bool_fun_if x (bool_fun_of_BDD cfg r) (bool_fun_of_BDD cfg l)).