-
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 1011114 08h21