Definition BDDuniv_memo_put (cfg : BDDconfig) (x : BDDvar)
  (node node' : ad) :=
  match cfg with
  | (bs, (share, (fl, (cnt, (negm, (orm, um)))))) =>
      (bs, (share, (fl, (cnt, (negm, (orm, MapPut2 ad um node x node'))))))
  end.

Lemma BDDum_put_OK : forall (cfg : BDDconfig) (x : BDDvar) (node node' : ad), BDDconfig_OK cfg -> config_node_OK cfg node -> config_node_OK cfg node' -> Nleb (node_height cfg node') (node_height cfg node) = true -> bool_fun_eq (bool_fun_of_BDD cfg node') (bool_fun_forall x (bool_fun_of_BDD cfg node)) -> BDDconfig_OK (BDDuniv_memo_put cfg x node node').