47#define NUXMV_COUNT_OF(array) (sizeof(array) / sizeof(array[0]))
665#define NUXMV_MAKE_OPT(k, v) ((nuxmv_opt){.key = k, .value = v})
680#define NUXMV_VALID_OPT(opt) ((opt).key != NULL && (opt).value != NULL)
701#define NUXMV_VALID_ENV(env) ((env).repr != NULL)
840#define NUXMV_VALID_EXPR_TYPE(expr_type) ((expr_type).repr != NULL)
1221#define NUXMV_VALID_VAR_TYPE(var_type) ((var_type).repr != NULL)
1499#define NUXMV_VALID_SYMBOL(symbol) ((symbol).repr != NULL)
1636#define NUXMV_MAKE_INVALID_EXPR() ((nuxmv_expr){.repr = NULL})
1648#define NUXMV_VALID_EXPR(expr) ((expr).repr != NULL)
1791 const int *params,
size_t param_num);
1958 void *user_data,
char *data,
2234#define NUXMV_MAKE_INVALID_MODULE() ((nuxmv_module){.repr = NULL})
2246#define NUXMV_VALID_MODULE(module) ((module).repr != NULL)
2379#define NUXMV_MAKE_VAR_DECL(identifier_, var_type_) \
2380 ((nuxmv_var_decl){.identifier = identifier_, .var_type = var_type_})
2398#define NUXMV_VALID_VAR_DECL(var_decl_) \
2399 (NUXMV_VALID_SYMBOL((var_decl_).identifier) && \
2400 NUXMV_VALID_VAR_TYPE((var_decl_).var_type))
2413#define NUXMV_MAKE_FUN_DECL(identifier_, fun_type_) \
2414 ((nuxmv_fun_decl){.identifier = identifier_, .fun_type = fun_type_})
2431#define NUXMV_VALID_FUN_DECL(fun_decl_) \
2432 (NUXMV_VALID_SYMBOL((fun_decl_).identifier) && \
2433 NUXMV_VALID_VAR_TYPE((fun_decl_).fun_type))
2448#define NUXMV_MAKE_ASSIGN(lhs_, rhs_) ((nuxmv_assign){.lhs = lhs_, .rhs = rhs_})
2469#define NUXMV_VALID_ASSIGN(assign_) \
2470 (NUXMV_VALID_EXPR((assign_).lhs) && NUXMV_VALID_EXPR((assign_).rhs))
2485#define NUXMV_MAKE_COMPASSION(p_, q_) ((nuxmv_compassion){.p = p_, .q = q_})
2501#define NUXMV_VALID_COMPASSION(comp_) \
2502 (NUXMV_VALID_EXPR((comp_).p) && NUXMV_VALID_EXPR((comp_).q))
2518#define NUXMV_MAKE_DEFINE_DECL(identifier_, body_) \
2519 ((nuxmv_define_decl){.identifier = identifier_, .body = body_})
2536#define NUXMV_VALID_DEFINE_DECL(define_decl_) \
2537 (NUXMV_VALID_EXPR((define_decl_).identifier) && \
2538 NUXMV_VALID_EXPR((define_decl_).body))
3759 int sub_idx,
int param_idx);
3811 bool with_submodules,
3813 void *user_data,
char *data,
3835#define NUXMV_VALID_MODEL(model) ((model).repr != NULL)
3948 void *user_data,
char *data,
4814#define NUXMV_VALID_PROPERTY(property) ((property).repr != NULL)
4969#define NUXMV_VALID_SIMULATION(simulation) ((simulation).repr != NULL)
4985#define NUXMV_MAKE_SIMULATION_CONSTRAINT( \
4986 simple_constraint_, trans_constraint_, trace_, trace_start_, ltl_formula_) \
4987 ((nuxmv_simulation_constraint){.simple_constraint = (simple_constraint_), \
4988 .trans_constraint = (trans_constraint_), \
4989 .trace = (trace_), \
4990 .trace_start = (trace_start_), \
4991 .ltl_formula = (ltl_formula_)})
5126#define NUXMV_VALID_RESULT(result) ((result).repr != NULL)
5183#define NUXMV_VALID_TRACE(trace) ((trace).repr != NULL)
5266 void *user_data,
char *data,
5331#define NUXMV_VALID_TRACE_VALUE(symb_val) \
5332 (NUXMV_VALID_EXPR((symb_val).identifier) && \
5333 NUXMV_VALID_EXPR((symb_val).value))
5403 int step_idx,
int var_idx);
5453 int step_idx,
int var_idx);
5503 int step_idx,
int def_idx);
nuxmv_status_code nuxmv_destroy_env(nuxmv_env env)
Destroy an environment.
nuxmv_status_code nuxmv_env_set_options(nuxmv_env env, const nuxmv_opt *opts, size_t opt_num)
Set a list of options for the environment.
int nuxmv_env_get_option_num(nuxmv_env env)
Get the number of options for the environment.
nuxmv_opt nuxmv_env_get_option(nuxmv_env env, int opt_idx)
Get an option of the environment.
nuxmv_env nuxmv_create_env(void)
Create a new environment.
const char * nuxmv_env_get_last_error_message(nuxmv_env env)
Get the last error message and clear it.
int nuxmv_function_type_get_argument_num(nuxmv_env env, nuxmv_expr_type type)
Get the number of arguments of a function type.
nuxmv_expr_type nuxmv_make_array_type(nuxmv_env env, nuxmv_expr_type idx, nuxmv_expr_type elem)
Create an array type.
nuxmv_expr_type nuxmv_function_type_get_result(nuxmv_env env, nuxmv_expr_type type)
Get the type of the result of a function type.
nuxmv_expr_type nuxmv_make_set_type(nuxmv_env env, nuxmv_expr_type elem)
Create a set type.
nuxmv_expr_type nuxmv_make_real_type(nuxmv_env env)
Create a real type.
nuxmv_expr_type nuxmv_set_type_get_element(nuxmv_env env, nuxmv_expr_type type)
Get the type of the elements of a set type.
nuxmv_expr_type nuxmv_make_boolean_type(nuxmv_env env)
Create a Boolean type.
nuxmv_expr_type_tag nuxmv_expr_type_get_tag(nuxmv_env env, nuxmv_expr_type type)
Get the tag of a type.
size_t nuxmv_expr_type_get_id(nuxmv_env env, nuxmv_expr_type type)
Get the ID of a type.
nuxmv_expr_type nuxmv_array_type_get_element(nuxmv_env env, nuxmv_expr_type type)
Get the type of the elements of an array type.
nuxmv_expr_type nuxmv_make_signed_word_type(nuxmv_env env, size_t width)
Create a signed word type.
nuxmv_expr_type nuxmv_make_function_type(nuxmv_env env, const nuxmv_expr_type *args, size_t arg_num, nuxmv_expr_type result)
Create a new (uninterpreted) function type.
nuxmv_expr_type nuxmv_make_integer_type(nuxmv_env env)
Create an integer type.
nuxmv_expr_type nuxmv_make_enum_type(nuxmv_env env)
Create an enumerative type whose variants are symbolic tags.
nuxmv_expr_type nuxmv_make_unsigned_word_type(nuxmv_env env, size_t width)
Create an unsigned word type.
int nuxmv_word_type_get_width(nuxmv_env env, nuxmv_expr_type type)
Get the width of a (un)signed word type.
nuxmv_expr_type nuxmv_array_type_get_index(nuxmv_env env, nuxmv_expr_type type)
Get the type of the index of an array type.
nuxmv_expr_type nuxmv_function_type_get_argument(nuxmv_env env, nuxmv_expr_type type, int arg_idx)
Get the i-th argument type of a function type.
int nuxmv_expr_is_parametric(nuxmv_env env, nuxmv_expr expr)
Test whether an expression is parametric.
nuxmv_expr nuxmv_make_un_op(nuxmv_env env, nuxmv_op_tag op, nuxmv_expr arg)
Create a structured expression for a unary operator.
nuxmv_expr_type nuxmv_expr_get_type(nuxmv_env env, nuxmv_expr expr)
Get the type of an expression.
int nuxmv_serialize_expr_to_string(nuxmv_env env, nuxmv_expr expr, nuxmv_serialized_chunk_callback callback, void *user_data, char *data, size_t data_size)
Serialize a expr to a string.
int nuxmv_expr_get_parameter_num(nuxmv_env env, nuxmv_expr expr)
Get the number of parameters in a parametric expression.
int nuxmv_visit_expr(nuxmv_env env, nuxmv_expr expr, nuxmv_expr_visit_callback callback, nuxmv_expr_visit_order order, void *user_data)
Visit an expression.
int nuxmv_expr_contains_temporal_operators(nuxmv_env env, nuxmv_expr expr)
Test whether an expression contains temporal operators.
int nuxmv_expr_is_value(nuxmv_env env, nuxmv_expr expr)
Test whether an expression corresponds to a value.
nuxmv_expr nuxmv_make_identifier(nuxmv_env env, nuxmv_symbol symbol, nuxmv_expr_type type)
Create a new identifier for a symbol.
nuxmv_expr nuxmv_make_op(nuxmv_env env, nuxmv_op_tag op, const nuxmv_expr *args, size_t arg_num)
Create a structured expression for an operator.
int nuxmv_expr_get_parameter(nuxmv_env env, nuxmv_expr expr, int param_idx)
Get the i-th parameter value of a structured parametric expression.
size_t nuxmv_expr_get_id(nuxmv_env env, nuxmv_expr expr)
Get the ID of a type.
nuxmv_expr nuxmv_simplify_expr(nuxmv_env env, nuxmv_expr expr)
Simplify an expression.
nuxmv_expr nuxmv_make_parametric_op(nuxmv_env env, nuxmv_op_tag op, const nuxmv_expr *args, size_t arg_num, const int *params, size_t param_num)
Create a structured parametric expression for an operator.
int nuxmv_expr_is_identifier(nuxmv_env env, nuxmv_expr expr)
Test whether an expression corresponds to an identifier.
nuxmv_expr nuxmv_make_expr_from_string(nuxmv_env env, const char *data, nuxmv_module scope)
Make an expression from a string.
nuxmv_expr nuxmv_expr_get_argument(nuxmv_env env, nuxmv_expr expr, int arg_idx)
Get the i-th argument of a structured expression.
nuxmv_expr nuxmv_make_bin_op(nuxmv_env env, nuxmv_op_tag op, nuxmv_expr arg1, nuxmv_expr arg2)
Create a structured expression for a binary operator.
nuxmv_op_tag nuxmv_expr_get_op_tag(nuxmv_env env, nuxmv_expr expr)
Get the tag of an operator.
int nuxmv_expr_get_argument_num(nuxmv_env env, nuxmv_expr expr)
Get the number of arguments in an expression.
nuxmv_expr nuxmv_make_value(nuxmv_env env, nuxmv_symbol val, nuxmv_expr_type type)
Create a new value for a symbol.
int nuxmv_expr_is_op(nuxmv_env env, nuxmv_expr expr)
Test whether an expression corresponds to an operator.
nuxmv_symbol nuxmv_expr_get_symbol(nuxmv_env env, nuxmv_expr identifier)
Get the symbol associated to an identifier.
nuxmv_status_code nuxmv_model_add_property(nuxmv_env env, nuxmv_model model, nuxmv_property property)
Add a property to the model.
nuxmv_assign nuxmv_model_get_init_assign(nuxmv_env env, nuxmv_model model, int assign_idx)
Get the i-th initial assignment of a model.
int nuxmv_model_get_invar_assign_num(nuxmv_env env, nuxmv_model model)
Get the number of invariant assignments in a model.
nuxmv_assign nuxmv_model_get_invar_assign(nuxmv_env env, nuxmv_model model, int assign_idx)
Get the i-th invariant assignment of a model.
nuxmv_assign nuxmv_model_get_next_assign(nuxmv_env env, nuxmv_model model, int assign_idx)
Get the i-th next assignment of a model.
int nuxmv_model_get_next_assign_num(nuxmv_env env, nuxmv_model model)
Get the number of next assignments in a model.
int nuxmv_model_get_init_assign_num(nuxmv_env env, nuxmv_model model)
Get the number of initial assignments in a model.
nuxmv_property nuxmv_model_get_property_by_name(nuxmv_env env, nuxmv_model model, const char *name)
Get the property of a model by name.
nuxmv_property nuxmv_model_get_property(nuxmv_env env, nuxmv_model model, int prop_idx)
Get the i-th property of a model.
int nuxmv_model_get_property_num(nuxmv_env env, nuxmv_model model)
Get the number of properties in a model.
nuxmv_compassion nuxmv_model_get_compassion(nuxmv_env env, nuxmv_model model, int comp_idx)
Get the i-th compassion of a model.
nuxmv_expr nuxmv_model_get_init(nuxmv_env env, nuxmv_model model, int init_idx)
Get the i-th initial constraint of a model.
int nuxmv_model_get_trans_num(nuxmv_env env, nuxmv_model model)
Get the number of transition constraints in a model.
nuxmv_define_decl nuxmv_model_get_define(nuxmv_env env, nuxmv_model model, int def_idx)
Get the i-th define declaration of a model.
nuxmv_expr nuxmv_model_get_justice(nuxmv_env env, nuxmv_model model, int just_idx)
Get the i-th justice constraint of a model.
nuxmv_var_decl nuxmv_model_get_frozen_var(nuxmv_env env, nuxmv_model model, int var_idx)
Get the i-th frozen variable of a model.
int nuxmv_model_get_define_num(nuxmv_env env, nuxmv_model model)
Get the number of define declarations in a model.
nuxmv_var_decl nuxmv_model_get_input_var(nuxmv_env env, nuxmv_model model, int var_idx)
Get the i-th input variable of a model.
int nuxmv_model_get_state_var_num(nuxmv_env env, nuxmv_model model)
Get the number of state variables in a model.
nuxmv_var_decl nuxmv_model_get_state_var(nuxmv_env env, nuxmv_model model, int var_idx)
Get the i-th state variable of a model.
int nuxmv_model_get_invar_num(nuxmv_env env, nuxmv_model model)
Get the number of invariant constraints in a model.
nuxmv_fun_decl nuxmv_model_get_function(nuxmv_env env, nuxmv_model model, int fun_idx)
Get the i-th user-defined function declaration of a model.
int nuxmv_model_get_function_num(nuxmv_env env, nuxmv_model model)
Get the number of user-defined function declarations in a model.
nuxmv_expr nuxmv_model_get_trans(nuxmv_env env, nuxmv_model model, int trans_idx)
Get the i-th transition constraint of a model.
int nuxmv_model_get_input_var_num(nuxmv_env env, nuxmv_model model)
Get the number of input variables in a model.
int nuxmv_model_get_init_num(nuxmv_env env, nuxmv_model model)
Get the number of initial constraints in a model.
int nuxmv_model_get_justice_num(nuxmv_env env, nuxmv_model model)
Get the number of justice constraints in a model.
int nuxmv_model_get_frozen_var_num(nuxmv_env env, nuxmv_model model)
Get the number of frozen variables in a model.
nuxmv_expr nuxmv_model_get_invar(nuxmv_env env, nuxmv_model model, int invar_idx)
Get the i-th invariant constraint of a model.
int nuxmv_model_get_compassion_num(nuxmv_env env, nuxmv_model model)
Get the number of compassions in a model.
int nuxmv_serialize_model_to_string(nuxmv_env env, nuxmv_model model, nuxmv_model_format fmt, nuxmv_serialized_chunk_callback callback, void *user_data, char *data, size_t data_size)
Serialize a model to a string.
nuxmv_status_code nuxmv_destroy_model(nuxmv_env env, nuxmv_model model)
Destroy a model.
nuxmv_result nuxmv_model_check_deadlock(nuxmv_env env, nuxmv_model model, const nuxmv_opt *opts, size_t opt_num)
Check for deadlock freedom.
nuxmv_model nuxmv_create_model(nuxmv_env env, nuxmv_module module, const nuxmv_expr *params, size_t param_num)
Create a new model instantiating a module with the desired parameters.
nuxmv_model nuxmv_create_model_from_string(nuxmv_env env, nuxmv_model_format fmt, const char *data)
Create a model from a string.
nuxmv_result nuxmv_model_check_receptiveness(nuxmv_env env, nuxmv_model model, const nuxmv_opt *opts, size_t opt_num)
Check for receptiveness to inputs.
nuxmv_result nuxmv_model_check_property(nuxmv_env env, nuxmv_model model, nuxmv_property property, const nuxmv_opt *opts, size_t opt_num)
Check the given property on a model.
nuxmv_status_code nuxmv_module_add_input_var(nuxmv_env env, nuxmv_module module, nuxmv_var_decl var)
Add an input variable to a module.
nuxmv_status_code nuxmv_module_add_params(nuxmv_env env, nuxmv_module module, const nuxmv_expr *params, size_t param_num)
Add parameters to a module.
nuxmv_status_code nuxmv_module_add_compassion(nuxmv_env env, nuxmv_module module, nuxmv_compassion comp)
Add a compassion constraint to a module.
nuxmv_status_code nuxmv_module_add_define(nuxmv_env env, nuxmv_module module, nuxmv_define_decl decl)
Add a define declaration to a module.
nuxmv_status_code nuxmv_module_add_submodule(nuxmv_env env, nuxmv_module module, const char *name, nuxmv_module sub, const nuxmv_expr *params, size_t param_num)
Add a submodule to a module.
nuxmv_status_code nuxmv_module_add_function(nuxmv_env env, nuxmv_module module, nuxmv_fun_decl fun_decl)
Add an uninterpreted function declaration to a module.
nuxmv_status_code nuxmv_module_add_init(nuxmv_env env, nuxmv_module module, nuxmv_expr init)
Add an initial constraint to a module.
nuxmv_status_code nuxmv_module_add_property(nuxmv_env env, nuxmv_module module, nuxmv_property property)
Add a property to a module.
nuxmv_status_code nuxmv_module_add_trans(nuxmv_env env, nuxmv_module module, nuxmv_expr trans)
Add a transition constraint to a module.
nuxmv_status_code nuxmv_module_add_invar_assign(nuxmv_env env, nuxmv_module module, nuxmv_assign assign)
Add an invariant assignment to a module.
nuxmv_status_code nuxmv_module_add_frozen_var(nuxmv_env env, nuxmv_module module, nuxmv_var_decl var)
Adds a frozen variable to a module.
nuxmv_status_code nuxmv_module_add_invar(nuxmv_env env, nuxmv_module module, nuxmv_expr invar)
Add an invariant constraint to a module.
nuxmv_status_code nuxmv_module_add_init_assign(nuxmv_env env, nuxmv_module module, nuxmv_assign assign)
Add an initial assignment to a module.
nuxmv_status_code nuxmv_module_add_justice(nuxmv_env env, nuxmv_module module, nuxmv_expr justice)
Add a justice constraint to a module.
nuxmv_status_code nuxmv_module_add_next_assign(nuxmv_env env, nuxmv_module module, nuxmv_assign assign)
Add a next assignment to a module.
nuxmv_status_code nuxmv_module_add_state_var(nuxmv_env env, nuxmv_module module, nuxmv_var_decl var)
Add a state variable to a module.
int nuxmv_module_get_submodule_num(nuxmv_env env, nuxmv_module module)
Get the number of submodules in a module.
int nuxmv_module_get_function_num(nuxmv_env env, nuxmv_module module)
Get the number of uninterpreted function declarations in a module.
int nuxmv_module_get_compassion_num(nuxmv_env env, nuxmv_module module)
Get the number of compassions in a module.
int nuxmv_serialize_module_to_string(nuxmv_env env, nuxmv_module module, bool with_submodules, nuxmv_serialized_chunk_callback callback, void *user_data, char *data, size_t data_size)
Serialize a module to a string in SMV format.
nuxmv_assign nuxmv_module_get_invar_assign(nuxmv_env env, nuxmv_module module, int assign_idx)
Get the i-th invariant assignment of a module.
int nuxmv_module_get_submodule_param_num(nuxmv_env env, nuxmv_module module, int sub_idx)
Get the number of parameters in a submodule.
nuxmv_property nuxmv_module_get_property(nuxmv_env env, nuxmv_module module, int prop_idx)
Get the i-th property of a module.
nuxmv_assign nuxmv_module_get_init_assign(nuxmv_env env, nuxmv_module module, int assign_idx)
Get the i-th initial assignment of a module.
int nuxmv_module_get_trans_num(nuxmv_env env, nuxmv_module module)
Get the number of transition constraints in a module.
int nuxmv_module_get_invar_assign_num(nuxmv_env env, nuxmv_module module)
Get the number of invariant assignments in a module.
nuxmv_module nuxmv_module_get_submodule(nuxmv_env env, nuxmv_module module, int sub_idx)
Get the i-th submodule of a module.
int nuxmv_module_get_property_num(nuxmv_env env, nuxmv_module module)
Get the number of properties in a module.
const char * nuxmv_module_get_submodule_name(nuxmv_env env, nuxmv_module module, int sub_idx)
Get the name of the i-th submodule of a module.
int nuxmv_module_get_invar_num(nuxmv_env env, nuxmv_module module)
Get the number of invariant constraints in a module.
int nuxmv_module_get_init_num(nuxmv_env env, nuxmv_module module)
Get the number of initial constraints in a module.
nuxmv_var_decl nuxmv_module_get_frozen_var(nuxmv_env env, nuxmv_module module, int var_idx)
Get the i-th frozen variable of a module.
int nuxmv_module_get_state_var_num(nuxmv_env env, nuxmv_module module)
Get the number of state variables in a module.
nuxmv_expr nuxmv_module_get_justice(nuxmv_env env, nuxmv_module module, int just_idx)
Get the i-th justice constraint of a module.
nuxmv_expr nuxmv_module_get_trans(nuxmv_env env, nuxmv_module module, int trans_idx)
Get the i-th transition constraint of a module.
int nuxmv_module_get_frozen_var_num(nuxmv_env env, nuxmv_module module)
Get the number of frozen variables in a module.
nuxmv_fun_decl nuxmv_module_get_function(nuxmv_env env, nuxmv_module module, int fun_idx)
Get the i-th uninterpreted function declaration of a module.
int nuxmv_module_get_init_assign_num(nuxmv_env env, nuxmv_module module)
Get the number of initial assignments in a module.
int nuxmv_module_get_next_assign_num(nuxmv_env env, nuxmv_module module)
Get the number of next assignments in a module.
nuxmv_var_decl nuxmv_module_get_state_var(nuxmv_env env, nuxmv_module module, int var_idx)
Get the i-th state variable of a module.
nuxmv_expr nuxmv_module_get_invar(nuxmv_env env, nuxmv_module module, int invar_idx)
Get the i-th invariant constraint of a module.
const char * nuxmv_module_get_name(nuxmv_env env, nuxmv_module module)
Get the name of a module.
int nuxmv_module_get_input_var_num(nuxmv_env env, nuxmv_module module)
Get the number of input variables in a module.
int nuxmv_module_get_justice_num(nuxmv_env env, nuxmv_module module)
Get the number of justice constraints in a module.
int nuxmv_module_get_param_num(nuxmv_env env, nuxmv_module module)
Get the number of parameters of a module.
nuxmv_expr nuxmv_module_get_param(nuxmv_env env, nuxmv_module module, int param_idx)
Get the i-th parameter of a module.
nuxmv_expr nuxmv_module_get_submodule_param(nuxmv_env env, nuxmv_module module, int sub_idx, int param_idx)
Get the i-th parameter of a submodule.
nuxmv_var_decl nuxmv_module_get_input_var(nuxmv_env env, nuxmv_module module, int var_idx)
Get the i-th input variable of a module.
int nuxmv_module_get_define_num(nuxmv_env env, nuxmv_module module)
Get the number of define declarations in a module.
nuxmv_assign nuxmv_module_get_next_assign(nuxmv_env env, nuxmv_module module, int assign_idx)
Get the i-th next assignment of a module.
nuxmv_define_decl nuxmv_module_get_define(nuxmv_env env, nuxmv_module module, int def_idx)
Get the i-th define declaration of a module.
nuxmv_compassion nuxmv_module_get_compassion(nuxmv_env env, nuxmv_module module, int comp_idx)
Get the i-th compassion of a module.
nuxmv_expr nuxmv_module_get_init(nuxmv_env env, nuxmv_module module, int init_idx)
Get the i-th initial constraint of a module.
nuxmv_status_code nuxmv_destroy_module(nuxmv_env env, nuxmv_module module)
Destroy a module.
nuxmv_module nuxmv_create_module(nuxmv_env env, const char *name)
Create a new module.
nuxmv_module nuxmv_copy_module(nuxmv_env env, nuxmv_module module, const char *name)
Copy a module.
nuxmv_module nuxmv_create_module_from_property(nuxmv_env env, const char *name, nuxmv_property property, const nuxmv_opt *opts, size_t opt_num)
Create a new module out of a property.
nuxmv_property_type nuxmv_property_get_type(nuxmv_env env, nuxmv_property property)
Get the type of a property.
nuxmv_property nuxmv_make_property_from_string(nuxmv_env env, nuxmv_property_type type, const char *data, nuxmv_module scope, const char *name)
Create a property from string.
nuxmv_property nuxmv_make_property(nuxmv_env env, nuxmv_property_type type, nuxmv_expr expr, const char *name)
Create a new property.
nuxmv_result nuxmv_property_check_satisfiability(nuxmv_env env, nuxmv_property property, const nuxmv_opt *opts, size_t opt_num)
Create the satisfiability of a property.
nuxmv_expr nuxmv_property_get_expr(nuxmv_env env, nuxmv_property property)
Get the expression of a property.
const char * nuxmv_property_get_name(nuxmv_env env, nuxmv_property property)
Get the name of a property.
nuxmv_trace nuxmv_result_get_trace(nuxmv_env env, nuxmv_result result)
Get the trace stored in a nuxmv_result.
nuxmv_result_code nuxmv_result_get_code(nuxmv_env env, nuxmv_result result)
Get the code out of a result.
nuxmv_status_code nuxmv_destroy_simulation(nuxmv_env env, nuxmv_simulation simulation)
Destroy a simulation.
nuxmv_simulation nuxmv_create_simulation(nuxmv_env env, nuxmv_model model, nuxmv_simulation_constraint constraint, const nuxmv_opt *opts, size_t opt_num)
Create a new simulation for a model.
nuxmv_result nuxmv_simulation_get_result(nuxmv_env env, nuxmv_simulation simulation)
Get the result out of a simulation.
nuxmv_status_code nuxmv_extend_simulation(nuxmv_env env, nuxmv_simulation simulation, size_t k, nuxmv_simulation_constraint constraint)
Extend the simulation by k steps.
nuxmv_property_type
Property types.
Definition nuxmv.h:492
nuxmv_expr_visit_status(* nuxmv_expr_visit_callback)(nuxmv_env env, nuxmv_expr expr, void *user_data)
Type for user-defined callback functions when visiting an expression.
Definition nuxmv.h:322
nuxmv_trace_format
Trace formats.
Definition nuxmv.h:555
nuxmv_expr_visit_status
States when visiting an expression.
Definition nuxmv.h:300
nuxmv_expr_type_tag
Tags for expression types.
Definition nuxmv.h:116
nuxmv_var_type_tag
Definition nuxmv.h:144
bool(* nuxmv_serialized_chunk_callback)(char *chunk, size_t chunk_size, void *user_data)
Type for callback function when processing serialized streams.
Definition nuxmv.h:639
nuxmv_expr_visit_order
Visiting order.
Definition nuxmv.h:283
nuxmv_op_tag
Operators.
Definition nuxmv.h:193
nuxmv_model_format
Model formats.
Definition nuxmv.h:464
nuxmv_result_code
Result codes.
Definition nuxmv.h:522
@ NUXMV_PROPERTY_INVARSPEC
Definition nuxmv.h:496
@ NUXMV_PROPERTY_INVALID
Definition nuxmv.h:494
@ NUXMV_PROPERTY_LTLSPEC
Definition nuxmv.h:498
@ NUXMV_TRACE_FORMAT_XML
Definition nuxmv.h:557
@ NUXMV_EXPR_VISIT_SKIP
Definition nuxmv.h:302
@ NUXMV_EXPR_VISIT_PROCESS
Definition nuxmv.h:301
@ NUXMV_EXPR_VISIT_ABORT
Definition nuxmv.h:303
@ NUXMV_TYPE_ENUM
Definition nuxmv.h:121
@ NUXMV_TYPE_INVALID
Definition nuxmv.h:117
@ NUXMV_TYPE_FUNCTION
Definition nuxmv.h:126
@ NUXMV_TYPE_BOOL
Definition nuxmv.h:118
@ NUXMV_TYPE_INT
Definition nuxmv.h:119
@ NUXMV_TYPE_REAL
Definition nuxmv.h:120
@ NUXMV_TYPE_UNSIGNED_WORD
Definition nuxmv.h:124
@ NUXMV_TYPE_SIGNED_WORD
Definition nuxmv.h:123
@ NUXMV_TYPE_SET
Definition nuxmv.h:122
@ NUXMV_TYPE_ARRAY
Definition nuxmv.h:125
@ NUXMV_TYPE_LAST_
Definition nuxmv.h:127
@ NUXMV_VAR_TYPE_INT_RANGE
Definition nuxmv.h:151
@ NUXMV_VAR_TYPE_UNSIGNED_WORD
Definition nuxmv.h:153
@ NUXMV_VAR_TYPE_LAST_
Definition nuxmv.h:156
@ NUXMV_VAR_TYPE_FUNCTION
Definition nuxmv.h:155
@ NUXMV_VAR_TYPE_REAL
Definition nuxmv.h:148
@ NUXMV_VAR_TYPE_ENUM
Definition nuxmv.h:149
@ NUXMV_VAR_TYPE_SIGNED_WORD
Definition nuxmv.h:152
@ NUXMV_VAR_TYPE_ARRAY
Definition nuxmv.h:154
@ NUXMV_VAR_TYPE_INT_ENUM
Definition nuxmv.h:150
@ NUXMV_VAR_TYPE_INT
Definition nuxmv.h:147
@ NUXMV_VAR_TYPE_INVALID
Definition nuxmv.h:145
@ NUXMV_VAR_TYPE_BOOL
Definition nuxmv.h:146
@ NUXMV_EXPR_VISIT_PRE_ORDER
Definition nuxmv.h:285
@ NUXMV_EXPR_VISIT_POST_ORDER
Definition nuxmv.h:287
@ NUXMV_OP_SET_UNION
Definition nuxmv.h:267
@ NUXMV_OP_ACOS
Definition nuxmv.h:220
@ NUXMV_OP_LT
Definition nuxmv.h:207
@ NUXMV_OP_ARRAY_WRITE
Definition nuxmv.h:251
@ NUXMV_OP_CAST_SIGNED
Definition nuxmv.h:259
@ NUXMV_OP_LN
Definition nuxmv.h:226
@ NUXMV_OP_NEGATIVE_NUM
Definition nuxmv.h:210
@ NUXMV_OP_ABS
Definition nuxmv.h:219
@ NUXMV_OP_MOD
Definition nuxmv.h:215
@ NUXMV_OP_EXTEND
Definition nuxmv.h:264
@ NUXMV_OP_BIT_SELECTION
Definition nuxmv.h:253
@ NUXMV_OP_NOT
Definition nuxmv.h:197
@ NUXMV_OP_IMPLIES
Definition nuxmv.h:200
@ NUXMV_OP_FINALLY
Definition nuxmv.h:238
@ NUXMV_OP_IFF
Definition nuxmv.h:201
@ NUXMV_OP_MINUS
Definition nuxmv.h:212
@ NUXMV_OP_LTE
Definition nuxmv.h:208
@ NUXMV_OP_ATAN
Definition nuxmv.h:222
@ NUXMV_OP_LSHIFT
Definition nuxmv.h:216
@ NUXMV_OP_TAN
Definition nuxmv.h:233
@ NUXMV_OP_CAST_UNSIGNED_WORD
Definition nuxmv.h:262
@ NUXMV_OP_MIN
Definition nuxmv.h:228
@ NUXMV_OP_PI
Definition nuxmv.h:229
@ NUXMV_OP_IFTHENELSE
Definition nuxmv.h:270
@ NUXMV_OP_POW
Definition nuxmv.h:230
@ NUXMV_OP_RELEASE
Definition nuxmv.h:241
@ NUXMV_OP_GLOBALLY
Definition nuxmv.h:237
@ NUXMV_OP_UF
Definition nuxmv.h:272
@ NUXMV_OP_XNOR
Definition nuxmv.h:199
@ NUXMV_OP_INVALID
Definition nuxmv.h:194
@ NUXMV_OP_ONCE
Definition nuxmv.h:244
@ NUXMV_OP_RESIZE
Definition nuxmv.h:265
@ NUXMV_OP_EXP
Definition nuxmv.h:224
@ NUXMV_OP_NEXT
Definition nuxmv.h:239
@ NUXMV_OP_EQ
Definition nuxmv.h:203
@ NUXMV_OP_LAST_
Definition nuxmv.h:274
@ NUXMV_OP_GT
Definition nuxmv.h:205
@ NUXMV_OP_NEQ
Definition nuxmv.h:204
@ NUXMV_OP_RSHIFT
Definition nuxmv.h:217
@ NUXMV_OP_FLOOR
Definition nuxmv.h:225
@ NUXMV_OP_ARRAY_READ
Definition nuxmv.h:250
@ NUXMV_OP_UNTIL
Definition nuxmv.h:240
@ NUXMV_OP_NEXT_FUNCTION
Definition nuxmv.h:235
@ NUXMV_OP_CAST_BOOL
Definition nuxmv.h:257
@ NUXMV_OP_GTE
Definition nuxmv.h:206
@ NUXMV_OP_CAST_TOINT
Definition nuxmv.h:258
@ NUXMV_OP_WORD_CONCAT
Definition nuxmv.h:254
@ NUXMV_OP_CAST_UNSIGNED
Definition nuxmv.h:260
@ NUXMV_OP_ASIN
Definition nuxmv.h:221
@ NUXMV_OP_CAST_SIGNED_WORD
Definition nuxmv.h:261
@ NUXMV_OP_CAST_WORD1
Definition nuxmv.h:256
@ NUXMV_OP_TRIGGERED
Definition nuxmv.h:247
@ NUXMV_OP_PLUS
Definition nuxmv.h:211
@ NUXMV_OP_SIN
Definition nuxmv.h:231
@ NUXMV_OP_YESTERDAY
Definition nuxmv.h:245
@ NUXMV_OP_TIMES
Definition nuxmv.h:213
@ NUXMV_OP_DIV
Definition nuxmv.h:214
@ NUXMV_OP_SINCE
Definition nuxmv.h:246
@ NUXMV_OP_OR
Definition nuxmv.h:196
@ NUXMV_OP_AND
Definition nuxmv.h:195
@ NUXMV_OP_COS
Definition nuxmv.h:223
@ NUXMV_OP_HISTORICALLY
Definition nuxmv.h:243
@ NUXMV_OP_XOR
Definition nuxmv.h:198
@ NUXMV_OP_SQRT
Definition nuxmv.h:232
@ NUXMV_OP_INDEX_ACCESS
Definition nuxmv.h:249
@ NUXMV_OP_SET_IN
Definition nuxmv.h:268
@ NUXMV_OP_MAX
Definition nuxmv.h:227
@ NUXMV_MODEL_FORMAT_AIG
Definition nuxmv.h:470
@ NUXMV_MODEL_FORMAT_VMT
Definition nuxmv.h:468
@ NUXMV_MODEL_FORMAT_SMV
Definition nuxmv.h:466
@ NUXMV_RESULT_UNKNOWN
Definition nuxmv.h:530
@ NUXMV_RESULT_FALSE
Definition nuxmv.h:526
@ NUXMV_RESULT_INVALID
Definition nuxmv.h:524
@ NUXMV_RESULT_TRUE
Definition nuxmv.h:528
size_t nuxmv_symbol_get_id(nuxmv_env env, nuxmv_symbol sym)
Get the ID of a symbol.
int nuxmv_symbol_is_scoped(nuxmv_env env, nuxmv_symbol symbol)
Test whether a symbol is scoped.
nuxmv_symbol nuxmv_symbol_get_scope(nuxmv_env env, nuxmv_symbol symbol)
Get the scope of a symbol.
nuxmv_symbol nuxmv_make_scoped_symbol(nuxmv_env env, const char *name, nuxmv_symbol scope)
Create a new symbol with the given name and context.
const char * nuxmv_symbol_get_name(nuxmv_env env, nuxmv_symbol symbol)
Get the name of a symbol.
nuxmv_symbol nuxmv_make_symbol(nuxmv_env env, const char *name)
Create a new symbol.
int nuxmv_trace_get_step_num(nuxmv_env env, nuxmv_trace trace)
Get the number of steps in a trace.
nuxmv_trace_value nuxmv_trace_get_step_state(nuxmv_env env, nuxmv_trace trace, int step_idx, int var_idx)
Get the value of a state variable from the i-th step of a trace.
int nuxmv_trace_get_function_num(nuxmv_env env, nuxmv_trace trace)
Get the number of uninterpreted functions in a trace.
int nuxmv_trace_get_step_input_num(nuxmv_env env, nuxmv_trace trace, int step_idx)
Get the number of input variables in a trace.
nuxmv_trace_value nuxmv_trace_get_step_input(nuxmv_env env, nuxmv_trace trace, int step_idx, int var_idx)
Get the value of an input variable from the i-th step of a trace.
int nuxmv_trace_get_step_define_num(nuxmv_env env, nuxmv_trace trace, int step_idx)
Get the number of defines in a trace.
int nuxmv_trace_get_loopback(nuxmv_env env, nuxmv_trace trace)
Get the the step the trace loops back, if any.
int nuxmv_trace_get_step_state_num(nuxmv_env env, nuxmv_trace trace, int step_idx)
Get the number of state variables in a trace.
nuxmv_trace_value nuxmv_trace_get_function(nuxmv_env env, nuxmv_trace trace, int fun_idx)
Get the value of a uninterpreted function from a trace.
nuxmv_trace_value nuxmv_trace_get_step_define(nuxmv_env env, nuxmv_trace trace, int step_idx, int def_idx)
Get the value of a define from the i-th step of a trace.
int nuxmv_serialize_trace_to_string(nuxmv_env env, nuxmv_trace trace, nuxmv_trace_format fmt, nuxmv_serialized_chunk_callback callback, void *user_data, char *data, size_t data_size)
Serialize a trace to a string.
nuxmv_result nuxmv_trace_check_property(nuxmv_env env, nuxmv_trace trace, nuxmv_property property, nuxmv_model model, const nuxmv_opt *opts, size_t opt_num)
Check a property on a trace.
nuxmv_trace nuxmv_make_trace_from_string(nuxmv_env env, nuxmv_trace_format fmt, const char *data, nuxmv_model model)
Make a trace from string.
nuxmv_expr nuxmv_var_type_get_domain_element(nuxmv_env env, nuxmv_var_type var_type, int elem_idx)
Get the domain element at the given index of a var type with domain.
int nuxmv_var_type_get_domain_num(nuxmv_env env, nuxmv_var_type var_type)
Get the number of elements of a var type with domain.
nuxmv_expr_type nuxmv_var_type_get_expr_type(nuxmv_env env, nuxmv_var_type var_type)
Get the expression type corresponding to a variable type.
int nuxmv_var_type_integer_range_get_min(nuxmv_env env, nuxmv_var_type var_type)
Get the min value an integer range var type.
nuxmv_var_type nuxmv_make_var_type_array(nuxmv_env env, nuxmv_var_type idx, nuxmv_var_type elem)
Builds an array var_type.
int nuxmv_var_type_integer_range_get_max(nuxmv_env env, nuxmv_var_type var_type)
Get the max value an integer range var type.
size_t nuxmv_var_type_get_id(nuxmv_env env, nuxmv_var_type var_type)
Get the ID of a var type.
nuxmv_var_type_tag nuxmv_var_type_get_tag(nuxmv_env env, nuxmv_var_type var_type)
Get the tag of a var_type.
nuxmv_var_type nuxmv_make_var_type_with_domain(nuxmv_env env, const nuxmv_expr *domain, size_t domain_num)
Get the variable type corresponding to an enumerative.
nuxmv_var_type nuxmv_var_type_array_get_element(nuxmv_env env, nuxmv_var_type var_type)
Get the var type of the element of an array var type.
nuxmv_var_type nuxmv_make_simple_var_type(nuxmv_env env, nuxmv_expr_type type)
Get the variable type corresponding to a type.
nuxmv_var_type nuxmv_var_type_array_get_index(nuxmv_env env, nuxmv_var_type var_type)
Get the var type of the index of an array var type.
nuxmv_var_type nuxmv_make_var_type_with_integer_range(nuxmv_env env, int min, int max)
Returns the var_type corresponding to the selected bounded int type.
nuxmv_status_code
Status codes.
Definition nuxmv.h:55
@ NUXMV_SUCCESS
Definition nuxmv.h:59
@ NUXMV_FAILURE
Definition nuxmv.h:57
nuxmv_module nuxmv_model_get_root_module(nuxmv_env env, nuxmv_model model)
Get the root module of a model.
Assignment.
Definition nuxmv.h:409
nuxmv_expr lhs
Definition nuxmv.h:411
nuxmv_expr rhs
Definition nuxmv.h:413
Compassion constraint.
Definition nuxmv.h:428
nuxmv_expr q
Definition nuxmv.h:432
nuxmv_expr p
Definition nuxmv.h:430
Define declaration.
Definition nuxmv.h:450
nuxmv_expr body
Definition nuxmv.h:454
nuxmv_expr identifier
Definition nuxmv.h:452
Environment object.
Definition nuxmv.h:77
void * repr
Definition nuxmv.h:79
Expression type object.
Definition nuxmv.h:104
void * repr
Definition nuxmv.h:106
Expression object.
Definition nuxmv.h:181
void * repr
Definition nuxmv.h:183
Function declaration.
Definition nuxmv.h:387
nuxmv_symbol identifier
Definition nuxmv.h:389
nuxmv_var_type fun_type
Definition nuxmv.h:391
Model object.
Definition nuxmv.h:480
void * repr
Definition nuxmv.h:482
Module object.
Definition nuxmv.h:333
void * repr
Definition nuxmv.h:335
Option object as key-value pair.
Definition nuxmv.h:83
const char * value
Definition nuxmv.h:87
const char * key
Definition nuxmv.h:85
Property object.
Definition nuxmv.h:508
void * repr
Definition nuxmv.h:510
Result code object.
Definition nuxmv.h:543
void * repr
Definition nuxmv.h:545
Simulation constraint object.
Definition nuxmv.h:592
nuxmv_expr trans_constraint
Definition nuxmv.h:602
size_t trace_start
Definition nuxmv.h:606
nuxmv_expr simple_constraint
Definition nuxmv.h:597
nuxmv_trace trace
Definition nuxmv.h:604
nuxmv_expr ltl_formula
Definition nuxmv.h:612
Simulation object.
Definition nuxmv.h:578
void * repr
Definition nuxmv.h:580
Symbol object.
Definition nuxmv.h:166
void * repr
Definition nuxmv.h:168
Symbol value.
Definition nuxmv.h:369
nuxmv_expr value
Definition nuxmv.h:373
nuxmv_expr identifier
Definition nuxmv.h:371
Trace object.
Definition nuxmv.h:567
void * repr
Definition nuxmv.h:569
Variable declaration.
Definition nuxmv.h:349
nuxmv_symbol identifier
Definition nuxmv.h:351
nuxmv_var_type var_type
Definition nuxmv.h:353
Variable type object.
Definition nuxmv.h:139
void * repr
Definition nuxmv.h:141