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
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

Last updated on 1020130 15h19