mirror of
https://github.com/Z3Prover/z3
synced 2025-04-07 09:55:19 +00:00
Fix typos.
This commit is contained in:
parent
4f9d198c51
commit
878a6ca14f
|
@ -434,7 +434,7 @@ else()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# Postion independent code
|
# Position independent code
|
||||||
################################################################################
|
################################################################################
|
||||||
# This is required because code built in the components will end up in a shared
|
# This is required because code built in the components will end up in a shared
|
||||||
# library. If not building a shared library ``-fPIC`` isn't needed and would add
|
# library. If not building a shared library ``-fPIC`` isn't needed and would add
|
||||||
|
|
|
@ -72,7 +72,7 @@ def main(args):
|
||||||
|
|
||||||
if count == 0:
|
if count == 0:
|
||||||
logging.info('No files generated. You need to specific an output directory'
|
logging.info('No files generated. You need to specific an output directory'
|
||||||
' for the relevant langauge bindings')
|
' for the relevant language bindings')
|
||||||
# TODO: Add support for other bindings
|
# TODO: Add support for other bindings
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
|
|
@ -989,7 +989,7 @@ namespace z3 {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
\brief sequence and regular expression operations.
|
\brief sequence and regular expression operations.
|
||||||
+ is overloaeded as sequence concatenation and regular expression union.
|
+ is overloaded as sequence concatenation and regular expression union.
|
||||||
concat is overloaded to handle sequences and regular expressions
|
concat is overloaded to handle sequences and regular expressions
|
||||||
*/
|
*/
|
||||||
expr extract(expr const& offset, expr const& length) const {
|
expr extract(expr const& offset, expr const& length) const {
|
||||||
|
|
|
@ -2515,7 +2515,7 @@ namespace Microsoft.Z3
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Concatentate sequences.
|
/// Concatenate sequences.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public SeqExpr MkConcat(params SeqExpr[] t)
|
public SeqExpr MkConcat(params SeqExpr[] t)
|
||||||
{
|
{
|
||||||
|
@ -3597,7 +3597,7 @@ namespace Microsoft.Z3
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Create a tactic that fails if the goal is not triviall satisfiable (i.e., empty)
|
/// Create a tactic that fails if the goal is not trivially satisfiable (i.e., empty)
|
||||||
/// or trivially unsatisfiable (i.e., contains `false').
|
/// or trivially unsatisfiable (i.e., contains `false').
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public Tactic FailIfNotDecided()
|
public Tactic FailIfNotDecided()
|
||||||
|
@ -4656,7 +4656,7 @@ namespace Microsoft.Z3
|
||||||
/// Conversion of a floating-point term into a bit-vector.
|
/// Conversion of a floating-point term into a bit-vector.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// Produces a term that represents the conversion of the floating-poiunt term t into a
|
/// Produces a term that represents the conversion of the floating-point term t into a
|
||||||
/// bit-vector term of size sz in 2's complement format (signed when signed==true). If necessary,
|
/// bit-vector term of size sz in 2's complement format (signed when signed==true). If necessary,
|
||||||
/// the result will be rounded according to rounding mode rm.
|
/// the result will be rounded according to rounding mode rm.
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
|
@ -4677,7 +4677,7 @@ namespace Microsoft.Z3
|
||||||
/// Conversion of a floating-point term into a real-numbered term.
|
/// Conversion of a floating-point term into a real-numbered term.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// Produces a term that represents the conversion of the floating-poiunt term t into a
|
/// Produces a term that represents the conversion of the floating-point term t into a
|
||||||
/// real number. Note that this type of conversion will often result in non-linear
|
/// real number. Note that this type of conversion will often result in non-linear
|
||||||
/// constraints over real terms.
|
/// constraints over real terms.
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
|
@ -4696,7 +4696,7 @@ namespace Microsoft.Z3
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// The size of the resulting bit-vector is automatically determined. Note that
|
/// The size of the resulting bit-vector is automatically determined. Note that
|
||||||
/// IEEE 754-2008 allows multiple different representations of NaN. This conversion
|
/// IEEE 754-2008 allows multiple different representations of NaN. This conversion
|
||||||
/// knows only one NaN and it will always produce the same bit-vector represenatation of
|
/// knows only one NaN and it will always produce the same bit-vector representation of
|
||||||
/// that NaN.
|
/// that NaN.
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
/// <param name="t">FloatingPoint term.</param>
|
/// <param name="t">FloatingPoint term.</param>
|
||||||
|
|
|
@ -1978,7 +1978,7 @@ public class Context implements AutoCloseable {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Concatentate sequences.
|
* Concatenate sequences.
|
||||||
*/
|
*/
|
||||||
public SeqExpr mkConcat(SeqExpr... t)
|
public SeqExpr mkConcat(SeqExpr... t)
|
||||||
{
|
{
|
||||||
|
@ -2781,7 +2781,7 @@ public class Context implements AutoCloseable {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a tactic that fails if the goal is not triviall satisfiable (i.e.,
|
* Create a tactic that fails if the goal is not trivially satisfiable (i.e.,
|
||||||
* empty) or trivially unsatisfiable (i.e., contains `false').
|
* empty) or trivially unsatisfiable (i.e., contains `false').
|
||||||
**/
|
**/
|
||||||
public Tactic failIfNotDecided()
|
public Tactic failIfNotDecided()
|
||||||
|
@ -3769,7 +3769,7 @@ public class Context implements AutoCloseable {
|
||||||
* @param sz Size of the resulting bit-vector.
|
* @param sz Size of the resulting bit-vector.
|
||||||
* @param signed Indicates whether the result is a signed or unsigned bit-vector.
|
* @param signed Indicates whether the result is a signed or unsigned bit-vector.
|
||||||
* Remarks:
|
* Remarks:
|
||||||
* Produces a term that represents the conversion of the floating-poiunt term t into a
|
* Produces a term that represents the conversion of the floating-point term t into a
|
||||||
* bit-vector term of size sz in 2's complement format (signed when signed==true). If necessary,
|
* bit-vector term of size sz in 2's complement format (signed when signed==true). If necessary,
|
||||||
* the result will be rounded according to rounding mode rm.
|
* the result will be rounded according to rounding mode rm.
|
||||||
* @throws Z3Exception
|
* @throws Z3Exception
|
||||||
|
@ -3786,7 +3786,7 @@ public class Context implements AutoCloseable {
|
||||||
* Conversion of a floating-point term into a real-numbered term.
|
* Conversion of a floating-point term into a real-numbered term.
|
||||||
* @param t FloatingPoint term
|
* @param t FloatingPoint term
|
||||||
* Remarks:
|
* Remarks:
|
||||||
* Produces a term that represents the conversion of the floating-poiunt term t into a
|
* Produces a term that represents the conversion of the floating-point term t into a
|
||||||
* real number. Note that this type of conversion will often result in non-linear
|
* real number. Note that this type of conversion will often result in non-linear
|
||||||
* constraints over real terms.
|
* constraints over real terms.
|
||||||
* @throws Z3Exception
|
* @throws Z3Exception
|
||||||
|
@ -3802,7 +3802,7 @@ public class Context implements AutoCloseable {
|
||||||
* Remarks:
|
* Remarks:
|
||||||
* The size of the resulting bit-vector is automatically determined. Note that
|
* The size of the resulting bit-vector is automatically determined. Note that
|
||||||
* IEEE 754-2008 allows multiple different representations of NaN. This conversion
|
* IEEE 754-2008 allows multiple different representations of NaN. This conversion
|
||||||
* knows only one NaN and it will always produce the same bit-vector represenatation of
|
* knows only one NaN and it will always produce the same bit-vector representation of
|
||||||
* that NaN.
|
* that NaN.
|
||||||
* @throws Z3Exception
|
* @throws Z3Exception
|
||||||
**/
|
**/
|
||||||
|
|
|
@ -2428,7 +2428,7 @@ def is_rational_value(a):
|
||||||
return is_arith(a) and a.is_real() and _is_numeral(a.ctx, a.as_ast())
|
return is_arith(a) and a.is_real() and _is_numeral(a.ctx, a.as_ast())
|
||||||
|
|
||||||
def is_algebraic_value(a):
|
def is_algebraic_value(a):
|
||||||
"""Return `True` if `a` is an algerbraic value of sort Real.
|
"""Return `True` if `a` is an algebraic value of sort Real.
|
||||||
|
|
||||||
>>> is_algebraic_value(RealVal("3/5"))
|
>>> is_algebraic_value(RealVal("3/5"))
|
||||||
False
|
False
|
||||||
|
@ -4437,7 +4437,7 @@ class Datatype:
|
||||||
"""Declare constructor named `name` with the given accessors `args`.
|
"""Declare constructor named `name` with the given accessors `args`.
|
||||||
Each accessor is a pair `(name, sort)`, where `name` is a string and `sort` a Z3 sort or a reference to the datatypes being declared.
|
Each accessor is a pair `(name, sort)`, where `name` is a string and `sort` a Z3 sort or a reference to the datatypes being declared.
|
||||||
|
|
||||||
In the followin example `List.declare('cons', ('car', IntSort()), ('cdr', List))`
|
In the following example `List.declare('cons', ('car', IntSort()), ('cdr', List))`
|
||||||
declares the constructor named `cons` that builds a new List using an integer and a List.
|
declares the constructor named `cons` that builds a new List using an integer and a List.
|
||||||
It also declares the accessors `car` and `cdr`. The accessor `car` extracts the integer of a `cons` cell,
|
It also declares the accessors `car` and `cdr`. The accessor `car` extracts the integer of a `cons` cell,
|
||||||
and `cdr` the list of a `cons` cell. After all constructors were declared, we use the method create() to create
|
and `cdr` the list of a `cons` cell. After all constructors were declared, we use the method create() to create
|
||||||
|
@ -4457,7 +4457,7 @@ class Datatype:
|
||||||
return "Datatype(%s, %s)" % (self.name, self.constructors)
|
return "Datatype(%s, %s)" % (self.name, self.constructors)
|
||||||
|
|
||||||
def create(self):
|
def create(self):
|
||||||
"""Create a Z3 datatype based on the constructors declared using the mehtod `declare()`.
|
"""Create a Z3 datatype based on the constructors declared using the method `declare()`.
|
||||||
|
|
||||||
The function `CreateDatatypes()` must be used to define mutually recursive datatypes.
|
The function `CreateDatatypes()` must be used to define mutually recursive datatypes.
|
||||||
|
|
||||||
|
@ -8874,7 +8874,7 @@ class FPNumRef(FPRef):
|
||||||
def isSubnormal(self):
|
def isSubnormal(self):
|
||||||
return Z3_fpa_is_numeral_subnormal(self.ctx.ref(), self.as_ast())
|
return Z3_fpa_is_numeral_subnormal(self.ctx.ref(), self.as_ast())
|
||||||
|
|
||||||
"""Indicates whether the numeral is postitive."""
|
"""Indicates whether the numeral is positive."""
|
||||||
def isPositive(self):
|
def isPositive(self):
|
||||||
return Z3_fpa_is_numeral_positive(self.ctx.ref(), self.as_ast())
|
return Z3_fpa_is_numeral_positive(self.ctx.ref(), self.as_ast())
|
||||||
|
|
||||||
|
@ -9670,7 +9670,7 @@ def fpToIEEEBV(x, ctx=None):
|
||||||
The size of the resulting bit-vector is automatically determined.
|
The size of the resulting bit-vector is automatically determined.
|
||||||
|
|
||||||
Note that IEEE 754-2008 allows multiple different representations of NaN. This conversion
|
Note that IEEE 754-2008 allows multiple different representations of NaN. This conversion
|
||||||
knows only one NaN and it will always produce the same bit-vector represenatation of
|
knows only one NaN and it will always produce the same bit-vector representation of
|
||||||
that NaN.
|
that NaN.
|
||||||
|
|
||||||
>>> x = FP('x', FPSort(8, 24))
|
>>> x = FP('x', FPSort(8, 24))
|
||||||
|
@ -9845,7 +9845,7 @@ def Empty(s):
|
||||||
raise Z3Exception("Non-sequence, non-regular expression sort passed to Empty")
|
raise Z3Exception("Non-sequence, non-regular expression sort passed to Empty")
|
||||||
|
|
||||||
def Full(s):
|
def Full(s):
|
||||||
"""Create the regular expression that accepts the universal langauge
|
"""Create the regular expression that accepts the universal language
|
||||||
>>> e = Full(ReSort(SeqSort(IntSort())))
|
>>> e = Full(ReSort(SeqSort(IntSort())))
|
||||||
>>> print(e)
|
>>> print(e)
|
||||||
re.all
|
re.all
|
||||||
|
|
|
@ -756,7 +756,7 @@ extern "C" {
|
||||||
/**
|
/**
|
||||||
\brief Conversion of a floating-point term into an unsigned bit-vector.
|
\brief Conversion of a floating-point term into an unsigned bit-vector.
|
||||||
|
|
||||||
Produces a term that represents the conversion of the floating-poiunt term t into a
|
Produces a term that represents the conversion of the floating-point term t into a
|
||||||
bit-vector term of size sz in unsigned 2's complement format. If necessary, the result
|
bit-vector term of size sz in unsigned 2's complement format. If necessary, the result
|
||||||
will be rounded according to rounding mode rm.
|
will be rounded according to rounding mode rm.
|
||||||
|
|
||||||
|
@ -772,7 +772,7 @@ extern "C" {
|
||||||
/**
|
/**
|
||||||
\brief Conversion of a floating-point term into a signed bit-vector.
|
\brief Conversion of a floating-point term into a signed bit-vector.
|
||||||
|
|
||||||
Produces a term that represents the conversion of the floating-poiunt term t into a
|
Produces a term that represents the conversion of the floating-point term t into a
|
||||||
bit-vector term of size sz in signed 2's complement format. If necessary, the result
|
bit-vector term of size sz in signed 2's complement format. If necessary, the result
|
||||||
will be rounded according to rounding mode rm.
|
will be rounded according to rounding mode rm.
|
||||||
|
|
||||||
|
@ -788,7 +788,7 @@ extern "C" {
|
||||||
/**
|
/**
|
||||||
\brief Conversion of a floating-point term into a real-numbered term.
|
\brief Conversion of a floating-point term into a real-numbered term.
|
||||||
|
|
||||||
Produces a term that represents the conversion of the floating-poiunt term t into a
|
Produces a term that represents the conversion of the floating-point term t into a
|
||||||
real number. Note that this type of conversion will often result in non-linear
|
real number. Note that this type of conversion will often result in non-linear
|
||||||
constraints over real terms.
|
constraints over real terms.
|
||||||
|
|
||||||
|
@ -1011,7 +1011,7 @@ extern "C" {
|
||||||
determined.
|
determined.
|
||||||
|
|
||||||
Note that IEEE 754-2008 allows multiple different representations of NaN. This conversion
|
Note that IEEE 754-2008 allows multiple different representations of NaN. This conversion
|
||||||
knows only one NaN and it will always produce the same bit-vector represenatation of
|
knows only one NaN and it will always produce the same bit-vector representation of
|
||||||
that NaN.
|
that NaN.
|
||||||
|
|
||||||
def_API('Z3_mk_fpa_to_ieee_bv', AST, (_in(CONTEXT),_in(AST)))
|
def_API('Z3_mk_fpa_to_ieee_bv', AST, (_in(CONTEXT),_in(AST)))
|
||||||
|
|
|
@ -98,7 +98,7 @@ extern "C" {
|
||||||
|
|
||||||
Interpolant may not necessarily be computable from all
|
Interpolant may not necessarily be computable from all
|
||||||
proofs. To be sure an interpolant can be computed, the proof
|
proofs. To be sure an interpolant can be computed, the proof
|
||||||
must be generated by an SMT solver for which interpoaltion is
|
must be generated by an SMT solver for which interpolation is
|
||||||
supported, and the premises must be expressed using only
|
supported, and the premises must be expressed using only
|
||||||
theories and operators for which interpolation is supported.
|
theories and operators for which interpolation is supported.
|
||||||
|
|
||||||
|
@ -199,7 +199,7 @@ extern "C" {
|
||||||
(implies (and c1 ... cn f) v)
|
(implies (and c1 ... cn f) v)
|
||||||
|
|
||||||
where c1 .. cn are the children of v (which must precede v in the file)
|
where c1 .. cn are the children of v (which must precede v in the file)
|
||||||
and f is the formula assiciated to node v. The last formula in the
|
and f is the formula associated to node v. The last formula in the
|
||||||
file is the root vertex, and is represented by the predicate "false".
|
file is the root vertex, and is represented by the predicate "false".
|
||||||
|
|
||||||
A solution to a tree interpolation problem can be thought of as a
|
A solution to a tree interpolation problem can be thought of as a
|
||||||
|
|
|
@ -358,7 +358,7 @@ void rewriter_tpl<Config>::process_app(app * t, frame & fr) {
|
||||||
if (ProofGen) {
|
if (ProofGen) {
|
||||||
NOT_IMPLEMENTED_YET();
|
NOT_IMPLEMENTED_YET();
|
||||||
// We do not support the use of bindings in proof generation mode.
|
// We do not support the use of bindings in proof generation mode.
|
||||||
// Thus we have to apply the subsitution here, and
|
// Thus we have to apply the substitution here, and
|
||||||
// beta_reducer subst(m());
|
// beta_reducer subst(m());
|
||||||
// subst.set_bindings(new_num_args, new_args);
|
// subst.set_bindings(new_num_args, new_args);
|
||||||
// expr_ref r2(m());
|
// expr_ref r2(m());
|
||||||
|
|
|
@ -43,7 +43,7 @@ struct iz3checker : iz3base {
|
||||||
/* HACK: for tree interpolants, we assume that uninterpreted functions
|
/* HACK: for tree interpolants, we assume that uninterpreted functions
|
||||||
are global. This is because in the current state of the tree interpolation
|
are global. This is because in the current state of the tree interpolation
|
||||||
code, symbols that appear in sibling sub-trees have to be global, and
|
code, symbols that appear in sibling sub-trees have to be global, and
|
||||||
we have no way to eliminate such function symbols. When tree interpoaltion is
|
we have no way to eliminate such function symbols. When tree interpolation is
|
||||||
fixed, we can tree function symbols the same as constant symbols. */
|
fixed, we can tree function symbols the same as constant symbols. */
|
||||||
|
|
||||||
bool is_tree;
|
bool is_tree;
|
||||||
|
|
|
@ -33,7 +33,7 @@ def_module_params('fixedpoint',
|
||||||
"updated relation was modified or not"),
|
"updated relation was modified or not"),
|
||||||
('datalog.compile_with_widening', BOOL, False,
|
('datalog.compile_with_widening', BOOL, False,
|
||||||
"widening will be used to compile recursive rules"),
|
"widening will be used to compile recursive rules"),
|
||||||
('datalog.default_table_checked', BOOL, False, "if true, the detault " +
|
('datalog.default_table_checked', BOOL, False, "if true, the default " +
|
||||||
'table will be default_table inside a wrapper that checks that its results ' +
|
'table will be default_table inside a wrapper that checks that its results ' +
|
||||||
'are the same as of default_table_checker table'),
|
'are the same as of default_table_checker table'),
|
||||||
('datalog.default_table_checker', SYMBOL, 'null', "see default_table_checked"),
|
('datalog.default_table_checker', SYMBOL, 'null', "see default_table_checked"),
|
||||||
|
@ -59,7 +59,7 @@ def_module_params('fixedpoint',
|
||||||
('duality.full_expand', BOOL, False, 'Fully expand derivation trees'),
|
('duality.full_expand', BOOL, False, 'Fully expand derivation trees'),
|
||||||
('duality.no_conj', BOOL, False, 'No forced covering (conjectures)'),
|
('duality.no_conj', BOOL, False, 'No forced covering (conjectures)'),
|
||||||
('duality.feasible_edges', BOOL, True,
|
('duality.feasible_edges', BOOL, True,
|
||||||
'Don\'t expand definitley infeasible edges'),
|
'Don\'t expand definitely infeasible edges'),
|
||||||
('duality.use_underapprox', BOOL, False, 'Use underapproximations'),
|
('duality.use_underapprox', BOOL, False, 'Use underapproximations'),
|
||||||
('duality.stratified_inlining', BOOL, False, 'Use stratified inlining'),
|
('duality.stratified_inlining', BOOL, False, 'Use stratified inlining'),
|
||||||
('duality.recursion_bound', UINT, UINT_MAX,
|
('duality.recursion_bound', UINT, UINT_MAX,
|
||||||
|
@ -130,7 +130,7 @@ def_module_params('fixedpoint',
|
||||||
('xform.magic', BOOL, False,
|
('xform.magic', BOOL, False,
|
||||||
"perform symbolic magic set transformation"),
|
"perform symbolic magic set transformation"),
|
||||||
('xform.scale', BOOL, False,
|
('xform.scale', BOOL, False,
|
||||||
"add scaling variable to linear real arithemtic clauses"),
|
"add scaling variable to linear real arithmetic clauses"),
|
||||||
('xform.inline_linear', BOOL, True, "try linear inlining method"),
|
('xform.inline_linear', BOOL, True, "try linear inlining method"),
|
||||||
('xform.inline_eager', BOOL, True, "try eager inlining of rules"),
|
('xform.inline_eager', BOOL, True, "try eager inlining of rules"),
|
||||||
('xform.inline_linear_branch', BOOL, False,
|
('xform.inline_linear_branch', BOOL, False,
|
||||||
|
@ -176,7 +176,7 @@ def_module_params('fixedpoint',
|
||||||
('spacer.elim_aux', BOOL, True, "Eliminate auxiliary variables in reachability facts"),
|
('spacer.elim_aux', BOOL, True, "Eliminate auxiliary variables in reachability facts"),
|
||||||
('spacer.reach_as_init', BOOL, True, "Extend initial rules with computed reachability facts"),
|
('spacer.reach_as_init', BOOL, True, "Extend initial rules with computed reachability facts"),
|
||||||
('spacer.blast_term_ite', BOOL, True, "Expand non-Boolean ite-terms"),
|
('spacer.blast_term_ite', BOOL, True, "Expand non-Boolean ite-terms"),
|
||||||
('spacer.nondet_tie_break', BOOL, False, "Break ties in obligation queue non-deterministicly"),
|
('spacer.nondet_tie_break', BOOL, False, "Break ties in obligation queue non-deterministically"),
|
||||||
('spacer.reach_dnf', BOOL, True, "Restrict reachability facts to DNF"),
|
('spacer.reach_dnf', BOOL, True, "Restrict reachability facts to DNF"),
|
||||||
('bmc.linear_unrolling_depth', UINT, UINT_MAX, "Maximal level to explore"),
|
('bmc.linear_unrolling_depth', UINT, UINT_MAX, "Maximal level to explore"),
|
||||||
('spacer.split_farkas_literals', BOOL, False, "Split Farkas literals"),
|
('spacer.split_farkas_literals', BOOL, False, "Split Farkas literals"),
|
||||||
|
|
|
@ -26,7 +26,7 @@ Implementation:
|
||||||
|
|
||||||
1) Dealing with multiple quantifiers -> The options fixedpoint.xform.instantiate_arrays.nb_quantifier gives the number of quantifiers per array.
|
1) Dealing with multiple quantifiers -> The options fixedpoint.xform.instantiate_arrays.nb_quantifier gives the number of quantifiers per array.
|
||||||
|
|
||||||
2) Inforcing the instantiation -> We suggest an option (enforce_instantiation) to enforce this abstraction. This transforms
|
2) Enforcing the instantiation -> We suggest an option (enforce_instantiation) to enforce this abstraction. This transforms
|
||||||
P(a) into P(i, a[i]). This enforces the solver to limit the space search at the cost of imprecise results. This option
|
P(a) into P(i, a[i]). This enforces the solver to limit the space search at the cost of imprecise results. This option
|
||||||
corresponds to fixedpoint.xform.instantiate_arrays.enforce
|
corresponds to fixedpoint.xform.instantiate_arrays.enforce
|
||||||
|
|
||||||
|
|
|
@ -53,7 +53,7 @@ namespace datalog {
|
||||||
*/
|
*/
|
||||||
void reset(rule * r);
|
void reset(rule * r);
|
||||||
|
|
||||||
/** Reset subtitution and unify tail tgt_idx of the target rule and the head of the src rule */
|
/** Reset substitution and unify tail tgt_idx of the target rule and the head of the src rule */
|
||||||
bool unify(expr * e1, expr * e2);
|
bool unify(expr * e1, expr * e2);
|
||||||
|
|
||||||
void get_result(rule_ref & res);
|
void get_result(rule_ref & res);
|
||||||
|
|
|
@ -45,7 +45,7 @@ namespace datalog {
|
||||||
: m(ctx.get_manager()), m_rm(ctx.get_rule_manager()), m_context(ctx),
|
: m(ctx.get_manager()), m_rm(ctx.get_rule_manager()), m_context(ctx),
|
||||||
m_interp_simplifier(ctx), m_subst(m), m_unif(m), m_ready(false), m_normalize(true) {}
|
m_interp_simplifier(ctx), m_subst(m), m_unif(m), m_ready(false), m_normalize(true) {}
|
||||||
|
|
||||||
/** Reset subtitution and unify tail tgt_idx of the target rule and the head of the src rule */
|
/** Reset substitution and unify tail tgt_idx of the target rule and the head of the src rule */
|
||||||
bool unify_rules(rule const& tgt, unsigned tgt_idx, rule const& src);
|
bool unify_rules(rule const& tgt, unsigned tgt_idx, rule const& src);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -7,7 +7,7 @@ Module Name:
|
||||||
|
|
||||||
Abstract:
|
Abstract:
|
||||||
|
|
||||||
Add scale factor to linear (Real) arithemetic Horn clauses.
|
Add scale factor to linear (Real) arithmetic Horn clauses.
|
||||||
The transformation replaces occurrences of isolated constants by
|
The transformation replaces occurrences of isolated constants by
|
||||||
a scale multiplied to each constant.
|
a scale multiplied to each constant.
|
||||||
|
|
||||||
|
|
|
@ -267,7 +267,7 @@ struct aig_manager::imp {
|
||||||
}
|
}
|
||||||
if (b == r) {
|
if (b == r) {
|
||||||
if (sign1) {
|
if (sign1) {
|
||||||
// subsitution
|
// substitution
|
||||||
// not (a and b) and r --> (not a) and r IF b == r
|
// not (a and b) and r --> (not a) and r IF b == r
|
||||||
l = a;
|
l = a;
|
||||||
l.invert();
|
l.invert();
|
||||||
|
|
|
@ -7,7 +7,7 @@ Module Name:
|
||||||
|
|
||||||
Abstract:
|
Abstract:
|
||||||
|
|
||||||
Tactic expection object.
|
Tactic exception object.
|
||||||
|
|
||||||
Author:
|
Author:
|
||||||
|
|
||||||
|
|
|
@ -47,7 +47,7 @@ tactic * or_else(tactic * t1, tactic * t2, tactic * t3, tactic * t4, tactic * t5
|
||||||
|
|
||||||
tactic * repeat(tactic * t, unsigned max = UINT_MAX);
|
tactic * repeat(tactic * t, unsigned max = UINT_MAX);
|
||||||
/**
|
/**
|
||||||
\brief Fails if \c t produeces more than \c threshold subgoals.
|
\brief Fails if \c t produces more than \c threshold subgoals.
|
||||||
Otherwise, it behaves like \c t.
|
Otherwise, it behaves like \c t.
|
||||||
*/
|
*/
|
||||||
tactic * fail_if_branching(tactic * t, unsigned threshold = 1);
|
tactic * fail_if_branching(tactic * t, unsigned threshold = 1);
|
||||||
|
|
Loading…
Reference in a new issue