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)).