m.def("_perform_parametric_bisimulation",&performBisimulation<storm::RationalFunction>,"Perform bisimulation on parametric model",py::arg("model"),py::arg("formulas"),py::arg("bisimulation_type"));
m.def("_perform_parametric_bisimulation",&storm::api::performBisimulationMinimization<storm::RationalFunction>,"Perform bisimulation on parametric model",py::arg("model"),py::arg("formulas"),py::arg("bisimulation_type"));
// BisimulationType
// BisimulationType
py::enum_<storm::storage::BisimulationType>(m,"BisimulationType","Types of bisimulation")
m.def("_build_sparse_model_from_prism_program",&storm::buildSparseModel<double>,"Build the model",py::arg("program"),py::arg("formulas")=std::vector<std::shared_ptr<storm::logic::Formulaconst>>());
m.def("_build_sparse_parametric_model_from_prism_program",&storm::buildSparseModel<storm::RationalFunction>,"Build the parametric model",py::arg("program"),py::arg("formulas"));
m.def("_build_sparse_model_from_drn",&storm::buildExplicitDRNModel<double>,"Build the model from DRN",py::arg("file"));
m.def("_build_sparse_parametric_model_from_drn",&storm::buildExplicitDRNModel<storm::RationalFunction>,"Build the parametric model from DRN",py::arg("file"));
m.def("_build_sparse_model_from_prism_program",&buildSparseModel<double>,"Build the model",py::arg("model_description"),py::arg("formulas")=std::vector<std::shared_ptr<storm::logic::Formulaconst>>(),py::arg("build_choice_labels")=false,py::arg("build_choice_origins")=false);
m.def("_build_sparse_parametric_model_from_prism_program",&buildSparseModel<storm::RationalFunction>,"Build the parametric model",py::arg("model_description"),py::arg("formulas"),py::arg("build_choice_labels")=false,py::arg("build_choice_origins")=false);
m.def("_build_sparse_model_from_drn",&storm::api::buildExplicitDRNModel<double>,"Build the model from DRN",py::arg("file"));
m.def("_build_sparse_parametric_model_from_drn",&storm::api::buildExplicitDRNModel<storm::RationalFunction>,"Build the parametric model from DRN",py::arg("file"));
m.def("build_sparse_model_from_explicit",&storm::api::buildExplicitModel<double>,"Build the model model from explicit input",py::arg("transition_file"),py::arg("labeling_file"),py::arg("state_reward_file")="",py::arg("transition_reward_file")="",py::arg("choice_labeling_file")="");
py::class_<CheckTask<storm::RationalFunction>,std::shared_ptr<CheckTask<storm::RationalFunction>>>(m,"ParametricCheckTask","Task for parametric model checking")
//m.def("create_check_task", &storm::api::createTask, "Create task for verification", py::arg("formula"), py::arg("only_initial_states") = false);
m.def("_model_checking",&modelChecking,"Perform model checking",py::arg("model"),py::arg("formula"));
m.def("_parametric_model_checking",¶metricModelChecking,"Perform parametric model checking",py::arg("model"),py::arg("formula"));
m.def("_model_checking_sparse_engine",&modelCheckingSparseEngine<double>,"Perform model checking",py::arg("model"),py::arg("task"));
m.def("_parametric_model_checking_sparse_engine",&modelCheckingSparseEngine<storm::RationalFunction>,"Perform parametric model checking",py::arg("model"),py::arg("task"));
m.def("_compute_prob01states_min_double",&computeProb01min<double>,"Compute prob-0-1 states (min)",py::arg("model"),py::arg("phi_states"),py::arg("psi_states"));
m.def("_compute_prob01states_max_double",&computeProb01max<double>,"Compute prob-0-1 states (max)",py::arg("model"),py::arg("phi_states"),py::arg("psi_states"));
m.def("_compute_prob01states_min_rationalfunc",&computeProb01min<storm::RationalFunction>,"Compute prob-0-1 states (min)",py::arg("model"),py::arg("phi_states"),py::arg("psi_states"));
m.def("_compute_prob01states_max_rationalfunc",&computeProb01max<storm::RationalFunction>,"Compute prob-0-1 states (max)",py::arg("model"),py::arg("phi_states"),py::arg("psi_states"));