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_eq_lemma :
forall (bf1 bf2 : bool_fun) (x : BDDvar),
bool_fun_ext bf1 ->
bool_fun_ext bf2 ->
bool_fun_eq (bool_fun_restrict bf1 x true) (bool_fun_restrict bf2 x true) ->
bool_fun_eq (bool_fun_restrict bf1 x false) (bool_fun_restrict bf2 x false) ->
bool_fun_eq bf1 bf2.