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).