Definition BDDvar_make (cfg : BDDconfig) (x : BDDvar) :=
  BDDmake cfg x BDDzero BDDone.

(* Specifications: *)
Lemma BDDvar_make_keeps_config_OK : forall (cfg : BDDconfig) (x : BDDvar), BDDconfig_OK cfg -> BDDconfig_OK (fst (BDDvar_make cfg x)).
Lemma BDDvar_make_node_OK : forall (cfg : BDDconfig) (x : BDDvar), BDDconfig_OK cfg -> config_node_OK (fst (BDDvar_make cfg x)) (snd (BDDvar_make cfg x)).
Lemma BDDvar_make_preserves_nodes : forall (cfg : BDDconfig) (x : BDDvar), BDDconfig_OK cfg -> nodes_preserved cfg (fst (BDDvar_make cfg x)).
Lemma BDDvar_make_keeps_neg_memo_OK : forall (cfg : BDDconfig) (negm : BDDneg_memo) (x : BDDvar), BDDconfig_OK cfg -> BDDneg_memo_OK_2 cfg negm -> BDDneg_memo_OK_2 (fst (BDDvar_make cfg x)) negm.
Lemma BDDvar_make_keeps_or_memo_OK : forall (cfg : BDDconfig) (orm : BDDor_memo) (x : BDDvar), BDDconfig_OK cfg -> BDDor_memo_OK cfg orm -> BDDor_memo_OK (fst (BDDvar_make cfg x)) orm.
Lemma BDDvar_make_keeps_node_OK : forall (cfg : BDDconfig) (x : BDDvar), BDDconfig_OK cfg -> forall node : ad, config_node_OK cfg node -> config_node_OK (fst (BDDvar_make cfg x)) node.
Lemma BDDvar_make_preserves_bool_fun : forall (cfg : BDDconfig) (x : BDDvar), BDDconfig_OK cfg -> forall node : ad, config_node_OK cfg node -> bool_fun_eq (bool_fun_of_BDD (fst (BDDvar_make cfg x)) node) (bool_fun_of_BDD cfg node).