Definition bool_fun_if (x : BDDvar) (bf bf' : bool_fun) : bool_fun :=
fun vb : var_binding => ifb (vb x) (bf vb) (bf' vb).

Lemma BDDmake_bool_fun :
forall (cfg : BDDconfig) (l r : ad) (x : BDDvar),
BDDconfig_OK cfg ->
config_node_OK cfg l ->
config_node_OK cfg r ->
(is_internal_node cfg l -> BDDcompare (var cfg l) x = Datatypes.Lt) ->
(is_internal_node cfg r -> BDDcompare (var cfg r) x = Datatypes.Lt) ->
bool_fun_eq
(bool_fun_of_BDD (fst (BDDmake cfg x l r)) (snd (BDDmake cfg x l r)))
(bool_fun_if x (bool_fun_of_BDD cfg r) (bool_fun_of_BDD cfg l)).