Definition bool_fun_independent (bf : bool_fun) (x : BDDvar) :=
  forall vb : var_binding,
  bool_fun_eval bf (augment vb x true) =
  bool_fun_eval bf (augment vb x false).

Lemma bool_fun_preservation : forall (cfg cfg' : BDDconfig) (node : ad), BDDconfig_OK cfg -> BDDconfig_OK cfg' -> (forall (x : BDDvar) (l r a : ad), MapGet _ (fst cfg) a = Some (x, (l, r)) -> MapGet _ (fst cfg') a = Some (x, (l, r))) -> config_node_OK cfg node -> bool_fun_eq (bool_fun_of_BDD cfg' node) (bool_fun_of_BDD cfg node).