mirror of
https://github.com/Z3Prover/z3
synced 2025-04-23 17:15:31 +00:00
Merge branch 'master' of https://github.com/z3prover/z3
This commit is contained in:
commit
776a7d4e6c
44 changed files with 315 additions and 399 deletions
|
@ -919,7 +919,6 @@ extern "C" {
|
|||
case PR_REWRITE: return Z3_OP_PR_REWRITE;
|
||||
case PR_REWRITE_STAR: return Z3_OP_PR_REWRITE_STAR;
|
||||
case PR_PULL_QUANT: return Z3_OP_PR_PULL_QUANT;
|
||||
case PR_PULL_QUANT_STAR: return Z3_OP_PR_PULL_QUANT_STAR;
|
||||
case PR_PUSH_QUANT: return Z3_OP_PR_PUSH_QUANT;
|
||||
case PR_ELIM_UNUSED_VARS: return Z3_OP_PR_ELIM_UNUSED_VARS;
|
||||
case PR_DER: return Z3_OP_PR_DER;
|
||||
|
@ -936,9 +935,7 @@ extern "C" {
|
|||
case PR_IFF_OEQ: return Z3_OP_PR_IFF_OEQ;
|
||||
case PR_NNF_POS: return Z3_OP_PR_NNF_POS;
|
||||
case PR_NNF_NEG: return Z3_OP_PR_NNF_NEG;
|
||||
case PR_NNF_STAR: return Z3_OP_PR_NNF_STAR;
|
||||
case PR_SKOLEMIZE: return Z3_OP_PR_SKOLEMIZE;
|
||||
case PR_CNF_STAR: return Z3_OP_PR_CNF_STAR;
|
||||
case PR_MODUS_PONENS_OEQ: return Z3_OP_PR_MODUS_PONENS_OEQ;
|
||||
case PR_TH_LEMMA: return Z3_OP_PR_TH_LEMMA;
|
||||
case PR_HYPER_RESOLVE: return Z3_OP_PR_HYPER_RESOLVE;
|
||||
|
|
|
@ -989,7 +989,7 @@ namespace z3 {
|
|||
|
||||
/**
|
||||
\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
|
||||
*/
|
||||
expr extract(expr const& offset, expr const& length) const {
|
||||
|
|
|
@ -2515,7 +2515,7 @@ namespace Microsoft.Z3
|
|||
|
||||
|
||||
/// <summary>
|
||||
/// Concatentate sequences.
|
||||
/// Concatenate sequences.
|
||||
/// </summary>
|
||||
public SeqExpr MkConcat(params SeqExpr[] t)
|
||||
{
|
||||
|
@ -3597,7 +3597,7 @@ namespace Microsoft.Z3
|
|||
}
|
||||
|
||||
/// <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').
|
||||
/// </summary>
|
||||
public Tactic FailIfNotDecided()
|
||||
|
@ -4656,7 +4656,7 @@ namespace Microsoft.Z3
|
|||
/// Conversion of a floating-point term into a bit-vector.
|
||||
/// </summary>
|
||||
/// <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,
|
||||
/// the result will be rounded according to rounding mode rm.
|
||||
/// </remarks>
|
||||
|
@ -4677,7 +4677,7 @@ namespace Microsoft.Z3
|
|||
/// Conversion of a floating-point term into a real-numbered term.
|
||||
/// </summary>
|
||||
/// <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
|
||||
/// constraints over real terms.
|
||||
/// </remarks>
|
||||
|
@ -4696,7 +4696,7 @@ namespace Microsoft.Z3
|
|||
/// <remarks>
|
||||
/// The size of the resulting bit-vector is automatically determined. 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.
|
||||
/// </remarks>
|
||||
/// <param name="t">FloatingPoint term.</param>
|
||||
|
|
|
@ -932,7 +932,7 @@ namespace Microsoft.Z3
|
|||
/// Indicates whether the term is a proof by condensed transitivity of a relation
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Condensed transitivity proof. This proof object is only used if the parameter PROOF_MODE is 1.
|
||||
/// Condensed transitivity proof.
|
||||
/// It combines several symmetry and transitivity proofs.
|
||||
/// Example:
|
||||
/// T1: (R a b)
|
||||
|
@ -1035,14 +1035,11 @@ namespace Microsoft.Z3
|
|||
/// </summary>
|
||||
/// <remarks>
|
||||
/// A proof for rewriting an expression t into an expression s.
|
||||
/// This proof object is used if the parameter PROOF_MODE is 1.
|
||||
/// This proof object can have n antecedents.
|
||||
/// The antecedents are proofs for equalities used as substitution rules.
|
||||
/// The object is also used in a few cases if the parameter PROOF_MODE is 2.
|
||||
/// The cases are:
|
||||
/// The object is used in a few cases:
|
||||
/// - When applying contextual simplification (CONTEXT_SIMPLIFIER=true)
|
||||
/// - When converting bit-vectors to Booleans (BIT2BOOL=true)
|
||||
/// - When pulling ite expression up (PULL_CHEAP_ITE_TREES=true)
|
||||
/// </remarks>
|
||||
public bool IsProofRewriteStar { get { return IsApp && FuncDecl.DeclKind == Z3_decl_kind.Z3_OP_PR_REWRITE_STAR; } }
|
||||
|
||||
|
@ -1054,15 +1051,6 @@ namespace Microsoft.Z3
|
|||
/// </remarks>
|
||||
public bool IsProofPullQuant { get { return IsApp && FuncDecl.DeclKind == Z3_decl_kind.Z3_OP_PR_PULL_QUANT; } }
|
||||
|
||||
/// <summary>
|
||||
/// Indicates whether the term is a proof for pulling quantifiers out.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// A proof for (iff P Q) where Q is in prenex normal form.
|
||||
/// This proof object is only used if the parameter PROOF_MODE is 1.
|
||||
/// This proof object has no antecedents
|
||||
/// </remarks>
|
||||
public bool IsProofPullQuantStar { get { return IsApp && FuncDecl.DeclKind == Z3_decl_kind.Z3_OP_PR_PULL_QUANT_STAR; } }
|
||||
|
||||
/// <summary>
|
||||
/// Indicates whether the term is a proof for pushing quantifiers in.
|
||||
|
@ -1304,28 +1292,6 @@ namespace Microsoft.Z3
|
|||
/// </remarks>
|
||||
public bool IsProofNNFNeg { get { return IsApp && FuncDecl.DeclKind == Z3_decl_kind.Z3_OP_PR_NNF_NEG; } }
|
||||
|
||||
/// <summary>
|
||||
/// Indicates whether the term is a proof for (~ P Q) here Q is in negation normal form.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// A proof for (~ P Q) where Q is in negation normal form.
|
||||
///
|
||||
/// This proof object is only used if the parameter PROOF_MODE is 1.
|
||||
///
|
||||
/// This proof object may have n antecedents. Each antecedent is a PR_DEF_INTRO.
|
||||
/// </remarks>
|
||||
public bool IsProofNNFStar { get { return IsApp && FuncDecl.DeclKind == Z3_decl_kind.Z3_OP_PR_NNF_STAR; } }
|
||||
|
||||
/// <summary>
|
||||
/// Indicates whether the term is a proof for (~ P Q) where Q is in conjunctive normal form.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// A proof for (~ P Q) where Q is in conjunctive normal form.
|
||||
/// This proof object is only used if the parameter PROOF_MODE is 1.
|
||||
/// This proof object may have n antecedents. Each antecedent is a PR_DEF_INTRO.
|
||||
/// </remarks>
|
||||
public bool IsProofCNFStar { get { return IsApp && FuncDecl.DeclKind == Z3_decl_kind.Z3_OP_PR_CNF_STAR; } }
|
||||
|
||||
/// <summary>
|
||||
/// Indicates whether the term is a proof for a Skolemization step
|
||||
/// </summary>
|
||||
|
|
|
@ -1978,7 +1978,7 @@ public class Context implements AutoCloseable {
|
|||
}
|
||||
|
||||
/**
|
||||
* Concatentate sequences.
|
||||
* Concatenate sequences.
|
||||
*/
|
||||
public SeqExpr mkConcat(SeqExpr... t)
|
||||
{
|
||||
|
@ -2782,7 +2782,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').
|
||||
**/
|
||||
public Tactic failIfNotDecided()
|
||||
|
@ -3770,7 +3770,7 @@ public class Context implements AutoCloseable {
|
|||
* @param sz Size of the resulting bit-vector.
|
||||
* @param signed Indicates whether the result is a signed or unsigned bit-vector.
|
||||
* 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,
|
||||
* the result will be rounded according to rounding mode rm.
|
||||
* @throws Z3Exception
|
||||
|
@ -3787,7 +3787,7 @@ public class Context implements AutoCloseable {
|
|||
* Conversion of a floating-point term into a real-numbered term.
|
||||
* @param t FloatingPoint term
|
||||
* 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
|
||||
* constraints over real terms.
|
||||
* @throws Z3Exception
|
||||
|
@ -3803,7 +3803,7 @@ public class Context implements AutoCloseable {
|
|||
* Remarks:
|
||||
* The size of the resulting bit-vector is automatically determined. 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.
|
||||
* @throws Z3Exception
|
||||
**/
|
||||
|
|
|
@ -1398,8 +1398,7 @@ public class Expr extends AST
|
|||
/**
|
||||
* Indicates whether the term is a proof by condensed transitivity of a
|
||||
* relation
|
||||
* Remarks: Condensed transitivity proof. This proof object is
|
||||
* only used if the parameter PROOF_MODE is 1. It combines several symmetry
|
||||
* Remarks: Condensed transitivity proof. It combines several symmetry
|
||||
* and transitivity proofs. Example: T1: (R a b) T2: (R c b) T3: (R c d)
|
||||
* [trans* T1 T2 T3]: (R a d) R must be a symmetric and transitive relation.
|
||||
*
|
||||
|
@ -1506,14 +1505,11 @@ public class Expr extends AST
|
|||
/**
|
||||
* Indicates whether the term is a proof by rewriting
|
||||
* Remarks: A proof for
|
||||
* rewriting an expression t into an expression s. This proof object is used
|
||||
* if the parameter PROOF_MODE is 1. This proof object can have n
|
||||
* rewriting an expression t into an expression s. This proof object can have n
|
||||
* antecedents. The antecedents are proofs for equalities used as
|
||||
* substitution rules. The object is also used in a few cases if the
|
||||
* parameter PROOF_MODE is 2. The cases are: - When applying contextual
|
||||
* substitution rules. The object is used in a few cases . The cases are: - When applying contextual
|
||||
* simplification (CONTEXT_SIMPLIFIER=true) - When converting bit-vectors to
|
||||
* Booleans (BIT2BOOL=true) - When pulling ite expression up
|
||||
* (PULL_CHEAP_ITE_TREES=true)
|
||||
* Booleans (BIT2BOOL=true)
|
||||
* @throws Z3Exception on error
|
||||
* @return a boolean
|
||||
**/
|
||||
|
@ -1534,17 +1530,6 @@ public class Expr extends AST
|
|||
return isApp() && getFuncDecl().getDeclKind() == Z3_decl_kind.Z3_OP_PR_PULL_QUANT;
|
||||
}
|
||||
|
||||
/**
|
||||
* Indicates whether the term is a proof for pulling quantifiers out.
|
||||
*
|
||||
* Remarks: A proof for (iff P Q) where Q is in prenex normal form. This * proof object is only used if the parameter PROOF_MODE is 1. This proof * object has no antecedents
|
||||
* @throws Z3Exception on error
|
||||
* @return a boolean
|
||||
**/
|
||||
public boolean isProofPullQuantStar()
|
||||
{
|
||||
return isApp() && getFuncDecl().getDeclKind() == Z3_decl_kind.Z3_OP_PR_PULL_QUANT_STAR;
|
||||
}
|
||||
|
||||
/**
|
||||
* Indicates whether the term is a proof for pushing quantifiers in.
|
||||
|
@ -1804,38 +1789,6 @@ public class Expr extends AST
|
|||
return isApp() && getFuncDecl().getDeclKind() == Z3_decl_kind.Z3_OP_PR_NNF_NEG;
|
||||
}
|
||||
|
||||
/**
|
||||
* Indicates whether the term is a proof for (~ P Q) here Q is in negation
|
||||
* normal form.
|
||||
* Remarks: A proof for (~ P Q) where Q is in negation normal
|
||||
* form.
|
||||
*
|
||||
* This proof object is only used if the parameter PROOF_MODE is 1.
|
||||
*
|
||||
* This proof object may have n antecedents. Each antecedent is a
|
||||
* PR_DEF_INTRO.
|
||||
* @throws Z3Exception on error
|
||||
* @return a boolean
|
||||
**/
|
||||
public boolean isProofNNFStar()
|
||||
{
|
||||
return isApp() && getFuncDecl().getDeclKind() == Z3_decl_kind.Z3_OP_PR_NNF_STAR;
|
||||
}
|
||||
|
||||
/**
|
||||
* Indicates whether the term is a proof for (~ P Q) where Q is in
|
||||
* conjunctive normal form.
|
||||
* Remarks: A proof for (~ P Q) where Q is in
|
||||
* conjunctive normal form. This proof object is only used if the parameter
|
||||
* PROOF_MODE is 1. This proof object may have n antecedents. Each
|
||||
* antecedent is a PR_DEF_INTRO.
|
||||
* @throws Z3Exception on error
|
||||
* @return a boolean
|
||||
**/
|
||||
public boolean isProofCNFStar()
|
||||
{
|
||||
return isApp() && getFuncDecl().getDeclKind() == Z3_decl_kind.Z3_OP_PR_CNF_STAR;
|
||||
}
|
||||
|
||||
/**
|
||||
* Indicates whether the term is a proof for a Skolemization step
|
||||
|
|
|
@ -1402,7 +1402,6 @@ struct
|
|||
let is_rewrite (x:expr) = (AST.is_app x) && (FuncDecl.get_decl_kind (Expr.get_func_decl x) = OP_PR_REWRITE)
|
||||
let is_rewrite_star (x:expr) = (AST.is_app x) && (FuncDecl.get_decl_kind (Expr.get_func_decl x) = OP_PR_REWRITE_STAR)
|
||||
let is_pull_quant (x:expr) = (AST.is_app x) && (FuncDecl.get_decl_kind (Expr.get_func_decl x) = OP_PR_PULL_QUANT)
|
||||
let is_pull_quant_star (x:expr) = (AST.is_app x) && (FuncDecl.get_decl_kind (Expr.get_func_decl x) = OP_PR_PULL_QUANT_STAR)
|
||||
let is_push_quant (x:expr) = (AST.is_app x) && (FuncDecl.get_decl_kind (Expr.get_func_decl x) = OP_PR_PUSH_QUANT)
|
||||
let is_elim_unused_vars (x:expr) = (AST.is_app x) && (FuncDecl.get_decl_kind (Expr.get_func_decl x) = OP_PR_ELIM_UNUSED_VARS)
|
||||
let is_der (x:expr) = (AST.is_app x) && (FuncDecl.get_decl_kind (Expr.get_func_decl x) = OP_PR_DER)
|
||||
|
@ -1419,8 +1418,6 @@ struct
|
|||
let is_iff_oeq (x:expr) = (AST.is_app x) && (FuncDecl.get_decl_kind (Expr.get_func_decl x) = OP_PR_IFF_OEQ)
|
||||
let is_nnf_pos (x:expr) = (AST.is_app x) && (FuncDecl.get_decl_kind (Expr.get_func_decl x) = OP_PR_NNF_POS)
|
||||
let is_nnf_neg (x:expr) = (AST.is_app x) && (FuncDecl.get_decl_kind (Expr.get_func_decl x) = OP_PR_NNF_NEG)
|
||||
let is_nnf_star (x:expr) = (AST.is_app x) && (FuncDecl.get_decl_kind (Expr.get_func_decl x) = OP_PR_NNF_STAR)
|
||||
let is_cnf_star (x:expr) = (AST.is_app x) && (FuncDecl.get_decl_kind (Expr.get_func_decl x) = OP_PR_CNF_STAR)
|
||||
let is_skolemize (x:expr) = (AST.is_app x) && (FuncDecl.get_decl_kind (Expr.get_func_decl x) = OP_PR_SKOLEMIZE)
|
||||
let is_modus_ponens_oeq (x:expr) = (AST.is_app x) && (FuncDecl.get_decl_kind (Expr.get_func_decl x) = OP_PR_MODUS_PONENS_OEQ)
|
||||
let is_theory_lemma (x:expr) = (AST.is_app x) && (FuncDecl.get_decl_kind (Expr.get_func_decl x) = OP_PR_TH_LEMMA)
|
||||
|
|
|
@ -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())
|
||||
|
||||
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"))
|
||||
False
|
||||
|
@ -4437,7 +4437,7 @@ class Datatype:
|
|||
"""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.
|
||||
|
||||
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.
|
||||
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
|
||||
|
@ -4457,7 +4457,7 @@ class Datatype:
|
|||
return "Datatype(%s, %s)" % (self.name, self.constructors)
|
||||
|
||||
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.
|
||||
|
||||
|
@ -8874,7 +8874,7 @@ class FPNumRef(FPRef):
|
|||
def isSubnormal(self):
|
||||
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):
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
>>> x = FP('x', FPSort(8, 24))
|
||||
|
@ -9845,7 +9845,7 @@ def Empty(s):
|
|||
raise Z3Exception("Non-sequence, non-regular expression sort passed to Empty")
|
||||
|
||||
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())))
|
||||
>>> print(e)
|
||||
re.all
|
||||
|
|
|
@ -21,7 +21,8 @@ Notes:
|
|||
#ifndef Z3_H_
|
||||
#define Z3_H_
|
||||
|
||||
#include<stdio.h>
|
||||
#include <stdio.h>
|
||||
#include <stdbool.h>
|
||||
#include "z3_macros.h"
|
||||
#include "z3_api.h"
|
||||
#include "z3_ast_containers.h"
|
||||
|
|
|
@ -459,7 +459,7 @@ typedef enum
|
|||
[trans T1 T2]: (R t u)
|
||||
}
|
||||
|
||||
- Z3_OP_PR_TRANSITIVITY_STAR: Condensed transitivity proof. This proof object is only used if the parameter PROOF_MODE is 1.
|
||||
- Z3_OP_PR_TRANSITIVITY_STAR: Condensed transitivity proof.
|
||||
It combines several symmetry and transitivity proofs.
|
||||
|
||||
Example:
|
||||
|
@ -539,21 +539,14 @@ typedef enum
|
|||
}
|
||||
|
||||
- Z3_OP_PR_REWRITE_STAR: A proof for rewriting an expression t into an expression s.
|
||||
This proof object is used if the parameter PROOF_MODE is 1.
|
||||
This proof object can have n antecedents.
|
||||
The antecedents are proofs for equalities used as substitution rules.
|
||||
The object is also used in a few cases if the parameter PROOF_MODE is 2.
|
||||
The cases are:
|
||||
The proof rule is used in a few cases. The cases are:
|
||||
- When applying contextual simplification (CONTEXT_SIMPLIFIER=true)
|
||||
- When converting bit-vectors to Booleans (BIT2BOOL=true)
|
||||
- When pulling ite expression up (PULL_CHEAP_ITE_TREES=true)
|
||||
|
||||
- Z3_OP_PR_PULL_QUANT: A proof for (iff (f (forall (x) q(x)) r) (forall (x) (f (q x) r))). This proof object has no antecedents.
|
||||
|
||||
- Z3_OP_PR_PULL_QUANT_STAR: A proof for (iff P Q) where Q is in prenex normal form.
|
||||
This proof object is only used if the parameter PROOF_MODE is 1.
|
||||
This proof object has no antecedents.
|
||||
|
||||
- Z3_OP_PR_PUSH_QUANT: A proof for:
|
||||
|
||||
\nicebox{
|
||||
|
@ -726,15 +719,6 @@ typedef enum
|
|||
[nnf-neg T1 T2 T3 T4]: (~ (not (iff s_1 s_2))
|
||||
(and (or r_1 r_2) (or r_1' r_2')))
|
||||
}
|
||||
- Z3_OP_PR_NNF_STAR: A proof for (~ P Q) where Q is in negation normal form.
|
||||
|
||||
This proof object is only used if the parameter PROOF_MODE is 1.
|
||||
|
||||
This proof object may have n antecedents. Each antecedent is a PR_DEF_INTRO.
|
||||
|
||||
- Z3_OP_PR_CNF_STAR: A proof for (~ P Q) where Q is in conjunctive normal form.
|
||||
This proof object is only used if the parameter PROOF_MODE is 1.
|
||||
This proof object may have n antecedents. Each antecedent is a PR_DEF_INTRO.
|
||||
|
||||
- Z3_OP_PR_SKOLEMIZE: Proof for:
|
||||
|
||||
|
@ -1142,7 +1126,6 @@ typedef enum {
|
|||
Z3_OP_PR_REWRITE,
|
||||
Z3_OP_PR_REWRITE_STAR,
|
||||
Z3_OP_PR_PULL_QUANT,
|
||||
Z3_OP_PR_PULL_QUANT_STAR,
|
||||
Z3_OP_PR_PUSH_QUANT,
|
||||
Z3_OP_PR_ELIM_UNUSED_VARS,
|
||||
Z3_OP_PR_DER,
|
||||
|
@ -1159,8 +1142,6 @@ typedef enum {
|
|||
Z3_OP_PR_IFF_OEQ,
|
||||
Z3_OP_PR_NNF_POS,
|
||||
Z3_OP_PR_NNF_NEG,
|
||||
Z3_OP_PR_NNF_STAR,
|
||||
Z3_OP_PR_CNF_STAR,
|
||||
Z3_OP_PR_SKOLEMIZE,
|
||||
Z3_OP_PR_MODUS_PONENS_OEQ,
|
||||
Z3_OP_PR_TH_LEMMA,
|
||||
|
@ -1477,7 +1458,6 @@ extern "C" {
|
|||
/*@{*/
|
||||
|
||||
/**
|
||||
\deprecated
|
||||
\brief Create a configuration object for the Z3 context object.
|
||||
|
||||
Configurations are created in order to assign parameters prior to creating
|
||||
|
@ -1510,7 +1490,6 @@ extern "C" {
|
|||
Z3_config Z3_API Z3_mk_config(void);
|
||||
|
||||
/**
|
||||
\deprecated
|
||||
\brief Delete the given configuration object.
|
||||
|
||||
\sa Z3_mk_config
|
||||
|
@ -1520,7 +1499,6 @@ extern "C" {
|
|||
void Z3_API Z3_del_config(Z3_config c);
|
||||
|
||||
/**
|
||||
\deprecated
|
||||
\brief Set a configuration parameter.
|
||||
|
||||
The following parameters can be set for
|
||||
|
@ -1537,7 +1515,6 @@ extern "C" {
|
|||
/*@{*/
|
||||
|
||||
/**
|
||||
\deprecated
|
||||
\brief Create a context using the given configuration.
|
||||
|
||||
After a context is created, the configuration cannot be changed,
|
||||
|
@ -1617,7 +1594,6 @@ extern "C" {
|
|||
void Z3_API Z3_dec_ref(Z3_context c, Z3_ast a);
|
||||
|
||||
/**
|
||||
\deprecated
|
||||
\brief Set a value of a context parameter.
|
||||
|
||||
\sa Z3_global_param_set
|
||||
|
|
|
@ -756,7 +756,7 @@ extern "C" {
|
|||
/**
|
||||
\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
|
||||
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.
|
||||
|
||||
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
|
||||
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.
|
||||
|
||||
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
|
||||
constraints over real terms.
|
||||
|
||||
|
@ -1011,7 +1011,7 @@ extern "C" {
|
|||
determined.
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
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
|
||||
theories and operators for which interpolation is supported.
|
||||
|
||||
|
@ -199,7 +199,7 @@ extern "C" {
|
|||
(implies (and c1 ... cn f) v)
|
||||
|
||||
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".
|
||||
|
||||
A solution to a tree interpolation problem can be thought of as a
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue