úΩ¯!      Safe!"#$%&!#$%&!"#$%&Safe'()*+'()*+'()*+None:IJ#assumes total ordering on variables,Dinputs and output for binary op (unary will be simulated by binary)ÿNumber of satisfying assignments with given set of variables. The set of variables must be given since the current OBDD may not contain all variables that were used to construct it, since some nodes may have been removed because they had identical children. does the OBDD have any models? "does the OBDD not have any models? &randomly select one model, if possible Hlist of all models (WARNING not using variables that had been deleted)btoDot outputs a string in format suitable for input to the "dot" program from the graphviz suite.-./0,12345 67    -./0,12345 67NoneVariable with given parityNoneT`FIXME this is a silly implementation. Negation should be done by switching values in Leaves (?)Aremove variables existentially TODO: needs better implementation@remove variable existentially TODO: needs better implementation replace variable by value 8 9    8 9None   None  :      !"#$%&'(()*+,--)+,./012345)6789:!obdd-0.3.3-HLNtv6f7KlwDbGHCy6rSOC OBDD.Data OBDD.MakeOBDD.OperationOBDD.IntIntMapOBDD.VarIntIntMap OBDD.PropertyOBDDNodeLeafBranchtopfoldfoldMsizenumber_of_modelsaccess satisfiablenull some_model all_modelsmakecachedregisterchecked_registertoDot$fEqNode $fOrdNodeconstantunit&&||andornotunarybinary exists_manyexists instantiate IntIntMapempty singletonlookupinsert VarIntIntMapcachecoreicorenextIndexunIndex icore_false icore_true select_onefresh fold_by_sizecomp