00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00039 #ifndef __NUSMV_CORE_WFF_WFF_H__
00040 #define __NUSMV_CORE_WFF_WFF_H__
00041
00042 #include "nusmv/core/utils/utils.h"
00043 #include "nusmv/core/node/node.h"
00044 #include "nusmv/core/compile/symb_table/SymbTable.h"
00045 #include "nusmv/core/wff/wffRewrite.h"
00046 #include "nusmv/core/wff/ExprMgr.h"
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00065 void wff_pkg_init(const NuSMVEnv_ptr env);
00066
00074 void wff_pkg_quit(const NuSMVEnv_ptr env);
00075
00076
00077
00078
00087 int Wff_get_depth(const NuSMVEnv_ptr env, node_ptr ltl_wff);
00088
00096 node_ptr Wff_make_truth(NodeMgr_ptr nodemgr);
00097
00105 node_ptr Wff_make_falsity(NodeMgr_ptr nodemgr);
00106
00114 node_ptr Wff_make_not(NodeMgr_ptr nodemgr,
00115 node_ptr arg);
00116
00124 node_ptr Wff_make_and(NodeMgr_ptr nodemgr,
00125 node_ptr arg1, node_ptr arg2);
00126
00134 node_ptr Wff_make_or(NodeMgr_ptr nodemgr,
00135 node_ptr arg1, node_ptr arg2);
00136
00144 node_ptr Wff_make_implies(NodeMgr_ptr nodemgr,
00145 node_ptr arg1, node_ptr arg2);
00146
00154 node_ptr Wff_make_iff(NodeMgr_ptr nodemgr,
00155 node_ptr arg1, node_ptr arg2);
00156
00164 node_ptr Wff_make_next(NodeMgr_ptr nodemgr,
00165 node_ptr arg);
00166
00174 node_ptr Wff_make_opnext_times(NodeMgr_ptr nodemgr,
00175 node_ptr arg, int x);
00176
00184 node_ptr Wff_make_opnext(NodeMgr_ptr nodemgr,
00185 node_ptr arg);
00186
00194 node_ptr Wff_make_opprec(NodeMgr_ptr nodemgr,
00195 node_ptr arg);
00196
00204 node_ptr Wff_make_opnotprecnot(NodeMgr_ptr nodemgr,
00205 node_ptr arg);
00206
00214 node_ptr Wff_make_globally(NodeMgr_ptr nodemgr,
00215 node_ptr arg);
00216
00224 node_ptr Wff_make_historically(NodeMgr_ptr nodemgr,
00225 node_ptr arg);
00226
00234 node_ptr Wff_make_eventually(NodeMgr_ptr nodemgr,
00235 node_ptr arg);
00236
00244 node_ptr Wff_make_once(NodeMgr_ptr nodemgr,
00245 node_ptr arg);
00246
00254 node_ptr Wff_make_until(NodeMgr_ptr nodemgr,
00255 node_ptr arg1, node_ptr arg2);
00256
00264 node_ptr Wff_make_since(NodeMgr_ptr nodemgr,
00265 node_ptr arg1, node_ptr arg2);
00266
00274 node_ptr Wff_make_releases(NodeMgr_ptr nodemgr,
00275 node_ptr arg1, node_ptr arg2);
00276
00284 node_ptr Wff_make_triggered(NodeMgr_ptr nodemgr,
00285 node_ptr arg1, node_ptr arg2);
00286
00287
00288
00289
00299 boolean Wff_is_propositional(SymbTable_ptr symb_table,
00300 node_ptr wff,
00301 node_ptr context,
00302 boolean is_next_allowed);
00303
00304
00305 #endif