Lemma BDDneg_2_lemma : forall (bound : nat) (cfg : BDDconfig) (node : ad), BDDconfig_OK cfg -> config_node_OK cfg node -> (is_internal_node cfg node -> nat_of_N (var cfg node) < bound) -> BDDconfig_OK (fst (BDDneg_2 cfg node bound)) /\ (forall (x : BDDvar) (l r a : ad), MapGet _ (fst cfg) a = Some (x, (l, r)) -> MapGet _ (fst (fst (BDDneg_2 cfg node bound))) a = Some (x, (l, r))) /\ (is_internal_node cfg node -> is_internal_node (fst (BDDneg_2 cfg node bound)) (snd (BDDneg_2 cfg node bound)) /\ var cfg node = var (fst (BDDneg_2 cfg node bound)) (snd (BDDneg_2 cfg node bound))) /\ config_node_OK (fst (BDDneg_2 cfg node bound)) (snd (BDDneg_2 cfg node bound)) /\ bool_fun_eq (bool_fun_of_BDD (fst (BDDneg_2 cfg node bound)) (snd (BDDneg_2 cfg node bound))) (bool_fun_neg (bool_fun_of_BDD cfg node)).