Definition bool_fun_of_BDD (cfg : BDDconfig) (node : ad) :=
  bool_fun_of_BDD_1 cfg node (S (nat_of_N (var cfg node))).

(* Specifications: *)
Lemma bool_fun_of_BDD_semantics : forall cfg : BDDconfig, BDDconfig_OK cfg -> bool_fun_of_BDD cfg BDDzero = bool_fun_zero /\ bool_fun_of_BDD cfg BDDone = bool_fun_one /\ (forall node : ad, is_internal_node cfg node -> bool_fun_of_BDD cfg node = (fun vb : var_binding => if vb (var cfg node) then bool_fun_of_BDD cfg (high cfg node) vb else bool_fun_of_BDD cfg (low cfg node) vb)).