-
BmcBexpOutput()
- Write to specified FILE stream given node_ptr
formula with specified output_type format. There are
follow formats: BMC_BEXP_OUTPUT_SMV, BMC_BEXP_OUTPUT_LB
-
BmcIntFreeListOfLists()
- Destroys a list of list
-
BmcSatGenInvar()
- Generates the invariant problem taking a INVAR
specification, and writes the problem into a dimacs file
-
BmcSatGenProblemKL()
-
-
BmcSatGenProblemK()
- Generates the problem taking into account of k
parameter, and writes the problem into a dimacs file
-
BmcSatSolveFalsificationProblem()
- Given a problem calls the solver and returns a
counterexample if there is any
-
BmcSatSolveInvar()
- BmcSatSolveInvar
-
BmcShiftingHashInit()
- Initializes private hast table member for shifting
operations
-
BmcShiftingHashQuit()
- Deletes private hast table member for shifting
operations
-
BmcVarsMgrInit()
- Initialize BMC Variables Manager
-
BmcVarsMgrQuit()
- Quit from BMC Variables Manager
-
Bmc_AddCmd()
- Adds all bmc-related commands to the interactive shell
-
Bmc_Bexp2Rbc()
- Converts given boolean expression into
correspondent reduced boolean circuit
-
Bmc_CallSatoSolver()
- Interface to external solver SATO.
-
Bmc_CallSimSolver()
- Bmc interface to Sim as internal solver
-
Bmc_CheckFairnessListForPropositionalFormulae()
- Help function to simplify calling to 'bmc_check_wff_list'
for searching of propositional only wff. Returns a new list of wffs which
contains legal wff only
-
Bmc_ConvertLoopbackFromInteger()
- Given an integer containing the inner representation
of the loopback value, returns as parameter the corresponding user-side
value as string.
-
Bmc_ConvertLoopbackFromString()
- Given a string representing a loopback possible value,
returns the integer corresponding value as parameter. Returns SUCCESS if
conversion was possible, SYNTAX_ERROR otherwise
-
Bmc_CurrNextShiftAtTimes()
- Shift given current, next expression at
specified ctime (current vars at time) and ntime (next
vars at time)
-
Bmc_CurrNextShiftAtTime()
- Shift given current, next expression at
specified time
-
Bmc_CurrShiftToNext()
- Shift given current expression at
next time
-
Bmc_Curvar2Nextvar()
- Given a rbc current variable, returns the rbc variable
corrisponding to the next variables block
-
Bmc_Curvar2Statevar()
- Given a rbc representation of a variable, returns the
relative state variable
-
Bmc_Curvar2Timedvar()
- Given a rbc current variable, returns the rbc variable
corrisponding to the 'time' index variables block
-
Bmc_DavinciWriteProblem()
- Dumps Davinci format to a specified file
-
Bmc_DimacsWriteProblem()
- Writes a BMC problem in Dimacs format.
-
Bmc_ExtendsMaxtime()
- Extends maxtime at given
new_maxtime
-
Bmc_GenSolveInvar()
- Genetate DIMACS version and/or solve and INVARSPEC
problem.
-
Bmc_GenSolvePbs()
- Given a LTL property generates and solve the problems
for all Ki (k_min<=i<=k_max). If bIncreaseK is 0 then k_min==k_max==k and
only one problem is generated. If bIncreaseK is 1 then k_min == 0 and
k_max == k.
Each problem Ki takes into account of all possible loops from k_min to Ki
if loopback is '*' (BMC_ALL_LOOPS).
If bCreateDimacs == TRUE then create dimacs before solving.
Solver is called only if bSolve == TRUE, otherwise each problem is only
generated and dumped to dimacs file
-
Bmc_GetIthCurvar()
- As Bmc_GetIthStatevar but in terms of rbc
representation
-
Bmc_GetIthNextvar()
- As Bmc_GetIthCurvar but relatively to next state
variables block
-
Bmc_GetIthStatevar()
- Given the relative index returns the state variable
which addresses
-
Bmc_GetIthTimedvar()
- As Bmc_GetIthNextvar but relatively to 'time' indexed
state variables block
-
Bmc_GetLtlWffDepth()
- Returns the modal depth of the given formula
-
Bmc_Init()
- Initializes the BMC model manager structure
-
Bmc_IsPropositionalFormula()
- Given a wff returns 1 if wff is a propositional formula,
zero (0) otherwise.
-
Bmc_LtlWffMkNnfToplevel()
- Make the negative normal form of given WFF
-
Bmc_MapBexp2Rbc()
- Converts given boolean expressions list
into correspondent reduced boolean circuits list
-
Bmc_MkAndCurrNextInterval()
- Make an AND interval of given expression using
range [from, to]
-
Bmc_MkEventuallyTableauAtTime()
- Resolves the future operator, and builds a conjunctive
expression of tableaus, by iterating intime up to k in a different manner
depending on the [l, k] interval form
-
Bmc_MkGloballyTableauAtTime()
- As Bmc_MkEventuallyTableauAtTime, but builds a
conjunctioned expression in order to be able to assure a global constraint
-
Bmc_MkInvariantProblem()
- Builds and returns the invariant problem of the given propositional formula
-
Bmc_MkLoopbackLtl()
- For each variable p in the set of state variables,
generates the global equivalence of p and X^(loop length), starting from
the loop start
-
Bmc_MkNextTableauAtTime()
- Resolve the NEXT operator, building the tableau for
its argument
-
Bmc_MkOrCurrNextInterval()
- Make an OR interval of given expression using
range [from, to]
-
Bmc_MkProblem_k_l()
- Returns the problem at length k with loopback l
(possibly BMC_NO_LOOP)
-
Bmc_MkProblem_k()
- Returns all problems for the model at length k with
all loops from 0 to k
-
Bmc_MkReleasesTableauAtTime()
- Builds an expression which evaluates the release
operator
-
Bmc_MkTableauAtTime()
- Given a wff expressed in ltl builds the model-independent
tableau at 'time' of a path formula bounded by [k, l]
-
Bmc_MkTableau_k_Noloop()
- Builds tableau without loop at time zero, taking account
of fairnesses
-
Bmc_MkTableau_k_l()
- Builds the tableau at time zero. Loop is allowed
-
Bmc_MkUntilTableauAtTime()
- Builds an expression which evaluates the until operator
-
Bmc_Mk_k_Path()
- Returns the path for the model from 0 to k,
taking into account initial conditions and invariants
-
Bmc_Nextvar2Curvar()
- Given a variable which belongs to the next block of
variables, returns the corrisponding current variable in rbc form
-
Bmc_Nextvar2Statevar()
- Given a variable which belongs to the next block of
variables, returns the corrisponding state variable
-
Bmc_Nextvar2Timedvar()
- Given a rbc next variable, returns the rbc variable
corrisponding to the 'time' index variables block
-
Bmc_Quit()
- Frees all resources allocated for the BMC model manager
-
Bmc_Rbc2Bexp()
- Given an rbc, constructs the corresponding boolean
expression
-
Bmc_RbcAnd()
- Builds a new rbc which is the conjunction between
its two arguments
-
Bmc_RbcFalsity()
- Builds a rbc 'false' constant value
-
Bmc_RbcIff()
- Builds a new rbc which is the logical equivalence
between its two arguments
-
Bmc_RbcImplies()
- Builds a new rbc which is the implication between
its two arguments
-
Bmc_RbcIsFalse()
- Returns 1 if the given rbc is the false value,
otherwise returns 0
-
Bmc_RbcIsTrue()
- Returns 1 if the given rbc is the true value,
otherwise returns 0
-
Bmc_RbcIte()
- Builds an if-then-else operation rbc
-
Bmc_RbcNot()
- Negates its rbc argument
-
Bmc_RbcOr()
- Builds a new rbc which is the disjunction of
its two arguments
-
Bmc_RbcTruth()
- Builds a rbc 'true' constant value
-
Bmc_RbcVarShift()
- Creates a fresh copy G(X') of the rbc F(X) by shifting
each variable index of a given amount
-
Bmc_RbcXor()
- Builds a new rbc which is the exclusive-disjunction
of its two arguments
-
Bmc_Statevar2Curvar()
- Search the association from given state variable and
its relative rbc representation, and returns the rbc form
-
Bmc_Statevar2Nextvar()
- As Bmc_Curvar2Nextvar but current variable must be
supplied in state variable form instead of rbc form
-
Bmc_Statevar2Timedvar()
- As Bmc_Curvar2Timedvar but current variable must be
supplied in state variable form instead of rbc form
-
Bmc_StripPathExt()
- Returns filename without path and extension
-
Bmc_StripPath()
- Return pathname without path prefix
-
Bmc_TestReset()
- Call this function to reset the test sub-package (into
the reset command for example)
-
Bmc_TestTableau()
- The first time Bmc_TestTableau is called in the current
session this function creates a smv file with a model and generates a random
ltl spec to test tableau. The following times it is called it appends a new
formula to the file.
-
Bmc_TestVarsMgr()
- Bmc_TestVarsMgr
-
Bmc_Time2Firstvar()
- Returns the first variable in rbc form which belongs to
the given block of variables indexed by 'time'
-
Bmc_Timedvar2Curvar()
- Given a variable which belongs to a timed block of
variables, returns the corrisponding current variable in rbc form
-
Bmc_Timedvar2Nextvar()
- Given a variable which belongs to a timed block of
variables, returns the corrisponding variable in rbc form which belongs to
the next block of variables
-
Bmc_Timedvar2Statevar()
- Given a variable which belongs to a timed block of
variables, returns the corrisponding state variable
-
Bmc_VarIndex2StateVarIndex()
- Given the index of a timed variable, returns the index
of the corresponding state variable
-
Bmc_VarIndex2Time()
- Given a variable index returns the corresponding time
-
Bmc_VarsMgrGetMaxtime()
- Returns the
maximum time currently handled by the variable environment
-
Bmc_VarsMgrGetNum()
- Returns the
number of variables currently handled by the Variables Manager
-
Bmc_VarsMgrGetRbcMgr()
- Returns the
variable environment data structure
-
Bmc_WffListMatchProperty()
- For each element belonging to a given list of wffs,
calls the given matching function. If function matches, calls given
answering function
-
Bmc_WffMkAnd()
- Make an and WFF
-
Bmc_WffMkBinary()
- Make a binary WFF
-
Bmc_WffMkConst()
- Make a constant WFF
-
Bmc_WffMkEventually()
- Make an eventually WFF
-
Bmc_WffMkFalsity()
- Make a false WFF
-
Bmc_WffMkGlobally()
- Make a globally WFF
-
Bmc_WffMkIff()
- Make an iff WFF
-
Bmc_WffMkImplies()
- Make an implies WFF
-
Bmc_WffMkNext()
- Make a next WFF
-
Bmc_WffMkNot()
- Make a not WFF
-
Bmc_WffMkOpNext()
- Make an op_next WFF
-
Bmc_WffMkOr()
- Make an or WFF
-
Bmc_WffMkReleases()
- Make a releases WFF
-
Bmc_WffMkTruth()
- Make a truth WFF
-
Bmc_WffMkUnary()
- Make a unary WFF
-
Bmc_WffMkUntil()
- Make an until WFF
-
Bmc_WffMkXopNext()
- Applies op_next x times
-
CallSimSolver()
- A simple function to interface a call to Sim.
If the sim solver successfully returns a model, the representation of that
model can be found into the list lsResult, which must be previously created.
Returns:
- SAT_INTERNAL_ERROR if an error occurred
- SAT_UNSATISFIABLE_PROBLEM if the formula is unsatisfiable
- SAT_SATISFIABLE_PROBLEM if the assignment satisfying
the formula. In this case lsResult points to a list of literals
-
CnfWriteDimacs()
- Ouput a list of clauses on a DIMACS file.
-
CommandBmcLtlsat()
- Builds a problem for given k and l, then
calls the solver
-
CommandBmcSetup()
- Initializes the bmc sub-system, and builds the model in
RBC format
-
CommandBmcSimulate()
- CommandBmcSimulate generates a trace of the problem
represented from the simple path from 0 (zero) to k
-
CommandCheckInvarBmc()
- Generates and solve the given invariant, or all
invariants if no formula is given
-
CommandCheckLtlSpecBmcOnePb()
- Checks the given LTL specification, or all LTL
specifications if no formula is given. Checking parameters are the problem
length and the loopback values
-
CommandCheckLtlSpecBmc()
- Checks the given LTL specification, or all LTL
specifications if no formula is given. Parameters are the maximum
length and the loopback values
-
CommandGenInvarBmc()
- Generates and dumps the problem for the given
invariant or for all invariants if no formula is given. SAT solver is not
invoked.
-
CommandGenLtlSpecBmcOnePb()
- Generates only one problem of fixed length and
loopback, and dumps the problem to a dimacs file. The single problem
is dumped for the given LTL specification, or for all LTL
specifications if no formula is given
-
CommandGenLtlSpecBmc()
- Generates length_max+1 problems iterating length from
zero to length_max, and dumps each problem to a dimacs file. Each problem
is dumped for the given LTL specification, or for all LTL
specifications if no formula is given. Generation parameters are the maximum
length and the loopback values
-
Prop_GetRbcFsmCoi()
- Builds the RBC model, applying the cone of influence
if it has been enabled by user.
-
Rbc2bexpDfsData_head()
- Rbc2bexpDfsData_head
-
Rbc2bexpDfsData_pop()
- Rbc2bexpDfsData_pop
-
Rbc2bexpDfsData_push()
- Sets a node into the stack
-
Rbc2bexp_Back()
- Rbc2bexp_Back
-
Rbc2bexp_First()
- Rbc2bexpFirst
-
Rbc2bexp_Last()
- Rbc2bexp_Last
-
Rbc2bexp_Set()
- Rbc2bexpSet
-
UsageBmcCheckInvar()
- Usage string for command check_invar_bmc
-
UsageBmcCheckLtlSpecOnePb()
- Usage string for command check_ltlspec_bmc_onepb
-
UsageBmcCheckLtlSpec()
- Usage string for command check_ltlspec_bmc
-
UsageBmcGenInvar()
- Usage string for command gen_invar_bmc
-
UsageBmcGenLtlSpecOnePb()
- Usage string for command gen_ltlspec_bmc_onepb
-
UsageBmcGenLtlSpec()
- Usage string for command gen_ltlspec_bmc
-
UsageBmcLtlsat()
- Usage string for UsageBmcLtlsat
-
UsageBmcSetup()
- Usage string for CommandBmcSetup
-
UsageBmcSimulate()
- Usage string for UsageBmcSimulate
-
UsageBmcTestTableau()
- Usage string for Bmc_TestTableau
-
bmcRestoreDimacsFilenames()
- Restores the original value of dimacs filenames option
-
bmcSaveDimacsFilenames()
- Stores current default dimacs filenames into a buffer
-
bmcSave_k_l()
- Stores current vaues of length and loopback into two
given variables
-
bmc_CommandsWith_k_l_OptionsHandling()
- Bmc commands options handling for commands with
-k and -l options
-
bmc_CommandsWithout_k_l_OptionsHandling()
- Bmc commands options handling for commands without
-k and -l options
-
bmc_add_valid_wff_to_list()
- private service for
Bmc_CheckFairnessListForPropositionalFormulae
-
bmc_check_if_wff_is_valid()
- private service for
Bmc_CheckFairnessListForPropositionalFormulae
-
bmc_gen_tableau_test()
- Given a WFF in NNF, converts it into a tableau
formula, then back to WFF_(k,l) and returns WFF -> WFF_(k,l)
-
bmc_gen_wff()
- Builds a random LTL WFF with specified
max depth and max connectives.
-
bmc_is_propositional_formula_aux()
- Useful wrapper for
Bmc_CheckFairnessListForPropositionalFormulae
-
bmc_mk_all_loops()
- Builds the disjunction of all the loops from 0 to k
-
bmc_mk_fairness()
- Generates and returns an expression representing
all fairnesses in a conjunctioned form
-
bmc_mk_j_k_unrolling()
- Unrolls the transition relation from j to k, taking
into account invars over next variables
-
bmc_mk_loopback()
- Shifts current and next vars in trans expression
respectively to k and l steps, if a loop exists.
Returns truth if no loop exists
-
bmc_mk_releasestableau_at_time_aux()
- auxiliary part of Bmc_MkReleasesTableauAtTime
-
bmc_mk_tableau_k_loops_depth1()
- Builds tableau for all possible loops in [l, k], in
the particular case in which depth is 1. This function takes into account
of fairness
-
bmc_mk_tableau_k_loops()
- Builds tableau for all possible loops in [l, k],
taking into account of fairness
-
bmc_mk_untiltableau_at_time_aux()
- auxiliary part of Bmc_MkUntilTableauAtTime
-
bmc_succ_k_l_loop()
- Given time<=k and a [l, k] interval, returns next
time, or BMC_NO_LOOP if time is equal to k and there is no loop
-
bmc_vars_mgr_set_env()
- Stores a new variable environment
data structure
-
bmc_vars_mgr_set_maxtime()
- Sets the
maximum time currently handled by the variable environment
-
bmc_vars_mgr_set_num()
- Sets the
number of variables handled by the Variables Manager
-
freeListOfLists_aux()
- Private service for BmcIntFreeListOfLists
-
scan_state_vars_bexp()
- Builds all internal structures used in order to
perform searches and conversion from different variable representation
forms
-
()
- Declares a set of variables used by the options saving code
-
()
- Exits from the function after have restored all options
values saved using BMC_CMD_SAVE_OPTIONS.
-
()
- Use this macro in command processing functions in order to
save options default values, so avoiding any side effect on those options
-
()
- Use this macro when you need to know if a string representing
loopback value means "all possible loops"
-
()
- Use this macro when you need to know if a string representing
loopback value means "no loopback"
Last updated on 1011114 08h21