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.