Definition BDDor :=
  BDDor_1 gc cfg ul node1 node2
    (S
       (max (nat_of_N (node_height cfg node1))
          (nat_of_N (node_height cfg node2)))).

(* Specifications: *)
Lemma BDDor_config_OK : BDDconfig_OK (fst BDDor).
Lemma BDDor_node_OK : config_node_OK (fst BDDor) (snd BDDor).
Lemma BDDor_used_nodes_preserved : used_nodes_preserved cfg (fst BDDor) ul.
Lemma BDDor_is_or : bool_fun_eq (bool_fun_of_BDD (fst BDDor) (snd BDDor)) (bool_fun_or (bool_fun_of_BDD cfg node1) (bool_fun_of_BDD cfg node2)).
Lemma BDDor_list_OK : used_list_OK (fst BDDor) ul.
Lemma BDDor_list_OK_cons : used_list_OK (fst BDDor) (snd BDDor :: ul).
Lemma BDDor_var_le : Nleb (node_height (fst BDDor) (snd BDDor)) (BDDvar_max (node_height cfg node1) (node_height cfg node2)) = true.