(* Specifications: *)
Lemma no_dup_new : forall (x' : BDDvar) (l' r' a : ad), MapGet _ (bs_of_cfg new_cfg) a = Some (x', (l', r')) -> (x, (l, r)) <> (x', (l', r')).
Lemma new_cfg_OK : BDDconfig_OK new_cfg.
Lemma new_cfg_nodes_preserved : used_nodes_preserved cfg new_cfg ul.
Lemma new_l_OK : node_OK (bs_of_cfg new_cfg) l.
Lemma new_r_OK : node_OK (bs_of_cfg new_cfg) r.
Lemma BDD_OK_l : BDD_OK (bs_of_cfg new_cfg) l.
Lemma BDD_OK_r : BDD_OK (bs_of_cfg new_cfg) r.
Lemma new_xl_lt_x : forall (xl : BDDvar) (ll rl : ad), MapGet _ (bs_of_cfg new_cfg) l = Some (xl, (ll, rl)) -> BDDcompare xl x = Datatypes.Lt.
Lemma new_xr_lt_x : forall (xr : BDDvar) (lr rr : ad), MapGet _ (bs_of_cfg new_cfg) r = Some (xr, (lr, rr)) -> BDDcompare xr x = Datatypes.Lt.
Lemma no_dup : MapGet3 ad (fst (snd cfg)) l r x = None -> forall (x' : BDDvar) (l' r' a : ad), MapGet (BDDvar * (ad * ad)) (bs_of_cfg cfg) a = Some (x', (l', r')) -> (x, (l, r)) <> (x', (l', r')).
Lemma relfreeeven : forall (f : mu_form) (P : ad) (b : bool), mu_rel_free P f = false -> f_P_even P f b.