Documentation
¶
Index ¶
- Constants
- func AssertBlockingClause(ctx ContextT) int32
- func AssertFormula(ctx ContextT, t TermT) int32
- func AssertFormulas(ctx ContextT, t []TermT) int32
- func BoolConstValue(t TermT, val *int32) int32
- func BuildArch() string
- func BuildDate() string
- func BuildMode() string
- func BvConstValue(t TermT, val []int32) int32
- func BvsumComponent(t TermT, i int32, val []int32, term *TermT) int32
- func BvtypeSize(tau TypeT) uint32
- func ClearError()
- func ClearTermName(t TermT) int32
- func ClearTypeName(tau TypeT) int32
- func CloseConfig(cfg *ConfigT)
- func CloseContext(ctx *ContextT)
- func CloseModel(model *ModelT)
- func CloseMpq(mpq *MpqT)
- func CloseMpz(mpz *MpzT)
- func CloseParamRecord(params *ParamT)
- func CompatibleTypes(tau TypeT, sigma TypeT) bool
- func ContextDisableOption(ctx ContextT, option string) int32
- func ContextEnableOption(ctx ContextT, option string) int32
- func DecrefTerm(t TermT) int32
- func DecrefType(tau TypeT) int32
- func DefaultConfigForLogic(cfg ConfigT, logic string) int32
- func DefaultParamsForContext(ctx ContextT, params ParamT)
- func DeleteYvalVector(v *YvalVectorT)
- func ErrorString() string
- func Exit()
- func ExportFormulaToDimacs(t TermT, filename string, simplify bool, status *SmtStatusT) (errcode int32)
- func ExportFormulasToDimacs(t []TermT, filename string, simplify bool, status *SmtStatusT) (errcode int32)
- func FormulaTrueInModel(model ModelT, t TermT) int32
- func FormulasTrueInModel(model ModelT, t []TermT) int32
- func GarbageCollect(ts []TermT, taus []TypeT, keepNamed int32)
- func GetBoolValue(model ModelT, t TermT, val *int32) int32
- func GetBvValue(model ModelT, t TermT, val []int32) int32
- func GetDoubleValue(model ModelT, t TermT, val *float64) int32
- func GetInt32Value(model ModelT, t TermT, val *int32) int32
- func GetInt64Value(model ModelT, t TermT, val *int64) int32
- func GetMpqValue(model ModelT, t TermT, val *MpqT) int32
- func GetMpzValue(model ModelT, t TermT, val *MpzT) int32
- func GetRational32Value(model ModelT, t TermT, num *int32, den *uint32) int32
- func GetRational64Value(model ModelT, t TermT, num *int64, den *uint64) int32
- func GetScalarValue(model ModelT, t TermT, val *int32) int32
- func GetTermName(t TermT) string
- func GetTypeName(tau TypeT) string
- func GetValue(model ModelT, t TermT, val *YvalT) int32
- func HasDelegate(delegate string) bool
- func HasMcsat() int32
- func IncrefTerm(t TermT) int32
- func IncrefType(tau TypeT) int32
- func Init()
- func InitConfig(cfg *ConfigT)
- func InitContext(cfg ConfigT, ctx *ContextT)
- func InitMpq(mpq *MpqT)
- func InitMpz(mpz *MpzT)
- func InitParamRecord(params *ParamT)
- func InitYvalVector(v *YvalVectorT)
- func IsThreadSafe() int32
- func ModelToString(model ModelT, width uint32, height uint32, offset uint32) string
- func NumPosrefTerms() uint32
- func NumPosrefTypes() uint32
- func NumTerms() uint32
- func NumTypes() uint32
- func Pop(ctx ContextT) int32
- func PpModel(file *os.File, model ModelT, width uint32, height uint32, offset uint32) int32
- func PpTerm(file *os.File, t TermT, width uint32, height uint32, offset uint32) int32
- func PpTermArray(file *os.File, t []TermT, width uint32, height uint32, offset uint32, ...) int32
- func PpTermValues(file *os.File, model ModelT, t []TermT, width uint32, height uint32, ...) int32
- func PpType(file *os.File, tau TypeT, width uint32, height uint32, offset uint32) int32
- func PrintError(f *os.File) int32
- func PrintModel(file *os.File, model ModelT) int32
- func PrintTermValues(file *os.File, model ModelT, t []TermT) int32
- func ProductComponent(t TermT, i int32, term *TermT, exp *uint32) int32
- func ProjIndex(t TermT) int32
- func Push(ctx ContextT) int32
- func RationalConstValue(t TermT, q *MpqT) int32
- func RemoveTermName(name string)
- func RemoveTypeName(name string)
- func Reset()
- func ResetContext(ctx ContextT)
- func ResetYvalVector(v *YvalVectorT)
- func ScalarConstValue(t TermT, val *int32) int32
- func ScalarTypeCard(tau TypeT) uint32
- func SetConfig(cfg ConfigT, name string, value string) int32
- func SetParam(params ParamT, pname string, value string) int32
- func SetTermName(t TermT, name string) int32
- func SetTypeName(tau TypeT, name string) int32
- func StopSearch(ctx ContextT)
- func SumComponent(t TermT, i int32, coeff *MpqT, term *TermT) int32
- func TermArrayValue(model ModelT, a []TermT, b []TermT) int32
- func TermBitsize(t TermT) uint32
- func TermIsArithmetic(t TermT) bool
- func TermIsAtomic(t TermT) bool
- func TermIsBitvector(t TermT) bool
- func TermIsBool(t TermT) bool
- func TermIsBvsum(t TermT) bool
- func TermIsComposite(t TermT) bool
- func TermIsFunction(t TermT) bool
- func TermIsGround(t TermT) bool
- func TermIsInt(t TermT) bool
- func TermIsProduct(t TermT) bool
- func TermIsProjection(t TermT) bool
- func TermIsReal(t TermT) bool
- func TermIsScalar(t TermT) bool
- func TermIsSum(t TermT) bool
- func TermIsTuple(t TermT) bool
- func TermNumChildren(t TermT) int32
- func TermToString(t TermT, width uint32, height uint32, offset uint32) string
- func TestSubtype(tau TypeT, sigma TypeT) bool
- func TypeIsArithmetic(tau TypeT) bool
- func TypeIsBitvector(tau TypeT) bool
- func TypeIsBool(tau TypeT) bool
- func TypeIsFunction(tau TypeT) bool
- func TypeIsInt(tau TypeT) bool
- func TypeIsReal(tau TypeT) bool
- func TypeIsScalar(tau TypeT) bool
- func TypeIsTuple(tau TypeT) bool
- func TypeIsUninterpreted(tau TypeT) bool
- func TypeNumChildren(tau TypeT) int32
- func TypeToString(tau TypeT, width uint32, height uint32, offset uint32) string
- func ValBitsize(model ModelT, val *YvalT) uint32
- func ValExpandTuple(model ModelT, yval *YvalT, child []YvalT) int32
- func ValFunctionArity(model ModelT, val *YvalT) uint32
- func ValGetBool(model ModelT, yval *YvalT, val *int32) int32
- func ValGetBv(model ModelT, yval *YvalT, val []int32) int32
- func ValGetDouble(model ModelT, yval *YvalT, val *float64) int32
- func ValGetInt32(model ModelT, yval *YvalT, val *int32) int32
- func ValGetInt64(model ModelT, yval *YvalT, val *int64) int32
- func ValGetMpq(model ModelT, yval *YvalT, val *MpqT) int32
- func ValGetMpz(model ModelT, yval *YvalT, val *MpzT) int32
- func ValGetRational32(model ModelT, yval *YvalT, num *int32, den *uint32) int32
- func ValGetRational64(model ModelT, yval *YvalT, num *int64, den *uint64) int32
- func ValGetScalar(model ModelT, yval *YvalT, val *int32, tau *TypeT) int32
- func ValIsInt32(model ModelT, val *YvalT) int32
- func ValIsInt64(model ModelT, val *YvalT) int32
- func ValIsInteger(model ModelT, val *YvalT) int32
- func ValIsRational32(model ModelT, val *YvalT) int32
- func ValIsRational64(model ModelT, val *YvalT) int32
- func ValMappingArity(model ModelT, val *YvalT) uint32
- func ValTupleArity(model ModelT, val *YvalT) uint32
- func Version() string
- type ConfigT
- type ContextT
- type ErrorCodeT
- type GenModeT
- type ModelT
- type MpqT
- type MpzT
- type ParamT
- type SmtStatusT
- func CheckContext(ctx ContextT, params ParamT) SmtStatusT
- func CheckContextWithAssumptions(ctx ContextT, params ParamT, t []TermT) SmtStatusT
- func CheckFormula(t TermT, logic string, delegate string, model *ModelT) (status SmtStatusT)
- func CheckFormulas(t []TermT, logic string, delegate string, model *ModelT) (status SmtStatusT)
- func ContextStatus(ctx ContextT) SmtStatusT
- type TermConstructorT
- type TermT
- func Abs(t1 TermT) TermT
- func Add(t1 TermT, t2 TermT) TermT
- func And(conjuncts []TermT) TermT
- func And2(arg1 TermT, arg2 TermT) TermT
- func And3(arg1 TermT, arg2 TermT, arg3 TermT) TermT
- func Application(fun TermT, argv []TermT) TermT
- func Application1(fun TermT, arg1 TermT) TermT
- func Application2(fun TermT, arg1 TermT, arg2 TermT) TermT
- func Application3(fun TermT, arg1 TermT, arg2 TermT, arg3 TermT) TermT
- func ArithEq0Atom(t TermT) TermT
- func ArithEqAtom(t1 TermT, t2 TermT) TermT
- func ArithGeq0Atom(t TermT) TermT
- func ArithGeqAtom(t1 TermT, t2 TermT) TermT
- func ArithGt0Atom(t TermT) TermT
- func ArithGtAtom(t1 TermT, t2 TermT) TermT
- func ArithLeq0Atom(t TermT) TermT
- func ArithLeqAtom(t1 TermT, t2 TermT) TermT
- func ArithLt0Atom(t TermT) TermT
- func ArithLtAtom(t1 TermT, t2 TermT) TermT
- func ArithNeq0Atom(t TermT) TermT
- func ArithNeqAtom(t1 TermT, t2 TermT) TermT
- func AshiftRight(t TermT, n uint32) TermT
- func Bitextract(t TermT, n uint32) TermT
- func Bvadd(t1 TermT, t2 TermT) TermT
- func Bvand(t []TermT) TermT
- func Bvand2(t1 TermT, t2 TermT) TermT
- func Bvand3(t1 TermT, t2 TermT, t3 TermT) TermT
- func Bvarray(t []TermT) TermT
- func Bvashr(t1 TermT, t2 TermT) TermT
- func Bvconcat(t []TermT) TermT
- func Bvconcat2(t1 TermT, t2 TermT) TermT
- func BvconstFromArray(a []int32) TermT
- func BvconstInt32(bits uint32, x int32) TermT
- func BvconstInt64(bits uint32, x int64) TermT
- func BvconstMinusOne(bits uint32) TermT
- func BvconstMpz(bits uint32, z MpzT) TermT
- func BvconstOne(bits uint32) TermT
- func BvconstUint32(bits uint32, x uint32) TermT
- func BvconstUint64(bits uint32, x uint64) TermT
- func BvconstZero(bits uint32) TermT
- func Bvdiv(t1 TermT, t2 TermT) TermT
- func BveqAtom(t1 TermT, t2 TermT) TermT
- func Bvextract(t TermT, i uint32, j uint32) TermT
- func BvgeAtom(t1 TermT, t2 TermT) TermT
- func BvgtAtom(t1 TermT, t2 TermT) TermT
- func BvleAtom(t1 TermT, t2 TermT) TermT
- func Bvlshr(t1 TermT, t2 TermT) TermT
- func BvltAtom(t1 TermT, t2 TermT) TermT
- func Bvmul(t1 TermT, t2 TermT) TermT
- func Bvnand(t1 TermT, t2 TermT) TermT
- func Bvneg(t TermT) TermT
- func BvneqAtom(t1 TermT, t2 TermT) TermT
- func Bvnor(t1 TermT, t2 TermT) TermT
- func Bvnot(t TermT) TermT
- func Bvor(t []TermT) TermT
- func Bvor2(t1 TermT, t2 TermT) TermT
- func Bvor3(t1 TermT, t2 TermT, t3 TermT) TermT
- func Bvpower(t1 TermT, d uint32) TermT
- func Bvproduct(t []TermT) TermT
- func Bvrem(t1 TermT, t2 TermT) TermT
- func Bvrepeat(t TermT, n uint32) TermT
- func Bvsdiv(t1 TermT, t2 TermT) TermT
- func BvsgeAtom(t1 TermT, t2 TermT) TermT
- func BvsgtAtom(t1 TermT, t2 TermT) TermT
- func Bvshl(t1 TermT, t2 TermT) TermT
- func BvsleAtom(t1 TermT, t2 TermT) TermT
- func BvsltAtom(t1 TermT, t2 TermT) TermT
- func Bvsmod(t1 TermT, t2 TermT) TermT
- func Bvsquare(t TermT) TermT
- func Bvsrem(t1 TermT, t2 TermT) TermT
- func Bvsub(t1 TermT, t2 TermT) TermT
- func Bvsum(t []TermT) TermT
- func Bvxnor(t1 TermT, t2 TermT) TermT
- func Bvxor(t []TermT) TermT
- func Bvxor2(t1 TermT, t2 TermT) TermT
- func Bvxor3(t1 TermT, t2 TermT, t3 TermT) TermT
- func Ceil(t1 TermT) TermT
- func Constant(tau TypeT, index int32) TermT
- func Distinct(argv []TermT) TermT
- func DividesAtom(t1 TermT, t2 TermT) TermT
- func Division(t1 TermT, t2 TermT) TermT
- func Eq(lhs TermT, rhs TermT) TermT
- func Exists(vars []TermT, body TermT) TermT
- func False() TermT
- func Floor(t1 TermT) TermT
- func Forall(vars []TermT, body TermT) TermT
- func GeneralizeModel(model ModelT, t TermT, elims []TermT, mode GenModeT) (formulas []TermT)
- func GeneralizeModelArray(model ModelT, a []TermT, elims []TermT, mode GenModeT) (formulas []TermT)
- func GetTermByName(name string) TermT
- func GetUnsatCore(ctx ContextT) (unsatCore []TermT)
- func GetValueAsTerm(model ModelT, t TermT) TermT
- func Idiv(t1 TermT, t2 TermT) TermT
- func Iff(lhs TermT, rhs TermT) TermT
- func Imod(t1 TermT, t2 TermT) TermT
- func ImplicantForFormula(model ModelT, t TermT) (literals []TermT)
- func ImplicantForFormulas(model ModelT, t []TermT) (literals []TermT)
- func Implies(lhs TermT, rhs TermT) TermT
- func Int32(val int32) TermT
- func Int64(val int64) TermT
- func IsIntAtom(t TermT) TermT
- func Ite(cond TermT, thenTerm TermT, elseTerm TermT) TermT
- func Lambda(vars []TermT, body TermT) TermT
- func ModelCollectDefinedTerms(model ModelT) (terms []TermT)
- func ModelTermArraySupport(model ModelT, t []TermT) (support []TermT)
- func ModelTermSupport(model ModelT, t TermT) (support []TermT)
- func Mpq(q *MpqT) TermT
- func Mpz(z *MpzT) TermT
- func Mul(t1 TermT, t2 TermT) TermT
- func Neg(t1 TermT) TermT
- func Neq(lhs TermT, rhs TermT) TermT
- func NewUninterpretedTerm(tau TypeT) TermT
- func NewVariable(tau TypeT) TermT
- func Not(arg TermT) TermT
- func Or(disjuncts []TermT) TermT
- func Or2(arg1 TermT, arg2 TermT) TermT
- func Or3(arg1 TermT, arg2 TermT, arg3 TermT) TermT
- func Pair(arg1 TermT, arg2 TermT) TermT
- func ParseBvbin(s string) TermT
- func ParseBvhex(s string) TermT
- func ParseFloat(s string) TermT
- func ParseRational(s string) TermT
- func ParseTerm(s string) TermT
- func PolyInt32(a []int32, t []TermT) TermT
- func PolyInt64(a []int64, t []TermT) TermT
- func PolyMpq(q []MpqT, t []TermT) TermT
- func PolyMpz(z []MpzT, t []TermT) TermT
- func PolyRational32(num []int32, den []uint32, t []TermT) TermT
- func PolyRational64(num []int64, den []uint64, t []TermT) TermT
- func Power(t1 TermT, d uint32) TermT
- func Product(argv []TermT) TermT
- func ProjArg(t TermT) TermT
- func Rational32(num int32, den uint32) TermT
- func Rational64(num int64, den uint64) TermT
- func Redand(t TermT) TermT
- func Redcomp(t1 TermT, t2 TermT) TermT
- func Redor(t TermT) TermT
- func RotateLeft(t TermT, n uint32) TermT
- func RotateRight(t TermT, n uint32) TermT
- func Select(index uint32, tuple TermT) TermT
- func ShiftLeft0(t TermT, n uint32) TermT
- func ShiftLeft1(t TermT, n uint32) TermT
- func ShiftRight0(t TermT, n uint32) TermT
- func ShiftRight1(t TermT, n uint32) TermT
- func SignExtend(t TermT, n uint32) TermT
- func Square(t1 TermT) TermT
- func Sub(t1 TermT, t2 TermT) TermT
- func SubstTerm(vars []TermT, vals []TermT, t TermT) TermT
- func SubstTermArray(vars []TermT, vals []TermT, t []TermT) TermT
- func Sum(argv []TermT) TermT
- func TermChild(t TermT, i int32) TermT
- func TermChildren(t TermT) (children []TermT)
- func Triple(arg1 TermT, arg2 TermT, arg3 TermT) TermT
- func True() TermT
- func Tuple(argv []TermT) TermT
- func TupleUpdate(tuple TermT, index uint32, value TermT) TermT
- func Update(fun TermT, argv []TermT, value TermT) TermT
- func Update1(fun TermT, arg1 TermT, value TermT) TermT
- func Update2(fun TermT, arg1 TermT, arg2 TermT, value TermT) TermT
- func Update3(fun TermT, arg1 TermT, arg2 TermT, arg3 TermT, value TermT) TermT
- func Xor(xorjuncts []TermT) TermT
- func Xor2(arg1 TermT, arg2 TermT) TermT
- func Xor3(arg1 TermT, arg2 TermT, arg3 TermT) TermT
- func Zero() TermT
- func ZeroExtend(t TermT, n uint32) TermT
- type TypeT
- func BoolType() TypeT
- func BvType(size uint32) TypeT
- func FunctionType(dom []TypeT, rng TypeT) TypeT
- func FunctionType1(tau1 TypeT, rng TypeT) TypeT
- func FunctionType2(tau1 TypeT, tau2 TypeT, rng TypeT) TypeT
- func FunctionType3(tau1 TypeT, tau2 TypeT, tau3 TypeT, rng TypeT) TypeT
- func GetTypeByName(name string) TypeT
- func IntType() TypeT
- func NewScalarType(card uint32) TypeT
- func NewUninterpretedType() TypeT
- func ParseType(s string) TypeT
- func RealType() TypeT
- func TupleType(tau []TypeT) TypeT
- func TupleType1(tau1 TypeT) TypeT
- func TupleType2(tau1 TypeT, tau2 TypeT) TypeT
- func TupleType3(tau1 TypeT, tau2 TypeT, tau3 TypeT) TypeT
- func TypeChild(tau TypeT, i int32) TypeT
- func TypeChildren(tau TypeT) (children []TypeT)
- func TypeOfTerm(t TermT) TypeT
- func ValFunctionType(model ModelT, val *YvalT) TypeT
- type YicesErrorT
- type YvalT
- type YvalTagT
- type YvalVectorT
Constants ¶
const ( ErrorCtxInvalidOperation ErrorCodeT = 400 + iota ErrorCtxOperationNotSupported ErrorCtxUnknownDelegate = 420 + iota // Since 2.6.2. ErrorCtxDelegateNotAvailable // Since 2.6.2. )
These are the go versions of the yices_types.h error_code (400 < code <= 500 constants: Error codes for other operations.)
Variables ¶
This section is empty.
Functions ¶
func AssertBlockingClause ¶
AssertBlockingClause is the go version of yices_assert_blocking_clause.
func AssertFormula ¶
AssertFormula is the go version of yices_assert_formula.
func AssertFormulas ¶
AssertFormulas is the go version of yices_assert_formulas.
func BoolConstValue ¶
BoolConstValue is the go version of yices_bool_const_value.
func BvConstValue ¶
BvConstValue is the go version of yices_bv_const_value.
func BvsumComponent ¶
BvsumComponent is the go version of yices_bvsum_component.
func BvtypeSize ¶
BvtypeSize is the go version of yices_bvtype_size.
func ClearTermName ¶
ClearTermName is the go version of yices_clear_term_name.
func ClearTypeName ¶
ClearTypeName is the go version of yices_clear_type_name.
func CloseConfig ¶
func CloseConfig(cfg *ConfigT)
CloseConfig is the go version of yices_free_config.
func CloseContext ¶
func CloseContext(ctx *ContextT)
CloseContext is the go version of yices_free_context.
func CloseParamRecord ¶
func CloseParamRecord(params *ParamT)
CloseParamRecord is the go version of yices_free_param_record.
func CompatibleTypes ¶
CompatibleTypes is the go version of yices_compatible_types.
func ContextDisableOption ¶
ContextDisableOption is the go version of yices_context_enable_option.
func ContextEnableOption ¶
ContextEnableOption is the go version of yices_context_enable_option.
func DecrefType ¶
DecrefType is the go version of yices_decref_type.
func DefaultConfigForLogic ¶
DefaultConfigForLogic is the go version of yices_default_config_for_logic.
func DefaultParamsForContext ¶
DefaultParamsForContext is the go version of yices_default_params_for_context.
func DeleteYvalVector ¶
func DeleteYvalVector(v *YvalVectorT)
DeleteYvalVector is the go version of yices_delete_yval_vector.
func ErrorString ¶
func ErrorString() string
ErrorString returns a copy of the value of yices_error_string().
func ExportFormulaToDimacs ¶
func ExportFormulaToDimacs(t TermT, filename string, simplify bool, status *SmtStatusT) (errcode int32)
ExportFormulaToDimacs is the go version of yices_export_formula_to_dimacs. Since 2.6.2
func ExportFormulasToDimacs ¶
func ExportFormulasToDimacs(t []TermT, filename string, simplify bool, status *SmtStatusT) (errcode int32)
ExportFormulasToDimacs is the go version of yices_export_formulas_to_dimacs. Since 2.6.2
func FormulaTrueInModel ¶
FormulaTrueInModel is the go version of yices_formula_true_in_model.
func FormulasTrueInModel ¶
FormulasTrueInModel is the go version of yices_formulas_true_in_model.
func GarbageCollect ¶
GarbageCollect is the go version of yices_garbage_collect.
func GetBoolValue ¶
GetBoolValue is the go version of yices_get_bool_value.
func GetBvValue ¶
GetBvValue is the go version of yices_get_bv_value.
func GetDoubleValue ¶
GetDoubleValue is the go version of yices_get_double_value.
func GetInt32Value ¶
GetInt32Value is the go version of yices_get_int32_value.
func GetInt64Value ¶
GetInt64Value is the go version of yices_get_int64_value.
func GetMpqValue ¶
GetMpqValue is the go version of yices_get_mpq_value.
func GetMpzValue ¶
GetMpzValue is the go version of yices_get_mpz_value.
func GetRational32Value ¶
GetRational32Value is the go version of yices_get_rational32_value.
func GetRational64Value ¶
GetRational64Value is the go version of yices_get_rational64_value.
func GetScalarValue ¶
GetScalarValue is the go version of yices_get_scalar_value.
func GetTermName ¶
GetTermName is the go version of yices_get_term_name.
func GetTypeName ¶
GetTypeName is the go version of yices_get_type_name.
func HasDelegate ¶
HasDelegate is the go version of yices_has_delegate. Since 2.6.2
func IncrefType ¶
IncrefType is the go version of yices_incref_type.
func InitContext ¶
InitContext is the go version of yices_new_context.
func InitParamRecord ¶
func InitParamRecord(params *ParamT)
InitParamRecord is the go version of yices_new_param_record.
func InitYvalVector ¶
func InitYvalVector(v *YvalVectorT)
InitYvalVector is the go version of yices_init_yval_vector.
func IsThreadSafe ¶
func IsThreadSafe() int32
IsThreadSafe indicate if the yices2 library was built with thread safety enabled. Since 2.6.2
func ModelToString ¶
ModelToString returns a pretty printed string representation of the given model.
func NumPosrefTerms ¶
func NumPosrefTerms() uint32
NumPosrefTerms is the go version of yices_num_posref_terms.
func NumPosrefTypes ¶
func NumPosrefTypes() uint32
NumPosrefTypes is the go version of yices_num_posref_types.
func PpTermArray ¶
func PpTermArray(file *os.File, t []TermT, width uint32, height uint32, offset uint32, horiz int32) int32
PpTermArray is the go version of yices_pp_term_array_fd
func PpTermValues ¶
func PpTermValues(file *os.File, model ModelT, t []TermT, width uint32, height uint32, offset uint32) int32
PpTermValues is the go version of yices_pp_term_values_fd Since 2.6.2
func PrintError ¶
PrintError prints the most recent yices error out to the given file.
func PrintModel ¶
PrintModel is the go version of yices_print_model_fd
func PrintTermValues ¶
PrintTermValues is the go version of yices_print_term_values_fd Since 2.6.2
func ProductComponent ¶
ProductComponent is the go version of yices_product_component.
func RationalConstValue ¶
RationalConstValue is the go version of yices_rational_const_value.
func RemoveTermName ¶
func RemoveTermName(name string)
RemoveTermName is the go version of yices_remove_term_name.
func RemoveTypeName ¶
func RemoveTypeName(name string)
RemoveTypeName is the go version of yices_remove_type_name.
func ResetContext ¶
func ResetContext(ctx ContextT)
ResetContext is the go version of yices_reset_context.
func ResetYvalVector ¶
func ResetYvalVector(v *YvalVectorT)
ResetYvalVector is the go version of yices_reset_yval_vector.
func ScalarConstValue ¶
ScalarConstValue is the go version of yices_scalar_const_value.
func ScalarTypeCard ¶
ScalarTypeCard is the go version of yices_scalar_type_card.
func SetTermName ¶
SetTermName is the go version of yices_set_term_name.
func SetTypeName ¶
SetTypeName is the go version of yices_set_type_name.
func SumComponent ¶
SumComponent is the go version of yices_sum_componentp.
func TermArrayValue ¶
TermArrayValue is the go version of yices_term_array_value.
func TermBitsize ¶
TermBitsize is the go version of yices_term_bitsize.
func TermIsArithmetic ¶
TermIsArithmetic is the go version of yices_term_is_arithmetic.
func TermIsAtomic ¶
TermIsAtomic is the go version of yices_term_is_atomic.
func TermIsBitvector ¶
TermIsBitvector is the go version of yices_term_is_bitvector.
func TermIsBvsum ¶
TermIsBvsum is the go version of yices_term_is_bvsum.
func TermIsComposite ¶
TermIsComposite is the go version of yices_term_is_composite.
func TermIsFunction ¶
TermIsFunction is the go version of yices_term_is_function.
func TermIsGround ¶
TermIsGround is the go version of yices_term_is_ground.
func TermIsProduct ¶
TermIsProduct is the go version of yices_term_is_product.
func TermIsProjection ¶
TermIsProjection is the go version of yices_term_is_projection.
func TermIsScalar ¶
TermIsScalar is the go version of yices_term_is_scalar.
func TermIsTuple ¶
TermIsTuple is the go version of yices_term_is_tuple.
func TermNumChildren ¶
TermNumChildren is the go version of yices_term_num_children.
func TermToString ¶
TermToString returns a pretty printed string representation of the given term.
func TestSubtype ¶
TestSubtype is the go version of yices_test_subtype.
func TypeIsArithmetic ¶
TypeIsArithmetic is the go version of yices_type_is_arithmetic.
func TypeIsBitvector ¶
TypeIsBitvector is the go version of yices_type_is_bitvector.
func TypeIsBool ¶
TypeIsBool is the go version of yices_type_is_bool.
func TypeIsFunction ¶
TypeIsFunction is the go version of yices_type_is_function.
func TypeIsReal ¶
TypeIsReal is the go version of yices_type_is_real.
func TypeIsScalar ¶
TypeIsScalar is the go version of yices_type_is_scalar.
func TypeIsTuple ¶
TypeIsTuple is the go version of yices_type_is_tuple.
func TypeIsUninterpreted ¶
TypeIsUninterpreted is the go version of yices_type_is_uninterpreted.
func TypeNumChildren ¶
TypeNumChildren is the go version of yices_type_num_children.
func TypeToString ¶
TypeToString returns a pretty printed string representation of the given type.
func ValBitsize ¶
ValBitsize is the go version of yices_val_bitsize.
func ValExpandTuple ¶
ValExpandTuple is the go version of yices_val_expand_tuple.
func ValFunctionArity ¶
ValFunctionArity is the go version of yices_val_function_arity.
func ValGetBool ¶
ValGetBool is the go version of yices_val_get_bool.
func ValGetDouble ¶
ValGetDouble is the go version of yices_val_get_double.
func ValGetInt32 ¶
ValGetInt32 is the go version of yices_val_get_int32.
func ValGetInt64 ¶
ValGetInt64 is the go version of yices_val_get_int64.
func ValGetRational32 ¶
ValGetRational32 is the go version of yices_val_get_rational32.
func ValGetRational64 ¶
ValGetRational64 is the go version of yices_val_get_rational64.
func ValGetScalar ¶
ValGetScalar is the go version of yices_val_get_scalar.
func ValIsInt32 ¶
ValIsInt32 is the go version of yices_val_is_int32.
func ValIsInt64 ¶
ValIsInt64 is the go version of yices_val_is_int64.
func ValIsInteger ¶
ValIsInteger is the go version of yices_val_is_integer.
func ValIsRational32 ¶
ValIsRational32 is the go version of yices_val_is_rational32.
func ValIsRational64 ¶
ValIsRational64 is the go version of yices_val_is_rational64.
func ValMappingArity ¶
ValMappingArity is the go version of yices_val_mapping_arity.
func ValTupleArity ¶
ValTupleArity is the go version of yices_val_tuple_arity.
Types ¶
type ConfigT ¶
type ConfigT struct {
// contains filtered or unexported fields
}
ConfigT is a thin wrapper around a C pointer to a ctx_config_t struct. It is stored as a uintptr to avoid the scrutiny of the go GC.
type ContextT ¶
type ContextT struct {
// contains filtered or unexported fields
}
ContextT is a thin wrapper around a C pointer to a context_t struct. It is stored as a uintptr to avoid the scrutiny of the go GC.
type ErrorCodeT ¶
type ErrorCodeT int32
ErrorCodeT is the analog of the error_code_t enum of the yices library.
const ( NoError ErrorCodeT = iota ErrorInvalidType ErrorInvalidTerm ErrorInvalidConstantIndex ErrorInvalidVarIndex // Not used anymore ErrorInvalidTupleIndex ErrorInvalidRationalFormat ErrorInvalidFloatFormat ErrorInvalidBvbinFormat ErrorInvalidBvhexFormat ErrorInvalidBitshift ErrorInvalidBvextract ErrorInvalidBitextract // added 2014/02/17 ErrorTooManyArguments ErrorTooManyVars ErrorMaxBvsizeExceeded ErrorDegreeOverflow ErrorDivisionByZero ErrorPosIntRequired ErrorNonnegIntRequired ErrorScalarOrUtypeRequired ErrorFunctionRequired ErrorTupleRequired ErrorVariableRequired ErrorArithtermRequired ErrorBitvectorRequired ErrorScalarTermRequired ErrorWrongNumberOfArguments ErrorTypeMismatch ErrorIncompatibleTypes ErrorDuplicateVariable ErrorIncompatibleBvsizes ErrorEmptyBitvector ErrorArithconstantRequired // added 2013/01/23 ErrorInvalidMacro // added 2013/03/31 ErrorTooManyMacroParams // added 2013/03/31 ErrorTypeVarRequired // added 2013/03/31 ErrorDuplicateTypeVar // added 2013/03/31 ErrorBvtypeRequired // added 2013/05/27 ErrorBadTermDecref // added 2013/10/03 ErrorBadTypeDecref // added 2013/10/03 ErrorInvalidTypeOp // added 2014/12/03 ErrorInvalidTermOp // added 2014/12/04 )
These are the go versions of the yices_types.h error_code (code <= 100 constants: Errors in type or term construction)
const ( /* * Parser errors */ ErrorInvalidToken ErrorCodeT = 100 + iota ErrorSyntaxError ErrorUndefinedTypeName ErrorUndefinedTermName ErrorRedefinedTypeName ErrorRedefinedTermName ErrorDuplicateNameInScalar ErrorDuplicateVarName ErrorIntegerOverflow ErrorIntegerRequired ErrorRationalRequired ErrorSymbolRequired ErrorTypeRequired ErrorNonConstantDivisor ErrorNegativeBvsize ErrorInvalidBvconstant ErrorTypeMismatchInDef ErrorArithError ErrorBvarithError )
These are the go versions of the yices_types.h error_code (100 < code <= 300 constants: Parser errors)
const ( /* * These codes mean that the context as configured * cannot process the assertions. */ ErrorCtxFreeVarInFormula ErrorCodeT = 300 + iota ErrorCtxLogicNotSupported ErrorCtxUfNotSupported ErrorCtxArithNotSupported ErrorCtxBvNotSupported ErrorCtxArraysNotSupported ErrorCtxQuantifiersNotSupported ErrorCtxLambdasNotSupported ErrorCtxNonlinearArithNotSupported ErrorCtxFormulaNotIdl ErrorCtxFormulaNotRdl ErrorCtxTooManyArithVars ErrorCtxTooManyArithAtoms ErrorCtxTooManyBvVars ErrorCtxTooManyBvAtoms ErrorCtxArithSolverException ErrorCtxBvSolverException ErrorCtxArraySolverException ErrorCtxScalarNotSupported // added 2015/03/26 ErrorCtxTupleNotSupported // added 2015/03/26 ErrorCtxUtypeNotSupported // added 2015/03/26 )
These are the go versions of the yices_types.h error_code (300 < code <= 400 constants: Errors in assertion processing.)
const ( ErrorCtxInvalidConfig ErrorCodeT = 500 + iota ErrorCtxUnknownParameter ErrorCtxInvalidParameterValue ErrorCtxUnknownLogic )
These are the go versions of the yices_types.h error_code (500 < code <= 600 constants: Errors in context configurations and search parameter settings.)
const ( ErrorEvalUnknownTerm ErrorCodeT = 600 + iota ErrorEvalFreevarInTerm ErrorEvalQuantifier ErrorEvalLambda ErrorEvalOverflow ErrorEvalFailed ErrorEvalConversionFailed ErrorEvalNoImplicant ErrorEvalNotSupported )
These are the go versions of the yices_types.h error_code (600 < code <= 700 constants: Error codes for model queries.)
const ( ErrorMdlUnintRequired ErrorCodeT = 700 + iota ErrorMdlConstantRequired ErrorMdlDuplicateVar ErrorMdlFtypeNotAllowed ErrorMdlConstructionFailed )
These are the go versions of the yices_types.h error_code (700 < code <= 800 constants: Error codes for model construction.)
const ( ErrorYvalInvalidOp ErrorCodeT = 800 + iota ErrorYvalOverflow ErrorYvalNotSupported )
These are the go versions of the yices_types.h error_code (800 < code <= 900 constants: Error codes in DAG/node queries.)
const ( ErrorMdlGenTypeNotSupported ErrorCodeT = 900 + iota ErrorMdlGenNonlinear ErrorMdlGenFailed )
These are the go versions of the yices_types.h error_code (900 < code <= 1000 constants: Error codes for model generalization.)
const ( /* * This is a symptom that a bug has been found. */ ErrorInternalException ErrorCodeT = 9999 + iota )
These are the go versions of the yices_types.h error_code (9999< code constants: Catch-all code for anything else.)
const (
ErrorMcsatErrorUnsupportedTheory ErrorCodeT = 1000 + iota
)
These are the go versions of the yices_types.h error_code (1000 < code <= 9000 constants: MCSAT error codes.)
const (
ErrorOutputError ErrorCodeT = 9000 + iota
)
These are the go versions of the yices_types.h error_code (9000 < code <= 9999 constants: Input/output and system errors.)
type GenModeT ¶
type GenModeT int32
GenModeT is the go analog of the enum yices_gen_mode_t defined in yices_types.h.
type ModelT ¶
type ModelT struct {
// contains filtered or unexported fields
}
ModelT is a thin wrapper around a C pointer to a model_t struct. It is stored as a uintptr to avoid the scrutiny of the go GC.
func ModelFromMap ¶
ModelFromMap is the go version of yices_model_from_map.
type ParamT ¶
type ParamT struct {
// contains filtered or unexported fields
}
ParamT is a thin wrapper around a C pointer to a param_t struct. It is stored as a uintptr to avoid the scrutiny of the go GC.
type SmtStatusT ¶
type SmtStatusT int32
SmtStatusT is the analog of smt_status_t defined in yices_types.h
const ( StatusIdle SmtStatusT = iota StatusSearching StatusUnknown StatusSat StatusUnsat StatusInterrupted StatusError )
These are the analogs to the elements of smt_status_t defined in yices_types.h
func CheckContext ¶
func CheckContext(ctx ContextT, params ParamT) SmtStatusT
CheckContext is the go version of yices_check_context.
func CheckContextWithAssumptions ¶
func CheckContextWithAssumptions(ctx ContextT, params ParamT, t []TermT) SmtStatusT
CheckContextWithAssumptions is the go version of yices_check_context_with_assumptions.
func CheckFormula ¶
func CheckFormula(t TermT, logic string, delegate string, model *ModelT) (status SmtStatusT)
CheckFormula is the go version of yices_check_formula. Since 2.6.2
func CheckFormulas ¶
func CheckFormulas(t []TermT, logic string, delegate string, model *ModelT) (status SmtStatusT)
CheckFormulas is the go version of yices_check_formulas. Since 2.6.2
func ContextStatus ¶
func ContextStatus(ctx ContextT) SmtStatusT
ContextStatus is the go version of yices_context_status.
type TermConstructorT ¶
type TermConstructorT int32
TermConstructorT is the analog of the enum term_constructor_t defined in yices_types.h
const ( TrmCnstrConstructorError TermConstructorT = iota - 1 // to report an error // atomic terms TrmCnstrBoolConstant TermConstructorT = iota // boolean constant TrmCnstrArithConstant // rational constant TrmCnstrBvConstant // bitvector constant TrmCnstrScalarConstant // constant of uninterpreted/scalar TrmCnstrVariable // variable in quantifiers TrmCnstrUninterpretedTerm // (i.e. global variables can't be bound) // composite terms TrmCnstrIteTerm // if-then-else TrmCnstrAppTerm // application of an uninterpreted function TrmCnstrUpdateTerm // function update TrmCnstrTupleTerm // tuple constructor TrmCnstrEqTerm // equality TrmCnstrDistinctTerm // distinct t_1 ... t_n TrmCnstrForallTerm // quantifier TrmCnstrLambdaTerm // lambda TrmCnstrNotTerm // (not t) TrmCnstrOrTerm // n-ary OR TrmCnstrXorTerm // n-ary XOR TrmCnstrBvArray // array of boolean terms TrmCnstrBvDiv // unsigned division TrmCnstrBvRem // unsigned remainder TrmCnstrBvSdiv // signed division TrmCnstrBvSrem // remainder in signed division (rounding to 0) TrmCnstrBvSmod // remainder in signed division (rounding to -infinity) TrmCnstrBvShl // shift left (padding with 0) TrmCnstrBvLshr // logical shift right (padding with 0) TrmCnstrBvAshr // arithmetic shift right (padding with sign bit) TrmCnstrBvGeAtom // unsigned comparison: (t1 >= t2) TrmCnstrBvSgeAtom // signed comparison (t1 >= t2) TrmCnstrArithGeAtom // atom (t1 >= t2) for arithmetic terms: t2 is always 0 TrmCnstrArithRootAtom // atom (0 <= k <= root_count(p)) && (x r root(p, k)) for r in <, <=, ==, !=, >, >= TrmCnstrAbs // absolute value TrmCnstrCeil // ceil TrmCnstrFloor // floor TrmCnstrRdiv // real division (as in x/y) TrmCnstrIdiv // integer division TrmCnstrImod // modulo TrmCnstrIsIntAtom // integrality test: (is-int t) TrmCnstrDividesAtom // divisibility test: (divides t1 t2) // projections TrmCnstrSelectTerm // tuple projection BTrmCnstritTerm // bit-select: extract the i-th bit of a bitvector // sums TrmCnstrBvSum // sum of pairs a * t where a is a bitvector constant (and t is a bitvector term) ATrmCnstrrithSum // sum of pairs a * t where a is a rational (and t is an arithmetic term) // products TrmCnstrPowerProduct // power products: (t1^d1 * ... * t_n^d_n) )
These are the elements of TermConstructorT, the analog of the enum elements of term_constructor_t defined in yices_types.h
func TermConstructor ¶
func TermConstructor(t TermT) TermConstructorT
TermConstructor is the go version of yices_term_constructor.
type TermT ¶
type TermT int32
TermT is the go analog on term_t defined in yices_types.h. Unclear if this is a wise move.
const NullTerm TermT = -1
NullTerm is the go analog of NULL_TERM defined in yices_types.h.
func Application ¶
Application is the go version of yices_application.
func Application1 ¶
Application1 is the unary go version of yices_application.
func Application2 ¶
Application2 is the binary go version of yices_application.
func Application3 ¶
Application3 is the ternary go version of yices_application.
func ArithEq0Atom ¶
ArithEq0Atom is the go version of yices_arith_eq0_atom.
func ArithEqAtom ¶
ArithEqAtom is the go version of yices_arith_eq_atom.
func ArithGeq0Atom ¶
ArithGeq0Atom is the go version of yices_arith_geq0_atom.
func ArithGeqAtom ¶
ArithGeqAtom is the go version of yices_arith_geq_atom.
func ArithGt0Atom ¶
ArithGt0Atom is the go version of yices_arith_gt0_atom.
func ArithGtAtom ¶
ArithGtAtom is the go version of yices_arith_gt_atom.
func ArithLeq0Atom ¶
ArithLeq0Atom is the go version of yices_arith_leq0_atom.
func ArithLeqAtom ¶
ArithLeqAtom is the go version of yices_arith_leq_atom.
func ArithLt0Atom ¶
ArithLt0Atom is the go version of yices_arith_lt0_atom.
func ArithLtAtom ¶
ArithLtAtom is the go version of yices_arith_lt_atom.
func ArithNeq0Atom ¶
ArithNeq0Atom is the go version of yices_arith_neq0_atom.
func ArithNeqAtom ¶
ArithNeqAtom is the go version of yices_arith_neq_atom.
func AshiftRight ¶
AshiftRight is the go version of yices_ashift_right.
func Bitextract ¶
Bitextract is the go version of yices_bitextract.
func BvconstFromArray ¶
BvconstFromArray is the go version of yices_bvconst_from_array. iam: FIXME check that bits is restricted to len(a)
func BvconstInt32 ¶
BvconstInt32 is the go version of yices_bvconst_int32.
func BvconstInt64 ¶
BvconstInt64 is the go version of yices_bvconst_int64.
func BvconstMinusOne ¶
BvconstMinusOne is the go version of yices_bvconst_minus_one.
func BvconstMpz ¶
BvconstMpz is the go version of yices_bvconst_mpz.
func BvconstOne ¶
BvconstOne is the go version of yices_bvconst_one.
func BvconstUint32 ¶
BvconstUint32 is the go version of yices_bvconst_uint32.
func BvconstUint64 ¶
BvconstUint64 is the go version of yices_bvconst_uint64.
func BvconstZero ¶
BvconstZero is the go version of yices_bvconst_zero.
func DividesAtom ¶
DividesAtom is the go version of yices_divides_atom.
func GeneralizeModel ¶
GeneralizeModel is the go version of yices_generalize_model.
func GeneralizeModelArray ¶
GeneralizeModelArray is the go version of yices_generalize_model_array.
func GetTermByName ¶
GetTermByName is the go version of yices_get_term_by_name.
func GetUnsatCore ¶
GetUnsatCore is the go version of yices_get_unsat_core.
func GetValueAsTerm ¶
GetValueAsTerm is the go version of yices_get_value_as_term.
func ImplicantForFormula ¶
ImplicantForFormula is the go version of yices_implicant_for_formula.
func ImplicantForFormulas ¶
ImplicantForFormulas is the go version of yices_implicant_for_formulas.
func ModelCollectDefinedTerms ¶
ModelCollectDefinedTerms is the go version of yices_model_collect_defined_terms.
func ModelTermArraySupport ¶
ModelTermArraySupport is the go version of yices_model_term_array_support.
func ModelTermSupport ¶
ModelTermSupport is the go version of yices_model_term_support.
func NewUninterpretedTerm ¶
NewUninterpretedTerm is the go version of yices_new_uninterpreted_term.
func NewVariable ¶
NewVariable is the go version of yices_new_variable.
func ParseBvbin ¶
ParseBvbin is the go version of yices_parse_bvbin.
func ParseBvhex ¶
ParseBvhex is the go version of yices_parse_bvhex.
func ParseFloat ¶
ParseFloat is the go version of yices_parse_float.
func ParseRational ¶
ParseRational is the go version of yices_parse_rational.
func PolyRational32 ¶
PolyRational32 is the go version of yices_poly_rational32.
func PolyRational64 ¶
PolyRational64 is the go version of yices_poly_rational64.
func Rational32 ¶
Rational32 is the go version of yices_rational32.
func Rational64 ¶
Rational64 is the go version of yices_rational64.
func RotateLeft ¶
RotateLeft is the go version of yices_rotate_left.
func RotateRight ¶
RotateRight is the go version of yices_rotate_right.
func ShiftLeft0 ¶
ShiftLeft0 is the go version of yices_shift_left0.
func ShiftLeft1 ¶
ShiftLeft1 is the go version of yices_shift_left1.
func ShiftRight0 ¶
ShiftRight0 is the go version of yices_shift_right0.
func ShiftRight1 ¶
ShiftRight1 is the go version of yices_shift_right1.
func SignExtend ¶
SignExtend is the go version of yices_sign_extend.
func SubstTermArray ¶
SubstTermArray is the go version of yices_subst_term_array.
func TermChildren ¶
TermChildren is the go version of yices_term_children. Since 2.6.2
func TupleUpdate ¶
TupleUpdate is the go version of yices_tuple_update.
func ZeroExtend ¶
ZeroExtend is the go version of yices_zero_extend.
type TypeT ¶
type TypeT int32
TypeT is the analog of term_t defined in yices_types.h. Unclear if this is a good idea.
const NullType TypeT = -1
NullType is the go version of NULL_TYPE.
func FunctionType ¶
FunctionType is the go version of yices_function_type.
func FunctionType1 ¶
FunctionType1 is the unary go version of yices_function_type.
func FunctionType2 ¶
FunctionType2 is the binary go version of yices_function_type.
func FunctionType3 ¶
FunctionType3 is the ternaery go version of yices_function_type.
func GetTypeByName ¶
GetTypeByName is the go version of yices_get_type_by_name.
func NewScalarType ¶
NewScalarType is the go version of yices_new_scalar_type.
func NewUninterpretedType ¶
func NewUninterpretedType() TypeT
NewUninterpretedType is the go version of yices_new_uninterpreted_type.
func TupleType1 ¶
TupleType1 is the unary go version of yices_tuple_type.
func TupleType2 ¶
TupleType2 is the binary go version of yices_tuple_type.
func TupleType3 ¶
TupleType3 is the ternary go version of yices_tuple_type.
func TypeChildren ¶
TypeChildren is the go version of yices_type_children.
func TypeOfTerm ¶
TypeOfTerm is the go version of yices_type_of_term.
func ValFunctionType ¶
ValFunctionType is the go version of yices_val_function_type. Since 2.6.2
type YicesErrorT ¶
type YicesErrorT struct { ErrorString string Code ErrorCodeT Line uint32 Column uint32 Term1 TermT Type1 TypeT Term2 TermT Type2 TypeT Badval int64 }
YicesErrorT is the go representation of the yices_error_t struct of yices library.
func YicesError ¶
func YicesError() (yerror *YicesErrorT)
YicesError returns a copy of the current error state
func (*YicesErrorT) Error ¶
func (yerror *YicesErrorT) Error() string
Error returns the error's current error string.
func (*YicesErrorT) String ¶
func (yerror *YicesErrorT) String() string
String returns the error string component of the YicesErrorT struct.
type YvalT ¶
YvalT is the go analog of yval_t defined in yices_types.h
func ValExpandFunction ¶
ValExpandFunction is the go version of yices_val_expand_function.
type YvalTagT ¶
type YvalTagT int32
YvalTagT is the go version of the yval_tag_t enum
type YvalVectorT ¶
type YvalVectorT C.yval_vector_t
YvalVectorT is the go analog of yval_vector_t defined in yices_types.h