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_1 :
forall cfg cfg' : BDDconfig,
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))) ->
forall (n : nat) (node : ad),
n = nat_of_N (var cfg node) ->
config_node_OK cfg node ->
bool_fun_eq (bool_fun_of_BDD cfg' node) (bool_fun_of_BDD cfg node).